神经网络的火热
- 两个条件
- 第一是训练一个足够大的神经网络,以便发挥数据规模巨大的优点
- 另外要到X轴上的位置,代表需要很多的数据,
- 因此我们经常说,规模推动了深度学习的进步,
- 规模不仅是指神经网络的规模,我们需要一个有许多隐藏单元的神经网络,有许多的参数,许多的链接,
- 而且还有数据规模,
- 事实上,如果要在神经网络上面获得更好的表现,在今天最可靠的手段,往往就是要么训练一个更大的神经网络,要么投入更多的数据!
- 但是这只能起到一定的作用,因为数据会用完,或者最终你的网络规模太大,需要的训练时间太久,
- 但是提升规模,已经在深度学习的世界中取得了大量的进展,
- 关于一些符号约定
- 小写的m表示训练样本或者是训练集的规模,一般是x轴,
- 三个因素
- 数据
- 计算能力
- 算法方面的创新
- 为了让神经网络运行的更快
- 例如:神经网络方面的一个巨大突破,就是从sigmoid函数,转换到RLU函数
- 通过改变激活函数,神经网络使用RLU函数,修正线性单元ReLU,它的梯度,对于所有的为正值的输入,输出都是1,因此梯度不会逐渐趋向0,
- 我们发现,只需要将sigmoid函数转换成ReLU函数,便能够使得“梯度下降法”运行的更快,
- 最终,算法方面的创新是为了能够增加计算速度,很多这样的例子,我们通过改变算法,就能使代码运行的更快,这也是我们能够训练规模更大的神经网络,或者在合理的时间内完成计算,即使在数据量很大,网络也很大的场合,
- 快速计算很重要的另一个原因是训练神经网络的过程,很多的时候是凭借直觉的,你有了新的想法,关于神经网络架构的想法,然后写代码实现自己的想法,然后跑一下实验,可以得到神经网络的结构有多好,知道结果之后然后再回去修改,去修改神经网络中的一些细节,然后不断循环这个过程,
- 当你的神经网络需要很长的时间去迭代,实现神经网络的时候,迭代速度对你的效率影响巨大,
- 所以计算速度的提高,真的有帮助提高迭代的速度,让你更快的得到实验结果,这样同时帮助了神经网络的从业人员,和有关项目的研究人员在深度学习的工作人,迭代的更快,也能够更快的改进自己的想法,
posted on 2017-09-08 22:08 yangzsnews 阅读(164) 评论(0) 编辑 收藏 举报