본문 바로가기
카테고리 없음

인공지능 딥러닝 최적화와 초기화

by 타로101 2024. 3. 30.

최적화 알고리즘 중에는 반복적이지 않은 알고리즘이 있으며, 이러한 알고리즘은 해를 직접 찾습니다. 반복적인 알고리즘 중에서도 특정 최적화 문제에 적용하면 초기화와 무관하게 적절한 시간 내에 수렴하는 알고리즘이 있습니다. 하지만 딥러닝 훈련 알고리즘은 일반적으로 반복적이며 사용자는 시작점을 지정해야 합니다. 딥러닝에서는 모델의 초기화가 수렴에 큰 영향을 미치며, 시작점에 따라 수렴 속도와 비용, 일반화 오차가 달라질 수 있습니다.

 

인공지능
인공지능

 

현대적인 초기화 전략

현대적인 초기화 전략은 간단하고 경험적입니다. 신경망의 초기화는 아직 완전히 이해되지 않았기 때문에 개선된 초기화 전략을 개발하기는 어렵습니다. 대부분의 초기화 전략은 신경망이 학습을 시작하기 전에 좋은 속성을 갖도록 하는 것을 목표로 합니다. 그러나 학습이 시작된 후에는 어떤 속성들이 유지되는지는 잘 알려지지 않습니다. 최적화 관점에서 바람직한 시작점이 일반화 관점에서는 좋지 않은 선택일 수도 있습니다. 따라서 일반화에 미치는 초기화의 영향에 대한 연구는 아직 초기 단계이며, 일반화를 고려하여 초기화를 선택하기는 어렵습니다.

 

초기화의 중요한 속성

신경망의 초기화에서 확실히 알려진 좋은 속성은 초기 매개변수들이 서로 다른 단위들 사이의 대칭성을 깨야 한다는 것입니다. 같은 활성화 함수를 가진 두 은닉 단위가 같은 입력에 연결되어 있을 때, 초기 매개변수들은 서로 달라야 합니다. 같은 초기 매개변수를 가진 두 단위는 결정론적 비용함수와 학습 알고리즘이 같은 방식으로 갱신하게 됩니다.
서로 다른 단위를 서로 다른 방식으로 갱신하도록 하는 것이 중요하며, 이를 위해 초기화를 무작위로 하는 것이 효과적입니다. 무작위 초기화를 통해 각 단위가 서로 다른 함수를 계산하게 하면 입력 패턴이 순전파 과정에서 사라지거나, 기울기 패턴이 역전파 과정에서 사라지는 문제를 방지할 수 있습니다.
무작위 초기화 방법 외에도, 출력 단위의 개수가 입력 단위의 개수를 넘지 않는 신경망에서는 초기 가중치 행렬에 그람-슈미트 직교화를 적용하는 방법이 있습니다. 이 방법을 사용하면 각 단위가 다른 함수를 계산하게 됩니다. 또한, 고차원 공간에서의 고엔트로피 분포에 따른 무작위 초기화는 계산 비용이 적고 서로 다른 단위가 같은 함수를 계산할 가능성이 적습니다.
일반적으로 각 단위의 치우침(bias) 매개변수는 발견법칙으로 선택한 상수 하나를 사용합니다. 즉, 모든 단위가 동일한 치우침 매개변수를 받고, 무작위 초기화는 가중치들에만 적용됩니다. 예측의 조건부 분산을 부호화하는 추가적인 매개변수들도 치우친 매개변수처럼 발견법적으로 선택한 상수를 사용하는 경우가 많습니다.
대부분의 경우, 신경망의 모든 가중치는 가우스 분포나 균등 분포에서 무작위로 추출한 값들로 초기화됩니다. 가우스 분포와 균등 분포 중 어느 것을 선택하는지는 크게 중요하지 않아 보이지만, 이에 대한 상세한 연구는 아직 충분히 이루어지지 않았습니다. 그러나 초기 분포의 크기는 최적화 과정의 결과와 신경망의 일반화 능력에 모두 큰 영향을 미칩니다.

 

가중치의 크기와 초기화

초기 가중치들이 클수록 대칭성이 덜 해져서 단위들이 같은 함수를 사용하는 문제가 줄어듭니다. 또한, 큰 초기 가중치들은 각 층의 선형 구성요소를 통해 순전파나 역전파되는 과정에서 신호가 사라지는 문제를 방지하는 데 도움이 됩니다. 행렬의 성분들이 클수록 행렬을 곱한 결과의 성분들도 커지기 때문입니다. 그러나 초기 가중치가 너무 크면 순전파나 역전파 과정에서 값들이 폭발할 수 있습니다.
순환 신경망에서는 큰 가중치가 혼돈 현상을 일으킬 수도 있습니다. 이러한 가중치 폭발 문제는 가중치 절단 기법으로 어느 정도 완화할 수 있습니다. 또한, 가중치가 크면 활성화 함수의 입력이 커져서 활성화 함수가 포화하여 신호가 손실될 수 있습니다.
가중치의 적절한 크기를 결정할 때는 다양한 요인을 고려해야 합니다.

 

정칙화와 초기화

정칙화의 관점에서 본 신경망의 초기화 방식은 최적화의 관점과 다릅니다. 최적화의 관점에서는 정보 전파를 위해 가중치를 충분히 크게 잡는 것이 바람직하지만, 일부 정칙화 방법에서는 가중치가 너무 크면 문제가 발생할 수 있습니다. 확률적 경사 하강법과 같은 알고리즘은 초기 매개변수에 가까운 영역에서 멈추는 경향이 있으므로, 최종 매개변수는 초기 매개변수와 가까워야 한다는 사전 믿음을 반영합니다.
일부 모형에서는 조기 종료가 적용된 경사 하강법이 가중치 감쇄와 같은 효과를 나타낼 수 있습니다. 이는 초기화의 효과에 대한 느슨한 비유를 제공합니다. 매개변수 벡터를 초기화하는 것은 평균이 가우스 사전분포를 따르는 것과 유사하며, 이 경우 0에 가까운 값으로 선택하는 것이 적절합니다.
그러나 사전분포는 신경망의 단위들이 상호작용하지 않을 가능성이 상호작용할 가능성보다 더 크다는 것을 의미합니다. 단위들은 목적 함수의 가능도 항이 상호작용을 강하게 선호할 때만 상호작용하게 됩니다.
매개변수 벡터 초기값을 큰 값으로 설정하면 사전분포는 상호작용해야 할 단위와 그 단위들이 어떻게 상호작용해야 하는지를 지정하는 역할을 합니다.

 

결론

딥러닝 모델의 초기화는 학습 과정에서 중요한 역할을 합니다. 초기화는 모델의 수렴 속도와 일반화 능력에 영향을 미치며, 이를 고려하여 적절한 초기화 전략을 선택해야 합니다. 현재까지는 초기화에 대한 이해가 부족하여 대부분 경험적인 방법을 따르고 있으며, 초기화의 영향을 연구하는 것은 여전히 초기 단계에 있습니다. 초기화는 가중치의 대칭성을 깨고, 각 단위가 서로 다른 함수를 계산하도록 하는 것이 중요하며, 이를 위해 무작위 초기화가 효과적입니다. 또한, 초기 가중치의 크기는 모델의 성능에 큰 영향을 미치므로 적절한 크기를 선택하는 것이 중요합니다. 초기화는 최적화와 정칙화의 관점에서 다르게 고려되어야 하며, 모델의 최종 성능에 영향을 미칩니다.