研一(本科生)刚入学,如何快速的找到自己的科研方向?

2024-02-17 15:52

本文主要是介绍研一(本科生)刚入学,如何快速的找到自己的科研方向?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎大家关注微信公众号:baihuaML,白话机器学习

码字不易,如转载请私信我!!

最后,大家有其他问题,可以加我微信:KKuan996,由于是微信小号,可能回复不及时,谅解~

在2022年7月份,创业的公司算是关掉了。找了2个月的工作,重新加入了互联网大厂,卷自动驾驶这个赛道,一边做着前沿探索,一边做着业务落地,忙的不亦乐乎。相比4年以来的创业工作,压力小了很多。由于再次和学术圈挂上了钩(卷论文了),也带了几个本科或者研究生的小朋友,希望总结一些快速帮助大家找到方向的建议,希望后来的小伙伴也有所收获。

创业几年,其实对我影响还是比较大的【后面单独分享哈】,首先培养学生这件事情,我希望能够流程化,标准化,这样也算是提高我自己ROI的一种方式。也欢迎新的朋友加入到我的知识星球【白话机器学习】(前20人免费哦,如果需要收费的话,可以加我微信:KKuan996,我再退给大家),在AI主导的这个时代,一起起飞。

在几年前,也写过一些关于入门机器学习/深度学习的一些建议,有些内容已经过时了,今天也算是进一步更新一下。

之前的文章链接:

做算法,如何进行文献整理和文献阅读? - 知乎

写给那些准备入坑机器学习、计算机视觉、深度学习等相关领域的人,包括:读研、转行等不同人群,同行勿喷 - 知乎

好了,闲言少叙,进入正文。

首先,其实我想讲的是,并不是所有的人都适合做学术。没错,我其实是劝退党。做学术,我觉得比较重要的一个特质,就是要敢想,也就是大胆想象,小心求证。当前,除此之外,就是长时间的、持续的积累,对相关领域和不相关领域的关注,持续跟进。你要知道,如果你out 1-2年,可能整个学术的发展你可能就错过了一代。所以,我们日常的工作,就是关注Arxiv、Paper with code,以及一些突然火起来的技术,比如:3DGS,Mamba等。顶会的文章一出来,肯定是第一时间跟进的。以上讲的是高阶版,后面在详细讨论,今天先入个门再说。

我觉得第一重要的并不是基础的问题,是学习的态度。如果想要做机器学习这个方向,个人觉得前期学习的态度是非常重要的,尤其在入门的阶段,一定是痛苦的,你会发现以前学过的高数忘了,概率统计忘了,线性代数以前学的都是啥???需要重新恶补很多的数学知识,机器学习的知识,关键是,好像有些还看不懂,听不明白。我想告诉大家的是,这个都是正常的,想当初自己刚学计算机的时候,还问过什么是“网游”这种愚蠢的问题,学习机器学习的时候,一度不能理解两个分布的相似性是咋计算的,PR曲线是什么鬼东西??英语水平也是不忍直视,这不还是咬牙坚持过来了。雨过就是天晴。当然,这个期间是无数次厚颜无耻的找人请教,一次次的通宵达旦看论文,写代码,读代码,看别人写的博客,看博士论文【中文内容好对齐英文的含义】。注意,我这里讲投入的时间和精力,并不是无效的投入,我们在看问题,思考问题的时候,一定要想办法掌握底层的道理,物理的含义,正所谓一通百通,掌握一篇文章,一个方法不是重点,我们要想办法跳出来,从更高的维度来看,这个方向的发展本质是什么样的,这个技术是忽悠人的还是真的靠谱的,是否在其他相关的领域也能用上,它解决到底是什么科学问题等等。哇,这时候肯定有同学在想,老师你怎么在讲哲学???怎么落地啊?老实说,一言两语真的讲不清楚,关注我【微信:KKuan996】,(一波硬广),后续慢慢更新喽~

还有一个很关键的点,不懂就要问,找懂得人问,找老师问,也可以找我问,不耻下问。学到了就是你自己的,怎么都不亏。

