◼︎ 드롭아웃, 플래튼
노드가 많아지거나 층이 많아진다고 해서 학습이 무조건 좋아지는 것이 아니라는 점을 과적합 의미를 공부하며 배웠습니다. 딥러닝에서 학습을 진행할 때 가장 중요한 것은 과적합을 얼마나 효과적으로 피해 가는지에 달려 있다고 해도 과언이 아닙니다. 따라서 그동안 이러한 과정을 도와주는 기법이 연구되어 왔습니다. 그중 간단하지만 효과가 큰 기법이 바로 드롭아웃(drop out) 기법입니다. 드롭아웃은 은닉층에 배치된 노드 중 일부를 임의로 꺼 주는 것입니다.
그림 16-8 | 드롭아웃의 개요, 검은색으로 표시된 노드는 계산하지 않는다
이렇게 랜덤하게 노드를 꺼 주면 학습 데이터에 지나치게 치우쳐서 학습되는 과적합을 방지할 수 있습니다. 케라스는 이러한 드롭아웃을 손쉽게 적용하도록 도와줍니다. 예를 들어 25%의 노드를 끄려면 다음과 같이 코드를 작성하면 됩니다.
model.add(Dropout(0.25))