2017-10-21 36 views
-1

我有一個形式爲N = W1 * Tanh(W2 * I)的神經網絡,其中I是輸入矢量/矩陣。當我學習這些權重時,輸出具有某種形式。然而,當我添加一個標準化層時,例如,N' = Softmax(W1 * Tanh(W2 * I))然而在N'單個元素的輸出向量中接近1而其餘幾乎爲零。這種情況不僅在SoftMax()中,而且在任何標準化層中。有沒有解決這個問題的標準方案?添加softmax顯着改變重量更新

+1

你是什麼意思的「某種形式」?你爲什麼稱它爲一個問題?這在分類歸一化中是完全正常的(並且期望的)行爲。什麼是確切的應用(有一個注意標籤,但沒有提到關注的問題) – lejlot

+0

這是一個自我關注的編碼器 - 解碼器模型(如上面描述的N是一個自我注意模型) @lejlot由a某種形式,我的意思是輸出矢量具有一定的特性(這是所期望的),就像它增加到中間,然後交替減少和增加(例如0.1,0.3,0.5,1.5,0.5,1,0.3,1.2)。但是,添加一個Softmax圖層後,我得到了類似的東西 - (0.001,0.001,0,0.01,0.998,0.001,0,0,...)。 – Rumu

+0

這僅僅意味着輸出'N'具有比其他值大得多的值。將「N」值添加到問題中。 – Maxim

回答

0

這就是softmax function的行爲。也許你需要的是一個sigmoid函數。

+0

即使使用簡單的標準化,該問題仍然存在,如在yi = yi/yi的總和 – Rumu

+0

這是所需的行爲,也許您需要的是其他東西。你的預期結果是什麼? –