学海无涯,逆水行舟——回顾和自省半年学术研究

回眸只為那壹抹淺笑 提交于 2020-01-12 21:54:39

Q:

一、大问题:

-什么是学术研究?    

-什么才能称做是学术问题?

二、专业问题

1、计算机的学术:是不是提出的一个新的模型、框架或者算法?(思考中)

-什么算是计算机学术问题

-计算机找问题的方法

2、怎么读论文、怎么读懂论文(文献阅读)

3、论文的写作(思考中)

4、怎么形成系统化的专业知识和技能架构

5、在了解了科研之道、对该领域知识有了大体框架的基础下,怎么去想idea

6、如何有效和导师沟通

-什么问题需要与老师沟通?

-与导师有效沟通的技巧?

-如何向导师提出自己的要求?

7、如何得到导师的指导?

 

三、评判

1、怎么检验自己是否入门一个领域?

 

 

A:

一、大问题:

开始研究之前,明确以下几点:

  • 你未来(至少近三年)研究领域是什么。例如我要做的是理论研究,还是应用,什么领域下,如金融市场、微分方程、生物信息等,都是一个领域,你要确定一个领域。
  • 掌握该领域的背景与基础知识。举个例子推荐系统下,你要知道什么是推荐系统,它怎么应用,有哪些场景目前的常见方法是什么必要时候你还要重现这些方法,理解这些方法的思想
  • 了解这个领域的研究背景。领域背景重在了解这个领域的内容,而研究背景则倾向于研究现状,对于大部分问题,实际应用的方法只有一个,但是方法其实很多,只是最后选了一个来用而已,你要去读论文了解目前有哪些比较先进的方法,总结这些方法的特点,甚至尝试在里面找到不足(这是你未来文献综述的雏形,你文章idea的来源)。

 

1 什么是“研究?”

研究是弄清楚事情的前因后果及其中的逻辑。
(1)不能有任何逻辑跳跃和特例。不能因为A推出了B,B推出了C,就得出结论说A推出了C。如果举的例子有特殊性也不行。

(2)逻辑表达上,是尽量一句话表达一样东西;一篇文章说清一个问题。


2 “资料梳理”类是不是就不能称作研究?

资料梳理的定义是整理已有的视角、观点、论证。在这个意义上讲,称不上研究。但如果梳理的过程中提出新的视角,新的观点及相关佐证,是研究

具体说,这种研究要求的是文献查找和分类整理能力,我觉得也是很硬的功夫,弱点是创新性差,很容易变成最后在重复别人的工作,需要找到一个目前没有人梳理过的东西,并且还要为后来看这篇综述的人提供帮助


3 “研究”是不是就是一定要提出问题,或者有批判性的思想?(逻辑推理的能力)

一定要带着问题去读文章,当自己的预判与文章的走向不一致时,批判思维就派上作用的。第一种情况,作者的逻辑说服了你,那么这时候需要思考自己的判断为什么会出错;第二种是,作者的逻辑有漏洞,或者论述不完整,那么最好加上注释,之后和导师沟通讨论。

 

明确一个要点——研究是为了解决问题。如果老想着为了提问题而提问题,可能适得其反。
-第一种,对已有问题的细节上的发展,不是研究者本人提出,但是是对以前问题的发展

-第二种,一个别人可能不曾经过大脑的想法或者现有技术水平可能达到但是研究中不可绕过的阻碍。更可以是来自具体工程实践、客户反馈。文科,可以从多看著作入手。

 

4 导师“放养”,三年怎样锻炼和培养自己的“学术”能力?

(1)学术能力的基础是学术知识的完备性。脱离内容谈能力是虚妄。

(2)主动去找老师学习,拿着自己的论文也行,拿别人的也行。如果导师很忙,学院里老师之间关系还可以,也可以找别的老师问一下。

 

二、专业问题

2、大量论文阅读的意义是什么?

积累才是最重要的,之所以找不到问题,是因为懂得太少。

(1)多看论文是为了培养你能找到逻辑漏洞(硬伤)的能力。

(2)针对一个具体领域不断专研,找到逻辑漏洞或者一些其他硬伤。

(3)尽快补充调整自己的知识架构,使得读过的论文对你而言,是可以兼容,并且升级的。

(4)多读经典论文/著作(不仅仅是五年以内,五年前的也应该看)。这些论文能够从更高、更本质的层面上思考研究的课题,它们可能提出了你从没有想到的解决思路,是真正具有启发性的研究。

   博士生也有必要了解个人研究课题的发展历史,比如一些细分问题是如何解决的,还有哪些细分问题仍然没有解决,这可能会给研究带来新的突破点。

 

