fixed dividing l2-norm by length of vector
This commit is contained in:
+1
-1
@@ -104,7 +104,7 @@ class Entity:
|
|||||||
self.grad.b_v = momentum * self.grad.b_v + learning_rate * d_bv
|
self.grad.b_v = momentum * self.grad.b_v + learning_rate * d_bv
|
||||||
self.grad.b_h = momentum * self.grad.b_h + learning_rate * d_bh
|
self.grad.b_h = momentum * self.grad.b_h + learning_rate * d_bh
|
||||||
# compute L2 term and penalize cost function (d_whv)
|
# compute L2 term and penalize cost function (d_whv)
|
||||||
l2_norm = np.sum(np.square(self.state.w_hv))/self.state.w_hv.shape[1]
|
l2_norm = 0.5*np.sum(np.square(self.state.w_hv))
|
||||||
l2_term = l2_lambda*l2_norm*self.state.w_hv
|
l2_term = l2_lambda*l2_norm*self.state.w_hv
|
||||||
self.grad.w_hv = momentum * self.grad.w_hv + learning_rate * (d_whv-l2_term) - learning_rate * weight_decay * self.state.w_hv
|
self.grad.w_hv = momentum * self.grad.w_hv + learning_rate * (d_whv-l2_term) - learning_rate * weight_decay * self.state.w_hv
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ class TestModel(Model):
|
|||||||
else:
|
else:
|
||||||
# Hidden binary
|
# Hidden binary
|
||||||
self.unit1 = Entity((96 * 96, 333), EntityParams(do_gaussian_visible=True, do_gaussian_hidden=False),
|
self.unit1 = Entity((96 * 96, 333), EntityParams(do_gaussian_visible=True, do_gaussian_hidden=False),
|
||||||
TrainingParams(learning_rate=0.001, momentum=0.9, num_epochs=1000, l2_lambda=0.4))
|
TrainingParams(learning_rate=0.001, momentum=0.9, num_epochs=1000, l2_lambda=0.01))
|
||||||
|
|
||||||
def forward(self, x: Mat):
|
def forward(self, x: Mat):
|
||||||
x = self.unit1.forward(x)
|
x = self.unit1.forward(x)
|
||||||
|
|||||||
Reference in New Issue
Block a user