diff --git a/Source/Rbm.cpp b/Source/Rbm.cpp index ac98466..4434dac 100644 --- a/Source/Rbm.cpp +++ b/Source/Rbm.cpp @@ -244,7 +244,7 @@ void Rbm::train(size_t numEpochs, size_t miniBatchSize, double sigmaMin) } dBiasH = dBiasH_curr; - m_w.weights() += mu_w*((m_params.m_momentum*dW + (1-m_params.m_momentum)*dW_curr) - m_params.m_weightDecay*m_w.weights()); + m_w.weights() += mu_w*((m_params.m_momentum*dW + (1-m_params.m_momentum)*dW_curr) - m_params.m_weightDecay*m_w.weights()*m_w.weights().array().abs().sum()); dW = dW_curr; if (m_params.m_sigmaDecay > 0)