深度学习——PyTorch实战计算机视觉3
后向传播
深度学习中,后向传播主要用于对模型的参数进行微调。经过多次后向传播之后,可以得到模型的最优参数组合。这个过程其实就是一个复合函数求导的过程。
举例:
定义上图模型的前向传播函数为。假设输入数据,可得前向传播计算结果。若把原函数改写为复合函数的形式,令,就可以得到。
接下来是后向传播中涉及到的计算过程。
假设在后向传播过程中需要微调的参数有3个,分别是X, Y, Z,这3个参数每轮后向传播的微调值为、和,这3个值计算的都是偏导数。将求偏导的步骤拆解:
首先,分别计算, , , ,然后计算X,Y,Z后向传播微调值,即偏导数:
- Z的偏导数:
- Y的偏导数:
- X的偏导数:
接下来看一个复杂点的例子:
假设x0=1、x1=1、b=-1,同时有对应权重值w0=0.5、w1=0.5,使用Sigmoid作为**函数,则前向传播的计算函数为:,将参数代入函数进行计算,可得,然后再对函数进行求导。同样,若将原函数进行化简,改写为复合函数形式求解,令,化简后的函数为,故,,然后计算x0、x1后向传播微调值:
- x0后向传播微调值:
- x1后向传播微调值: