文 | Jazon

大家好,我是Jazon,现在是Stanford计算机硕士项目的一只学生,非常荣幸加入小夕的大家庭!请各路大神多多指教呀。

2021年1月12日,又一季Stanford CS224n——自然语言处理开课了,我和很多MSCS同学一起加入了这门课。由于疫情,今年的课程是以线上Zoom的方式进行,由 Prof. Manning 在他的书房远程授课。第一节课的Zoom有400多位同学参加,足见这门课有多么火爆。如果是线下授课的话,肯定能把教室挤爆。

彼时的Stanford微信和Slack群里十分热闹,大家都在各种找课友、队友。上这门课的主力军是硕士生,当然也有本科生和博士生。能在Stanford亲身体验这门传说中的神课,有一种朝圣的感觉,感觉特别幸运!

课程新设置

今年的课程设置,和2019年版的公开课相比,有不少小变化,这也反映了NLP领域发展之快。具体不同的地方,我会在下文里穿插着介绍~所有的课件都在课程网站(cs224n.stanford.edu)上,而今年Lecture的录播视频在几个月后也会在YouTube上公开,到时候大家就可以看到全新的Lectures啦!

前半学期的课程由10次Lecture和5个作业组成,覆盖NLP和神经网络的核心概念,如词向量、RNN、梯度下降等。第8节课是Final Projects的建议。

后半学期的第11 ~ 18次Lectures则主要是“嘉宾讲座”(Guest Lectures),如T5的提出者Colin Raffel来讲了T5,又或者是一些选学的话题,如 Coreference Resolution。不强制上课,没有什么作业,这样可以让我们专心做Project。

特别值得提及的是今年的第9、10节课,Transformers和预训练模型首次进入了核心概念的部分,而不是像以前那样属于选听的嘉宾讲座。授课人是今年224n的Head TA(总助教)——John Hewitt。John是Stanford NLP组的博三学生,讲得真的非常棒!以前我看paper看不懂的 TransformerBERT,他讲得真的是深入浅出,我很快就明白了。

▲BERT Lecture

重磅新作业

和前10次讲座相辅相成的是这门课的5次作业。作业1里大家简单探索了词向量的性质;作业2里我们推导了训练词向量的公式(这是这节课最calculus-intensive的作业);作业3算是唯一一个涉及比较传统的语言学概念与算法的作业,是关于 Dependency Parsing(依存句法分析)的。

前3次作业都和去年的一致,作业4和5则是今年新出的。在这里要感谢出作业的TA们!作业4仍然是要搭建一个机器翻译模型,只是目标语言变成了Cherokee(美国原住民的语言之一)。这次作业的编程部分,让我们熟悉了PyTorch模型里的各种Tensor操作。

作业5是今年紧跟NLP大趋势,“重磅”新推出的:在数学部分,我们探索了Multi-head Attention的性质;在编程部分,我们需要复现一些预训练数据处理的代码(span corruption),以及实现Attention的一个变种。

这次作业出乎大家意料地难,我和不少同学们都至少花了25小时才做完。由于是今年首次发布,作业里还有很多说得不清楚的地方,本来Instruction已经9页纸了,TA们又写了一篇很长的Clarification。

那一周我们还需要提交Project Proposal,所以大家都很爆炸。2月20号早上,作业已经截止了一天,Office Hours却排起了可怕的50人长队。这门课的学生总数是475,可想而知有多大比例的同学没能按时写完,不得不用late days。

作业5的主要作者正是我们的John,据说他本来还想让我们 Encoder-Decoder 也自己写,被其他TA制止了。显然,他严重高估了同学们的实力,对这次失控的局面,他的心里也十分愧疚,一直守在论坛、Office Hours上回答同学们的问题。这也许印证了,特别优秀的人,对别人也会有意无意地设定很高的标准吧!

当然,做完作业5也让我收获很多,作业里我们需要分别训练一个“vanilla”模型和预训练模型、比较结果,于是我对预训练的效果、性质有了更直观的了解。

