语音识别系列之脉冲神经网络特征工程

news2024/9/23 19:23:02

人工神经网络(Artificial Neural Network, ANN)中的单个人工神经元是对生物神经元的高度抽象、提炼和简化,模拟了后者的若干基本性质。得益于误差反向传播算法,网络权重可根据设定的目标函数得到有效地调整,ANN在视觉、文本、语音等领域都取得了巨大的成功,各种新奇的网络结构、训练策略层出不穷,ANN获得了蓬勃发展,大量科研及工程人才投入之中,强力推动了学术研究及工业应用。相较而言,比ANN更仿生的脉冲神经网络(Spike Neural Network, SNN)还处于研究和应用初期,类脑芯片及相关公司屈指可数,相关应用乏善可陈,但已露出了些微曙光。

一、ANN/SNN神经元的异同

在ANN中,单个神经元接收上层若干神经元的输入,加权和配以偏置,套以激活函数输出一个值传递给下层神经元。在SNN中,上层神经元发送来的并非一个数值连续变化的标量,而是神经脉冲时间串,提请注意的是:

(1)关于激活函数:在ANN中,默认上层神经元都是预激活的,下层神经元需要考虑全部有连接的上层神经元(除非经过后续的剪枝优化)。但在SNN中,即便上下两个神经元有突触连接,只要上层神经元未激发脉冲,下层神经元便不需考虑。因此,从计算效率上讲,SNN精打细算,而ANN存在冗余计算。

注:Dropout随机失活技术只是在ANN训练阶段使用,前向推理还是默认ANN中所有神经元都参与运算。

(2)关于输入/出值:在ANN中,神经元输入/出的均为连续变化的数值,但在SNN中,根据神经生物学的观察和数据积累,单个神经脉冲代表的膜电位的变化,其幅值相差不大且脉冲波形相似,因此可用二值化的0/1代替脉冲的有无。从数据存储的角度,SNN比ANN更经济。由于SNN输入/出的值均为离散二值时间序列,也省去了与权重的浮点运算操作,更加节省算量。

(3)关于偏置:ANN中神经元计算可配以偏置,功能是调整数据的值的分布中心,但在SNN中无偏置(因此在ANN与SNN的转换中,常要求待转换为SNN的ANN去除偏置再训练,本文不述)。

(4)关于权重:ANN/SNN中的权重,模拟的是生物神经元之间连接的强度,体现在突触数目(上下两个神经元之间不一定只有一个突触)和释放神经递质的多寡。

(5)异/同步计算:相比于ANN,SNN的脉冲串包含了时间维度,SNN以事件驱动的方式异步计算处理信息,而ANN执行的是同步计算。

(6)关于训练:由于脉冲串的离散和不可差分特性,误差反传算法在SNN的训练中不能直接应用,解决方法有ANN2SNN转换,代理梯度等方法,本文不展开。

(7)关于信号传递:在生物上,上层若个神经元传递电脉冲到树突,树突传递神经递质给下层神经元是需要消耗时间的,由于神经轴突不等长等因素也不可能做到严格同时到达,ANN和SNN模型实际上都忽略了传递过程的耗时和时间不同步。

二、SNN-KWS/ASR特征工程

将SNN应用于语音唤醒(Keyword Spotting, KWS)[1]甚或语音识别(Automatic Speech Recognition, ASR)[2],首要问题即是如何将语音,或更广一点,音频转换为神经脉冲序列(后文将这种转换简称为Audio2Spike),它隶属SNN在音频领域的特征工程,决定了SNN-KWS/ASR的性能上限。

(1)物理模型

文献[1]中SNN-KWS使用的Audio2Spike转换方法见文献[3],后者还附带了Github代码(以Python单元测试框架Unittest写就)。该转换方法对音频至脉冲的生物过程建立物理模型,考虑了鼓管、前庭管、蜗孔、卵圆窗、圆窗的流体动力学基底模型,将音频(声压)数据转化为基底膜在不同位置的运动速度数据,再由考虑了离子传输机制的毛细胞模型将运动速度数据转换为神经脉冲,最后由泄露积分发射(Leaky Integrate-and-Fire, LIF)神经元模型完成锁相。

注1:基底膜在耳蜗底窄而刚(对高频响应好),在耳蜗顶宽而柔(对低频响应好),此特性决定耳蜗实际上是一个分频器,耳蜗各处毛细胞对不同频率响应能力不同,连接毛细胞的神经纤维形成螺旋神经节后有序地将音调拓扑映像(Tonotopic map)转继到脑干中的耳蜗核。

