# 科研新手村

## 第一部分 by 21-信息-tyh

对于陆本学生，科研新手村一般指在国内进行科研入门，目的是获得基础的产出和connection然后去国外做科研，通常有以下平台：

* 东南大学SRTP项目/自行联系教授
* 西湖大学暑研（适合大一大二学生暑假参加）
* 自行联系其他陆本的lab（大胆联系，很多清北的lab做RA的bar并不高）

### 东南大学srtp项目/自行联系教授

大多数SEU本科生第一次接触科研是通过SRTP。SRTP的优点：

* 提供一个和教授做项目的桥梁/借口
* 国省创有一定经费
* 可以获得毕业必须的SRTP学分

SRTP的缺点：

* 只有极少数人在真正做科研
* 材料/流程繁杂

﻿在motivation充足的前提下更好的方式是直接联系自己感兴趣的教授做科研，不经过SRTP平台。无论是否经过SRTP平台，在科研新手村阶段，你需要确保：

* 有人带你，可以是教授/硕博学长（详见下方：找谁做科研）
* 最好做纵向（科研）项目
* 最好专注于一个项目，不要想着双开多开，人类的精力有限

如果队友完全不干其实无所谓，可以自己干。但是如果没有人带，大可以直接彻底摆烂。95%的SRTP项目都是彻底摆烂最后混个答辩。

### 找谁做科研

* 最重要的是教授的人品，组内的氛围，一般只能找学长学姐打听
* 东南大学导师会客厅是一个很好的认识教授/优秀学长学姐的平台，但仅适用于想做本学院方向的（不适用想转行的）
* cold email套瓷，大胆发本学院的或其他学院的（或者外校的）
* 对于教授，可以找刚刚入职还没有硕博学生的教授，一般会亲自带本科生。其他教授（尤其title大的）几乎不可能亲自指导本科生，都是交给硕博指导
* 对于硕博学长学姐，建议找认识的，或者找人推荐，确认ta会认真带你
* 找有目标国家/院校connection的教授，可以看教授的近期论文合作者/博士博后导师（一般希望通过connection推到国外做暑研，或者产出成果自己套国外教授）
* 在某一课程表现良好可以找任课老师

如果是大一/大二，不需要担心自己没有相关经历或者能力不足，只要积极主动，基本上都可以找到进组的机会。DP: 分流进信息倒数，cold email了很多教授，有可观的回复率和接受率

### 做什么方向

这是一个几乎无法回答的问题。就算问教授，得到的回答大多也是：本科的时候跟着XXX入了行，就一直莫名其妙做到现在。然而第一段科研方向的选择通常也非常重要，需要谨慎选择。

* 通常建议从兴趣出发，如果有生存压力建议从就业情况出发
* 迷茫的情况下，不建议选择冷门的方向（激进可以直接选热门方向，保守可以选择冷门方向与热门方向交叉，之后有往热门方向转的余地，科研经历不至于完全没有连贯性）；迷茫的情况下，可以优先选容易出成果的方向
* 方向不要太难（当前知识水平至少看得懂，或者选chatgpt擅长的方向）
* 不建议从东南大学擅长什么方向出发进行选择（如大家经常听到东南大学通信第一。东南大学在一个方向做到第一是一个危险的信号，说明该方向是夕阳方向。以通信为例，美国顶尖院校几乎没有教授做通信，几乎没有科研funding因此没有PhD名额；学科成熟且已经大面积落地，科研大多是废纸，几乎没有落地可能性，就业相比于热门方向hc少薪资低）
* 大胆转行（尤其大一大二时），不要认为自己是XX专业不能联系其他专业的教授，缺乏相关背景可以自学补充（如想做AI可以联系东南大学PALM实验室）

### 如何做好科研

#### 一些入门的能力

* 基础的文献查找能力：从某一文章出发，找这篇文章cite的重要文章，在google scholar找cite这篇文章的文章
* 搜索/英语阅读能力：使用英语在google搜索，弃用百度。阅读英文论文/论坛/document，查生词而非整段翻译
* 知识回忆/碎片化补充：充chatgpt会员；系统性知识补充：搜索国外大学网课/讲义

#### 一些科研所需的品质

* Motivation：积极自主；多分配时间给科研；提前计划任务并进行time estimation；记录progress；不要玩消失
* 情商：外向是加分项；知道老板喜欢什么并做老板喜欢的方向/project；懂得何时需要动脑子思考/何时follow instruction/何时适合问high-level问题（如project的整体走向、未来规划、申请问题、funding请求等）
* 逻辑：科研大致包含Communication、Theory、Experiment，背后其实都是逻辑
  * 最重要的Communication：开会/写作时清晰且有逻辑地表达自己做了什么，可读且信息量丰富的visualization；开会时动脑子理解对方在表达什么，及时ask for clarification；stuck时及时告知mentor并清晰地描述roadblock（已经尝试了什么，还有哪些hypothesis，from theory这个实验应不应该work）；讲述story时确保逻辑完整，通过cite/theory/experiment提供证据；在配环境后/代码成型后及时写下reproducibility document；知道谁擅长什么并请求帮助
  * Theory和Experiment对应写证明和写代码，都可以借助chatgpt实现，但是要把控质量和逻辑

