仿生学: 尺度和坐标轴

目录

尺度和坐标轴空间的建立是 生物大脑和深度学习的基石

深度学习必须有合适的时空框架, 能容纳特征空间的信息

生物大脑是如何建立时空框架的?

在算法层面, 生物用三角周期函数来做向量算法, 例如做位置的卡尔曼滤波算法

网格细胞生成的理论

仿生算法实现上的困难

具体设计思路



尺度和坐标轴空间的建立是 生物大脑和深度学习的基石

这是绕不开的基本概念,应该引起足够重视.

时间是什么? 空间是什么? 是频率, 是周期? 是多个嵌套的有层级的周期?


深度学习必须有合适的时空框架, 能容纳特征空间的信息

深度学习是个筐,什么都能往里装吗?

  • 可学习的参数是一个筐, 不论是全连接, cnn, rnn 都是用参数堆起来的.
  • 网络框架是另一个筐,相当于注入了先验知识.  比如:

            一旦采用cnn结构,就假设了训练集空间里有稀疏的特征, 和特征在空间上相邻.   

            一旦采用特征提取+ 生成结构, 就假设训练集空间里有稀疏的特征

为了让网络学习得到, 就要用合适的容器

  • 对于普通特征, 用全连接层就好, 排列组合嘛, 简单
  • 对于有时间维度的特征, 需要用rnn
  • 对于有空间的特征, 需要用cnn
  • 对于广泛的联系, 或者联想,或者FTWT  (fire together wire together), 需要用QKV或者高维度的余弦夹角计算相似度.

                现在有算法已经在使用 三角周期函数  , 例如transformer 里除了QKV的基本算法, 还有位置信息, 位置信息是多个二进制的三角函数的叠加

  • 对于信息编码, 也需要建立相应的空间来安放, 有的追求简洁,比如暴力的独热码编码, 有的追求效率,比如自然语言网络的嵌入层编码.

现今机器学习网络, 能够很好的拟合定性的特征,  但是在定量学习上, 不太能够学习到 基本的加法和减法, 更不要说更高阶的运算了.


生物的大脑是如何建立时空框架的?

人类非常擅长用数学工具, 建立复杂规则.

  • 引进空间尺度和时间尺度, 就必须引入数值的精确表示
  • 进而要引入更多的概念, 比如数值空间的定义域, 比如数值刻度表示精度, 比如进位逻辑二进制,十进制.

如果神经网络里仅仅引入一套这样的系统, 似乎问题不大.  但是引进后如何使用这个系统是个问题.如果在顶层统一引进, 需要每个神经元都与之发生交互规则, 比较消耗资源.  如果在每个神经元或神经元群组都引进一套这样的尺度, 会更加消耗资源,并且如何保持一致性也是大问题.

GPT-3这个模型拥有海量的参数和训练集,也没有能够学会最基本的四则运算.

生物则不然,擅长用非常简单的规则生长出异常复杂的结果.

接下来看看生物是如何优雅地建立维度和尺度关系的.

▼下图,   相同色彩的小圆点代表同一个位置细胞 

1971年  John O'Keefe教授  在鼠脑的海马区发现存在一群神经元,只有当动物经过特定位置时才会发放。通过组合的形式,“位置细胞”组成的集群能够以唯一的方式编码环境中的每一位置。
当老鼠位于房间中的某个位置时,某些细胞被激活,而当老鼠移动到另一个位置时,其他细胞也被激活。也就是说,这些细胞形成了房间的内部图。

仿生学: 尺度和坐标轴_第1张图片

▼下图左侧,     网格细胞 (红点), 叠加在老鼠运动路线上(黑线)

2005年  Moser教授夫妇 在鼠脑内嗅皮层发现存在一群神经元,当老鼠经过空间中某些点时,就会激活.  形成排列成六边形网格的导航坐标系, 名曰网格细胞。上面说过的位置细胞的主要信号来源于网格细胞的输入。

仿生学: 尺度和坐标轴_第2张图片

▼下图,   在硬件方面,在解剖层面, 动物大脑中有专门的位置来安放尺度框架结构.  容纳时空相关的尺度信息.

  • 在内嗅皮层(MEC)中有网格细胞,
  • 在海马体中有位置细胞

仿生学: 尺度和坐标轴_第3张图片

▼下图,   网格细胞, 包含了金字塔层级算法, 右下角的网格细胞的从上向下,间距逐步加大

内嗅皮层II层的邻近细胞具有相似的间距和方向。它们的间距从内嗅皮层的背侧到腹侧单调增加 ,就像位置细胞的空间尺度从海马体的背侧到腹侧增加一样.

仿生学: 尺度和坐标轴_第4张图片

对于空间特征, 人工神经网络在cnn建立框架的基础上, 再用金字塔层级过滤出特征, 保持缩放不变性.  对应的,  生物网格细胞也有层级结构, 但是这里的层级结构似乎只是用来生成尺度缩放的信息.

▼下图,   网格细胞, b图,c图,从左到右,  间距逐步加大

