일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- SQL
- 신경망
- 프로그래머스
- sort
- Python
- PPMI
- boj
- 딥러닝
- que
- 자연어처리
- hash
- DeepLearning
- algorithm
- Heap
- CBOW
- 파이썬
- stak
- backward
- Sigmoid
- affine
- Numpy
- Programmers
- skip-gram
- kakao
- Stack
- dl
- select
- MySQL
- FullyConnectedLayer
- Word2vec
- Today
- Total
목록Deep Learning (15)
혜온의 이것저것
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yA3k5/btryDQYESwv/t6P7n5gR7BSitkIxYkbSD1/img.png)
3.2.1 CBOW 모델의 추론 처리 CBOW 모델은 맥락으로부터 target을 추축하는 용도의 신경망이다. 우리는 CBOW 모델이 가능한 한 정확하게 추론하도록 훈련시켜서 단어의 분산 표현을 얻어낼 것이다. CBOW 모델의 입력은 맥락이다. 가장 먼저, 이 맥락을 원핫 표현으로 변환하여 CBOW 모델이 처리할 수 있도록 준비한다. 입력층이 2개 있고, 은닉층을 거쳐 출력층에 도달한다. 두 입력층에서 은닉층으로의 변환은 똑같은 완전연결계층이 처리하고, 은닉층에서 출력층 뉴런으로의 변환은 다른 완전연결계층이 처리한다. 은닉층의 뉴련은 입력층의 완전연결계층에 의해 변환된 값이 출력되는데, 입력층이 여러 개이면 전체를 평균하면 된다. 출력층의 뉴런은 총 7개인데, 여기서 중요한 것은 이 뉴런 하나하나가 각각의..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bfIFBi/btrw9NVbLaw/Qx7uO5cv73len0o2GfsLhk/img.png)
3.1.1 통계 기반 기법의 문제점 통계 기반 기법에서는 주변 단어의 빈도를 기초로 단어를 표현했다. 단어의 동시발생 행렬을 만들고 그 행렬에 SVD를 적용하여 밀집벡터를 얻었다. 하지만 이 방식은 대규모 말뭉치를 다룰 때 문제가 발생한다. 통계 기반 기법은 말뭉치 전체의 통계를 이용해 단 1회의 처리만에 단어의 분산 표현을 얻는다. 추론 기반 기법에서는 신경망을 이용하는 경우 미니배치로 학습한다. 통계 기반 기법은 학습 데이터를 한꺼번에 처리한다. 이에 반해 추론 기반 기법은 학습 데이터의 일부를 사용하여 순차적으로 학습한다. 이 말은 말뭉치의 어휘 수가 많아 SVD 등 계산량이 큰 작업을 처리하기 어려운 경우에도 신경망을 학습시킬 수 있다는 뜻이다. 여러 머신과 여러 GPU를 이용한 병렬 계산도 가능..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mxz9c/btrwgq8u3cu/cm3sVBBFUrCNDZpQ3z9aKK/img.png)
2.4 통계 기반 개선하기 2.4.1 상호정보량 앞 절에서 본 동시발생 행렬의 원소는 두 단어가 동시에 발생한 횟수를 나타낸다. 그러나 이 발생 횟수라는 것은 사실 그리좋은 특징은 아니다. 예를 들어서 'the'와 'car'의 동시발생을 생각해보면 두 단어의 동시발생 횟수는 아주 많다. 한편 'car'와 'drive'는 확실히 관련이 깊다. 빈도로만 따지만 'drive'보다 'the'가 고빈도 단어라서 'car'와 강한 관령성을 갖는다고 평가된다. 이 문제를 해결하기 위해 점별 상호정보량(PMI)이라는 척도를 사용한다. PMI는 확률변수 x와 y에 대해 다음 식으로 정의된다. P(x)는 x가 일어날 확률, P(y)는 y가 일어날 확률, P(x,y)는 x와 y가 동시에 일어날 확률을 뜻한다. 이 PMI가 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bjkVUH/btruYSMUeA5/0CqkWDleSIrKqn3v8VXLFk/img.png)
통계 기반 기법을 살펴보면서 말뭉차(corpus)를 이용할 것이다. 간단히 말하면 대량의 텍스터 데이터인데, 맹목적으로 수집된 텍스트 데이터가 아닌 자연어 처리 연구나 애플리케이션을 염두에 두고 수집된 텍스트 데이터를 일반적으로 말뭉치라고 한다. 말뭉치에는 자연어에 대한 사람의 지식이 충분히 담겨 있다고 볼 수 있다. 문장을 쓰는 방법, 단어를 선택하는 방법, 단어의 의미 등 사람이 알고 있는 자연어에 대한 지식이 포함되어 있다. 통계 기반 깁버의 목표는 이처럼 사람의 지식으로 가득한 말뭉치에서 자동으로, 그리고 효울적으로 그 핵심을 추출하는 것이다. 2.3.1 파이썬으로 말뭉치 전처리하기 자연어 처리에는 다양한 말뭉치가 사용되다. 위키백과와 구글 뉴스 등의 텍스트 데이터, 셰익스피어나 나쓰메 소세키 같..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bSVfdm/btru2vvFdzG/hHskQUuKwFFU9AJL4Xvlg1/img.png)
한국어와 영어 등 우리가 평소에 쓰는 말을 자연어(natural language)라고 한다. 자언어처리(NP)는 우리의 말을 컴퓨터에게 이해시키기 위한 기술이다. 자연어는 프로그래밍 언어와 달리 똑같은 의미의 문장도 여러 형태로 표현할 수 있고, 문장의 뜻이 애매할 수 있듯이 그 의미나 형태가 유연하게 바뀐다. 컴퓨터에게 자연어를 이해시킬 수 있다면 수많은 사람에게 도움되는 일을 컴퓨터에게 시킬 수 있다. 그 예로 대표적인 것이 검색엔진이나 기계 번역이다. 이 밖에도 질의응답 시스템, IME(입력기 전환), 문장 자동요약과 감정분석 등 우리 주변에는 이미 자연어 처리 기술이 널리 사용되고 있다. 2.1.1 단어의 의미 우리의 말은 문자로 구성되며, 말의 의미는 단어로 구성된다. 단어가 최소 단위인 셈ㅇ다..