简说:5分钟说清“深度学习”

0. 核心概念概览

  • “深度学习”技术是近年来“人工智能”再次风靡的主要推动力。
  • 早期的“人工智能”技术,依靠程序员总结输入“明确的规则”。
  • 生物的大脑都是高度专业化的,是为特定功能进化出来的。
  • 大脑是一个强大的模式识别器。
  • 大脑不管练习还是使用识别能力,都不是按照各种逻辑和规则进行的。
  • 大脑是由神经元组成的。
  • 大脑的识别功能可以通过训练提高。
  • 神经元用自己的参数处理输入值,若输出值大于某个阈值,神经元就被“激发”。
  • 神经元的内部参数,包括权重和偏移值都是可调的。
  • 用数据训练神经网络的过程,就是调整更新各个神经元的内部参数的过程。
  • 神经网络的结构在训练中不变,是其中神经元的参数决定了神经网络的功能。

1. 深度学习有什么用?

人工智能-->深度学习|神经网络|卷积神经网络--> 图形识别、语音识别、汽车导航...

段子1: 识别一只猫的能力

猫 AND 狗
  • 人很容易就能从一张照片里找到一只猫,可是在以前,Google动用了无比强大的计算力量、花了很多年研究都做不到这一点。
  • 以前的计算机无法胜任,因为以前的程序员不能总结出计算机能理解的明确规则。
  • 但是2012年开始,“深度学习”让计算机识别图形的能力突然变得无比强大,目前已经超越了人类。

2. 人脑并不依赖规则

男性 OR 女性
  • 上图是两张人脸的照片,你是怎么判断Ta是男是女的呢?
  • 你可能会说女性长得比较秀气一些(眉毛比较细吗?轮廓比较小吗?)
  • 体会一下,这是一个非常奇怪的感觉,你明明知道猫长什么样,一眼就能区分男性女性,可是说不清是怎么看出来的。
  • 一个法官说,什么叫色情作品?我没办法给一个明文规定,但如果我看见了,就能识别出来。
  • 初级的计算机图形识别,必须说清一些明确的规则,让计算机根据规则判断。
  • 显然,人脑并不是根据规则做的判断。

段子2: 苍蝇 VS 超级计算机

苍蝇 VS 超级计算机
  • 问:这只苍蝇大脑只有10万个神经元,能耗那么低,但是它能看、能飞、能寻找食物、还能繁殖。价值上亿的超级计算机,消耗极大的能量,有庞大的体积,可是它的功能为什么还不如一只苍蝇?
  • 答:苍蝇大脑是高度专业化的,进化使得苍蝇的大脑只具备这些特定的功能,而我们的计算机是通用的,你可以对它进行各种编程,它理论上可以干任何事情。

3. 人脑的识别能力

关键在于,大脑的识别能力,不是靠临时弄一些规则临时编程。大脑的每一个功能都是专门的神经网络长出来的。
大脑给计算机科学家的四个暗示:

1. 大脑是一个强大的模式识别器。

人脑非常善于在一个混乱的场景里识别出想要找的东西。比如从满大街的人中,一眼就认出你熟悉的人。

2. 大脑不管练习还是使用识别能力,都不是按照各种逻辑和规则进行的。

我们识别一个人脸,并不是和一些抽象的规则进行比对。我们不是通过测量两眼之间的距离来识别这个人。我们一眼看过去,就知道他是谁了。

3. 大脑是由神经元组成的。

人脑由数百亿个神经元组成,不是基于明确规则,而是基于神经元的计算。

4. 大脑的识别功能可以通过训练提高。

一个人从小到大,不断成长,大脑识别能力也是在不断提高。

4. 什么是“深度学习”?

简单的神经网络

从左到右分为三层

  • 第一层:输入层(Input)输入的数据
  • 第二层:隐藏层(Hidden)由神经元组成,主要处理过程,可以有很多层
  • 第三层:输出层(Output)由神经元组成,负责作出判断

深度学习就是中间有不止一层隐藏层神经元的神经网络计算,深度的意思就是层次比较深。神经网络底层单元是神经元。

简单神经网络 vs 深度学习神经网络

5. 用交通灯模型理解神经元

交通信号灯--前进判断

上图表现了一个根据交通信号灯判断要不要前进的神经元。
理解神经元的基本原理,它由三部分组成:

1. 输入
红、黄、绿灯那个灯亮了,可以用1表示亮,0表示灭。

2. 内部参数(权重weight+偏移值bias)

  • 对每一个输入值都给一个权重,比如给红灯-1,黄灯0,绿灯1。
  • 偏移值是用来修正的,图中为-0.5。
  • 神经元做的计算:把输入的三个数字分别乘以各自的权重,相加,然后加上偏移值。比如现在是红灯,那么输入的三个值就是1、0、0,权重是-1、0、1,所以计算结果就是:1x(-1) + 0x0 + 0x1 - 0.5 = -1.5
  • 真实的神经元会加入非线性函数处理,并且确保输出值都在0和1之间。

3. 输出

  • 输出是根据模型规则做出判断
  • X>0 : 前进
  • X<=0 : 停止

神经元激发模型:
神经元做的事情就是按照自己的权重参数把输入值相加,再加入偏移值,形成一个输出值。如果输出值大于某个阈值,我们就说这个神经元被“激发”了。

深度学习过程:
神经元的内部参数,包括权重和偏移值都是可调的。用数据训练神经网络的过程,就是调整更新各个神经元的内部参数的过程。神经网络的结构在训练中不变,是其中神经元的参数决定了神经网络的功能。

你可能感兴趣的:(简说:5分钟说清“深度学习”)