소규모 데이터 세트에서 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.