【博士每天一篇论文-算法】Optimal modularity and memory capacity of neural reservoirs

本文主要是介绍【博士每天一篇论文-算法】Optimal modularity and memory capacity of neural reservoirs,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

阅读时间:2023-11-15

1 介绍

年份:2019
作者:Nathaniel Rodriguez 印第安纳大学信息学、计算和工程学院,美国印第安纳州布卢明顿
期刊: Network Neuroscience
引用量:39
这篇论文主要研究了神经网络的模块化与记忆性能之间的关系,提出记忆性能存在一个最佳模块化程度,即在局部凝聚性和全局连接性之间建立平衡。这种最佳模块化可以使神经网络具有更长的记忆能力。
作者提出从神经网络的动力学分析和信息传播过程中获取的见解可以用于更好地设计神经网络,并可以揭示大脑的模块化组织。
研究了基于信息扩散和储备计算机的模块化的作用,展示了这对于平衡局部和全局通信和计算的能力以及提高记忆性能的效果。

2 创新点

(1)揭示了记忆性能的最佳模块化结构
通过研究神经网络的结构组织如何影响其功能能力,发现在记忆性能方面存在一个最佳的模块化结构。这个最佳模块化结构在局部凝聚性和全局连接性之间实现了平衡,从而使神经网络能够具有更长的记忆能力。
(2)动力学分析和信息传播过程揭示了设计神经网络的见解
作者提出了通过神经网络的动力学分析和信息传播过程来更好地设计神经网络的方法,并提出这种方法可能为大脑的模块化组织提供见解。通过基于信息扩散理论的模块化角色的研究,作者探讨了模块化在储层计算机中的作用。
(3)ESN中的社区的作用
通过研究信息扩散理论和模块化对预留河计算机的影响,作者发现ESN中的社区可以在局部和全局通信和计算之间提供平衡的方式,从而提高记忆性能。

3 相关研究

(1)储层计算(Reservoir computers)是生物学上可行的大脑计算模型
【Reservoir computing properties of neural dnamics in prefrontal cortex】
【Minimal approach to neuro-inspired information processing】
(2)储层计算与RNN不同,储层计算仅训练少量输出参数,而不是训练所有连接参数。储层计算机利用神经储层的隐式计算能力-模型神经元的网络。
储层计算机学习特定行为的能力取决于储层的动力学集合的丰富程度。
【Reservoir computing approaches to recurrent neural network training】
【A neurodynamical model for working memory】
(3)在ESN中受多个因素的影响,包括谱半径(the spectral radius )、输入和储层权重尺度( reservoir weight scales)以及储层大小( reservoir size)。
在记忆任务中,性能在谱半径的临界点附近急剧增加,嵌入在具有长转换和前一输入回响神经元状态的动力学区域,保存了过去的信息。【A neurodynamical model for working memory】【An experimental unification of reservoir computing methods】发现权重分布在性能方面也起重要作用。【Effects of synaptic connectivity on liquid state machine performance】
(4)储层拓扑的影响有较多的研究
使用小世界【Collective behavior of a small-world recurrent neural system with scale-free distribution.】, scale-free【 Collective behavior of a small-world recurrent neural system with scale-free distribution】,columnar 【Effects of synaptic connectivity on liquid state machine performance】【.A priori data-driven multi-clustered reservoir generation algorithm for echo state network-2015】,Kronecker图【An approach to modeling networks-2010】和带有横向抑制的集合【Decoupled echo state networks with lateral inhibition】,每种方法的性能都优于简单的随机图。

4 实验分析

4.1 验证线性阈值模型中发现的最优模块化现象是否适用于神经

