반응형

수학/딥러닝 이론 43

[딥러닝] 하이퍼파라미터를 최적화하는 방법과 구현하기

사이토고키의 을 공부하고 정리해보았습니다. [딥러닝] 검증 데이터 - 하이퍼파라미터의 성능을 평가 사이토고키의 을 공부하고 정리해보았습니다. 적절한 하이퍼파라미터 값 찾기 신경망에는 하이퍼파라미터가 다수 등장합니다. 여기서 말하는 하이퍼파라미터� deep-learning-study.tistory.com 검증 데이터로 하이퍼파라미터의 성능을 평가한다는 것을 배웠습니다. 이번에는 하이퍼파라미터 최적화를 알아보겠습니다. 하이퍼파라미터 최적화 하이퍼파라미터를 최적화할 때의 핵심은 하이퍼파라미터의 '최적 값'이 존재하는 범위를 조금씩 줄여간다는 것입니다. 범위를 조금씩 줄이려면 우선 대략적인 범위를 설정하고 그 범위에서 무작위로 하이퍼파라미터 값을 골라낸 후, 그 값으로 정확도를 평가합니다. 정확도를 잘 살피면서..

[딥러닝] 검증 데이터 - 하이퍼파라미터의 성능을 평가

사이토고키의 을 공부하고 정리해보았습니다. 적절한 하이퍼파라미터 값 찾기 신경망에는 하이퍼파라미터가 다수 등장합니다. 여기서 말하는 하이퍼파라미터는, 예를 들어 각 층의 뉴런 수, 배치 크기, 매개변수 갱신 시의 학습률과 가중치 감소 등입니다. 이러한 하이퍼파라미터의 값을 적절히 설정하지 않으면 모델의 성능이 크게 떨어지기도 합니다. 하이퍼파라미터의 값은 매우 중요하지만 그 값을 결정하기까지는 일반적으로 많은 시행착오를 겪습니다. 하이퍼파라미터의 값을 최대한 효율적으로 탐색하는 방법을 알아보겠습니다. 검증 데이터 - Validation data 지금까지는 데이터셋을 훈련 데이터와 시험 데이터라는 두 가지로 분리해 이용했습니다. 훈련 데이터로는 학습을 하고, 시험 데이터로는 범용 성능을 평가 했습니다. 그..

[딥러닝] 3. 오버피팅 억제법 - 드롭아웃

사이토고키의 을 공부하고 정리해보았습니다. [딥러닝] 오버피팅 억제법 - 가중치 감소 사이토고키의 을 공부하고 정리해보았습니다. 을 공부하고 정리해보았습니다. 오버피팅(과적합) 기계학습에서는 오버피팅이 문제가 되는 일이 많습니다. 오버� deep-learning-study.tistory.com 이전 포스팅에서는 오버피팅을 억제하는 방식으로 손실 함수에 가중치의 L2 노름을 더한 가중치 감소 방법을 설명했습니다. 가중치 감소는 간단하게 구현할 수 있고 어느 정도 지나친 학습을 억제할 수 있습니다. 그러나 신경망 모델이 복잡해지면 가중치 감소만으로는 대응하기 어려워집니다. 이럴 때는 흔히 드롭아웃이라는 기법을 이용합니다. 드롭아웃 - Dropout 드롭아웃은 뉴런을 임의로 삭제하면서 학습하는 방법입니다. 훈..

[딥러닝] 2. 오버피팅 억제법 - 가중치 감소

사이토고키의 을 공부하고 정리해보았습니다. [딥러닝] 오버피팅(과적합)이란? 사이토고키의 을 공부하고 정리해보았습니다. 오버피팅(과적합) 기계학습에서는 오버피팅이 문제가 되는 일이 많습니다. 오버피팅이란 신경망이 훈련 데이터�� deep-learning-study.tistory.com 이전 포스팅에서 오버피팅에 대해 알아보았습니다. 이번에는 오버피팅을 억제하는 방법에 대해 알아보겠습니다. 오버피팅 억제법 1. 가중치 감소 - weight decay 오버피팅 억제용으로 예로부터 많이 이용해온 방법 중 가중치 감소라는 것이 있습니다. 이는 학습 과정에서 큰 가중치에 대해서는 그에 상응하는 큰 페널티를 부과하여 오버피팅을 억제하는 방법입니다. 원래 오버피팅은 가중치 매개변수의 값이 커서 발생하는 경우가 많기 ..

[딥러닝] 1. 오버피팅(과적합)이란?

사이토고키의 을 공부하고 정리해보았습니다. 오버피팅(과적합) 기계학습에서는 오버피팅이 문제가 되는 일이 많습니다. 오버피팅이란 신경망이 훈련 데이터에만 지나치게 적응되어 그 외의 데이터에는 제대로 대응하지 못하는 상태를 말합니다. 기계학습은 범용 성능을 지향합니다. 훈련 데이터에는 포함되지 않는, 아직 보지 못한 데이터가 주어져도 바르게 식별해내는 모델이 바람직합니다. 오버피팅된 모델의 훈련 데이터와 시험 데이터의 에폭별 정확도 추이를 확인해 보겠습니다. 훈련 데이터르 사용하여 측정한 정확도는 100 에폭을 지나는 무렵부터 거의 100%입니다. 그러나 시험 데이터에 대해서는 큰 차이를 보입니다. 이처럼 정확도가 크게 벌어지는 것은 훈련 데이터에만 적응해버린 결과입니다. 훈련 때 사용하지 않는 범용 데이터..

[딥러닝] 배치 정규화의 알고리즘과 효과

