从今年6月开始,到这个学期9月半正式进入研究生的阶段。直到一个月前真正开始我的第一个研究项目,算是第一次真正意义上的踏入研究的领域。从开始获得一个直观的idea到了解问题背景付诸行动写代码做实验跑结果之间的也经历了一段,总结一下这段时间的一些感悟和思考。
当然最基础的读文献,做实验这样的事情就不说了,因为没有那些基础,根本谈不上研有所成啊~

参考了一篇布朗大学数学博士的知乎文章,觉得也很有启发。

1、关于一个新的领域

新的领域基本来说,做的时间不长,大概起始于近10年内,发表的文章不多,很多实验走的是这样的路子:提一个方法–>跑模型–>效果好–>回过头来解释这个模型为什么效果好。而不是像比较旧的领域一般是:有一套成熟且理论推导详尽细致的方案之后再做实验进行对比。一般很多研究方向的提出,都是来源于实际应用的工业问题。比如我现在做的这个方向:进化计算。里面用到的fitness function,从前是需要专家经验,也就是所谓的数学公式严谨推导得到,现在主要依靠一些工业上的实验、仿真等方法得到,而面临代价过高,费用昂贵等问题,只有一些离线的数据可以使用,数据+拟合–>自然就联想到NN的存在,于是DDEA就这么出现了,现在正是如火如荼的时候。

和企业前沿应用有交流,接触是件好事。

2、研究中的idea的提出

不必太局限于所谓的“正确、合理”,总是在框架里思考就会被迫局限在框架中,发散思维,提出一些哪怕是错误更多,正确较少,二者交织的想法,也许在精细化,将错误去除之后会得到不错的结果。这个动态规划的核心思想,分而治之,层层合并,其实是个不错的思路。
==两种方式== :应用>理论 | 理论>应用
各有各的优缺点,对于发论文来说,表现在数据的好看还是文章的严谨性上,但是这两个方法很难说谁好谁差。

  • 平行迁移:相近类型文章上的某一个小点方法拿过来用,当作自己的一个小trick
  • 反向思考:优化的算法和被优化的方法之间是否可以互换位置?某个实验不好的解是否可以作为相反问题的好解呢?
  • 跳出框架:了解一些非这个领域的文章和方法

3、理论知识的积累

“不同的理论会有不同的适用范围,抽象和具体都是需要的,但我认为懂得越多的理论确实是比较好,因为它们提供不同的思考角度,学习一种新理论相当于多一种看待问题的思路,但是需要真的学会学懂才行,否则就会是浪费时间,因为不懂的理论过一阵子不用就会忘记了。因此,不要指责学习新的抽象理论的人,而是需要警惕学到半懂不懂就放下的情况。”

建立自己的知识网络,真正搞懂一个方法就是去实现它,这样会更加印象深刻。

4、做出合适的选择

做的东西是不是在近期的未来而言还是比较有研究价值呢?社会资本本就是短视且逐利的,这毫无疑问,想要money还是value。领域前沿的趋势是大家都在水文章?还是确实是有真东西?这是可以看到这个领域究竟是资本进来了还是研究占据着。“选择比努力更重要”,是的,所以时刻保持警醒,时刻关注前沿和社会,还是非常有必要的。

Ending

最后写下我在最开始时候问我导的如何成为一个好的研究生的方法的回答:

“其实做研究反而是一种很纯粹的生活,在一个小的方向上,多看论文,多思考,多实践就好了”