Thinking note of PNN

Thinking note of PNN

汇报PPT

PNN

是什么

  • Plastic Network塑性网络

    • Plastic可塑性, 灵感来源

      • 来自神经生物学中的 突触可塑性

        • 是指神经细胞之间的连接, 即突触,其连接强度可调节的特性。
        • 比如,巴甫洛夫的经典条件反射实验,每次给狗喂食的同时摇铃。当狗见到食物时,自然会分泌唾液。但巴甫洛夫发现,狗在听到铃声时即使不给食物,也会分泌唾液。
      • 赫布理论

        • 突触前神经元向突触后神经元的持续重复的刺激可以导致突触传递效能的增加
        • 反射活动的持续与重复会导致神经元稳定性的持久性提升
        • 当神经元A的轴突与神经元B很近并参与了对B的重复持续的兴奋时,这两个神经元或其中一个便会发生某些生长过程或代谢变化,致使A作为能使B兴奋的细胞之一,它的效能增强了。
        • 神经元”A”必须对神经元”B”的激发“作出了一定贡献”,神经元”A”的激发必须在神经元”B”之先,而不能同时激发。

          • tips: 神经元之间的神经冲动是单方向传导, 只能由一个神经元的轴突传导给另一个神经元的细胞体或树突 ,而不能向相反的方向传导,因为神经递质只能在突触前神经元的轴突末梢释放。
      • 突触

        • 根据突触接触部位分类
        • 神经细胞之间如何开始建立突触的

          • 上级神经细胞的轴突末端的生长锥顺着信号分子的指引来到目的神经细胞,然后通过来回的物质传递交换,来形成进一步更紧密的关系。
          • 上级神经细胞的生长锥会特化为轴突末端,形成突触前膜,准备释放神经递质。突触后细胞会在突触结合的位置特化出突触后膜,聚集了神经递质的受体和电压门控钙通道。
          • 两个细胞形成稳定联系了,就会把一些多余的突触结构简化掉,只留下足够有效的突触数量。
      • 本文使用的规则

        • 赫布规则:if a neuron repeatedly takes part in making another neuron fire, the connection between them is strengthened

          • 如果一个神经元不断参与另一个神经元的激活,它们之间的联系就会加强

    • 人工神经网络中的非塑性网络

      • 前后神经元之间的影响通过一个权值参数来表示
      • 使用梯度下降方法训练网络使得权值收敛
      • 在训练完成后,权值参数不再变化
    • 人工神经网络中的塑性网络

      • 前后神经元之间的影响会随着前级神经元对后级神经元持续重复的刺激增加。

        • 如果两个神经元之间的联系减弱,则影响会降低
        • 如果两个神经元之间的联系增强,则影响会增强
      • 这样的影响是如何表示的呢?

          • (@?如何从神经细胞学的角度来解释这个公式呢?)
        • 基础权重

          • @?初始值
        • 非线性函数$\sigma$

          • @?在公式中代表了什么?
        • 赫布迹

          • 存储着塑性组件
          • @代表前级神经元参与到后级神经元的神经活动中,联系的程度
        • 塑性系数

          • 表示了塑性组件Hebbian迹和基础权重的相对重要性
        • 全局塑性系数

          • 塑性系数与赫布迹相乘,得到全局的塑性组件
        • 学习率$\elta$

          • 是整个网络的学习标量参数
          • 作为权重衰减项出现, 保证了Hebbian迹的失控正反馈
  • 在小样本学习中的关系

可以解决什么问题

  • 记忆和重建训练中没有看到的新颖的高维自然图像集,传统非塑性神经网络无法解决这个问题
  • 可以为非琐碎的任务( non-trivial tasks )训练大型网络

