主要的问题是没人知道大脑是如何工作的:)
理论
据我所知,神经网络研究包括三个重要步骤:
- 感知器(或阈值门)模型,其中任何布尔函数都可以由具有单个隐藏层的多层感知器来计算。
- 神经元模型-上一个模型的改进版本,其中网络元素使用S型激活功能(可能的入口和输出的连续集合)。他们还可以计算任何布尔函数(应用阈值后),此外,还可以近似任何连续函数。
- 尖刺神经元模型,该模型使用“时间编码”在网络元素之间传递信息。它可以完成以前模型所做的所有事情,而且通常可以用更少的神经元来完成。
基本上,这里的发展是更接近人脑的工作方式,最后一个模型具有最佳保真度。
实践
SNN看起来非常有前途,甚至在它之上构建了一个商用产品SpikeNET(在“ SpikeNET可以做什么”和“ SpikeNET不能做什么”下,您可以看到他们面临的问题)。
我无法说出尖峰网络的具体问题-但总的来说,我觉得这些问题之所以出现,是因为人们希望SNN越来越像人的大脑一样工作:
- 他们要选择如何代码信息-它可以通过完成延迟编码(更高度刺激的神经元更为频繁和穗越快),二进制编码(信息由尖峰给定的时间间隔内的数字表示),时间编码(信息是可区分的时间间隔的粒度的倒数),等级编码(对神经元接收的第一个尖峰施加影响,而后一个尖峰则受到抑制),而没有其他功能。
- 他们模仿了Hebbian可塑性,当两个神经元同时“打开”(或两个“关闭”)时,会增加神经元之间的权重。
- 他们应用自组织,其中一组神经元与获胜的神经元竞争,抑制其他神经元的反应。使用尖刺的神经元,仅根据单个触发事件就可以快速计算获胜者。
Wikipedia链接到“脉冲神经网络”(Pulsed Neural Networks)书,该书包含“脉冲编码神经网络的实现问题”部分,但我对此没有足够的意见。
至于该主题的介绍,我推荐这篇论文:脉冲神经网络及其应用(pdf)