반복 신경망의 구조 (LSTM, GRU)


답변:


8

실제로 A는 풀 레이어입니다. 레이어의 출력은h, 실제로는 maxmax 레이어에 연결될 수있는 뉴런 출력입니다 (시간 단계에 대한 분류를 원할 경우). 예를 들어) 또는 다른 LSTM 레이어와 같은 다른 것으로 더 깊이 가고 싶다면. 이 레이어의 입력은 일반적인 피드 포워드 네트워크와 구별되는 것입니다.엑스 이전 시간 단계에서 네트워크의 전체 상태 (둘 다 h1 LSTM 셀의 다른 변수).

참고 h벡터입니다. 따라서 1 개의 숨겨진 레이어가있는 일반 피드 포워드 네트워크와 유사하게하려면 A는 숨겨진 레이어에서 이러한 뉴런을 모두 대체하는 것으로 생각할 수 있습니다 (반복적 인 부분의 추가 복잡성).


하다 h, 엑스모두 같은 길이입니까?
user_1177868

6

이미지에서 A는 하나의 숨겨진 뉴런이있는 단일 숨겨진 레이어입니다. 왼쪽에서 오른쪽으로 시간 축이 있고 맨 아래에서 매번 입력을받습니다. 맨 위에는 계층을 추가하여 네트워크를 추가로 확장 할 수 있습니다.

그림에서 시각적으로 보여지는 것처럼 (시간축이 펼쳐진 상태에서)이 네트워크를 제 시간에 펼치면 각각 T를 포함하는 T (총 시간 단계) 숨겨진 레이어가있는 피드 포워드 네트워크를 얻게됩니다. 중간 A 블록에 그려진 단일 노드 (뉴런).

이것이 귀하의 질문에 대답하기를 바랍니다.


3

seq2seq 모델의 디코더에서주의 메커니즘 인 비교적 복잡한 컨텍스트에서 간단한 다이어그램을 설명하고 싶습니다.

흐름도에서, h0h케이1시간 단계 (공백의 경우 PAD가있는 입력 번호와 동일한 길이)입니다. 단어를 i 번째 (시간 단계) LSTM 신경 (또는 이미지의 3 개 중 어느 것과 동일한 커널 셀)에 넣을 때마다 이전 상태 ((i-1) 번째 출력)에 따라 i 번째 출력을 계산합니다. i 번째 입력엑스나는. 나는 이것을 사용하여 당신의 문제를 설명합니다. 시간 단계의 모든 상태는 마지막 것만 얻기 위해 버려지기보다는주의 메커니즘에 저장되기 때문입니다. 그것은 단지 하나의 신경이며 층으로 간주됩니다 (예를 들어, 일부 seq2seq 모델에서 양방향 레이어 인코더를 형성하기 위해 여러 레이어가 쌓여서 더 많은 추상 정보를 하 이거 레이어에서 추출 할 수 있습니다).

그런 다음 문장을 (L 단어와 각각 모양의 벡터로 표시 : embedding_dimention * 1) L 텐서 (각각 모양 : num_hidden / num_units * 1) 의 목록으로 인코딩 합니다. 그리고 디코더를 지나간 상태는 목록에서 각 항목의 동일한 모양이 포함 된 문장의 마지막 벡터 일뿐입니다.

여기에 이미지 설명을 입력하십시오
사진 출처 : 주의 메커니즘

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