深度学习与人类语言处理(Deep learning for Human Language Processing)

李宏毅老师深度学习与人类语言处理课程笔记,请看正文


这门课会学到什么?

  • 为什么叫人类语言处理呢?

现在大家熟知的基本都是自然语言处理,那什么是自然语言呢?

在自然中发展出来的用于沟通的语言(例如中文、英文)

自然语言相反的是人造语言:例如编程(Java、python)

人类的自然语言分为两种形态:语音、文字

所以这门课叫深度学习与人类语言处理

大多数自然语言处理课程中语音处理只占了一小部分,是因为语音处理不重要吗?

世界上只有56%的语言可以被写出来,例如闽南语、台语,但不是每个说闽南语的人都会写。文字的书写系统是被创造出来的。所以很多语言机器无法通过文字理解,所以这门课程会用一半的时间讲述语音处理。

  • 人类语言有多复杂

一秒钟的声音信号含有16K个采样点,每个采样点有256个可能的值。

古希腊哲学家赫拉克利特说过 "No man ever steps in the same river twice, for it's not the same river and he's not the same man."

没有人可以说同一段话两次,每次的声音信号都不一样

那么文本有多复杂?

有记录的最长英文的句子有13955个词(2014,吉尼斯世界纪录)

然而,,,下一秒吉尼斯世界记录就被破了,xx写“ ”;xx说xx写了“..."

  • 一张图告诉你本次课程内容

Model是什么?

硬Train一发是一种信念,是一种梦想,是一种浪漫,是人类亘古以来原始的冲动,总之,没办法一句话解释清楚。

人类语言处理的下一步

2014年seq2seq模型横空出世,可以解决大多数人类语言相关的问题,在拥有目前为止最强武器Deep learning的情况下,人类自然语言处理的下一步在哪里?

这门课程将会关注近三年来的研究,再有了硬train一发后,接下来还有什么技术?

  • 语音到文本(语音识别)

传统语音识别,由多个模块构成,组合起来模型很大,2个G

那如果使用端到端的深度学习呢?google的模型只有80M

语音上的seq2seq模型并不是大家所熟知的基于Attention的seq2seq模型,我们会揭开语音seq2seq模型的神秘面纱,看看不同领域的seq2seq模型有什么区别

  • 文本到语音(语音合成)

语音合成是怎么做的?训练一个神经网络,输入是文字,输出是语音,然后就没有然后了。。。

Tokuda"每次我开除一个语言学家,语音识别的性能就会提升一点。"

所有的问题都被神经网络解决了吗?

google小姐发生过破音!在输入多个字是正常发音,输入单字时破音了,有想去的可以去看看 :https://www.youtube.com/watch?v=EwbTlnUkctM

  • 语音到语音

语音到语音什么用呢?

1.语音分离(speech separation)

人类可以从不同说话者中辨别说话人,专注于想要听的说话人;机器可以吗?现在用NN已经可以做到了,仅仅硬train一发

2.声音转化(voice convesion)

让A和B说同一句话,采集很多样本,使用NN硬Train一发就可以了,但是如何想要把我的声音转化成新垣结衣的声音,就不行了,因为我不能把新垣结衣找来,新垣结衣不会说中文啊。所以我们希望的声音转化系统只听过A的声音,B的声音,不一定要念一样的句子,机器也可以把A声音转化为B声音

  • 语音到类别

可以用在说话人识别、语音唤醒

需要说出指定唤醒词才可以唤醒它们,但是机器需要不断的收集声音,直到听见唤醒词,所以模型需要尽量小,降低功耗。

  • 输入是文本

Bert一脚踢翻了玛利亚之墙

模型越来越大。。。

  • 输出是文字

文本生成(Text Generation)

Autoregressive:
\[
I \rightarrow have \rightarrow a \rightarrow dream
\]
句子一定要按顺序生成吗?

Non-autoregressive :

  • 输入输出都是文字

机器翻译、文本摘要、聊天机器人、问答系统

直觉上不是文本到文本问题也可以被转化成文本到文本,例如句法分析(systactic parsing),可以把句法分析树变成文本

这次课程聚焦于问答系统,其他的应用使用的方法都是大同小异。

更多内容

  • 元学习
  • 参考图像风格转化
  • 知识图谱
  • 对抗攻击
  • 可解释AI

以上就是本次课程涉及的所有内容

reference:

