lstm tensorflow 예제

TensorFlow LSTM이 여러 데이터 스트림을 한 번에 처리할 수 있는지 알고 계십니까? 예제에서 작업하면 20x4x35x650 입력의 경우 한 번에 4개의 35×650 입력이 있는 것과 같습니다. 나는 4x35x650을 140 × 650으로 변환 할 수 있다는 것을 알고 있지만 4 개의 입력을 한 번에 고려할 수있는 더 우아한 방법이 있는지 궁금했습니다. 기술적으로 LSTM 입력은 실제 숫자만 이해할 수 있습니다. 기호를 숫자로 변환하는 방법은 발생 빈도에 따라 각 기호에 고유한 정수를 할당하는 것입니다. 예를 들어 위의 텍스트에는 112개의 고유한 기호가 있습니다. 목록 2의 함수는 다음과 같은 항목이 있는 사전을 작성합니다 [","0] [ "the": 1], [“위원회”, “["위원회": 37],…, [ "스포크": 111]. 역방향 사전은 LSTM의 출력을 디코딩하는 데 사용되기 때문에 생성됩니다. 레이어 및 크기 수를 동적으로 처리하도록 LSTM 레이어를 빌드하는 함수를 설정합니다. 이 함수는 LSTM 크기 목록을 사용하며, 이는 목록의 길이에 따라 LSTM 레이어 수를 나타냅니다(예: 이 예제에서는 첫 번째 레이어가 숨겨져 있는 2계층 LSTM 네트워크를 나타내는 크기 128 및 64를 포함하는 길이 2 목록을 사용합니다. 레이어 크기(128)와 두 번째 레이어에는 숨겨진 레이어 크기(64)가 있습니다. 여기서 변경 사항은 epoch_x에서 변경되므로 더 이상 784 값의 입력이 아니라 chunk_size의 청크로 구성됩니다.

우리가 해야 할 또 다른 변화는 우리가 calcualte 정확도 때, 어디 여기 각 예제 는 다시, chunk_size에 의해 n_chunks 로, 첫 번째 차원은 단지 -1, batch_size, 때문에 우리는 단지 단일 이미지의 정확도 확인 하 고 있기 때문에 이미지의 전체 배치를 교육하는 대신. RNN널리 텍스트 분석, 이미지 캡션, 감정 분석 및 기계 번역에 사용됩니다. 예를 들어, 영화 리뷰를 사용하여 영화를 본 후 관중이 느끼는 느낌을 이해할 수 있습니다. 이 작업을 자동화하는 것은 영화 회사가 리뷰를 검토, 레이블 지정, 통합 및 분석할 시간이 충분하지 않은 경우에 매우 유용합니다. 기계는 더 높은 수준의 정확도로 작업을 수행 할 수 있습니다. 모델의 핵심은 한 번에 한 단어를 처리하고 문장의 다음 단어에 대한 가능한 값의 확률을 계산하는 LSTM 셀로 구성됩니다. 네트워크의 메모리 상태는 0의 벡터로 초기화되고 각 단어를 읽은 후 업데이트됩니다. 계산상의 이유로, 우리는 크기 batch_size의 미니 일괄 처리로 데이터를 처리합니다. 이 예제에서는 current_batch_of_words가 단어의 “문장”과 일치하지 않는다는 점에 유의해야 합니다. 일괄 처리의 모든 단어는 시간 t. TensorFlow 자동으로 당신을 위해 각 일괄 처리의 그라데이션을 합계 합니다.

우리는 이전과 같은 가중치 / 바이어스 사전을 가지고 있지만 입력 데이터 x를 일부 수정합니다. 우리는 이 일을 순전히 TensorFlow가 rnn_cell 모델에 맞추기 위해 원하는 구조를 만족시키는 것입니다.

Comments are closed.