讨论 | 你是否遇到过你完全不能理解的机器学习概念?
俗话说:隔行如隔山。但就算同一座山,有的时候因为“山”太大,未能爬到顶峰的人往往很难一窥整座山的全貌。
这不,AI科技评论在Reddit的机器学习版块就发现了一个很热烈的讨论,题目叫做:
机器学习专业的研究僧们进来说一说,你是否遇到过你完全不能理解的机器学习概念?
Those who are working professionally in ML and/or academics who have completed graduate-level coursework in ML: Are there any ML concepts that you don't quite fully grasp?
在问题下也有不少有意思的回答,AI科技评论整理了部分回答,与机器学习的“炼丹师”们共勉。
排在最前面的是@Leonoel讲述的一个高票故事:
“故事时间。
我喜欢和我的学生讲这个故事来激励他们,同时也希望能减轻他们的‘不懂装懂综合症’。
在NIP 2013上,当时有一位演讲者的演讲我完全听不懂。这是我博士的最后一年,这让我产生了警觉。我开始感觉很糟:作为一个新出炉的博士,我竟然没有能从NIPS的主题报告中学到任何东西!
当时坐在我旁边的两个朋友,其中一位是UC Berkeley的Michael Jordan,另一位在波士顿和Andrew McCallum一起做研究。这两位教授在机器学习界的大名如雷贯耳,所以我想当然的想,他们应该从这个报告中学到不少东西。
但最后,他们告诉我,他们同样听得一脸懵逼。
这个故事的含义是:机器学习是一个巨大的领域,如果你在你自己的领域花了足够多的时间,你很有可能难以对其他领域了如指掌。不要浪费你的时间去了解每一件事情。
还有另一个例子:我有个朋友是普林斯顿的数学家,但他从来没有理解过机器学习背后的数学,因为他主要是做数学理论研究的。”
在这个回答下,网友@iamiamwhoami做了补充说明:
“你在应用领域社区混久了就会感觉到,有的人真的是不怎么擅长解释他们的研究。”
@gionnelles也做出了类似的回答:
“如果有人声称他了解机器学习领域的所有东西,这绝壁是撒谎或者是错误的。机器学习领域太过广泛,研究进展太快,这意味着人们可以成为直接接触他们所在细分领域的专家,并聪明地讨论其他部分,但总有新的东西值得学习。”
甚至一些机器学习基础的重要理论如RNN和反向传播理论,不少人也表示有诸多理解难点,例如网友@klop2031就这么说:
“RNN的递归怎么绕,以及反向传播如何通过时间起作用,对我来说仍然一团乱麻。我仍然需要通过数学方式来理解,同样,对比分歧的原理如何我也不大清楚。”
好不容易弄懂了反向传播,却发现Hinton老爷子又有了新理论。@wdroz是这么说的:
“要想时刻跟随并理解机器学习的最新潮流很难,尤其在深度学习领域更是如此。举个栗子,我读了好些关于Capsule网络的介绍,但我还是无法理解其工作原理。”
@debau的回答让我们感到了深深的绝望:
“我希望我能理解我自己的论文...” (这就过分了吧...)
也有卖萌的,比如网友@oursland的回答:
“我曾经做到了这一点。然后我又把所有东西给忘掉了(雷锋网注:@oursland这里用的是机器学习中的“灾难性遗忘”的梗)。这当中一定有一套炒鸡糟糕的超参数,或者其他的什么东西作怪。:V ”
网友@andyspl也声称做到了这一点:
“握爪!我试图将这些东西写下来,但我的笔记本边上的空白太小啦~”
费马大定理:“我确信已发现了一种美妙的证法,可惜这里空白的地方太小,写不下......”
嗯,以上的笑点,只有做机器学习的理工男才懂......
而得票最高的是Reddit网友@stochastic_gradient富有哲理的回答:
“没有人会完全理解(机器学习的所有概念)。每一篇发表在Arxiv的论文所讲的,实际上都是作者已经理解、但之前从未有人理解过的东西。
做机器学习研究,的确100%的是一件你需要和你不能完全理解的东西打交道的事儿。任何吸引你的事情都源于你对它的不了解。矛盾的是,即便人们知道解释这些事情是他们的工作,但他们仍然会对此有很大的不安。”
这或许也正是机器学习的迷人之处吧。
对于这个问题,现在正在机器学习路上的你又有什么看法呢?如果你想了解关于该问题的更多讨论,请移步Reddit:
https://www.reddit.com/r/MachineLearning/comments/7f5pyt/d_those_who_are_working_professionally_in_ml/?st=jaeda5qz&sh=82900c00
- CSS3矩阵变换
- 可直接运行
- Ryu:网络时延探测应用
- box布局
- Event Loop
- 把图片变成字体,然后在引入到网页
- Flutter环境搭建
- java.net.ConnectException: Call From slaver1/192.168.19.128 to slaver1:8020 failed on connection exc
- 18/03/18 04:53:44 WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your clu
- 技术干货 | Hadoop3.0稳定版安装攻略来啦!
- ios逆向工具MonkeyDev简介
- 自定义下拉列表
- 身份证号码验证算法
- 技术干货 | hive安装部署
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux内核平台总线设备驱动模型浅析
- Sentinel熔断降级说明
- 浅谈text段、data段和bss段
- RocketMQ消息发送常见错误与解决方案
- 浅谈内核的Makefile、Kconfig和.config文件
- HTTPS 基本原理
- 自动化运维平台Spug测试
- 如何提升前端基建的效能价值?
- iTerm2安装和配置
- 最新最全的mutect2教程
- Flutter基础widgets教程-CupertinoAlertDialog篇
- Spring的Controller是单例还是多例?怎么保证并发的安全
- 用TypeScript装饰器实现一个简单的依赖注入
- PING问题解决方法_20190305
- 前端需要掌握的设计模式