tensorflow seq2seq 예제

이 그래프는 인코더와 디코더 간의 연결을 최적화 프로그램과 같은 다른 관련 구성 요소와 보여 주며, 이 그래프는 다음은 TensorFlow seq2seq 모델 정의의 공식 개요입니다: UPDATE: 이 자습서는 tf 버전에서 작동 하지 않습니다 . 1.1, API. 나는 높은 수준의 seq2seq API를 배우는 대신 새로운 공식 자습서를 확인하는 것이 좋습니다. 모델 정의를 완료하는 데 더 많은 작업이 필요합니다. See의 용지의 코드는 GitHub에 있으며, 이보다 간결한 예제입니다. 이 프로젝트에서는 TensorFlow에서 seq2seq 모델 또는 인코더 디코더 모델이라는 언어 번역 모델을 빌드할 예정입니다. 모델의 목적은 영어 문장을 프랑스어 문장으로 번역하는 것입니다. 자세한 단계를 보여 드리고 인코더 모델을 정의하는 방법, 디코더 모델을 정의하는 방법, 전체 seq2seq 모델을 빌드하는 방법, 손실 및 클립 그라데이션을 계산하는 방법과 같은 질문에 대답 할 것입니다. 여기에서 는 질문 응답 시스템을 구축합니다.

프로젝트의 경우 다음 스크린샷과 같이 질문과 대답 쌍이 있는 데이터 집합이 필요합니다. 두 열 모두 seq2seq 모델에 공급해야 하는 단어 시퀀스를 포함합니다. 또한, 문장은 동적 길이가 될 수 있습니다 참고 : 텐서 플로우를 새로운 경우, 주요 가이드를 확인하십시오. 이 게시물의 나머지 부분에서는 코드 예제를 사용하지만 고급 개념과 인사이트는 사전 지식 없이도 이해할 수 있습니다. 그림 3에 설명된 바와 같이 인코딩 모델은 두 부분으로 구성됩니다. 첫 번째 부분은 포함 레이어입니다. 문장의 각 단어는 encoding_embedding_size로 지정된 기능의 수로 표시됩니다. 이 레이어는 유용한 설명이라는 단어에 대해 훨씬 더 풍부한 대표력을 제공합니다.

두 번째 부분은 RNN 레이어입니다. 모든 종류의 RNN 관련 기술이나 알고리즘을 사용할 수 있습니다. 예를 들어 이 프로젝트에서는 드롭아웃 기술이 적용된 후 여러 LSTM 셀이 함께 누적됩니다. GRU와 같은 다른 종류의 RNN 세포를 사용할 수 있습니다. 다음 다이어그램은 seq2seq 모델을 시각화하는 데 도움이 됩니다. 따라서 행이 개별 예제를 나타내고 열이 시간 단계를 나타내는 토큰 아이디의 2D 텐서로 자리 표시자를 정의합니다. 이 문서에서는 간단한 시퀀스 간 질문-답변 작업에 대 한 seq2seq 모델(인코더-디코더 RNN)을 구현합니다. 이 모델은 입력 시퀀스(질문)를 출력 시퀀스(답변)에 매핑하도록 학습할 수 있으며, 이는 반드시 서로 같은 길이가 아닐 수 있습니다.

나는 또한 최근 루카스 카리저에 의해 오픈 소스 Tensor2Tensor 프로젝트를 언급하고 싶다: https://github.com/tensorflow/tensor2tensor. 그것은 전투 테스트 및 튜닝 모델 [Seq2Seq 및 변압기 포함]뿐만 아니라 기계 번역 및 기타 데이터 세트에 대한 입력 리더의 큰 라이브러리가 포함되어 있습니다.