文档章节

什么是深度学习

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
为什么深度学习没有取代传统的计算机视觉?

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

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

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

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

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

机器之心
03/20
0
0
大咖丨张钹院士:人工智能赶超人类的三大法宝

按要求转载自公众号联合时报(ID:lhsbwx) 中国科学院院士张钹对国内外人工智能产业发展现状,提出我国仅靠跟随性的应用深度学习发展人工智能,是无法引领这项技术实现革命性突破的。语音也...

大数据文摘
01/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周日乱弹 —— 种族不同,禁止交往

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《苏菲小姐》- 鱼果 《苏菲小姐》- 鱼果 手机党少年们想听歌,请使劲儿戳(这里) @貓夏:下大雨 正是睡觉的好时候 临睡前...

小小编辑
今天
226
6
Python 搭建简单服务器

Python动态服务器网页(需要使用WSGI接口),基本实现步骤如下: 1.等待客户端的链接,服务器会收到一个http协议的请求数据报 2.利用正则表达式对这个请求数据报进行解析(请求方式、提取出文...

代码打碟手
今天
1
0
Confluence 6 删除垃圾内容

属性(profile)垃圾 属性垃圾的定义为,一个垃圾用户在 Confluence 创建了用户,但是这个用户在自己的属性页面中添加了垃圾 URL。 如果你有很多垃圾用户在你的系统中创建了属性,你可以使用...

honeymose
今天
1
0
qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部