Axi's Blog

Back

致新生的你Blur image

初版完成,大量资源 List 还没有给出,部分「暴论」因为缺乏补充资料以及补充说明略显突兀,后续会进行大量补充。

当你看到这篇博客的时候,笔者的大三生活已经快要结束了,期末考试已经完结,剩下的只有几篇实验报告需要去写,甚至往远去说,可能将来的去向也已经在脑海中形成了一个模糊的轮廓,一切都将尘埃落定,并且踏上一个新的起点。

而读者们,抱着审视的态度来看这篇文章的 Seniors,以及希望从中获得一些知识的 Juniors,这是我这三年的感受,关于如何在大学中找到自己想要做什么,找到方向以及自己的爱好,假如你恰好喜欢做学问,那么如何做研究,如何看待这一切,在这个奔涌的时代面前如何去适应一切,我会给出一些我的看法。

前言#

关于向新生做一些介绍和科普的事情,如何去规划自己的大学生活,如何适应大学的节奏,假如你是想要升学,想要「卷」,那么应该按照什么顺序去做什么,这些内容我其实做过很多。

我在不同的班会上给目前大二以及大三的同学们都进行过一些分享,以及在学组的研讨中,也给大一的同学带来了一些自己当时的想法,当然时过境迁,我对一切又有了一些新的视野和新的看法,所以打算写这篇博客。

其实讲实话,之前的一些学习心得或者总体的方法论,我在另一个网站中其实有过一些介绍,就是我搭建的西安交大生存指南。这其实更像是一个 wiki 一样的内容,里面大大小小塞满了我各种的私货。

在某个时刻,我看到其他学校的类似搭建,于是萌生了这个念头,并且凭藉着当初远超现在的执行力,搭建了那个网站。当时我还相信开源社区的力量,事实上这也确实是一片热忱的土壤,然而总归大多数的人是消费者而非生产者,网站获得了数万的浏览量,但是投稿者寥寥无几。

我逐渐意识到,搭建一个大而全的生存指南网站是不现实的,而我当初的视角也存在一些偏差。实际上对于目前大三年级的同学们来说,我甚至可以说80%的同学都没有在 Github 上给一个公开的项目提交过 PR,而人们总是对于没有做过的事情充满畏惧,难以参与贡献流程。和计算机非常相关的专业尚且如此,更遑论广大的文科或者理科的专业呢?

因而西安交大生存指南中充满了我的一面之辞,而我的视角总是有限的。相对来说我可以这样定性,我在大学的三年时光中更多的是学会了如何「卷」,而恰好科研以及各种技术也是我的兴趣所在,因此对于更广大的对学习弃之如敝履的同学来说,对于如何学习竞赛和科研的长篇大论并不在他们的兴趣范围内,而如何在这些课本与屏幕之外的丰富生活中获得乐趣,显然并不在我的认知范围之内。

更何况不同专业之间的「卷」度也是有区别的,这取决于专业内部的升学压力以及整个专业的学习节奏。

对于人工智能来说,大一或者大二进入课题组实在是家常便饭的事情,而即使读者甚至整个年级都排斥这种现象的出现,大环境不等人。一方面做出科研成果的门槛在不断下降,一方面全部的学校中具有前沿视野的同学都在进行着率先科研的军备竞赛,在这样的浪潮下,很难有人可以幸免。

然而对于不少的文理或者医学的专业来说,学好课内的知识已经是需要做到的全部,当然这也不意味着轻松,看着我女朋友医学考试的大部头资料,我每一次都不禁感慨,她可以坚持下来每一次复习和考试,简直是一个奇迹。

因此,在一个面向全体学生的百科全书式的内容中大谈进组科研的必要性,显得有些不切实际,且缺乏「泛化性」。

这使我萌生了写作这篇博客的想法,其中一些学习的方法论和节奏是对于之前西安交大生存指南的复刻,另外更多的东西则是专门为本专业而写,不只是如何学,如何科研,也包括你需要认识到自己需要的是什么,因为人生不只有一条路,甚至说,通往成功的人生也不止一条路。

濒临奔溃的本科教学#

你好,欢迎来到西安交通大学。

假如你已经决定正式入学西安交通大学,你也就抛下了之前十八年来所积累的大多数的成绩,无论你来自于哪个省份或者哪所重点高中,现在一切退回起跑线,我们不得不重新开始。

事实上,在人的一生之中,除了掌握的知识与能力之外,很少有什么能够始终伴随我们的一生,成绩更是其中贬值的最为迅速的一项。

读者在来到这里之前,无论是从哪里听说了本篇博客,可能都不免同时听说过本校一些不好的传闻,而这些事情多半是真实的。笔者无意在这里批驳教务系统的低效,教学的质量参差不齐,又或者是基础设施的缺乏、学生间的压力的扩散,正如《上海交通大学生存手册》说的那样,「国内绝大部分大学的本科教学,不是濒临崩溃,而是早已崩溃」,更加遗憾的是,我们可能崩溃的更加严重一些。

假如说揭开高中时期对大学自由生活的美好滤镜,读者可能难以接受在此之下掩盖的是怎样的一幅图景。同质化严重的课程以及大多以念PPT为主的讲师,莫名其妙的教学要求带来的无意义内耗,绩点为王的氛围以及繁多的考试,学生们被混乱裹挟其中,然后很快的经过一个人生的分岔路口,从此在“卷”与“摆”的道路上一骑绝尘。

一个可以透露的统计数据是,再比你们大三届的 2022 级中,大一结束的时候学分绩的中位数才仅有88分左右,而在两年之后的2024级,这个数字已经一越到了90分以上。考试难度的波动以及教学方案的调整带来的影响确实不可忽略,但是学生们在笔头下的功夫确实肉眼可见的增加了。

在繁重考试以及绩点排名压力的背后,是AI浪潮的席卷。伴随着 ChatGPT 的横空出世,全世界对于人工智能的期冀,连带着学界加快研究节奏的热忱一同高涨。在比你们大五届的2020级,本科生第一作者身份发表顶级会议的最早记录是大三下学期,而且两年之后的 2022 级,这个记录被笔者刷新到了大二下学期。放眼全国,在大一发表顶会甚至 spotlight 或者 oral,也很难说是一件稀罕事。