2、怎么去读论文?(总结归纳的能力)

   为什么要总结归纳的能力?在本科及以前的阶段,所有的知识都是经过专业人士整理过的,我们叫它教材。教材的作用是让你通过最小的代价,系统且高效地学习一个领域里必要的知识。你不需要考虑学的内容有没有用,因为教材大多数是经过悉心编撰而成的。

   读论文重点关注什么?研究生阶段需要自己去整理出这个领域里需要学习的知识。研究生的专业课更多的是培养一种兴趣,罗列一下这个方向的问题,具有滞后性。最新的东西永远在论文里。在这个阶段读论文的时候,我会重点关注论文中对于motivation的论述。当一个模型或者算法提出的时候,它一定是为了解决某种问题,那么这些问题及其可能的解决方法就是要从论文中学习的东西。

https://www.zhihu.com/question/312147489

2.1 怎么读论文的大体思想

以下是大体思想:

1)首先是从引言+文献综述,可以中英文都了解

2)熟悉了研究背景,了解为什么这样做,这是对第一步的提炼和升华

3)构建出大致的知识树之后,就可以确定大致问题。(参考知识树的建立)

4)有了细化的问题,就可以寻找实验方法,看看现有的方法怎么解决此类问题。

5)有了实验方法,接下来需要看看要表征的东西(或者指标)

6)通过这些实验的表征,怎么去自圆其说。

当确定这个而文章具有复现价值时的大体流程:

 

初筛论文:文章是否值得读;阅读文章:文章是否值得精度;

   切忌重头读到尾,迷失在细节中而无法高屋建瓴地去把握文章的中心和重点。

确定每个阶段读论文的目标是什么,才知道当前侧重于读什么?

读论文的策略:

1)目标是了解研究背景。如果你是为了了解研究背景,建议你读摘要、引言、文献综述,从里面抽取你要的信息。
2)目标是学习和重现方法。谈到丰富,一定要认真看文章的模型和实证部分,了解他的模型特点以及相比基础模型的特点,同时还要了解他比的对比的模型好多少,如果有需要,可以看看作者对他的评价,一般会在结论部分提及。

   前两条总结起来就是:谁提出了什么方法?解决了什么问题?结果如何?通常也是老师想让我们日常读论文的原因。如果以这个视角出发,摘要>引言/综述>结论>方法+实验
3)目标是模仿写作。
很多人会说论文不会写,要学习,我有一个很快的技巧,但凡经历过高考的洗礼,其实写作能力就基本过关了,剩下就是具体文体的训练,对于论文而言,范文就是现在在网上看到的各种论文,他们之所以能发出来,在写作上肯定是过关的,所以你就参照他们的思路去写就好了,尤其是你的标杆文献,可以认真看,例如文献综述不会写,你就看看这篇文章的文献综述怎么写的。

 

2.2 怎么读懂论文?

提示:(1)放弃读不懂的题目是懒惰和愚蠢的做法。

2)另一方面,一旦发现有兴趣的文章,则必须追根求源。这时,必须注意那些被多篇文章引用的论文或书籍。对这种论文或书籍,力求找到并细读。

(1)幻灯片大法。如果论文作者在论文中使用了很多公式,而且表达晦涩,那是因为要发表,他只需要顾及审稿人和领域内小圈子专业人士的感觉就可以了。

   为了表达效率高,他就得用术语,为了表达精准,他就的用公式。用术语,就是压缩,用公式,就是加密。所以,论文其实就是一个加密压缩包。它安全,只有内行看得懂,不会引来很多外行抬杠。它高效,压缩了所有冗余的信息。

   好在,每一个作者,都要同时面对两个问题——共识知名度。共识是说,别人承认他;知名度是说,别人喜欢他。要提升知名度,他就不能只闷头写论文。还得出席一些会议,做做报告和讲座什么的。面对大领域同行,他要把一个事儿说清楚,就不能再用那么多的术语了,而必须考虑到听众的感受。这时候,他可能更多使用描述性语言,生动的例子,甚至更吸引人的内容,例如视频或者动图。

   通过幻灯,你可以把论文中很多没有能够展开的问题,或者许多作者认为小领域同行默知默会的知识点,都详细论述。

(2)博客、公众号

如果他的工作足够重要,你不必担心,会有人站出来帮忙做解密和解压,也就是“科普”