我们再来讲讲基础。工欲善其事,必先利其器。由于我自己是从13年开始做算法,机器学习,经历了传统的特征工程,优化理论以及后来的深度学习整个发展历程。现在传统的特征工程用到的内容已经不多了,不过优化相关的内容还是少不了的,毕竟发一篇文章都得好好设计下loss函数。关于基础的问题,我个人认为核心还是功夫用在平时。当然,前期的一些铺垫还是有的。这里我推荐几门课程,大家可以尽快抽时间看掉,关键是找感觉,不是一步步磨磨唧唧的去理解里面的公式,因为有些公式你就算推导出来,可能一辈子也用不上呢。推荐的视频,麻烦大家至少1.5倍速看,20个小时的视频,不是2天就看完的节奏么??如果你磨磨唧唧的看了一周,就要好好思考下,是不是摸鱼了(PUA一波)。开玩笑的,我的想法是先把视频看了,简单的内容先理解了,复杂的后面有时间和精力,觉得有必要,在重新看。我自己在看SLAM14讲,GAME101这类课程的时候,基本上就是快速看完,一定会有一些不清楚的公式,不过并不影响后面发文章,因为很多的理论基础,关键是理解它的物理含义,写文章的时候照搬就好了(其实,后面看文章的时候,又趁着下班路上1倍速看了2遍,但这已经是几个月以后的事情了),好了,干货来了:

  1. 首先你需要掌握python,这个B站上找个视频学习学习就好了。https://www.bilibili.com/video/BV1wD4y1o7AS/?spm_id_from=333.337.search-card.all.click(我随便找的,因为这个真的太基础了,随便看看,后面多写点代码就好了。别指望看看课程就一下子成神了,要是这么容易,神就不值钱了。想想自己本科的时候,做算法数据结构的作业,熬夜的样子,衰老应该就是从那会儿开始的。)

  2. 入门课程:(可以先学习 4 )

    1. 首先是线性代数,看麻省理工的,你会发现和我们本科学得线性代数好像不太一样,这个讲解的更加容易理解!!不再是停在做计算题的层次,是真的有用!!麻省理工公开课:线性代数_全35集_网易公开课

    2. 后来,我又找到一门很好的课程,最近在做CG相关的内容,又重新温习了下微积分:https://www.bilibili.com/video/BV1rY4y1P7er/?spm_id_from=333.337.search-card.all.click&vd_source=d711c9ccb39a288748c06045f413adbe

    3. 斯坦福机器学习:斯坦福大学公开课 :机器学习课程,这个就不强调了,NG的课程,学一学不吃亏。下面两个内容后面有时间和兴趣,可以一并学了,不同的大佬在解释相同概念的时候,会有不同的理解,也可以拓展你的思路,这个能够帮助你去 “大胆想象!!!”

      1. 周志华老师的西瓜书,这个对于机器学习整体的介绍还是比较基础的!!

      2. 另外,有精力可以看下,张志华老师的统计机器学习,机器学习导论:http://ocw.sjtu.edu.cn/G2S/OCW/cn/TeacherDetail.htm?id=471,这个课程涉及到更加深入的统计机器学习理论,看完以后你会对概率论有更深入的了解!!

    4. 再来学一些深度学习:https://www.bilibili.com/video/BV18h411r7Z7/?spm_id_from=333.337.search-card.all.click&vd_source=d711c9ccb39a288748c06045f413adbe (学生推荐的,我看了看标题,应该沐神的课,靠谱的)

咦,好像内容也不是很多嘛,对不对???

我感觉2周时间学一下上面这点内容不过分吧???拿出你们期末考试,一周复习(重头学习)的自驱力来,相信你们可以的。毕竟早点刷完基础的东西,就早点开始造火箭了!!哈哈

我接下来假设你们已经学完了基础的内容了,可以一起参与我们接下来的造火箭,造福人类的伟大事业中!

终于可以学点不一样的东西了!

唉唉,醒醒同学,想多了,总不能我干了10年的东西,你们2周就想追上???我是不是可以失业下岗了??好怕~~~

