簡體   English   中英

回歸神經網絡中的 NaN

[英]NaN in regression neural network

我試圖在 python 上構建一個 NN 來解決輸入 X (a,b) 和 output Y(c) 的回歸問題。 使用泄漏 Relu 作為激活 function 用於隱藏層和線性 function 用於 output 層。 在 3-4 次迭代之后, nn 似乎會因極大/極小的數字而爆裂,並導致NaN 我使用的衍生物如下。 也許有人可以幫助我 - 我的數學有問題還是我應該做更多的工作來在 nn 之前標准化 X 和 Y?

    dW2 = -2*(np.dot(dZ2,A1.transpose()))/m
    db2 = -2*(np.sum(dZ2, axis = 1, keepdims = True))/m
    drel = lrelu(Z1)
    dZ1 = (np.dot(W2.transpose(),dZ2))*(drel)
    dW1 = (np.dot(dZ1,X.transpose()))/m
    db1 = (np.sum(dZ1, axis = 1, keepdims = True))/m

在哪里

    Z1 = np.dot(W1,X)+b1
    A1 = np.where(Z1 > 0, Z1, Z1 * 0.01)
    Z2 = np.dot(W2,A1)+b2
    A2 = Z2*1
    cost = np.sum(np.square(Y-A2))/m

和 Relu 導數:

def lrelu(rel):
    alpha = 0.01
    drel = np.ones_like(rel)
    drel[rel < 0] = alpha
    return drel

謝謝

已經通過預處理數據解決了這個問題。

暫無
暫無

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

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