详解深度学习感知机原理

大家好,欢迎阅读深度学习专题。

我们之前的机器学习专题已经结束了,我们把机器学习领域当中常用的算法、模型以及它们的原理以及实现都过了一遍。虽然还有一些技术,比如马尔科夫、隐马尔科夫、条件随机场等等没有涉及到。但是这些内容相比来说要弱一些,使用频率并不是非常高,我们就不一一叙述了,感兴趣的同学可以自行研究一下。我想像是GBDT、SVM这些模型都能理解的话,那些模型想必也不在话下。

深度学习简介

深度学习最近几年非常火,很多人会把它和人工智能扯上联系。这里的深入并不是指学习深入,也不是指概念很深入,只是单纯地指多层神经网络组成的“深度”神经网络。

其实无论是神经网络还是深度神经网络或者是深度学习当中的算法,其实至今都已经有好几十年的历史了。比如众所周知的深度学习核心算法反向传播算法最早提出在1989年,距今已经三十多年了。虽然历史并不短,但是这门领域之前起起伏伏,虽然也曾辉煌过,但一直到最近几年才强势崛起,成为了几乎家喻户晓的概念。

其中的原因也很简单,因为训练神经网络的复杂度实在是太大了,以之前的计算资源根本扛不住这么大规模的运算。所以在之前那个年代,深度学习还是一个偏小众的领域。研究的人不多,经费也有限。直到最近几年,由于计算资源飞速发展,再加上通过GPU加速神经网络训练的黑科技被发明出来,使得原本不可能做到的变成了可能。再加上阿尔法狗战胜了李世石这种划时代的事件发生,导致了深度学习一时间吸引了大量的资源与关注,那么这个行业自然也就蒸蒸日上发展起来了。

既然深度学习是有关于神经网络的技术,那么我们这个专题文章讲解的内容自然也不会脱离神经网络的范畴。今天我们就从神经网络最基础的神经元——感知机开始说起。

感知机

感知机的英文是perceptron,我们可以把它理解成神经网络的最小构成单位。我们知道在自然界的生物体当中,神经的最小单位是神经元,一个神经元是一个细胞,它大概长成下面这个样子。我想绝大多数同学都应该曾经在生物课的课本上看到过神经元的图片。

感知机可以理解成神经元的仿生结构,我们都知道一个神经元细胞可以连接多个神经细胞,这些神经元之间彼此连接形成了一张巨大的网络。神经元之间可以互相传递电信号以及化学物质,从而形成了一系列复杂的反应。人类的大脑就可以理解成一张极其巨大且复杂的神经网络,但是关于人类的大脑以及生物的神经元网络究竟是如何起作用的,目前还没有定论。

但计算学家模拟神经元以及神经网络搭建了深度学习的模型,的确在一些问题上取得了非凡的结果。感知机就可以认为是一个神经元细胞的抽象,我们都知道一个神经元细胞会从其他若干个神经元当中获取信号,也会向另一个神经元细胞传递信号。我们把传入的信号当成是输入,传出的信号当做是输出,这样就得到了感知机的结构。

这里我们把结构做到了最简,我们把输入的信号都看成是浮点数,每一个信号都有一个自己的权重,所有的信号会累加在一起,最后通过一个映射函数输出信号。

我们来看最简单的感知机来做个例子:

这个感知机只有两个输入,我们很容易得到

。这里的y是一个浮点数,我们可以在y上套一个sign函数。所谓的sign函数,即使根据阈值来进行分类。比如我们设置一个阈值

,如果

,那么

,否则的话

说起来又是神经元又是感知机什么的,但它的原理很简单,我们把公式写出来就是:

,这里的

叫做激活函数(activate function)。我们上面列举的例子当中的激活函数是sign函数,也就是根据阈值进行分类的函数。在神经网络当中常用的激活函数主要有三种,一种是我们之前就非常熟悉的sigmoid函数,一种是relu函数,另外一种是tanh函数。我们来分别看下他们的图像。

relu函数的方程很简单:

。但是它的效果非常好,也是神经网络当中最常用的激活函数之一。使用它的收敛速度要比sigmoid更快,原因也很简单,因为sigmoid函数图像两边非常非常光滑,导致我们求导得出的结果非常接近0,这样我们梯度下降的时候自然收敛速度就慢了。这一点我们之前在介绍sigmoid函数的时候曾经提到过。

从图像上来看tanh函数和sigmoid函数非常相似,一点细微的差别是他们的值域不同,sigmoid函数的值域是0到1,而tanh是-1到1。虽然看起来只是值域不同,但是区别还是挺大的,一方面是两者的敏感区间不同。tanh的敏感区间相比来说更大,另外一点是,sigmoid输出的值都是正值,在一些场景当中可能会产生问题。

相信大家看出来了,感知机其实就是一个线性方程再套上一个激活函数。某种程度上来说逻辑回归模型也可以看成是一个感知机。有一个问题大家可能感到很疑惑,为什么线性方程后面需要加上一个激活函数呢?如果不加行不行?

答案是不行,原因也很简单,因为当我们把多个神经元组织在一起形成了一张网络之后。如果每一个神经元的计算都是这样纯线性的,那么整个神经网络其实也等价于一个线性的运算。这个是可以在数学上得到证明的,所以我们需要在感知机当中增加一点东西,让它的计算结果不是纯线性的。

感知机和逻辑电路

最后我们来看一个实际一点的例子,最简单的例子当然是逻辑电路当中的与或门。与门、或门、非门其实都差不多,都是有两个输入和一个输出。

我们以与门为例:

二进制的与操作我们都很熟悉了,只有两个数都为1才能得到1。我们要写出这样一个感知机来也非常简单:

defAND(x1, x2):x=np.array([x1, x2])w=np.array([0.5, 0.5])theta=0.7returnw.dot(x) > theta

同样我们也可以写出或门或者是非门,这也并不困难。但是也会发现有一种情况我们无法解决,就是异或的情况。我们先来看下异或的真值表:

我们是没有办法通过一个感知机来实现异或数据的分割,这个问题我们之前在SVM模型当中曾经介绍过,因为异或的数据不是线性可分的,也就是说我们没办法通过一条分割线将它分割。

但是异或问题并非是不可解决的,我们用单独的感知机不能够分割,但是我们可以将感知机串联起来,形成一张简单的神经网络,这个问题就变得可解了。假设我们已经把与门、或门、非门都实现了一遍。我们可以这样来实现异或门:

defXOR(x1, x2):    # 非门s1=NAND(x1, x2)s2=OR(x1, x2)returnAND(s1, s2)

整个感知机的结构是这样的:

TensorFlow官网提供了一个叫做playground的网页应用,可以让我们自己直观地感受神经网络的组成以及它的训练过程。比如刚才的异或问题,我们就可以自己来设置神经网络的层数以及每一层包含的神经元的数量。并且还可以设置神经元的激活函数,可以非常直观地体会神经网络的训练过程以及各种参数的作用。

到这里,关于感知机的介绍就差不多结束了。感知机是神经网络的基础,其实也没有太多的内容,无论是结构上还是形式上都和之前机器学习介绍过的逻辑回归很近似,也没有太多技术难点和要点,大家只需要直观地感受就可以了。

衷心祝愿大家每天都有所收获。如果还喜欢今天的内容的话,请来一个三连支持吧~(点赞、关注、转发

最后,小编想说:我是一名python开发工程师,整理了一套最新的python系统学习教程,想要这些资料的可以关注私信小编“01”即可(免费分享哦)希望能对你有所帮助.

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