选课类别:核心通识 | 教学类型:理论课 |
课程类别:一般通识 | 开课单位:电子工程与信息科学系 |
课程层次:自由选修 | 学分:2.0 |
宋彦老师的《文本表征学习》课程被学生高度评价,其教学内容丰富,涵盖从基础的N-gram到各种先进的模型如word2vec、doc2vec、BERT和Transformer等。课程不仅讲解了许多最近的前沿模型,包括GPT,还鼓励学生讨论并复现顶会论文的源码,提供了独到的见解。有人指出,宋老师对于各类模型的讲解非常深刻,特别是Transformer部分,对即将进行神经网络开发的学生来说非常有帮助。不过也有学生提到,没有机器学习基础的学生可能会感到课程难度较高,建议有深度学习基础的同学选修。
学生普遍认为课堂氛围非常活跃,宋老师非常热情,乐于和学生互动,回答问题,对学生提出的NLP问题进行深入讨论。宋老师的教学风格生动,当讲到兴奋处会使用一些有趣的肢体语言,这也在一定程度上增强了课堂的趣味性。
课程实验设计合理且硬核,实验任务包括调库、撰写报告和训练复现论文等,对于编程和查资料能力要求较高。虽然实验任务不轻,但有学生表示实验能复现NLP发展的多个阶段,并且不至于过分困难,建议使用jupyter notebook与miniconda。大作业主要是基于预训练模型进行情感分类探究,涉及到使用GPT的API,考验学生对课程的理解。
课程不设考试,主要通过实验和大作业评估学生的学习成果。然而,给分较为严格,可能会让努力跟随课程的部分学生收获较低的绩点,有学生在水平不够的情况下遭遇了低分,因此建议有较好基础的同学选修。此外,有学生反映大作业要求较高,调研与复现工作较为复杂,分数可能不尽如人意。
总体而言,宋彦老师的《文本表征学习》课程非常适合对NLP感兴趣并且有一定机器学习基础的同学。课程内容丰富、实验设计合理、课堂互动活跃,能让学生学到许多前沿的NLP知识和技术,属于一种获取高质量知识的课。注意,课程给分严格,选课需谨慎。
需要指出的是这上方的四个三选一评价是暂时的,但是分数估计是 fix 了,因为:
第一次上课后的感受:这门课可以满足你对 NLP 的一切幻想。
锐评一下:科大很多主要课程相比工业学术界,差距都非常大,也就是说,在讲解非常古老的方法(但是作为打基础来说是必要的),比较缺少学术前沿的哪怕导论课程。但是这门课会讲很多 SOTA,包括最近的 GPT,老师也提到会介绍其结构与训练方法。
还有就是老师非常热情,课堂氛围异常活跃,本人积累已久的很多NLP问题都得以和老师讨论。
趁着现在还没有锁定选课,希望看见的友友多多尝试这门课程。
现在本课程进行到了实验二。本人愈发对本课程 respect++,原因主要有:
1. 课堂氛围非常好。你有任何问题都可以和老师当面沟通;
2. 课堂目标明确。本课程可以从这个角度来欣赏:依托 NLP 为载体,讲解了很多很多模型为什么这么建,这么训的 intuition,这种纯 idea 级别的持续灌输是我在其它 USTC 课程里很少见到的;
3. 实验硬核但是不过分。实验设计还是比较合理的,但是又真的可以沿着前辈的路径把 NLP 的那么几个时代过一遍。
老师对于所有模型的认识(宋老师总是用“物理意义”来说,憨憨的哈哈哈),真的非常深刻,尤其是 transformer,讲的非常好。我想这个课的这一部分内容是对所有神经网络开发者都十分有用的,非常适合大二准备开始搓网络的人来听。
现在本课程结课了。我只能说这门课在本学期给我灌输了最多的思想,真的是给我灌输了很多很高级的东西。从简单的大模型的使用建议,到大模型的工作与发展。所学内容真的终身受益。郭继承曾经说:“世界上还有用话语讲不清的东西,那只有两个字:闭嘴!”。我想这些东西实在是我无法用文字具象的了(太棒啦,我逐渐理解了一切……bushi)
BTW. 宋老师讲兴奋了总是会举起双手摆出两个耶然后学兔耳朵似的弯曲食指与中指(很抱歉我的语言难以准确描述),哈哈哈哈
最后是本人的实验报告(在课程对应 DDL 后公布),方便未来的同学对于本课程的实验有所了解。
大作业是基于预训练模型的情感分类探究。因为是组队完成,有非本人的工作,所以没有在此上传。
基本没去上课,实验任务不重,适合水学分(在不考虑绩点的情况下)
平滑:
word2vec:
CS224n 2019 Winter Lecture Notes 1(直接跳到word2vec章节即可,其中Hierarchical Softmax讲得比较乱,可参考下面的文章)
更先进的表征:
度量学习/对比学习入门: 论文阅读笔记-Deep Metric Learning: A Survey
如何提高LLMs的文本表征(Text Embedding)能力?这个答主有不少有价值的文章
高维空间:
高维空间(High-Dimensional Space)及其特性
Introduction to High-Dimensional Statistics
选修时完全没有任何机器学习基础,前两节课时说明会过一遍基础知识,但是很快就进入了CNN,RNN,LSTM,BERT,Transformer...推荐有深度学习基础的来试试,没有基础的可能会像我一样上课大部分时间处于懵逼状态。
这门课的节奏很快,内容极其丰富。
1. 从N-gram到各种模型(word2vec,doc2vec,BERT...)几乎都有实验,甚至还在课堂上讨论了某些论文源码的实现逻辑。
2. 上课内容覆盖多篇顶会论文,有独到的见解
3. 老师上课非常热情,可以看出真心想和学生分享知识,语速快到甚至结巴(笑)
4. 上课互动比较多,不过这学期基本是yyk学长一枝独秀了
实验主要是调库和报告两部分,对编程和查资料能力要求很高,大量使用python,推荐使用ipynb(jupyter notebook)以及miniconda(Anaconda太大了,不推荐)。需要训练复现论文,尽管是调库,但仍然需要做大量工作,比如tensorflow不同版本不兼容,以及某些上古实现使用python2(别碰py2,会变得不幸)。可能自己从头实现更简单一点?
大作业(论文)可以用GPT的API实现,可以整很多花活,比较考验对课程的理解。
老师讲的很好,但是我水平不够被打低分了,早知道不选课了。。。这门课没有保底,水平不够别选了,不然就会像我一样努力跟了一学期然后收获一个2.7。。。