|
引用本文
张耀中, 胡小方, 周跃, 段书凯. 基于多层忆阻脉冲神经网络的强化学习及应用. 自动化学报, 2019, 45(8): 1536-1547. doi: 10.16383/j.aas.c180685
ZHANG Yao-Zhong, HU Xiao-Fang, ZHOU Yue, DUAN Shu-Kai. A Novel Reinforcement Learning Algorithm Based on Multilayer Memristive Spiking Neural Network With Applications. ACTA AUTOMATICA SINICA, 2019, 45(8): 1536-1547. doi: 10.16383/j.aas.c180685
http://www.aas.net.cn/cn/article/doi/10.16383/j.aas.c180685
关键词
强化学习,脉冲神经网络,脉冲时间依赖可塑性规则,忆阻器
摘要
人工神经网络(Artificial neural networks,ANNs)与强化学习算法的结合显著增强了智能体的学习能力和效率.然而,这些算法需要消耗大量的计算资源,且难以硬件实现.而脉冲神经网络(Spiking neural networks,SNNs)使用脉冲信号来传递信息,具有能量效率高、仿生特性强等特点,且有利于进一步实现强化学习的硬件加速,增强嵌入式智能体的自主学习能力.不过,目前脉冲神经网络的学习和训练过程较为复杂,网络设计和实现方面存在较大挑战.本文通过引入人工突触的理想实现元件——忆阻器,提出了一种硬件友好的基于多层忆阻脉冲神经网络的强化学习算法.特别地,设计了用于数据——脉冲转换的脉冲神经元;通过改进脉冲时间依赖可塑性(Spiking-timing dependent plasticity,STDP)规则,使脉冲神经网络与强化学习算法有机结合,并设计了对应的忆阻神经突触;构建了可动态调整的网络结构,以提高网络的学习效率;最后,以Open AI Gym中的CartPole-v0(倒立摆)和MountainCar-v0(小车爬坡)为例,通过实验仿真和对比分析,验证了方案的有效性和相对于传统强化学习方法的优势.
文章导读
强化学习, 是智能体通过与环境交互、试错的过程来学习的行为.它是一种以环境反馈作为输入的自适应的机器学习方法[1], 目前已广泛应用于控制科学、运筹学等诸多领域[2-3].在强化学习过程中, 智能体最初对环境一无所知, 通过与环境交互的方式获取奖赏.智能体在这个过程中学习策略, 使得最终能在某种评价体系下达到最优目标. Q学习是一种典型的无需模型的强化学习算法, 智能体根据动作价值即Q值函数, 通过对状态-动作序列进行足够多的访问, 学习到最优策略[4].通常, 在Q学习任务中, Q值函数由表格的方式实现, 在状态为连续值的情况下, 则通过离散化状态以存储动作价值, 然而传统的表格法有如下缺点: 1)状态的离散度难以控制. 2)状态维数较多时会导致维数灾难.
将神经网络作为Q值函数拟合器可以有效解决以上问题.神经网络可以分为三代:第一代把McCulloch-Pitts神经元模型作为计算单元; 第二代为人工神经网络(Artificial neural network, ANN), 它们的计算单元中带有激活函数; 脉冲神经网络(Spiking neural network, SNN)将脉冲神经元作为计算单元, 被称为第三代神经网络[5]. SNN的学习方式与哺乳动物的学习方式非常类似[6].此外, SNN能量效率高, 有报道证明SNN芯片比用现场可编程门阵列(Field programmable gate array, FPGA)实现的ANN能耗低两个数量级[7].因此, 基于SNN的强化学习算法更容易进行低功耗-硬件实现.
与ANN类似, SNN的学习算法也分为监督学习算法和非监督学习算法.非监督学习算法仅仅基于数据的特征, 这类算法对计算能力要求较低, 因为不需要数据集的多次迭代, 脉冲神经网络中典型的非监督学习算法是脉冲时间依赖可塑性(Spike-timing dependent plasticity, STDP)学习规则[8].而监督学习算法需要带有标签的数据集, 需要多次迭代运算, 主要有远程监督学习算法(ReSuMe)等[9].
目前许多训练SNN的学习算法都只能用于不含隐含层的网络, 且没有通用的方法[10].对于训练多层SNN, 一种方式是先训练ANN, 再将其转换为SNN[11], 这种基于映射的学习方式会导致局部最优, 因为训练在ANN上进行, 而不是SNN[12].也有人提出了利用突触延迟的监督学习算法, 并行调整隐含层和输出层权重[13].由于本文基于多层SNN实现强化学习算法, 因此设计有效的多层SNN的训练方法是一个必须要解决的问题.
基于传统半导体器件和集成技术实现的神经网络电路复杂度高、规模小、处理能力有限, 难以真正用于嵌入式智能体.本文进一步引入新型纳米信息器件忆阻器, 探求强化学习算法的硬件加速新方案.忆阻器是除电阻、电容、电感以外的第四种基本电路元件, 由Chua[14]于1971年基于电路完备性理论提出, 其定义忆阻器的电阻值为流经忆阻器的磁通量和电荷的比值(M=dϕ/dq).然而, 由于没有物理实物, 忆阻器一直没有引起太多的关注.直到2008年, 美国惠普(HP)实验室制造出了基于二氧化钛的交叉存储阵列, 并声称交叉点处的存储单元即为预言的忆阻器[15], 立即引起了学术界和工业界的深厚兴趣.之后, 研究者对忆阻器的模型、特性进行了广泛的研究[16-17].此外由于忆阻器具有记忆力和类似突触的可变导电性, 使其成为构建硬件神经网络关键部件-电子突触的理想器件.近年来, Jo等[18]证明了CMOS神经元和忆阻突触构成的神经网络能够实现一些重要的突触行为, 如STDP.在此基础上, 研究者提出了多种用忆阻器实现STDP的方法, 例如Panwar等[19]实现了对任意STDP波形的模拟. Serrano-Gotarredona等[20]仅用一个忆阻器实现并完成了对STDP的仿真.
本文提出并研究了基于多层SNN的强化学习算法, 并利用忆阻器设计了其硬件实现方案, 下文称之为忆阻脉冲强化学习(Memristive spiking reinforcement learning, MSRL).首先, 为了实现数据和脉冲之间的转换, 设计了用于数据-脉冲转换的脉冲神经元; 然后, 通过改进基本STDP学习规则, 将SNN与强化学习算法有效结合, 并设计相应的忆阻突触以期实现硬件加速.此外, 为了进一步提高网络的学习效率, 构建了可动态调整的网络结构.最后基于brian2框架[21]完成了对MSRL的实验仿真.结果显示, MSRL控制的智能体可以以较低的计算资源消耗, 高效地完成强化学习任务.
本文结构如下:第1节介绍了Q学习和SNN以及忆阻器的背景知识, 第2节给出MSRL算法的基础, 第3节详细地介绍了MSRL算法设计.第4节给出仿真结果, 第5节总结全文.
图 1 Q学习过程
图 2 LIF模型
图 3 HP忆阻器模型示意图
尽管传统的神经网络与强化学习算法的结合提高了智能体的学习能力, 但这些算法对计算能力依赖性较强, 同时网络复杂度高, 不适合硬件实现.为了进一步达到硬件加速, 促进嵌入式智能体在实际环境中独立执行任务, 本文设计了基于多层忆阻脉冲神经网络的强化学习(MSRL)算法.首先解决了数据与脉冲之间的转换问题; 在前人工作基础上, 改进了STDP学习规则, 使SNN能够与强化学习有机结合, 同时也设计了相应的忆阻突触; 进一步, 设计了结构可动态调整的多层忆阻脉冲神经网络, 这种网络具有较高的学习效率和适应能力.实验结果表明, MSRL与传统的强化学习算法相比能更高效地完成学习任务, 同时更节省计算资源.在未来的工作中, 我们将研究深度SNN与更复杂的强化学习算法例如Actor-Critic算法的结合, 并进一步改进学习算法以增强算法稳定性.
作者简介
张耀中
西南大学计算机与信息科学学院本科生.主要研究方向为强化学习, 脉冲神经网络理论与应用.E-mail:zhangyaozhong9@126.com
周跃
西南大学电子信息工程学院研究助理.2012年获得南京大学工程管理学院硕士学位.主要研究方向为机器学习, 深度学习, 信息安全, 忆阻器件与系统.E-mail:zhouyuenju@163.com
段书凯
西南大学人工智能学院教授.2006年获得重庆大学计算机科学学院博士学位.主要研究方向为纳米信息器件与系统, 神经形态计算系统, 非线性电路与系统, 机器学习.E-mail:duansk@swu.edu.cn
胡小方
西南大学人工智能学院副教授.2015年获得中国香港城市大学机械与生物医学工程系博士学位.主要研究方向为忆阻器件与系统应用, 神经网络算法, 模型与硬件实现, 强化学习, 图像处理.本文通信作者.E-mail:huxf@swu.edu.cn
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-30 09:47
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社