
186
1
부
모델 구축
[그림
6
-
13
]의 손실 곡선은 비슷한 결과를 보여 줍니다.
이런 연습을 통해서 모델 구조를 크게 줄여 파라미터 개수를 줄이는 동시에 품질을 개선하고
과대적합을 완화할 수 있습니다. 하지만 몇 가지 할 수 있는 일이 더 있습니다.
에폭
훈련 손실
검증 손실
손실
그림
6-13
밀집 층의 뉴런을
8
개로 줄였을 때 손실 결과
드롭아웃 사용하기
과대적합을 줄이기 위해 널리 사용하는 한 가지 기법은 드롭아웃을 추가하는 것입니다.
3
장 합
성곱 신경망에서 이를 알아보았습니다. 드롭아웃이 과대적합에 효과가 있는지 바로 적용해 보
고 싶었지만 먼저 어휘 사전 크기, 임베딩 크기, 모델 구조를 적용할 때까지 기다렸습니다. 앞
선 변경 사항이 드롭아웃보다 훨씬 영향이 크며 이미 몇 가지 좋은 결과도 확인했습니다.
첫 번째 밀집 층의 뉴런 개수는
8
개이므로 드롭아웃 효과가 크지 않을 수 있지만 한번 적용해
보죠. 다음은 드롭아웃 비율을
0
.
25
(
8
개 뉴런 중
2
개에 해당합니다)로 지정한 드롭아웃 층을
추가한 모델입니다.
class TextClassificationModel(nn.Module):
def __init__(self, vocab_size, embedding_dim, hidden_dim=8,
dropout_rate=0.25):
super(TextClassificationModel ...