注2:锁相(Phase locking)是指毛细胞发射的神经脉冲间隔,是该处最佳响应频率周期的整数倍,或说,毛细胞发射神经脉冲的时刻,对应声波某个特定相位。由于动作点位启动后存在不应期,持续约0.1~1ms,所以锁相现象一般存在于1kHz以下的声波(否则上一个脉冲还没结束,下一个还未能发射)。对于1kHz声波及其对应毛细胞激发的脉冲,锁相现象表明动作点位启动时间的精确度,必然高于1ms,正是这种精确度满足了声音定位的需求。

注3:对某一时间段内(对应时频图分析方法中的某一帧),不同频率声波映射到耳蜗的不同位置,称为位置编码,而时频块的值的大小,或说当前帧内该频点的声强,则对应发放神经脉冲的数目。

耳蜗将机械波转化为电脉冲的生物学过程,可详见[4-7],四书原理插图,内/外毛细胞电镜照片均十分精美,由于潜在的版权问题,此处不截图。

基于物理模型的Audio2Spike转换方法的问题在于:

(a)模型参数较多且均是提前设定好的固定值,每一个参数的变动对最终效果的影响位置,合理变化范围也未知。

(b)模型转换得到的神经脉冲序列,与真实生物过程不一定一致,从编码角度来说也不一定是最优的(携带足够的信息,同时脉冲个数又少)。而且也无法组织真人实验来验证,毕竟几乎唯一的验证方法是主观的,需要借助人工耳蜗的电极播放脉冲,让人主观评价听感的好坏。但人工耳蜗总不可能对健听者植入,只可能对听障者做实验,即便实验证明不真实,也缺少模型参数调整的指导方向,几乎就是盲调。

(2)人工耳蜗物理转录

人工耳蜗可作为动态音频传感器(Dynamic Audio Sensor, DAS),记录人工耳蜗对音频数据的响应,将TIDIGITS音频数据集转录为N-TIDIGITS脉冲数据集[8]。

注:与听觉对应地,也存在动态视觉传感器(Dynamic Vision Sensor, DVS),也被称为事件相机(Event-based Camera),详见iniVation官网[9]。

基于人工耳蜗物理转录的Audio2Spike方法的问题在于,转录依赖人工耳蜗,因此转换规则受此耳蜗编码策略所限定,且转录效率过低(实录时长等于音频时长),不利于大规模数据的快速、灵活转换。再者,人工耳蜗电极数有限,难以得到精细的频率分辨率。

(3)编码算法虚拟转换

首先,各家人工耳蜗厂商必然掌握音频至神经脉冲的编码算法,且得到多年、大批听障者的反复验证和优化,可以说是目前最接近真实生理编码过程的算法,如MED-EL公司的“精细结构”编码策略[10],但算法细节自然是技术机密。

其次,各独立研究组也有提出自己的编码策略。如2020年新加坡国立大学李海洲组的Zihan Pan等人[11]在保证时空动态特征以保证分类性能的前提下,利用心理声学的时间、频率掩蔽效应(不可听或不听不影响听感的部分不编码),减小脉冲产生个数(稀疏化),从而节省能耗,且宣称确信所提策略达到SOTA水平。但问题还在于未经大批听障者实验验证,不过要求研究组去做这种事情确实苛责了。

(4)自组织映射

2020年,李海洲的博士生吴冀彬在其博士毕业论文[12]中详细描述了自组织映射(Self-Organizing Map, SOM)做Audio2Spike的方法,输入是帧级别的FBank特征,训练时SOM的神经元相互竞争,选择突触权矢最接近输入特征的神经元,作为最佳匹配单元(Best-Matching Unit, BMU),BMU更新权矢以进一步接近输入矢量。同时,BMU周围的神经元也更新,但是更新比重按距离衰减,如此形成围绕BMU的神经簇,此为合作。通过竞争-合作训练机制,最终SOM中神经元的突触权矢服从输入特征矢量的分布,且形成拓扑结构。实验结果表明基于SOM提取的神经脉冲串,在与SNN的结合后取得了优异的分类性能。

参考文献:

