
1. 배치 정규화? 앞 절에선 가중치 초기화를 적절히 설정해서 각 층의 활성화값 분포를 적당히 퍼뜨려 원활한 학습을 유도했다. 이와 달리 배치 정규화는 각 층의 활성화값을 적당히 퍼뜨리도록 강제하는 기법이다. 배치 정규화의 장점은 아래와 같다. 학습 속도를 빠르게 한다. 가중치 초깃값에 크게 의존하지 않는다. 오버피팅을 억제한다. 2. 배치 정규화 알고리즘 배치 정규화는 그 이름과 같이, 학습 시 미니배치 단위로 정규화를 한다. 구체적으로는 한 배치안의 값의 분포를 평균이 0, 분산이 1이 되도록 정규화한다. 수식으로는 위와 같다. 이러한 변환을 활성화 함수의 앞 혹은 뒤에 삽입함으로써 데이터 분포가 덜 치우치게 강제한다. 배치 정규화를 활성화 함수의 앞과 뒤 중 어느 쪽에 삽입할 지에 대한 정답은 없다..

1. 가중치 초기화의 중요성 신경망의 가중치를 어떻게 초기화할지에 따라 학습의 성패가 갈린다. 단순하게 모든 가중치를 0으로 초기화 해보자(정확히는 모든 가중치를 동일한 값으로 설정해보자). 이 신경망은 학습이 제대로 되지 않는다. 그 이유는 오차역전파에서 모든 가중치가 똑같은 값으로 갱신되기 때문이다. 예를들어 2층 신경망이 있다고 하자. 1층과 2층 사이에 모든 가중치가 0이라면, 순전파 때 두 번째 층의 뉴런에 모두 같은 값이 전달된다. 이는 역전파때 두 번째 층의 가중치가 모두 똑같이 갱신된다는 뜻이다. 이는 가중치를 여러 개 갖는 의미를 상실시킨다. 이렇듯 가중치가 고르게 되어버리는 상황을 방지하려면 가중치의 초깃값을 무작위로 설정해야 한다. 2. 은닉층의 활성화값 분포 은닉층의 활성화값(활성화..

1. 확률적 경사 하강법(SGD) SGD는 그라디언트의 방향으로 일정 거리만큼 가는 단순한 매개변수 갱신 방법이다. SGD는 단순하고 구현도 쉽지만, 문제에 따라서 비효율적인 경우가 있다. 아래와 같은 비등방성 함수에서 그렇다. 비등방성 함수란 각 지점에서의 기울기가 전체에서 한 점만을 가리키지 않는 함수라고 이해하면 된다. 함수의 최솟값을 가지는 좌표는 $(0, 0)$이지만, 대부분의 지점에서 기울기는 $(0, 0)$ 방향을 가리키지 않는다. 이 함수에 SGD를 적용해보자. 갱신 경로가 지그재그로, 비효율적인 탐색 결과를 볼 수 있다. 이런 함수에는 SGD 같이 무작정 기울어진 방향으로 진행하는 단순한 방식보다 더 영리한 방법이 필요하다. 또한 SGD가 지그재그로 탐색하는 근본 원인이 기울기 방향이 최..