一种基于bp神经网络调节pi控制器参数的电路的制作方法_3

文档序号:9042653阅读:来源:国知局
果加1,并右移一位后,将计算结果存入输出缓冲单 JL〇
[0059] 同时,当检测到C0畑1C运算单元504结果有效标志位1时,将另一个累加结果寄 存器的值依次输入至C0畑1C运算单元504,执行C0畑1C计算,同时清除C0畑1C结算结果有 效标志,重复W上所描述的步骤,直至将最终C0畑1C计算结果分别存入输出缓冲单元。
[0060]其中,在C0畑1C运算单元504中,选择双曲函数模式下的旋转模式,求得sinh(x), cosh(X),将双曲正余弦结果再次作为CORDIC运算单元的输入,选择线性函数模式下的向 量模式,即可求得tanh(x)的值。利用C0畑IC(CoordinateRotationDigitalComputer, 坐标旋转数字计算方法)运算单元用来计算Sigmoid函数,而不是采用耗费大量硬件存储 资源的查找表,且Sigmoid函数中设及的除法运算,仍然采用CORDIC算法实现,节省了除法 器。
[0061] 对于W上所述隐含-输出权值调整单元,请参看图7。该单元包括符号检测单元 401,输出层单元50输出数据,隐含层单元20的输出数据,计数器单元405,学习速率W及惯 性系数单元402,减法器单元403、404,乘法器单元406、407,加法器单元408、409。
[0062] 其中,符号检测单元401为被控对象的输出值W及PI控制器输出值在前后两个时 刻的大小判断,将判断后的符号,正或负,输入至乘法器406。外部参考输入与PI控制器所 作用的被控对象反馈值的偏差缓冲,可W为ek、e&_u,输出经过减法器403后,可为Aek。输 出层单元50的输出经过减法器404后用来计算输出层的导数。隐含层单元20为隐含层各 神经元的直接输出值。计数器单元405包含两个计数器,其中计数器1为输出层单元50 计数,且计数最大值为输出层神经元个数Q减1,计数器2对隐含层神经元输出个数计数,且 计数器的最大计数值为隐含层神经元的个数P减1。学习速率W及惯性系数单元402中的 学习速率为计算新权值时所需学习速率,惯性系数是使捜索快速收敛至全局极小所添加的 惯性项,可配置为可选。乘法器单元406、407、减法器单元403、404、加法器单元408、409执 行算法过程中所设及的乘法和加法。Si缓冲单元存储5 1中间值为输入-隐含权值调整 单元所用。
[0063] 下面举例具体说明其实施方式:
[0064] 承上实例,输入层神经元数目、隐含层神经元数目、输出层神经元数目分别为 3, 6, 2。
[0065] 选取性能指标函数为:E(x) -^(r(k)-y(k))2(公式5)
[0066] 按照梯度下降法修正权值系数,并叠加一个使捜索快速收敛至全局极小的惯性 项:
[0067]
[0068] 其中,n为学习速率,a为惯性系数。
[0069] 接下来化解

