【类脑计算】突触可塑性模型之Hebbian学习规则和STDP

2024-06-15 23:20

本文主要是介绍【类脑计算】突触可塑性模型之Hebbian学习规则和STDP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 引言

突触可塑性 (Synaptic plasticity)指经验能够修改神经回路功能的能力。特指基于活动修改突触传递强度的能力,是大脑适应新信息的主要调查机制。分为短期和长期突触可塑性,分别作用于不同时间尺度,对感官刺激的短期适应和长期行为改变及记忆存储至关重要。
在这里插入图片描述

非对称 STDP 学习规则与对称 Hebbian 学习规则的区别

2 Hebbian学习规则

(1)数学模型
Hebbian学习是一种神经网络学习理论,它基于Donald Hebb在1949年提出的假设,即“神经元的联合使用会导致它们之间的连接增强”。这种学习规则通常被称为Hebbian规则或Hebbian学习理论,是神经科学和机器学习中理解和模拟大脑学习机制的基础之一。

Hebbian学习的核心思想是,如果两个神经元经常同时活动,它们之间的突触连接会变得更强壮。这可以用以下简单的数学形式表达:

Δ w i j = η x i x j \Delta w_{ij} = \eta x_i x_j Δwij=ηxixj

其中:

  • Δ w i j \Delta w_{ij} Δwij 是连接权重的增量。
  • η \eta η 是一个表示学习速率的小正数。
  • x i x_i xi x j x_j xj 分别是前一个神经元和后一个神经元的激活值。

原始的Hebbian学习规则可以进一步扩展,包括考虑权重的饱和和遗忘机制。例如,引入一个遗忘因子(forgetting factor) γ \gamma γ,可以使得权重随时间衰减,从而模拟短期记忆的遗忘过程:

w i j ( t + 1 ) = γ w i j ( t ) + η x i ( t ) x j ( t ) w_{ij}(t+1) = \gamma w_{ij}(t) + \eta x_i(t) x_j(t) wij(t+1)=γwij(t)+ηxi(t)xj(t)

其中,

  • w i j ( t ) w_{ij}(t) wij(t) 是在时间 ( t ) 时的权重。
  • w i j ( t + 1 ) w_{ij}(t+1) wij(t+1) 是更新后的权重。

这种形式的Hebbian学习规则可以模拟神经元之间的长期增强(Long-Term Potentiation, LTP),这是学习和记忆形成过程中的关键机制之一。

Hebbian学习规则在神经网络中的实现通常涉及突触权重的更新,以响应输入模式的激活。这种学习机制在多种类型的神经网络中都有应用,包括但不限于Hopfield网络、Boltzmann机、以及某些类型的递归神经网络(RNN)和长短期记忆网络(LSTM)。Hebbian学习是无监督学习的一种形式,因为它不需要外部的误差信号来指导学习过程。
(2)Hebbian学习规则的局限性
基本的Hebbian规则可能导致不稳定,因为如果两个神经元的激活水平最初只是弱正相关,规则会增加它们之间的权重,进而强化这种相关性,导致权重进一步增加。为了解决这个问题,可以采用一些稳定化方法,如限制权重的增长或采用更复杂的规则。
(3)改进的Hebbian学习
算法思想是将Hebbian学习规则与奖励机制结合起来以实现强化学习。首先将Hebbian更新与奖励直接相乘,但这种方法存在稳定性问题,因为它不能可靠地跟踪输入、输出和奖励之间的实际协方差。为了解决这个问题,然后提出了节点扰动规则,该规则通过引入随机扰动到神经激活中,并使用这些扰动而不是原始激活来进行权重更新,从而推动网络朝着奖励方向学习。这种方法不仅能够在生物学上合理地实现,而且还能够使网络从稀疏和延迟的奖励中学习复杂的认知或运动任务,实际上实现了REINFORCE算法,为强化学习提供了一种有效的解决方案。

3 STDP

STDP(Spike-Timing Dependent Plasticity)是一种理论模型,它允许基于神经元脉冲的相对时间来修改它们之间连接的强度。与Hebbian学习规则不同,STDP考虑了前突触和后突触脉冲的精确时间。STDP建议,如果前突触神经元在后突触神经元之前脉冲,它们之间的连接应该被加强;反之,则应该被削弱。STDP在多种生物系统中被观察到,并在神经回路的发展和可塑性中,包括学习和记忆过程中发挥关键作用。
当前突触神经元的脉冲出现在后突触神经元脉冲之前(即 Δ t = t post − t pre > 0 \Delta t = t_{\text{post}} - t_{\text{pre}} > 0 Δt=tposttpre>0),突触权重会增加,这种现象称为长时程增强(Long-Term Potentiation, LTP)。
当前突触神经元的脉冲出现在后突触神经元脉冲之后(即 Δ t = t post − t pre < 0 \Delta t = t_{\text{post}} - t_{\text{pre}} < 0 Δt=tposttpre<0),突触权重会减小,这种现象称为长时程抑制(Long-Term Depression, LTD)。
STDP的数学表达式比Hebbian学习规则更复杂,常见的公式是:

Δ w i j = { A + exp ⁡ ( − Δ t / τ + ) if  Δ t > 0 − A − exp ⁡ ( Δ t / τ − ) if  Δ t < 0 \Delta w_{ij}=\begin{cases}A_+\exp(-\Delta t/\tau_+)&\text{if }\Delta t>0\\-A_-\exp(\Delta t/\tau_-)&\text{if }\Delta t<0\end{cases} Δwij={A+exp(Δt/τ+)Aexp(Δt/τ)if Δt>0if Δt<0
其中, Δ w i j \Delta w{ij} Δwij是神经元i和j之间权重的变化, Δ t \Delta t Δt是前突触和后突触脉冲之间的时间差异, A + A+ A+ A − A- A分别是增强和抑制的幅度, τ + \tau+ τ+ τ − \tau- τ分别是增强和抑制的时间常数。

这篇关于【类脑计算】突触可塑性模型之Hebbian学习规则和STDP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

详解nginx 中location和 proxy_pass的匹配规则

《详解nginx中location和proxy_pass的匹配规则》location是Nginx中用来匹配客户端请求URI的指令,决定如何处理特定路径的请求,它定义了请求的路由规则,后续的配置(如... 目录location 的作用语法示例:location /www.chinasem.cntestproxy

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll