(2024,DONN,OCNN,复数域,交替的非线性激活层与振荡器层,复值反向传播)深度振荡神经网络

Deep Oscillatory Neural Network

公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)

目录

0. 摘要

1. 简介

2. 方法

2.1 深度振荡神经网络(DONN)

2.2 振荡卷积神经网络(OCNN)

2.3 使用振荡神经网络进行分类

3. 实验

F. 动作识别:UCF 11

G. 视频帧预测任务


0. 摘要

我们提出了一种新颖的、受大脑启发的深度神经网络模型,称为深度振荡神经网络(Deep Oscillatory Neural Network,DONN)。像 RNN 这样的深度神经网络确实具有序列处理能力,但网络的内部状态并未设计成展现类似大脑振荡活动的形式。出于这个动机,DONN 被设计成具有振荡内部动态。DONN 的神经元要么是非线性神经振荡器,要么是具有 Sigmoid 或 ReLU 激活的传统神经元。模型中使用的神经振荡器是 Hopf 振荡器,在复数域中描述其动态。输入可以以三种可能的模式呈现给神经振荡器。Sigmoid 和 ReLU 神经元也使用复值扩展。所有的加权阶段也是复值的。训练遵循通过最小化输出误差来改变权重的一般原则,因此总体上类似于复数反向传播。我们还提出了将 DONN 推广到卷积网络的模型,称为振荡卷积神经网络(Oscillatory Convolutional Neural Network,OCNN)。这两种提出的振荡网络被应用于信号和图像/视频处理中的各种基准问题。提出的模型的性能要么与相同数据集上的已发表结果相当,要么更优越。

1. 简介

大量的研究历史表明,大脑中的振荡活动与认知功能 [20]、正常状态下的大脑状态(例如睡眠和清醒)[21] 以及异常状态(例如麻醉 [22] 和癫痫 [23])有关。这些研究使人们了解到,大脑中的感知、记忆和其他高级认知功能是通过大脑中同步振荡网络来实现的。大脑中的振荡神经活动被认为横跨了 0.05 到 500 Hz 的频率范围 [24]。这个广泛的频率范围已经被划分为大约十几个频率带,在对数尺度上呈线性递进。每个频带都与特定的大脑状态相关联,相邻的带与类似状态相关联。

考虑到振荡在大脑功能中的重要性,任何大规模的大脑功能模型都必须容纳这种振荡大脑活动,并反映出各种大脑频率的经验确定的重要性。神经质量模型(Neural mass models) [25] 已经有效地用于描述中观和宏观水平的大脑动态。在这些模型中,基本单位不是单个神经元,而是神经群,其集体活动由非线性的 “神经” 振荡器描述。流行的低维振荡器模型,如 Hopf 振荡器、Wilson-Cowan 振荡器 [26]、FitzHugh-Nagumo [27] 振荡器和 Kuramoto 振荡器已经用于这些网络。这样的振荡网络已被用来描述通过功能性成像技术如 fMRI、MEG 和高密度 EEG 表达的大脑动态 [28]–[33]。然而,尽管这些振荡网络能够捕捉到大脑动态,但它们无法学习输入-输出行为。此外,在那些振荡网络被用来描述行为的情况下,它们通常限于本质上振荡或有节奏的行为,如运动行为 [34]、节奏性手部动作 [35]、游泳动作 [36] 等。

综上所述,有明显的需要发展深度神经网络,其中隐藏层由振荡神经元模型构成。这些网络必须能够学习任何深度神经网络一样的输入/输出行为。在本文中,我们应对这一挑战,提出了一般类的可训练的深度振荡神经网络。

2. 方法

2.1 深度振荡神经网络(DONN)

我们网络中使用的振荡神经元模型是 Hopf 振荡器。它是一个带有稳定极限回路(stable
limit cycle)的谐振器。经典的 Hopf 振荡器由以下复值微分方程描述:

其中 ω 是 Hopf 振荡器的固有角频率,I(t) 是振荡器的外部输入。极坐标表示对我们的分析更为明确,如下所示:

其中 Ω 是振荡器和外部输入的角频率之间的差异。振荡器表现出四种不同的动态行为,其特征参数为 (μ, β1, β2):

  • 临界 Hopf 区域(critical Hopf regime) (μ = 0, β1 < 0, β2 = 0)
  • 超临界 Hopf 区域(supercritical Hopf regime) (μ > 0, β1 < 0, β2 = 0)
  • 双极限回路区域(double limit cycle regime) (μ < 0, β1 > 0, β2 < 0)

我们将注意力限制在临界或超临界区域;有关其他区域的更详细分析,请参阅 [37]。然后方程转化为:

