2022年新年伊始,畅想人工智能算法的未来,除了最主流的深度学习模型之外,还有哪些潜在的突破口呢?最近在Reddit 看到有人列举了10个方向。参见:https://www.reddit.com/r/MachineLearning/comments/rq6uih/d_other_ai_methodsalgorithms_except_deep_neural/
有:千脑理论、自由能原理、Testlin机器、层级实时存储算法等等,笔者根据其列出的参考路径,并且补充了来自维基百科、集智百科等相关的介绍内容,将这10个方向做了一个摘要性的内容简介,分享给大家。希望能抛砖引玉,欢迎大家就文中的方向提出您的见解,或者补充文中为体积的新方向。
千脑理论 The Thousand Brains Theory
人类大脑如何工作?千脑智能理论是近年涌现的一个非常有影响力的理论。2021年11月,比尔盖茨公布了心目中的2021年度5本必读好书,排第一位的便是《A Thousand Brains: A New Theory of Intelligence》,作者是Jeff Hawkins 。
支撑这本书的重要论文,是发表于2018年的A Framework for Intelligence and Cortical Function Based on Grid Cells in the Neocortex(基于新皮层网格细胞的智能和大脑皮层功能框架),论文地址:
千脑理论描述了一个通用的框架,用于理解新皮质的作用及其工作原理,该理论认为,新皮质并不是只学习了关于世界的一个模型,而是每一部分都学习了一份世界完整的物体与概念模型。 然后新皮层中的长程连接允许模型们协同工作,来构建你对世界的整体感知。该论文还预测了一种称为“移位细胞”(displacement cells)的新型神经元的出现,它与皮质网格细胞相互作用以表示物体相对于彼此的位置。
2021年6月,Jeff Hawkins 曾经出席北京智源大会,发表了题为「The Thousand Brains Theory - A roadmap for creating machine intelligence」的演讲,这是关于演讲内容的详细介绍:真正实现与人更类似的智能!Jeff Hawkins:创造机器智能的路线图
自由能原理 Free energy principle
自由能原理 Free energy principle是一个正式的陈述,它解释了生物系统和非生物系统如何通过将自己限制在有限的几个状态而保持在非平衡稳态。它表明系统最小化了内部状态的自由能函数,而内部状态包含了对环境中隐藏状态的信任。自由能的内隐最小化在形式上与变分贝叶斯方法 Variational Bayesian methods有关,最初由Karl Friston引入,作为神经科学中对具身知觉的解释,在那里它也被称为“主动推理”。
自由能原理解释了一个给定系统的存在,它通过一个马尔可夫毯 Markov blanket建模,试图最小化他们的世界模型和他们的感觉和相关知觉之间的差异。这种差异可以被描述为”出其不意” ,并通过不断修正系统的世界模型来减少这种差异。因此,这个原理是基于贝叶斯的观点,即大脑是一个“推理机”。弗里斯顿为最小化增加了第二条路线: 行动。通过积极地将世界改变为预期的状态,系统也可以使系统的自由能最小化。弗里斯顿认为这是所有生物反应的原理。弗里斯顿还认为,他的原则即适用于精神障碍也适用于人工智能。基于主动推理原则的人工智能实现比其他方法显示出优势。(摘自集智百科:什么是自由能原理 | 集智百科 | 集智俱乐部)
自由能原理,是一个公认非常晦涩的概念,下面是基于自由能原理、进行“主动推理”的示例说明,非常细腻、翔实:
Learn by example: Active Inference in the brain -1 | Kaggle
Tstelin 机器 Tsetlin machine
源自上世纪50年代,前苏联数学家Tsetlin提出了可进行学习的自动机,此种类型的自动机可以通过从学习数据中改变自身的状态转换函数的概率来对数据进行学习,并可以使用自身的状态来编码信息,不同于神经网络,这种自动机天然的具有对数据进行时序编码的特性,且具有良好的可解释性。(摘自:未来智能趋势:自动机与神经网络 - 知乎)
但纽卡斯尔大学高级讲师Rishad Shafik认为:“学习自动机几乎不可能在硬件上实现,因为有大量的状态需要去适应”。挪威阿格德大学的AI教授Ole-Christoffer Granmo,通过将学习自动机与经典的博弈论和布尔代数相结合,找到了一种降低学习自动机复杂性的方法。他将简化版的学习自动机应用到软件中,并以该学科创始人的名字将其命名为“Tsetlin机器”(Tsetlin machine)。(摘自:Tsetlin机器和神经网络之间的功耗差别 - 人工智能 - 电子发烧友网)
这是挪威阿哥德大学Ole-Christoffer Granmo建立的关于Tstelin机器的网站:
Home - An Introduction to Tsetlin Machines
上面刊登了他正在撰写的新书《An Introduction to Tsetlin Machines》,目前可以下载第1章:
http://tsetlinmachine.org/wp-content/uploads/2021/09/Tsetlin_Machine_Book_Chapter_1-4.pdf
层级实时存储算法 Hierarchical temporal memory
层级实时存储算法(HTM)是一种由Numenta开发的生物约束机器智能技术。HTM最初在2004年 Jeff Hawkins 和 Sandra Blakeslee合著的《On Intelligence》一书中有所描述,目前主要用于流数据中的异常检测。该技术基于神经科学以及哺乳动物(特别是人类)大脑新皮层中锥体神经元的生理学和相互作用。
HTM 的核心是学习算法,它可以存储、学习、推断和调用高阶序列。与大多数其他机器学习方法不同,HTM不断学习(在无监督过程中)未标记数据中基于时间的模式。HTM对噪声具有鲁棒性,并且具有高容量(它可以同时学习多种模式)。当应用于计算机时,HTM非常适合预测,异常检测,分类以及最终的感觉运动应用。
HTM已经通过Numenta的示例应用程序和Numenta合作伙伴的一些商业应用程序在软件中进行了测试和实施。 (以上翻译自维基百科:https://en.wikipedia.org/wiki/Hierarchical_temporal_memory)
这里是Numenta公司(Jeff Hawkins所创)关于HTM的相关研究论文、代码和数据:https://github.com/numenta/htmpapers
脉冲神经网络 Spiking Neural Networks
脉冲神经网络Spiking neuralnetworks (SNNs)是第三代神经网络模型,其模拟神经元更加接近实际,除此之外,把时间信息的影响也考虑其中。思路是这样的,动态神经网络中的神经元不是在每一次迭代传播中都被激活(而在典型的多层感知机网络中却是),而是在它的膜电位达到某一个特定值才被激活。当一个神经元被激活,它会产生一个信号传递给其他神经元,提高或降低其膜电位。
在脉冲神经网络中,神经元的当前激活水平(被建模成某种微分方程)通常被认为是当前状态,一个输入脉冲会使当前这个值升高,持续一段时间,然后逐渐衰退。出现了很多编码方式把这些输出脉冲序列解释为一个实际的数字,这些编码方式会同时考虑到脉冲频率和脉冲间隔时间。
(上文摘自:process-z.com,脉冲神经网络Spiking neural network_张竞成的博客-CSDN博客_spiking神经网络)
这篇文章Spiking Neural Networks(Spiking Neural Networks | Simons Institute for the Theory of Computing),对脉冲神经网络的研究历史、主要贡献者、现状和问题、相关数据集等作了比较好的梳理。
联想记忆 / 预测编码 Associative Memories via Predictive Coding
思路来自这篇论文 Associative Memories via Predictive Coding:https://arxiv.org/abs/2109.08063
联想记忆模型,是借鉴了人类大脑神经元存储、关联以及检索信息的模式。由于在人类智能中的重要性,联想记忆的计算模型已经发展了几十年,包括自动关联存储器,允许存储数据点和检索存储的数据点s当提供噪声或部分变体时s和异质关联记忆,能够存储和调用多模态数据。
在上面的论文中,作者们提出了一种用于实现联想记忆的新型神经模型,该模型基于通过感觉神经元接收外部刺激的分层生成网络。该模型使用预测编码进行训练,预测编码是一种基于错误(error-based)的学习算法,其灵感来自皮层中的信息处理。
分形人工智能 Ractal AI
分形AI,通过使用类似细胞自动机的结构而不是平滑函数对信息进行建模,它可以衍生出新的数学工具,这些工具构成了一种新的随机演算基础。
这篇论文(参见:https://github.com/Guillemdb/FractalAI),介绍了一种新代理(分形蒙特卡洛),它源自Ractal AI的第一原理(参见:https://github.com/Guillemdb/FractalAI/blob/master/introduction_to_fai.md),能够比其他类似技术(如蒙特卡罗树搜索)更有效地支持OpenAI Gym下的Atari-2600游戏;此外该论文还宣称提出了更先进的Swarm Wave实现,也来自分形AI原理,允许人们在环境的完美/信息模型下求解马尔可夫决策过程。
超维计算 Hyperdimensional Computing
超维计算(HDC)是一种新兴的计算方法,受到人脑神经活动模式的启发。这种独特的计算类型可以使人工智能系统根据以前遇到的数据或场景保留内存并处理新信息。为了对神经活动模式进行建模,HDC系统使用丰富的代数,该代数定义了一组规则来构建,绑定和捆绑不同的超向量。超向量是具有独立且分布相同的分量的全息10,000维(伪)随机向量。通过使用这些超向量,HDC可以创建功能强大的计算系统,该系统可用于完成复杂的认知任务,例如对象检测,语言识别,语音和视频分类,时间序列分析,文本分类和分析推理。(摘自:一种超维计算系统,可在内存中执行所有核心计算_腾讯新闻)
这里是关于超维计算项目的资源集合:
https://github.com/HyperdimensionalComputing/collection
双曲机器学习 Hyperbolic Neural Networks
详见这篇NeurIPS2018 论文 Hyperbolic Neural Networks(https://arxiv.org/abs/1805.09112)介绍,用构造双曲几何空间的形式,将深度神经模型泛化到非欧领域。双曲空间的优势,是其树形特性可被用于可视化大型的分类数据或者嵌入复杂网络,同时在分层、分类或者继承数据上的表现远远超过了欧式空间。在隐含的分层结构中,不相交的子树在嵌入空间中得到了很好的聚类。
这篇论文的主要贡献是在神经网络和深度学习的背景下建立双曲空间和欧式空间之间的鸿沟,以规范的方式将基本的算子和多项式回归、前馈网络、RNN和GRU泛化到双曲几何中的庞加莱模型中。
此外,推荐读者们还可以观摩一下这个hyperlib库,https://github.com/nalexai/hyperlib
该库在双曲空间中实现常见的神经网络组件(使用Poincare模型)。该库的实现使用Tensorflow作为后端,据作者宣称可以很容易地与Keras一起使用,旨在帮助数据科学家,机器学习工程师,研究人员和其他人实现双曲神经网络。
复值神经网络 Complex-Valued Neural Networks
复值神经网络是在复平面上处理信息的一类神经网络,其状态变量、连接权值与激励函数都是复值的。复值神经网络可视为实值神经网络的一种推广,但与实值神经网络有很多不同,具有更多复杂的性质.复值神经网络既可以处理现实生活中的复值问题,也可以处理实值问题,比实值神经网络功能更强大与更具优势,有些问题无法用实值神经网络解决,如XOR问题,而用复值神经网络则迎刃而解。(摘自:谢东《几类复值神经网络的动力学行为研究》,几类复值神经网络的动力学行为研究--《湖南大学》2017年博士论文)
这篇论文Deep Complex Networks(https://arxiv.org/abs/1705.09792),针对复杂神经网络设计了关键的原子组件,并应用于卷积前馈网络和卷积LSTM。