当前位置:   article > 正文

练习推导一个最简单的BP神经网络训练过程【个人作业/数学推导】

bp神经网络训练过程

写在前面:

各式资料中关于BP神经网络的讲解已经足够全面详尽,故不在此过多赘述。本文重点在于由一个“最简单”的神经网络练习推导其训练过程,和大家一起在练习中一起更好理解神经网络训练过程。

一、BP神经网络

1.1 简介

BP网络(Back-Propagation Network) 是1986年被提出的,是一种按误差逆向传播算法训练的
多层前馈网络,是目前应用最广泛的神经网络模型之一,用于函数逼近、模型识别分类、数据压
缩和时间序列预测等。
一个典型的BP网络应该包括三层:输入层、隐藏层和输出层。各层之间全连接,同层之间无连接。
隐藏层可以有很多层。
 

图1 BP神经网络参考图

1.2 训练(学习)过程

每一次迭代(Interation)意味着使用一批(Batch)数据对模型进行一次更新过程,被称为“一次训练”,包含一个正向过程和一个反向过程。

具体过程可以概括为如下过程:

  1. 准备样本信息(数据&标签)、定义神经网络(结构、初始化参数、选取激活函数等)
  2. 将样本输入,正向计算各节点函数输出
  3. 计算损失函数
  4. 求损失函数对各权重的偏导数,采用适当方法进行反向过程优化
  5. 重复2~4直至达到停止条件

以下训练将使用均值平方差(Mean Squared Error, MSE)作为损失函数,sigmoid函数作为激活函数、梯度下降法作为优化权重方法进行推导
 

二、实例推导练习作业

2.1 准备工作

图2 所定义神经网络、初始化参数、样本信息等
  1. 第一层是输入层,包含两个神经元: i1, i2 和偏置b1
  2. 第二层是隐藏层,包含两个神经元: h1, h2 和偏置项b2
  3. 第三层是输出: o1, o2
  4. 每条线上标的 wi 是层与层之间连接的权重
  5. 激活函数是 sigmod 函数
  6. 我们用 z 表示某神经元的加权输入和,用 a 表示某神经元的输出

2.2 第一次正向过程【个人推导】

根据上述信息,我们可以得到另一种表达一次迭代的“环形”过程的图示如下:

图3 bp神经网络数量关系“环”图示

我们做一次正向过程(由于需多次迭代,因此我们将第一次正向过程标记为t=0),得各项数值如下:

图4 初始数值“环”图示(附函数关系表达式)

由此我们可得损失函数值为MSE=0.298371109,假设这超出了我们对损失值的要求,那么我们就需要对各个权重(wi,t=0)进行更新, 作为t=1的初始权重。

2.3 推导计算∂/∂wi【个人推导】

2.3.1 均值平方差损失函数的全微分推导

2.3.2 这一次代入训练实例的数值和各数量名

d

d

d

dM

d

2.3.3 由此我们得到∂/∂wi的表达式

当然如果你喜欢用矩阵表示也可以:

 【2022.06.06 update】

更新一个矩阵化表示的方式:

 

 相较于最初的矩阵表达,本次更新的表达更有利于编程的代码实现。

​​​​​​​

2.4 根据∂/∂wi梯度下降法优化wi【个人推导】

根据梯度下降法,设置学习率α=0.5,计算出wi,t+1,然后重新进行下一次正向过程。(可以将该过程在Excel中轻易实现,下表中为迭代数据截取)

可以看到,经过10001次迭代之后MSE(t=10001)=3.51019E-05已经足够小,可以停止迭代完成1代训练。