在本科培养方案的规划下,假如读者继续按部就班的一步一步学习,直到大三上学期才会开始介绍计算机视觉以及自然语言处理,而课程的内容涉及的技术多半来自上个世纪或者五六年前,而对于当下最时髦且流行的技术则鲜有提及。事实上在国内即使是最顶尖的大学诸如清华北大,也很难规划出让学生可以在大一发表顶会的培养方案。

因此对于那些希望在学术体系下做出一番成就的读者来说,如何达到这一目标,那个答案已经昭然若揭,脱离这套已经生锈的、难以跟上科研节奏的本科教学体系。

学问的学问,生活的学问#

对于那些早已经对科研跃跃欲试、摩拳擦掌的读者来说,后面的内容定然具有一番参考价值;那些还憧憬着大学美好生活以及多元发展的读者来说,则不免微微皱起了眉头。

笔者对于科研的执着以及描写无疑是对焦虑的渲染,然而也别无他法,笔者的大学三年时光主要就集中在这一系列的探索之中,也难免将其作为重点,而但凡皆为同好的读者看后,必然也能感同身受的给予认同。不过在开始对于如何做学问的学问长篇大论之前,还是有必要先讲讲生活的学问。

一组简单的数据可以作为参考,正常一家三口买菜做饭,一天的开销大约是五十元;一线城市一居室公寓一个月的租金大约是三千元;本专业的同学在本科可以获得的实习工资大约在每天两百元或以上;C9 应届毕业生的工资在一万元左右。

善于观察与思考的读者不难获得一个答案,即在本专业中获得一个像样的学位,养家糊口,并且培养自己的兴趣爱好并非一件难事,而投身科研之中,消耗大把的时间进行研究,可能会让你放弃几乎全部的课余休息时间,然而结果依然是抽奖以及千军万马过独木桥,换来的薪资确实更高,但这是否是你最后想要的生活依然是一个问号。

每天按部就班接受培养方案的教育,认真听讲做笔记,完成作业,在考试中取得好成绩,这是一种活法;参加机器人竞赛,或者其他的团体活动,和队员一起起早贪黑磨练技术打磨能力,在激烈的角逐中取得优胜,这是一种活法;投身科研之中,加入国内外顶尖课题组,发表论文,交流学术,这是一种活法。然而对于圆满与美好的定义总非是狭隘的,和好朋友们加入二次元社团,每天在欢声笑语之中度过,在考试前三三两两聚在一起研究如何低分飘过期末考试,然后畅想假期一同的出游,这也是一种活法;或者只是一个人默默的学习,学到够用为止,找一个自己的爱好,又或者干脆就漫无目的,在校园里投下阴影的梧桐树下行走,偶然间走到思源活动中心的南门,那里没有枝干的遮挡,那片湛蓝的天空是那样的动人,霎时间豁然开朗,这也是一种活法。

假如我们为了薪资或者前途发展功利去看,并且选择一种期望值最大的途径,那么几个月后将有七八十名都读过本篇博客的同学一同踏入这个学校,手握相同的武功秘籍,陷入水深火热。

不过实际上反直觉的是,利益最大化绝非大多数人对于成功的定义。设想科研这条路走到最后是怎样一副情景,你成为了某个学校的教授或者企业的 CTO,手下几十或者上百的学生老师以及研究员,每天早上起来一杯咖啡,然后阅读论文、开会、讨论,为你的组织拉取资源,思考将来前沿的方向,然后在忙碌奔波中度过一天,你能否想象你的面孔出现在那个模糊的身影上,那是否是你想要的生活,而且假如不是,如何达到那个你的梦想,这是一个留给每个人思考的问题。

Learn to learn#

在传统的机器学习话题中,有一个概念叫做元学习,meta learning,有的时候也被称为 learn to learn,学会如何学习。虽然事实上这一领域中的绝大多数内容都是通过梯度传播来改变那些本来固定的超参数,在当下的应用场景也着实有限,然而这个概念本身却一直被学界所重视,并且在此之后的如持续学习等领域也都继承了这一思想。

学习如何去学习这一内容在人们心中是如此被看重,大概还是由于在人的成长与发展中学习是最不可或缺的一环。在本科的教育中学习那些培养方案中的课程,在竞赛中你学习那些课程之外的技术,在科研中学习那些前沿的论文和思想,而哪怕是在生活中,如何交往如何沟通也是关键的一环。

在这个章节中笔者会介绍几个关键的学习心法,一些是在课程学习中适用的,一些则在更广泛的学习场景中都具有价值,希望可以给读者带来一定的启发和帮助。

信息差#

我在大一结束的时候,有不少的新生前来向我请教,包括学习社团生活科研竞赛的种种经验,我当时便放出过这个论断,大学最大的差距不是天赋,不是努力,而是信息差。

不同于高中生成长路线的单一,及拜诸多辅导机构所赐,网络上或现实中均充斥着大量的有用信息,大学的信息依然繁杂,但是质量却参差不齐。

笔者在一个没有很多人指导的环境下独自摸索,踩过很多坑,也做过很多错事,回头来看,很多的努力和付出并不是必要的,而在一个追求快节奏的时代里,如何从这些庞杂的信息中识别出路径,并且在诸多路径中挑选到最短的那一条,毫无疑问是一个有价值且意义重大的学问。

在后续具体的学习方法中,将会有笔者这些年来积累的信息的汇总,而在这里让我们着眼于这抽象的思想,简单思考下如何减小信息差,并且获得到更多的信息。

对于绝大多数的减少信息的方法,我们可以粗略划分为两种类型,一种是提问,一种是搜索。

提问的艺术#

当你明确了你的疑问,明确了你想要获得怎样的信息,提问是最快的解决问题的方法。提问的关键有三点,如何形成正确的问题,如何找到可以回答问题的人,以及如何整理答案,并且从中获得你需要的内容。

正确的问题#

排除少数的有偿咨询之外,绝大多数的提问是无偿的,而这往往意味着提问者没有付出任何代价就获得了自己想要的内容而被提问者则没有收获任何价值,而付出了时间和自己的知识。在这种不平衡之下,意味着提问者需要向被提问者表达最基本的尊重。提问的艺术是起初源于黑客社区的册子,里面讲述了新手如何向老鸟获得答案的方法,而这其中的内容极具参考价值,笔者也强烈推荐每一个读者去将其通篇阅读,这会为你将来的提问之旅带来更好的结果。

