일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬
- Sigmoid
- hash
- select
- CBOW
- Python
- Word2vec
- SQL
- 딥러닝
- backward
- 신경망
- FullyConnectedLayer
- Numpy
- skip-gram
- 프로그래머스
- que
- MySQL
- Programmers
- kakao
- Stack
- affine
- sort
- Heap
- dl
- 자연어처리
- stak
- DeepLearning
- boj
- PPMI
- algorithm
- Today
- Total
목록DeepLearning (4)
혜온의 이것저것
4.1.1 Embedding 계층 앞장의 word2vec 구현에서는 단어를 원핫 표현으로 바꿨다. 그것을 MatMul 계층에 입력하고, MatMul 계층에서 가중치 행렬을 곱했다. 여기서 어휘 수가 100만개인 경우를 상상해보자. 이때 은닉층 뉴런이 100개라면, MatMul 계층의 행렬 곱은 그림처럼 된다. 그림에서 결과적으로 수행하는 일은 단지 행렬의 특정 행을 추출하는 것뿐이다. 따라서 원핫 표현으로의 변환과 MatMul 계층의 행렬 곱 계싼은 사실 필요가 없다. 그러면 가중치 매개변수로부터 단어ID에 해당하는 행을 추출하는 계층을 만들어보자. 그 계층을 Embedding 계층이라 부르겠다. 4.1.2 Embedding 계층 구현 행렬에서 특정 행을 추출하는 것은 쉽다. 가중치 W가 2차원 넘파이 ..
3.2.1 CBOW 모델의 추론 처리 CBOW 모델은 맥락으로부터 target을 추축하는 용도의 신경망이다. 우리는 CBOW 모델이 가능한 한 정확하게 추론하도록 훈련시켜서 단어의 분산 표현을 얻어낼 것이다. CBOW 모델의 입력은 맥락이다. 가장 먼저, 이 맥락을 원핫 표현으로 변환하여 CBOW 모델이 처리할 수 있도록 준비한다. 입력층이 2개 있고, 은닉층을 거쳐 출력층에 도달한다. 두 입력층에서 은닉층으로의 변환은 똑같은 완전연결계층이 처리하고, 은닉층에서 출력층 뉴런으로의 변환은 다른 완전연결계층이 처리한다. 은닉층의 뉴련은 입력층의 완전연결계층에 의해 변환된 값이 출력되는데, 입력층이 여러 개이면 전체를 평균하면 된다. 출력층의 뉴런은 총 7개인데, 여기서 중요한 것은 이 뉴런 하나하나가 각각의..
신경망의 학습과 추론에 드는 연산량은 상당하다. 그래서 신경망에서는 얼마나 빠르게 계산하느냐가 매우 중요한 주제이다. 1.5.1 비트 정밀도 넘파이의 부동소수점 수는 기본적으로 64비트 데이터 타입을 사용한다. (OS나 파이썬/넘파이 버전 등에 따라 바뀔 수 있음) 실제로 64비트 부동소수점 수가 사용되는지 다음 코드를 통해 확인 가능하다. import numpy as np a=np.random.randn(e) a.dtype # dtype('float64') 넘파이는 64미트 부동소수점 수를 표준으로 사용한다. 그러나 신경망의 추론과 학습은 32비트 부동소수점 수로도 인숙률을 거의 떨어뜨리는 일 없이 수행할 수 있다고 한다. 메모리관점에서는 항상 32비트가 더 좋다고 말할 수 있고, 신경망 계산 시 데이..
1.4.1 스파이럴 데이터셋 import sys sys.path.append('..') from dataset import spiral import matplotlib.pyplot as plt x,t=spiral.load_data() print('x',x.shape)#입력데이터 (300,2) print('t',t.shape)#정답레이블 (300,2) t는 원핫 벡터로, 정답에 해당하는 클래스에는 1이, 그 외에는 0이 레이블 되어 있다. 이 데이터가 어떤 모습인지 그려보면 아래와 같다. 입력은 2차원 데이터이고, 분류할 클래스 수는 3개가 있다. 이 그래프를 보면 직선만으로는 클래스들을 분리할 수 없음을 알 수 있다. 따라서 비선형 분리를 학습해야 한다. 1.4.2 신경망 구현 은닉층이 하나인 신경망을 ..