▲狂肝作业5的时刻

224n是怎么来的?

话说斯坦福一年有4个学期,这么火的课为什么只有冬季学期开呢?这里我想偏个题,讲讲我校NLP组的特点。Chris Manning教这门课已经20多年了,他算是NLP领域开山鼻祖级别的人物,224n课程材料里有讲到他自己发明的技术(比如 GloVe),这是件很神奇的事!

但显然,他是位大忙人,手下有十几位PhD学生,没有精力每学期都教NLP。Stanford NLP组另外3位主要的教授可能也没有时间来教224n:Dan要教CS124(低阶NLP课),Percy要教CS221(人工智能),Potts要教CS224U(自然语言理解)。

Stanford NLP组只有4 ~ 7位教授,相比之下,CMU的LTI(Language Technologies Institute)有30位教授,其中不少大方向都是做NLP的科研,人手要多得多。因此CMU在NLP方面的课程多样得多,除了NLP以外,机器翻译、问答系统、搜索引擎等等,都有专门的课(羡慕脸)。

NLP很大,可惜时间太少

好了,回到224n。像我们Quarter制(4学期制)的学校,一学期是11周,今年由于疫情,学期强行缩减到10周,时间更加紧张。这么短的时间里要塞进整个NLP的内容,显然不可能,所以NLP里很多任务,如信息抽取、对话系统,课程里都没有涉及到(当然124、224U有补充一些概念)。也许224n可以像Data Mining一样,概念部分是一节课(CS 246),Project专门另外一节课来做(CS 341),可能就不用这么赶时间了。

同时,由于时间限制、科技趋势,课程里偏语言学的概念也越来越少。前面有提到,核心课程里唯一比较硬核Linguistics的内容是Dependency Parsing。19年的公开课里Manning花了一节讲Constituency Parsing,今年这节课已被其他内容取代,以后可能也不会再讲这个概念了,有些令人唏嘘。

我第一次接触NLP,应该是读吴军老师的《数学之美》,当初花了不少功夫理解信息论、隐马尔可夫、TF-IDF、分词等等概念,但是224n完全没有涉及它们。这本书是2014年写的,也许其中一些概念在这个BERT的时代已经变得不太相关了吧,真是让人感叹技术迭代的速度之快啊。

完成了前半学期的学习,大家也准备好肝Final Project啦!224n的重头戏还在后半学期,下篇文章会更精彩哦!

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