简单来说,提问的艺术中要求提问者需要向被提问者准确描述自己的状况,自己的需求以及目前已经尝试的方法,并且在获得自己需要的答案或者获得了帮助,即使并不是自己需要的内容后都表达感谢,这是最基本的尊重的体现。对于那些乐于回答别人问题的人来说,他们很喜欢一个好问题,并且愿意为之付出大量的时间,因为这不仅可以帮助到提问者,也可以帮助被提问者整理自己的思绪,对这个问题产生更深刻的认知。然而相对的,假如读者希望被提问者可以花费十分钟回答自己的问题,毫无疑问自己也有必要花费十分钟来准备自己的问题,这才是公平的体现。「我具有不错的课内成绩,现在正在抉择是参加机器人竞赛还是直接参与科研,我在网络上搜索了一些科研的知识,感觉具有比较高的上手门槛,而且领域繁多,我不知道如何选择,所以想要询问你的意见」,并且在提问结束后说上一句谢谢,听上去总比「怎么变成像你一样的人」,并且在获得回复之后已读不回听上去要好的多。

正确的人#

相比起来形成一个正确的问题,这种只需要勤加练习,并且付出时间的事情来说,找到合适的人总是一件更难的挑战。

对于人的信息的积累是一件需要持之以恒的事情,并且鲜有捷径可走。了解每一个人擅长做什么,对什么的理解深刻,并且在哪些方面可以帮到自己,在日常的交流中读者需要细心注意这些内容,并且记在心中。一个好的开始是在阅读读完这篇博客之后,对于自己不懂的地方向笔者提问,不过在这里依然有一个小小挑战,毕竟有的时候你不仅需要知道你需要向谁提问,还需要知道你怎样才能和他取得联系。

搜索与整合#

除了积极的提问,从搜索引擎以及各路论坛讨论中获得信息也是一项十分关键的技能,而甚至对于一些技术问题来说,也只有在那些深奥的技术文档和技术论坛中才能获得答案。这是一项十分后期的技能,不得通过这种方式获得信息的时候,意味着你在这个领域已经打磨良久,并且有必要具备更 Senior 的能力了。而在此之前一些视频平台或者诸如知乎的社区,也可以给你理想的答案。

不过在三年以前,这个回复显然是唯一的正解,但是时过境迁,伴随大语言模型的兴起,面对搜索这个困难的开放性问题,显然有了不一样的答案,那提问与搜索集合成一体的究极答案,向大模型提问。

得益于大语言模型经过的大量预训练,海量的互联网信息被它整合在自己的权重中,这意味着你可以通过日常的对话,就像和一个好朋友聊天一样,获得绝大多数你需要的信息。

有的时候你需要学会辨别信息获取的边界,那在互联网上广泛存在但是可能稍显晦涩的内容使大语言模型输出的强项,而加入这些信息,根据实效性或者出现频率较低,则可能传统的提问与搜索才是更好的答案。比如说如何学习Python这门语言,向一位及时已经深谙到多年的学长进行数小时的提问,倒不如和大模型在对话中持续学习来的更有效率;而西安交通大学人工智能专业历届的保研比例和分数线,无论你用何种口吻或者要求向模型提问,他都很难给出正确的答案。

同时不容忽视的是大模型的幻觉问题,也就是模型输出的内容往往不一定是完全真实的,对于那些可以通过实践验证正确性的内容,最好的做法应当是立刻将之付诸实践,并且检查正误;而对于那些包含事实性内容的答案来说,将模型的输出粘贴到搜索引擎并进行二次确认,毫无疑问是更好的做法。

读者至少需要学会如何向DeepSeek或者Qwen这样的国产模型提问,进一步了解如何访问并获得国际上最前沿的模型服务,如 ChatGPT 或者 Gemini,则是更加进阶的做法。当然,这些内容会在后续的详细阐述中有更具体的体现。

持续学习#

假如读者喜欢学习新技术,那么描绘无数种广袤的前景是不难的事情。读者可以学习传统的前端后端框架,搭建非常炫酷的网页(比如本博客就是在模板的基础上加入了大量自己的修改形成的);也可以深入 Linux 系统,折腾 ArchLinux,搭建美观且实用的开发与生产环境;也可以苦练算法,了解那些前人创造的精妙思想,并且在算法竞赛上一较高低;或者学习大模型的一系列技术栈,训练自己的模型,并且在科研上有所建树。同样的路还有无数条,学习计算机图形学了解渲染的机理;学习 CPP 或者 C# 之后用 Unity 或者 Unreal 搭建自己的独立游戏,甚至参加 GameJam,和其他开发者们即兴创作;甚至是研究 TCS 或者计算机体系结构,有趣的知识是无穷的,等待着你的探索。

经过了笔者的一系列报菜名中,那些热爱学习的读者心中不难涌现出一团烈火,想要用自己有限的大学时光,充分了解这些技术,把自己发展成一个更强大的人。但是在经历了无数学弟学妹的请教以及后续的观察之后,笔者不得不得出一个结论,在绝大多数时候,兴趣所带来的学习动力都是不能持久的,然而只有持久的学习才能让你真正掌握某个技能。而这一切的关键在于正反馈。

记笔记是一种正反馈#

记笔记是笔者推荐的一种极佳的学习方法。

笔者不了解读者在高中期间对于记笔记的看法,例如是否会在复习的时候回顾这些笔记,或者认为记笔记是否是一种累赘,但是在高中的生活中,笔者从来没有记过一行笔记。

尽管如此,笔者依然推荐在大学期间使用记笔记作为最核心的学习方法。

一种广泛的论调是,大学的学习以自学为主,这一点是不可置否的,而在自学的过程中,能否让自己获得持续学习的动力,这成为了自学过程中最关键的一环。

一种常见的现象是,每每开学,无论之前在高中,还是如今的大学,都有很多同学向笔者咨询学习相关的事宜,仿佛准备大干一场,在学业中一展宏图。而在开学两个月之后,一般他们的朋友圈或空间便被二次元或者现充生活占据了,而全然不见当初的拼搏模样。有时候学习的难点并不在于如何高效的学习,反而在于更为基础的一点:如何坚持学下去。

假如并非十分自律的人,在学习的过程中,毫无疑问,正反馈是十分重要的。适当的正反馈不但可以让读者有学习的动力,也可以让读者保持学习的节奏。