http://medium.com     https://sspai.com/series/75少数派:致力于解决知识碎片零散的问题  ResearchGate 学术圈社交网  http://www.sciencenet.cn/ 发博客和了解国内信息

找一个iOS或者Android的RSS订阅app,订阅arXiv上stat.ML/cs.AI/cs.CV 

(3)视频教学、文本教程: Youtube B站等,还有Coursera 或者 Udacity 课程、fast.ai也是不错的选择

(4)在技术类问题中,代码比公式重要!对于那些技术性的问题,数学描述算法有时候会让人有疑惑,这时候,阅读源代码,甚至编程实践出来,会极大提升你的理解程度.

2.3论文笔记(对于零散、具体、流程、抽象、观点五类信息的总结)

  • 1)按照一个参考文献格式记录论文(方便日后引用)
  • 2)看完摘要总结一句话,谁、为了解决什么问题、提出了什么方案、结果如何。
  • 3)文献综述下,记录思路(先讲什么后讲什么),观点。
  • 4)模型,记录整个流程结构,用的主要技术和模型。
  • 5)实证,实证流程和结论。

参考事例:

●基本信息(标题、作者、作者单位、发表期刊/会议、发表时间)

●看本篇论文的目的

●场景和问题

●研究目标

●主要思路/创新

●核心算法

●其他

 

适合小白:用一句话(英文)概括实验、结果、陈述或评价章节中的每一段主体内容,组成一个阅读笔记。好处是理解的基础上进行一定量的输出,这个一个加深理解和记忆的过程。

有一定经历之后:笔记的内容可以是文中某个新的实验方法,异于其他研究的实验条件、阅读时自己的新想法等等。

 