仿生学: 尺度和坐标轴_第5张图片

▼下图,  生物 脑中的 卡尔曼滤波算法.     海马中的位置细胞 ,使用两种类型的输入更新位置:位置估计和视觉校准。位置-速度-方向信号集成在这些神经细胞中,此计算过程称为“路径积分”。

仿生学: 尺度和坐标轴_第6张图片

仿生学: 尺度和坐标轴_第7张图片

果蝇大脑是这样建立时空框架的:

  • 引入了三角周期函数,  用三角周期函数的相位表示向量的角度,
  • 引入了放电强度(频率)函数, 用放电强度函数表示速度, 位置或距离,
  • 引入了先验知识(存储在基因层面), 构建起表示前后左右的神经元

小鼠大脑是这样建立时空框架的:

  • 引入了先验知识(存储在基因层面), 表示刻度体系的网格细胞,
  • 表示物体位置的(边界的)细胞,
  • 表示头部方向的方向细胞,
  • 表示速度的细胞.


在算法层面, 生物用三角周期函数来做向量算法, 例如做位置的卡尔曼滤波算法

具体来说,是 用正弦(余弦)波的幅度代表速度(大小), 用相位代表角度.

仿生学: 尺度和坐标轴_第8张图片

一维连续吸引子网络  编码了头朝向,二维连续吸引子网络  编码了空间位置,

from  脑中的指南针和环吸引子模型 

from  果蝇神经网络向量运算方式


网格细胞生成的理论:

  • 双层重叠网格的摩尔纹
  • 连续吸引子理论

                模板作用,  金字塔细胞的分布密度, 大致决定了网格细胞的密度.

  • 图灵斑 和 B-Z 振荡

吸引子和图灵斑理论中有激活和抑制两种机制在对抗, 一个是广泛的远程抑制作用, 一个是强大但作用距离短的近程激活作用, 当二者在数量级上达到基本均衡就会产生图灵斑.


仿生算法实现上的困难,

生物非常擅长自组织结构,用简单规则,生成复杂pattern, 建立复杂功能.  不论是时间还是空间, 似乎都能用 三角周期函数来代表, 真正的实现了时空的大一统.   

  • 脑中有一些细胞可以自发的周期性的放电,  并且用周期性的放电维持细胞群的同步.
  • 生物脑 不仅有 众多的物理连接, 是超并行系统,
  • 还具有稀疏尖峰放电的通讯方式, 相当于增加了一个时间维度, 能够实现同时放电神经细胞间自动建立连接(fire together wire together), 这个相当有用, 有潜力作为反向梯度传播算法的替代.
  • 生物脑里有多种神经递质作为不同的信号系统, 这也相当于增加了一个信号维度
  • 生物脑中有相当一部分细胞承担着抑制的功能, 让网络不至于高度活跃, 继而崩溃. 现在的神经网络的参数,大多是学习激活这一方面, 较少学习抑制这一方面. 有时候采用了"relu激活函数", 根本没有抑制的功能(??), 正半轴的y=x 无限放飞, 也许用正则化来压制( 比如数据除以方差减去均值, 比如加入LN层, 或者加入 BN层). 

所以说, 如果不从芯片层级, 从硬件层级去模仿生物脑, 仅从软件方式去模拟, 或者不可行, 或者能效太低以至于接近不可行.


具体设计思路

所以, 半机器学习 + 半手动编程的 杂交算法是现阶段理性的选择.

  • 虽然程序员编程的算法又快又好.  但是毕竟需要手动.  不利于机器学习算法的发展.
  • 仿生现阶段需要等待硬件的成熟.

可能采用的一些算法

  • 机器人步态算法, 用机器学习 , 序列+周期时钟发生器 可以形成步态发生器.

  • 直接用二维矩阵(二维数组)模拟鼠脑中的网格细胞
    • 用极坐标和直角坐标表示空间,
    • 用整数或浮点数表示空间中的刻度,  也可以用叠层的三角周期函数表示空间中的刻度
    • 用矩阵乘法, 将二维平面进行旋转和平移
    • 用多个平面叠合在一起,简化立体空间 的内存占用和算力消耗
  •  对比和预测的算法, 对比预测和输入, 同时矫正时空信息并发现异常, 处理异常.

  • 用多个层级的网格细胞, 表示(影射到)位置细胞.  (这里可以用全连接层??)


如果建立了一些基本的概念和框架, 植入了一些先验知识, 网络也许能够学习到数值表示的本质和相应的运算规则

人工智能,能学会加减乘除吗? - 知乎

  • 深度学习能够学会加法吗? 
  • 不加先验知识,神经网络能否学习到这样简单的概念(如两点间距离)? 
  • 神经网络四则运算做得了吗? 
  • 深度学习能不能学会乘法?
  • 在人工神经网络(ANN)转换成脉冲神经网络(SNN)中都是基于加法或者减法的操作,如何实现乘法操作呢?

你可能感兴趣的:(算法,深度学习,人工智能,神经网络)