본문 바로가기
반응형

AI/밑딥18

딥러닝) 시소러스 , 통계 기반 기법 , 코사인 유사도 자연어 처리(Natural Language Processing, NLP)란 한국어와 영어 등 인간이 평소에 사용하는 말을 컴퓨터에게 이해시키기 위한 기술이다. 컴퓨터가 사람의 말을 이해하도록 하여 여러가지 일을 수행하게 하는 것이 자연어 처리의 목표이다. '단어'는 의미의 최소단위이므로 컴퓨터에게 단어를 이해시키는 것이 중요하다. 그 방법으로 시소러스를 활용한 기법, 통계 기반 기법, 추론 기반 기법(word2vec)이 있다. 1. 시소러스 시소러스란 유의어 사전으로 뜻이 같거나 비슷한 단어가 그룹으로 분류되어 있다. (예시 car = auto, automobile, machine, motorcar) 뿐만 아니라, 단어 사이의 상위/하위 개념 또는 전체/부분 관계를 그래프로 정의하고 있다. 시소러스는 이.. 2021. 4. 25.
딥러닝) optimizer ( SGD , Momentum , AdaGrad , RMSProp, Adam ) 1. Stochastic Gradient Descent (SGD) SGD는 현재 위치에서 기울어진 방향이 전체적인 최솟값과 다른 방향을 가리키므로 지그재그 모양으로 탐색해나간다. 즉, SGD의 단점은 비등방성(anisotropy)함수에서는 탐색 경로가 비효율적이라는 것이다. 무작정 기울어진 방향으로 나아가는 방식보다 더 효율적인 방식이 필요하다. SGD를 보완한 기법으로 Momentum, AdaGrad, Adam이 있다. class SGD: def __init__(self, lr = 0.01): self.lr = lr def update(self, params, grads): for key in params.keys(): params[key] -= self.lr * grads[key] 2. Momentu.. 2021. 3. 23.
딥러닝) 신경망 학습 전체 알고리즘 (코드) 1. 신경망 구축에 필요한 Layers import numpy as np from common.functions import * class Relu: def __init__(self): self.mask = None def forward(self, x): self.mask = (x lambda 변수: return 식 grads = {} grads['W1'] = numerical_gradient(loss_W, self.params['W1']) grads['b1'] = numerical_gradient(loss_W, self.params['b1']) grads['W2'] = numerical_gradient(loss_W, self.params['W2']) grads['b2'] = numerical_gradi.. 2021. 3. 18.
딥러닝) Affine , Softmax , Cross Entropy Error 계층 구현 1. Affine 계층 신경망의 feed-forward를 위해 입력값 X와 가중치 W와 편향 B를 Y = np.dt(X, W) + B와 같이 계산한 후 Y를 활성화 함수로 변환하여 다음 Layer로 전파하였다. 기하학에서는 순전파 때 수행하는 행렬의 곱을 어파인 변환(Affine transformation)이라고 한다. 어파인 변환은 대응하는 차원의 원소의 수를 일치시키는 것이 핵심이다. 위에서는 데이터 하나만 고려한 Affine계층을 보았는데, 이제 데이터 N개를 묶어서 순전파하는 Affine계층을 다룰 것이다. 순전파에서는 matrix인 X·W 와 vector인 B 를 더하기 위해서 vector인 B 에 repeat을 적용하여 matrix로 만들어 '+' 노드를 실행하고, 역전파에서는 matrix인 .. 2021. 3. 16.
728x90
반응형