d4d3d33931e845cc3703f9c1730ac608d621e04e
Regularisation terms (L1, L2, weight_decay) were being divided by mini_batch_size in state_adjust along with the CD gradient. The CD gradient is a batch sum so 1/N normalisation is correct; regularisation penalties are per-weight and batch-size independent. Separating them makes l1_lambda/l2_lambda directly interpretable regardless of batch size. Also adds --l1_lambda CLI arg to test_faces_sub_image.py and sets num_epochs=1000. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
GRBM
Paper
https://medium.com/@rtdcunha/gaussian-bernoulli-restricted-boltzmann-machines-4a68b8765485 https://journals.plos.org/plosone/article/file?id=10.1371/journal.pone.0171015&type=printable
Code
https://github.com/DSL-Lab/GRBM/tree/main
CRBM
Paper
https://www.ee.nthu.edu.tw/hchen/pubs/iee2003.pdf
Regularization
https://benihime91.github.io/blog/machinelearning/deeplearning/python3.x/tensorflow2.x/2020/10/08/adamW.html https://medium.com/analytics-vidhya/l1-vs-l2-regularization-which-is-better-d01068e6658c https://jamesmccaffreyblog.com/2019/05/09/the-difference-between-neural-network-l2-regularization-and-weight-decay
Languages
Jupyter Notebook
96.9%
Python
3.1%