如需lead project则需要更多能力：如选择有价值且有希望完成的project，拉合作，根据所剩时间掌控progress，分配任务并行推进，走通全流程再debug和优化细节，present/宣传自己的工作等等。对于大多数本科生来说，一般建议不要lead project，要确保有人带你

#### 一些CS/AI coding的经验

大多本科生也是从coding方面开始帮忙

* to debug：
  * deep thinking (theory) -> hypothesis -> test
  * change one thing at a time
  * Inspect the intermediate outputs of the program instead of just staring at the final metrics
* to speed up the code (with only 10 hours until the deadline, it’s often better to spend 2 hours optimizing your code and run for 8 hours, instead of starting a 10-hour run immediately)：
  * double‑check your code before running, ensure the arguments are correct, the preliminary results make sense, and monitor the experiment for a while instead of leaving immediately
  * split CPU/GPU jobs
    * GPU jobs:
      * for loop -> vector/matirx calculation + batch, fully utilize the GPU
    * CPU jobs
      * parallel computing (ThreadPoolExecutor, wandb sweep, etc.)
      * never fully utilize the CPU, otherwise the server gets stuck
  * save cache to avoid redundant processing, save all data/possibly useful information that needs time to run, save in a clean format
  * for long-running jobs: use tmux, produce clean logs, be interruptable (can read progress and continue running)
  * code at GitHub, data/results at HuggingFace

## 第二部分 by 21-信息-吴立昊

很多同学不知道如何找到自己学术上感兴趣的领域，对科研毫无头绪，也不知道如何描述自己的科研经历，这里提供自己的一些想法作为参考：

### 科研需要做什么

很多同学可能会发现，参加srtp或者什么科研项目以后，导师扔过来几篇文献，或者安排一个学长学姐带你，然后就消失了，偶尔让你做ppt开会汇报，然后你研究了半天文献也研究不出个所以然，更不知道自己该干什么。那么科研有没有一定的方法论呢？我个人目前（浅薄的）见解是，如果你连最最基本的专业知识都不具备，比如研究ai不懂神经网络、反向传播，研究电路不懂mos管的小信号模型，研究通信不懂信号与系统和通信原理，那么需要赶快找书补一补基本知识（不需要研究的特别仔细，主要是理解基本概念）。如果你有一定的基础知识，那么在研究导师推荐论文的同时自己搜索一些该细分领域的经典文章/综述读一读，切记不要死磕某篇文章中的某些细节，而是对这个细分领域有一个整体的了解，看看大家关注什么问题，研究范式是什么样的，并且多和学长学姐讨论（如果ta愿意的话），如果导师不会定时地关注你的进度，那么你可以自己写文档，把你在读文献中的一些思考，对该细分领域的一些趋势的总结，你遇到的问题（尽量不要是太细节的比如这个公式怎么推导这种）写下来，不需要写的特别好，就真实地反应你目前的认知水平就好，因为其目的是让导师想起来有你这么号人，并且了解你的情况，针对性地为你做出一些安排和计划，设想一下，如果你是导师，一个小学生来找你学习，你可能完全不知道ta会哪些东西，不会哪些东西，而如果ta找了一些题目把解答过程写给你，你可能马上就知道该让ta下一步去学什么了。当然，有一些流程比较严格的课题组，可能对本科生培养已经有一套完整的流程了，你只需要进去按部就班就行。如果你已经迈过了上述的门槛，那么下一步就是针对领域内某一个有价值的问题，提出自己的解决方法，并且进行验证，如果经过验证你的想法是有创新性并且有效的，那么就可以发表成果，当然每一步都需要和导师充分沟通。如果你在科研过程中感到自己有更感兴趣的学科/方向，或者课题组氛围不太对，那么尽快和导师沟通体面的离开，毕竟本科参加科研的主要目的还是找到自己是不是喜欢做科研，以及自己有没有感兴趣的学科方向，而不是发表成果。

### 如何描述自己的科研经历

在申请过程中，也不是只有科研项目科研纳入科研经历中，也不是必须要有成果才能进CV和文书中，一些比较有工作量的课设也可以作为你对踏入该领域的经历之一，文书写作中逻辑为：学校课程 —> 本科科研工作 —> 职业/学术规划 —> ms/phd深造的必要性和计划。无关的科研经历放CV里不要写文书里，在描述科研经历时，不要展示工程的细节，比如用什么软件，重点关注的是解决什么问题，提出什么创新性的有效的想法，你在其中做了什么（不需要太具体），达到了什么效果。个人认为作汇报、写论文也是这样的思路，无非是详略的区别，这种能力在科研工作中可能没用，但在你争取学术资源，让别人了解你做什么时很有用。

