기본기 다지기/CNN부터 Attention까지 구현 7

[기본이론] Attention 구현(3/3)

Attention 구현(3/3)참고문헌: 책 『밑바닥부터 시작하는 딥러닝2』 Chapter8. 어텐션~ 목차 ~4. Attention 응용- Transformer4.1 RNN의 단점4.2 Transformer란5. 소감4. Attention 응용- Transformer4.1 RNN의 단점GPU 학습은 병렬계산환경에서 이루어지는데, RNN은 구조적으로 병렬 계산이 불가능하기 때문에 GPU의 성능을 충분히 활용하지 못함(RNN은 이전 시각의 계산결과를 다음 시각에 활용하기 때문). 그래서 성능이 잘 안 나옴이를 개선하기 위해서는 아래와 같은 두 가지 방법이 있음[방법1] 병렬 계산이 가능한 RNN 도입[방법2] RNN을 아예 제거하고 새로운 모델 도입다양한 연구들이 있지만, 가장 대표적인 모델은 [방법2]를..

[기본이론] Attention 구현(2/3)

Attention 구현(2/3)참고문헌: 책 『밑바닥부터 시작하는 딥러닝2』 Chapter8. 어텐션~ 목차 ~2. Attention을 갖춘 seq2seq 구현2.1 AttentionEncoder 구현2.2 AttentionDecoder 구현2.3 AttentionSeq2seq 구현3. Attention 평가3.1 Attention을 갖춘 seq2seq 학습3.2 Attention 시각화저번 포스팅에 이어서 Attention과 학습과정을 구현하고, 학습 결과를 시각화해서 Attention이 어떤 작업을 하고 있는지 알아보고자 한다.2. Attention을 갖춘 seq2seq 구현2.1 AttentionEncoder 구현앞에서 나온 Encoder는 LSTM 계층의 마지막 은닉상태만 반환했지만 Attenti..

[기본이론] Attention 구현(1/3)

Attention 구현(1/3)참고문헌: 책 『밑바닥부터 시작하는 딥러닝2』 Chapter8. 어텐션~ 목차 ~0. 서론- 왜 Attention을 구현하고 있는가Attention 개념1.1 seq2seq의 문제점1.2 Encoder 개선1.3 Decoder 개선1- 가중합(Weight Sum) 계층 (c)1.4 Decoder 개선2- 가중치(Attention Weight) 계층 (a)1.5 Decoder 개선3- 가중합 계층, 가중치 계층 합치기0. 서론- 왜 Attention을 구현하고 있는가이것 역시 연휴맞이 기본기 다지기의 일환이다. 기본기라고 하기엔 너무 기본적인 이론인가 싶지만.. 쌓아가야지 뭐이번에도 국룰 책 『밑바닥부터 시작하는 딥러닝2』의 Chapter8. 어텐션을 참고했다.너무 길어져서 ..

[기본이론] seq2seq 구현

Seq2seq 구현참고문헌: 책 『밑바닥부터 시작하는 딥러닝2』 Chapter7. RNN을 사용한 문장 생성~ 목차 ~0. 서론- 왜 seq2seq을 구현하고 있는가Seq2seq 개념Seq2seq 구현2.1 Encoder 클래스2.2 Decoder 클래스2.3 Seq2seq 클래스Seq2seq 개선3.1 입력 데이터 반전(Reverse)3.2 엿보기(Peeky)3.3 개선 방법들의 적용소감0. 서론- 왜 seq2seq을 구현하고 있는가이것 역시 기본기 다지기의 일환 4탄이다.바로 Attention모델부터 이해하려고 했다가 장렬히 전사해서 seq2seq부터 차근차근 이해해보려고 한다.이번에도 국룰 책 『밑바닥부터 시작하는 딥러닝2』의 Chapter7. RNN을 사용한 문장 생성 챕터를 참고했다.1. seq..

[밑시딥] LSTM 구현하기

LSTM 구현하기참고문헌: 책 『밑바닥부터 시작하는 딥러닝2』 Chapter6. 게이트가 추가된 RNN~ 목차 ~0. 서론- 왜 LSTM을 구현하고 있는가LSTM 개념1.1 RNN의 문제점1.2 기울기 폭발 대책- 기울기 클리핑1.3 기울기 소실 대책- LSTM1.3.1 LSTM 설명1.3.2 LSTM 구조1.3.3 LSTM은 어떻게 기울기 소실을 방지하는가LSTM 구현Time LSTM 구현(계층 전체)소감0. 서론- 왜 LSTM을 구현하고 있는가이것 역시 연휴맞이 기본기 다지기의 일환이다. 기본기라고 하기엔 너무 기본적인 이론인가 싶지만.. 쌓아가야지 뭐이번에도 국룰 책 『밑바닥부터 시작하는 딥러닝2』의 Chapter6. 게이트가 추가된 RNN을 참고했다.1. LSTM 개념1.1 RNN의 문제점기울기 ..

[밑시딥] RNN 구현하기

RNN 구현하기참고문헌: 책 『밑바닥부터 시작하는 딥러닝2』 Chapter5. 순환 신경망(RNN)~ 목차 ~0. 서론- 왜 RNN을 구현하고 있는가RNN 개념1.1 CNN의 문제점1.2 RNN 설명RNN 구현Time RNN 구현(계층 전체)소감0. 서론- 왜 RNN을 구현하고 있는가저번 CNN 구현 포스트에서 이어지는 맥락으로, 기본기를 다지고 싶었다. 이번 RNN 구현 역시 딥러닝 기초 국룰 책인 『밑바닥부터 시작하는 딥러닝2』를 참고했다.한 번에 모든 걸 이해하려고 하면 역효과가 날 수 있으니 지금 이 순간 최선을 다해서 이해해고 넘가는 느낌으로 가고자 한다.1. RNN 개념1.1 CNN의 문제점CNN은 신호가 한 방향으로만 전달되는 Feed Forward 유형의 신경망으로, 시계열 데이터를 다루지..

[밑시딥] CNN 구현하기

CNN 구현하기참고문헌: 책 『밑바닥부터 시작하는 딥러닝』 Chapter7. 합성곱 신경망(CNN)~ 목차 ~0. 서론- 왜 갑자기 CNN구현을 하게 되었는가합성곱 계층(Conv)을 사용하는 이유합성곱 계층 구현하기2.1 im2col 함수 구현2.1.1 im2col 함수 사용 예시12.1.2 im2col 함수 사용 예시22.2 합성곱 계층 구현풀링 계층 구현하기CNN 구현하기소감0. 서론- 왜 갑자기 CNN구현을 하게 되었는가코드를 만지면 만질수록 기본기가 부족함을 느낀다. 대회에 참여하거나 프로젝트 할 때는 대부분 당장의 결과물 산출을 우선으로 생각하니 있는 코드를 그대로 가져와서 변형하면서 사용하곤 하는데, 제대로 이해를 하지 않고 사용하니 겉도는 느낌이 계속 들었다. 지금 조금의 짬이 나서 기본기를..