기본기 다지기 13

[기본이론] 최적화 방법6- Adam (수식o)

최적화 방법6- Adam앞에서 RMSProp까지 정리했다. 이어서 Adam에 대해서 정리하려고 한다. ~ 목차 ~0. 서론- 왜 갑자기 최적화를 공부하고 있는가1. 최적화란2. 종류  2.1 경사하강법(GD)  2.2 확률적 경사하강법(SGD)  2.3 Momentum  2.4 AdaGrad  2.5 RMSProp  2.6 Adam  2. 종류   2.6 Adam- Adam은 Adaptive Moment Estimation의 약자로, ①Momentum의 장점과 ②RMSProp의 장점을 결합한 방법이다.    ① Momentum의 장점: 기울기 방향성 보존(안정성)    - Momentum의 기본 수식은 $v \leftarrow \alpha v - \eta \frac{\partial L}{\partial ..

[기본이론] 최적화 방법5- RMSProp (수식o, 그래프o)

최적화 방법5- RMSProp앞에서 모멘텀(Momentum)까지 정리했다. 이어서 RMSProp에 대해서 정리하려고 한다. ~ 목차 ~0. 서론- 왜 갑자기 최적화를 공부하고 있는가1. 최적화란2. 종류  2.1 경사하강법(GD)  2.2 확률적 경사하강법(SGD)  2.3 Momentum  2.4 AdaGrad  2.5 RMSProp  2.6 Adam  2. 종류   -AdaGrad의 단점(학습이 진행될수록 기울기 제곱값이 누적되어 학습률이 작아짐)을 개선하기 위해 RMSProp이 제안되었다.  2.5 RMSProp  - RMSProp은 Root Mean Square Propagation의 줄임말로, 기울기 제곱의 지수 이동 평균을 사용해서 학습률을 조절하는 방법이다. (c.f. 지수 이동 평균: 최근..

[기본이론] 최적화 방법4- AdaGrad (수식o)

최적화 방법4- AdaGrad앞에서 모멘텀(Momentum)까지 정리했다. 이어서 AdaGrad에 대해서 정리하려고 한다. ~ 목차 ~0. 서론- 왜 갑자기 최적화를 공부하고 있는가1. 최적화란2. 종류  2.1 경사하강법(GD)  2.2 확률적 경사하강법(SGD)  2.3 Momentum  2.4 AdaGrad  2.5 RMSProp  2.6 Adam 2. 종류   2.4 AdaGrad  - AdaGrad는 Adaptive Gradient의 줄임말로, 기울기 제곱의 누적합을 사용해서 학습률을 조절(자주 업데이트되면 학습률 감소, 드물게 업데이트되면 학습률 유지)하는 방법이다.   - 이 역시 수식으로 설명해보고자 한다. AdaGrad의 가중치 매개변수 업데이트 공식은 아래와 같다. $h \leftarr..

[기본이론] 최적화 방법3- Momentum (수식o)

최적화 방법3- Momentum앞에서 확률적 경사하강법(SGD)까지 정리했다. 이어서 모멘텀(Momentum)에 대해서 정리하려고 한다. ~ 목차 ~0. 서론- 왜 갑자기 최적화를 공부하고 있는가1. 최적화란2. 종류  2.1 경사하강법(GD)  2.2 확률적 경사하강법(SGD)  2.3 Momentum  2.4 AdaGrad  2.5 RMSProp  2.6 Adam3. 정리 2. 종류   2.3 Momentum  - 모멘텀(Momentum)은 운동량이라는 뜻으로, 이전의 이동방향을 계속 유지하려고 하는 성질, 즉 관성을 뜻한다. 최적화에서는 이러한 느낌을 살려서 가중치 매개변수를 갱신할 때 이전 기울기를 일부 반영하면서 현재 기울기에 따라 새로운 방향으로 이동하도록 만든다.  - 모멘텀을 도입하면 SG..

[기본이론] 최적화 방법2- Stochastic Gradient Descent (수식o)

최적화 방법2- Stochastic Gradient Descent앞에서 경사하강법(GD)까지 정리했다. 이어서 확률적 경사하강법(SGD)에 대해서 정리하려고 한다. ~ 목차 ~0. 서론- 왜 갑자기 최적화를 공부하고 있는가1. 최적화란2. 종류  2.1 경사하강법(GD)  2.2 확률적 경사하강법(SGD)  2.3 Momentum  2.4 AdaGrad  2.5 RMSProp  2.6 Adam3. 정리 2. 종류   2.2 확률적 경사하강법(SGD)  - Stochastic Gradient Descent, SGD  - Stochastic의 의미: 데이터를 무작위로 골라냈다는 뜻  - 기본 아이디어는 GD와 비슷하다. 데이터 추출 방식을 바꾼 것 뿐이다. GD는 1번 이동할 때 모든 데이터를 사용해서 $w..

[기본이론] 최적화 방법1- Gradient Descent (수식o)

최적화 방법1- Gradient Descent ~ 목차 ~0. 서론- 왜 갑자기 최적화를 공부하고 있는가1. 최적화란2. 종류  2.1 경사하강법(GD)  2.2 확률적 경사하강법(SGD)  2.3 Momentum  2.4 AdaGrad  2.5 RMSProp  2.6 Adam3. 정리 0. 서론- 왜 갑자기 최적화를 공부하고 있는가- 논문들을 읽으면서 기본기가 부족하다는 것이 다시 느껴졌다. 최적화에 대해서 정확히 알지 못했다. 내가 아는 것은.. 최적화가 기울기를 이용해서 손실함수를 최소로 하는 방법이고, 종류로는 SGD, Adam이 있지만 최근에는 대부분 Adam을 사용한다는 정도 뿐이었다. 그래서 든든한 기본서 『밑바닥부터 시작하는 딥러닝』을 다시 꺼내들었다.- 읽으면서 최적화 갱신 경로 부분이 ..

[기본이론] 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..