簡體   English   中英

RNN語言模型(TensorFlow)的輸入是什么?

[英]What is the input to an RNN language model (TensorFlow)?

我想在TensorFlow中建立一個遞歸神經網絡(RNN),以預測單詞序列中的下一個單詞。 我看過一些教程,例如TensorFlow之一 我知道訓練文本中的每個單詞都映射到一個整數索引。 但是,關於輸入,還有一些我沒有得到的東西:

  1. 批量訓練網絡,例如同時訓練128個示例。 假設我們的詞匯中有10.000個單詞。 輸入到網絡的矩陣是大小為(128,sequence_length)的矩陣還是單點編碼的張量(128,sequence_length,10.000)?

  2. 第二維(即序列長度)有多大? 我是否在批處理的每一行中使用一個句子,將比其他句子短的句子填充零?

  3. 還是一行可以對應多個句子? 例如,一行可以代表“這是一個測試句子。怎么樣?”? 如果是這樣,第二句話在哪里繼續? 在同一批次的下一行中? 還是在下一批的同一行中? 如何保證TensorFlow正確地繼續句子?

即使這些問題很簡單,我也無法找到答案。 我希望有人能幫幫忙!

  1. 是。 它是3維向量(128,sequence_length,10.000)

  2. 是。 您應該填充句子以使其長度相同。 並且您可以使用tf.nn.dynamic_rnn並且它可以基於tf.while處理可變長度的tf.while 有一篇很棒的文章討論了這個問題。 https://danijar.com/variable-sequence-lengths-in-tensorflow/您可以在tensorflow dynamic_rnn和rnn之間有什么區別?

  3. 可能。 但網絡不知道該句子是否已連接。 它只是將一行視為一句話。 因此,結果將毫無意義。

希望這個答案對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM