Dynamic Learning Neural Network

作者: lisaljy | 来源:发表于2017-04-09 18:48 被阅读112次

    参考文献: A dynamic learning neural network for remote sensing applications

    网络模型

    • 以 MLP 为 framework 设计的
    • 可以有多个hidden layer(通常情况下小于3层)
    • 第i层只能作为第i+1层的输入
    1. 单个网络节点模型.PNG 2. 单个节点的计算公式.PNG
    符号解释:
    * h 为每一层单个节点的 total net input
    * S() 为 activation function; 通常用 sigm 函数
    
    3. 典型MLP网络整体结构.PNG
    h[i] = W[i]S(h[i-1]) + B[i] (for i = 1; i < p+1 )  
    
    符号解释:  
    * 设有p层hidden layer
    * W:每一层的权重矩阵
      B: 偏置矩阵  
      n: 每一层节点的数量
    * input = S(h[0])
      output = S(h[p+1])  
    * input_num = n[0]
      output_num = n[p+1]
    
    
    4. 典型MLP网络结构 notation 注记.PNG

    Learning algorithm

    • BP learning algorithm
    • Polynomial basis function
    • Kalman filtering technique

    BP(梯度下降法)

    参考网址

    目的

    对权重进行最优化处理,使得input和output的映射关系达到最优
    即:使得误差率rms小于某个特定的值
    基于本参考文献,BP算法只是用于展示后续算法develop的self-contained

    Process

    1. 计算每一层每一个节点的hij
    2. 计算total error(rms) = sum(1/2(target - output)^2)
    3. 计算每一个权重的变化对于total error的影响
      即: total error 相较于每一个权重值的偏导数
    4. 跟新权重矩阵中的每一个权重值(包括偏置值):w' = w - (学习率*total error 相较于w的偏导数)
    5. 重复1~4步骤,直到total error小于预设误差率threshold
    补充内容:  
    * 权重及偏置的初始值为小随机数;学习率为0~1之间
    * 参考文献内有提供求解偏导数的recursive equations
    

    PBF

    目的

    对每一层中每一个节点的S(hij)化简,将 activation function 放入单个节点表达式中
    将 MLP 网络转化成 complete 网络
    好处:当为 complete network 时,隐藏层的节点权重不再为必须的,只需要输出层的节点权重向量即可

    Process

    5. 假设S(hij)可以展开为上式.PNG
    符号解释:  
    * Dij[k]: 代表误差率最优情况下的多项式系数  
    * P(i,j): 由relative rms计算得到,P(i,j)会随着rms的下降而增大
    
    6. express the activation function within the network.PNG 6.1.PNG 6.2.PNG
    符号解释:  
    * x: (M*1)转置的矩阵  
    * M:0到p层每层节点的数量和+1(即:输入层节点和 + 隐藏层节点和 + 1)  
      实验例子中 M = 123  
    * C: (M*L)的相关矩阵  
    * X:(L*1)转置的输入参数矩阵;X = [X[0][1], X[1][1]... X[2][1], X[2][2]...]  
    * X[0][1] = 1  
      X[1][l] = xl  
      X[2][l] = x1^2, x2^2, x1x2, x1x3 ect  
    
    7. output的表示方式.PNG
    符号解释:  
    * W:(m*M)的输出层权重矩阵  
      W = [w1, w2, ..., w(p+1)]T  
      wk = 输出层每个节点组成的集合  
      wijk = 输出层的每个节点关于上一层节点连边上的权重值组成的集合  
    
    8. 最终简化而成的每一个输出y的表达式.PNG

    Kalman filtering

    目的

    预测和反馈向最小mse值的递归过程,对每一个输出节点上的权重进行filter

    Process

    9. 神经网络系统的状态差分方程.PNG 9.2.PNG 9.3.PNG 9.4 噪声的相关关系.PNG
    补充及符号解释:  
    * 每一个输出节点对应的权重值可以独立更新  
    * A: (M*M)的状态转化矩阵  
    * B: (M*M)的对角矩阵  
    * uk: (1*M)的process error向量  
    * vk: scalar measurement error  
    * uk及vk为服从高斯模型的白噪声,相关关系如上图9.4  
    
    10. 神经网络中权重矩阵利用卡尔曼滤波进行反馈和预测的过程.PNG
    补充解释:  
    * 上图第一个等式右边的权重值为经过PBF预测得到的估计值;
      左边的权重值为filter预测反馈而得到的估计值
    * gk^j: 卡尔曼增益值; 通常使用UD分解来求卡尔曼增益值(ud文件的意义)
    
    11. 卡尔曼增益值计算公式.PNG
    简化计算:  
    * 令Aj和Bj为单位矩阵  
    * rk^j为小的正数  
    * 令 Qk^j = φ^2 * I(单位矩阵)
      φ为指定的过程误差变量
    * 初始权重设置为小随机数  
    * 设立初始预测误差相关矩阵为图11.1
    
    11.1.PNG

    实验过程

    1. 预处理:
    • 对输入数据到预测数据进行 sensitibity test
    • 采用Monte Carlo对训练数据集进行选择,选取输出值易受输入值影响的
    1. 神经网络黑箱处理

    相关文章

      网友评论

      本文标题:Dynamic Learning Neural Network

      本文链接:https://www.haomeiwen.com/subject/jhzdattx.html