令人遗憾的是,在大学中,正反馈往往不是如此的常见。在不经常存在考试,甚至课程质量良莠不齐的大学当下,在学习中获得的反馈是十分难得的。更加经常的情况是,你有数不尽的内容可以学习(学完课内可以拓展课外知识),但是每每学习结束之后你并不知道自己的学习是否为自己带来了改变,这与高中阶段学习少量的内容,但是在重复性的刷题以验证自己的学习成果不同,而一味地向前冲有时会带来迷茫,从而让读者失去兴趣。

关于笔记的用处,不排除一些人通过记笔记起到加深记忆,以及获得一手的复习资料的作用,但是在此之外,记笔记也是一种记录,如日记一般,可以告诉读者:“我今天学习了很多内容”。

故也便不难阐述记笔记带来的正反馈了。事实上,正反馈的缺失往往来自于难以对自己的学习成果带来一种定量的总结,这是显而易见的,因为并不存在大量的考试,而学习的内容也远远多于考试的内容。但是通过频繁的记笔记,笔记的字数以及内容的积累可以带来一种最为直观的反馈,尤其是当读者自己的笔记从千字到万字再到数十万字的时候,便可以很明显的感知到,如今的自己已经今非昔比。

在后文中,笔者会介绍自己使用的工具流。也就是 Obsidian,以及使用 Markdown 进行记录笔记。使用Markdown 进行笔记的记录是一件非常常见的做法,这一属于程序员的记录语言提供了极佳的记录效率以及内容的规整性,而在如今的编程世界中,基本上全部的文档,包括本篇博客的背后都是 Markdown 正在书写。

一条精心设计的路线#

尽管我们有了记笔记这一带来正反馈的利器,但是在学习的过程中依然可能存在不少的挫折,使得读者难以集中精神,或者最后也会半途而废。

怀着满腔热血冲进一个自己喜欢的领域,即使自己一无所知,但是闷头苦学,这种想法毫无疑问是不可取的。事实上每一个领域,伴随着它涉及的知识与你目前掌握的知识面的交际越来越少,越来越多的内容将涉及不断地自我递归式的学习,即对于自己不懂的内容进行查询,然后再将查询内容中不懂的内容进行查询,以此类推,直到了解整体的知识脉络,只会让你的学习负担越来越大。

没有了解全貌,就难以进行笔记的记录,至少对于大多数人都难以提起兴致。因为内心清楚自己对于这片知识还没有完全掌握,梳理出来的记录也并无章法可言,而笔记的疏离有进一步带来了正反馈的缺失,从而影响了学习的节奏。

在学习之前,有必要详细了解自己需要学习的领域。就像之前所说到的那样,你需要通过提问或者搜索来让自己先了解某个领域的学习内容,以及如何阶段式的完成一个一个目标。尽管其中的很多中间状态并不是我们目的所在,但是阶梯式的划分有助于成就感的增加,而且在前人基础上总结出来的阶梯会使得学习更具条理性,进一步降低学习的门槛。在后文中会详细介绍人工智能这类专业如何进行详细的阶梯式分解,并且假如上且有余力,给出一些其他的领域的介绍。

认识效率#

事实上,效率带来的收益,远大于读者的想象。用一个简单的例子来说,线性代数大学几乎是必修的课程,按理来说,需要整整一学期来进行细的学习,但是事实上他对应的课时也不过几十小时,而排除掉那些老师重复复述内容来让溜号的同学也听清楚的段落,以及开启二倍速的播放之后,事实上,每天只需要半天的学习时间,坚持一周就可以完成这个目标。

永远相信当你集中注意力的时候你可以完成的事情,一周实际上能做很多的内容,只是你是否会利用而已。在目标完成了一部分的时候,每一个人都会产生一种临时的满足感,并且认为自己只要继续保持这个势头就可以在自己的预期内完成某个目标,由此产生的懈怠则严重拖慢了进度,从而使得那些本来可以更快完成的内容,并没有维持他应该有的速度。

一个好的主意是像记录笔记一样记录周记,每周回看一下自己这一周发生了什么事情,自己做到了哪些东西,学会了哪些新东西,并且相较上一周,在解决自己的主线或者直线的核心问题上有没有本质的推动。只有在不断地 look back 和 look forward 之间切换,更大发挥你的效率,才可以获得更快的进度。

人工智能的学习路线#

看完了上述啰嗦的长篇大论,那些对于看似读者早已经了解的技巧和知识的反复强调,我们终于来到了这些充满干货的环节,尽管实际上在我看来,上述的心法才是重点。那些可能你认为是废话的内容,正是因为我在反复强调,所以你有必要在学习过程中反复回看,注意自己是否真的做到了,而无论如何,在一段时间过后,再度回看你的学习过程,也很难不由衷的感慨这些内容在学习过程中的重要性。

说回学习路线,对笔者当前的阶段来说,大概是对于人工智能的某个领域(具身智能)十分了解,并且在其他领域也进行过非常广泛的阅读,在 insight 上面通过和别人的讨论也可以具有一定的深度。

尽管笔者对于自己的一些思想具有一些信心,但是可以肯定的是我的分享也是具有局限性的,毕竟假如说作为一个完美的指南,那么笔者想必也已经是在学术圈叱咤风云的大佬,然而事实是笔者虽然相对领先,但依然有所不足。其中一个明显的不足在于笔者目前的绝大多数工作都是所谓的独狼型科研,也就是在论文的整个过程中,笔者承担了绝大多数的工作,而并没有和合作者均摊任务,并且达成更良性循环的合作关系。

在科研中,假如硬要和考试应试对比,不可忽视的一个重点便是在于其允许的团队以及资源不平衡的现象,也就是即使你的个人水平很强,但你一个人同时没有资源而尽力去做,而另外一个团队只有七八人甚至十几人同时工作,即使他们人均水平远不如你,但奈何人数众多,且资源广集,最后项目的成果自然远好于你,那么他的论文可以中稿而你的不能,也自然无处说理。毕竟效果以及方法是一切的关键,但是至于你是怎么得出这个方法,或者你在背后付出多少努力,这些东西还是留到成功之后在talk上漫谈时不经意间讲出吧。

因而如何通过社交结识更多具有能力的合作伙伴,通过合作,充分实现你和他人的创意,做出更多有影响力的工作,并且利用共同的计算资源以及其他资源,这是一门不得不学的学问,相应的经验,欢迎大家在评论区补充。