人在斯坦福,刚上CS224n相关推荐

  1. 谢撩,人在斯坦福打SoTA

    文 | Jazon 编 | 小戏 小编注:不知道大家还记不记得卖萌屋之前人在斯坦福,刚上CS224n的Jazon小哥发来的关于斯坦福神课CS224n上半学期的报道?今天,Jazon又在斯坦福前线发来了 ...

  2. 计算机专业,刚上大一,该如何学习?

    计算机无疑是近几年最火热的专业之一,薪资待遇每年也是排在前几位的,相信今年参加高考的同学有很多报考了计算机专业. 首先看一下,计算机毕业后的薪资待遇: 根据官方2020年中国大学生就业报告显示,在20 ...

  3. vsftpd类似wu-ftpd分类(Class)的配置-给不同网段的人以不同的上传权限-对虚拟用户进行访问IP限制...

    主要是用于实现:"给不同网段的人以不同的上传权限"和"对虚拟用户进行访问IP限制"这两个功能.实现方法就是利用tcp_warppers的setenv LOAD_ ...

  4. 直播间越播越没人,大部分刚开始做直播电商的人都会这样

    直播间越播越没人,大部分刚开始做直播电商的人都会这样,看着其他同行的直播间做得不错就照葫芦画瓢,并不知道背后做了哪些工作? 开播前一定要准备直播脚本和产品过款话术,不要让直播在直播间随意发挥,团队也随 ...

  5. 适合大部分人做的线上兼职,在家也能有个两三千的收入

    想要赚钱,兼职,副业成为了现代人的首要追求.人们繁忙的工作中往往会感到空虚和无趣,但现在有一个好消息:可以在家中轻松地做一份适合大部分人的线上兼职,轻松赚取两三千的收入! 现代人的兴趣和需求非常多样化 ...

  6. 5、透過 OpenNI / NITE 分析人體骨架(上)(非原创)

    5. 透過 OpenNI / NITE 分析人體骨架(上)(非原创) http://viml.nchc.org.tw/blog/paper_info.php?CLASS_ID=1&SUB_ID ...

  7. cs224n上完后会会获得证书吗_斯坦福NLP组-CS224n: NLP与深度学习-2019春全套资料分享...

    斯坦福自然语言处理小组2019年的最新课程<CS224n: NLP与深度学习>春季课程已经全部结束了,课程内容囊括了深度学习在各项NLP任务中应用的最新技术,非常值得一看.本文整理本期课程 ...

  8. 我是吴恩达:人在美国,刚上知乎,先答个「如何系统学习机器学习」

    杨净 发自 凹非寺 量子位 | 公众号 QbitAI 知乎新用户吴恩达,第一件事儿竟是回答如何系统学习机器学习. 嗯,果然随时都自带老师属性. 结果短短不到12个小时,就已经收获了两千多个赞同,关注者 ...

  9. 糖豆人服务器要维护多久,糖豆人刚上四天,紧急维护9小时后又延长,玩家:从中午到现在了...

    最近,不少主播都纷纷开始玩起一款多人闯关类的游戏<糖豆人: 终极淘汰赛>,说起这游戏很多人仍然把它定位成多人吃鸡类型,其实它的原型来自于电视上每年夏天都要放的冲关挑战节目,小编还记得当时有 ...

最新文章

  1. 【 C 】对左值与右值的一些个人思考
  2. 巧用WINDOWS脚本语言删除临时文件
  3. linux 安装ubuntu-16.04-server-amd64
  4. java 外卖订餐系统_java外卖订餐系统小项目
  5. erp生产管理系统流程_企业生产管理好帮手——ERP智能管理系统
  6. 深入解读 MySQL 底层原理,让性能“飞起来”的方法总结
  7. [debug] RuntimeError: “nll_loss_forward_reduce_cuda_kernel_2d_index“ not implemented for ‘Int‘
  8. goflyway安装
  9. php gmssl,golang gmssl编译不过
  10. 我的五年百度博客文章列表(带链接版)
  11. 记一次centos 7.3下的steam安装(该“STEAM”软件为美国valve开发的游戏平台)
  12. vs2013下载地址以及安装方法
  13. 弘辽科技:淘宝旧链接如何打新品标?有什么规则?
  14. android 去广告浏览器,手机去广告浏览器Adblock Plus Browser
  15. linux脚本 加密失效,shell脚本加密(使用shc)
  16. vue 微信支付的坑_微信支付踩坑
  17. 深圳LED背光源模组十大生产厂家排名是什么呢
  18. 一个人的职业生涯之旅 —— 应届生求职、面试、Offer、跳槽(发展瓶颈、薪资倒挂、职业倦怠、骑驴找马、简历优化)问题分享
  19. Python Scrapy爬虫报错-Spider error processing
  20. hhkb适合写java吗_起底这届HHKB最强新品键盘,究竟好在哪儿?

热门文章

  1. caffe各种依赖包配置
  2. HTML静态网页---标签
  3. 在XML文件中定义动画(1)
  4. poj 1269 直线相交情况
  5. Android中使用软引用和弱引用避免OOM的方法
  6. 从单片机步入Linux之运行地址与加载地址
  7. void 型指针的高阶用法,你掌握了吗?
  8. 我是这样分析Linux性能问题的
  9. Linux内存,先看这篇文章
  10. 写代码获取全国疫情地图