深度学习是怎么回事?有什么用?
如今,提到人工智能,几乎无人不谈深度学习,似乎不用深度学习就不好意思谈人工智能。今天我们就用几分钟的时间来讲一下深度学习到底是什么,有什么用。
首先深度学习并不等于人工智能,它只是一种算法,和普通的机器学习算法一样,是解决问题的一种方法。真要区分起来,人工智能、机器学习和深度学习,三者大概是下图这种关系。人工智能是一个很大的概念,机器学习是其中的一个子集,而深度学习又是机器学习的一个子集。
其次,深度学习也不是什么新技术,深度学习的概念源于人工神经网络的研究,早在上世纪 40 年代,通用计算机问世之前,科学家就提出了人工神经网络的概念。而那个时候的计算机刚刚开始发展,速度非常慢,最简单的网络也得数天才能训练完毕,效率极其低下,因此在接下来的十几年都没有被大量使用。近些年,随着算力的提升,GPU、TPU 的应用,神经网络得到了重大发展。伴随着 AlphaGo 的胜利,深度学习也一战成名。
其实,同机器学习方法一样,深度学习方法也有监督学习与无监督学习之分。例如,卷积神经网络(Convolutional Neural Networks,简称 CNN)就是一种深度的监督学习下的机器学习模型,而深度置信网络(Deep Belief Nets,简称 DBN)就是一种无监督学习下的机器学习模型。深度学习的”深度“是指从”输入层“到”输出层“所经历层次的数目,即”隐藏层“的层数,层数越多,深度也越深。
所以越是复杂的选择问题,越需要深度的层次多。除了层数多外,每层”神经元“-小圆圈的数目也要多。例如,AlphaGo 的策略网络是 13 层,每一层的神经元数量为 192 个。深度学习的实质,是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。
< 5574 img src="http://img.raqsoft.com.cn/docx/1597805164446100.png?imageView2/2/w/768/format/jpg/interlace/0/q" alt="q" />
深度学习提出了一种让计算机自动学习出模式特征的方法,并将特征学习融入到了建立模型的过程中,从而减少了人为设计特征造成的不完备性。但是,在有限数据量的应用场景下,深度学习算法不能够对数据的规律进行无偏差的估计。为了达到很好的精度,需要海量数据的支撑。另外,深度学习中图模型的复杂化导致算法的时间复杂度急剧提升,为了保证算法的实时性,需要更高的并行编程技巧和更多更好的硬件支持。
在应用方面,虽然深度学习被吵得火热,但是也并不是无所不能。目前深度学习主要应用在图像识别,语音识别等领域。而在很多商业场景,例如金融数据,它的效果并不太好,很容易出现过拟合,这在机器学习中是非常致命的问题,即在训练数据上表现的很好,但是泛化能力却很差,在未见到的数据上,表现的很差。深度学习模型很容易受到数据中难以察觉的扰动,这些扰动会欺骗模型做出错误的预测或分类,而在很多场景的数据中是存在着大量噪音的。另外深度学习的过程是一个黑箱子,无法解释其做出的决策,这也导致在某些场景难以应用,比如一个银行审批贷款的深度学习系统,在拒绝了客户的贷款申请之后,而无法给出合理的解释,那么被自动拒绝了贷款的用户自然无法接受。深度学习模型需要海量的数据支撑,算法也比较复杂,模型的训练速度很慢,通常要几天甚至数周,同时还会耗费大量的计算资源,这也限制了它在各行业的广泛应用。
因此,深度学习只是机器学习的一种,和其它算法一样,有自己的长处也有不足。在实际应用中根据业务场景和问题选择合适的算法才能解决问题的有效方法,而不是看谁用了深度学习就去景仰。在一些自动建模产品中,一般也会集成深度学习算法,用户只要把数据丢进去,建模工具就会自动预处理数据,选择最优算法建好模型,使用起来非常简单方便。
对进一步数据挖掘和 AI 技术感兴趣的同学还可以搜索“乾学院”,上面有面向小白的零基础“数据挖掘”免费课程,或者直接点下面的链接也可以:http://www.raqsoft.com.cn/wx/course-data-mining.html
- 训练深度学习网络时候,出现Nan是什么原因,怎么才能避免?
- 【深度学习——CNN】训练集准确率和测试集准确率都是1(train_acc:1.000 ,val_acc=1.000)是怎么回事?
- 深度学习系列教程 - 1.1.3 什么使深度学习火起来了
- 那些酷炫的深度学习网络图怎么画出来的?
- 韩国IT业是怎么走向国际我们须要学习什么
- 只学一点点:我的技术学习策略(虽然不赞同,但可以参考一下,针对不常用的技术可以这样,同时可以:寻找遁去的一,不用管别人怎么想;有学习的时间,不如自己写、自己实践,否则学完了都不知道是什么东西)
- 七分钟带你读懂深度学习之什么是神经网络
- 深度学习之什么是神经网络
- 大数据是什么?0基础学习大数据怎么进行入门?
- 深度学习入门 一句话告诉你什么是神经网络(CNN RNN DNN)
- 【OC学习-5】OC里面怎么实例化一个对象?以及什么是消息传递?
- 深度学习是什么,深度学习概念的基本理解?
- 机器学习、深度学习、和AI算法可以在网络安全中做什么?
- 怎么及时掌握/把握深度学习的发展动向和状态?(知乎)
- 给些网络视频教学也行啊 请教高手给我指点下 要买书也不不知道买什么好 我一点基础都没有 但不知道怎么学 我想学习C语言 谢谢了
- 你所学习的设计模式到底有什么用?到底怎么用?
- 是什么让深度学习再次崛起并超越人类?
- 深度学习入门 一句话告诉你什么是神经网络(CNN RNN DNN)
- 域名备案与空间备案有什么关系吗,域名备案又是怎么回事?
- 我想学习程序开发。 .但现在我什么都不会,我很想学。.请问该怎么个学发?