回归正题,让我们正式开始学习路线的分享,我们假设你是一名之前仅受到高中教育,没有接触过计算机相关内容的大一新生,以下内容你只需要按照顺序去学便可以从中获得收获,而对于那些更有经验的人来说,以下内容也可以作为一个 checklist,看看有什么内容是你还没有涉及的,假如有什么更好的选择和建议,欢迎评论补充。

值得一提的是,由于是学习路线而非大而全的指南,因此比如说在练习某些课程的时候,我会首先给出我推荐的内容正常情况下,你需要把推荐内容学完即可,而不需要涉及任何拓展知识。它们的知识点大致都是同质化的,假如想要展开研究或许可以,不过在这个节奏下,先掌握必须的要点,并写在实践中查漏补缺或许才是真理。

当然在此之前,你需要学会如何访问谷歌,假如你不知道方法,问问身边的朋友,这是一切的起点。

基础数理知识#

无论是什么理工科,事实上都是建立在最基础的数理知识之上,也就是以高等数学、线性代数以及概率论为代表的这三门科目,他们也是每个专业在大学期间的必修课。

网络上存在着大量的相关课程,假如有条件的话可以观看 MIT 的相关课程,即 高等数学-18.01高等数学-18.02线性代数-18.06

事实上尽管在网络上对于国内教材的批判呼声很大,但是对于了解以及学习来说,其实无论是哪些教材或者课程并没有本质的区别,只要认真学都可以熟练运用。有的时候我们要将课程知识当作工具而非一种艺术,对于这种起步时需要学习的基础知识尤其如此,在课程学习中患上「收集癖」,还没怎么开始学习就在挑选课程中看花了眼,不如花上一周先学完再说。

在这里笔者推荐 宋浩 的相关课程,属于按照国内课程的教学大纲进行的常规讲解,尽管说不上鞭辟入里,但是胜在详细。同时对于线性代数这门可以理解为几乎最重要的数学课程,同样推荐读者观看 3Blue1Brown 的相关讲解

认识你的电脑#

对于电脑小白来说,一般还是建议首先使用 Windows 电脑,假如没有玩游戏的需求,购买一个商务本即可,一般来说对于较重的渲染或者作业任务,在后期都是直接在服务器下运行,而不需要本地的计算资源。

本地的办公环境还是要保证一定的轻便性,而由于在此之前绝大多数的读者对电脑的使用环境均是在 Windows下进行,并且网络上对于 Windows 的资料远大于其他系统,因此建议选择 Windows 作为自己第一台电脑的操作系统。

假如读者已经领悟了便捷开发的重要性,并且具备一定的电脑使用能力,或许可以考虑使用 Mac。与此同时在本电脑上在后续也可以选择加装 Linux 作为双系统,以进一步提高生产力,并且贴近实际的开发环境,然而这一部分内容并不属于新手,将在后续展开说明。

对于之前电脑接触不多的读者来说,可以阅读 你缺失的那门计算机课 来进行一些基础知识的扫盲,其中的前几个篇章都很有阅读的必要,而超越篇作为科普读物也尚且可以。假如读者不是对自己电脑的基本功绝对自信,也同样建议扫一遍目录,学习一下基础使用。

对于电脑的基本熟悉流程,预期在三天之内完成。

Markdown,记录你的笔记#

在正式学习某些专业知识或者编写程序之前,了解并学会使用 Markdown 可以说是十分重要的技能。

简单来理解一下 Markdown 是什么。按照官方的说法,Markdown 是一种轻量化的标记语言,将带有特殊标记的纯文本转化为可以直观显示的 HTML 或者 PDF 文件。因为其便捷的特性,事实上当前互联网中绝大多数编程的文档,Github 上面的 README,甚至是本篇教程,都是使用 Markdown 完成的。

以下是一个简单使用 Markdown 的示例:

## 这是一个二级标题

### 这是一个三级标题

- 这是一个列表
- 这是一个列表
markdown

可以被渲染为:

Markdown 示例

我们不难简单理解 Markdown 流行的原因。在了解 Markdown 之前,读者可能接触最多的两类记录文本的内容分别是记事本以及 Word。记事本没有任何的渲染功能,作为临时的记录尚可,但是一旦要整理成可视化更好的文档便有点难以胜任了;而 Word 虽然功能强大,但是第一在于微软将其闭环,一般来说必须使用其软件才可以打开对应的文件,并不具备这类软件的机器上难以显示。同时相较于简单的纯文本,Word 对于正常的文字记录需求有些太重了。

读者不妨回忆下自己使用 Word 的需求,一般来说也就只有改变字体,以及设置不同的标题和插入图片超链接,大量 Word 涉及的丰富功能往往为出版行业使用(事实上在这一方面,LaTeX 是更好的工具,将在后面进行介绍),而我们需要的其实很简单,完全没有必要等待漫长的软件打开时间以及安装庞大的软件。当我们渲染文件的需求移动到了服务器上时,这一劣势变得越发明显,

通过 Markdown 官网,读者可以了解 Markdown 的全部语法,虽然说是全部,但实际上也非常简单,基本上两三次之后就可以熟练使用。同时尽管这些标记符号十分清晰,一个可以实时将这些内容渲染为可视化的文档的软件依然有必要存在,在这里推荐 Typora,作为专业的 Markdown 编辑工具,可以从外面导入不同的外观模板,同时对于导出 PDF 可以做到所见即所得;而 Obsidian 相较于 Typora,导出的内容和软件中的呈现并不完全一致,不过其对于双向链接的支持,可以使得你使用特殊的语法连接不同的文档,并且构建属于你自己的知识库,这也是上述提到的记笔记软件中笔者的首选推荐。

作为我自己的一个参考,我同时使用这两个软件,在面对常规的课程作业的需求时我使用 Typora 撰写文档并且导出美观的文件,而整理个人笔记及自身的一些记录时则使用 Obsidian。

VSCode,Not IDE#

在学习了基础的数理知识,并且了解了如何整理自己的知识库之后,接下来我们终于可以来了解首选也是唯一的那一把属于程序员的瑞士军刀,VSCode

假如读者刚刚开始接触编程,往往不难经常听说一个词汇,也就是所谓的 IDE,对于 C++ 来说,Visual Studio 以及 CLion 都是属于这类的内容。在 IDE 中,软件内置了需要开发使用到的全部环境以及众多额外的高端开发工具,但是缺点也很明显,太重。试想一下一个软件巨大,功能繁杂,并且就大多数功能你都用不到的开发环境,我们还是提出那个基本的需求,极简的满足我们要求的开发环境,所以全世界绝大多数成员的首选,VSCode 应运而生。

