我一直在努力思考神经网络中的反向传播是如何工作的,衍生物是什么,以及它试图最小化的功能。
下面我尝试制作最简单的模型,输入,隐藏和输出层,每个节点有1个节点,用()表示。网络使用sigmoid函数,w()是每个节点之间的权重。我们计算每个增量,然后相应地更新权重。如果我的模型中有任何错误,请告诉我。
我的问题是,我们究竟要尽量减少什么?我们正在尝试最小化每个节点的增量,对吗? Delta似乎不是任何东西的衍生物,我知道x *(1-x)是逻辑函数的导数(1/1 + e ^ -x),但对于delta(a1)a(1)是在这种情况下的x,它不会是(1)的sigmoid函数中的x ..如果delta(a1)是一个导数,那么它的函数究竟是什么函数?
Input Hidden Output
a(0) ---w(1)--- a(1) ---w(2)--- a(3)
delta(a2) = a(2) - y
delta(a1) = [delta(a2) * w(2)] * a(1) * [1 - a(1)]
w1 = w1 - [a(0) * delta(a1)]
w2 = w2 - [a(1) * delta(a2)]