【自由能系列(中级),代码模拟】预测编码的核心:三个关键方程式的详解

预测编码的核心:三个关键方程式的详解
——探索预测编码背后的数学原理与应用

核心结论:预测编码是一种基于贝叶斯定理的理论框架,它通过三个关键方程式描述了大脑如何处理和解释来自环境的信号。这些方程式分别建立了贝叶斯定理的简化形式生成模型以及观察者模型,共同揭示了预测编码在感知-动作循环中的重要作用。

参考文献:
Jirsa, V.; Sheheitli, H. Entropy, Free Energy, Symmetry and Dynamics in the Brain. J. Phys. Complexity 2022, 3 (1), 015007. https://doi.org/10.1088/2632-072X/ac4bec.

在这里插入图片描述

【表格】预测编码的三个关键方程式

序号方程式名称方程式描述关键参数备注
1贝叶斯定理的简化形式 p ( x , y ∣ k ) = p ( y ∣ x , k ) p ( x ∣ k ) p ( y ∣ k ) p(x, y|k) = \frac{p(y|x, k)p(x|k)}{p(y|k)} p(x,yk)=p(yk)p(yx,k)p(xk) p ( x , y ∣ k ) p(x, y|k) p(x,yk):给定参数k下x和y的联合概率此方程式建立了状态变量x、y和参数k之间的概率关系,是预测编码的基础。
2Langevin方程(生成模型) Q ( t ) = f ( Q , k ) + v ( t ) Q(t) = f(Q, k) + v(t) Q(t)=f(Q,k)+v(t) Q ( t ) Q(t) Q(t):神经源级别的大脑激活状态; f ( Q , k ) f(Q, k) f(Q,k):确定性影响; v ( t ) v(t) v(t):波动力此方程式描述了大脑如何根据内部状态和参数生成预测,并考虑噪声的影响。
3观察者模型 Z ( t ) = h ( Q ( t ) ) + w Z(t) = h(Q(t)) + w Z(t)=h(Q(t))+w Z ( t ) Z(t) Z(t):实验可访问的传感器信号; h ( Q ( t ) ) h(Q(t)) h(Q(t)):正向模型; w w w:测量噪声此方程式将源活动Q(t)与实验可访问的传感器信号Z(t)联系起来,考虑了测量噪声的影响。在实际应用中,常假设h为恒等运算,w为零。

在这里插入图片描述

关键点关系描述

  1. 贝叶斯定理的简化形式是预测编码的起点,它建立了状态变量和参数之间的概率关系,为后续生成预测和更新模型提供了基础。
  2. Langevin方程(生成模型)描述了大脑如何根据当前状态和参数生成预测,并考虑了噪声的干扰。这是预测编码中“预测”部分的核心。
  3. 观察者模型则将大脑的预测与实际的传感器信号联系起来,通过比较预测和观测来更新大脑的内部模型。这是预测编码中“更新”部分的关键。
  4. 预测编码的循环过程包括生成预测、比较预测与观测、以及根据差异更新内部模型。这一过程与感知-动作的循环紧密相关,是大脑处理和理解环境信号的重要方式。
  5. 预测编码在生态心理学和神经科学中有着广泛的应用,它为我们理解大脑如何与环境进行交互提供了新的视角和方法。

在这里插入图片描述

Keywords:predictive coding, Bayesian theorem, Langevin equation, generative model, observer model, perception-action loop, ecological psychology, neural science.

关键词
#预测编码 #贝叶斯定理 #Langevin方程 #生成模型 #观察者模型 #感知-动作循环 #生态心理学 #神经科学

一个使用Python实现的预测编码过程的简单案例

在这个案例中,我们将模拟一个简单的情况,其中大脑试图预测并适应一个持续变化的环境信号。

