페이스북 그룹 '소프트웨어캠퍼스' 커뮤니티의 서적 [밑바닥부터 시작하는 딥러닝]으로 진행한 스터디 발표 자료 입니다. 해당 자료는 챕터6 학습관련기술들에 대한 내용입니다. 외부 자료 상당 부분 사용하였으며 자료 출처는 슬라이드 뒷부분에 기재하였습니다.
프레젠테이션 페이지별 스크립트: https://www.slideshare.net/hyeseunglee6/ss-75889203
1. O P T I M I Z A T I O N
CHAPTER 6
학습관련기술들
SUBJECT 신경망학습효율,정확도높이기
확률적 경사 하강법
신경망학습의목적은손실함수의값을가능한한낮추는매개변수를찾
는것이었다.이는곧최적매개변수를찾는문제이며,이러한문제를
READ MORE
R E G U L A R I Z T I O N
드롭 아웃 drop out
:오버피팅을 억제하는 정규화 기법
드롭아웃은뉴런을임의로삭제하면서학습하는방
법입니다. 복잡한신경망모델에효과적입니다.
H Y P E R P A R A M E T E R
O P T I M I Z A T I O N
7. CHAPTER 6-1
매개변수갱신:최적화
Gradient Descent Optimization at Long Valley Gradient Descent Optimization at Saddle Point Gradient Descent Optimization at Beale's Function
확률적 경사 하강법
Stochastic Gradient Descent
[SGD의한계]
15. CHAPTER 6-1
매개변수갱신:최적화
Gradient Descent Optimization at Long Valley Gradient Descent Optimization at Saddle Point Gradient Descent Optimization at Beale's Function
모멘텀
Momentum
17. CHAPTER 6-1
매개변수갱신:최적화
매개변수별 맞춤형 학습률 조정
AdaGrad
기울기를제곱하여누적한다
학습률을직접조정
학습이진행될수록학습률을낮춤
많이 변화한 변수들은 최적값에 가까이 있을 확률이 높기 때문에 작은 크기로 이동하면서 세밀한 값을 조정,
적게 변화한 변수들은 최적값에 도달하기 위해 많이 이동해야할 확률이 높기 때문에 빠르게 크게 이동하는 방식
대개0.01로시작,
이후자동조정됨
19. CHAPTER 6-1
매개변수갱신:최적화
Gradient Descent Optimization at Long Valley Gradient Descent Optimization at Saddle Point Gradient Descent Optimization at Beale's Function
매개변수별 맞춤형 학습률 조정
AdaGrad & RMSProp
34. CHAPTER 6-2
가중치의초깃값
가중치 초깃값을 모두 0으로 하면 오차역전파
법에서 모든 가중치의 값이 똑같이 갱신된다.
초깃값을 똑같이 두고 시작하면 갱신을 거쳐도
가중치는 같은 값을 유지하게 된다. 이는 가중
치를 여러개 갖는 의미를 사라지게 한다. 따라
서 초깃값은 0이나 모두 동일한 값이 아닌
무 작 위 로 설 정 해 야 한 다 .
초깃값을 0으로 하면?
36. 가중치 초깃값에 따라 은닉층 활성화 함수가 변화하는 양상 확인
[실험1] 5개 층, 각 층별 100개의 뉴런, 입력데이터 1000개(정규분포), 활성화함수 시그모이드
CHAPTER 6-2
가중치의초깃값
은닉층의 활성화값 분포
[가중치를 표준편차 1인 정규분포로 초기화할 때 활성화값 분포]
모든 층의 활성화값들이 0과 1에 치우쳐 분포 시그모이드 함수 시그모이드의 편미분 함수
기울기 소실 문제
37. CHAPTER 6-2
가중치의초깃값
[가중치를 표준편차 0.01인 정규분포로 초기화할 때 활성화값 분포]
표현력 제한 문제
모든 층의 활성화값들이 0.5 부근에 집중됨
= 다수의 뉴런이 거의 같은 값을 출력
가중치 초깃값에 따라 은닉층 활성화 함수가 변화하는 양상 확인
[실험1] 5개 층, 각 층별 100개의 뉴런, 입력데이터 1000개(정규분포), 활성화함수 시그모이드
은닉층의 활성화값 분포
38. CHAPTER 6-2
가중치의초깃값
앞 계층의 노드가 개라면 표준편차가 1/ 인 정규분포로 초기화
은닉층의 활성화값 분포
Xavier초깃값
[가중치의 초깃값으로 ‘Xavier 초깃값’을 이용할 때의 각 층의 활성화값 분포]
각 층에 흐르는 데이터가 충분히 퍼져있어 학습이 효율적으로 이뤄질 것으로 기대됨
45. 신경망 학습단계에서 활성화값이 표준정규분포를 갖도록 강제하는 기법
CHAPTER 6-3
배치정규화
배치정규화 알고리즘
Batch normalization
학습 속도 개선
초깃값에 의존하지 않음
오버피팅 억제: 드롭아웃 등 필요성 감소
배치정규화의 강점
46. 미니배치를 단위로 데이터 분포가 평균이 0, 분산이 1이 되도록 정규화
CHAPTER 6-3
배치정규화
배치정규화 알고리즘
Batch normalization
M개의 입력데이터 집합(미니배치) B = { , , …, }
←
1
←
1
−
←
−
+
미니배치 B의 평균
미니배치 B의 분산
평균0, 분산1로 정규화
작은 값(ex. 10e-7)
0으로 나누는 상황 예방
확대 역할
초깃값 1
이동 역할
초깃값 0
확대와 이동 변환 ⟵ +
59. CHAPTER 6-4
오버피팅억제기술
드롭아웃
Dropout
뉴런을 임의로 삭제하면서 학습하는 방법
TRAIN - (b)
데이터를 흘릴 때마다 은닉층의 뉴런을 무작위로 골라 삭제
삭제된 뉴런은 신호 전달하지 않게 됨
TEST
모든 뉴런에 신호를 전달
단, 각 뉴런의 출력에 훈련 때 삭제한 비율을 곱하여 출력
60. CHAPTER 6-4
오버피팅억제기술
Dropout과 앙상블
앙상블이란 개별적으로 학습시킨 여러 모델의 출력을
평균 내어 추론하는 방법 (voting등 다른 방법도 사용)이다.
Dropout의 경우 매번 무작위로 뉴런을 삭제하므로,
매 번 다른 모델을 학습시키는 것으로 볼 수 있다.
Neural Network에 앙상블을 직접 쓰지 않는 이유
앙상블은 일반화 에러를 줄이는데 강력한 기법이지만,
거대한 Neural Network이면 각각의 네트워크를 학습
시 키는 데 많은 메 모 리와 많 은 시 간 이 필 요 하 기 때 문
앙상블의 여러 모델의 평균
= Dropout의 출력에 삭제한 비율의 곱
64. CHAPTER 6-5
하이퍼파라미터값탐색
하이퍼파라미터의 성능 평가 전용 데이터
(하이퍼파라미터의 예: 각 층 뉴런 수, 배치 크기, 학습률, 가중치 감소 등등)
검증데이터
Validation data
훈련데이터
매개변수학습
검증데이터
하이퍼파라미터성능평가
시험데이터
신경망의범용성능평가
시험데이터를 사용하지 않는 이유: 시험데이터에 오버피팅 되기 때문
67. CHAPTER 6-5
하이퍼파라미터값탐색
하이퍼파라미터 최적화
Hyperparameter Optimization
‘최적값’이 존재하는 범위 줄여나가기
‘대략적인’ 범위 설정(10의 계승 단위 = 로그 스케일)
범위 내에서 무작위로 하이퍼파라미터 값 sampling
검증 데이터로 정확도 평가 (단, 에폭은 작게 설정)
위의 과정을 반복하여 범위 좁힌다
68. 기타 참고 자료 출처
http://aikorea.org/cs231n/neural-networks-3/#sgd
http://aikorea.org/cs231n/optimization-1/#gd
https://tensorflow.blog/2017/03/22/momentum-nesterov-momentum/comment-page-1/
http://shuuki4.github.io/deep%20learning/2016/05/20/Gradient-Descent-Algorithm-Overview.html
CHAPTER 6
학습관련기술들
도서 [밑바닥부터 시작하는 딥러닝]의 CHAPTER 6 내용을 기반으로 구성하였습니다.