[12- 13강] Avoiding overfitting

이찬·2023년 9월 19일

1. Drop Out

  • 인공신경망 layer에서 perceptron을 떨궈냄
  • 1행 100열 => 이미지의 픽셀값 10 x 10
  • hidden layer들은 이미지의 작은 특성들을 잡아냄
  • 한 장의 이미지를 여러 버전으로 바꾸어서 학습하게 되는 것과 동일한 효과
  • Model ensemble
  • 보통 마지막 1,2개 hidden layer에 적용

2. Batch Normalization

  • 도입 배경 : 어떤 단계이든지, standardization을 적용해줄 수 있는 곳에 해준다면 더 좋지 않을까?
  • feature scaling
  1. min - max
  2. standardization

  • 100 x 4 행렬에 대하여도 standardization을 적용!
  • 보통은 활성화 함수 적용 전 Batch Normalization을 먼저 적용
  • 마지막 계산 (+ beta )의 의미 : 표준화하고, 활성화 함수(sigmoid)를 사용 => -1에서 +1 x값 사이의 y값으로 다 바뀜 : y = ax+b
  • 비선형 함수로 바꿔주려고 sigmoid를 사용했는데, 그 의미가 없어짐
  • 선형 결합 => standardization => sigmoid (활성화 함수) => lambda를 곱해주고, beta를 더해줌
    lambda : x 값의 범위가 넓어짐 / Beta : 구간이 x축 평행 이동함 => 2개의 값을 사용자가 임의로 정한다면, standardization의 의미가 사라지겠지만, 컴퓨터가 에러를 줄여주는 방향으로 진행시키기에 괜찮음

- 오차 역전파, non - linearity

  • Drop out 과 batch normalization은 주로 같이 씀
  • 자비에, 흐에 초기화의 중요성을 낮춰줌
  • 학습속도의 향상이 주목적으로, 오버피팅을 줄이는 것이 주목표는 아님!

profile
Kyunghee univ. IE 21

0개의 댓글