Affine層/Softmax層的實現


Affine 層

     分別是形狀為(2,)、(2, 3)、(3,) 的多維數組。這樣一來,神經元的加權和可以用Y = np.dot(X, W) + B計算出來。

     神經網絡的正向傳播中進行的矩陣的乘積運算在幾何學領域被稱為“仿射變換”。因此,這里將進行仿射變換的處理實現為“Affine層”。

Affine層的計算圖(注意變量是矩陣,各個變量的上方標記了該變量的形狀)

批版本的Affine 層

Softmax-with-Loss 層

        softmax 函數會將輸入值正規化之后再輸出。

        神經網絡中進行的處理有推理(inference)學習兩個階段。神經網絡的推理通常不使用Softmax 層。神經網絡中未被正規化的輸出結果有時被稱為“得分”。也就是說,當神經網絡的推理只需要給出一個答案的情況下,因為此時只對得分最大值感興趣,所以不需要Softmax 層。不過,神經網絡的學習階段則需要Softmax層。

       使用交叉熵誤差作為softmax 函數的損失函數后,反向傳播得到(y1 − t1, y2 − t2, y3 − t3)這樣“ 漂亮”的結果。實際上,這樣“漂亮”的結果並不是偶然的,而是為了得到這樣的結果,特意設計了交叉熵誤差函數。回歸問題中輸出層使用“恆等函數”,損失函數使用“平方和誤差”,也是出於同樣的理由(3.5 節)。也就是說,使用“平方和誤差”作為“恆等函數”的損失函數,反向傳播才能得到(y1 −t1, y2 − t2, y3 − t3)這樣“漂亮”的結果。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM