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

HELLO님의 프로필 이미지

작성한 질문수

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

[이론] Regression task의 Loss: L1, L2, Huber, Log Cosh Loss

Huber Loss에 대한 질문

해결된 질문

24.09.24 02:00 작성

·

25

1

안녕하세요?: 선생님

강의 정말 재밌게 잘 보고 있습니다.

강의 내용 중에 Huber Loss는 전미분이 한 번밖에 되지 않는다는 단점을 언급해주셨는데요

Gradient Descent를 적용할 때는 weight에 대한 편미분만 적용하기 때문에 역전파 시에는 무관한 거 아닐까요?
따라서 Epoch를 2 이상의 숫자를 두고 학습하는데 전혀 지장이 없는 거 아닌가요?
왜 전미분이 1번만 된다는 게 단점이 된다는 것인지 이해가 잘 되지 않습니다.

 

답변 2

0

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

2024. 09. 25. 22:54

안녕하세요!

강의를 재밌게 봐주시고 계셔서 다행이고 저도 보람되네요!

Question:

  • 왜 전미분이 1번만 된다는 게 단점이 된다는 것인지 이해가 잘 되지 않습니다.

Answer:

  • 넵, 47번째 참고 사항 슬라이드에서 설명드리게 되는데,

  • 미분가능함”은 해당 함수가 Smooth (매끄럽다)고 Well-behaved (얌전하다)는 의미를 가집니다.

  • 즉, 함수의 출력값이 입력값의 변화에 따라 “매끄럽고 부드럽게” 변한다는 의미입니다.

  • 매끄럽고 부드러울수록 함수를 extrapolate, interpolate하기 수월해집니다.

  • 딥러닝 모델도 어떻게 보면 함수를 잘 근사하도록 학습하는 것이기 때문에

  • 매끄럽고 부드러운 함수일 수록 학습 과정에서 보지 못한 input data space에 대해서 interpolate 혹은 extrapolate할 수 있게 됩니다!

  • 따라서, 전미분이 1번만 가능한 Huber Loss을 사용하는 것은 "경사하강에 필요한 미분값을 구하는데는 전혀 지장이 없습니다.

  • 하지만 (여러번 미분 가능한) 매끄러운 손실 함수는 딥러닝 모델이 학습하는 Loss Surface가 더 매끄러워지게 되는 셈이고 더 안정적인 학습에 도움을 줍니다!

 

 

스크린샷 2024-09-25 오후 10.53.29.png

Loss Surface에 대한 일러스트레이션으로 위 그림을 참고하시면 되겠습니다!

왼쪽은 덜 매끄러운 Loss surface, 오른쪽은 더 매끄로운 Loss Surface로 보시면 되겠습니다!

0

인프런 AI 인턴님의 프로필 이미지

2024. 09. 24. 02:06

안녕하세요, 인프런 AI 인턴입니다. HELLO님,

좋은 질문 감사합니다! 강의를 재미있게 보고 계신다니 다행입니다.

기본적으로 Huber Loss는 MSE(Mean Squared Error)와 MAE(Mean Absolute Error)의 장점을 결합한 것이며, 두 가지의 단점을 보완하기 위해 사용됩니다. Huber Loss는 작은 오차에 대해서는 MSE와 유사하게 작동하고, 큰 오차에 대해서는 MAE와 유사하게 작동합니다.

Huber Loss가 “전미분이 한 번밖에 되지 않는다”는 것은 수학적인 관점에서 해당 함수가 \(|x|\)에서처럼 분리되는 점이 한 군데 있다는 의미입니다. 이 점에서 미분이 연속적이지 않으며, 이로 인해 최적화 과정에서 gradient가 갑자기 변할 수 있습니다.

그러나 실제로 딥러닝 모델을 훈련할 때, 주로 사용되는 최적화 알고리즘들은 편미분을 사용하여 weight를 업데이트하기 때문에, Huber Loss가 전미분이 한 번 밖에 되지 않는다는 단점이 직접적으로 큰 영향을 미치지는 않습니다.

이론적으로 Huber Loss가 미분이 연속적이지 않은 점이 있다는 것은 특정 상황에서 gradient가 갑자기 변할 수 있어, 최적화가 조금 더 복잡해질 수 있음을 의미합니다. 그러나 이는 실제 모델 학습에서 큰 문제로 작용하지는 않습니다. 따라서 Huber Loss를 사용하여 여러 epoch 동안 모델을 훈련하는 데는 문제가 없습니다.

여기에 관련된 추가 정보를 찾을 수 있는 강의 게시판 링크들을 첨부합니다. 참고해보시면 도움이 될 것입니다:

  1. Section 3 이론 classification Loss function 질문

    • 이 답변에서는 ground truth 확률값을 다루며 각 loss function별 비교를 다룹니다.
  2. Section 7 [Activation Function의 종류] Softmax logit 분포와 Entropy 질문이 있습니다

    • Activation function과 관련된 내용을 다루며, 이해의 폭을 넓히는 데 도움이 됩니다.

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

HELLO님의 프로필 이미지

작성한 질문수

질문하기