tensorflow seq2seq 예제
학습 하는 동안 모델 stochastic 그라데이션 하강을 사용 하 여 매개 변수 업데이트를 만들 수 있도록 한 번에 예제의 일괄 처리에 피드 하려고 합니다. 따라서 행이 개별 예제를 나타내고 열이 시간 단계를 나타내는 토큰 아이디의 2D 텐서로 자리 표시자를 정의합니다. 오늘은 모든 최신 텐서 플로우 API [TF 1.3]를 사용하여 시퀀스 투 시퀀스 모델의 예를 보여주고 싶습니다. 이 섹션에서는 TensorFlow seq2seq 모델 정의에 대해 간략하게 설명합니다. 정수 표현에서 입력의 벡터 표현으로 이동하는 포함 레이어를 사용합니다. 이 seq2seq 모델에는 포함 계층, 인코더, 디코더 및 비용/최적화러의 네 가지 주요 구성 요소가 있습니다. 그림 3에 설명된 바와 같이 인코딩 모델은 두 부분으로 구성됩니다. 첫 번째 부분은 포함 레이어입니다. 문장의 각 단어는 encoding_embedding_size로 지정된 기능의 수로 표시됩니다. 이 레이어는 유용한 설명이라는 단어에 대해 훨씬 더 풍부한 대표력을 제공합니다. 두 번째 부분은 RNN 레이어입니다. 모든 종류의 RNN 관련 기술이나 알고리즘을 사용할 수 있습니다.
예를 들어 이 프로젝트에서는 드롭아웃 기술이 적용된 후 여러 LSTM 셀이 함께 누적됩니다. GRU와 같은 다른 종류의 RNN 세포를 사용할 수 있습니다. 샘플 데이터 생성기가 있는 최신 버전의 코드는 여기에서 찾을 수 있습니다 https://github.com/ilblackdragon/tf_examples/tree/master/seq2seq. 이 게시물의 나머지 부분에서는 코드 예제를 사용하지만 고급 개념과 인사이트는 사전 지식 없이도 이해할 수 있습니다. seq2seq_model 함수가 모델을 만듭니다. 피드포워드 및 역전파가 흐르는 방법을 정의합니다. 이 모델을 학습할 수 있는 마지막 단계는 사용할 최적화 알고리즘을 결정하고 적용하는 것입니다. 이 섹션에서는 TF contrib.seq2seq.sequence_loss가 손실을 계산한 다음 TF 열차에 사용됩니다. AdamOptimizer는 손실에 대한 그라데이션 하강을 계산하기 위해 적용됩니다. 아래 코드 셀에서 먹는 단계를 통해 가자.
ematvey/tensorflow-seq2seq-자습서에서 새로운 릴리스에 대한 알림을 원하십니까? 다음 다이어그램은 seq2seq 모델을 시각화하는 데 도움이 됩니다: 2014년 Sutskever에 설명된 간단한 seq2seq 모델을 구현하고 장난감 암기 작업에 대해 테스트합니다. 따라서 데이터 준비, 모델 구축, 교육, 튜닝 및 seq2seq 모델을 평가하고 어떻게 수행되는지 알아보십시오. 모델 파일은 https://github.com/PacktPublishing/Python-Deep-Learning-Projects/blob/master/Chapter05/3.%20rnn_lstm_seq2seq.py 찾을 수 있습니다. 그녀의 논문에서 메모를 참조로, 우리는 짧은 입력 및 레이블에 대한 교육을 시작할 수 있습니다. 알고리즘은 궁극적으로 각 문서의 처음 400개의 토큰과 교육을 위해 각 요약의 처음 100개의 토큰을 사용하지만 초기 학습 단계는 이러한 모든 정보를 활용할 필요는 없습니다. 작은 예제(예: 150개의 토큰 아티클 및 75개의 토큰 요약)로 시작하여 시간이 덜 걸리는 반복을 실행하여 전체적으로 더 빠른 수렴을 이끌어 낼 수 있습니다. 이 그래프는 인코더와 디코더 간의 연결을 최적화 프로그램과 같은 다른 관련 구성 요소와 보여 주며, 이 그래프는