[1] Bittar, Alexandre, and Philip N. Ganer. “Surrogate Gradient Spiking Neural Networks as Encoders for Large Vocabulary Continuous Speech Recognition.” arXiv preprint arXiv:2212.01187 (2022).

[2] Wu, Jibin, et al. “Deep spiking neural networks for large vocabulary automatic speech recognition.” Frontiers in neuroscience 14 (2020): 199.

[3] Cramer, Benjamin, et al. “The Heidelberg spiking data sets for the systematic evaluation of spiking neural networks.” IEEE Transactions on Neural Networks and Learning Systems 33.7 (2020): 2744-2757.

[4] Kandel, Eric R., et al., eds. Principles of neural science. Vol. 4. New York: McGraw-hill, 2020.

[5] Purves, Dale, et al. Neuralscience. De Boeck Superieur, 2019.

[6] Luo, Liqun. Principles of neurobiology. Garland Science, 2020.

[7] Bear, Mark, Barry Connors, and Micheal A. Paradiso. Neuroscience: exploring the brain, enhanced edition: exploring the brain. Jones & Bartlett Learning, 2020.

[8] Anumula, Jithendar, et al. “Feature representation for neuromorphic audio spike streams.” Frontiers in neuroscience 12 (2018): 23.

[9] https://inivation.cn/

[10] http://www.medel.com.cn/Helps/jxjgbmc161.html

[11] Pan, Zihan, et al. “An efficient and perceptually motivated auditory neural encoding and decoding algorithm for spiking neural networks.” Frontiers in neuroscience 13 (2020): 1420.

[12] Jibin, Wu. Auditory Information Processing Using Spiking Neural Networks. Diss. National University of Singapore (Singapore), 2021.

 

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

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

相关文章

LeetCode初级算法题(Java):反转链表+统计N以内的素数+删除排序数组中的重复项

文章目录1 反转链表1.1 题目1.2 解题思路解法1:迭代解法2:递归1.3 题解代码2 统计N以内的素数2.1 题目2.2 解题思路与题解代码解法1:暴力算法代码展示解法1:埃氏筛代码展示3 删除排序数组中的重复项3.1 题目3.2 解题思路3.3 题解代…

近红外染料标记小分子1628790-37-3,Cyanine5.5 alkyne,花青素CY5.5炔基

试剂基团反应特点:Cyanine5.5 alkyne用于点击化学标记的远红外/近红外染料炔烃。氰基5.5是Cy5.5的类似物,一种流行的荧光团,已广泛用于各种应用,包括完整生物体成像。在温和的铜催化化学条件下,该试剂可与叠氮基共轭&a…

构建RFID系统的重要组成部分

RFID读写设备,通常被用来扫描读取安装了RFID电子标签的目标物品,能实现快速批量无接触读写,是构建RFID系统的重要组成部分。RFID读写设备,通常有固定式读写设备和可移动读写设备两种。下面来了解一下RFID的特点,RFID系…

EZ-Cube简易款下载器烧写使用方法

一、硬件连接 跟目标芯片接4根线 VCC、GND、TOOL、REST 四根线,如果板子芯片自己外接电源的,VCC 线可以不接。 二、 安装烧写软件和驱动 烧写软件:https://download.csdn.net/download/Stark_/87444744?spm1001.2014.3001.5503 驱动程序&a…

java微信小程序的在线学习平台

本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个开发过程首先对在线学习平台进行需求分析,得出在线学习平台主要功能。接着对在线学习平台进行总体设计和详细设计。总体设计主要包括小程序功能设计、小程…

Apache JMeter 5.5 下载安装以及设置中文教程

Apache JMeter 5.5 下载安装以及设置中文教程JMeter下载Apache JMeter 5.5配置环境变量查看配置JDK配置JMeter环境变量运行JMeter配置中文版一次性永久设置正文JMeter 下载Apache JMeter 5.5 官方网站:Apache JMeter 官网 版本介绍: 版本中一个是Bina…

TCP协议 ---可靠传输的各种机制

目录 一、可靠 确认应答机制:保证数据可靠、有序的到达对端 超时重传机制 二、效率 2.1 提高自身发送数据量 滑动窗口机制: 滑动窗口的发送缓冲区是环形队列 滑动窗口的大小会变化吗? 滑动窗口的nb之处 滑动窗口丢包问题 2.2 对方…

锻炼管理器wger的安装