李宏毅老湿. http://speech.ee.ntu.edu.tw/~tlkagk/courses_DLHLP20.html

李宏毅深度学习与人类语言处理-introduction的更多相关文章

  1. 深度学习与人类语言处理-语音识别(part1)

    语音识别 语音识别该何去何从? 1969年,J.R. PIERCE:"语音识别就像把水变成汽油.从大海中淘金.治疗癌症.人类登陆月球" 当然,这是50年前的想法,那么语音识别该如何 ...

  2. 深度学习与人类语言处理-语音识别(part2)

    上节回顾深度学习与人类语言处理-语音识别(part1),这节课我们将学习如何将seq2seq模型用在语音识别 LAS 那我们来看看LAS的Encoder,Attend,Decoder分别是什么 Lis ...

  3. 深度学习与人类语言处理-语音识别(part3)

    上节回顾深度学习与人类语言处理-语音识别(part2),这节课我们接着看seq2seq模型怎么做语音识别 上节课我们知道LAS做语音识别需要看完一个完整的序列才能输出,把我们希望语音识别模型可以在听到 ...

  4. [1天搞懂深度学习] 读书笔记 lecture I:Introduction of deep learning

    - 通常机器学习,目的是,找到一个函数,针对任何输入:语音,图片,文字,都能够自动输出正确的结果. - 而我们可以弄一个函数集合,这个集合针对同一个猫的图片的输入,可能有多种输出,比如猫,狗,猴子等, ...

  5. 读《Deep Learning Tutorial》(台湾大学 李宏毅 深度学习教学ppt)后杂记

    原ppt下载:pan.baidu.com/s/1nv54p9R,密码:3mty 需深入实践并理解的重要概念: Deep Learning: SoftMax Fuction(输出层归一化函数,与sigm ...

  6. R语言︱H2o深度学习的一些R语言实践——H2o包

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- R语言H2o包的几个应用案例 笔者寄语:受启发 ...

  7. 碎片︱R语言与深度学习

    笔者:受alphago影响,想看看深度学习,但是其在R语言中的应用包可谓少之又少,更多的是在matlab和python中或者是调用.整理一下目前我看到的R语言的材料: ---------------- ...

  8. Bengio最新博文:深度学习展望

    Bengio最新博文:深度学习展望 人类一直梦想着创造有智能的机器.早在第一台可编程计算机问世前100多年,发明家就对如何能让由连杆和齿轮组成的设备也变得更加智能这一命题充满好奇.后来,20世纪40年 ...

  9. deeplearning.ai 神经网络和深度学习 week4 深层神经网络 听课笔记

    1. 计算深度神经网络的时候,尽量向量化数据,不要用for循环.唯一用for循环的地方是依次在每一层做计算. 2. 最常用的检查代码是否有错的方法是检查算法中矩阵的维度. 正向传播: 对于单个样本,第 ...

随机推荐

  1. 个人云主机 博客上线 家用宽带-树莓派2-certbot-docker 运行环境简介

    https://blog.cuidp.top/ 博客主页,目前刚建好,没什么数据 服务是 https://github.com/TryGhost/Ghost 现插件是https://github.co ...

  2. django的引入安装

    一 django引入 1 web应用介绍 1 什么是web应用 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 ...

  3. Linux基础快捷键

  4. 如何创建Hexo站点的Tags和Categories默认页面

    安装Hexo的categories生成插件 1 $ npm install hexo-generator-category --save 安装Hexo的Tags生成插件 1 $ npm install ...

  5. 2015-09-14-初级vector

    标准库vector类型 #include<vector> using std::vector; vector为一个类模板. vector的初始化 vector<T> v1; v ...

  6. 【GBK、UTF-8、ISO8859-1】三种编码方式总结及实例

    感谢:https://blog.csdn.net/youngstar70/article/details/64117297 一.总结 在Java中,String的getBytes()方法是得到一个操作 ...

  7. springMVC对静态资源访问的处理

    在restful  风格下springMVC会进行如下配置 <servlet> <servlet-name>mvc</servlet-name> <servl ...

  8. 吴裕雄--天生自然python编程:turtle模块绘图(1)

    Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...

  9. Python 模块之间的引用

    项目结构: Dog.Cat模块引用Animal模块 Animal模块代码: # -*- coding:UTF-8 -*- # 定义一个动物类 class Animal(object): def run ...

  10. js实现键盘数字输入

    <html> <head> <meta charset="UTF-8"> </head> <script> functi ...