要是用某一个词汇去形容 VSCode,那么文本编辑器可能是比较贴切的之一,VSCode 并不支持任何的编程语言,也就是在你下载了它之后,你并不能直接在里面编辑并且运行 C,也不能直接运行 Python,本质上它只是一个文本编辑器而已,而恰好我们说的这些编程语言的文件都是直接的文本,只是后缀名不同。

VSCode 实际的工作原理是将你本地配置好的环境和它自身的插件结合在一起,你在本地具有 Python 环境,同时你在 VSCode 中安装了 Python 插件,那么你就可以具有直接运行程序,实现代码高亮,错误提示在内的一系列功能。

诸如此类,我们不难想象这样一个场景,当我们在本地分别为各种语言配置好了环境,并且为我们的 VSCode 安装了插件,那么一个兼容无数编程语言的强大 IDE 就诞生了,而且还很简洁。当然假如你有额外的需求,也不用担心,再安装一个插件就好,VSCode 具有极其庞大的社区,开源社区为其制作了无数的插件,可以覆盖你的绝大多数需求。

关于配置环境,籍贯我们如此描述,并且形容了 VSCode 的诸多好处,在 Windows 配置环境对于新手也绝非一件简单的事情(当后续我们介绍 Linux 的时候这一差距会变得更直观),因此在这里给出教程链接。对于 C++,可以见 这个链接;而对于 Python,我们建议你配置 miniconda,见 这个链接

Chat with LLM#

大模型出现之前学习一门新语言或者写一个项目有很多方法,你可能需要查阅文档或者论坛去找到一些在浅层搜索中难以发现的使用逻辑,然后再进行漫长的代码编写和 debug,其中可能还包括大量的重复性工作,但是大模型在出现之后,一切逻辑都被改变了。

对于国产的模型,读者可以尝试使用 Qwen 作为首选,或者使用 Deepseek,但是不得不承认的是当前 Deepseek 具有极大的幻觉率。在有条件的情况下,笔者依然推荐读者使用海外模型,对于处理大量内容编写,Gemini(Google 的模型)是一个好的选择,而 OpenAI 的 GPT 系列在本档写作的当下对于回复长内容显得极其懒惰,但是响应速度以及使用体感上尚可。这两个海外模型的会员费用都是二十美元一个月,对于学生党算不上便宜,但是在我的视角来看绝对是物超所值。

同时,伴随着大模型在代码编程领域的深度应用,代码补全插件应运而生,也就是在你输入了几行代码之后,模型会尝试理解并且预测你将来想写的程序,并且给出提示,此时你只需要按下 Tab 键就可以把它的提示应用到你的文件中。不过笔者在体验了诸多 VSCode 提供的代码补全插件之后,要是硬要说推荐,Cursor 是唯一的选择。

Cursor 并非一个插件,而是一个单独的软件,它的逻辑和 VSCode 完全相同,因为它实际上就是 VSCode 的套壳。VSCode 完全开源,也就是任何人都可以在它的基础上进行进一步的修改,而 Cursor 就是其中之一。它在其中内置了他们设计的代码补全以及写程序的流程框架,这套十分强大的流程远超任何代码补全插件的体验。要是用某种量化去描述,代码补全插件可以将我的编程效率提升一倍,而 Cursor 可以到三四倍,并且可以使我具有之前并没有能力做的,开发不了解的语言的小型项目的能力。事实上本博客的大多数代码也是在 Cursor 的帮助下完成了重构。Cursor 每月可以有一些免费额度,同时付费会员是二十美金每月,同样物超所值,并且假如你只有二十美元,我建议你为 Cursor 消费,而不是大模型会员。

学会与大模型交流是一件十分重要的事情,尤其是在一切博客或者教程的撰写者都带有一定的 bias 的前提下,很有可能在你作为初学者阅读的过程中就忽然发现了自己难以理解的全新词汇,在此之前你需要在网上搜索资料,并且尝试理解,而如今你只需要打开网页,并且询问模型:「用浅显易懂的话来解释一下这个词汇的含义」,一切就迎刃而解,包括对本博客以上以及以下的内容都可以这样对待。

氛围编程,编程是一种思想#

在诸如 Cursor 这样的 AI 代码编辑器兴起之后,一个新的概念开始出现,也就是氛围编程。作为氛围编程,无外乎就是使用文字的提示让模型去分你生成程序,但是其背后却隐藏着一个深刻的思想,那就是程序的语言本身只是外在,但背后的思想是统一的。

没有读者没有学过任何编程语言的情况下,理解这些抽象内容显然是复杂的,不同的语言也确实有不同的特性,但是对于基础的使用来说,其实都是通用的。比如他们可能都有变量和逻辑语句,都有类以及函数,都可以分文件编写,这些共同的特性组成了程序设计的思想暗线,也就是如何组织你的功能,如何将不同的模块进行封装,使得整体的项目便于维护以及继续开发,才是体现编程功底的地方所在,至于语言以及具体的语法,模型能完成其中的大多数,而尽管更多的需求要你在进行语言的学习,但语言只是工具而思想不变。

回到具体的语言学习,再根据上面的教程配置好开发环境后,读者大概率会面临本科教学中三大常见语言之一,也就是 C、C++ 或者 Python。在这里笔者并不会给出任何的教程,而是建议读者直接询问大模型并且获得答案。

编程是互联网生产力的根本所在,也是众多大模型企业集中力量去攻关的场景之一,每一个模型都无外乎具有速通你的本科语言课程的能力,而与模型进行交互式的问答,效果好过任何的单方面视频课程是显而易见的。假如你是需要满足课内需求,可以直接将你的教学大纲发给大模型;而假如只是想要去学习,「我想要学习 xx 语言,我现在是零基础,请先列出一个详细的教学大纲,然后一步一步教会我」,这是一个好的提问,也是一个好的开始。

