如何直观地理解机器学习领域的深度和浅度学习?

 

虽然神经网络号称可以拟合任何函数,模拟人脑运作模式,但没有足够深且足够规模的基础,浅层神经网络啥也都...



虽然神经网络号称可以拟合任何函数,模拟人脑运作模式,但没有足够深且足够规模的基础,浅层神经网络啥也都不到。

但多层神经网络是个麻烦事儿,层数太多之后,训练难以收敛,或者收敛到一个次优解,效果反而不如浅层模型,也就是越学越差。好在2006年Hinton发明了RBM预训练方法,先构造一个还行的初值,再用bp来调整参数;后来学者们又发明了各种各样奇奇怪怪的算法,将神经网络训练到了152层,而2012年的卷积神经网络识别图片不到10层。

此处以上一次组会的报告ppt开始,报告中使用http://playground.tensorflow.org网站提供的小工具,可以play一下。INPUT为输入的数据,中间的HIDDEN LAYER为隐藏层数,OUPUT为输出,作为监督学习,需要有一部分数据用以test结果防止过拟合(test loss和training loss在不同level上表示过拟合存在)。大家可以试一下增加更多的变量进入训练,更多的神经元,更深的神经层,还可以改变noise、训练样本和测试集比重。下图选的是一个regression的case。

play得到的结论至少有两个,在不增加任何数据的基础上,单纯将HIDDEN LAYER提高能明显提高模型的水平,显著降低过拟合;当然,增加与结果相关的INPUT也能显著提高模型performance。所以,一个成功的机器学习模型必将是拥有上千万个输入数据,上千个输入变量,以及足够深的神经网络。而现在正是大数据快速积累、GPU并行计算快速发展、学者们不断脑洞新算法的好时机->共同推进了深度学习神经网络技术的重出江湖。[之前的图片识别准确率都快停滞了10年没有进步,deep leaning一出,又进步一大截]

相比之下,五六个变量,几十万个数据,训练仅仅需要单核运行几十分钟就完事儿的单层神经网络真是不值一提。(笑)


    关注 LaCOAS


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册