2021/2022李宏毅机器学习笔记-Transform

Transformer就是一个Sequence-to-sequence的model,他的缩写,我们会写做Seq2seq,那Sequence-to-sequence的model,又是什么呢?

我们之前在讲input a sequence的,case的时候我们说input是一个sequence,那output有几种可能

  ●一种是input跟output的长度- 样,这个是在作业二 的时候做的
  ●有一个case是output指,output一 个东西,这个是在作业四的时候做的
  ●那接来作业五的case是,我们不知道应该要output多长,由机器自 己决定output的长度,即Seq2seq

1.举例来说,Seq2seq一个很好的应用就是语音辨识

   在做语音辨识的时候,输入是声音讯号,声音讯号其实就是一串的vector ,输出是语音辨识的结果,也就是输出的这段声音讯号,所对应的文字

我们这边用圈圈来代表文字,每一个圈圈就代表,比如说中文裡面的一个方块子,今天输入跟输出的长度,当然是有一些关系,但是却没有绝对的关系,输入的声音讯号,他的长度是大T,我们并没有办法知道说根据大T输出的这个长度N一定是多少。

输出的长度由机器自己决定,由机器自己去听这段声音讯号的内容,自己决定他应该要输出几个文字,他输出的语音辨识结果,输出的句子裡面应该包含几个字,由机器自己来决定,这个是语音辨识

2.还有很多其他的例子,比如说作业五我们会做机器翻译


让机器读一个语言的句子 ,输出另外-一个语言的句子,那在做机器翻译的时候输入的文字的长度是N,输出的句子的长度是N',那N跟N'之间的关系,也要由机器自己来决定

 

输入机器学习这个句子,输出是machine learning,输入是有四个字,输出有两个英文的词汇,但是并不
是所有中文跟英文的关系,都是输出就是输入的二分之- -,到底输入 -段句子,输出英文的句子要多长,
由机器自己决定

3.甚至可以做更复杂的问题,比如说做语音翻译

 

语音翻译就是,你对机器说一句话,比如说machine learning,他输出的不是英文,他直接把他听到的英
文的声音讯号翻译成中文文字

你对他说machine learning,他输出的是机器学习

為什麼我们要做Speech Translation这样的任务為什麼我们不直接先做一个语音辨识,再做一个机
器翻译把语音辨识系统跟机器翻译系统,接起来就直接是语音翻译?

因為世界上有很多语言,他根本连文字都没有,世界上有超过七千种语言,那其实在这七千种语言,有超过半数其实是没有文字的,对这些没有文字的语言而言,你要做语音辨识,,可能根本就没有办法,因為他没有文字,所以你根本就没有办法做语音辨识,但我们有没有可能对这些语言,做语音翻译,直接把它翻译成,我们有办法阅读的文字

 Seq2seq for Chatbot

Seq2seq for Syntactic Parsing(句法分析)     multi-la bel classification

Seq2seq for Object Detection

Encoder-Decoder


  我们现在就是要来学,怎麼做seq2seq这件事,一般的seq2seq's model,它里面会分成两块一块是Encoder,另外一块是Decoder

Encoder
seq2seq model Encoder要做的事情,就是给一排向量,输出另外一排向量

 给一排向量、 输出一排向量这件事情很多模型都可以做到,可能第一个想到的是 我们刚刚讲完的self-attention,其实不只self-attention,RNN CNN其实也都能够做到input- -排向量output另外一个同样长度的向量
在transformer裡面, transformer的Encoder,用的就是self-attention,这边看起来有点复杂,我们用另外

现在的Encoder裡面,会分成很多很多的block

每一个block ,其实并不是neural network的一层.
每一个block裡面做的事情,是好几个layer在做的事情。

每一个block 又是做这样的事情

 

 Decoder


Encoder做的事情,就是输入一个Vector Sequence,输出另外一个Vector Sequence

接下来,就轮到Decoder运作了,Decoder要做的事情就是产生输出,也就是产生语音辨识的结果,
Decoder怎么产生这个语音辨识的结果

 

 稍微比较一下它们之间的差异那你会发现说,如果我们把Decoder中间这一块,中间这一块把它盖起来,其实Encoder跟Decoder,并没有那麼大的差别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值