학습을 방해하는 것이 목적!
-> 학습데이터뿐 아니라 테스트데이터에도 잘 동작할 수 있도록 해주기 위한 일종의 도구
종류
early stopping
- iteration이 증가할 수록 training error가 감소하지만, 특정 iteration이 넘어가면 validation error가 증가한다! 그래서 loss가 증가하기 전에 학습을 중지!
parameter norm penalty
- 파라미터가 너무 커지지 않도록 방지.
nerual network가 만들어내는 함수의 공간속에서 함수를 최대한 부드럽게 하는 것!
+ 부드러운 함수일 수록 일반화 성능이 높을 것이라는 가정
data augmentation
- 데이터는 많으면 많을수록 좋기 때문에 데이터 양을 증가시키기 위해 사용
(중구난방으로 사용할 순 없고 상황에 따라 사용해야한다.
ex. mnist 같은 경우 label 9를 뒤집으면 6이 될수도 있기 때문에 주의해서 사용!)
어떤 식으로든 주어진 데이터를 지지고 볶아서 다양한 데이터를 만들어내는 것!
noise robustness
- 입력 데이터에 noise를 막 집어넣는다 + 가중치에도 집어넣음
-> 학습시킬 때 network가 weight를 막 흔들어주면(noise를 넣으면) 성능이 잘 나온다는 결과가 있다.
label smoothing
- augmentation과 비슷한데, 데이터 2개를 뽑아서 그것들을 섞어준다!
무슨 효과?? decision boundary를 부드럽게 해주는 효과가 있다고 한다.
blending이 아니라, 특정 영역을 나눠서 합치는 것이다.
성능이 꽤 많이 향상된다고 한다! (분류 문제에서 데이터셋이 한정적일 때 유용)
dropout
- nerual network의 weight를 0으로 바꾸는 것
유명한 방법이고, 이 역시 성능이 많이 향상된다고 한다
batch normalization
- 간단한 분류문제에 대해서 layer가 깊게 쌓아질 수록 성능이 좋아진다고 한다.
'AI' 카테고리의 다른 글
딥러닝 기초 - RNN 간단 정리 (0) | 2022.09.28 |
---|---|
딥러닝 기초 - CNN 간단 정리 (1) | 2022.09.28 |
Gradient Descent Methods (0) | 2022.09.28 |
딥러닝 최적화 용어 간단 정리 (0) | 2022.09.28 |
Neural Networks and Multi-Layer Perceptron 개념 간단 정리 (0) | 2022.09.28 |