21년 6월 9일 

코드스테이츠 부트캠프 #일차

S4-Week 1 : Neural Networks

Note 02 : 경사하강법과 역전파 알고리즘

 


키워드

  • 역전파(Backpropagation, backward pass) - 학습방법에 대한 구체적인 지식

https://ki-mong42.tistory.com/31

 

역전파(Backpropagation) 알고리즘

21년 6월 9일 코드스테이츠 부트캠프 #일차 S4-Week 1 : Neural Networks Note 02 : 경사하강법과 역전파 알고리즘 키워드 역전파(Backpropagation, backward pass) - 학습방법에 대한 구체적인 지식 신경망 학습..

ki-mong42.tistory.com

경사하강법(gradient descent)

경사하강법을 하는 이유는 역전파로 weight를 변화시키고 해당 가중치 상태에서 loss fucntion을 최소화 시키는거라고 생각 중!! (다시 알아보자)

Batch Gradient Descent: BGD

(배치는 GPU가 한번에 처리하는 데이터의 묶음을 의미)

배치 경사 하강법 (Batch Gradient Descent: BGD)

전체 학습 데이터를 하나의 배치로(배치 크기가 n) 묶어 학습시키는 경사 하강법이다. 

전체 데이터에 대한 모델의 오차의 평균을 구한 다음, 이를 이용하여 미분을 통해 경사를 산출, 최적화를 진행한다.
보통 딥러닝 라이브러리에서 배치를 지정하지 않으면 이 방법을 쓰고 있다고 생각할 수 있다.

  • 전체 데이터를 통해 학습시키기 때문에, 가장 업데이트 횟수가 적다. (1 Epoch 당 1회 업데이트)
  • 전체 데이터를 모두 한 번에 처리하기 때문에, 메모리가 가장 많이 필요하다.
  • 항상 같은 데이터 (전체 데이터)에 대해 경사를 구하기 때문에, 수렴이 안정적이다. (아래 그림 참고)

 

 

Stochastic Gradient Descent

확률적 경사하강법(Stochastic Gradient Descent)

확률적 경사 하강법은 전체 데이터 중 단 하나의 데이터를 이용하여 경사 하강법을 1회 진행(배치 크기가 1)하는 방법이다. 전체 학습 데이터 중 랜덤하게 선택된 하나의 데이터로 학습을 하기 때문에 확률적 이라 부른다.

배치 경사 하강법에 비해 적은 데이터로 학습할 수 있고, 속도가 빠른 장점이 있다.

 

각 데이터에 대한 손실값의 기울기는 약간씩 다르기 때문에, 손실값의 평균이 아닌 개별 데이터에 대해 미분을 수행하면 기울기의 방향이 매번 크게 바뀐다. 그러나 결국 학습 데이터 전체에 대해 보편적으로 좋은 값을 내는 방향으로 수렴한다. 다만, 최저점에 안착하기는 어렵다.

  • 한 번에 하나의 데이터를 이용하므로 GPU의 병렬 처리를 그다지 잘 활용하지는 못한다.
  • 1회 학습할 때 계산량이 줄어든다.
  • Global Minimum에 수렴하기 어렵다.
  • 노이즈가 심하다. (Shooting이 너무 심하다.)

역전파 단계별 미분방법 다시 보자!

 

참고

 

https://wikidocs.net/37406

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

https://ganghee-lee.tistory.com/31

 

딥러닝 역전파 backpropagation이란?

<개요> 이전 글에서 설명했듯이 활성화 함수를 적용시킨 MLP에서 XOR과 같은 non-linear 문제들은 해결할 수 있었지만 layer가 깊어질수록 파라미터의 개수가 급등하게 되고 이 파라미터들을 적절하게

ganghee-lee.tistory.com

 

 

https://skyil.tistory.com/68

 

배치와 미니 배치, 확률적 경사하강법 (Batch, Mini-Batch and SGD)

이번 글에서는 batch와 mini-batch, 확률적 경사 하강법을 알아보자. 배치의 정의와 GPU (Batch) 현대 머신러닝의 비약적인 발전 배경에서 GPU는 빼놓을 수 없는 요소이다. CPU 대신 GPU(Graphic Processing Unit)..

skyil.tistory.com

배치 경사 하강법 (Batch Gradient Descent: BGD)

전체 학습 데이터를 하나의 배치로(배치 크기가 n) 묶어 학습시키는 경사 하강법이다.

 

 

https://sacko.tistory.com/19

 

문과생도 이해하는 딥러닝 (3) - 오차 역전파, 경사하강법

2017/09/27 - 문과생도 이해하는 딥러닝 (1) - 퍼셉트론 Perceptron 2017/10/18 - 문과생도 이해하는 딥러닝 (2) - 신경망 Neural Network 이전 시간까지 신경망이 무엇인지 어떻게 생긴 것인지 작동원리 등을 살.

sacko.tistory.com

 

+ Recent posts