@@ -61,54 +61,54 @@ def col2im_indices(cols, x_shape, field_height=3, field_width=3, padding=1, stri
6161 return x_padded
6262 return x_padded [:, :, padding :- padding , padding :- padding ]
6363
64+
6465def adam_update (neurons , lr , t , l2_reg = 0 , beta1 = np .float32 (0.9 ), beta2 = np .float32 (0.999 )):
6566 for n in neurons :
6667 l2 = l2_reg * n .weights
6768 dx = (n .last_input .dot (n .delta )).T
68- dBias = np .average (n .delta )
69+ d_bias = np .average (n .delta )
6970
7071 n .m = beta1 * n .m + (1 - beta1 ) * dx
71- n .v = beta2 * n .v + (1 - beta2 )* (dx ** 2 )
72+ n .v = beta2 * n .v + (1 - beta2 ) * (dx ** 2 )
7273
73- if t < 3 :
74- n .m /= np .float32 (1 - beta1 ** t )
75- n .v /= np .float32 (1 - beta2 ** t )
74+ m = n .m / np .float32 (1 - beta1 ** t )
75+ v = n .v / np .float32 (1 - beta2 ** t )
7676
77- n .weights -= lr * n . m / (np .sqrt (n . v ) + 1e-8 ) + l2
78- n .b -= lr * dBias
77+ n .weights -= lr * m / (np .sqrt (v ) + 1e-8 ) + l2
78+ n .b -= lr * d_bias
7979
8080def nag_update (neurons , lr , l2_reg = 0 , mu = np .float32 (0.9 )):
8181 for n in neurons :
8282 l2 = l2_reg * n .weights
8383 dx = (n .last_input .dot (n .delta )).T
84- dBias = np .average (n .delta )
84+ d_bias = np .average (n .delta )
8585
8686 n .v_prev = n .v
8787 n .v = mu * n .v - lr * dx
8888
8989 n .weights += - mu * n .v_prev + (1 + mu ) * n .v - l2
90- n .b -= lr * dBias
90+ n .b -= lr * d_bias
9191
9292def momentum_update (neurons , lr , l2_reg = 0 , mu = np .float32 (0.9 )):
9393 for n in neurons :
9494 l2 = l2_reg * n .weights
9595 dx = (n .last_input .dot (n .delta )).T
96- dBias = np .average (n .delta )
96+ d_bias = np .average (n .delta )
9797
9898 n .v = mu * n .v - lr * dx
9999
100100 n .weights += n .v - l2
101- n .b -= lr * dBias
101+ n .b -= lr * d_bias
102102
103103
104104def vanila_update (neurons , lr , l2_reg = 0 ):
105105 for n in neurons :
106106 l2 = l2_reg * n .weights
107107 dx = (n .last_input .dot (n .delta )).T
108- dBias = np .average (n .delta )
108+ d_bias = np .average (n .delta )
109109
110110 n .weights -= lr * dx + l2
111- n .b -= lr * dBias
111+ n .b -= lr * d_bias
112112
113113def sigmoid (input ):
114114 return 1 / (1 + np .exp (- input ))
0 commit comments