什么阻碍了脉冲神经网络在应用中的使用?

机器算法验证 神经网络
2022-03-11 07:35:58

脉冲或尖峰神经网络包含更多生物神经元的膜动力学,其中脉冲将信息传递到下一层。例如,神经元不必像在反向传播中那样同时“激发”所有神经元。

然而,将这些模型用于机器学习问题似乎存在障碍。哪些具体问题阻碍了机器学习从业者使用更符合生物学的模型?

2个回答

主要问题是没有人知道大脑是如何工作的:)

理论

据我所知,神经网络研究分为三大步骤:

  1. 感知器(或阈值门)模型,其中任何布尔函数都可以由一些具有单个隐藏层的多层感知器计算。
  2. 神经元模型 - 前一个模型的改进版本,其中网络元素使用 sigmoid 激活函数(可能的输入和输出的连续集)。它们还可以计算任何布尔函数(在应用阈值之后),此外,还可以逼近任何连续函数。
  3. 尖峰神经元模型,它使用“时间编码”在网络元素之间传递信息。它可以做之前模型所做的一切,而且通常可以用更少的神经元来做。

基本上,这里的进化是为了更接近人脑的工作方式,最后一个模型具有最好的保真度。

实践

SNN 看起来很有前途,甚至还有基于它构建的商业产品SpikeNET(在“SpikeNET 可以做什么”和“SpikeNET 还不能做什么”下,您可以看到他们面临的问题)。

我无法说出尖峰网络的具体问题——但总的来说,我的印象是,这些问题的出现是因为人们希望 SNN 越来越像人脑一样工作:

  • 他们想选择如何对信息进行编码——这可以通过延迟编码(受到更高刺激的神经元倾向于更频繁和更快地产生尖峰)、二进制编码(信息由给定时间间隔内的尖峰数量表示)、时间编码来完成(信息是可区分时间间隔的粒度的倒数),等级顺序编码(神经元接收到的第一个尖峰受到影响,后面的尖峰被抑制)等等。
  • 它们模仿赫布可塑性,当两个神经元同时“开启”(或同时“关闭”)时,神经元之间的权重会增加。
  • 他们应用自组织,其中一组神经元与获胜的神经元竞争,抑制其他神经元的反应。使用尖峰神经元,可以仅基于单个触发事件快速计算获胜者。

维基百科有一个链接到“脉冲神经网络”一书,其中有“脉冲编码神经网络的实施问题”部分,但我没有受过足够的教育来对此发表评论。

至于主题介绍,我推荐这篇论文:脉冲神经网络及其应用pdf

似乎所有神经网络算法在其训练算法中都使用某种形式的梯度下降,甚至非 ANN 模型也使用梯度下降。似乎没有关于如何在 SNN 上以时间方式应用梯度下降的理论。一种可能性是神经形态计算的兴起,它使用类似于 SNN 的更具生物现实性的模型。但似乎到目前为止,在神经形态领域还没有强大的机器学习基准/突破,就像在许多标准机器学习问题(如手写识别、语音识别、对象识别、语言翻译等)中使用人工神经网络实现的非常明确的基准一样。