Error-driven Input Modulation: Solving the Credit Assignment Problem without a Backward Pass [video]
Date Posted:
July 22, 2022
Date Recorded:
July 22, 2022
CBMM Speaker(s):
Gabriel Kreiman Speaker(s):
Giorgia Dellaferrera
Description:
CBMM researchers Giorgia Dellaferrera and Gabriel Kreiman discuss their latest paper, published in Proceedings of Machine Learning Research 2022, on neural networks using backpropogation and how they adapted them to be more biologically plausible.
[MUSIC PLAYING] GIORGIA DELLAFERRERA: I'm Giorgia, I am a PhD student in Zurich visiting the Kreiman Lab at the Harvard Medical School. I'm working on developing algorithms that are biologically plausible and that aim to train neural networks in a neuroscience plausible way.
GABRIEL KREIMAN: We've had the pleasure of having Giorgia as a visiting student who has been working with us for several months to try to tackle one of the fundamental questions in artificial intelligence and neuroscience now, which has to do with the basic mechanisms of learning in neural networks.
GIORGIA DELLAFERRERA: Nowadays, most of the artificial neural networks algorithms that work on current devices, they are trained using the back propagation algorithm, which is really powerful.
GABRIEL KREIMAN: And yet, despite these amazing successes, as soon as the back propagation paper came out, Francis Crick published a paper in Nature saying that back propagation was not biologically plausible, that that's not how the brain works, essentially.
GIORGIA DELLAFERRERA: In the back propagation algorithm, you show an input to the network. It goes throughout the network and you have an output, then you use the output to compute an error, which travels back to the network through exactly the same parameters that the input traveled to. And this it is not biologically plausible because when you go from the input to the output, the network is active, but when the error goes from the output to the input, the network is frozen.
So our idea was, we take the error out the output and then we add it to the input. And then the input travels again through the network with the error added on top. And then we use the information on the error add it to the input to update the parameters.
What is really cool about our approach is that neuroscience justifies it because in biological systems in the brain that are the so-called global neuromodulators that can modify the activity in some areas of the brain. Global neuromodulators have been shown to modify the activity in the early stages of visual processing. So for example, in [? NGN ?] or V1.
We tested our approach on different image classification tasks, including Mnist, Cifar 10 and Cifar100. And we compared the performance of our algorithm with back propagation and with other biologically inspired algorithms, such as feedback alignment. And we observed that our algorithm performs slightly worse than back propagation, but in a comparable way compared to the other biological inspired algorithms.
Our algorithm is the first learning strategy that shows the neural networks, and we train without any backward computation, but through only forward passes; so it could have interesting applications; for example in hardwares in which you cannot perform backward passes, but just forward passes. And also it's a step forward in the development of algorithms that are more compatible with how the brain works.
GABRIEL KREIMAN: Ultimately, we'd like to build networks that can learn the way animals and humans do and that can inherit all the properties of natural intelligence and learning in natural systems.
GIORGIA DELLAFERRERA: So until now, we've shown that our algorithm works well on simple networks and simple tasks. And the next step is to develop a version of the algorithm that can be applied to train more complex networks on more complex tasks. And one way that we are exploring to do that is to use different ways to incorporate the error on top of the input, or for example, use network architectures with residual connections.
[MUSIC PLAYING]
Associated Research Module: