6. Dropout Regularization

2023. 9. 10. 16:52Google ML Bootcamp/2. Improving Deep Neural Networks

Dropout

- L2 norm 정규화랑 비슷한 개념으로 그냥 unit을 비활성화 시키는 정규화 기법

 

d3.shape : a3.shape과 같은 랜덤 숫자 배정. 

- 이때 keep_prob과 비교 연산을 수행한다면 결과값은 0또는1로 매핑된다.

a3와 element-wise 연산을 통해 일부 unit을 0으로 만들어 dropout을 수행한다.

이후 a3를 다시 keep_prob으로 나누어 Inverted dropout를 수행한다.

- 이는 기존 a3에서 일부가 0으로 바뀌게 되면서 기댓값이 줄어들었으므로, propagation 시 전달되는 기댓값은 유지하기 위해 수행한다.

 

 

Making predictions at test time

- test 시에는 당연하게도 dropout을 사용하지 않고 모든 unit을 사용해야한다.

- dropout을 진행 시 결과가 계속 바뀌기 때문.

- 이는 예측 성능에 noise를 더할 뿐이다.