前馈神经网络反向传播算法假设

时间:2017-03-26 17:30:57

标签: machine-learning neural-network

在反向传播期间,似乎假设在隐藏层中创建的任何错误仅影响一个更高的层(例如,请参见派生here,特别是等式16)。

也就是说,在计算dE/dy_j派生状态时,它使用链规则,但是它仅区分具有I_j中的索引的节点(即仅在比y_j高一层的节点上进行区分)。为什么在此计算中忽略较高层?考虑到i+1(明显具有x_{i+1} = \sum_i w_{i,i+1} f(\sum_{j} w_{j,i} y_j)依赖性),我们也可以考虑y_j图层。

1 个答案:

答案 0 :(得分:2)

更高层不被忽略。在等式16中,Relative中的<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="16dp" android:stretchColumns="1"> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_alignParentStart="true"> <LinearLayout android:layout_width="match_parent" android:layout_height="111dp" android:orientation="horizontal"></LinearLayout> <RelativeLayout android:layout_width="match_parent" android:layout_height="173dp"> </RelativeLayout> </FrameLayout> 是最终输出的误差,因此渐变已经包括所有后续层的效果。这是反向传播的全部要点。您从输出处的错误开始,并计算相对于前一层的渐变。然后,使用该渐变计算下一个上一层的渐变等。

你可以做你所描述的,但它会使一个更复杂的公式。反向传播公式的一个方便/有效的方面是,由于您只需要为后续层使用误差项,因此无论您是否总共有3层或4或50都无关紧要。您应用相同的简单方法每个隐藏图层的公式,在您向后通过网络时累积链规则术语。