研究思想与技术实践的区别与思考
在这篇文章中,我想分享一些关于研究思想与技术之间区别的思考,特别是在机器学习领域。这一区别是我从开始攻读博士学位以来一直在思考的。在加入某机构并参与了如SynthID等产品发布后,我意识到在许多项目中,无论是工业界还是学术界,区分研究思想和技术都是有用的。
研究的核心组成部分是研究思想的交流。顶级会议,尤其是在机器学习领域,期望这些研究思想具有新颖性,在社区中产生重大影响,并经过适当的实证或理论检验。这反映在研究交流的方式上:通过论文、演讲、海报、教程等,其中思想显然是核心元素。虽然一些会议鼓励开源代码或数据集,或试图将焦点从新颖性或“主观重要性”上转移开(参见TMLR),但底层技术通常是次要的。
在这一点上,我想澄清我如何看待研究思想与技术。研究思想是一种相当通用的方法或洞见。例如,一种新的训练算法或网络架构就是一个研究思想。在论文中,我们(作为审稿人或研究社区)期望这些思想被充分详细地描述并适当激励。更重要的是,我们希望看到研究思想带来优势或解决问题。这后一部分通常是技术登场的地方。在我看来,技术是研究思想的具体实现——通常与特定问题、应用或实验相关联。因此,研究思想和技术是互补的。研究思想的部分内容,如底层理论,可能不是实际实现的一部分,但必须作为相应论文的一部分进行交流。技术通常还包括许多在论文中不感兴趣或不影响研究思想的实用工具(在机器学习中通常是评估、数据加载、前/后处理等)。
那么,我为什么喜欢思考这种区别呢?特别是在学术界,研究思想通常被放在首位。然而,我认为采用实际上发生在技术层面。当然,这首先假设有一个好的研究思想。但我多次观察到,如果在技术层面没有采用,好的研究思想就不那么“成功”——为简化起见,使用引用、影响、后续工作作为成功的代理。相反,我看到(并亲身经历过)研究工作比社区对研究思想重要性的预期更成功,因为社区采用了开源技术或数据集。事实上,我感到很多时候——考虑到特定应用、问题或数据集——一种特定的技术可以迅速成为主导。
当我说技术被迅速采用时,我并不是指人们偏爱特定的框架或编程语言。相反,我看到特定的代码片段非常流行,例如,你可以在许多工作中找到或多或少相同的ResNet实现,在许多工作中为数据集X使用相同的数据加载器等。当然,跨框架、公司等有多个ResNet实现,但考虑到研究人员经常在其他研究人员的工作基础上构建的特定应用,特定实现可能成为主导。这意味着,某一特定技术(方法或算法的特定实现)在一个领域中被特别广泛地使用。这可能有不同的原因:良好的编码实践、易于理解的文档或教程、对特定硬件的支持、快速安装等。有趣的是,这种实现可能并非来自研究思想的原作者。
虽然以上描述了我
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
13万+

被折叠的 条评论
为什么被折叠?