3.论文的写作(学术写作的能力

《How to Write A Better Thesis》,《Writing For Computer Science》前者是一本很好的学术写作入门书,后者更多的是面向计算机专业的PhD级别的写作书。

 

具体实操:https://zhuanlan.zhihu.com/c_163644387

      如果你不会设计实验/写论文,请模仿和你的工作最相关的论文。把他们的论文好好读几遍,从结构到段落到句子都可以模仿。我当年的第一篇论文,我的老板就说我写的不错,其实我也是吃透并模仿了好几篇参考文献而已。

   写论文的时候切记:逻辑第一!这种逻辑是贯穿全文的,段落层面的逻辑、句子层面的逻辑、甚至一句话里的逻辑,都是非常关键的。一篇好的论文要循循善诱,有理有据,让人读起来不要废太多脑子,就觉得你说的很有道理。这里面要着重注意各种句子层面的关系:转折、因果、递进等。一句话可以有无数种表达方式,你要做的就是在脑子里把各种方式过滤一遍,选择最流畅的那一种。

 

4、知识体系和框架

首先,明确一点——不一定要系统学习,前沿知识很难有体系,所以一方面平时要接受信息,另一方面坚持去查资料看

然后知道资料来源:

(1)优先阅读该方向(比如多模态、跨模态、自然语言和视觉)近五年的survey/review(中英文都要看看),然后可把论文提到的作为一个“线索”和“目录”。当然这个review也可以是强相关领域的。

-比如为什么会有这个方向?这个方向研究意义是什么?

(2)research article(包括顶会),精度abstract看本文解决什么细分问题, 精度introduction看问题是什么引起的,目前有哪些方法?评价如何

   以上工作,尽量把论文之间的引用关系理清楚,把近几年的发展脉络理清楚。比如,把引用的二十多篇论文的主要思想、方法都写出来,把引用关系画成一个DAG图。当入门之后,就需要快速阅读一篇文章并掌握其核心贡献点的能力。

如何构造出知识树的树干:

(3)有research article大多只会把焦点放在该论文解决的细分问题上以及相关方法,而忽略全局,所以务必按照introduction去按图索骥找review里面说同一件事情的地方,依据review和article里面所引用的文献,扩展阅读新的introduction。这样来回读你就能按照review里面的脉络搞清楚本领域要解决什么问题和一些广而不深的现状,形成一种初步的概念。

(4)水平成熟的时候也可以读一些博士毕业论文,找灵感(他山之石)。相对于小论文而言,学位论文论述则更为全面、充分、成体系。除了了解作者的研究工作外,更多的是学习作者分析、提炼、展开、解决问题的思路,以及写作的结构与方法。

   如何补充调整自己的知识架构?其中一个好方法是,论文罗列的参考文献,可以作为你补充基础知识的一个有效手段。毕竟,作者亲自在这里为你指明的路径,如同给了你一张写有路标的迷宫地图。

   还有一个是,读一些专业性强的著作,比如机器学习:《统计学习方法》、雷明的《机器学习与应用》,塞巴斯蒂安的《python机器学习》;深度学习:黄文坚《tensorflow实战》、tensorflow技术解析与实战;自然语言处理:《统计自然语言处理》、刘兵的《情感分析》、《基于深度学习的自然语言处理》;其他:《数据挖掘导论》,《机器学习实践指南》、《python数据分析与挖掘实战》、《精通数据科学》等。思考过去的统计方法和现在的联结主义到底有多少相似的地方。比如统计方法的文本处理和深度学习的自然语言处理,不要被现在炒作的概念,蒙蔽了双眼。

   对于一些热门的技术,着重学习其中产生出的新思想、新数学方法,不要过于“追热”。

 

5、在了解了科研之道、对该领域知识有了大体框架的基础下,怎么去想idea

首先是问题的寻找:

第一种:根据已有知识找问题

      精读文献可以先读提要、前言、图表、结论,不急于细读正文。读后好好思考一下,文章作者要处理的是什么问题;他为什么要研究这个问题;他得出了什么有意义的结果和结论。通过这些思考,经验丰富的研究者有可能设想出某些处理问题的理论方法(基于知识树的知识串联),然后再阅读正文,可以比较与作者文中的理论方法有何异同。对大多数研究生,达到这个水准还需要时日,但不妨自我训练一下。这对于提高你发现问题和解决问题的能力大有好处。

第二种:横向对比

      在读懂文章的基础上,对文章进行审视。为了取得审视能力,你必须收集和细读同一个论题的几篇文章,特别是重要的源头文章。为此,你需要判定文章的重要性,只有重要的文章才值得你去花气力。重要文章不难判定:最多地被引用或思想明显地新颖;作者的背景很强(工作环境和本人基础功底);发表于重要刊物上。不过,这些判据不是绝对的。

可以审视的典型问题例如:

l    论文中理论方法成立的条件,理论假定或数学模型与实际情况有哪些差距;

l    论文使用的例子中的参数范围,是否隐含限制,造成限制的原因;

l    论文对取得结果描述中隐含的限制、适应范围和困难;

l    是否存在其他的理论方法可以达到该文类似、相同或更好的目标;

l    论文涉及的机理、理论、和应用的广度,有哪些连带问题。

      必须连带若干篇同类的论文一起思考才能审视一篇论文。并且,常常你不得不重复一下论文的推演过程以及所提到的试验或仿真。如果你学会了用审视的眼光去阅读论文和思考问题,可能会发现文章背后作者回避了的问题或未解决好的问题,以及与此相关的更多牵连。事实上,以上列出的问题中,只要发掘出其中一、二个问题,你就可能形成自己的研究题目。

第三种:来源于实践

http://blog.sciencenet.cn/home.php?mod=space&uid=4909&do=blog&id=266037

   最值得关注的是从应用需求提出的研究题目。将你在本领域中的知识与这些应用题目结合起来,最可能产生出创新性的结果。因此在阅读文献时,要查一查作者的工作背景,了解一下论题的源头。同时,争取跳出“无事找事做”,变成“有事找事做”。如果你能够大胆些,自己去试探接触一下应用领域,就有可能形成交叉学科研究,你的成功机会就会很快很大。

常规idea的获得

1.交叉科研法(杨强:棋盘法)

是一种matrix的方法:做一个40* 40的表,每个元素看看A+B是不是靠谱

2.用a领域的方法,借鉴b方法,解决c领域的问题,引用一些文献证明有理论根据

一种是几个领域交叉一下,你可以说我们把A用在了C上,并借鉴了B,效果拔群。种几个领域交叉一下,你可以说我们把A用在了C上,并借鉴了B,效果拔群。

具体,A+B需要说明为什么是non-trivial的 一般至少要改成A+B' 或者A+B+C比较容易发。

这样做的好处:让审稿人觉得背靠大树,踩在前任的肩膀上,靠谱。

3、真功夫

创新点不是整天天马行空想出来的,而是在你看了很多文章做了很多实验之后自然而然产生的,当看了很多文章,会发现解决A问题的思路可能在B问题上能够得到启发,当你做了很多实验之后你才能发现论文里隐藏的瑕疵点或者在某系场景下不适用,发现了问题很自然的就能想到一些解决的ideas。换句话说,来自于对实践过程与理论中存在不足和矛盾的思考。

 

 6、如何有效和导师沟通

导师没有时间的前提、科研没有标准答案,无法解决一个具体问题。

 

展示出积极的科研态度:(1)积极的自学,减少不必要的提问:琐碎的过程与细节、知识和概念性的问题。(2)积极提问;(3)能够积极完成指定的科研任务。

-什么问题需要与老师沟通?

沟通:科研方向,具体问题;同时,站在能促进实验室的运作(导师)的角度去表达;

-与导师有效沟通的技巧?

1、提问方式:

-消极提问,xxx做不出来,怎么办?

-积极提问,汇报的形式:简述之前交代的任务或者背景,目前进度现状+存在的问题,个人认为可以采取xxx方法,请教导师这个判断

简要复述问题+积极思考解法+请求老师判断

积极提问的原因(1)是消极提问是“我”在做判断、老师思考,积极提问是让导师做方向性判断、自己思考,

(2)老师缺乏足够的时间去思考解决方案,因此“我”要提出一种可行解,便于老师判断和交流的深入进行。

2、表达方式

利用图(ppt)、文字来进行表达。

3、想清楚问题,借助师兄师姐,让他们听听你的问题表述

4、汇报工作,weekly report。(1)读的文献,一两句话说清问题和解决方法;(2)精读的,存在哪些概念和问题,希望请教的、或者相关可以推荐给我的。(3)基于当前文献,潜在的idea,具体表达出来(novelty和问题)。

-如何向导师提出自己的要求?

平时和导师的关系要搞好。(记住生日-教师节-春节;送礼:明信片-贺卡)

自己的筹码;

(1)去外面深造,积极完成任务,之后为实验室、为导师长脸

(2)在目前的实验室可以做什么,提出一个方案,比如VLN能不能做

(3)具体的表达,比如,看不懂文献怎么问:希望老师能一些与xxx相关的文献资料让我去更好的理解。当然也可以问师兄。如果师兄不能解决,再详细的问问导师

 

7、如何得到导师的指导

导师是否真的成为你的导师,完全要看你自己的努力,同届的几个学生,可能会得到不同数量的指导,这并不是导师厚此薄彼,而是平时交流频度和质量决定的。因此,我的建议是:

1)自觉地将阶段性成果向导师汇报,听听导师的建议,老师也许会从研究方法和细化问题的角度帮助你反思,更多的时候是为你提供其它的数据来源和支持 (人力、物力)。

