[英]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.