言归正传,看完上面的内容,在我眼里,大概是可以和你一起简单的交流了,并且可以做一些后续的学术上的工作安排了。

接下来就讲讲如何快速的找到一个热门的,好发文章的方向?

其实对于新人来讲,靠自己去找一个这样的研究方向,太难了。所谓的快速,是一个很虚的字眼,多快是快呢?从以往的经验来看,无非有几种选择:

  • 直接听老板(导师)的,这样的问题可能是Topic可能不是最新的,也可能不是自己喜欢的。当然,这样也是最快进入research过程的。前提是老板不是天马行空的乱搞,靠不靠谱的话,问问师兄师姐吧,毕竟他们可能更好的帮你去判断一下。当然,也不要担心什么,大不了做几个月发现不合适,在换方向。日子还长着呢,像我这么多年,不可能只搞一个方向,什么reid,ocr,text detection,image retrieval,2D/3D detection,multi-modal detection,pretrain,3DGS等等。

  • Follw实验室之前的工作,继续往下做。这个是一种比较合适的选择,因为实验室以往的一些积累的资源和经验是可以用上的,遇到一些问题,找找师兄师姐,他们还是可以忽悠几句的。而且,一些benchmark,数据等等都可以用上,可以节省不少的时间。

  • 热点方向,这里大家要清楚一个点,就是一个大的方向,往往又会细分为非常多的小的方向。我们往往会聚焦在某个具体的小方向上,针对具体的问题来进行research。具体要怎么执行呢?首先就是论文扫读,可以看下当年顶会放出来的一些相关的工作,整理下大概有多少细分的方向。对于这些细分的方向,去掉一些纯粹做理论研究的(如果数学好,有追求,不怕入坑,可以考虑),去掉一些消耗大量资源(A100随便用的,忽略这一条)的,重点看下实验部分,各大benchmark是不是已经刷到头了。在过滤掉这些之后,选择感兴趣的,或者1-2年内有机会落地的方向,这样后面就业比较好。最近比较推荐:3DGS、数字人相关的方向,或者大模型+相关领域,没条件的可以用大模型去生成一些长尾数据,有条件的搞搞大模型。AIGC的话,可以看看3D和长视频方向,就是费电费卡。

  • 用发展的眼光看待你在做的方向。带学生的时候,经常会讲一个词,灵性,就是我们在做东西的时候,要动态的去看待现在做的事情,如果有必要,该调整就果断调整。送大家一句话:“做正确的事情,而不是容易的事情”。

当你确定了一个想做的方向之后,接下来要如何做呢?

  1. 相关方向扫读论文,务必要搞清楚这个细分的方向目前有哪些方案,哪些解题思路,技术发展的脉络是什么,目前仍然面临的痛点问题,和它相关的方向有哪些,是否可以相互借鉴(举个例子,图像自监督工作非常多,是否可以在点云这边做一个类似的工作呢)?具体文献怎么查:https://zhuanlan.zhihu.com/p/69987858

    • 可以列一张表格,把各个工作梳理清楚

  2. 找到codebase,也就是baseline的方法,一般会选择最新的一些相关工作,并且容易扩展,然后复现实验结果

  3. 确定优化方案,这个是比较难的一个问题,需要伴随着在阅读文章的时候,思考这些方法本身面临的一些挑战和问题,并且需要扩展阅读一些相关的领域,看看同样的问题在其他领域上是不是有一些可以借鉴的思路。或者就是在这个方向上,做一些新的工作,比如:mamba很火,是不是可以做一个sparse-mamba的工作,用在点云3D检测问题上?3DGS很火,是不是可以合成一些多模态新视角的数据,或者做一些多模态数据的编辑?

  4. 可以关注一些report,比如:在B站上的VALSE,https://space.bilibili.com/562085182等,还有一些关于paper的解读,可以看看同样的工作别人是怎么理解的。看文章要思考底层的物理含义,才能一通百通。

讲到这里,又想提一下之前讲的,大胆想象,小心求证。所谓大胆想象,不是天马星空的乱想,而是基于已有的一些工作,有的放矢的想,大胆去关联。然后,尽快去coding,验证你的idea。