本文是 2021 年 2 月完成的,最近因为工作比较忙,就把这些老文章翻出来,但为了发表,老苏差不多又重写了一遍。 因为当时跑的是 wger/apache ,现在新的 wger/apache 版本在老苏的机器上,会遇到 AH00141: Coul…

Windows Git Bash 配置

Windows Git Bash 配置 本文参考的文章: 在 Windows 的 Git Bash 中使用包管理器 - iris (ginshio.org)Git bash 安装 pacman & Windows 解压 zst 文件 | 伪斜杠青年 (lckiss.com) 一、Git的安装 Git 的安装应该是都会的,但还是应该说以下&#…

前端常见基础面试题css篇

目录 1.css3有哪些新特性? 2.CSS有哪些基本选择器?它们的权重是如何表示的? 3.css 选择器的类型优先级排序 4.写出几种CSS实现元素两个盒子垂直水平居中的代码 5.CSS 常见的伪类和伪元素有哪些? 6.CSS的引入方式有哪些?ink…

CMMI-外包与采购管理

外包与采购管理(Outsourcing and Procurement Management, OPM)是指外包管理和采购管理,目的是选择合适的承包商和供应商,并依据合同进行有效的管理。外包与采购管理过程域是SPP模型的重要组成部分。本规范阐述了外包与采购管理过…

自定义认证器

自定义认证器工作流程 1、设备向AWS IoT发送http请求,包含token和token签名 2、IoT判断这是一个自定义认证请求,然后确认token和token签名是否匹配 3、Lambda函数验证token之后,将输出5项数据, isAuthenticated:求是…

Zookeeper入门与应用

Zookeeper入门与应用1.简介1.1.应用场景1.2.Zookeeper的设计目标1.3数据模型2. 单机安装3.常用shell命令3.1.查询3.2.创建3.3.更新3.4.删除4.zookeeper的Acl权限控制案例/远程登录acl 超级管理员5.zookeeper的 JavaAPI连接到Zookeeper5.1.新增节点5.2.修改节点5.3.删除节点5.4.…

4、数组、切片、map、channel

目录一、数组二、切片三、map四、channel五、引用类型一、数组 数组: 数组是块连续的内存空间,在声明的时候必须指定长度,且长度不能改变所以数组在声明的时候就可以把内存空间分配好,并赋上默认值,即完成了初始化数组…

Spring反射内置工具类ReflectionUtils

Spring反射内置工具类ReflectionUtils前言反射1,什么是反射2,反射的实现2.1获取class对象的三种实现2.1.1Object ——> getClass();2.1.2 任何数据对象(包括数据基本类型)都有一个静态的class属性通过Class类的静态方法&#x…

TX Text Control .NET 31.0 SP1 for WPF 企业版Crack

将文档编辑、创建和 PDF 生成添加到 WPF 应用程序。 TX Text Control for WPF Enterprise 是一个免版税、完全可编程的丰富编辑控件,它在专为 Visual Studio 设计的可重用组件中为开发人员提供了广泛的文字处理功能。它提供全面的文本格式,强大的邮件合并…

golang fmt.Sprintf(“%.2f“) 的舍入问题

首先,fmt.Sprintf("%.2f")使用的是banker rounding 而不是四舍五入,banker rounding 的定义如下(来自百度百科):1.要求保留位数的后一位如果是4,则舍去。例如5.214保留两位小数为5.21。2.如果保留…

第四代英特尔至强重磅发布,芯片进入下半场:软硬加速、绿色可持续

编辑 | 宋慧 出品 | CSDN 云计算 2023 年的第二周,英特尔重磅发布其企业级芯片领域重要的产品——第四代英特尔 至强 可扩展处理器。作为数据中心处理器当之无愧的王牌产品,迄今为止,英特尔已经向全球客户交付了超8500万颗​至强可扩展处理器…

agent扩展-自定义外部加载路径

自定义classLoader实现加载外部jar, 以skywalking agent 类加载器为例子 整体思路 扩展findClass ,解决loadClass可以查找到扩展findResource,解决getResources可以获取到资源 基本原理 ClassLoader loadClass的加载顺序 findLoadedClass 加载本地已经…

Spring Boot学习篇(十三)

Spring Boot学习篇(十三) shiro安全框架使用篇(五) 1 准备工作 1.1 在SysUserMapper.xml中书写自定义标签 <select id"findRoles" resultType"string">select name from sys_role where id (select roleid from sys_user_role where userid (S…