목록밑.시.딥/2권 (15)
모두야
단어의 의미를 주변 단어에 의해 형성된다. 추론 기반 기법 word2vec 통계 기반 기법의 문제점 말뭉치의 어휘 수가 많으면 SVD 로 계산량이 큰 작업을 처리하기 어렵다. 통계 기반 기법 : 학습 데이터를 한꺼번에 처리한다. (배치 학습) 추론 기반 기법 : 학습 데이터 일부를 순차적으로 학습한다. (미니배치 학습) 추론 기반 기법 : 추론 문제를 풀고 학습 하는 것 : 단어의 출현 패턴을 학습 하는 것 추론 기법에는 신경망 모델이 등장한다. 모델은 맥락 정보를 입력받아 출현하는 각 단어의 출현 확률을 출력한다. 원핫 표현(원핫 벡터) 단어-> 고정 길이 벡터로 변환하여 신경망에서 단어를 처리한다. 신경망의 화살표에 가중치(매개변수)가 존재하여, 입력층 뉴런과 가중치의 합이 은닉층이 된다. 완저연결계..
자연어 처리 -> 컴퓨터가 우리가 하는 말을 알아듣게(이해하게) 만드는 것이다. 고전적인 기법 (딥러닝 이전) 딥러닝 기법 (신경망) 파이썬으로 텍스트를 다루는 연습 - 텍스트를 단어로 분할하는 처리, 단어를 단어 ID로 변환하는 처리 앞으로 텍스트 처리를 위한 사전 준비!!! 자연어 (Natural Language) : 한국어, 영어 등 평소에 우리가 쓰는 말 자연어 처리(Natural Language Processing) : 자연어를 처리하는 분야 : 우리의 말을 컴퓨터에게 이해 시키기 위한 기술 : 사람의 말을 컴퓨터가 이해하도록 만들어서, 컴퓨터가 우리에게 도움이 되는 일을 수행하도록 하는 것 컴퓨터 이해 (프로그래밍 언어 : 딱딱한 언어) 평소 사용하는 말(자연어 : 부드러운 언어- 똑같은 의미..
역전파를 포함하는 계층 구현하기 Sigmoid 계층 Affine 계층 Softmax with Loss 계층 - Softmax 계층 - Cross Entropy Error 계층 Sigmoid 계층 # 역전파 포함 시그모이드 함수 클래스 구현 class Sidmoid: def __init__(self): self.params,self.grads = [],[] self.out = None def forward(self,x): out = 1/(1+np.exp(-x)) self.out = out # y return out def backward(self,dout): #dout = dL/dy dx = dout*(1.0-self.out)*self.out # y*(1-y) return dx Affine 계층 # 역전파..
이전까지 신경망의 추론을 살펴보았다. 학습되지 않은 신경망은 '좋은 추론'을 해낼 수 없다. 따라서 학습을 먼저 수행하고, 학습된 매개변수를 이용하여 추론을 수행하는 흐름이다. 신경망 추론 : 다중 클래스 분류 등의 문제에 대한 답을 구하는 작업 (확률) 신경망 학습 : 최적의 매개변수 값을 찾는 작업 (손실) 3. 신경망 학습 3.1 손실함수 신경망 학습에서 학습이 얼마나 잘되고 있는가를 알기 위한 척도가 필요하다. 학습 단계에서 신경망의 성능을 나타내는 척도로 손실 loss 를 사용한다. 손실 : 학습 데이터(학습 시 주어진 정답 데이터)와 신경망이 예측한 결과를 비교하여, 예측이 얼마나 나쁜가를 나타내는 스칼라값이다. 신경망의 손실은 손실함수 (loss function)을 사용해 구한다. - 다중 ..
한 가지 이상의 방법을 알아내기 전에는 제대로 이해한 것이 아니다. - 마빈 민스키 (컴퓨터과학자/인지과학자) 밑바닥부터 시작하는 딥러닝 1권 전체를 복습하는 장이다. 1. 수학과 파이썬 벡터 행렬 파이썬 코드 넘파이 코드 벡터 : 1차원 배열 행렬 : 2차원 배열 벡터와 행렬을 np.array() 메서드로 생성할 수 있다. np.ndarray 클래스 - 인스턴스 변수 - shape : 다차원 배열 형상 - ndim : 차원 수 백터의 내적 : 두 벡터가 얼마나 같은 방향을 향하고 있는가 : 완전히 같은 방향이면 두 벡터의 내적은 1이다. np.dot() : 벡터의 내적과 행렬의 곱 모두에 사용할 수 있다. : 인수가 모두 1차원 배열이면 벡터의 내적을 계산한다. : 인수가 2차원 배열이면 행렬의 곱을 ..