什么是IDEA
大部分初次接触到科研的人,都会很困惑,什么叫IDEA,怎么样才算是找到了创新点,能够写一篇文章。读文章感觉别人都很高大上,都做得非常完美了,那我们要如何对它提出改进呢?
今天跟学生开会时,又一次聊到这个话题。因为一聊到文章的主要贡献,学生立马就开始说这文章用了什么网络,做了什么模块。于是乎,琢磨了一个例子来说明,什么是IDEA,以及如何去思考和改进IDEA。
想象一下,如果要设计一个应用:text-to-speech,用语音来读一段文本,应该如何思考呢?
我最常收到的反馈是:我们可以使用一个RNN模型,blablabla。这种沟通感觉是无效的,应该我不知道为什么RNN模型就能够完成这个任务,如果RNN是万能的,我们真的啥都不用去做了。我期望的思路是:
1、最简单可行操作是:为每一个单词配音,然后根据用户给出的句子,将对应配音拼接起来。这个是从逻辑层面而不是操作层面更不是模型层面去提出解决方案,直觉上就感觉可行。当然操作层面,可以有多种选择和实现方式。例如一个人完成所有配音,多个人共同完成配音,配一部分再生成一部分配音等等。不管哪种方式,都是按照配音然后拼接来解决问题。
2、上述可行操作可以生成语音,但是会有各种各样的问题,例如:多音字的问题,拼接时候衔接的自然性问题,重读轻读的问题,词语间连读的问题,等等。每一个小问题都可以引伸出一个小研究方向,形成多篇论文。因为一般情况下,一篇论文没法完美解决,需要不断的改进,进步,最终形成优秀的解决方案。
3、上述问题解决后,TTS问题就解决了吗?NO!为了实现更好的TTS,我们要考虑语音的情感,语音的音色。这些将从应用层面提出各种各样的问题,如何解决?当然是引入上下文情景介绍、文本情感分析、参考音色。这很convincing。具体如何操作,可以有多种选择,但他们的重要性相对来说就没有那么大了。
4、上述的问题都比较大,那方法是否都一次解决了呢?例如上述引入上下文情景介绍的方法,可以是手动指定,通过词语指定,通过句子指定,还可以自动分析内容形成相关情景摘要。这每一个点,都会成为一个研究内容,有各式各样的解决方案。
5、经典问题,一定存在大量的解决方案。这些解决方案中,一定还存在不足。我们不能说:为了改进结果,我们设计了什么模块来解决问题。因为大家做工作都是为了改进结果,你没有任何理由的改进,更像是在刷performance。所以研究的IDEA,一定是建立在现有工作的不足之上的。这个不足可以是:参数过多容易过拟合(CNN改进MLP的理由),单词(如it)的含义常源于其上下文(Transformer的理由);也可以是:文本和图像中的噪声过多,应当相互应证,提取有效信息(cross-attention的理由)。只要这个理由找得好,大概率是能够做出很好的performance,也就可以形成相应的研究论文了。
6、上述是一般性思路,通过在领域内的学习、对相关文献的调研,能够快速跳过前几个步骤,进入到深入的思考。但有的时候也可以回归到前几个步骤从问题本初出发,重建思考。例如Diffusion扩散模型在很多年前就已经提出,在多年之后结合神经网络被发扬光大。
综上,一定不要张口就说我们提出了一个什么模型,而是要从现有方法的不足着手(分析任务、提出问题),提出逻辑层面的改进意见(设计方案),再详细描述提出的方法是如何对应这些改进意见的(实施方案),最后通过实验论证,确实是因为我们的改进方法,使得预测结果得到了有效的提升(验证方案)。这才是一套完整的IDEA。