Skip to content

Latest commit

 

History

History
 
 

파일 설명

파일명 파일 용도 관련 절 페이지
batch_norm_gradient_check.py 배치 정규화를 구현한 신경망의 오차역전파법 방식의 기울기 계산이 정확한지 확인합니다(기울기 확인).
batch_norm_test.py MNIST 데이터셋 학습에 배치 정규화를 적용해봅니다. 6.3.2 배치 정규화의 효과 212
hyperparameter_optimization.py 무작위로 추출한 값부터 시작하여 두 하이퍼파라미터(가중치 감소 계수, 학습률)를 최적화해봅니다. 6.5.3 하이퍼파라미터 최적화 구현하기 224
optimizer_compare_mnist.py SGD, 모멘텀, AdaGrad, Adam의 학습 속도를 비교합니다. 6.1.8 MNIST 데이터셋으로 본 갱신 방법 비교 201
optimizer_compare_naive.py SGD, 모멘텀, AdaGrad, Adam의 학습 패턴을 비교합니다. 6.1.7 어느 갱신 방법을 이용할 것인가? 200
overfit_dropout.py 일부러 오버피팅을 일으킨 후 드롭아웃(dropout)의 효과를 관찰합니다. 6.4.3 드롭아웃 219
overfit_weight_decay.py 일부러 오버피팅을 일으킨 후 가중치 감소(weight_decay)의 효과를 관찰합니다. 6.4.1 오버피팅 215
weight_init_activation_histogram.py 활성화 함수로 시그모이드 함수를 사용하는 5층 신경망에 무작위로 생성한 입력 데이터를 흘리며 각 층의 활성화값 분포를 히스토그램으로 그려봅니다. 6.2.2 은닉층의 활성화값 분포 203
weight_init_compare.py 가중치 초깃값(std=0.01, He, Xavier)에 따른 학습 속도를 비교합니다. 6.2.4 MNIST 데이터셋으로 본 가중치 초깃값 비교 209

6장 학습 관련 기술들

이번 장에서는 신경망 학습의 핵심 개념들을 만나봅니다. 이번 장에서 다룰 주제는 가중치 매개변수의 최적값을 탐색하는 최적화 방법, 가중치 매개변수 초깃값, 하이퍼파라미터 설정 방법 등, 모두가 신경망 학습에서 중요한 주제입니다. 오버피팅의 대응책인 가중치 감소와 드롭아웃 등의 정규화 방법도 간략히 설명하고 구현해봅니다. 마지막으로 최근 많은 연구에서 사용하는 배치 정규화도 짧게 알아봅니다. 이번 장에서 설명하는 기법을 이용하면 신경망(딥러닝) 학습의 효율과 정확도를 높일 수 있습니다. 그럼 본론으로 들어가 볼까요?

목차

6.1 매개변수 갱신 
__6.1.1 모험가 이야기 
__6.1.2 확률적 경사 하강법(SGD) 
__6.1.3 SGD의 단점 
__6.1.4 모멘텀 
__6.1.5 AdaGrad 
__6.1.6 Adam 
__6.1.7 어느 갱신 방법을 이용할 것인가? 
__6.1.8 MNIST 데이터셋으로 본 갱신 방법 비교 
6.2 가중치의 초깃값 
__6.2.1 초깃값을 0으로 하면? 
__6.2.2 은닉층의 활성화 분포 
__6.2.3 ReLU를 사용할 때의 가중치 초깃값 
__6.2.4 MNIST 데이터셋으로 본 가중치 초깃값 비교 
6.3 배치 정규화 
__6.3.1 배치 정규화 알고리즘 
__6.3.2 배치 정규화의 효과 
6.4 바른 학습을 위해 
__6.4.1 오버피팅 
__6.4.2 가중치 감소 
__6.4.3 드롭아웃 
6.5 적절한 하이퍼파라미터 값 찾기 
__6.5.1 검증 데이터 
__6.5.2 하이퍼파라미터 최적화 
__6.5.3 하이퍼파라미터 최적화 구현하기 

이번 장에서 배운 내용

  • 매개변수 갱신 방법에는 확률적 경사 하강법(SGD) 외에도 모멘텀, AdaGrad, Adam 등이 있다.
  • 가중치 초깃값을 정하는 방법은 올바른 학습을 하는 데 매우 중요하다.
  • 가중치의 초깃값으로는 ‘Xavier 초깃값’과 ‘He 초깃값’이 효과적이다.
  • 배치 정규화를 이용하면 학습을 빠르게 진행할 수 있으며, 초깃값에 영향을 덜 받게 된다.
  • 오버피팅을 억제하는 정규화 기술로는 가중치 감소와 드롭아웃이 있다.
  • 하이퍼파라미터 값 탐색은 최적 값이 존재할 법한 범위를 점차 좁히면서 하는 것이 효과적이다.