import numpy as np
import matplotlib.pyplot as plt# 参数设置
np.random.seed(0)
n_iterations = 100
true_signal = np.linspace(0, 1, n_iterations)  # 真实信号
initial_guess = 0.5  # 初始猜测
noise_level = 0.1  # 噪声水平
learning_rate = 0.1  # 学习率# 初始化变量
signal_estimate = np.zeros(n_iterations)
signal_estimate[0] = initial_guess
prediction_errors = np.zeros(n_iterations)# 预测编码循环
for t in range(1, n_iterations):# 生成预测(这里简单地使用上一个时间点的估计作为预测)prediction = signal_estimate[t-1]# 模拟观测(真实信号 + 噪声)observation = true_signal[t] + np.random.normal(0, noise_level)# 计算预测误差prediction_error = observation - predictionprediction_errors[t] = prediction_error# 更新信号估计signal_estimate[t] = signal_estimate[t-1] + learning_rate * prediction_error# 可视化结果
plt.figure(figsize=(10, 5))
plt.plot(true_signal, label='True Signal', color='blue')
plt.plot(signal_estimate, label='Signal Estimate', linestyle='--', color='green')
plt.plot(prediction_errors, label='Prediction Errors', color='red', alpha=0.5)
plt.title('Prediction Coding Simulation')
plt.xlabel('Time')
plt.ylabel('Value')
plt.legend()
plt.show()

在这个代码示例中,我们模拟了一个持续变化的真实信号,并假设大脑试图通过预测编码来跟踪这个信号。大脑在每个时间点都会生成一个预测,然后将其与实际的观测进行比较,并根据预测误差来更新其内部模型(即信号估计)。最终,我们可视化了真实信号、信号估计以及预测误差

这个简单的案例展示了预测编码的基本思想,即大脑如何通过不断生成预测、比较预测与观测以及根据差异更新内部模型来处理和理解环境信号。在实际应用中,预测编码模型可能会更加复杂,包括多个变量、非线性关系以及更复杂的生成模型和观察者模型。

代码输出内容
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/53009.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

9月新机首发:骁龙芯片+超大电池,游戏玩家的终极选择

随着秋风送爽的9月到来,智能手机和电子设备市场也迎来了新一轮的热潮。8月份的新机发布热潮刚刚退去,9月份的新机已经迫不及待地揭开了神秘的面纱。在众多备受期待的产品中,红魔品牌抢先官宣,两款全新的游戏平板将在9月5日正式亮相…

论文速读|通过人类远程操作的深度模仿学习框架:人型机器人的行走操纵技能

项目地址:Deep Imitation Learning for Humanoid Loco-manipulation through Human Teleoperation 本文详细介绍了 TRILL(Teleoperation and Imitation Learning for Loco-manipulation)框架,它是一个用于人型机器人行走操纵技能训…

