이 예제에서 사용되는 입력 데이터 $X$는 각각 10개의 시퀀스로 구성된 20개의 이진 시퀀스로 구성됩니다. 각 입력 시퀀스는 $0$ 또는 $1$로 반올림되는 균일한 임의 분포에서 생성됩니다. 마지막으로 출력의 손실 $xi$ (손실)은 입력 데이터의 모든 시퀀스에 대한 평균 제곱 오차 함수 (MSE)를 통해이 예제에서 계산됩니다. 이 네트워크를 구성하는 방법에는 여러 가지가 있으며 전자 필기장에는 여러 가지 방법이 있습니다. 예를 들어 서로 겹쳐진 두 개의 LSTM 레이어, 양방향에서 시퀀스를 처리하는 양방향 LSTM 레이어 또는 더 많은 밀도 레이어를 사용할 수 있습니다. 나는 잘 작동 하기 위해 위의 설정을 발견. 구현하는 것은 그리 어렵지 않지만 함수 sequence_loss_by_example를 이미 사용할 수 있으므로 여기에서 사용할 수 있습니다. 이 코드 예제에서는 멋진 캡슐화와 더 나은 코드를 갖기 위해 Python 클래스에서 모델을 빌드하겠습니다. 첫 번째 클래스는 입력 데이터를 포함하는 간단한 클래스입니다. 재발신경망은 매우 유연합니다. 위에 표시된 구현에서, 우리는 많은 – 투 – 다수 모델을 가지고 – 다른 말로, 우리는 입력 시퀀스가 “여자는 술집에 걸어 …” 그리고 많은 출력 – $h_0$ $h_t$. 우리는 또한 여러 개의 다른 구성을 가질 수 있습니다. 또 다른 옵션은 일대다, 즉 하나의 입력을 제공, 말 “소녀”와 $h_t $에 여러 출력 $h을 예측 (즉, 하나의 시작 단어를 기반으로 문장을 생성하려고).

또 다른 구성은 많은 일대일 즉, 문장처럼 입력으로 많은 단어를 제공 “여자가 술집에 걸어, 그녀는 `나는 제발 음료를 가질 수 있습니까?`라고 말했다. 바텐더는 `확실히 {}”라고 말하고 다음 단어 즉 {}를 예측합니다. 아래 다이어그램은 각각 일대일 및 다대일 구성의 예를 보여 주며(출력 옆에 있는 단어는 교육 중에 제공하는 대상 단어입니다). 모델의 핵심은 한 번에 한 단어를 처리하고 문장의 다음 단어에 대한 가능한 값의 확률을 계산하는 LSTM 셀로 구성됩니다. 네트워크의 메모리 상태는 0의 벡터로 초기화되고 각 단어를 읽은 후 업데이트됩니다. 계산상의 이유로, 우리는 크기 batch_size의 미니 일괄 처리로 데이터를 처리합니다. 이 예제에서는 current_batch_of_words가 단어의 “문장”과 일치하지 않는다는 점에 유의해야 합니다. 일괄 처리의 모든 단어는 시간 t. TensorFlow 자동으로 당신을 위해 각 일괄 처리의 그라데이션을 합계 합니다. 42호선: 우리는 RNN이 텍스트 분석, 이미지 캡션, 감정 분석 및 기계 번역에 널리 사용되는 100,000개 이상의 교육 예제를 반복하고 있습니다.

예를 들어, 영화 리뷰를 사용하여 영화를 본 후 관중이 느끼는 느낌을 이해할 수 있습니다. 이 작업을 자동화하는 것은 영화 회사가 리뷰를 검토, 레이블 지정, 통합 및 분석할 시간이 충분하지 않은 경우에 매우 유용합니다.