I am looking at changing the hnn package to support different activation functions for every node in a network.
In particular, this line and this line use specific function (activation), but I am trying to extended that to support something like:
evalNet n@(Network{..}) inputs activations = do
s <- foldM (\x -> computeStepM n x (activations!!N)) state inputsV
where N is the node id/index.
Currently I am a stage where I have my list of activation functions of the same length as amount of nodes in the network.
I need help (as I am lost in the package source code) to find a way to apply Nth activations function from the list.
EDIT: I have tried StateT approach using tick (from documentation) and using zip function, both give multiple executions per every step, so the final result becomes wrong