OpenCV绘图函数(14)图像上绘制文字的函数putText()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在图像上绘制指定的文本字符串。 cv::putText 函数在图像上绘制指定的文本字符串。无法使用指定字体渲染的符号会被问号(?&#xff…

简单梯形问题

如下图,ABCD是一个梯形,E是AD的中点,直线CE把梯形分成甲、乙两部分,其面积之比为5:2,那么上底AB与下底CD的长度之比是()。 A 2:5 B 3:5 C 3:4【正确答案】 D …

LLM:推理加速相关的结构优化

对于 LLM,加速推理并降低显存,是两个至关重要的问题。本文将从 Key-Value Cache 出发,介绍两种相关的模型结构改进。分别是 ChatGLM 系列使用的 Multi-Query Attention(MQA) 和 LLama 系列使用的 Grouped-Query Attent…

C++学习, 函数返回指针

C 允许函数返回指针&#xff0c;需要声明返回指针的函数。 声明函数返回指针方式&#xff1a; type *Function() { } 程序示例&#xff1a; #include <iostream> #include <ctime> #include <cstdlib> using namespace std; int *getRandom( ) { static…

前端与后端的身份认证

这里写目录标题 前端与后端的身份认证Web开发模式服务端渲染的Web开发模式前后端分离的Web开发模式根据场景选择开发模式 身份认证为什么需要身份认证不同开发模式下的身份认证 Session认证机制HTTP协议下的无状态性如何突破HTTP无状态的限制CookieCookie的几大特性&#xff1a…

ET算法【动态规划】

线性dp&#xff1a;dp[i][j] 由 dp[i - 1][j] 通过加减乘除等线性运算得到 状压dp&#xff1a;dp[i][j] 表示一个用二进制数表示的子集来反映当前状态&#xff0c;如7 &#xff08;111&#xff09;&#xff08;选了三个&#xff09; 期望dp&#xff1a;dp[i][j] 表示期望或者…

yolo8 目标检测、鉴黄

省流 看前必读 别浪费时间 &#xff1a;本文只是一个记录&#xff0c;防止自己下次被改需求时浪费时间&#xff0c;在这里就随意的写了一下文章记录整个步骤&#xff0c;但是文章想必肯定没有对应的教程讲的详细&#xff0c;该文章只适合想要快速按照步骤完成一个简单的 demo 的…

学习之git

github 创建远程仓库 代码推送 Push 代码拉取 Pull 代码克隆 Clone SSH免密登录 Idea集成GitHubGitee码云 码云创建远程仓库 Idea集成Gitee码云 码云连接Github进行代码的复制和迁移GitLab gitlab服务器的搭建和部署 Idea集成GitLabgit概述 一切皆本地 版本控制工具 集中…

win10配置adb环境变量

初始状态&#xff1a; 最简单的配置方案&#xff0c;直接复制adb所在路径&#xff1a; 粘贴进来确定即可&#xff1a; 然后打开 cmd 查看已经配置成功了&#xff1a;

【c++】cout打印char * 或者char[]的细节详解

目录 char* 类型 1.打印指向的字符串 2.打印指针指向的地址 问题描述 解决方法 char型数组 1. 想要输出字符串 2. 想输出字符数组的地址 printf 和cout 的对比 1.打印首字符 2.打印字符串 3.打印字符串首地址 &#x1f497;感谢阅读&#xff01;&#x1f497; char*…

用powermock编写单元测试

1、pom文件引入jar包 <!-- 单元测试 start --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope> </dependency> <dependency>&…

基于ZYNQ SOC的软件无线电处理平台

板载SOC实时处理器&#xff1a;XC7Z020-2CLG484I板载2片AD9361射频收发芯片&#xff0c;兼容AD80305具有1路千兆以太网口具有1个USB串口、1个USB OTG、1个SD卡ADC/DAC采集位宽&#xff1a;12位2路TX、2路RX&#xff0c;可实现全双工或者半双工 基于Xilinx ZYNQ SOC的软件无线电…

第 4 章 第 4 章 卷积神经网络-datawhale ai夏令营

独热向量 y ′ 的长度决 定了模型可以识别出多少不同种类的东西。我们希望 y ′ 和 yˆ 的交叉熵越小越好。 为了避免过拟合&#xff0c;在做图像识别的时候&#xff0c;考虑到图像本身的特性&#xff0c;并不一定 需要全连接&#xff0c;即不需要每个神经元跟输入的每个维度都…

Python中排序算法之插入排序

1 插入排序算法原理 插入排序算法与《Python中排序算法之选择排序》中提到的选择排序算法类似&#xff0c;也是将要排序的数列分为两个子数列&#xff08;红色框数列和绿色框数列&#xff09;&#xff0c;不同之处在于插入排序算法从绿色框子数列中逐个选择数字&#xff0c;之…

单片机内存区域划分

目录 一、C 语言内存分区1、栈区2、堆区3、全局区&#xff08;静态区&#xff09;4、常量区5、代码区6、总结 二、单片机存储分配1、存储器1.1 RAM1.2 ROM1.3 Flash Memory1.4 不同数据的存放位置 2、程序占用内存大小 一、C 语言内存分区 C 语言在内存中一共分为如下几个区域…

【生日视频制作】农村大马路绿色墙体广告标语喷漆AE模板修改文字软件生成器教程特效素材【AE模板】

生日视频制作教程农村大马路墙体广告标语喷漆AE模板改文字素材 怎么如何做的【生日视频制作】农村大马路绿色墙体广告标语喷漆AE模板修改文字软件生成器教程特效素材【AE模板】 生日视频制作步骤&#xff1a; 安装AE软件 下载AE模板 把AE模板导入AE软件 修改图片或文字 渲染出…

【最新消息】211高校,拟撤销测绘工程专业

近日&#xff0c;中国石油大学&#xff08;北京&#xff09;教务处发布《关于公示2024年度拟撤销本科专业的通知》&#xff0c;拟撤销音乐学、建筑学、测绘工程等9个本科专业。 通知内容如下&#xff1a; 根据《教育部高等教育司关于开展2024年度普通高等学校本科专业设置工作的…

【STM32】IIC

超级常见的外设通信方式&#xff0c;一般叫做I方C。 大部分图片来源&#xff1a;正点原子HAL库课程 专栏目录&#xff1a;记录自己的嵌入式学习之路-CSDN博客 目录 1 基本概念 1.1 总线结构 1.2 IIC协议 1.3 软件模拟IIC逻辑 2 AT24C02 2.1 设备地址与…