对于技术人员来说,如果要问当前最热门的技术是什么?我想大家一定会回答是人工智能技术。而在人工智能技术中,哪个技术方向最火呢?大家肯定会回答是深度学习技术。如果我们要问在深度学习技术中,哪些应用方向最火呢?我想大家可能会不约而同地说是机器视觉和自然语言处理了。机器视觉自然就不必说了,比如说像商汤、旷视、Face++等独角兽级企业,是史上成长最快的独角兽级企业了,融资规模在几十亿以上,同时机器视觉工程师的平均年薪已经达到50万起,由此可见这个领域有多火爆。但是我们觉得,机器视觉已经发展接近顶峰了,未来几年很难再现像前几年的飞速发展期了,未来的发展的会比较平稳。但是自然语言处理领域则不同,目前处于刚刚开始起飞阶段,未来三到五年,将迎来进喷式发展,发展速度甚至比机器视觉还要快,因为自然语言处理应用领域比机器视觉更广泛。因为未来的人工智能要求更自然的人机交互、人机协同和人机融合,这就要求机器具有听、说、读、写能力,而这正是自然语言处理的研究领域。

综上所述,目前是学习自然语言处理技术的黄金时期,一方面是目前自然语言处理技术工程师的年薪已经接近甚至超过机器视觉工程师的年薪,另一方面,我们认为未来2、3年或者3至5年将是自然语言处理飞速发展期,会对自然语言处理方面的人才产生巨大的需求,现在开始学习,才能够抓这一趋势,成为市场上抢手的人才。

那么我们怎样来学习自然语言处理技术呢?我想大部分人可能会选择学习网络上可以公开获取到的斯坦福大学自然语言处理课程cs224n了。这门课出生名门,不仅讲述基础原论而且讲述业界最新进展,同时还沿袭了斯坦福大学理论联系实际的传统,这点从课程作业的选题中可以看出来。所以说这门课绝对是学习自然语言处理技术不可多得的资料,但是我们从公开渠道只能看到老师上课的视频、课程讲义PPT和作业资料,而这门课中更加重要的,由斯坦福大学这门课助教讲解作业实现技术的习题课,我们就看不到了。而对于初学者来说,这些助教讲的习题课才是这门课的干货,虽然老师讲的理论和最新进展也很重要,但是我们只有通过动手实践才能真正掌握和理解这些内容,但是非常遗憾,习题课是不公开的。

基于这种情况,我们在网易云课堂上开设了《斯坦福自然语言处理习题课》这样一门课程,我们在这门课中,将像斯坦福的助教一样,向大家详细讲解作业的实现技术,使大家真正做到理论联系实际。讲到这里,可能有同学会问,对于CS224n这门课的作业,网上也有很多作业实现和博客文章来讲解实现细节,我们直接学习这些内容不就可以了吗?还用学习这门课吗?当然,直接看这些是可以的,但是由于同学们是初学者,对于网络上的这些资料,到底质量怎么样很难区分。另外,这些资料通常都是由在校生完成并分享出来的,而在校生由于没有大型工程项目的经验和教训,他们的实现容易陷入就事论事的状态。

比如我们来看一个例子:


这个还是一个比较著名的实现,实现的质量还是蛮高的。但是就是这样一个实现,也是有很大的问题的。先来说一下这个实现好的地方,在这个实现里面使用了lambda表达式、numpy apply_along_axis这样的高级函数。但是这个实现有一个小的问题,大家看老师给的作业要求里面,对于X的说明里,写了这样一句:You are allowed to modify x in place.这句话只是一个建议,所以很多同学都把这句给忽略了。绝大多数同学在实现时都采用x = np.exp(x)的形式,但是这样写的会复制一个x的数组并返回,这样既浪费了内存空间同时会浪费运行时间,虽然softmax一般只用于输出层,一般对MNIST手写数字识别只有10个类别,李飞飞开发的ImageNet竞赛也不过是1000类,计算量并不大,但是在训练阶段训练样本集通常有数百万的训练样本,而且会学习多轮,这样就浪费太大了。所以老师才会提醒你,你可以在x数组里进行修改,不必返回一个全新的数组,但是可惜被同学们忽略掉了。当然,可能也有同学尝试过老师提的in place方式,但是在老师给的代码情况下,直接使用是通不过的,需要进行一些小的修改,这点在我们课程中间会详细讲解。这就让我们想起了西游记里孙悟空学艺,菩提老祖在孙悟空头上敲三下,孙悟空就能悟到是老师让他三更去找老师,而其他弟子就悟不到了。所以在这门课里,我们会代领大家掌握自然语言处理技术的精髓,达到业界标准甚至更高的水平。

所以说我们这门课的价值不仅仅告诉你怎么把CS224n这门课里面的作业做出来,而是要给大家展示业界的最佳实践,使同学们真正达到业界自然语言处理工程师的水平。

这里面还有一点,就是即使像斯坦福自然语言处理CS224n这样的精品课程,也存在由于录课时间较久远,课上所用技术存在过时的情况。例如,在CS224n的作业中,还是基于python2的代码,而我们知道Python2已经停止更新了,业界已经基本完成从python2到python3的转化了,大家到实际工作中,基本都是使用python3了。这不得不说是一个遗憾。所以在这门课里面,我们将带领大家一起,把课程作业中的代码移植到python3。还有例如在作业1里面,老师给我们的神经元激活函数还是sigmoid,而我们知道,自从06年深度学习崛起之后,神经元特别是隐藏层神经元的缺省激活函数已经变为ReLU了,如果是近一两年,还会看到很多采用SeLU激活函数的,这一点也比较遗憾。关于这一点,我们在课程中也会向大家作一个简单的介绍,使同学们能够掌握最新的技术。还有一点,也是在作业1里面,在讲解随机梯度下降算法的时候,还采用的是传统的BP算法的方式,而我们知道,当前流行的深度学习框架,如TensorFlow、PyTorch和Theano等,都是基于计算图的实现方式了,这些内容也略微有些过时,我们在课程中也会以TensorFlow普遍采用的计算图方式,向大家讲解递度下降算法。当然了,这门课毕竟是CS224n配套的习题课,不可能向大家系统的讲解计算图模型,如果同学们对这方面内容感举趣,可以关注我们即将推出的《自己动手写TensorFlow》课程,在这门课中,我们将带领大家,模仿TensorFlow框架,使用C语言来实现深度学习的核心算法,使用Python语言来进行数据可视化、模型可视化和训练过程可视化工作。