振荡神经网络模型由连续的静态密集或卷积层、非线性激活和动态的 Hopf 振荡器层组成。通用的振荡神经网络如图 1 所示。在正向传播中,输入 z_in(t) 可以以三种模式呈现给振荡器层;要么作为外部输入 I(t),称为谐振器模式,要么作为振幅 μ(t) 的输入,通常称为振幅调制,要么作为频率 ω(t) 的输入,称为频率调制(图 2)。对单个振荡器单元的这三种输入模式的正向传递方法如下描述:

1) 谐振器模式(输入呈现为 I(t)):在外部复值周期驱动(角频率为 ω0)下,z_in(t) = I(t) = I0·e^(i·ω0·t),对于超临界 Hopf 分岔的情况,方程 4 转化为:

其中 ψ = θ − ω0·t,Ω = ω − ω0 是振荡器和外部输入的角频率之间的差异。在强迫(I0 ≈ 10^-1)的情况下,超临界 Hopf 振荡器的行为如图 3 所示。振荡器在其固有频率附近的一小范围内显示共振。然后,振荡器激活处于与输入信号频率锁定的状态,即振荡器激活的频率等于输入信号的频率。此外,在较小的频率范围内,振荡器激活处于相位锁定状态(图 3)。在此范围之外,系统发生相位滑动。我们注意到,图 3 中描述的共振仅适用于输入具有特定形式的情况,即 I(t) = I0·e^(i·ω0·t)。

2) 振幅调制(输入呈现为 μ(t)):在这种情况下,将 z_in(t) 作为振荡器的 r 方程的输入,动态方程如下:

其中,ℜ 表示复数的实部。由于振荡器的振幅是一个正数,必须确保,κ_μ·min(ℜ(z_in)) + μ0 > 0,其中 min(ℜ(z_in)) 是 ℜ(z_in(t)) 的最小值。

3) 频率调制(输入呈现为 ω(t)):在这种情况下,z_in(t) 被作为振荡器的 θ 方程的输入。在这种情况下,输入调制了有效的振荡器频率,如下所示:

在输入的后两种模式中,Hopf 振荡器的激活受到输入振荡的调制,因此得名。在本文中,我们只使用前两种输入模式来呈现给神经振荡器。上述微分方程从 t = 0 . . . T 使用与数据集相关的固定时间步的前向欧拉方法进行求解。假设上述系统的解为 {r, θ},则输出如下:

如图 1 所示,将振荡器层的复值激活(方程 9)馈送到静态层中,然后应用复值非线性激活函数 f,如下所示(在时间上逐点): 

其中 ℜ、ℑ 表示复数的实部和虚部。复值非线性激活函数 f 可以是 ReLU、tanh 或 sigmoid 函数。上述所有函数均是连续可微的。我们使用 TensorFlow 库的自动微分功能(autograd)计算反向传播的梯度,以更新网络权重。

2.2 振荡卷积神经网络(OCNN)

在我们提出的 OCNN 模型中,由于存在振荡元素,高层神经元具有时空响应。振荡器的排列与输入特征图相同,以保持空间信息。振荡器的固有频率从适当范围的均匀随机分布中采样。频率分布通过 3x3 的高斯模糊核在每个通道的 2D 振荡器排列上传递。这种卷积和振荡器的层次排列使得在时空尺度上学习和检测不同复杂性水平的特征成为可能,参见图 4。

2.3 使用振荡神经网络进行分类

由于 DONN 模型的动态性质,网络的输出始终是一个时间序列。如果网络的任务是一个分类问题,那么标签必须以不同的方式定义。为了对振荡器激活进行等效的分类评分,我们使用阶梯方法来确定预测类别。类似阶梯的分类经常在生物模型中使用,因为它们密切复制了基于竞争的阈值标准来选择获胜神经元 [38]。对于每个时间步,所有类别(最后一层对应的神经元)的期望预测都是零,除了期望的类别,其中期望值线性上升。通过选择在时间步中具有最大平均值的神经元来确定预测类别。

3. 实验

F. 动作识别:UCF 11

为了展示 OCNN 网络在时空领域的序列处理能力,我们使用 UCF11 YouTube 动作数据集 [41] 对网络进行验证。UCF11 是一个标准的 3 通道 RGB 视频分类数据集,具有不同的视角、背景和摄像机运动。该数据集包含 11 个动作类别,所有视频的帧数均设为 50,每帧从原始的 224×224 调整大小为 48×48,考虑到有限的计算能力。数据集被划分为训练集和验证集,分别包含 1290 和 305 个样本。

用于此任务的网络由两对卷积-振荡器层组成,然后是展平(flatten)层和密集(dense)层。用于该任务的网络架构细节如表 VI 所述。振荡器的时间步长设置为 0.02 秒,时间步数等于视频样本中的帧数。Adam(学习率:0.0001)和均方误差(MSE)被用作优化器和损失函数进行训练。

