Example of "biological" learning for MNIST based on the paper Unsupervised Learning by Competing Hidden Units by D.Krotov and J.Hopfield. If you want to learn more about this work you can also check out this lecture from MIT's 6.S191 course.
install jupyter notebook and numpy, scipy, matplotlib.
> jupyter notebook
Unsupervised_learning_algorithm_MNIST.ipynb and observe weights.
Author and License
(c) 2018 Dmitry Krotov -- Apache 2.0 License