正在加载图片...
第2期 刘威,等:BP神经网络子批量学习方法研究 ·227. 进方法各有所长,但是在收敛速度和泛化性能之间 后,通过全样本的梯度均值来更新权值,网络完成一 的平衡性问题上还存在着较大提升空间,寻求收敛 次迭代,权值只更新一次,主要算法步骤如下: 速度快、泛化性能高的新型学习方法依然是BP神 1)初始化网络结构,随机初始化网络权值。 经网络研究领域中一个重要问题。 2)计算网络批量均值误差: 自2006年开始,有着更强表达能力的深度 神经网络开始流行。由于网络结构复杂,数据规 (fx:)-y:)2 (4) 模大,为保证网络收敛和避免内存溢出,深度神 3)批量内修正网络权值: 经网络学习时普遍采用子批量学习方法。借鉴 E 深度神经网络的学习方法,本文从学习批量的角 0(k+1)=w(k)+a (5) 度来探究批量对于浅层BP神经网络收敛速度和 4)根据均方误差和迭代次数进行判断是否达 泛化能力的影响,提出了基于子批量神经网络学 到收敛要求,若达到要求则网络完成训练,否则循环 习方法,研究了学习率和学习批量对于网络收敛 2)~3)。 性和收敛速度的影响。 2子批量学习方法及参数配置 1BP神经网络学习方法 单批量学习方法网络完成一次迭代,权值更新 B即算法由信号前馈传递和误差反向传递两阶 m次,其优势是:能够从冗余性中获益,可以跟踪训 段组成。信号前馈传递阶段,信号从输入节点先传 练数据较小的改变;每次迭代权值更新次数多,收敛 向隐层节点,再传向输出层产生输出信号:误差反向 速度快。缺点在于:每个样本都需要完成一次权值 传递阶段,依据标签数据和网络输出之间的误差,把 更新计算2)~3),导致网络每次迭代计算时间较 误差逐层向前传播来调节网络权值,通过权值的不 长,收敛时间较长;此外由于数据间的差异性和噪点 断修正使网络的实际输出更接近期望输出。网络训 的影响,导致权值更新时存在权值扰动,容易引起网 练过程中,根据权值更新执行方式的不同,神经网络 络波动,不利于网络收敛。 学习方法可分为全批量学习(Of--line learning)和单 批量学习(On--line learning)两种方法[u]。 全批量学习方法网络完成一次迭代,权值只更 新一次,这样通过平均权值修正处理,具有对训练数 设网络输入为x,输出为f(x),样本标签为y;训 练样本总数为m,样本均值误差为E,连接权值为 据低通滤波的作用,避免由于数据间差异和噪点引 w,学习率为a,则BP学习算法描述如下。 起的权值扰动:其次全批量可以通过矢量化编程,借 1.1单批量学习 助矩阵运算的优势,来提升计算速度,每次迭代时间 单批量学习过程要求每个训练样本呈现给网络 短。缺点在于全批量均值处理使梯度误差较小,网 之后即刻更新权值,网络完成一次迭代,权值更新m 络收敛缓慢,且矢量化编程计算,对于内存要求高。 次,主要算法步骤如下: 2.1子批量学习方法 1)初始化网络结构,随机初始化网络权值。 对比全批量和单批量学习方法,全批量学习具 2)计算网络单个样本误差e:: 有计算快速稳定的优点,缺点是对于内存需求大,收 e:=(f八x-y:) 敛缓慢:单批量学习具有收敛快速、能够跟踪数据变 (1) 3)单个样本内修正网络权值: 化的优点,缺点是存在扰动、训练时间长。综合全批 aei 量和单批量的优缺点,本文提出了浅层神经网络子 w,(k+1)=1o,(k)+ (2) 批量学习方法。 4)计算所有样本的均方误差: 子批量学习方法介于单批量和全批量之间,计 算过程中首先将训练样本平均分成多个子批量,在 (3) m i=1 每个子批量内进行全批量网络权值更新,即每个子 5)根据误差结果和迭代次数进行判断是否达 批量呈现给网络后进行权值更新,每次迭代计算权 到收敛要求,若达到要求则网络完成训练,否则循环 值更新多次。主要算法流程图如图1所示。 2)~4)。 子批量学习是在子批量内更新网络权值,每次 1.2全批量学习 迭代权值进行多次更新,这样子批量内更新权值可 全批量是在所有训练样本都呈现给神经网络之 以借助矢量化编程来加速迭代计算且对内存需求较进方法各有所长,但是在收敛速度和泛化性能之间 的平衡性问题上还存在着较大提升空间,寻求收敛 速度快、泛化性能高的新型学习方法依然是 BP 神 经网络研究领域中一个重要问题。 自 2006 年开始,有着更强表达能力的深度 神经网络开始流行。 由于网络结构复杂,数据规 模大,为保证网络收敛和避免内存溢出,深度神 经网络学习时普遍采用子批量学习方法。 借鉴 深度神经网络的学习方法,本文从学习批量的角 度来探究批量对于浅层 BP 神经网络收敛速度和 泛化能力的影响,提出了基于子批量神经网络学 习方法,研究了学习率和学习批量对于网络收敛 性和收敛速度的影响。 1 BP 神经网络学习方法 BP 算法由信号前馈传递和误差反向传递两阶 段组成。 信号前馈传递阶段,信号从输入节点先传 向隐层节点,再传向输出层产生输出信号;误差反向 传递阶段,依据标签数据和网络输出之间的误差,把 误差逐层向前传播来调节网络权值,通过权值的不 断修正使网络的实际输出更接近期望输出。 网络训 练过程中,根据权值更新执行方式的不同,神经网络 学习方法可分为全批量学习(Off⁃line learning)和单 批量学习(On⁃line learning)两种方法[ 11 ] 。 设网络输入为 x,输出为 f(x),样本标签为 y;训 练样本总数为 m,样本均值误差为 E,连接权值为 ω ,学习率为 α ,则 BP 学习算法描述如下。 1.1 单批量学习 单批量学习过程要求每个训练样本呈现给网络 之后即刻更新权值,网络完成一次迭代,权值更新 m 次,主要算法步骤如下: 1)初始化网络结构,随机初始化网络权值。 2)计算网络单个样本误差 ei : ei = (f(xi) - yi) 2 (1) 3)单个样本内修正网络权值: wi(k + 1) = wi(k) + a ∂ei ∂wi (2) 4)计算所有样本的均方误差: E = 1 m∑ m i = 1 ei (3) 5)根据误差结果和迭代次数进行判断是否达 到收敛要求,若达到要求则网络完成训练,否则循环 2) ~4)。 1.2 全批量学习 全批量是在所有训练样本都呈现给神经网络之 后,通过全样本的梯度均值来更新权值,网络完成一 次迭代,权值只更新一次,主要算法步骤如下: 1)初始化网络结构,随机初始化网络权值。 2)计算网络批量均值误差: E = 1 m∑ m i = 1 (f(xi) - yi) 2 (4) 3)批量内修正网络权值: w(k + 1) = w(k) + a ∂E ∂w (5) 4)根据均方误差和迭代次数进行判断是否达 到收敛要求,若达到要求则网络完成训练,否则循环 2) ~3)。 2 子批量学习方法及参数配置 单批量学习方法网络完成一次迭代,权值更新 m 次,其优势是:能够从冗余性中获益,可以跟踪训 练数据较小的改变;每次迭代权值更新次数多,收敛 速度快。 缺点在于:每个样本都需要完成一次权值 更新计算 2) ~ 3),导致网络每次迭代计算时间较 长,收敛时间较长;此外由于数据间的差异性和噪点 的影响,导致权值更新时存在权值扰动,容易引起网 络波动,不利于网络收敛。 全批量学习方法网络完成一次迭代,权值只更 新一次,这样通过平均权值修正处理,具有对训练数 据低通滤波的作用,避免由于数据间差异和噪点引 起的权值扰动;其次全批量可以通过矢量化编程,借 助矩阵运算的优势,来提升计算速度,每次迭代时间 短。 缺点在于全批量均值处理使梯度误差较小,网 络收敛缓慢,且矢量化编程计算,对于内存要求高。 2.1 子批量学习方法 对比全批量和单批量学习方法,全批量学习具 有计算快速稳定的优点,缺点是对于内存需求大,收 敛缓慢;单批量学习具有收敛快速、能够跟踪数据变 化的优点,缺点是存在扰动、训练时间长。 综合全批 量和单批量的优缺点,本文提出了浅层神经网络子 批量学习方法。 子批量学习方法介于单批量和全批量之间,计 算过程中首先将训练样本平均分成多个子批量,在 每个子批量内进行全批量网络权值更新,即每个子 批量呈现给网络后进行权值更新,每次迭代计算权 值更新多次。 主要算法流程图如图 1 所示。 子批量学习是在子批量内更新网络权值,每次 迭代权值进行多次更新,这样子批量内更新权值可 以借助矢量化编程来加速迭代计算且对内存需求较 第 2 期 刘威,等:BP 神经网络子批量学习方法研究 ·227·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有