龙空技术网

从零开始人工智能(第四节)——反向传播算法?

人工智能排头兵 165

前言:

此刻我们对“bp算法的原理和基本步骤”大致比较重视,大家都需要剖析一些“bp算法的原理和基本步骤”的相关文章。那么小编也在网上收集了一些有关“bp算法的原理和基本步骤””的相关内容,希望我们能喜欢,兄弟们一起来学习一下吧!

我们以直线方程为例,让大家明白为什么要用反向传播。

大家都知道直线方程是 y = kx+ b ,一般解题的时候都是已知k(斜率)和

b(偏移量)。在x和y上来回出题做文章。

但是在算法应用中,我们会有一堆训练数据x和y,让我们通过训练数据想办法找出最符合某种预期的k和b,比如有效的将所有点区分开。

平面线性分类

我们可以设想下,直线方程只需要确定两个参数即可。哪怕是我们慢慢尝试也可以找到答案。但是神经网络模型的参数高达数千万甚至上亿,目前最大的模型参数已经突破千亿。寻找合适的参数是一个非常困难的问题。反向传播算法有效的解决了这个问题。

反向传播算法设计者

典型神经网络

上面只是简单的神经网络图例,网络的每条连接线上都有一个权重参数,如何有效的修改这些参数,使误差最小化,就是BP(Back Propagation)算法,也就是反向传播算法要做的事情。

BP算法是一种计算偏导数的有效方法,它的基本原理是:利用前向传播最后输出的结果来计算误差的偏导数,再用这个偏导数和前面的网络层进行加权求和,如此一层一层的向后展传下去,直到输入层(不计算输入层),最后利用每个节点求出的偏导数来更新权重。

大家可以不必纠结偏导,误差,计算方法这些问题。下一节我们会把这些概念,以及详细的计算方法和大家说明一下。保证可简单,谁都能看得懂[呲牙]有看不懂的我给你开小灶

标签: #bp算法的原理和基本步骤