| 选课类别:计划内与自由选修 | 教学类型:理论实验课 |
| 课程类别:本科计划内课程 | 开课单位:人工智能与数据科学学院 |
| 课程层次:专业核心 | 学分:4.0 |
本课程主要讨论机器学习的基础算法。具体内容包括线性回归与分类、性能评估、正则化、神经网络、无监督学习、决策树、降维方法、支持向量机、强化学习、逻辑、知识表示等。重点介绍机器学习算法的基本工作原理及其应用。该课程将理论与实践相结合,不仅夯实学生的理论分析能力还锻炼学生的动手能力,从应用问题出发理解机器学习算法的作用与价值,并力图反映机器学习研究的最新发展前沿。
《人工智能与机器学习基础》课程在内容上强调大模型神经网络的运作和应用。课程实验与大模型密切相关,涉及注意力、残差连接以及隐藏层等概念。实验需对大模型进行探索,在5090平台上进行本地部署和数据采集。许多学生表示“各处都是线性代数、概统和数理基础”,强调课程要求较高的理论基础。此外,可视化环节非常重要,建议同学们重点关注实验中数据与结果的可视化。
实验报告有字数和页数的限制,可能要求使用LaTeX格式撰写。建议同学们参考《附加实验与探究设计思路汇总.md》选择自己感兴趣的实验进行深入研究。学生分享了一些学习技巧和工具,例如使用Coding Agent提升编程效率,但也提醒在Vibe过程中不能完全依赖技术,需要主观思考。
给分制度可能受到实验报告的长度与质量影响,学生建议集中精力于少量实验,避免报告太长。课堂上,即使感觉内容难以理解也是正常的,建议掌握基础知识以迎接课程挑战。
课程提供了一些在线资源和助教支持。学生可以借助多种AI工具(如Workbuddy、Claude Code等)提升学习效率。助教和学生的资源分享在GitHub上提供了参考和指导。整体上,该课程内容丰富,要求学生具有主动学习能力和较强的数理基础。
2026.10.7 关于Lab1我自己还做了一些额外的数据构造,但是最终训练出的模型效果并不好。提醒同学们:自己构造的数据一定要谨慎,你所构造的数据和助教提供的/最终用于评估模型效果分的可能(很大概率)不是同一套构造方法,自然也不遵循同一个分布。这会极大地增高模型的偏差。(言外之意就是用了这套数据集也巡不出来更好的模型,不要直接拿着就开始训)
如果自己构造数据,可以把原始数据的验证集当作测试集,看看你构造的数据所训练的模型在原本的数据集上表现如何。
国庆结束后我应该就不会再搞Lab1相关的东西了,我搞的东西似乎确实是太多了,如果不想白扯太多的话就只看这个:附加实验与探究设计思路汇总.md,里面的实验挑自己拿手的或者感兴趣的做就行了,千万不要每个都做——实验报告过长会对你的给分产生负面的影响。弱水三千只取一瓢,把这一瓢饮饱饮透就够了。
还有一件事,线性模型可能出现经纬度越界,比如输出个北纬91°,这在不加限制的线性模型中是完全有可能出现的,可以在报告里提两嘴。
还有一件事,不要在测试集上训练。
Release Lab1 扩增数据集 · Wanglulu114514/ResourceforAIML26
同学们,相信自己,相信张女士。
不定期更新。手搓成分比较高所以错误肯定很多。
东西很多,我尽量把AI生成的知识点弄得像人话一点(左脑攻击右脑),同时保留了一部分,这样你们才能知道是人写的。
2026.9.17
同学们,听不懂是正常的。
不是张老师害了你,是这个培养方案害了你啊
2026.9.24
直到现在我才意识到写一本这样的手册有多么难如登天,越写越感觉教机器学习和优化的老师/教授实在是太伟大了。
让我想起刚开始学西瓜书的时候,上来讲机器学习的范式,但是一直在西瓜西瓜西瓜,最后范式也没听懂,西瓜也没听懂。可能机器学习范式这个东西就跟电子自旋一样没什么很好的比喻能形容吧。电子自旋是想象一个球在转,但是一方面电子不是个球,另一方面电子也没有传统意义上的旋转。机器学习的话可能从优化的方向切入会好一点:给定一些数据,在指定的目标上找最优解。如果非要找什么比喻的话,那我只能说想象一个球在下坡,但是并没有球,也不一定有坡
2026.9.24
推不动了孩子们,真的推不动了。到处都是线性代数,到处都是概统,到处都是数理基础啊!
2026.10.1 嗯,由于显而易见的原因,我原则上不能提供实验仓库。不过我会写点指南的。
事实上Coding Agent的迅猛发展已经让这门课可能涉及的任何实验都简单了起来,所以我个人猜测验收会占大头。
几个个人手感比较好的Vibe工具:
1.Workbuddy:每天送100积分,最近还有免费额度的混元模型用,适合青黄不接的时候应急和作为保底的Vibe能力
2.Claude Code:终端版本不卡登录,不需要梯子/账号,配置好APIkey和模型名称后就可以直接使用,能够接入学校的llm.ustc.edu.cn平台提供的token,以及自己购买的API
3.Codex+GPT:需要自行探索中转站或代充等,需要科学上网
如果你想让多个Agent接管同一个文件夹,记得提醒Agent们做好工作记录和共享记忆文档等,避免造成不必要的返工。
2026.10.2 我自己上手试了试纯Vibe 解决Lab1,感觉过了一年以后Coding Agent能力真的提升了很多,但还是避免不了编程过程中改了又改结果发现生成了一坨屎山。同学们Vibe的时候要注意不能完全放空大脑,大模型虽然很轮椅了但是我们还是需要脑子才能把轮椅开出去。
据说有一种高效的学习方法是把资料一股脑扔给AI然后让AI给自己讲,从而在事实上达到人脑蒸馏大模型的效果……
2026.10.4 我是凑企鹅
写这玩意真的有人看吗?唉算了,反正挺有意思的。
2026.10.5 应该是Lab1的最后一次冲锋(迫真)
同学们,Lab1来了,如大家所见很难很难。给大家一点小提示。
1.实验跟大模型有很大关系,所以如果不了解大模型内部的运作的话这个实验估计要吃瘪。
大模型实质上是一个巨大的神经网络,内部的主要机制为注意力,残差连接,以及经典神经网络的隐藏层。注意力和残差连接大家先不用管,隐藏层课上是讲了(会讲)的。每个隐藏层由一个线性层和一个激活层构成,也就是说里面只牵涉线性运算和激活函数(引入非线性),所以把隐藏层的信息直接塞进线性模型在底层架构上有相容性。
但是隐藏层之所以叫隐藏层,就是因为这些层的信息在表面上可解释性并不强——我们并不知道大模型究竟在里面干什么,也不能保证一定能把隐藏的信息提取出来。不过既然大模型能够对问题做出正确的回答,那么解决问题的信息必然是隐藏在前面的某一层中,才有可能被一层层传到下游。
2.实验指南中提到了107平台,这是学校给大家的福利,上面的5090能够支持本地部署几个B甚至十几几十B的模型。众所周知,在数据全部来自同一分布的前提下,数据量越大,模型的性能一般越好。所以同学们如果要卷效果(大概率是要的),可以在5090上部署实验要求的模型并采集更多数据。具体而言你需要做如下几件事:下载开源的qwen模型(上huggingface),写调用模型和采集数据的代码(最好和实验所给的格式相同,比如采样提示词,输出,几个隐藏层的状态),上107平台跑程序(可以学一下ssh和tmux等相关工具)
如果仔细看数据的话,可能会发现即使控制了所有的随机种子不变并把模型的T值(控制sofrmax的赢家通吃程度)设定为0(直接取概率最大的token),大模型还是会对同一个提示词输出不同的结果。有兴趣的同学可以自己了解一下
3.可视化非常重要,非常重要,非常重要!!!!!
无论是必做内容还是附加内容,可视化都非常重要。你可以做的可视化包括:损失(以及每个损失项)在训练中随轮次的变化情况,逻辑回归的ROC,对数据本身的分析可视化,超参数网格调参的热力矩阵等。
4.赶紧做,现在就开始做,不然到最后会鬼哭狼嚎撕心裂肺痛心疾首四仰八叉。
助教在这里先占个位置
如果对该课程或者助教工作有建议或者意见的话可以来评论区
这是申助教去年建的课程仓库:https://github.com/ChangshuoShen/USTC-AI3002-25fall
这是我去年完成的作业可供参考:https://github.com/xinchengo/USTC-AI3002-25fall
今年的实验报告多半会限制字数和页数
可能会强制 LaTeX,如果强制 LaTeX 的话就会提供模版指定字号和页边距