LSTM 모델의 매개 변수 수


43

단일 스택 LSTM에는 몇 개의 매개 변수가 있습니까? 파라미터 수는 필요한 훈련 예의 수에 하한을 부과 하고 훈련 시간에도 영향을 미칩니다. 따라서 매개 변수의 수를 아는 것은 LSTM을 사용한 모델 훈련에 유용합니다.

답변:


29

LSTM에는 2 개의 매트릭스 세트가 있습니다 : 각 (3) 게이트에 대한 U 및 W. 다이어그램의 (.)는 이러한 행렬과 입력 x 및 출력 h 의 곱셈을 나타냅니다 .

  • U의 치수는 n×m
  • W의 치수는 n×n
  • (같은 세 게이트들 각각에 대한 이러한 행렬들의 서로 다른 세트가 Uforget 위한 잊지 게이트 등)
  • 셀 상태 S를 업데이트하기위한 이러한 행렬의 또 다른 세트가 있습니다.
  • 언급 된 행렬 위에서 바이어스를 계산해야합니다 (그림이 아님).

따라서 총 # 매개 변수 = 4(nm+n2+n)

LSTM 추상 블록


2
하드웨어 요구 사항을 추정하고 딥 러닝 프로젝트를위한 프로젝트 계획에 대한 실질적인 결정을 내릴 때이 질문에 직접 직면했습니다. 추신 : 나는 명성 점수를 얻기 위해 내 자신의 질문에 대답하지 않았습니다. 내 답변이 커뮤니티에서 올바른지 알고 싶습니다 .
wabbit

1
바이어스 단위를 무시했습니다. 아래의 Adam Oudad의 답변을 참조하십시오.
arun

1
Biases는 없습니다. 답변을 편집했습니다.
Escachator

21

mn

4(nm+n2)

그러나 LSTM에 바이어스 벡터가 포함 된 경우 ( : keras의 기본값 임 ) 숫자는 다음과 같습니다.

4(nm+n2+n)

2
이것이 유일한 완전한 답변입니다. 다른 모든 대답은 편향 뉴런의 경우를 무시하는 것으로 보입니다.
Reinstate Monica

1
사용자의 입력이 m = 25 개 사이즈가 있고, N = 100 개 단위, 4 * (100 * 25 + 100 ** 2 + 100) 50400. = PARAMS의 다음 번호가 포함 된 LSTM 층을 사용하는 경우, 구체적인 예를 수득
아룬

1
타임 스텝 데이터를 사용한다고 가정하면 이해가 정확합니까? n = 100 : 각 샘플 (예)에 100 개의 타임 스텝이 있으므로 100 단위가 필요합니다. m = 25는 각 단계마다 평균, 체중, 신장, 연령 등 25 가지 기능이 있습니다.
제이슨 장

2
@jasonzhang 동일한 LSTM 셀이 입력 벡터 (각 타임 스텝마다 하나의 벡터)에 재귀 적으로 적용되므로 타임 스텝 수는 관련이 없습니다. "단위"라고 불리는 것은 또한 시간 단계의 수가 아니라 각 출력 벡터의 크기입니다.
Adam Oudad

12

에 따르면 :

LSTM 세포 구조

LSTM 세포 구조

LSTM 방정식

LSTM 방정식

비선형 성 유도

비선형 성 유도

입력하면 x_t는 크기 N × 1로하고, 거기에 D 의 메모리 셀의 각각의 다음의 크기 W *가U *D × ND × D RESP. 크기 W가 다음 것이다 (N + D) × 4D . dd 메모리 셀 각각은 자체 가중치 W *U * 를 가지며 다른 LSTM 장치와 메모리 셀 값을 공유 할 수있는 유일한 시간은 U ** 인 제품 동안 입니다.

훌륭한 프리젠 테이션을위한 Arun Mallya에게 감사합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.