图 15 显示了在验证数据上的准确率和损失曲线,图 16 显示了期望输出和模型输出。该模型的验证 MSE 损失和准确率分别为 0.0564 和 99.75%(p<0.05,n=10)。 

G. 视频帧预测任务

在视频帧预测任务中,给定时间 t 的输入帧时,网络必须在时间 t + 1 预测下一个帧 [42]。我们生成了一个合成数据集来进行实验。数据集中的每个视频都是 40×40 的灰度图像,帧数为 16。正方形可以以 360 度中的任一可能方向移动,其中每个正方形的尺寸范围为 2 到 4(图 11)。总共生成了 1000 个这样的视频,使用 8:2 的训练-验证分割。将前 15 帧(t = 0 到 t = 14)作为网络的输入,网络应该预测接下来的 15 帧(t = 1 到 t = 15)。

网络架构如表 VII 所示。使用 Adam 优化器,学习率为 0.001 来优化目标函数,均方误差(MSE)被用作损失函数。总的可训练参数为 30,401。训练后的验证 MSE 损失为 0.04(p<0.05,n=10)。我们模型的一个样本预测如图 17 所示。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

人物特效游戏玩法,门坎低,适合新手上手项目【揭密】

项目简介&#xff1a; 本项目涉及我们日常使用的美肤产品和效果维持&#xff0c;我们需要提交自己的作品&#xff0c;完成官方网站发布的任务。任务完成后&#xff0c;提交审核&#xff0c;一旦审批通过&#xff0c;收益就会到账。 项 目 地 址 &#xff1a; laoa1.cn/1961.…

Python-VBA函数之旅-round函数

目录 一、round函数的常见应用场景 二、round函数使用注意事项 三、如何用好round函数&#xff1f; 1、round函数&#xff1a; 1-1、Python&#xff1a; 1-2、VBA&#xff1a; 2、推荐阅读&#xff1a; 个人主页&#xff1a; https://blog.csdn.net/ygb_1024?spm1010.2…

部署tomcat部署LNAMT

这里写目录标题 部署tomcatjava环境安装 部署LNAMT更改tomcat端口号 tomcat就是中间件之一&#xff0c;tomcat本身是一个容器&#xff0c;专门用来运行java程序&#xff0c;java语言开发的网页.jsp就应该运行于tomcat中。而tomcat本身的运行也依赖于jdk环境。 部署tomcat java…

LVS 负载均衡部署 NAT模式

一、环境准备 配置环境&#xff1a; 负载调度器&#xff1a;配置双网卡 内网&#xff1a;172.168.1.11(ens33) 外网卡&#xff1a;12.0.0.1(ens37)二台WEB服务器集群池&#xff1a;172.168.1.12、172.168.1.13 一台NFS共享服务器&#xff1a;172.168.1.14客户端&#xff…

2024年全网最新AI实景自动无人直播软件:引领智能直播新潮流;打造智能化、互动性强的直播平台

随着互联网的飞速发展&#xff0c;直播已经成为商家品牌推广和产品宣传的重要方式。然而&#xff0c;AI实景自动无人直播软件的问世&#xff0c;进一步推动了直播行业的智能化进程&#xff0c;为商家带来了全新的直播体验。&#xff08;ai无人自动直播大量招商加盟&#xff1b;…

【解疑】ZIP分卷压缩文件如何设置和取消密码?

压缩大文件&#xff0c;我们可以设置压缩成ZIP分卷文件&#xff0c;这样更利于传输和存储。如果分卷文件比较重要&#xff0c;还可以设置密码保护&#xff0c;那ZIP分卷压缩文件的密码如何设置和取消呢&#xff1f;下面一起来看看吧&#xff01; 设置ZIP分卷密码&#xff1a; …

配电室智能巡检机器人

近年来&#xff0c;生产过程高度自动化&#xff0c;各工矿企业关键场所需定期巡检维护。但目前巡检主要靠人工&#xff0c;既耗时费力效率又低&#xff0c;且受环境等因素影响&#xff0c;巡检难以全面规范&#xff0c;隐患或问题易被忽视。在此情况下&#xff0c;如何利用现有…

Python爬虫基础知识学习(以爬取某二手房数据、某博数据与某红薯(书)评论数据为例)

一、爬虫基础流程 爬虫的过程模块化&#xff0c;基本上可以归纳为以下几个步骤&#xff1a; 1、分析网页URL&#xff1a;打开你想要爬取数据的网站&#xff0c;然后寻找真实的页面数据URL地址&#xff1b; 2、请求网页数据&#xff1a;模拟请求网页数据&#xff0c;这里我们介…

安卓模拟器访问主机局域网

