일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 가비아
- 밑바닥부터시작하는딥러닝
- MySQL
- 수동설치
- 한빛미디어
- 머신러닝
- 한빛아카데미
- 예제중심HTML&자바스크립트&CSS
- 크롤링
- CBOW
- 생활코딩
- 논문리뷰
- 소스설치
- 프로그램새내기를위한자바언어프로그래밍
- deeplearning
- 비지도학습
- image
- AndroidStudio를활용한안드로이드프로그래밍
- 컴파일설치
- Apache
- 셀레니움
- jupyter
- 딥러닝
- Crawling
- aws
- attention
- Lamp
- 밑바닥부터시작하는딥러닝2
- word2vec
- Selenium
- Today
- Total
목록word2vec (4)
안녕, 세상!
직전 설명에서 기존 word2vec을 개선하였습니다. (1) CBOW 모델 구현 앞 장에서 단순한 SimpleCBOW 클래스를 개선할 것입니다. 개선점은 Embedding 계층과 Negative Sampling Loss 계층을 적용하는 것입니다. 개선된 CBOW 모델 클래스 코드는 다음과 같습니다. #import sys #sys.path.append('..') #from common.np import * # import numpy as np #from common.layers import Embedding #from ch04.negative_sampling_layer import NegativeSamplingLoss class CBOW: def __init__(self, vocab_size, hidden..
앞서 구현한 간단한 CBOW 모델은 말뭉치에 포함된 어휘 수가 많아지면 계산량도 커져서 시간이 너무 오래 걸립니다. 이를 위해 두 가지 개선을 합니다. 1. Embedding이라는 새로운 계층을 도입합니다. 2. 네거티브 샘플링이라는 새로운 손실 함수를 도입합니다. 이 두 가지 개선으로 진정한 word2vec을 구현할 수 있습니다. (1) word2vec 개선 1 앞에서 사용한 간단한 CBOW 모델을 이용하여 말뭉치에 어휘가 100만 개라고 가정한다면 입력층과 출력층에 각 100만 개의 뉴런들이 존재합니다. 이러한 많은 뉴런 때문에 중간 계산에 많은 시간이 소요됩니다. 구체적으로 다음 두 부분에서 병목현상이 발생합니다. 1. 입력층의 원핫 표현과 가중치 행렬 W(in)의 곱 2. 은닉층과 가중치 행렬 W..
CBOW 모델을 확률 관점에서 살펴보겠습니다. (1) CBOW 모델과 확률 확률 표기법 동시 확률 : P(A , B) - A와 B가 동시에 일어날 확률 사후 확률 : P(A | B) - B(라는 정보)가 주어졌을 때 A가 일어날 확률 말뭉치를 w1,w2, ... ,wr 처럼 단어로 표기한다면 특정 단어와 그 단어에 대한 윈도우 크기가 1인 맥락을 다음과 같이 표현할 수 있습니다. 그렇다면 W(t-1) 과 W(t+1)이 주어졌을 때 Wt의 확률은 다음과 같이 표현할 수 있습니다. 이 식을 이용하여 CBOW 모델의 손실함수를 나타낼 수 있습니다. 앞서 Cross-entropy를 사용했으므로 교차 엔트로피식으로 생각해보겠습니다. 교차 엔트로피 식은 과 같습니다. tk와 yk 모두 one-hot-encoding..
'추론 기반 기법'으로 단어를 분석하는데, 대표적인 신경망 모델인 word2vec을 사용합니다. 이번에는 처리 효율을 희생하지만 이해하기 쉽게 단순하게 word2vec을 구현해보겠습니다. (1) 추론 기반 기법과 신경망 단어를 벡터로 표현하는 방법 중 가장 성공적인 기법들을 크게 두 분류로 나눌 수 있습니다. '통계 기반'과 '추론 기반' 기법입니다. 단어의 의미를 얻는 방식은 서로 크게 다르지만, 그 배경에는 모두 분포 가설이 있습니다. 분포 가설이란, '단어의 의미는 주변 단어에 의해 형성된다'라는 가설입니다. 추론 기반 기법에서는 이를 추측 문제로 귀결시킵니다. 두 기법 모두 분포 가설에 근거하여 '단어의 동시발생 가능성'을 얼마나 잘 모델링하는가를 초점으로 맞추고 있습니다. ① 통계 기반 기법의 ..