t w1 w2 w3 w4 w5 w6 w7 w8 zh1 zh2 ah1 ah2 zo1 zo2 ao1 ao2 MSE /w1 /w2 /w3 /w4 /w5 /w6 /w7 /w8
0 0.15 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.3775 0.3925 0.593269992 0.596884378 1.105905967 1.224921404 0.75136507 0.772928465 0.298371109 0.000438568 0.000877135 0.000497713 0.000995425 0.082167041 0.082667628 -0.02260254 -0.022740242
1 0.149780716 0.199561432 0.249751144 0.299502287 0.35891648 0.408666186 0.51130127 0.561370121 0.377445179 0.392437786 0.593256764 0.596869409 1.056849974 1.238397589 0.742088111 0.775284968 0.291027774 0.000375997 0.000751993 0.000436258 0.000872515 0.083125235 0.083631428 -0.022192112 -0.022327251
2 0.149592718 0.199185436 0.249533015 0.29906603 0.317353862 0.366850472 0.522397326 0.572533747 0.377398179 0.392383254 0.593245423 0.596856287 1.007225737 1.251630189 0.732476871 0.777581927 0.283547133 0.000310525 0.00062105 0.000371788 0.000743575 0.083987295 0.084498495 -0.021794258 -0.021926912
3 0.149437455 0.19887491 0.249347121 0.298694242 0.275360214 0.324601225 0.533294455 0.583497203 0.377359364 0.39233678 0.593236056 0.596845105 0.95709026 1.264626948 0.722538849 0.779821583 0.275943289 0.000242382 0.000484765 0.000304522 0.000609045 0.084742149 0.085257692 -0.021408471 -0.021538713
4 0.149316264 0.198632528 0.24919486 0.29838972 0.23298914 0.281972379 0.543998691 0.594266559 0.377329066 0.392298715 0.593228745 0.596835945 0.906507106 1.277395304 0.712284877 0.782006073 0.268232761 0.000171857 0.000343714 0.000234742 0.000469484 0.085379168 0.085898326 -0.021034266 -0.021162167
5 0.149230335 0.198460671 0.249077489 0.298154978 0.190299556 0.239023216 0.554515824 0.604847643 0.377307584 0.392269372 0.593223561 0.596828885 0.85554614 1.289942396 0.701729276 0.784137439 0.260434393 9.92949E-05 0.00019859 0.000162784 0.000325569 0.085888451 0.08641044 -0.02067118 -0.02079681
6 0.149180688 0.198361376 0.248996097 0.297992193 0.14735533 0.195817996 0.564851414 0.615246048 0.377295172 0.392249024 0.593220566 0.596823989 0.80428309 1.302275076 0.690889929 0.786217626 0.252569176 2.50973E-05 5.01945E-05 8.90435E-05 0.000178087 0.086261127 0.086785106 -0.020318774 -0.020442197
7 0.149168139 0.198336279 0.248951575 0.29790315 0.104224767 0.152425443 0.575010801 0.625467146 0.377292035 0.392237894 0.593219809 0.59682131 0.752798949 1.314399919 0.67978827 0.78824849 0.244659999 -5.02864E-05 -0.000100573 1.39637E-05 2.79274E-05 0.086489639 0.087014727 -0.019976624 -0.020097905
8 0.149193283 0.198386565 0.248944593 0.297889186 0.060979947 0.108918079 0.584999113 0.635516098 0.377298321 0.392236148 0.593221326 0.59682089 0.70117919 1.326323233 0.668449162 0.790231804 0.236731316 -0.000126366 -0.000252732 -6.19687E-05 -0.000123937 0.086568027 0.087093306 -0.019644331 -0.01976353
9 0.149256466 0.198512931 0.248975577 0.297951155 0.017695934 0.065371426 0.594821279 0.645397863 0.377314116 0.392243894 0.593225137 0.596822754 0.649512828 1.338051065 0.656900671 0.792169257 0.228808741 -0.00020262 -0.000405241 -0.000138235 -0.00027647 0.086492156 0.087016688 -0.019321512 -0.019438687
10 0.149357776 0.198715551 0.249044695 0.29808939 -0.02555014 0.021863082 0.604482034 0.655117207 0.377339444 0.392261174 0.593231249 0.596826912 0.597891332 1.349589212 0.645173728 0.794062461 0.220918592 -0.000278511 -0.000557022 -0.000214296 -0.000428592 0.086259908 0.086782742 -0.0190078 -0.019123009
11 0.149497031 0.198994063 0.249151843 0.298303686 -0.0686801 -0.021528289 0.613985934 0.664678711 0.377374258 0.392287961 0.59323965 0.596833358 0.546407442 1.360943228 0.633301689 0.795912954 0.213087389 -0.000353494 -0.000706987 -0.000289606 -0.000579211 0.085871298 0.086391487 -0.018702847 -0.018816145
12 0.149673778 0.199347556 0.249296646 0.298593292 -0.11161575 -0.064724032 0.623337358 0.674086784 0.377418445 0.392324161 0.593250313 0.596842068 0.495153898 1.372118433 0.621319805 0.797722203 0.205341328 -0.000427033 -0.000854067 -0.000363625 -0.000727249 0.085328524 0.085845134 -0.018406322 -0.01851776
13 0.149887295 0.19977459 0.249478458 0.298956916 -0.15428001 -0.107646599 0.632540519 0.683345664 0.377471824 0.392369615 0.593263193 0.596853005 0.444222153 1.383119921 0.609264624 0.799491606 0.197705769 -0.000498617 -0.000997235 -0.000435834 -0.000871669 0.084635924 0.085148053 -0.018117905 -0.018227536
14 0.150136604 0.200273207 0.249696375 0.299392751 -0.19659797 -0.150220625 0.641599472 0.692459432 0.377534151 0.392424094 0.593278233 0.596866114 0.393701102 1.393952571 0.597173346 0.801222499 0.190204742 -0.000567769 -0.001135538 -0.00050575 -0.001011499 0.083799873 0.084306657 -0.017837296 -0.017945168
15 0.150420488 0.200840976 0.24994925 0.2998985 -0.23849791 -0.192373954 0.65051812 0.701432016 0.377605122 0.392487313 0.593295358 0.596881325 0.343675878 1.404621052 0.58508316 0.802916156 0.182860503 -0.000634058 -0.001268116 -0.000572931 -0.001145862 0.082828589 0.083329217 -0.017564203 -0.017670364
16 0.150737517 0.201475034 0.250235716 0.300471431 -0.2799122 -0.234038563 0.659300221 0.710267198 0.377684379 0.392558929 0.593314482 0.596898557 0.294226757 1.415129835 0.573030597 0.804573793 0.175693166 -0.000697111 -0.001394222 -0.000636994 -0.001273987 0.081731884 0.082225608 -0.017298353 -0.017402848
17 0.151086073 0.202172145 0.250554212 0.301108425 -0.32077814 -0.275151366 0.667949398 0.718968622 0.377771518 0.392638553 0.593335508 0.596917716
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/94621
推荐阅读
相关标签
  

闽ICP备14008679号