同时在古早时期存在大量的所谓提示词,可以进一步强化模型的能力,而目前随着模型的能力不断变强,往往不需要提示词或者任何精心的设计,就可以让模型解决你的问题,因此也无需担心竭虑。遇到报错,直接将信息复制或者截图发给模型;遇到看不懂的地方直接询问;你想要的功能也可以直接让它去写,对于初学者的需求来说,模型不会出任何问题,但是读者也不要完全依赖于模型,而是要在其中尝试自己学到一些内容,因为到了更深的层次之后,模型的能力会逐渐不适应,此时个人能力的体现就至关重要了。

Linux#

当你看到这一章的时候,你应该已经熟练掌握了如何使用 Windows 系统,并且已经学完了一门语言,这时候开始实践这一篇章才是合适的,而在此之前,先看一看介绍来了解一下详情也是可以的。

有一种说法,Windows 是「弱智」的操作系统,Mac 是设计者的操作系统,而 Linux 是开发者的操作系统。前两者的描述并不准确,但最后一个却十分的恰当。市面上基本上全部的服务器都是用 Linux 进行管理,包括将来你在人工智能领域中训练模型所使用的服务器,因此学习 Linux 的基本使用是非常重要的一件事情。

笔者推荐读者可以在自己的 Windows 电脑上安装 Ubuntu 双系统,我 之前的博客 非常详细的讲解了这些内容;同时直接租赁一个服务器也是值得推荐的,市面上现在大多数的显卡服务器都是按量付费,1小时也就几块钱,随用随停倒也不算很贵;而与此同时,网络上使用虚拟机安装 Ubuntu 的教程也很多。

在这里简单解释Ubuntu和Linux的关系,本质上我们在说 Linux 系统的时候,实际上是在描述使用了 Linux 内核的一系列操作系统,这些操作系统在内核的基础上提供了图形化支持以及各种各样的包,使得其成为一个真实可以供开发使用的系统。在众多操作系统中,Ubuntu 以其易用性脱颖而出成为了深度学习研究者的首选,不出意外在将来的时间里读者只会见到这一个操作系统,因此也没有必要学习其他来节外生枝。但可以简单提一句的是,对于一些更加极客的开发者来说,他们会使用 Arch。

当你开始使用 Linux 操作系统,这意味着需要熟练使用命令行操作,简单向大模型提问,「向我介绍一下 Ubuntu 操作系统常见的命令行」,就可以获得你想要的答案,因此在这里不展开介绍。因为事实上,绝大多数时候你还是在图形化精美中按照windows的操作逻辑进行操作,只有在需要运行你的代码的时候,你需要用命令行连到服务器,并使用 cd 移到路境下,conda 激活环境,并且 python 运行程序。

此时也可以向推荐另一个计算机扫盲的网站,这其中讲解了一些计算机的其他常识,同时简单介绍了 git 这个工具,这一版本管理的工具将在日后派上巨大用处,而廖雪峰专门为其 撰写的教程 也值得推荐。

当然,事实上上述的全部需求,在实战中一步一步向大模型提问也可以解决,所以实践出真章,在实践中学习也是一个好的选择。

机器学习与计算机视觉是否真的必要#

笔者可以简单给出结论,机器学习以及传统的计算机视觉在大多数时候并不会起到什么作用,或者说这些内容已经通过理论完善,并且具有一定的上限,尽管有的时候可以为你设计新的算法带来启发,但是并不在我们学习的最短路线中,不过这里给出参考资料。

同时,尽管这些内容有的时候依然实用,但是多半在实际的使用中,我们都是以使用者的需求而非创新性的追求来看待,好消息是 Python 的众多库其实都支持了这些算法,因此往往只需要简单向大模型进行提问,并且调动这些就可以实现对应的功能。

一些反对者或者保守主义者不难担心,跳过了这些打基础的环节,是否会导致将来自己学习一些东西的时候不太牢靠,尽管在笔者的视野中并没看到这样的案例,但是进行适当的学习倒也无所谓,只是看到互联网上繁多的课程,没有必要因此看花了眼,选中几个课程并且进行快速的学习即可,想当初笔者在视频网站中比较不同视频合集介绍算法的异同点并且都看了一遍,如今回过头来看,除了浪费时间,没有得到任何的帮助。

深度学习#

到了深度学习的领域,说白了,你正式开始入门了,需要更深度的理解各个方面的知识,并且融会贯通,当然这只是一个开始。

对于知识的学习,在这里照例推荐李沐的动手学深度学习,同时并不建议观看其中任何的动手部分以及比赛部分,而且快速过掉全部知识点,至此你便了解了深度学习的基础知识,可以投身于特定领域以及代码的学习了。

在这里笔者建议读者自行实现几个程序,比如说经典的 MNIST 识别数字,或者可以手动实现一个 ViT 来识别 ImageNet,这个环节可以在AI的辅助下完成,来确保自己已经可以熟练融入编码中带有AI协助的工作流程。

不过必须说明的是,这些代码说到底只是练手而已,而实际的项目往往从需求中产生,在此之前先学一学如何了解一个新领域吧。

伴随着人工智能技术的发展,人工智能所能涉及的领域也越来越多,从本来的图像处理以及自然语言变到了如今越发宽广的模样,包括大语言/多模态模型、具身智能、3DV、图像生成以及其他的无数的领域,而再向下细分更是有无穷多的分枝。从这样一个庞杂的枝杈中找到自己感兴趣的方向并非一件易事,读者不妨给自己放一到两周的假,在大量的新闻中了解AI领域的各个方面,包括但不限于各类新闻和公众号的推送,以及各类的每日论文推荐,并且尝试从中找到自己感兴趣的方向。在这里给出一些推荐的信息渠道。

当读者找到了一个领域之后,往往就需要开始了解这个领域相关的论文,而弄懂一个领域在做什么,核心思想就是弄清楚当前的前沿工作都是用什么架构的模型,在怎样的数据上训练,并且存在哪些应用场景。人工智能本质上作为实践学科,是用方法解决某个问题,因此搞清楚这个关系就明白了大半,接下来就需要开始关注方法的细节,并且进一步精读论文了。

阅读论文的方法依然可以参考李沐的论文精读系列,只是众多论文不一定和你的口味,你只需要了解阅读的节奏,并且在熟悉一个领域之后开始加快这一节奏。假如你感兴趣的方向与论文精读系列中的xx相近,他们的论文串讲做得非常不错,值得一听。

尽管前面给出了不少的捷径,但是到了最后这里,笔者却难以给出更快的方法,本身对于领域内方法的理解,就是在大量的阅读以及大量的实验基础上积累得到的,二者缺一不可,而在读者尚且没有进行实验的条件下,阅读也自然就成了唯一的途径。

