목록LSTM (3)
모두야

언어 모델 구현하기 # coding: utf-8 import sys sys.path.append('..') from common.time_layers import * from common.base_model import BaseModel class Rnnlm(BaseModel): def __init__(self, vocab_size=10000, wordvec_size=100, hidden_size=100): V, D, H = vocab_size, wordvec_size, hidden_size rn = np.random.randn # 가중치 초기화 embed_W = (rn(V, D) / 100).astype('f') lstm_Wx = (rn(D, 4 * H) / np.sqrt(D)).astype('f') ..

RNN(기울기 폭발/ 기울기 손실) 에 이어서---- 기울기 폭발 원인 : 1보다 큰 Wh를 계속 곱해서 오버플로를 일으키며 NaN 값 발생된다. 해결 : 기울기 클리핑 기울기 손실 원인 : tanh의 계속된 미분, 1보다 작은 Wh를 계속 곱해줘서 기울기가 매우 작아진다. 해결 : 게이트가 추가 된 RNN - LSTM [ RNN 문제점은 어떻게 해결할 수 있을까?] 1) 기울기 폭발 - 기울기 클리핑으로 해결 threshold : 문턱값 g : 신경망에서 사용되는 모든 매개변수의 기울기를 하나로 모은 것 ||g|| (기울기의 L2노름) > 문턱값 초과하면 기울기를 수정하자. # 기울기 클리핑 구현 import numpy as np dW1 = np.random.rand(3, 3) * 10 dW2 = np..

[ RNN 복습 / 문제점 ] RNN :순환 경로를 포함하여 과거의 정보 기억 RNN의 문제점 ▷ 시계열 데이터에서 시간적으로 멀리 떨어졌을 경우, 잘 기억하지 못한다. (장기 의존 관계 학습 X) ▷ (해결법) 게이트가 추가된 RNN : LSTM을 사용한다. ▷ (이유) BPTT 에서 기울기 소실 / 기울기 폭발이 일어난다. 기울기 소실 / 폭발 원인 Tom was watching TV in his room. Mary came into the room. Mary said hi to ? (Tom) Tom 이 방에서 TV를 보고 있음 & 그 방에 Mary가 들어옴 이라는 정보를 RNN 계층의 은닉 상태에 인코딩 보관해둬야함 과거 방향으로 의미 있는 기울기 전달 = 의미 있는 정보를 과거로 전달 = 장기 의..