본문 바로가기
반응형
CHAPTER 4 word2vec 속도 개선 3장에서의 word2vec 문제점 input layer의 one-hot 표현과 가중치 행렬 $W_{in}$의 곱 계산 어휘 수가 많아지면 one-hot vector의 size도 커짐(상당한 memory차지) hidden layer의 가중치 행렬 $W_{out} $의 곱 Softmax layer 계산 위 2개의 계산이 병목되며 많은 계산시간이 소요하는 문제 발생 #해결방법 -> Embedding Layer -> Negative Sampling(loss function) Embedding Layer 가중치 parameter로부터 '단어 ID에 해당하는 vector'를 추출하는 layer 기존 one-hot encoder와 matmul계층의 행렬 곱 계산(행렬의 특정 행 추출) 대신 사용 Embedding l.. 2020. 2. 6.
CHAPTER 3 word2vec 3.1 추론 기반 기법과 신경망 단어를 벡터로 표현하는 방법 통계 기반 기법 추론 기반 방법 3.1.1 통계 기반 기법의 문제점 통계 기반 기법 - 학습 데이터를 한번에 처리(배치 학습) 추론 기반 기법 - 학습 데이터의 일부를 사용하여 순차적으로 학습(미니배치 학습) 3.1.3 신경망에서의 단어 처리 신경망에서 단어를 사용하기 위해 고정 길이의 벡터로 변환 one-hot 벡터 - 벡터의 원소 중 하나만 1, 나머지는 모두 0인 벡테 3.2 단순한 word2vec CBOW(continuous bag-of-words) 모델의 추론 처리 CBOW - context(주변 단어)로부터 Target(중앙 단어)을 추측하는 용도의 신경망 다중 클래스 분류 신경망 맥락에 포함시킬 단어가 N개일 경우 입력층도 N개 완.. 2020. 2. 3.
CHAPTER2 - 자연어와 단어의 분산 표현 2.1 자연어 처리(NLP - Natural Language Processing) - 자연어(natural language) : 인간의 언어 - 자연어 처리 - '자연어를 처리하는 분야 - '인간의 말을 컴퓨터에게 인해시키기 위한 기술(분야)' 2.1.1 단어의 의미 - 단어 : 의미의 최소 단위 2.2 시소러스 - 유의어 사전 - 사람이 직접 단어의 의미를 정의하는 방식 - 뜻이 같은 단어(동의어)나 뜻이 비슷한 단어(유의어) 를 한 그룹으로 분류한 사전 ex) car = auto / automobile / machine / motorcar - 모든 단어에 대한 유의어 집합을 이용하여 단어들의 관계를 그래프로 표현 및 단어 사이의 연결 정의 가능 -> 단어 사이의 연관성 학습 가능 문제점 - 사람의 수.. 2020. 1. 31.
CHAPTER 1 - 신경망 복습 1.1 수학과 파이썬 복습 1.1.1 벡터, 행렬 벡터 - 크기와 방향을 가짐, 일렬로 늘어선 집합으로 표현 가능(파이썬 - 1차 배열 취급 가능) 행렬 - 2차원 형태(사각형 형상) numpy를 사용한 배열 생성 변수명 = np.array([1,2,3]) #[1,2,3] 의 행렬 생성 변수명 = np.array([1,2,3],[4,5,6]) #[[1,2,3],[4,5,6]] 의 행렬 생성 변수명.shape # 행렬의 형태 출력 변수명.ndim # 행렬의 차원 출력 import numpy as np x = np.array([1,2,3]) x.shape x.ndim W = np.array([[1,2,3],[4,5,6]]) W.shape W.ndim 1.1.2 행렬의 원소별 연산 import numpy as.. 2020. 1. 13.
반응형