通过两个模拟实验,验证了最优模块化现象不仅适用于线性阈值模型,也可以推广到神经网络中的沉积池。实验结果表明,当网络中的模块连接强度适中时,可以实现最大激活效果,优化整个网络的响应。
image.png
(1)第一个实验使用了一个简单的双社区配置,其中桥梁比例μ控制网络中的社区结构强度。当μ=0时,社区之间完全隔离,社区结构最强;当μ≈0.5时,社区之间连接最多。实验结果显示,即使没有指定种子社区,类似的最优模块化行为仍然存在。在低μ值下,由于缺乏桥梁的存在,输入信号无法得到加强,即使是高度凝聚的社区也无法被激活。在高μ值下,虽然存在许多全局桥梁有助于巩固信号,但局部凝聚度不足以维持强烈的响应。在最优区域,社区的放大效应与桥梁的全局传播之间存在平衡,使得网络能够将亚临界的、全局分布的信号传播到整个网络。然而,在线性和双曲正切的库中,并未发现这种关系。
(2)第二个实验模拟一个具有许多社区的网络,这些社区类似于ESN(Echo State Network)或大脑中观察到的社区。与之前的研究仅仅考虑输入到单个社区不同,这里扩展到了多个社区。实验结果显示,即使没有指定的种子社区,类似的最优模块化行为也出现。在低μ值下,由于缺乏桥梁的存在,输入信号无法得到加强,甚至无法激活高度凝聚的社区。在高μ值下,许多全局桥梁有助于巩固信号,但局部凝聚度不足以维持强烈的响应。在最优区域中,社区的放大效应与桥梁的全局传播之间存在平衡,使得网络能够将亚临界、全局分布的信号传播到整个网络。然而,在线性和双曲正切的库中,并未发现这种关系。

4.2 最优模块化对神经网络记忆能力的影响

通过Jaeger(2002)开发的常见的记忆基准任务。【Short term memory in echo state networks】
在记忆任务中,研究了最优模块化对神经网络记忆能力的影响。结果发现,当网络模块化结构较强时,网络的记忆能力较差。随着模块之间的连接增强,网络的记忆性能显著改善,但当连接过于密集时,会导致性能下降。模块化会降低记忆容量,因为社区创建了信息瓶颈。然而,权重尺度(weight-scales)在ESN中能平衡这个性能。使用输入信号与延迟输出信号之间的二项分布的决定系数来量化ESN的性能。网络的记忆容量是在所有时间延迟下的这些性能之和。MC是网络的记忆容量。
image.png

4.3 记忆任务中的模块化结构对性能的影响

引入一个召回任务,在网络中输入随机生成的二进制序列,并通过网络的吸引子(Attractors)空间来存储并召回这些序列。发现模块化网络在性能上表现更好,并且在μ约为0.1时达到最佳性能。此外,模块化网络具有更多的可用吸引子,而过度互连会导致吸引子数量减少。在适度的模块化结构下,网络具有更多的可用吸引子,有利于提高网络的信息存储能力。然而,过多的连接会将各个初始状态牵扯到少数几个大吸引子中,导致性能下降。
image.png
吸引子表示网络在记忆和召回过程中所处的特定状态。吸引子提供了一种稳定的状态,使得网络可以存储和恢复信息。

5 代码

https://github.com/Nathaniel-Rodriguez/reservoirlib

6 思考

作者从多个角度去分析了模块化结构对于类脑网络ESN的影响。此外模块化结构还有助于在噪声环境、学习新技能和处理系统建模等方面提高神经网络的性能。
作者用两种方法去评价模型的记忆能力和信息存储能力,分别是MC和Attractors方法。本文比较新颖的提出了用Attractors去评价模型的记忆存储能力。MC方法适用于不依赖于具体系统模型的性能评估,而Attractors方法则适用于需要考虑系统动力学特性的性能评估。

这篇关于【博士每天一篇论文-算法】Optimal modularity and memory capacity of neural reservoirs的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/592359

相关文章

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

golang字符串匹配算法解读

《golang字符串匹配算法解读》文章介绍了字符串匹配算法的原理,特别是Knuth-Morris-Pratt(KMP)算法,该算法通过构建模式串的前缀表来减少匹配时的不必要的字符比较,从而提高效率,在... 目录简介KMP实现代码总结简介字符串匹配算法主要用于在一个较长的文本串中查找一个较短的字符串(称为

通俗易懂的Java常见限流算法具体实现

《通俗易懂的Java常见限流算法具体实现》:本文主要介绍Java常见限流算法具体实现的相关资料,包括漏桶算法、令牌桶算法、Nginx限流和Redis+Lua限流的实现原理和具体步骤,并比较了它们的... 目录一、漏桶算法1.漏桶算法的思想和原理2.具体实现二、令牌桶算法1.令牌桶算法流程:2.具体实现2.1

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

康拓展开(hash算法中会用到)

康拓展开是一个全排列到一个自然数的双射(也就是某个全排列与某个自然数一一对应) 公式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! 其中,a[i]为整数,并且0<=a[i]<i,1<=i<=n。(a[i]在不同应用中的含义不同); 典型应用: 计算当前排列在所有由小到大全排列中的顺序,也就是说求当前排列是第