你好,游客 登录 注册 发布搜索
背景:
阅读新闻

深度学习与神经科学相遇(三)[译]

[日期:2016-12-03] 来源:知乎  作者: [字体: ]

  作者:张嘉伟

  链接:https://zhuanlan.zhihu.com/p/23979871

  来源:知乎

  著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  上次说到误差梯度的“反向传播”(Backpropagation),这次咱们从这继续。需要说明的是,原文太长,有的地方会有些冗长啰嗦,所以后面的我会选择性地进行翻译,然后附上一些思考和问题的注释,会更像读书笔记吧,这样也可以让学习过程更高效一些。

  2.2.2. Biologically plausible approximations of gradient descent

  这一节主要讲的是为了在生物学习中实现机器学习中的误差梯度的反向传播,更复杂的gradient propagation机制应该被考虑。虽然这些机制在细节上不同,但是它们都调用具有相位误差的反馈连接。学习是通过将预测与目标进行比较来进行的,并且预测误差用于驱动自底向上活动中的自上而下的改变。

  文中很多地方提到neuron spike, 神经元的电活动,但不代表该神经元一定被激活。个人觉得比较难翻译, “神经元动作电位”在有的地方不太通顺,所以后面就直接使用英文来描述这个概念。Google一番之后找到的定义是:During a spike, or action potential as it is called by neuroscientists, a neuron's membrane potential quickly rises from values around -65 mV to about 20 mV and then drops back to -65 mV.

  反向传播的近似也可以通过神经活动的毫秒级定时来实现(O'Reilly et al., 2014b)。例如,Spike timing dependent plasticity(STDP)(Markram et al., 1997)是一些神经元的特征,其中突触权重变化的符号取决于突触前后spike的精确至毫秒量级相对定时。这通常被解释为测量突触前和突触后之间的因果关系的潜力的Hebbian可塑性:突触前的spike可能有助于突触后的spike,仅当两者发生的时间间隔很小的时候。为了实现反向传播机制,Hinton提出了一种替代解释:神经元可以在它们的激活率(firing rate)的时间导数中对反向传播所需的误差导数类型进行编码(Hinton, 2007, 2016)。于是STDP就与这些对误差导数敏感的学习规则相关联(Xie and Seung, 2000; Bengio et al., 2015b)。换句话说,在适当的网络环境中,STDP学习可以产生反向传播的生物实现。

  STDP,Wikipedia:是大脑自身调整其神经元之间的连接强度的生物过程。 该过程基于特定神经元的输出和输入动作电位(或spike)的相对定时来调整连接强度。 STDP过程部分解释神经系统的活性依赖性发展,特别是关于Long-term potentiation和Long-term depression。(从定义可以看出它与Backpropagation之间有很高的相似性)

  生物神经网络可以近似反向传播的另一种可能机制是“反馈比对”(feedback alignment)(Lillicrap et al., 2014; Liao et al., 2015)。在feedback alignment中,反向传播中的反馈通路由一组随机反向连接代替,一个层的误差导数是通过该反馈通路从后续层的误差导数来计算的,而不依赖于前向权重。根据前馈和反馈连接之间的突触归一化机制和近似符号一致性的存在(Liao et al., 2015),计算误差导数的这种机制几乎与各种任务的反向传播一样好。实际上,前向权重能够适应性地使网络进入一种状态,其中随机后向权重实际上可以携带用于近似梯度的信息。这是一个引人注目和令人惊讶的发现,并且它表明我们对梯度下降优化的理解,特别是反向传播本身起作用的机制仍然是不完全的。在神经科学中,我们发现几乎无论在哪里找到前馈连接,哪里就伴随有反馈连接,讨论它们的作用是很多研究理论的主题(Callaway, 2004; Maass et al., 2007)。应当注意的是,feedback alignment本身并不精确地指定神经元如何表示和利用误差信号,它仅放宽对误差信号的传送的约束。因此,feedback alignment更多的是作为反向传播的生物学实现的基础,而不是完全生物学实现本身。因此,可以将其并入这里讨论的几个其他方案中。

  毋庸置疑,大脑计算误差导数的方式是复杂的,相信这与其使用多样化且相互作用的动态目标函数机制是紧密联系在一起的。而如今深度学习中的误差导数传播方法被Backpropagation所主导,相比之下,chain rule显得有些naive。值得注意的是这里提到的随机反馈连接,这是一个非常有意思的研究方向,如果添加注意力机制,可以理解为使用全局的信息对反向传播的误差导数进行近似,会加速收敛吗?

  这些讨论的核心实际上是:使用另一个(或多个)神经网络去做求导的工作,至于为什么要这么做,可能就会涉及到需要对普通的微积分(黎曼积分)的局限性、函数空间等等进行讨论了,这就需要很深入的数学知识了。

  这里附上一篇最近比较前沿的关于合成梯度的paper:Decoupled Neural Interfaces using Synthetic Gradients,个人觉得它和NTM(Neural Turing Machine)、GAN(Generative Adversarial Networks)一样,很可能是具有"里程碑"式意义的

  上述的反向传播的“生物学”实现仍然缺乏生物实际性(biological realism)的一些关键方面。 例如,在大脑中,神经元往往是兴奋性的或抑制性的,但不是两者同时存在,而在人工神经网络中,单个神经元可向其下游神经元同时发送兴奋性和抑制性信号。 幸运的是,这种约束不会限制其可以学习各种函数的能力(Parisien et al., 2008; Tripp and Eliasmith, 2016)。 然而,其他生物学考量则需要更详细地看待:生物神经网络的高度重现(recurrent)性质,其显示在时间尺度上丰富的动力学特性(dynamics, 这个词也很难翻译,个人更倾向于“动态”),以及哺乳动物大脑中的大多数神经元通过spike通信的事实。 我们下面依次考虑这两个问题。

  2.2.2.1. Temporal credit assignment

  再次遇到credit assignment,之前有翻译成“信用分配”,还是有些模糊,有人翻译成“功劳分配”,有些“能者多劳”的感觉,通俗地解释是:认为表现好的组件就多给它一些权重,这样对实现目标更有利

  这个部分主要讲的是BPTT(backpropagation through time),主要就是针对RNN,就不赘述了,就是把backpropagation在时间尺度上展开,然后可以把credit assign到不同的time steps(或者internal state)。不过作者表示:While the network unfolding procedure of BPTT itself does not seem biologically plausible, to our intuition, it is unclear to what extent temporal credit assignment is truly needed (Ollivier and Charpiat, 2015) for learning particular temporally extended tasks. BPTT生物学的生物学可解释性目前还是不太确定的。

  如果系统被授予对时间上下文(context)的适当存储器存储和表示(Buonomano and Merzenich, 1995; Gershman et al., 2012, 2014)的访问,这可以潜在地减少对时间尺度上credit assignment的需要, 可以“空间化”时间credit assignment的问题。 例如,Memory Network(Weston et al., 2014)

  有兴趣的读者可以看看Memory Network,引入记忆存储之后网络将具备实现推理的基础,这个话题就会引发一系列的关于Memory Augmented Networks的讨论和研究,目前是非常热门的,比如DeepMind的DNC就是一个对这类网络更广义的扩展,已经抽象到了另一种计算机实现,这个论文是发在Nature上的。

  Werbos在他的“error critic”中提出,通过学习以与强化学习中的价值函数的预测类似的方式学习预测BPTT的梯度信号(costate),可以实现对BPTT的online approximation(Werbos and Si, 2004)。这种想法最近被应用于(Jaderberg et al., 2016,就是之前提到合成梯度的那个研究),以允许在训练期间网络的不同部分的解耦,并且便于通过时间的反向传播。广义上,我们才刚开始理解神经活动本身如何表示时间变量(Xu et al., 2014; Finnerty et al., 2015),以及如何经常性的网络可以学习生成人口变化随时间的轨迹(Liu and Buonomano, 2009)。此外,正如我们在下面将讨论的,一些cortical models也提出,除了BPTT还可通过其他方式去训练网络以完成序列预测任务,甚至是在线学习(O'Reilly et al., 2014b; Cui et al., 2015; Brea et al., 2016)。可以使用很多更实际的手段来近似BPTT。

  2.2.2.2. Spiking networks(这个不太熟悉,虽然大概60年前就提出了)

  这个部分不太熟悉,跳过一些。但里面提到的快速、慢速连接是非常赞的idea,在Bengio的一些演讲中好像有提到,但我还没有很理解具体如何实现这种不同速率的计算连接

  使用具有多个时间尺度的循环连接(recurrent connection)可以消除在直接训练spike reccurrent networks的过程中反向传播的需要(Bourdoukan and Denève, 2015)。 快速连接将网络维持在慢速连接能够局部访问全局错误信号的状态。 虽然这些方法的生物依据仍然是未知的,它们都允许在spike networks中学习连接权重。

  这些新颖的学习算法说明了一个事实,我们才刚开始理解生物神经网络中的时间动力学特性和时间和空间credit assignment机制之间的联系。 然而,我们认为在这里现有的证据表明生物似真的神经网络可以解决这些问题 - 换句话说,在生物神经元的spiking networks的上下文环境下,复杂的与时间历史相关的函数可能被有效地优化。 这些复杂的函数可以是认知相关的,但问题是发展中的大脑如何有效地学习这样复杂的功能。

 

  小结:本节文中讨论的内容与RNN训练和学习关系密切,为了更好的理解这部分以及后面部分的内容,个人觉得需要还做一些功课。Bengio从他博士期间就开始研究RNN至今,目前可以说深度学习占领着机器学习的半壁江山,而RNN则是深度学习的核心。

收藏 推荐 打印 | 录入:admin | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款