脉冲神经网络(SNN)会是下一代神经网络吗? 知识梳理和源码解析,David 9的SNN初体验,Spiking Neural Network

Neurons that fire together wire together — Donald O. Hebb

小时候你们应该听大人说过:“脑子不用会生锈”,教导我们要多思考多练习。后来我们真的发现需要肌肉记忆的运动如篮球、高尔夫,所谓的“球感”,正应验了赫布理论那句老话:“Neurons that fire together wire together”。我们的那些神经元似乎越是频繁地连接,越是有“存在感”。甚至在训练足够多的次数后,神经元的连接如此强烈,以至于产生了条件反射。

另一方面我们的神经元可以训练并适应不同的任务,其可塑性惊人。当今所谓的神经网络不过皮毛。

今天聊的脉冲神经网络(SNN),只是弥补了神经网络中的一处不足。我们在之前的post提到过Hinton老爷子对未来神经网络的展望,其中一个重点就是目前神经网络的时间线(尺度)太少了

开始之前,先简单回顾一下神经网络的发展。

感知机(perceptron),是神经元间的直连感知

来自:https://www.youtube.com/watch?v=3JQ3hYko51Y

其中白色较亮的点是被激活(更兴奋)的神经元。

对于多层感知机,只是层数变多了,依旧是直连加反向传播

来自:https://www.youtube.com/watch?v=3JQ3hYko51Y

轮到现在流行的CNN, 只是比感知机多了卷积层:

来自:https://www.youtube.com/watch?v=3JQ3hYko51Y

到目前为止可以发现,所有连接权重的更新速度是一样的。即所有神经元的连接,在某个时间点的兴奋度低,但在下一个时间点的兴奋度可能很高!(因为反向传播才不管这么多),细想,不符合那句老话:“Neurons that fire together wire together”。此刻兴奋的神经元在下一时刻应该惯性地也比较兴奋才对继续阅读脉冲神经网络(SNN)会是下一代神经网络吗? 知识梳理和源码解析,David 9的SNN初体验,Spiking Neural Network

【独家】深度学习可以有人类逻辑吗?如何建模逻辑思维?SATNet, PrediNet,深度学习的逻辑思维现状

不用担心机器没有逻辑,担心机器没有人类的逻辑 — David 9

所谓人类的逻辑思维,是一个很弱的概念,这和人类一直处于一个开放的复杂环境有关。“如果明天天气很热,我要买个大西瓜”,虽然你心里这么想,但当你明天遇到更诱人的椰子或者冰激凌,你会马上抛开这个想法。如何模拟人类这种快速迭代的弱逻辑,而在必要的时候使用强逻辑,或许是个超级难题。

但如果退一步,仅仅研究类似数独,拼图等强逻辑任务,神经网络已经提供了比以往更好的解决方案,最近卡内基梅隆(CMU) 的SATNet,google的PrediNet就是两个很好的例子。SATNetPrediNet都已经做到了端到端的网络(神经网络的扩充)。

我们知道在强逻辑领域,数学上都可以归结为SAT(命题可满足性)问题,SAT问题中最常见的就是MAX-SAT(最大可满足问题),如下:

来自维基百科

无论你给上式两个变量如何赋值,命题推演后你会发现上面的命题不可能为真(True)。现实中还有更复杂的强逻辑问题,如数独:CMU的SATNet就研究了解答上述复杂SAT问题的神经网络方案。与其说是神经网络, 继续阅读【独家】深度学习可以有人类逻辑吗?如何建模逻辑思维?SATNet, PrediNet,深度学习的逻辑思维现状

对标CycleGAN:EnlightenGAN是如何无监督(无配对图像)训练夜景增强,低曝光还原的?

作为无监督无配对图像的样式转换领域的标杆,CycleGAN让人印象深刻。通过一个循环一致loss(cycle consistency loss) 保证生成器生成的样本经过再生成,能够和原来样本保持相似一致性:

来自:https://arxiv.org/pdf/1703.10593.pdf

所以,生成器不仅要像普通GAN那样生成另一个样式域的图像,而且,这个生成的图像如果从另一个样式域映射回来,要和原图足够像才行:

来自:https://arxiv.org/pdf/1703.10593.pdf

但是CycleGAN也有缺点,CycleGAN不可能针对所有样式转换应用都适合,所以针对特殊应用需要修改,另外,这种双向GAN loss计算量就比较大,两个样式域的loss都要考虑。

针对这些,EnlightenGAN在训练夜景增强,低曝光还原的图像上试图更近一步:

来自:https://arxiv.org/pdf/1906.06972.pdf

事实上,CycleGAN和EnlightenGAN都是在loss上做了手脚(你必须告诉GAN要生成和原图相似的图像,不是吗?)。

但EnlightenGAN 更进一步 ,做到了单向GAN训练(无需cycle循环)继续阅读对标CycleGAN:EnlightenGAN是如何无监督(无配对图像)训练夜景增强,低曝光还原的?