## 第三部分 by 22-信息-ghn

### 如何知道自己是否有科研能力

我认为，在科研过程中，如何确定自己是否有科研能力是最为关键的。

科研能力并不是指，在学院里内卷绩点到top rank就一定有科研能力，绩点平庸的同学也不一定没有科研能力。就如同第一部分所述，只要你积极主动，都会有很多的进组机会。我本人非常讨厌某些学院的“唯绩点论”的风气，大学并不是高中，需要你自己去探索去确认自己是否有科研能力。

“95%的科研时间是沮丧的。”---by 何恺明

我身边很多同学其实都有过科研经历，但是后来大多数人都放弃了。其实这并非他们没有能力做科研，而是因为国内导师的pua，push，甚至谩骂。

就作者本人的经历来说，我在大三上学期开启过我的第一段“以发paper为导向”的科研，为了出国，跟了某个刚回国的美国phd。招生的时候这个教授曾信誓旦旦的说，三个月ei半年sci，当时作为小白的我信以为真，于是跟着这个教授做了四个月的科研。在这期间可以说把所有的课余时间都花在了实验室。但是做着做着我发现，科研实际进展几乎为0，期间我一直是按照教授给的idea做，因为这是他的“最擅长的领域”。由于做不出来和发paper的焦虑，我曾有一个月左右的时间每天在信息大楼凌晨三点以后才回宿舍。就这样我还是受到了教授的push和pua，那些“早知道不应该带本科生做科研”的话一直在耳边回荡。我曾多次怀疑自己是否真的适合做科研。直到最后一次组会教授仔细思考了他的idea后发现是他想的太简单了，不是我的能力问题。

在国内的科研环境，这种现象其实非常普遍。在我来美国做暑研的组里，几乎有1/3的人受到过类似的打击和pua。但是他们都在暑研的过程中产出了不错的paper，我在与他们的交谈中，他们也并非是所谓“没有科研能力的人”，相反只是在国内的科研环境里被埋没了。

所以如何确定自己是否有科研能力的第一点，就是不要因为一些教授的言论而怀疑自己，科研能力显现的前提是在良好的科研氛围里，接受专业的指导，才能知道自己是否有科研能力。

接下来是一些如何判断自己有科研能力的方式：

* 是否能够主动的去找自己感兴趣的领域，以及详细调研相关的文章，而不是盲目听从导师安排。
* 是否能够养成每天在xhs，知乎，arxiv等平台关注论文新方向的习惯。
* 是否能够有毅力坚持科研，就算实验结果不如人意，或者method不work。
* 是否能够聪明的科研，而不是为了追求“solid”而瞧不起所谓的热点。
* 还有一些coding的技能的掌握程度和逻辑思考的能力。

### 如何在早期阶段找到合适的组做科研

我的建议仅对于想跨到CS/AI专业做科研的同学。

我的建议如下：

对于其他专业想转行到CS/AI专业的同学找科研的时间顺序：

国内（CS强校组）/中外合办/国内的ailab —> 海外ap组 —> 海外强组

我并不建议大家联系自己学院所谓的ai方向的老师。作者本人是信息学院的同学，虽然说srtp有很多项目是所谓的“ai结合项目”，但其实这些项目都已经非常的outdated，并且整个学院没有很好的CS师资和硬件设备。想在本学院做AI方向的科研只有为数不多的几个老师做结合方向，但如果你想真正接触AI科研，那么还是找找CS强校的组来实习。

PALM据我所了解，一般很难在短期（半年内）发出属于自己的一作论文。而很多CS强校组，他们每篇论文的周期不会超过半年，如果想尽早发出论文的话，还是谨慎考虑。

那么东大的本科生能否找到陆本lab的实习？

答案是肯定的，东大学生的能力很多老师都认可，只要你能够提前自学一些相关知识，对你想做的领域有一定了解，大胆陶瓷。

什么时候适合开始科研？

最佳的科研时间其实是从大二下学期开始，由于AI会议的ddl设置，这个开始时间可以赶上两轮的大多数顶会。

### 最后一些想说的

在东大的学习氛围里，很容易被卷入绩点的漩涡，其实有很多其他（scu,cqu等）优秀的本科生，他们的学校title可能不如东大，专业排名也不如东大的专业，但是他们会放宽自己的眼界而不局限于自己的学校，导致每年都会有美国top校的phd出现。而东大却屈指可数。

我经常在xhs收到一些学弟学妹的困惑，例如“转CS后35岁中年危机”，例如“信息xxx老师好不好能不能发ai顶会”，其实你在什么专业，跟什么导师并不是很重要，重要的是要拓宽自己的科研视野，大胆到外面去做科研，去实习，你才能认识更多的人，才能思维碰撞出更好的火花。

如果有关于转ai，或信息学院一些情况的学弟学妹，欢迎connect：

vx: Johnny040216

email: <johnny040216@gmail.com>
