干货丨深度学习究竟怎么入门?两位Google大神掀起剑气之争

作为一名(华山派新弟子)深度学习新手,该先学会用框架快速搭出神经网络,用到实际问题中去,还是该先练习用Python基本徒手搭建模型,在小数据集上训练,了解它们的工作原理?

谷歌的两位研究员最近在Twitter上展开了一场旷日持久的争论,两派主要代表都是圈子里大名鼎鼎颇有建树的人物:

“气宗”代表 谷歌大脑的研究员David Ha(@hardmaru),SketchRNN的爸爸。 

 “剑宗”代表 谷歌研究员François Chollet(@fchollet),Keras的爸爸。 

 注: “气宗”“剑宗”无任何道德、派系等层面的影射,不要多心

剑气之争

这两位所争论的问题,正是 内力和剑法哪个更重要 深度学习新手的入门路径问题:了解模型的内部原理,和快速实现模型解决问题,哪个更重要呢?

量子位越洋围观了这场辩论,觉得他们的观点很值得搬回来让大家了解、思考一下。

在David Ha看来,想搞好深度学习,当然要先打基础,“练气”很重要。他在一个月前抛出了这样一个观点:

 从零开始(用纯Python、numpy、甚至JS)实现全连接网络、卷积神经网络、RNN、反向传播、SGD,然后用小训练集来训练这些模型是一种学习神经网络如何工作的好方法。在跳到框架上之前,应该花时间从这里收获宝贵的直觉力。

新手入门,难道不该用最简单的高层框架吗?Keras作者Chollet就更支持初学者们先“练剑”。他对David的反驳是这样的:

 实现神经网络能教你怎样实现神经网络,让你从算法上理解它们的工作原理。

但这不能教会你它们是做什么的,或者说能否实现哪些功能。要学习这些,你应该把它们应用到一系列真实问题上去(而不是XOR、MNIST)。

究竟谁更有道理?两位过招七八条Twitter,来详细论证自己的观点,看完再选适合你的方法也不迟。

以气驭剑

徒手搭模型,拿MNIST这样的小数据集、甚至XOR来琢磨其中奥妙,显然不是速成之法。那么,花这么多时间“打坐练气”的意义何在?

追求的,当然是一个以气驭剑。

David Ha说,深度学习框架都是些样板化的模型,入门就用框架,会限制眼界,让你泯然众人。

从零开始徒手搭模型就不一样了,对于那些跨行业入门深度学习的人来说,有机会从自己的独特视角,看到大多数人忽略的东西。

 “气宗”不止David一人。李飞飞的得意门生、现任特斯拉AI总监的Andrej Karpathy也表达过类似观点。

他在斯坦福CS231n课上就要求学生将神经网络的向前和向后传递都用numpy实现一遍。学生当然有意见:拿个框架就能自动算的东西,我为什么要徒手来搭?

最重要的原因是,徒手将向前和向后传递都实现一遍才能真正理解其中的工作原理。如果单纯依赖框架的自动计算,在反向传播出现问题时就无法应对。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值