드롭 아웃(DropOut) 사용법

OpenJR·2022년 4월 28일
0
post-custom-banner

드롭 아웃은 일정비율로 연결된 퍼셉트론의 연결을 끊어 학습을 시키는 방법이다.
연결이 끊어지면, 하나의 퍼셉트론에 모델의 성능이 너무 의존되지 않도록 정규화 하는 효과가 있으며, 에포크 또는 이터레이션 마다 연결이 붙어있는 퍼셉트론끼리만 학습이 되므로, 일종의 앙상블 효과가 비슷하다.

드롭아웃의 장점으론, 오버피팅을 방지하며 eval의 acc와 test의 acc의 차이가 줄어들게 된다.

주로 fully-connected layer에서 사용되고 Conv layer에서 사용하지 않으며, 일반적으로 입력층에 가까울 수록 낮은 드롭아웃 p를 설정해준다.

self.dropout = nn.Dropout(p=0.5)
...
def forward(x):
	...
	x = self.dropout(x)
	...
profile
Jacob

0개의 댓글