其他分享
首页 > 其他分享> > 1.3为什么深度学习会兴起

1.3为什么深度学习会兴起

作者:互联网

深度学习和神经网络背后的基本技术理念,已经有好几十年了,为什么现在才突然流行起来,用一张图标进行解释

横轴代表完成任务的数据数量,纵轴表示机器学习算法的性能,例如过滤垃圾邮件的准确率,广告点击预测的准确率,用于无人驾驶种判断其他车辆位置的神经网络的准确率,
根据图像我们可以发现,把传统机器学习算法的表现,比如说支持向量机或logistic回归作为数据量的一个函数,可能会得到如下的曲线,他的性能在一开始数据量增加时会上升,当数据量增加到一定程度时,性能会进入平台期.因为这些模型无法处理海量数据
在这里插入图片描述
如果训练一个小型的神经网络,性能会有所提升,如果训练一个中型的神经网络,性能会更好一些,如果训练一个大型的神经网络,性能会得到很大的提升,如果想要达到一个较高的性能水平,有两个条件,一个是需要训练一个规模足够大的神经网络,以发挥数据规模量巨大的优点,二是需要足够多的数据来展示神经网络的性能,因此,推动深度学习进度的原因是规模,不仅仅是神经网络的规模,还有数据的规模.
在这里插入图片描述
我们使用小写的m表示训练集的规模,或者说训练样本的数量
训练集不大的时候,各种算法的性能排名不是非常明确,只有在训练集非常大的时候,我们会发现神经网络领先于其他传统的算法

深度学习崛起的初期,是数据与计算能力规模的进展,cpu与gpu的发展,推动了深度学习的发展,如今我们也已经见证了算法方面的极大创新.
许多算法方面的创新,都为了让神经网络运行的更快,举一个具体的例子,神经网络方面一个巨大的突破是,从sigmoid函数转换到ReLU这样的函数
在这里插入图片描述
使用sigmoid函数进行机器学习出现的问题是,数据样本足够大时,函数的斜率梯度会逐渐趋近于0,所以学习会变得非常缓慢,因为用梯度下降法时,梯度接近0时,参数会变化的很慢,学习也会变得很慢,而通过改变激活函数,神经网络使用ReLU这个函数的时候,他的梯度对于所有为正值的输入都为1,因此梯度不会趋向0.
快速计算另一个很重要的原因是在训练神经网络的过程中,很多时候是凭直觉的,你有了新的想法,关于神经网络架构的想法,然后你写代码实现你的想法,然后跑一下实验,可以告诉你,你的神经网络效果有多好,知道结果后再回去改,去修改你的神经网络中的一些细节,然后不断重复这个循环.
当你的神经网络需要很长时间才能走一圈循环的话,在实现神经网络时,迭代速度对你的效率影响巨大,如果你有一个想法,直接去尝试,10分钟后就能看到结果,因此计算速度的提升,真的有帮助提高迭代速度,让你更快的得到实验结果.

上一节下一节
1.1 什么是神经网络1.3 用神经网络进行监督学习

标签:函数,训练,1.3,兴起,性能,算法,学习,神经网络,深度
来源: https://blog.csdn.net/ldda123/article/details/118862707