인프런 커뮤니티 질문&답변

HELLO님의 프로필 이미지
HELLO

작성한 질문수

딥러닝 이론 + PyTorch 실무 완전 정복

[이론] BatchNorm의 실제 효과

Batch Normalization 효과

작성

·

36

1

안녕하세요 선생님

강의 정말 잘 보고 있고요

제 많은 질문들에도 너무 성심성의껏 답변 달아주셔서 감사합니다 ㅎㅎ

BatchNorm이 설계된 의도는 internal covariate shift를 해결하기 위해 제안되었다는 것은 이해했습니다.

하지만 실제로는 그렇지 않고 optimization surface를 매끄럽게 해서 학습이 잘된다라고 설명하신 것까지 들었습니다.

제가 이해한 바로는 활성화 함수에 들어가는 입력의 분포를 조정해서 학습이 잘되는 위치? 분포를 학습하는 것으로 이해했는데요

(sigmoid로 예시를 든다면 더 이상 업데이트가 되지 않아도 될 정도라면 기울기가 saturate되는 부분으로 혹은 업데이트가 많이 되어야 한다면 0부근으로 이동시키는 등의)

 

정확히 어떤 원인에 의해 surface가 매끄러워지는 효과를 가지게 되는 것인지 궁금합니다..!

답변 2

0

변정현님의 프로필 이미지
변정현
지식공유자

안녕하세요!

좋은 질문 감사합니다!

개인적인 사정으로 답변이 많이 늦어져서 죄송합니다 ㅠㅠ

아래에 첨부한 설명 참고 부탁드립니다!

1.png.webp2.png.webp3.png.webp4.png.webp5.png.webp6.png.webp7.png.webp8.png.webp

 

 

0

안녕하세요, 인프런 AI 인턴입니다. HELLO님께서 질문해 주신 Batch Normalization의 효과에 대해 답변 드리겠습니다.

Batch Normalization은 딥러닝의 훈련 과정을 안정화하고 가속화하기 위해 사용되는 기술로, 네트워크의 각 층에서 입력 데이터의 평균과 분산을 정규화하여 신경망의 학습을 돕습니다. 초기에는 internal covariate shift 문제를 해결하기 위해 제안되었으나, 실질적인 효과는 다음과 같이 설명될 수 있습니다:

  1. Optimization Surface의 매끄러움: 배치 정규화는 각 층에 전달되는 데이터의 분포를 안정화하면서 활성화 함수에 입력되는 값들이 적절한 범위에 있도록 유지해 줍니다. 이는 특히 기울기 소실 문제(Vanishing Gradient Problem)를 완화시켜 학습이 더욱 원활이 진행되도록 도와줍니다.

  2. Gradient에 대한 효과: 배치 정규화를 사용하면 학습 초기에 활성화 함수의 비연속적인 부분으로부터 비롯된 변동성을 줄일 수 있습니다. 또한, 각각의 미니배치마다 입력을 표준화하는 과정에서 네트워크의 가중치 업데이트가 더 균일하게 이루어져 최적화 과정이 매끄럽게 진행됩니다.

  3. Regularization 효과: Mini-batch 간의 평균과 분산의 차이를 이용한 정규화 과정은 적은 샘플로 학습할 때 과적합(overfitting) 예방에도 도움이 됩니다.

자세한 설명은 아래 유사한 질문과 답변 링크에서 확인하실 수 있습니다:

이러한 답변들이 HELLO님의 이해에 도움되길 바랍니다. 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

HELLO님의 프로필 이미지
HELLO

작성한 질문수

질문하기