如果深度学习是一种超能力,那么将理论从论文转化为可用的代码就是一种超超能力。
为什么要去复现机器学习研究论文?
正如我所说的,能够将一篇论文转换成代码绝对是一种超超能力,尤其是在像机器学习这样每天都在快速发展的领域。
大多数研究论文来自大型科技公司或大学里的人,他们可能是博士,也可能是研究前沿技术的人。
还有什么比复现这些顶尖专业人士的研究成果更酷的呢?另一件需要注意的事情是,行业中对这些能够将研究论文进行代码复现的人需求量很大。
一旦你掌握了撰写研究论文的窍门,你就会处于与这些研究人员同等的地位。
这些研究人员也是通过阅读和复现研究论文的练习获得了这些技能。
我是如何来阅读和对论文进行复现的?
你可能会说,“嗯,我对深度学习算法有一个大致的了解,像全连接网络,卷积神经网络,循环神经网络,但问题是,我想开发SOTA(最新的)语音克隆AI,但我对语音克隆一无所知:(”。
好吧,这里是你的答案,我的方法的一些部分取自“Andrew Ng关于阅读论文的建议”:https://www.youtube.com/watch?v=733m6qBH-jI&list=PLoROMvodv4rOABXSygHTsbvUz4G_YQhOb&index=8。
如果你想了解一个特定的主题:
- 收集与特定主题相关的5-6篇论文(你可以通过arxiv或类似的网站找到与某个主题相关的论文)。
- 不要把每一篇论文完整读完,而是浏览所有的论文,然后挑一篇你感兴趣的,或者如果你心里有一篇特别的论文,那就挑一这篇。
- 仔细阅读摘要,从高层次上理解其中的思想,看看你的兴趣是否还在继续,如果还在,那就继续浏览图片,看看你是否能对论文内容做出假设。
- 现在,逐行仔细阅读引言,因为论文所包含的大部分内容将在这里用最简单的方式和最小的数学来解释。
- 如果你愿意,你可以跳过第一轮的数学方公式,但是不要跳过那些有熟悉的希腊字母的数学公式。
- 在任何情况下,如果你陷入了困境或某些词让你迷惑不解,不要犹豫,去google 吧,没有人生来什么都懂。
- 在完成第一关之后,你将处于一种对论文试图证明或改进的地方有一个高层次的理解的状态。
- 在第二步中,尝试理解本文中的几乎所有内容,如果遇到任何伪代码,尝试将其转换为你选择的python库(PyTorch、TensorFlow……)
- 你可以阅读更多的论文,并通过阅读每篇论文的参考资料部分来更好地了解该领域。