bp 神经网络通常是离线训练,然后使用的,但是有些场合却会要求在线训练然后进行辨识
其实在线辨识的意义和离线辨识基本相同,就是在训练过程中就开始使用权重了,然后不管其权重是否准确,这样会产生输出,该输出和实际要求的输出进行做差再来重新调整权重。
我们大概可以理解为,其架构如下:
这个模块理解上很简单,就是一个模块使用权重产生输出,另外一个模块根据输出数值的差异调整权重,以供另外一个模块来使用。
然后在很多论文中并非使用这样的架构,而是使用一个元件:
unit delay :单周期延时控件。
如何理解单周期延时,下面可以搭建一个模型来说明,模型如下:
需注意一点,为了效果明显,需要将sine wave 的采样时间设置为 1s
最后时间延时效果如下:
可以看见一个信号相对于另外一个信号发生了延时输出
所以最终实现方式还是如最上面的两个模块的效果,只是这里增加了延时控件
因为在实际运行中,我们需要对数据进行训练,所以
我们可以通过延时控件 得到 y(k) y(k-1) y(k-2)
当可以获得如下的变量之后,便可以进行相关的训练准备数据了
比如说:
我们训练的时候需要获得输出,然后没有输入怎么会有输出呢?
这个就变成了死循环的问题,所以有了延时的控件,就可以使用 之前时刻的数据进行运算:
即y(k-1) 与 x(k-1)