2)认真地完成老师交给你的看似与你的论文并无关系的事情。老师往往根据对你的直觉认识,认为你合适做什么事情而分配给你一些工作,也许别人对你也 是这个印象,也许这是你自己都没有察觉到的你的优势。认真地有意识地发展这方面的知识和技能,会使你成为一个有特长的人

3)和老师的接触有正式和非正式两类,正式的需要预约,真的是有事情要讨教。非正式的包括路过老师的门口,打个招呼,闲聊两句。有时候正是这种无心 插柳,可能带来了很多的机会和资源,也可以得到一些意想不到的指点。

4)不要唯导师命是从,有时候导师分配给你某个任务也有投石问路的意思,是因为想发掘你的潜力。所以多和导师交流你的兴趣和想法,可以方便老师分配 给你所想要的机会,做你想做的事情。

5记住,任何时候研究中遇到问题,都可以直接进入导师办公室,寻求帮助,即使你认为是你自己的问题。这样做的另外一个好处是,让老师知道你是因为 有问题而进展停滞,而不是忙其它事情去了。

 

三、评判

1、怎么检验自己是否入门了一个领域?

1)对该领域的大牛及其工作如数家珍,有比较详细的深入的了解。

2)对该领域的历史,来龙去脉要认识清楚。

3)对该领域目前存在的问题要非常明白。(因为这就是我们研究立命之本啊)

4)多交流,多开会,认识很多同行好友。

      多写代码,没事的时候把自己喜欢的paper 用自己喜欢的框架 implement 下,一来锻炼自己对paper的理解,二来锻炼自己的代码能力,三来造福吃瓜群众。

      多去交流和分享自己的见解与工作。writing和presentation的功力也非常重要。如何精确简洁的用文字描述你的工作,如何面对不同类型的听众来做一个合适的报告,都是很重要的技能。

 

花了两三天查找资料、总结和思考而成,剩下的就待实践中再去完善了

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!