No description
append_block.py | ||
append_parameter.py | ||
convert_log_to_numpy.py | ||
data_loader.py | ||
get_the_data.py | ||
L1NormLayer.py | ||
loss_function.py | ||
make_network.py | ||
make_optimize.py | ||
NNMF2d.py | ||
non_linear_weigth_function.py | ||
README.md | ||
run_network.py |
Refinement of the approach for deep NNMF networks shown in:
Competitive performance and superior noise robustness of a non-negative deep convolutional spiking network
David Rotermund, Alberto Garcia-Ortiz, Kaus R. Pawelzik
https://www.biorxiv.org/content/10.1101/2023.04.22.537923v1
Now a normal ADAM optimiser will work.
The BP learning rule is taken from here (it was derived for a spike-based SbS system, but it works exactly the same for NNMF):
Back-Propagation Learning in Deep Spike-By-Spike Networks
David Rotermund and Klaus R. Pawelzik
https://www.frontiersin.org/journals/computational-neuroscience/articles/10.3389/fncom.2019.00055/full