diff --git a/src/rbm/entity.py b/src/rbm/entity.py index 82c9768..65a6c85 100644 --- a/src/rbm/entity.py +++ b/src/rbm/entity.py @@ -104,7 +104,7 @@ class Entity: 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 # 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 self.grad.w_hv = momentum * self.grad.w_hv + learning_rate * (d_whv-l2_term) - learning_rate * weight_decay * self.state.w_hv diff --git a/src/tests/test_norbs.py b/src/tests/test_norbs.py index a716a0f..afbafd2 100644 --- a/src/tests/test_norbs.py +++ b/src/tests/test_norbs.py @@ -16,7 +16,7 @@ class TestModel(Model): else: # Hidden binary 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): x = self.unit1.forward(x)