科研基本概念
什么是科研
Research is a process to discover new knowledge 科研是发现新知识的过程
具体可以分为七步循环:
- make an observation
- identity a problem
- research your problem
- develop your hypothesis
- design an experiment
- collect and analyze results
- construct a conclusion
什么是好的科研
ICML review guideline
ICML:机器学习相关顶会
- novelty,relevance,significance 研究的东西一定要创新,跟领域有非常强的相关性,并且对领域的贡献足够
- soundness 实验一定要完备,有足够的论证说明
- quality of writing 写作的质量要高,图表要配说明文字,不要有口语化表达
- literature 引文一定要足够,质量要高,表明自己对于领域的理解
- R(好的科研工作) = Q(有价值的问题) + I(好的idea) +E(严谨周全的实验) + W(清晰达意的写作)
顶会投稿流程
- 方向选择,确定领域
- 文献综述,定义问题
- 发掘Idea,创新点
- 设计方法,开展实验
- 反复迭代,达到好实验结果,撰写论文
- 投稿,写补充材料,和审稿人进行rebuttal
- 中稿,poster/oral(这是顶会进行paper展示的两种手段),demo,project page
会议 VS 期刊
- 会议周期短,3-4月出结果;期刊周期长,从初审(直接退稿/修改)到最终录用6-18月不等
- 会议篇幅短,4-8页,期刊篇幅长,10+(也有很少一部分是4页)
- 会议创新性很强,紧跟前沿;期刊学术性很强,论证严谨充分
- 企业看重会议,高校看重期刊(非计算机专业)
- 会议具有社交属性,直接和工业界链接(offer expo),期刊就投了完事
- 很多会议文章增加一半工作量直接转成期刊
研究 VS 项目
- 项目往往以解决实际问题为主,重点在于甲方需求,交付代码,实物,系统等成果
- 论文是创新,在于剖析问题
- 所以项目中发论文很难,尤其是离学界比较远的方向
研究 VS 系统
- 做一个好系统也能写好文章,但是往往工作量很大,需要展示出系统的意义与创新性
- 做一个好的研究也可以转化成系统,博士论文的最后一章一般是研究成果的系统论证
- 但是,不是所有系统都适合发文章,以做系统的思路去写论文很容易被审稿人认为是拼凑,incremental(增量的),这会是一个很强的拒稿理由(not novel, no contribution)
科研一定要有用吗
- 研究的目的是发现新知识,解决新问题,在做研究的时候不一定要以实用为导向
- 但是真正好的研究最终一定是有用的,在未来对于社会和人类的具有深远影响
- 思想和创新是论文的核心,在开始研究时不一定要追求很大的实际用途
好的科研习惯
- 维护论文阅读列表笔记
- 深入理解任务,写博客,写笔记
- 详细的数据统计分析,每个实验要知道自己在做什么
- 及时和导师讨论,和其他研究者交流
- 做好研究反思,诊断阶段性问题
- Think bfore you do, write before you do
不好的科研习惯
- 一问三不知,不知道哪里好,哪里不好,为什么好,为什么不好
- 文献调研不充分,idea和别人的重复,投稿时才发现
- 选择的领域过于陈旧,没有选择的意义
- 单打独斗,缺乏交流,后期才发现方向很水,没什么意义或者idea根本不对
- 对科研过于理想化,追求项目/科研/系统同时实现
- 不爱动手做实验,喜欢看不喜欢分析实验结果寻找insight
如何选择有价值的方向
选择方向的重要性
- life is about learning to ask the right question
- 对于科研来说,确定方向和问题往往最为困难。能够问出正确的问题就成功一大半了
- 导师的重要性就在于对方向和问题的把握
好方向的标准
前沿性 + 重要性 + 复杂性 + 传承性 + 可行性
一些小tips
在选方向时问自己三个问题
- 这件事情重要吗
- 这件事情我做有什么优势
- 这件事情为什么以前做不了
确定具体问题时,问自己
- 方向的终极目标是什么
- 是什么阻碍了这个目标的实现(时空信息挖掘不充分,深不深入)
- 这个问题我目前有条件做吗(数学功底,算法能力,算力,人力)
硕士时间点(up推荐情况)
- 研一上以上课,进组学习为主,进行文献阅读,提高知识广度
- 研一下以完成学业要求,确定大致方向,论文复现,硕士开题,提高对于特定领域、问题的知识深度
- 研二上(含暑假)在导师引导下,完成第一个投稿周期(会议/期刊),完成方法设计,实验设计,论文写作(3-6月)
- 研二下论文中稿,准备读博/秋招
- 研三:总结成功,在高校/企业继续深入研究。写毕业论文
如何寻找文献,寻找创新点
寻找文献方式
- 按关键词搜:方向相关的词汇 + 这些词汇的组合
- 按人搜:直接看领域知名学者/导师 + 关注大牛主页
- 常见资源:
- Google scholar + Arxiv + connected papers
- Aminer + Ai paper collecter + daily papers
- Twitter + 微信公众号 + 知乎
阅读文献的方式
三步论文阅读法:(看abstract)
- 解决什么问题?
- 创新点和方法是什么?
- 结果和结论是什么?
维护一个笔记,记录上面三个问题,对和自己研究问题相关的论文进行系统性梳理
创新的层次
- 开拓新领域,提出新问题 LLM + Agent
- 理论层面进行基础性创新 Score-Based Generative Modeling through SDE
- 对基础模块,通用架构进行改进 ResNet,Transformer,LSTM
- 针对特定问题,提出新方法 See papers with code
- 结合以前的方法,做新系统
- 给人看待问题的新角度
创新点的发现
- 从阅读论文中发掘
- 从实验中获得Insight
- 从和别人的交流中
创新点模式
- A到B,在A领域有用的idea,方法,把A进行修改,用到B领域
-
- Deformable对CNN有用
- 验证Deformable对Transformer也有用
- A + B,A和B在某个问题上都work,组合起来效果会更好
- A - B ,对某一个问题的解法A,一定需要B作为它的组件吗?
- 解释一个问题为什么会存在,从而针对这个点提方法
- 对前人做实验的方法进行分析总结
- 对模型进行基础性改进(实验量很大的)
- 借助成熟地方法体系
- 定义一个新问题 / 对某一个问题进行系统性分析
- 统一benchmark,从实验中发现一些insight
- 从老的领域,发掘新东西(科研老手专有)
如何设计实验,迭代研究方案
为什么要做实验
做实验的目的是为了验证论文的核心方法是成立的,主要观察下面几个方面:
- 模型是否有涨点
- 可视化结果是否和intuition相符
- 到底哪些类别被解决,哪些没有解决
- 如果把模型拆解,哪一部分是最薄弱的点
- 提出的观点,是不是和实验相符
一定要带着问题和目的去做实验,做好实验记录
如何设计好实验
- 选择好的baseline,熟悉相关的环境,评测指标
- 根据你想要验证的假设,对baseline进行增减
- 每次只改一个东西(模块,超参,训练方式)
- 先验证主要结论,再验证次要的
- 从多种角度印证文章核心的点,增强说服力
- 多种手段:量化指标 + 可视化 + 降维图 + 系统展示
- 优秀的论文实验案例:ConvNext (手把手教你做实验)
原视频链接
【研一、研二必看!科研小白如何寻找顶会潜质的论文创新点,论文筛选、论文阅读、论文创新点全详解,轻松搞定大小论文!】 https://www.bilibili.com/video/BV1Xu4y1r79q/?share_source=copy_web&vd_source=fa43e9d6cd4073e1172b87c3220f143c