소규모 데이터 세트에서 LSTM의 과적 합 방지


13

저는 80 차원의 word2vec와 같은 표현을 사용하여 128 개의 숨겨진 단위를 가진 단일 계층 LSTM을 사용하여 감정 예측에 대한 15000 트윗을 모델링하고 있습니다. 1 에포크 후 하강 정확도 (임의의 = 38 %로 38 %)를 얻습니다. 훈련 정확도가 높아질수록 검증 정확도가 떨어지기 시작합니다.

따라서 정규화 방법을 생각하고 있습니다. 숨겨진 단위 수를 줄이고 싶지 않습니다 (128은 이미 조금 낮습니다). 저는 현재 50 %의 확률로 드롭 아웃을 사용하지만, 아마도 증가 할 수 있습니다. 최적화 프로그램은 Keras에 대한 기본 매개 변수 ( http://keras.io/optimizers/#adam ) 가있는 Adam입니다 .

내 데이터 세트에서이 모델의 과적 합을 줄이는 효과적인 방법은 무엇입니까?


나는 똑같은 문제가 있습니다. 마지막으로 LSTM을 어떻게 정규화 했습니까? 내 LSTM의 검증 정확도는 41 %입니다. 내 입력 모양은 (200)이고 64 단위의 1 LSTM 레이어와 0.4 드롭 아웃의 2 개의 고밀도 레이어가 있습니다.
— Nirvan Anjirbag

답변:


7

시도해 볼 수 있습니다 :

  • 숨겨진 단위의 수를 줄이면 이미 낮은 것으로 보이지만 입력 레이어에 80 개의 기능 만 있다고 가정하면 실제로 128이 너무 클 수 있습니다. 일반적으로 숨겨진 단위 수는 입력 단위 수 (80)와 출력 클래스 수 (5) 사이에 있어야합니다.
  • 또는 입력 표현 공간의 치수를 80 이상으로 늘릴 수 있습니다 (그러나 표현이 주어진 단어에 비해 너무 좁은 경우에는 너무 적합 할 수 있습니다).

네트워크에 맞는 좋은 방법은 너무 많은 네트워크로 시작한 다음 더 이상 적합하지 않을 때까지 용량 (숨겨진 단위 및 내장 공간)을 줄입니다.


1
l1 및 l2 정규화를 시도 했습니까? 실제로 작동합니까? 이 답변은 일반적으로이 작업을 수행하지 말 것을 제안합니다.
— Jakub Bartczuk

나는 RNN의이 속성을 몰랐다. 나는 대답의 그 지점을 지울 것이다
— Miguel

안녕하세요, "입력 단위 수와 출력 클래스 수 사이에 숨겨진 단위 수를 두어야한다"는 경험 법칙이 궁금합니다. 참조 할 수있는 용지가 있습니까?
— Kong

그것이 경험의 법칙에 관한 것입니다. 나는 어디서 그것을 얻었는지 모르겠습니다.
— Miguel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.