해결된 질문
작성
·
97
답변 2
0
안녕하세요!
강의를 재밌게 봐주시고 계셔서 다행이고 저도 보람되네요!
Question:
왜 전미분이 1번만 된다는 게 단점이 된다는 것인지 이해가 잘 되지 않습니다.
Answer:
넵, 47번째 참고 사항 슬라이드에서 설명드리게 되는데,
미분가능함”은 해당 함수가 Smooth (매끄럽다)고 Well-behaved (얌전하다)는 의미를 가집니다.
즉, 함수의 출력값이 입력값의 변화에 따라 “매끄럽고 부드럽게” 변한다는 의미입니다.
매끄럽고 부드러울수록 함수를 extrapolate, interpolate하기 수월해집니다.
딥러닝 모델도 어떻게 보면 함수를 잘 근사하도록 학습하는 것이기 때문에
매끄럽고 부드러운 함수일 수록 학습 과정에서 보지 못한 input data space에 대해서 interpolate 혹은 extrapolate할 수 있게 됩니다!
따라서, 전미분이 1번만 가능한 Huber Loss을 사용하는 것은 "경사하강에 필요한 미분값을 구하는데는 전혀 지장이 없습니다.
하지만 (여러번 미분 가능한) 매끄러운 손실 함수는 딥러닝 모델이 학습하는 Loss Surface가 더 매끄러워지게 되는 셈이고 더 안정적인 학습에 도움을 줍니다!
Loss Surface에 대한 일러스트레이션으로 위 그림을 참고하시면 되겠습니다!
왼쪽은 덜 매끄러운 Loss surface, 오른쪽은 더 매끄로운 Loss Surface로 보시면 되겠습니다!
0
안녕하세요, 인프런 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 동안 모델을 훈련하는 데는 문제가 없습니다.
여기에 관련된 추가 정보를 찾을 수 있는 강의 게시판 링크들을 첨부합니다. 참고해보시면 도움이 될 것입니다:
Section 3 이론 classification Loss function 질문
Section 7 [Activation Function의 종류] Softmax logit 분포와 Entropy 질문이 있습니다
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.