误打误撞能够访问主机局域网了 但是不太懂是因为哪一部分成功的 先记录一下 PC&#xff1a;mac系统 安卓编译器&#xff1a;Android Studio 步骤 只需要在PC上进行设置 1. 在【设置】中&#xff0c;打开已连接的Wi-Fi的【详细信息】 2. TCP/IP --> 配置IPv6&#xff0c;修…

roofline model加速模型部署最后一公里

文章目录 模型部署教程来啦:)什么是Roofline Model&#xff1f;算法模型相关指标计算量计算峰值参数量访存量带宽计算密度kernel size对计算密度的影响output size对计算密度的影响channel size对计算密度的影响group convolution对计算密度的影响tensor reshape对计算密度的影…

网站使用SSL证书有什么好处

SSL证书是一种用于加密在网络上传输的数据以确保安全性和隐私的数字证书。下面我们来谈谈一个网站使用SSL证书后有哪些好处&#xff1a; 首先&#xff0c;使用SSL证书可以保护用户的隐私。在没有SSL证书的情况下&#xff0c;用户的个人信息和敏感数据可能会被黑客窃取或篡改。…

npm安装指定版本,npm删除依赖,卸载依赖

安装指定版本 npm中安装指定的版本号&#xff0c;格式为 ‘包名版本号’ npm install 包名称版本号 --save 例如安装jquery: npm install jquery3.0.0 --save在package.json里面可以看到对应的包&#xff1a; "jquery": "^3.0.0"注意&#xff1a;已有…

基于springboot实现医院药品管理系统项目【项目源码+论文说明】

基于springboot实现医院药品管理系统演示 摘要 身处网络时代&#xff0c;随着网络系统体系发展的不断成熟和完善&#xff0c;人们的生活也随之发生了很大的变化&#xff0c;人们在追求较高物质生活的同时&#xff0c;也在想着如何使自身的精神内涵得到提升&#xff0c;而读书就…

CentOS 重启网络失败service network restart

命令 service network restart 提示 Job for network.service failed because the control process exited with error code. See “systemctl status network.service” and “journalctl -xe” for details. 原因分析 使用journalctl -xe命令查看日志后的具体错误 -- Un…

基于springboot实现疾病防控综合系统项目【项目源码+论文说明】

基于springboot实现疾病防控综合系统演示 摘要 在如今社会上&#xff0c;关于信息上面的处理&#xff0c;没有任何一个企业或者个人会忽视&#xff0c;如何让信息急速传递&#xff0c;并且归档储存查询&#xff0c;采用之前的纸张记录模式已经不符合当前使用要求了。所以&…

PDPS15---安装过程---常遇问题---分享

目录 问题1 安装失败 1.1 运行第一步出错 1.2 解决 问题2 路径错误 2.1 错误 2.2 解决 问题3 运行失败 3.1 无法找到路径 3.2 原因分析 3.3 解决 问题4 拒绝访问 4.1 出现提示 4.2 分析 4.3 解决 问题5 许可证过期 5.1 PD找不到许可证 5.2 解决 问题1 安装失败…

hypertherm海宝EDGE控制器显示屏工控机维修

海宝工控机维修V3.0/4.0/5.0&#xff1b;hypertherm数控切割机系统MICRO EDGE系统显示屏维修&#xff1b; 美国hypertherm公司mirco edge数控系统技术标准如下&#xff1a; 1&#xff09; p4处理器 2&#xff09; 512mb内存 3&#xff09; 80g硬盘&#xff0c;1.44m内置软驱…

AXI Block RAM 控制器IP核的用法详解

本文描述了如何使用Xilinx的Vivado Design Suite环境中的工具来定制和生成AXI Block RAM (BRAM) IP 核。Vivado Design Suite是一个强大的FPGA设计和开发环境&#xff0c;它允许用户定制和配置各种IP核以适应他们的特定设计需求。 以下是针对如何定制IP核的步骤的简要概述&…

【FX110】2024外汇市场中交易量最大的货币对是哪个?

作为最大、最流动的金融市场之一&#xff0c;外汇市场每天的交易量高达几万亿美元&#xff0c;涉及到数百种货币。不同货币对的交易活跃程度并不一样&#xff0c;交易者需要根据货币对各自的特点去进行交易。 全年外汇市场中涉及美元的外汇交易超过50%&#xff01; 实际上&…

docker学习笔记(四)制作镜像

目录 第1步&#xff1a;编辑Dockerfile 第2步&#xff1a;编辑requirements.txt文件 第3步&#xff1a;编辑app.py文件&#xff0c;我们的程序文件 第4步&#xff1a;生成镜像文件 第5步&#xff1a;使用镜像&#xff0c;启动容器 第6步&#xff1a; 启动redis容器、将容器…