人工智能起步-反向回馈神经网路算法(BP算法)

人工智能分为强人工与弱人工。

弱人工智能就包括我们常用的语音识别,图像识别等,或者为了某一个固定目标实现的人工算法,如:下围棋,游戏的AI,聊天机器人,阿尔法狗等。

强人工智能目前只是一个幻想,就是自主意识,具有自我成长、创造力的AI。如妇联2里的奥创,各种电影都有这个概念了。

我希望不久的将来能目睹这一奇迹。

不积跬步无以至千里。

先从基础讲起。

目前比较先进的算法理论据我所知应该分成这几大类:

1,深度神经网络

2,生成对抗网络

3,深度强化学习

4,迁移学习

5,循环神经网络


神经元生物原理

100多年前脑部的生物构造被研究出来之后,大家就幻想可以通过模拟神经系统造人了。然后就弄出各种神经网络算法。所以先讲这部分内容,之后理解BP算法会更带感。

神经元是神经网络的基本单位,先贴一张图。

可以看到神经元的主要构造分为3个部分 N个树突+细胞体 +突触

神经元之间的连接是就是树突连接(另一个神经元)的突触。这种首尾相连的结构,N个树突可以连接N个神经元。

信号的传输方式是由N个神经元通过树突传递神经递质,递质上附加了生物电,当生物电累加到一定阙值时就会激发突触发送信号出去。

基本逻辑就是这样。下面我们看看人类的脑洞。


BP算法原理

BP算法由输入层→隐层→输出层构成。

输入输出层:这里可以看到这层可以有多个入口,也可以只有1个入口。

比如要做一个根据每期福利彩票的结果预测下期的结果。

那么输入层就应该上一期的结果(N个数字)。输出层就是这期(N个数字)。

隐层:隐层可以有N个节点或者N个层次。

正向过程:

输入层分别累加到隐层的各个节点 

假设 输入是x  隐层节点是s

那么

s1 = x1+x2+x3+x4+……

s2 = x1+x2+x3+x4+……

s3 = x1+x2+x3+x4+……


然后为了可以动态调整各个节点加入的权值w1 w2 w3……

就变成


s1 = w1*x1+w2*x2+w3*x3+w4*x4+……

s2 = w1*x1+w2*x2+w3*x3+w4*x4+……

s3 = w1*x1+w2*x2+w3*x3+w4*x4+……

顺便加一个偏移值b 数学公式就成了:

Sj 还要经过传递函数 f() 算出 隐层节点的值

f()传递函数对应的过程就是:

神经元累加生物电到达一定程度时触发放电。如果没到达阙值这些累积的生物电就打水漂了。

举个例子来说 

常用的一种激励函数是sigmoid 函数图如下

公式 f= 1/(1+e^-x)


这个S型函数的意义只要达到某一阙值 函数就会输出1  就算超出阙值也不会影响输出值。(错误)

这里原先是我理解错了,BP算法加入sigmod函数主要的意义在于加入非线性函数来解决非线性问题。

选sigmod的好处在于 求导方便  sigmod的导数= 1 - f 

反向回馈的时候需要计算导数


隐层到输出层的过程也是一样的。

不过BP算法的重点在于反向回馈。

反向:

正向传输结束之后我们能够拿到一次结果。

这个结果就可以跟预期值做比较,一般计算方差E。

那么这个误差就可以反向的传递给上一层,用来调整上层节点的权值 w 。这个过程反复执行直到方差E小于期望的最小误差。(因为现实是不可能达到0误差,所以如果不设置最小期望误差则程序结束不了。)

至于具体的权值调整的公式有完整的推导过程,过于复杂这里不讨论。

核心的概念就是通过计算整体方差E对权值变量Wj 的偏微分得出 当前权值应该增加还是应该减少,上式很像n的那个字母就是指学习率。就是这里一次要调整权值时用的基本单位。

偏微分科普:

比如 一个公式有N个变量  y = aX +bY+cZ; 这里 XYZ是变量。abc是常量。

偏微分就是求单一变量的变化对y值的影响,其他变量在此被当作常量来求导。

那么y在这里求x的偏微分,就应该是 =a  ;  (bY+CZ)被当作常量。


小结:

那么一次正向反馈+一次反向调整权值使得全局误差减少,做多几次直到全局误差符合期望的最小误差。这就是一次训练完成。

多次训练需要提供不同的输入值。

再拿上面的例子说:

就是我拿第1期的开奖结果作为输入值,第2期的开奖结果作为预期值计算误差,这就是一次完整的训练。

第二次训练就是拿第2期作为输入值,第3期作为预期值。

以此类推直到没有新的训练样本。训练完成的神经网络就可以用来预测往后的任何一期的开奖结果。

(当然由于福利彩票是完全随机没有规律的,所以其实预测结果很糟糕。)

BP算法理论上能够逼近所有线性函数。

通俗点讲,BP算法能够在你拥有足够的历史数据而又不知道其中规律的情况训练出能够预测结果的算法。

但是必须这个要做的事情是有规律的(只是你不知道或者太过复杂),而且你的训练集必须包含所有“有效因子”。

有效因子这个词是我造的了。比如说你的历史数据里有50%是会影响结果的,有另外50%跟结果一毛钱关系都没有。这是神经算法允许的。

但是如果这50%的数据里没有包含所有导向结果的所有因素,那么结果就会差别很大。

假设说福利彩票(又来了) 有一个因素是空气质量(假设!),比如没雾霾的情况下出现某个数字的概率很高。

然而你的训练集中没有加入这个因素,那么结果就非常不准确了。


目前存在的问题

目前BP算法有两个明显问题:

1. 容易陷入局部最小值

比如函数

整个BP算法就类似求解这个函数的最小值。

但是我们看到这个函数有2个最小值,实际的情况是可能有非常多个极小值。

当我们从右到左调整权值时会到达第一个低谷。然后继续调整权值后发现误差值变大了,算法就误以为找到了最小值解。然而却没有拿到全局的最优解。

这就是所谓的陷入局部最小值。



2.过拟合问题

 过度的符合训练集。就像刚才我举例说有50%的训练数据是无关结果的。所以算法最佳的结果其实是忽略掉这50%无用训练集。但是问题在于我们不知道规律是什么,不知道那些训练集是有效因子(知道了就不会搞出来一个BP算法了)。

所以过度的符合训练集也是错误的。


这个算法在人工智能领域还是算入门了,升级版还有卷积算法。

涉及的数学概念非常多,尤其是统计学方面。

附上BP算法相关内容的思维导图

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,183评论 6 516
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,850评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,766评论 0 361
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,854评论 1 299
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,871评论 6 398
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,457评论 1 311
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,999评论 3 422
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,914评论 0 277
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,465评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,543评论 3 342
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,675评论 1 353
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,354评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,029评论 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,514评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,616评论 1 274
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,091评论 3 378
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,685评论 2 360