今天开始终於要来讲self-attention了,由於我对於self-attention比较不熟,因此先透过
李弘毅老师的影片来恶补一下,影片连结
在CNN中,Model的输入通常都是一个vector,但是如果今天的输入是一排的向量,也就是说每次输入的长度都不一样呢,那model要怎麽处理呢?
这个问题就像是说翻译问题,I have a pen 我有一支笔,这是一个由四个字的序列转换为五个字序列的过程,所以输入和输出的长度是不一样的
在处理文字转成向量(vector)的时候,有两个方法,一个就是利用One-hot Encoding,如果英文有10万个字,那就创建一个10万的vector,然後把所有的字都去做标签,如上图所示,但是这样做会有一个问题,就是没有办法知道字跟字之间的关系,因此就出现了一个word embedding的方法,可以利用这个方法在标签文字的时候知道字和字之间的关系
那这个模型的输出会是什麽呢?
会有三个可能性
第一个可能性
每一个vector都输出一个label,也就是说输出跟输入的长度是一样的
例如:词性标注
第二个可能性
整个sequence只需要输出一个label
例如:情感分析,可以让机器去训练出一个句子是正面的句子还是负面的句子
第三个可能性
要让机器自己猜说要输出多少个label
例如上面翻译的举例,四个字的序列转换成5个字的序列
当我们现在有4个vector输出的时候,我们可以把这四个vector都丢进全联接层
但是这样会出现一个问题,就是我们没有办法判断这4个vector的相关联性,但是如果我们将这四个vector分别丢进每一个对应输出的全连阶层,除了会造成运算量过大,还会产生一个问题,就是没办法判断到底要输出多少个label
今天先打到这边,明天继续
接续昨天提到的 PayPal Checkout ,今天要试着把 PayPal 付款按钮加到页面上 P...
即便政府三令五申不得将成药或保健药品夸大疗效,各大药厂似乎都阳奉阴违,因为实在没办法,这块市场的大饼...
嘿~~ 各位好,我是菜市场阿龙! Youtube 频道:https://www.youtube.co...
NACL vs SG 的安全设定介绍 当请求想进出在 Private Subnet 内的 EC2 ...
了解本地端的版本控制该如何进行後,必须再学习怎麽将档案 push 到 Remote Reposito...