데이터와 같은 사위 파를 만들려면 파이썬의 수학 라이브러리에서 사위 함수를 사용합니다: 텍스트는 시퀀스 데이터의 또 다른 좋은 예입니다. 주어진 텍스트 다음에 어떤 단어나 구가 오는지 예측할 수 있다는 것은 매우 유용한 자산이 될 수 있습니다. 우리는 우리의 모델이 셰익스피어 소네트를 작성하기를 원합니다! forward_state 메서드는 for 루프에 update_state 메서드를 적용하여 증가된 시간 걸이에 대한 상태를 계산합니다. 피드포워드 그물에 대한 이전 자습서에서 설명한 것처럼 여러 시퀀스의 순방향 단계는 벡터화를 사용하여 병렬로 계산할 수 있습니다. 네트워크는 시퀀스를 볼 수 없이 시작되므로 초기 상태를 제공해야 합니다. 이 예제에서는 이 초기 상태가 $0$로 설정됩니다(다른 매개 변수로 처리). 좋은 기사! 예측을 위해 둘 이상의 타임계열을 사용하는 경우 코드를 어떻게 수정해야 합니까? 예를 들어 아래에서 설명할 예제 코드에서는 텍스트 예측을 수행할 예정입니다. Word2Vec 알고리즘의 이전 자습서에서 설명한 것처럼 단어는 의미 있는 단어 벡터를 사용하여 신경망에 입력됩니다. 이 벡터는 단어의 의미의 일부 측면을 캡처하는 방식으로 인코딩됩니다 (의미는 일반적으로 단어가 일반적으로 발견되는 컨텍스트로 해석됩니다). 따라서 아래의 LSTM 네트워크에 입력된 각 단어는 650 길이 벡터가 됩니다. 다음으로, 언롤링된 LSTM 네트워크에 단어 시퀀스를 입력하기 때문에 각 입력 행에 대해 이러한 단어 벡터 중 35개에 대해 입력합니다.

따라서 각 행의 입력은 크기(35 x 650)가 됩니다. 마지막으로 TensorFlow를 사용하면 다차원 텐서를 통해 데이터 일괄 처리를 처리할 수 있습니다(기본 TensorFlow에 대해 자세히 알아보려면 이 TensorFlow 자습서를 참조하십시오). 일괄 처리 크기가 20인 경우 학습 입력 데이터(20 x 35 x 650)가 됩니다. 나중에 참조하기 위해 텐서 크기를 제시 한 방법 (예 : (20 x 35 x 650))을 배치 크기가 텐서의 첫 번째 차원인 «배치 메이저»배열이라고합니다. 우리는 또한 «시간 주요»형식으로 데이터를 정렬 할 수 있습니다, 이는 될 것 (35 x 20 x 650) – 동일한 데이터, 그냥 다른 배열. Keras는 놀라운 라이브러리입니다 : 그것은 우리가 이해할 수있는 파이썬 코드의 몇 줄에 최첨단 모델을 구축 할 수 있습니다.