inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

Section 3의 [이론] Regression task의 Loss: L1, L2, Huber, Log Cosh Loss "미분가능"관련 에서 질문이 있습니다.

해결된 질문

280

ehdnjs

작성한 질문수 5

1

안녕하세요 선생님!

Section 3의 [이론] Regression task의 Loss: L1, L2, Huber, Log Cosh Loss 에서 질문이 있습니다.

"미분 가능"에 대해서 궁금한 점이 있는데,
MAE loss처럼 0에서 미분이 불가능 한 경우에는 gradient를 계산할 수 없는데 어떻게 해당 loss를 사용할 수 있는 것인가요?

또 Huber loss는 한 번만 전 구간 한번만 미분가능하고,
Log Cosh loss는 전 구간 2번 이상 미분가능하다고 말씀해주셨는데
한 번만 미분 가능한 것보다 2번 이상 미분가능한 것의 장점이 무엇인가요?

확인해주셔서 감사합니다!

딥러닝 pytorch NLP 컴퓨터-비전 cnn rnn transformer llm

답변 1

1

변정현

안녕하세요!

변정현입니다. 좋은 질문 감사합니다!

  1. MAE loss처럼 0에서 미분이 불가능 한 경우에는 gradient를 계산할 수 없는데 어떻게 해당 loss를 사용할 수 있는 것인가요?

    1. PyTorch에서 MAE Loss에 대해서는 Loss 값이 0일 때 경사는 0으로 근사합니다!

    2. 따라서 엄밀히 말하면 Loss 값이 0일때는 미분값이 정의되지 않지만 PyTorch에서는 미분값으로 0이 출력되도록 구현되어 있습니다!

      스크린샷 2024-08-04 오후 5.35.14.png

       

  2. 한 번만 미분 가능한 것보다 2번 이상 미분가능한 것의 장점이 무엇인가요?

    1. 넵, 슬라이드 47에서 부연 설명드리는데,

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

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

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

    5. 딥러닝 모델도 어떻게 보면 함수를 잘 근사하도록 학습하는 것이기 때문에 매끄럽고 부드러운 함수일 수록

      학습 과정에서 보지 못한 input data space에 대해서 interpolate 혹은 extrapolate할 수 있게 됩니다.

       

1

ehdnjs

감사합니다!

2차 미분 가능한 함수들이 1차 미분 가능한 함수들보다 일반적으로 기울기의 변화가 더 매끄럽다고 볼 수 있겠군요!

친절한 답변 감사드립니다.

노션URL 이동문제

0

56

1

섹션12 실습코드 의 initialization 각각 적용 코드 문의

0

97

0

오타

0

82

0

혹시 이론강의 자료도 공유가 가능하실까요?

1

166

1

[sec. 2-8 실습] 배치사이즈의 선택

0

171

2

[section 14 / [실습] 직접 만든 CNN 모델과 ResNet, VGGNet을 활용한 CV 프로젝트] transforms.Normalize 질문

1

226

1

[section 14 / VGGNet ] receptive filed 질문

1

131

2

[섹션3, PyTorch로 구현해보는 Loss Function] 분류task loss함수 질문입니다.

1

232

2

KL Div Loss에서 Negative Entropy를 더해주는 의미에 대해서

1

193

2

GoogleNet Inception 모듈

1

166

2

Batch Normalization 효과

1

183

2

Layer Norm이 언어모델에 적합한 이유

1

520

1

9-2 fully connected NN

1

129

1

Mini-batch Gradient Descent computation time 질문

1

175

2

Huber Loss에 대한 질문

1

303

2

Batch size 가 극단적으로 작은 경우 (예를들어 batch_size =1) Normalization 적용 방안

3

351

1

Normalization 질문

1

270

2

Section 7 [Activation Function의 종류] Softmax logit 분포와 Entropy 질문이 있습니다

2

210

1

Section 3 [실습] PyTorch로 구현해보는 Loss Function의 Cross Entropy 구현 관련하여 질문이 있습니다.

1

299

1

Section 15 실습 중, lstm 클래스의 forward 함수 질문

1

236

2

Section 16 [이론] Transformer의 Encoder 질문

1

177

1

Auto Differentiation에서 computational Graph 질문있습니다

1

212

1

Section 3 이론 classification Loss function 질문

1

235

1

section4의 entropy 시그마 식 전개에 대한 질문입니다.

1

265

2