最后在讲个事情,不要觉得自己的第一个工作不好,idea不够完美,迟迟不动手。其实,完事开头难,我们需要先做出来,然后再去优化它,而不是在纠结中,空耗时间。想想,我自己第一个工作,论文写出来又大改了很多遍,在邻近毕业的时候,文章才投出去,中了一个2区SCI的期刊。然而,也正是第一个工作完成之后,带给了我很多信心和满足感。

大概先讲这么多。后续有问题,在更新~

最后,希望大家够能够找到一个合格的导师,找到一个自己喜欢并愿意持续为止投入的研究方向,多多搞paper,早日加入到造火箭的伟大事业中!

后续计划:

  • 推荐大家一些低成本合适的研究方向

  • 谈一谈曾经创业的感想和一些个人的看法

  • 聊一聊,学生气、职场转变的问题

  • 等等

好了,我很忙,就等大家催更了~~~~

这篇关于研一(本科生)刚入学,如何快速的找到自己的科研方向?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/718268

相关文章

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

v0.dev快速开发

探索v0.dev:次世代开发者之利器 今之技艺日新月异,开发者之工具亦随之进步不辍。v0.dev者,新兴之开发者利器也,迅速引起众多开发者之瞩目。本文将引汝探究v0.dev之基本功能与优势,助汝速速上手,提升开发之效率。 何谓v0.dev? v0.dev者,现代化之开发者工具也,旨在简化并加速软件开发之过程。其集多种功能于一体,助开发者高效编写、测试及部署代码。无论汝为前端开发者、后端开发者

嵌入式方向的毕业生,找工作很迷茫

一个应届硕士生的问题: 虽然我明白想成为技术大牛需要日积月累的磨练,但我总感觉自己学习方法或者哪些方面有问题,时间一天天过去,自己也每天不停学习,但总感觉自己没有想象中那样进步,总感觉找不到一个很清晰的学习规划……眼看 9 月份就要参加秋招了,我想毕业了去大城市磨练几年,涨涨见识,拓开眼界多学点东西。但是感觉自己的实力还是很不够,内心慌得不行,总怕浪费了这人生唯一的校招机会,当然我也明白,毕业

利用Django框架快速构建Web应用:从零到上线

随着互联网的发展,Web应用的需求日益增长,而Django作为一个高级的Python Web框架,以其强大的功能和灵活的架构,成为了众多开发者的选择。本文将指导你如何从零开始使用Django框架构建一个简单的Web应用,并将其部署到线上,让世界看到你的作品。 Django简介 Django是由Adrian Holovaty和Simon Willison于2005年开发的一个开源框架,旨在简

理解分类器(linear)为什么可以做语义方向的指导?(解纠缠)

Attribute Manipulation(属性编辑)、disentanglement(解纠缠)常用的两种做法:线性探针和PCA_disentanglement和alignment-CSDN博客 在解纠缠的过程中,有一种非常简单的方法来引导G向某个方向进行生成,然后我们通过向不同的方向进行行走,那么就会得到这个属性上的图像。那么你利用多个方向进行生成,便得到了各种方向的图像,每个方向对应了很多

CentOs7上Mysql快速迁移脚本

因公司业务需要,对原来在/usr/local/mysql/data目录下的数据迁移到/data/local/mysql/mysqlData。 原因是系统盘太小,只有20G,几下就快满了。 参考过几篇文章,基于大神们的思路,我封装成了.sh脚本。 步骤如下: 1) 先修改好/etc/my.cnf,        ##[mysqld]       ##datadir=/data/loc

SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频

摘要 我们介绍 SAM2POINT,这是一种采用 Segment Anything Model 2 (SAM 2) 进行零样本和快速 3D 分割的初步探索。 SAM2POINT 将任何 3D 数据解释为一系列多向视频,并利用 SAM 2 进行 3D 空间分割,无需进一步训练或 2D-3D 投影。 我们的框架支持各种提示类型,包括 3D 点、框和掩模,并且可以泛化到不同的场景,例如 3D 对象、室