对于如何获得需要阅读的论文列表,大多数流行的领域在 Github 上均存在对应的所谓 awesome list,也就是领域中其他的人为这个领域收集的论文推荐列表,值得一读。同时读者也需要紧密关注大量人工智能相关资讯以及 arxiv 上的最新论文,papers.cool 是一个每日推荐论文的网站,值得每日上去刷一刷。

而当你阅读了大量论文之后,可以前往一些租卡平台,诸如 autodl,使用按量计费的方法租卡来跑一些实验,将自己看过的领域内比较前沿的论文跑一跑,从而增加自己的上手经验。实际上任何研究者都是从新手做起的,所以完全无需为难情绪,尽管实际上在这个介绍篇幅并不是很大的练手环节,才是篇章中可能带来最多挫折的部分,但是现在不同的领域有不同的代码体系,大量的经验只可意会不可言传,都是十分分散的,也是读者也只能在实践中自己摸索了。不过假如读者在摸索之后获得了提升,并且按照笔者上述的建议进行了近期工作的汇总,将自己如何解决问题记录了下来,笔者自然也欢迎读者将自己的博客发在评论区,供后来者参考。笔者当前在具身智能领域进行了大量仿真器的开发,相关内容都在本站中汇总成的博客,假如读者恰好对这个领域有兴趣也可以前去一观。

学习的琐事#

至此关于科研学习的道路研究到此为止了,虽然看上去有些戛然而止,但是毕竟总需要一个句号,当然,这是一个非常初级的版本,笔者将在之后将自己了解的大量信息进行大量的更新。而在此之前,先在这里介绍一些其他的琐事。

保研二三事#

假如读者事先了解过大学升学的激烈竞争,保研自然也就是一个绕不过去的话题了,不需要参加考试就可以获得研究生或者直博生的资格,并且可以直接升往外校,听上去如此的诱人。

事实上,假如我们从功利主义的角度去划分升学,无非就是两种方向,一个是科研,一个是就业,这里的科研包括高校教职也包括企业的科研岗位,就业则是类似成为大厂的程序员。在绝大多数情况下,假如参加考研,那么走的路多半是偏向于就业而非科研,上述所讲述的漫长的学习道路自然也没有必要亲自体验一番,而是可以先享受快乐的三年大学时光,之后在最后的时间内准备考研一鸣惊人;而假如想要从事科研的方向,那么保研是一条必经之路。

读者往往会听到很多名词,比如保研本校或者保研外校,或者是保研或者直博,但是假如粗略的拆解,一切保研流程,在中国大陆都可以被分为两个环境,获取保研资格以及获得意向学校的Offer。

实际上无论保研还是直博,讲究的都是一个你情我愿,也是自己的学校愿意放人,而对面的学校愿意收人。所谓自己学校愿意放人,也就是学校每年从国家收到的保研名额,会按照一定比例分配给每个专业的同学,而这个分配过程通常按照成绩进行排序,适配西交的排序流程将在后续说明。在获得保研资格之后,本质上你是获得了进入国家推免系统的资格,并且可以在里面填报志愿,然而在系统中是否被录取,并不是因为你需要在系统中提交一些资料并被对方认可,而是你要参加对方组织的线下活动,一般称之为夏令营以及预推免。

所谓夏令营或者预推免,可以理解为在先后两段时间组织的线下统一选拔考试,这些考试分为几个阶段,全部通过并且优胜之后会获得 Offer。首先你需要填报系统,之后,对方学校的老师或者教务处就会进行一轮筛选,并且向合格的同学发送邮件邀请参加线下活动,也是所谓的入营。这意味着你在对方学校的填报系统中需要提交提供吸引人的材料,这里面成绩是最基础的,而科研则是重中之重。

在此之后,根据不同学校的安排,可能会存在笔试、机试或者面试中的一种或者多种考核,必须按照一定的规则选拔,轻松脱颖而出的人家获得优秀营员以及 offer。

当然,事实上这些活动也有强弱之分,也就是所谓的强 com 以及弱 com,即招生委员会在整个选拔工程中的权重。com 越强,意味着这个考核越依赖你的纸面实力以及笔头实力,事先联系老师并不能帮助你获得offer;com 越弱,意味这个考核中老师的权重越大,是先联系老师,并且聊得来之后后就可能能获得Offer,老师可以在考核的任何阶段捞你,也就越依赖你的综合能力,比如说科研,或者甚至你已经事先联系了老师,并且在他的课题组中进行了很长时间的科研实习,那么在老师明确给出口头Offer之后,夏令营基本上只是走一个流程了。

至此读者也就不难理解专业保研的大致情况了,而说到底,学校给予保研名额依靠的是你的绝对成绩,而意向学校给予的Offer,则更多看的是自己的综合实力。

对于人工智能专业来说,我们作为实验班具有50%的保研率,这个比例是相较于专业内普招的同学,少年班以及其他项目则是单独计算。保研排名中的成绩由两部分组成:智育分,也就是在大学前三年的必修课考试中获得的成绩,按照每个课程的学分进行加权平均后得到的数字;而德育分则每年有基础的七十分,每学年结算一次,包括一个详细的加分规则,例如在竞赛中获奖可以累计最高加十分,参加学校组织的集体活动可以累计最高加三分,对于比较卷德育分的专业来说,往往很多同学的成绩会超过九十分以上,而根据目前的观察来说,在本专业中成绩取得超过八十五分,就已经很不错了。在前三学年全部成绩都已经确定之后,学院的教务处会统计排名并且进行公示,其中德育分和智育分按照九比一加权。值得一提的是两个可以翻盘的例外,其中之一是参加学校认可的部分科技类竞赛,并且获得国家级奖项,根据团队中的贡献比例可以获得智育分的加分,根据奖项以及贡献排名分数也有不同;而出国交换也可以获得三分加分。由于这一加分是直接加在学分绩的总分上,不难想象每一分的权重其实很大,即使在其他科目上落后同学很多分数,关键的加分也可以直接翻盘。

结语#

仓促的结束,因为这只是出版,在反复打磨之后,一个正规的结语将会出现。

致新生的你
https://axi404.top/blog/advise
Author 阿汐
Published at June 16, 2025
Comment seems to stuck. Try to refresh?✨