2023. 3. 10. 23:33ㆍ딥러닝 이론
오늘 공부한 내용은 Ch.7-6, 7-7입니다:
- Ch. 7-6 loss landscape 실습
Loss landscape는 BN + ReLU를 써도 overfitting이 일어나는 문제라고 배웠습니다. Loss landscape가 일어나는 이유는 설명하긴 어렵지만 그 증상은 loss landscape을 그림으로써 visualize 할 수 있습니다. Loss landscape문제를 해결하기 위해서는 skip-connection이라는 technique을 사용했습니다. 오늘은 실습을 통해 여러 가지 model을 비교해 보면서 알아보겠습니다.
1. Loss landscape 실습 - BNReLU 10 vs. 100 layer model을 비교해 보자!
BN + ReLU를 사용하였음에도 불구하고 overfitting이 일어납니다. 그래서 증상이 어떻게 뜨는지 확인을 해보겠습니다. 일단 10-layer model은 별 문제가 없습니다. 100 epochs를 training 한 결과 Accuracy는 95.2%고 training loss도 건강해 보입니다. 하지만 100-layer model은 전에 BN이나 ReLU를 사용하기 전인 거의 random수준인 performance를 보여줍니다. Accuracy는 11.8% 밖에 안되고 training loss는 거의 변동이 없습니다.
2. Gradient Chart를 보고 vanishing gradient problem vs. loss landscape problem 구별하기!
Gradient chart를 보면 Sigmoid(56+ layer)와 BNReLU (100-layer)는 크게 다른 모임세를 보이고 있습니다. Sigmoid는 gradient들이 왼쪽에서 오른쪽으로 올라가는 트렌드가 있습니다. Vanishing gradient의 증상입니다 (backprop은 뒤쪽에만 update를 많이 하고 앞에는 많이 못함 -> 중간에 vanishing gradients가 간섭함). 하지만 BNReLU의 gradient를 visualize 해보면 전혀 문제가 없고 "healthy norm"이라 부릅니다 (decreasing from left to right, no signs of vanishing gradients).
왼쪽 노트를 참고하시기 바랍니다.
'딥러닝 이론' 카테고리의 다른 글
Day 21: 7-9 Dropout, dropconnection 개념과 실습 (0) | 2023.03.12 |
---|---|
Day 20: Chapter 7-8, Overfitting 개념과 Data augmentation (2) | 2023.03.11 |
Day 18: 7-5 BN 실습 & 7-6 Loss landscapes problem (0) | 2023.03.09 |
Day 17: Chapter 7-4 Batch normalization (0) | 2023.03.08 |
Day 16: Chapter 7-3 Vanishing gradients 실습 (0) | 2023.03.07 |