讨论:对于神经网络,不需要弄明白原理,只需要应用,是这样吗?

小白学视觉

共 2508字,需浏览 6分钟

 ·

2021-01-15 11:54

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

来源丨机器学习初学者
转自丨极市平台

导读

 

一位CV领域的硕士问:一直弄不懂神经网络原理,看了很多教程博客还是弄不懂,我想是不是不需要弄懂啊?个人觉得:不懂原理能做些应用,但是想出成果就难了。可以参考下网友的讨论。 


回答一

作者丨zyhu

有几种程度的“弄懂神经网络的原理”:
  1. 知道loss function的作用,知道sgd minimize loss function的过程就是神经网络(包括传统机器学习)的学习过程。知道loss function,optimizer背后的优化原理
  2. 知道CNN的一些trick,怎么调结构,调超参数,背后的直觉是什么,这个直觉就是原理
  3. 研究overparameterized neural network的generalization原理
这些原理的重要性:
  1. 这是大二数学,学习人工智能必备的。如果这都不懂,建议回炉重造
  2. 这是成为一名工程师必备的技能。这个搞不懂不建议从业人工智能
  3. 这是优秀PhD研究的内容。这个搞不懂对找工作毫无影响。

链接:https://www.zhihu.com/question/433274875/answer/1613600102

回答二

作者丨匿名用户

绝大部分所谓机器学习从业者,包括知乎上的,都对神经网络的原理一知半解。不指望所有从业者搞明白神经网络里面的数学,只希望能让大家不要觉得所谓的deep learning就是无脑调参。个人觉得即使不懂原理也可以找一个不错的工作,但在工作/科研中一定会受到局限。关于神经网络原理有很多工作,大范围的比如说Neural Tangent Kernel 的一系列工作。
https://arxiv.org/pdf/1806.07572.pdf
关心CNN的话对于residual connection也有很多理论解释https://arxiv.org/pdf/1909.04653.pdf
对于GAN,尤其是GAN的generalization bound也有不少人尝试
https://arxiv.org/pdf/1703.00573.pdf
以上都是冰山一角。还有很多关于神经网络的optimization的工作可以看Princeton的Jason Lee和UW的Simon Du 杜少雷。

回答三

作者丨霍华德

不懂原理,我觉得跑demo。做应用。写毕业论文甚至发论文可能都可以。但我觉得你找工作就比较困难了。

回答四

作者丨金海峰

以现在开源工具的发展水平来看,你即便是“只需要应用”也要搞懂一些原理,否则连应用都做不出来。你做应用至少还需要理解问题,根据问题选择合适的模型,并且调调超参数。针对特定问题,找到合适模型。这一步就需要你能看懂模型的适用范围与优缺点。想要做到这点,就需要你对其背后的原理有一定的了解。调超参数就更需要根据实验反馈结果定位哪个超参有问题了。这需要对模型和数据有更深刻的理解才行。所以,做应用就需要懂原理。但是,这是基于现有机器学习工具的发展水平来说的。也许有一天,会出现一个基于Keras的开源软件,自动帮你选模型调参呢。到时候你做应用可能就真的只会应用就行了,真的好期待这一天哦!
链接:https://www.zhihu.com/question/433274875/answer/1662351913

回答五

作者丨可乐

显然不是。即使只是应用神经网络的话,也需要理解常见的组件/模型结构的意义,它们为什么work/不work。例如batch normalization 的作用,skip-connection的作用,各种优化器的优缺点等知识点需要非常熟悉。不然你调参数的效率是会显著低于有经验的算法工程师的,而且当你遇到神经网络不收敛、loss降不下去、疯狂过拟合等各种各样的问题时你是没有办法知道怎么去解决的。上面举例的知识点掌握起来其实并不难,而且应用的话学到这种程度就足够了。至于背后深入的数学原理,神经网络可解释性的问题过于前沿了,现在不去了解也没有什么关系。
链接:https://www.zhihu.com/question/433274875/answer/1625527052

总结

绝大部分回答都是认为需要了解神经网络的原理,但是否深入,看你的需求了。
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目31讲
小白学视觉公众号后台回复:Python视觉实战项目31讲即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

下载4:leetcode算法开源书
小白学视觉公众号后台回复:leetcode即可下载。每题都 runtime beats 100% 的开源好书,你值得拥有!





交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


浏览 12
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报