Save you from anything

0%

一年后看ITAG——写在itag源码分析之后

一点关于自己研一一年的思考。

一年后看ITAG

itag是An Integral Tag Recommendation Model for Textual Content 的模型名称。

距离我做这个项目已经过了一年,我的研一生活也随之结束了,针对这个论文和这一年,我有一些想法。

在itag的论文/源码分析中我提到,这篇论文是一个完美的缝合怪。实际上我对于这种论文,我有一个自己瞎造的词用来形容:科研工程论文。指的是那种虽然是论文,但是实际上是在做搭建现成技术这种偏工程向的活的论文。

我没有任何看不起工程的意思,反倒是我自己很想去做工程,在我看来,自己做的一个东西能跑起来、实际作用、能直接给别人帮助更加的有意思,哪怕它本身只是非常低级的烂大街的成熟技术,比如那知乎篇E-hentai47W大数据分析的文章(对,这文章的作者就是我,我还指望每年来一篇新的呢,后来人就懒了)

目前我对于这篇论文的总结就是,这是一篇非常成熟的科研工程论文。

我的导师把它甩给我作为我的入门论文,并让我改良它,然后我磕它了快一年毛都没磕出来。0基础生吃一篇缝合怪本来就很慢。调通itag之后,导师直接让我再跑通itag的几个Baseline,弄得好像改良方案已经现成了,只等Baseline调通了马上就能跑结果发论文一样。

结果就是我陪着这篇论文和它的几个基线系统磕了几乎整个研一上学期。最后还没做出啥来,因为并没有什么改良方案——他让我自己想改良方案,说看个几十篇论文自然就有改良方案了,然而我十分丢人,到现在一年过去了顶天也就看了20篇左右。

主要的原因当然还是我能力不足,现在让我淦这么一篇缝合怪我速度快很多了(指实现),但是新手阶段硬上这篇论文本身就是一个不明智的选择。

(至于研一下学期我干啥呢?一方面疫情期间待在家人懒了,另外导师嫌ITAG改不动让我跟风换了GCN,下学期折腾GCN、GraphSAGE、GAT这些GNN的东西去了,有一说一GCN真有意思)

这种完美的缝合怪论文,作为一篇“入门”的论文是极好的。这里的“入门”指的是,通过阅读、实现这篇论文,可以快速了解这个领域在干些啥、在用什么技术,当然,实际上还是只能覆盖到一小部分。

但它并不适合作为真·入门论文,快速了解许多技术意味着难度弹射起步,为了读懂这一篇论文需要查询大量的东西,而且是不成体系的查询。

当码农的基本都知道,在各种查询中学习是学东西最快的,但这是有一定前提的,“面向搜索引擎开发”需要搭建一个知识基本盘之后效率才高,否则连自己该查个啥都不知道。这种东一锤子西一榔头的学习方法作为入门是很低效的。

另外,起手怼成熟的缝合怪论文,会使得后续工作变得很难,也就是所谓的“前人的工作已经相当成熟了.jpg”。作为硬上itag的反例,同校其他实验室有拿GCN作为起手的(2019年热点之一),用这种新领域的开山之作作为起手,后续的部分好做的多。功利点说,往这种新的模型上套很多东西都能水上一篇。

而磕缝合怪则难度很高,这篇缝合怪本身就是比较完美的工程学产物(缝合上顶会),并不是说缝合怪不能磕,工程学是需要大量经验的,搭模型的能力比itag的原作者还高自然可以硬磕。但是显然,一个双非的研一新生不可能有这个能力。

简单一句话的总结就是,我对于我过去一年大部分时间花在怼itag这件事上的正确性是存疑的,现截断回头看的话,不应该起手就硬怼高级缝合怪。

(当然也许我目前的这个看法在我若干年后回头来看又是另一回事,人是会变的,但现阶段我的想法就是如此)