回到我们这门课程,我们会带领大家使用python+numpy的方式来实现所有的核心算法,虽然实际工作中,大家可能会使用TensorFlow、PyTorch这样的深度学习框架来实现算法,甚至很多人用更高层的Keras来写算法,但是这些框架和库会给我们屏蔽了底层的细节,虽然使我们更容易入门,可是也使我们很难搞懂底层的数学原理和代码实现技术,而我们通过python+numpy的方式,自己动手完全从头来实现这些核心算法,恰恰可以弥补大家在这方面的知识缺陷。

如果大家对自然语言处理技术感兴趣,想掌握这些算法的底层实现原理,请关注我们的课程:斯坦福自然语言处理习题课(https://study.163.com/course/introduction/1006361019.htm?share=2&shareId=400000000383016),课程目前处于连载状态,早学的同学有优惠呦!

斯坦福自然语言处理习题课1——绪论相关推荐

  1. Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)”

    Coursera公开课笔记: 斯坦福大学机器学习第二课"单变量线性回归(Linear regression with one variable)" 发表于 2012年05月6号 由 ...

  2. Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”

    Coursera公开课笔记: 斯坦福大学机器学习第一课"引言(Introduction)" 注:这是我在"我爱公开课"上做的学习笔记,会在52opencours ...

  3. 斯坦福大学机器学习第一课“引言(Introduction)”

    斯坦福大学机器学习第一课"引言(Introduction)" 一.机器学习概览 1)机器学习定义:机器学习是人工智能的一个分支,目标是赋予机器一种新的能力.机器学习的应用很广泛,例 ...

  4. 李沐分享斯坦福2021秋季新课:实用机器学习

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:新智元 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 李沐 ...

  5. 计算机计组成原理课后,计算机组成原理课后习题课(0001).doc

    计算机组成原理课后习题课(0001).doc (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 1.什么是指令周期?什么是机器周期? ...

  6. 通信原理2习题课汇总(随机信号、信道、最佳接收)

    写在前面:本文仅用于个人学习,授课教师为郭心悦,下面的ppt为郭老师上课课件. 文章目录 第二章:随机信号习题 第三章:信道习题课 第五章:数字信号最佳接收习题课 第二章:随机信号习题 自相关函数:离 ...

  7. 斯坦福大学机器学习第二课 “单变量线性回归”

    斯坦福大学机器学习第二课"单变量线性回归(Linear regression with one variable)" 发表于 2012年05月6号 由 52nlp 斯坦福大学机器学 ...

  8. 斯坦福 CS183 YC 创业课系列中文笔记

    欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 面试求职交流群 724187166 ApacheCN 学习资源 目录 Zero to One 从0到1 ...

  9. c++求n的几次方_数理统计|笔记整理(E)——Ch7-C习题课

    上一节笔记传送门:数理统计|笔记整理(D)--Ch1-6习题课 -------------------------------------- 大家好!这一节我们依然会补充一些习题,内容则是正文的后半部 ...

最新文章

  1. matlab与python通信_python和matlab之间数据传输方法
  2. 分享Silverlight/WPF/Windows Phone一周学习导读(10月16日-10月22日)
  3. 鹿晗都有AI粉了,为什么AI换脸剧的效果还这么渣?
  4. 小议Oracle外键约束修改行为
  5. vue aixos请求json
  6. 递归-输出字符串所有的组合情况(代码、分析、汇编)
  7. C#连接数据库SQL(2005)
  8. Magento 获取系统设置 How to get data from Magento System Configuration
  9. Sentinel服务熔断配置exceptionsToIgnore_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0053
  10. 序列化,pickle,shelve,json,configparser
  11. tomcat是什么_为什么开发者放弃了Tomcat,选择了Undertow?
  12. 软件质量管理体系 type:pdf_普宁iso14001环境管理体系AAA信用等级认证
  13. python剪贴板操作_python操作剪贴板
  14. ucdavis计算机科学专业,加州大学戴维斯分校有哪些专业处于世界顶尖水平?
  15. CSSCI来源期刊(2010-2011年)
  16. 数据中心电气设计怎么做?丨规范、负荷计算、设备选型、微模块/液冷机房…...
  17. 最新苹果手机iPhone各机型尺寸以及像素对照表
  18. selenium + bs4 +requests 爬取全国电动汽车充电站数据
  19. ECMAScript(pink)
  20. 程序员视角的计算机系统 第一章 计算机系统 之旅

热门文章

  1. 第九篇论文读后总结-相似森林
  2. 站在数字经济浪尖:360视觉云探路中小微企业数智转型
  3. CTFHub-SSRF(全部)
  4. React + webpack 开发单页面应用简明中文文档教程(一)一些基础概念
  5. 线性代数考研笔记(一)
  6. 二十世纪最伟大的十大算法
  7. VS2017 打包exe,msi文件
  8. 【C语言关键字】sizeof -- 被误解为函数的关键字
  9. 动手学习深度学习-深度学习基础
  10. win10 java无法运行_如何解决win10配置jdk之后javac无法运行的情况?