[0072] 因为
,该样方式带 来的计算精度问题可W通过调整学习速率n补偿。
[0073]
[0074] 因此,可求得隐含层至输出层的权值系数学习算法为:
[0079] 工作过程如下;
[0080] a.当计数器1为0且计数器2为0时,偏差缓冲单元输出偏差值6k,同时,输出层 输出缓冲单元输出值g("e沪),输入至减法器,与数值1作差,得到(1-各的坤W))的值;对于 符号检测单元,分别判断被控对象的输出值yk、y&_u化及PI控制器的输出值AUk、Au&_u的大小,将符号值,正或负,输入至乘法器。
[00S1]b.依次计算两个6k,谷("却")、(1-別"却1:))的乘积,并附加符号检测单元的符 号,并将最终结果左移两位后存入乘法结果寄存器与S1缓冲单元。
[0082] C.根据乘法结果寄存器的输出结果S1?与隐含层输出值巧W及学习速率n, 上一时刻权值差值缓冲单元的输出值Av墙i与惯性系数a,分别执行乘法运算,并将两个最 终结果值输入至加法器,加法结果存入权值差值缓冲寄存器。注意,结构框图中的乘法器单 元并不代表乘法器的个数。
[0083] d.将权值差值缓冲器与上一时刻的隐含-输出权值求和,得到新的隐含-输出权 值,将其输入至隐含-输出新权值缓冲寄存器。
[0084] e.计数器2加1,重复步骤c-d,即将乘法结果寄存器的输出结果S1?与隐含层 输出值巧W及学习速率n,上一时刻权值差值缓冲单元的输出值Av哲-与惯性系数a,分 别执行乘法运算。依此类推,直到计数器2的计数值达到5。
[00财 f.计数器1加1,计数器2清0,将偏差单元中的6k、e(k_i)输入至减法器后得到 A6k,同时,将输出层输出缓冲单元输出值別"啤'),输入至减法器,与数值1作差,得到 (1-各(/Wf))的值输入至乘法器。
[008引g.依次计算6k、Aek、g("wf)、則化沁'))的乘积,并附加符号检测单元的符 号,并将结果最终结果左移两位后存入乘法结果寄存器W及S1?缓冲单元。
[0087] h.计数器2加1,重复步骤c-e,直至计数器2的计数值达到5,完成所有隐含-输 出权值的更新。
[0088] 对于W上所述输入-隐含权值调整单元,请参看图8。该单元包括输入层单元10 的输出数据,隐含层单元20的输出数据,隐含-输出权值调整单元40,计数器单元301,学 习速率W及惯性系数单元302,减法器单元307,乘法器单元303、305、308,加法器单元306、 309,累加器单元304、310。
[0089] 其中,隐含层单元20的输出经过减法器后用来求隐含层输出的导数。隐含-输出 权值调整输出缓冲单元为隐含-输出新权值W及Si的输出缓冲。计数器单元301包含= 个计数器,其中计数器1为计数隐含层神经元计数,计数最大值为隐含层神经元的个数P减 1,计数器2为输入层神经元输出个数计数,且计数最大值为输入层神经元个数M减1,计数 器3为输出层神经元个数计数,且计数最大值为输出层神经元个数Q减1。学习速率W及惯 性系数单元中的学习速率为计算新权值时所需学习速率,惯性系数是使捜索快速收敛至全 局极小所添加的惯性项,可配置为可选。乘法器单元、减法器单元、加法器单元执行算法过 程中所设及的乘法和加法运算。下面举例具体说明其实施方式:
[0090] 承上实例,输入层神经元数目、隐含层神经元数目、输出层神经元数目分别为 3, 6, 2。
[0091] 根据隐含层至输出层加权系数学习算法的推导原理,可得输入层至隐含层的加权 系数学习算法为:
[0096] 工作过程如下;
[0097]a.当计数器1为0,计数器2为0,且计数器3为0时,隐含-输出权值调整输出值 S与wi甲相乘,并将乘法结果输入至累加器,累加器结果存储在累加器结果寄存器。
[009引b.计数器3加1,隐含-输出权值调整输出缓冲单元输出值5,?与H皆相乘,将 乘法结果输入至累加器后,与前一次计算结果累加。
[0099] C.计数器3清零,隐含层输出缓冲值./川却^')分别经过加法器和减法器后得 至。(l-/(n<')),(1+./-(n如')),与步骤b中的累加结果,依次输入至乘法器,依次计算
的乘积,并将最终结果输入至乘法结果寄存器。
[0100] d.根据乘法结果寄存器的输出结果s/2)与输入层单元输出值W及学习速率 n,化及上一时刻权值差值缓冲单元的输出值Av你与惯性系数a,分别执行乘法运算,并 将两个最终结果值输入至加法器,加法结果存入权值差值缓冲寄存器。注意,结构框图中的 乘法器单元并不代表乘法器的个数。
[0101]e.将权值差值缓冲器与上一时刻的输入-隐含权值求和,得到新的输入-隐含权 值,将其输入至输入-隐含新权值寄存器。
[0102
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1