文档章节

什么是深度学习

hoolev
 hoolev
发布于 2017/07/14 16:00
字数 1340
阅读 15
收藏 1

现在人工智能这么火,不跟上是不是以后就要被淘汰了?为什么选深度学习呢?因为目前最火嘛,哈哈啊! 后续这些文章只是学习笔记,记录一个只听说过深度学习大名的程序员深度学习的过程。

什么是深度学习

深度学习是机器学习的一种方法,机器学习就是让机器根据一些训练资料,自动找出有用的函数。 例如语音识别,就是机器根据一堆声音信号和其对应的文字,找到对应的函数,当输入一段声音信号时,输出该信号对应的文字。

一般机器学习要经过三个步骤:

  1. 人类提供给机器一个由函数构成的集合(函数集)
  2. 人类根据训练资料定义函数的优劣
  3. 机器自动从函数集中找出最优的函数

既然深度学习是机器学习的一种方法,那么必然符合三个步骤。下面就分别从这三个步骤来理解深度学习。

人工神经网络(Artificial Neural Network)

在深度学习中,人类在第一个步骤中提供的函数集由人工神经网络定义,即人工神经网络就是函数集。

神经元

与人的大脑类似,人工神经网络也由神经元连接而成,只不过这里的神经元是一个简单的函数,函数的输入是一组数值(也就是一个向量),输出是一个数值。 下图描述了一个神经元及其工作方式: 输入图片说明 其中该神经元的输入是左侧的橙色框中的2,-1,1三个数值,输出是右侧蓝色框中的数值4。 每个输入都有一个权重(weight),图中灰色框中数值就是每个输入对应的权重。 先将输入和其对应的权重相乘后求和,再加上绿色框中的阈值(bias)作为激活函数(activation function)的输入,激活函数的输出就是神经元的输出。 激活函数是一个预先定义好的非线性函数,其输入和输出都是数值。

函数集

人工神经网络由神经元连接而成,作为提供给机器的函数集。

当人工神经网络中的每个神经元的参数都确定时,该神经网络就是一个非常复杂的函数。 神经元不同的连接方式组成的神经网络结构就不一样,不同的网络结构就是不同类的函数,相同的网络结构不同的参数就是不同的函数。

不同的任务的适用函数集不一样,即适合的人工神经网络不一样。 例如卷积神经网络(CNN,Convolutional Neural Network)适合做图像处理,循环神经网络(RNN,Recurrent Neural Network)适合处理序列化信息,语言翻译,语音识别等。

所以人工神经网络结构的选择对深度学习的效果有很大影响,这个选择依赖使用者的经验,直觉和尝试,可以说“运用之妙,存乎一心”。

定义函数的优劣

有了人工神经网络作为函数集后,接下来就要定义函数的优劣,以便在下一步让机器选择最优函数。 如何定义函数的优劣这个就需要在实践中去摸索(先留坑。。。)。

找出最优函数

根据训练资料可以决定一个函数的优劣,接下来就是从函数集中找出最优函数,也就是最优的参数组合,也就是所谓的“调参”。

如何找出最优参数组合,跟破解密码一样,最直接的办法就是穷举所有可能。如果计算能力足够的话,这也是最简单有效的办法。 但是,计算能力是不可能足够的,所以我们需要其他方法,也就是“学习”算法,深度学习中学习就是此意。

梯度下降法(gradient descent)是目前经常采用的学习算法。在该算法中,机器先随机指定第一组参数,再稍微调整第一组参数,找出比第一组参数略佳的第二组参数,接下来再稍微调整第二组参数,找出比第二组参数略佳的第三组参数,以此类推,反复进行直到找不出更加的参数为止。

当参数过多,梯度下降法找到最优函数的效率不够高的时候,我们就需要想办法提高参数调整的效率。反向传播算法(BP,backpropagation),就是用来提高参数调整效率的一个算法。

总结

通过机器学习的三个步骤,我们大概了解了深度学习。知道了RNN,CNN,BP,激活函数和梯度下降法等是干什么用的,接下来就是深入学习为什么(算法原理)和怎么应用(tesorflow)。

© 著作权归作者所有

共有 人打赏支持
hoolev
粉丝 13
博文 26
码字总数 12445
作品 0
广州
高级程序员
深度学习12大常见问题解答(附答案)

阿尔法狗让深度学习登上了数据科学世界的巅峰。深度学习成为了当今最热门的话题之一,但对于大多数人来说,这是一个陌生而又神秘的学科。很多人认为,深度学习就是包括了大量的数学和统计知识...

【方向】
06/01
0
0
高手问答第 209 期 — 深度学习如此火热,你了解得怎么样了?

OSCHINA 本期高手问答(2018 年 8 月 22 日 — 8 月 28 日)我们请来了@玉来愈宏 为大家解答关于深度学习方面的问题。 张玉宏,电子科技大学博士,美国西北大学访问学者,现执教于河南工业大学...

局长
08/21
0
0
为什么深度学习没有取代传统的计算机视觉?

这篇文章是受到论坛中经常出现的问题所创作的: 深度学习是否可以取代传统的计算机视觉? 这明显是一个很好的问题,深度学习(DL)已经彻底改变了计算机视觉(CV)和人工智能。许多曾经看起来...

【方向】
03/15
0
0
【视频教学】如何加速深度学习架构+免费送书

有些人会觉得现在市场上有很多深度学习引擎的框架,比如tensorflow, pytorch, caffe等,为什么还需要加速呢,很简单,虽然深度学习的技术发展火热,也有很多大牛,但是深度学习框架在技术上目...

p23onzq
05/07
0
0
观点 | 为什么深度学习仍未取代传统的计算机视觉技术?

  选自zbigatron   作者:Zbigatron   机器之心编译   参与:张楚、黄小天      本文作者认为,深度学习只是一种计算机视觉工具,而不是包治百病的良药,不要因为流行就一味地使...

机器之心
03/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

原型模式

1、原型模式-定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 克隆(浅度克隆->拷贝值类型或者引用,深度克隆->创建新的对象,开辟新的内存) 例如客户端知道抽象Pro...

阿元
今天
8
0
awk命令扩展使用操作

awk 中使用外部shell变量 示例1 [root@centos01 t1022]# A=888[root@centos01 t1022]# echo "" | awk -v GET_A=$A '{print GET_A}'888[root@centos01 t1022]# echo "aaaaaaaaaaaaa" | aw......

野雪球
今天
13
0
深入解析MySQL视图VIEW

Q:什么是视图?视图是干什么用的? A:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。   通过视图,可以展现基表的部分数据;...

IT--小哥
今天
18
0
虚拟机学习之二:垃圾收集器和内存分配策略

1.对象是否可回收 1.1引用计数算法 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器值为0的对象就是不可能...

贾峰uk
今天
12
0
smart-doc功能使用介绍

smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使...

上官胡闹
昨天
22
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部