1. 程式人生 > >迴圈神經網路訓練時幾個引數注意點的筆記

迴圈神經網路訓練時幾個引數注意點的筆記

1、詞嵌入維度引數(embedding_size)

    詞嵌入維度刻畫了模型表達詞彙的能力,對於翻譯任務,一般需與資料集的詞彙量大小保持一致。在詞嵌入維度較小的時候,詞彙容易被對映到相近的區域,互相之間缺乏有效區分,進而降低翻譯質量。

2、迭代次數引數(epoch)

     迭代次數的選擇主要是需要使神經網路的訓練損失值接近或達到最小。一般選擇的情況:當給出更多訓練次數,神經網路的結果不再有太大的改善時附近的值。

3、序列長度引數(seq_length)

     序列長度應當與給出資料的結構相匹配,大約是你希望生成句子的長度,通常設定大一點的值會使模型的能力也跟著強一點。

4、批處理大小引數(batch_size)

     具有適當的批處理大小,它要足夠大使得神經網路能夠高效地訓練,同時也不能過大否則記憶體會不夠,它往往受GPU視訊記憶體的影響。

5、RNN層大小(即隱藏層中節點的數量)(rnn_size)

     RNN層的大小足夠大,使之能夠很好地擬合數據。取的值越大模型的能力會越強,但是代價就是訓練速度會下降。取的值過大的話相當於需要計算的權重過多,會導致神經網路難以訓練。這個引數選擇的時候建議以級數(32,64,128,256)方式優化調整而不是線性調整,這樣神經網路的表現會更偏向指數特性而不是線性特性。