simulink搭建BP神经网络在线辨识心得

bp 神经网络通常是离线训练,然后使用的,但是有些场合却会要求在线训练然后进行辨识

其实在线辨识的意义和离线辨识基本相同,就是在训练过程中就开始使用权重了,然后不管其权重是否准确,这样会产生输出,该输出和实际要求的输出进行做差再来重新调整权重。

我们大概可以理解为,其架构如下:

simulink搭建BP神经网络在线辨识心得_第1张图片

 这个模块理解上很简单,就是一个模块使用权重产生输出,另外一个模块根据输出数值的差异调整权重,以供另外一个模块来使用。

然后在很多论文中并非使用这样的架构,而是使用一个元件:

unit delay :单周期延时控件。

如何理解单周期延时,下面可以搭建一个模型来说明,模型如下:

simulink搭建BP神经网络在线辨识心得_第2张图片

需注意一点,为了效果明显,需要将sine wave 的采样时间设置为 1s

最后时间延时效果如下:

simulink搭建BP神经网络在线辨识心得_第3张图片

可以看见一个信号相对于另外一个信号发生了延时输出

所以最终实现方式还是如最上面的两个模块的效果,只是这里增加了延时控件

因为在实际运行中,我们需要对数据进行训练,所以

我们可以通过延时控件 得到  y(k) y(k-1) y(k-2)

当可以获得如下的变量之后,便可以进行相关的训练准备数据了

比如说:

我们训练的时候需要获得输出,然后没有输入怎么会有输出呢?

这个就变成了死循环的问题,所以有了延时的控件,就可以使用 之前时刻的数据进行运算:

即y(k-1) 与 x(k-1)

 

 

你可能感兴趣的:(Simulink,神经网络,深度学习,simulink)