본문 바로가기

LSTM

Show, Attend and Tell (Encoder, Decoder, Attention) 【5】RNN 기본 다지기 / Show, Attend and Tell Show, Attend and Tell (Encoder, Decoder, Attention) 이번에 소개할 이미지 캡셔닝 논문은 2016년에 발표된 [Show, Attend and Tell: Neural Image Caption Generation with Visual Attention] 이다.이 논문은 6.2장에서 언급한 show and tell의 후속작으로 이전 논문에 Attention 매커니즘을 추가하였다. 이전 논문처럼 인코더 부분은 CNN으로 디코더 부분은 RNN(LSTM)으로 같으나 문장을 만드는 디코더 파트에 attention을 적용하였다. 그 결과 이미지 설명문의 매 단어를 생성할때 모델 스스로 이미지의 어디를 볼지 학습한.. 더보기
Show and Tell (이미지 캡셔닝) 【6】 최근 RNN 응용 모델 이해하고 사용하기 / Show and Tell Show and Tell (이미지 캡셔닝) 작성자 홍다혜 ghdek11@gmail.com / 이원재 wonway333@gmail.com 더보기
GRU - 리셋 게이트 /업데이트 게이트 / 입력정보 처리 / 출력 값 계산 출처 【6】최근 RNN 응용 모델 이해하고 사용하기 / GRU GRU - 리셋 게이트 /업데이트 게이트 / 입력정보 처리 / 출력 값 계산 출처 작성자 홍다혜 ghdek11@gmail.com / 이원재 wonway333@gmail.com 더보기
LSTM을 이용한 자연어처리 (실습) 【5】RNN 기본 다지기 / 실습으로 익히는 순환신경망 LSTM을 이용한 자연어처리 (실습) 이번에는 RNN의 강점이라고 할 수 있는 자연어처리를 해보자 모델에 사용 할 데이터셋은 IMDB 데이터다. IMDB 사이트에 등록된 리뷰를 긍정인지 부정인지를 분류하는 문제다. from tensorflow.keras import models,layers,datasets from tensorflow.keras.preprocessing.sequence import pad_sequences 텐서플로우 2.0 생략하고 자연어처리 실습에 사용될 패키지들이다. (x_train,y_train),(x_test,y_test) = datasets.imdb.load_data(num_words=10000) IMDB 데이터셋을 호출하는.. 더보기
LSTM을 이용한 시계열 데이터 분석(실습) 【5】RNN 기본 다지기 / 실습으로 익히는 순환신경망 LSTM을 이용한 시계열 데이터 분석 (실습) 이전에 실습했던 내용은 SimpleRNN을 사용했고 이번에는 LSTM을 이용한 시계열 데이터 처리를 배워보자 데이터셋은 SimpleRNN 실습 때 사용했던 것을 재사용한다. data = np.sin( np.pi * np.arange(0, 100)* 2.025 ) + np.random.random(100) x = np.array([data[i+j] for i in range(len(data)-10) for j in range(10)]) x_train = x[:700].reshape(-1,10,1) x_test = x[700:].reshape(-1,10,1) y = np.array([data[i+10] fo.. 더보기
기본 RNN과 LSTM 비교 【5】RNN 기본 다지기 / 실습으로 익히는 순환신경망 기본 RNN과 LSTM 비교 여기까지 RNN과 LSTM을 자세히 살펴 보았다. 두 순환신경망의 구조를 비교해보자. 아래 그림을 보자. 가장 간단하게 두 구조를 구별하는 방법은 타임스텝이 진행될때 한 셀에서 다음셀로 전달되는 정보의 개수를 확인하면 된다. 즉 위 그림에서는 셀과 셀 사이의 화살표 개수를 확인하면 되는것이다. 단기 기억 뿐인 RNN의 경우 다음 셀로 전달 되는 정보는 역시 바로 직전 타임스텝의 정보일 뿐이다. 그래서 그림에서 하나의 화살표만 볼 수 있다. 그러나 LSTM은 이름에서 보듯 Long-Short Term Momory 이므로 장기와 단기 기억이 모두 존재한다. 그러므로 구조 그림에서 두개의 화살표를 확인할 수 있다. 위 화살표는.. 더보기
LSTM의 원리 (삭제 게이트 / 입력 게이트 / 장기 기억 / 단기 기억) 【5】RNN 기본 다지기 / 실무에서 활용되는 LSTM 이해하기 LSTM의 원리 (삭제 게이트 / 입력 게이트 / 장기 기억 / 단기 기억) 작성자 홍다혜 ghdek11@gmail.com / 이원재 wonway333@gmail.com 더보기
한계를 극복한 LSTM 【5】RNN 기본 다지기 / 실무에서 활용되는 LSTM 이해하기 한계를 극복한 LSTM 작성자 홍다혜 ghdek11@gmail.com / 이원재 wonway333@gmail.com 더보기
[머신러닝] GRU란? 케라스로 GRU 은닉층 추가하기 (코드) 1. GRU란? GRU(Gated Recurrent Unit)란 LSTM과 유사한 구조를 가지는 모델을 말하는데요, LSTM의 장기 의존성 문제에 대한 해결책을 유지하면서 은닉 상태를 업데이트하는 계산을 감소시킨 알고리즘을 말합니다. 또한 GRU의 가장 큰 특징은 출력게이트, 입력게이트, 삭제게이트를 가진 LSTM과 달리 업데이터 게이트와 리셋 게이트만 갖고 있다는 점입니다. LSTM과 GRU가 비슷한 구조를 가지고 있지만 어느 게 더 좋다고 말할 수는 없는데요, 다만 GRU에서 매개변수의 양이 적기 때문에 데이터의 양이 적을 땐 GRU를 사용하는 것이 좋고, 데이터의 양이 많다면 LSTM이 적절할 수 있습니다. 2. 케라스로 GRU 은닉층 추가하기 한편, 케라스를 이용해 GRU 은닉층을 추가하고 싶다면.. 더보기