Deep neural networks excel at image classification, but their performance is far less robust to input perturbations than human perception. In this work we explore whether this shortcoming may be partly addressed by incorporating brain-inspired recurrent dynamics in deep convolutional networks. We take inspiration from a popular framework in neuroscience: 'predictive coding'. At each layer of the hierarchical model, generative feedback 'predicts' (i.e., reconstructs) the pattern of activity in the previous layer. The reconstruction errors are used to iteratively update the network's representations across timesteps, and to optimize the network's feedback weights over the natural image dataset-a form of unsupervised training. We show that implementing this strategy into two popular networks, VGG16 and EfficientNetB0, improves their robustness against various corruptions and adversarial attacks. We hypothesize that other feedforward networks could similarly benefit from the proposed framework. To promote research in this direction, we provide an open-sourced PyTorch-based package called Predify, which can be used to implement and investigate the impacts of the predictive coding dynamics in any convolutional neural network.
翻译:深心神经网络在图像分类方面表现优于图像分类, 但是它们的性能比人类感知要弱得多。 在这项工作中, 我们探讨是否可以通过将大脑激发的反复动态纳入深演网络来部分解决这一缺陷。 我们从神经科学中流行的框架“ 预知编码 ” 中得到灵感。 在等级模型的每一层, 基因反馈“ 预兆 ” ( 重建) 在上层的活动模式中。 重建错误被用来反复更新网络在时间跨步的表达方式, 并优化网络对自然图像数据集的反馈权重, 这是一种不受监督的培训形式。 我们显示, 在两个流行的网络, VGG16 和 高效的NetB0 中执行这一战略, 提高了它们对各种腐败和对抗性攻击的稳健性。 我们假设其他进化网络也可以从拟议的框架中同样受益。 为了促进这方面的研究, 我们提供了一个公开源的基于PyToirch的软件包, 它可以用来执行和调查任何恒变变网络的影响。