사이토고키의 을 공부하고 정리해보았습니다. [딥러닝] 1. 가중치의 초깃값 - 초깃값을 0으로 하면? 사이토고키의 을 공부하고 정리해보았습니다. 가중치의 초깃값 신경망 학습에서 특히 중요한 것이 가중치의 초깃값입니다. 가중치의 초깃값을 무엇으로 설정�� deep-learning-study.tistory.com 이전 포스팅에서 가중치의 초깃값을 적절히 설정하면 각 층의 활성화값 분포가 적당히 퍼지면서 학습이 원활하게 수행됨을 배웠습니다. 배치 정규화 - Batch Normalization 그렇다면 각 층이 활성화를 적당히 퍼뜨리도록 '강제'해보자는 아이디어에서 출발할 것이 배치 정규화 방법입니다. 배치 정규화는 2015년에 제안된 방법입니다. 배치 정규화는 세상에 나온 지 얼마 안 된 기법임에도 많은 연구..

[딥러닝] 3. 가중치의 초깃값 - ReLU를 사용할 때의 가중치 초깃값 - He 초깃값

사이토고키의 을 공부하고 정리해보았습니다. [딥러닝] 2. 가중치의 초깃값 - 가중치의 초깃값에 따라 은닉층의 활성화값 분포 변화, Xavier 초깃� 사이토고키의 을 공부하고 정리해보았습니다. 을 공부하고 정리해보았습니다. 가중치의 초깃값 신경망 학습에서 특히 중요한 것이 가중치의 초깃값입니다. 가� deep-learning-study.tistory.com 이전 포스팅에서는 표준편차 초깃값, Xavier 초깃값에 대해 알아보았습니다. 이번에는 활성화 함수로 ReLU를 이용할 때의 초깃값을 알아보겠습니다. ReLU를 사용할 때의 가중치 초깃값 - He 초깃값 ReLU를 이용할 때는 ReLU에 특화된 초깃값을 이용해야 합니다. 이 특화된 초깃값을 He 초깃값이라 합니다. He 초깃값은 앞 계층의 노드가 n..

[딥러닝] 2. 가중치의 초깃값 - 가중치의 초깃값에 따라 은닉층의 활성화값 분포 변화, Xavier 초깃값

사이토고키의 을 공부하고 정리해보았습니다. [딥러닝] 1. 가중치의 초깃값 - 초깃값을 0으로 하면? 사이토고키의 을 공부하고 정리해보았습니다. 가중치의 초깃값 신경망 학습에서 특히 중요한 것이 가중치의 초깃값입니다. 가중치의 초깃값을 무엇으로 설정�� deep-learning-study.tistory.com 이전 포스팅에서 역전파 때 가중치가 똑같이 갱신되는 것을 방지하려면 가중치가 고르게 되어버리는 상황을 막아야 한다는 것을 배웠습니다. 가중치의 초깃값에 따라 은닉층의 활성화값 분포 변화 은닉층의 활성화값의 분포를 관찰하면 중요한 정보를 배웠습니다. 가중치의 초깃값에 따라 은닉층 활성화값들이 어떻게 변화하는지 실험을 해보겠습니다. 활성화 함수로 시그모이드 함수를 사용하는 5층 신경망에 무작위로 생성한..

[딥러닝] 1. 가중치의 초깃값 - 초깃값을 0으로 하면?

사이토고키의 을 공부하고 정리해보았습니다. 가중치의 초깃값 신경망 학습에서 특히 중요한 것이 가중치의 초깃값입니다. 가중치의 초깃값을 무엇으로 설정하느냐가 신경망 학습의 성패가 가르는 일이 자주 있습니다. 권장 초깃값에 대해 알아보고 실험을 통해 실제로 신경망 학습이 신속하게 이뤄지는 모습을 확인하겠습니다. 초깃값을 0으로 하면? 오버피팅을 억제해 범용 성능을 높이는 테크닉인 가중치 감소(weight decay) 기법을 알아보겠습니다. 가중치 감소는 간단히 말하면 가중치 매개변수의 값이 작아지도록 학습하는 방법입니다. 가중치 값을 작게 하여 오버피팅이 일어나지 않게 하는 것입니다. 가중치를 작게 만들고 싶으면 초깃값도 최대한 작은 값에서 시작해야 합니다. 그렇다면 가중치의 초깃값을 모두 0으로 설정하면 ..

[딥러닝] 매개변수 갱신 - Adam, 어느 갱신 방법을 이용할 것인가?

사이토고키의 을 공부하고 정리하였습니다. 매개변수 갱신 - Adam 모멘텀은 공이 그릇 바닥을 구르는 듯한 움직임을 보였습니다. AdamGrad는 매개벼수의 원소마다 적응적으로 갱신 정도를 조정했습니다. 두 기법을 융합한 기법이 바로 Adam입니다. 위 두 방법의 이점을 조합했으므로 매개변수 공간을 효율적으로 탐색해줄 것이라고 기대할 수 있습니다. 하이퍼파라미터의 '편향 보정'이 진행된다는 점도 Adam의 특징입니다. Adam에 의한 최적화 갱신 경로를 확인해보겠습니다. Adam 갱신 과정도 모멘텀과 비슷한 패턴으로 움직입니다. 이는 학습의 갱신 강도를 적응적으로 조정해서 얻는 혜택입니다. Adam은 하이퍼파라미터를 3개 설정합니다. 하나는 지금까지의 학습률, 나머지 두 개는 일차 모멘텀용 계수와 이차 ..

반응형