https://github.com/kocherovms/Biological_Learning/tree/master

По факту фильтр Хебба с выборочным ингибированием нейронов. В результате получается что-то типа зоны коры, которая выделяет разные факторы обрабатываемого сигнала. Без ингибирования получили бы вырожденную зону, когда один и тот же фактор описывался бы разными нейроноами.

Очень похоже на главу “Часть 2. Факторы” из [РдзбЛогМышл]. Там тоже рассматривались алгоритмы декорреляции (например, APEX, карты Кохонена), которые заставляют зону учиться разному. Если отвлечься от биологической правдоподбности, то можно использовать обобщённый фильтр Хебба, для которого требуется централизованное управление (надо передавать управление тому или иному нейрону по очереди).

Интересным образом сделан батчинг. Без батчинга было бы медленно. По факту из картинок батча слепливается этакая виртуальная картинка и обрабатывается. Т.е. сводим задачу обработки батча к задаче обработки одной картинки.