实验

  • 实验1,模式记忆之二元模式实验

    • 二元模式

      • 一些长度为N向量,向量的每个元素只有1和-1两种取值。
      • 概念序列
      • 每个二元模式由1000个元素组成, 每一个不是1就是-1, 分别用红色和蓝色表示。
    • 网络结构

      • 使用Hebbian plastic 连接的人工循环神经网络

        • @?循环神经网络是什么
      • 可以执行这个任务的神经网络被称为内容可寻址记忆, 或者 自动联想神经网络

      • 可微的塑性网络可以自动解决这个问题,它可以 自动设计可以执行现有的人工神经网络可以完成的任务 的神经网络
      • 完全循环神经网络
      • 每一个模式元素都有一个神经元。 加上一个固定的输出神经元(“bias”),一共有(1001)个神经元

        • @?输出神经元是如何与其他神经元连接的?
      • 在输入值不为0的情况下,输入的模式以模式中对应元素的值来固定每个神经元的值

      • 如果是降维模式下的输入,对于该模式下的0值,对应的神经元不会接收输入, 只从横向连接(lateral connections)获得输入,它们必须从横向连接重建正确的预期输出值。

        • @?横向连接是什么?
      • 输出直接从神经元s的激活(activation)中读取

        • @?激活?
      • 使用了简单的衰减的赫布规则来更新赫布迹

      • 这个神经网络有两个训练参数 ,1001个神经元, 加起来就是 $100110012$个参数需要优化
    • 训练过程

      • 输入训练样本

        • 一组二元模式序列
        • 循环重复地输入若干个不同的二元模式
      • 降维退化模式

        • 从输入的训练样本中随机选择一个作为预测模式,通过将该模式的一半位设置为0来对其进行降级
        • 将降级后的预测模式输入给网络
        • 网络会对预测模式重建,在网络的记忆中绘制出损失的位(图中用浅色表示预测),得到一个针对预测模式的预测输出值
        • 利用该预测输出值,与模式正确值之间的平方和误差(the summed squared error)作为损失(loss)
        • 根据这个损失进行梯度下降,反向传播, 更新两类权值参数: 基本权值$w_{i,j}$与塑性系数$\alpha_{i,j}$

          • 这些系数是通过一个Adam求解器使用学习率0.001优化的
          • @?如何进行梯度下降,反向传播,更新两类权值参数的?
    • 效果如何

      • 上图给出了10次使用不同随机种子训练的结果
      • 在大概200个周期是,错误率收敛到很低,残留的错误小于1%
      • 与之相对比的,使用非塑性循环神经网络的学习曲线如下
      • 使用了50位的二元模式输入
      • 绿色表示, 2050个神经元的非塑性循环神经网络的效果
      • 红色表示,2050个神经元的LSTM的效果
      • 蓝色表示,使用相同参数下,只使用了51个神经元,可微带塑性权重的神经元的效果
      • 塑性网络和非塑性循环神经网络的比较

        • 非塑性网络也可以解决这个任务,但是需要额外的神经元存储事先已经见过的模式
        • 然而,尽管有了很多探索,我们都不能成功的使用非塑性RNN或LSTM解决这个任务
        • 我们只能减少模式规模到50位,每个生命周期只有2个模式, 并且只展示3个生命周期步骤
        • 最好的结果也需要增加2000个额外的神经元(总共2050个神经元)
        • 对于非塑性RNN, 误差稳定在一个比较高的地方
        • 对于LSTM,解决了这个任务,但是用了大概500000个周期
        • 而塑性循环神经网络, 在2000个生命周期里迅速使得误差率降到了0.01,比LSTM快250倍。
      • 启发

        • 尽管这个任务在PNN中表现比LSTM好
        • 那么在其他的领域中,也可能比现有的LSTM模型表现更好
        • 甚至可以通过给现有的LSTM模型增加可塑性
  • 实验2,模式记忆之自然图像

    • 自然图像

      • 输入的数据集来自CIFAR-10, 是32*32的灰度图像

        • 包含了6000张
    • 网络结构与训练过程

      • 与实验1二元模式基本保持一致

        • 有1025个神经元
        • $210251025$个参数
        • 每个生命周期包含3个图片,每次随机显示3次,一共20个时间步长,在图像展示中有三个输入为0的时间步骤
      • 不同在于,在降维退化的时候, 丢失了图像的上半部分或者下半部分

        • 这样避免了相邻像素之间天然的关联性
        • @?那么在退化以后输入给神经网络,这时,对于空白的神经元,这些神经元的值是从哪里来的呢?
    • 结果

      • 模型成功学习到去表现这个记忆重建原来未见到的自然图像的non-trial任务

      • 基线权重矩阵训练最终的权值矩阵

      • 每一列描述了单个细胞的输入,垂直相邻条目描述 来自图像中水平相邻像素的输入。
      • 请注意两个矩阵之间的重要结构。
      • 塑性系数矩阵训练最终的塑性系数矩阵

        • 与传统同质塑性Hopfield网络相比, 这个塑性矩阵显示了相当大的结构
        • 一些结构(对角线)与相邻像素的高相关性有关,
        • 而另一些方面(中段附近的交替带)则是由于选择在预测图像中对一半的区域归零导致的
        • 我们假设,当一个测试刺激出现时,这个中段附近的宽交替带支持快速清理持续活动的网络。
      • 虽然所学习的网络结构是有结构的,这种结构可能只是学习过程的产物,没有内在的有用性。

        • 为了检验这种可能性,我们比较了全塑性网络和一个具有共享塑性系数的相似网络, (所有连接共享相同的塑性系数$\alpha$)
        • 因此塑性系数仍然可训练,但是作为一个单独的参数在所有连接中共享。
        • 因为我们用了衰减的赫布公式, 这个共享塑性结构与一个快速权重网络具有相似性。

          • 然而,与快速权值方法不同,可微塑性允许我们通过梯度下降学习快速权值的重要性及其学习率(而且,我们不实现快速权值网络使用的每个时间步长的神经活动迭代计算)。
          • @?这个快速权重网络是什么?
        • 二者比较塑性系数矩阵

          • 主要结果是,每个连接的独立塑性系数提高了这项任务的性能。
          • 这种比较表明,塑性系数矩阵和权重矩阵图中所观察到的结构实际上是有用的,在这样的设置下,为记忆和重建自然图像构建了一个创新的结构
  • 实验3、一元模式分类

具体是如何解决的

  • 网络是如何设计的?
  • 网络是如何训练的?
  • 基础权值是如何优化的?

    • 在整个生命周期被保存
    • 通过梯度下降法优化
    • 在一个生命周期最大化期待的性能
  • 塑性系数是如何优化的?

    • 在整个生命周期被保存
    • 通过梯度下降法优化
    • 在一个生命周期最大化期待的性能
  • Hebbian赫布迹是如何更新的?

    • 按照一定规则优化,有很多规则,下面介绍两种规则
    • 会衰减的赫布迹更新规则

      • 迭代更新步骤

        • Hebbian迹在每个生命周期的开始初始化为0
        • @?分析公式如何更新
        • @?学习率$\elta$从何而来,如何更新?
      • 缺点

        • 因为权重衰减, hebb迹在输入缺少的情况下衰减到0
    • Oja’s 规则

      • 优势

        • 可以在刺激缺少的情况下,无限保持权重值的稳定性。
        • 可以训练神经网络形成持续任意时间的记忆
      • 迭代更新步骤

        • @?分析公式如何更新
  • 为什么这样就能解决呢?

解决的效果怎样

意义

  • 为基于梯度的神经网络训练开辟了一条新的研究途径,而且具有重要的现实意义
  • 同时也证明了神经结构的元特性通常与进化或先天设计有关,实际上是可以梯度下降的

先导知识

循环神经网络

    • @?神经元的数目与隐藏层向量的维度相同
    • $s_t$表示在t时刻向量s的值
  • 循环神经网络的计算方法

  • 双向卷积神经网络
  • 双向卷积神经网络双向卷积神经网络的计算方法

    • 正向计算和反向计算不共享权重,也就是说U和U’、W和W’、V和V’都是不同的权重矩阵。
  • 深度循环神经网络 深度循环神经网络

    • 堆叠两个以上的隐藏层
  • 循环神经网络的训练算法:BPTT

    • 三个步骤

      • 前向计算每个神经元的输出值;

      • 反向计算每个神经元的误差项$\deta_j$, 是误差函数E对神经元j的加权输入的偏导数。

        • 误差项

          • 第l层t时刻的误差项$\deta_t^l$的值言两个方向传播
          • 一个方向是传递到上一层网络,得到$\deta_t^{l-1}$,这部分之和权重矩阵U有关。
          • 另一个方向是沿时间线传递到初始$t_1$时刻, 这部分只和权重矩阵W有关
        • 神经元在t时刻的加权输入

        • 误差函数对神经元j的加权输入的偏导数

          • 就是将误差项沿时间反向传播的算法
        • 将误差项传递到上一层算法

      • 计算每个权重的梯度

        • 梯度来自

          • 任意一个时刻的误差项
          • 上一个时刻循环层的输出值
      • 最后用随机梯度下降算法更新权重

反向传播

  • 从输出结果开始,求上一层的误差
  • 求得所有误差后,使用误差来更新权值

梯度下降

权值更新

深度学习

  • 感知器(使用阶跃函数作为激活函数的神经元)

    • 输入

      • 输入权值

        • 每个输入上有一个权值
        • 此外还有一个bias 就是权值w0*输入1
    • 激活函数

    • 输出

      • 就是权值与对应输入相乘(含w0和x0=1)
  • 感知器训练算法

    • 将权重初始化=0
    • 利用感知器规则迭代修改w
    • 感知器规则

XMind: ZEN - Trial Version