transformer
背景
目前我们输入的都是一个向量,最后输出类别或者数值(例如一张图片分类或检测task)
假设现在输入变成一个向量序列,同时长度会改变,那该怎么解决呢?
第一个例子:
词汇序列转换:一个单词对应一个向量,一个句子就是一排长度不一的向量,如何把一个单词表示成一个向量呢?
有两种做法:one-hot Encoding和Word Embeding
one-hot Encoding缺点是每个词汇之间我们看不到任何联系
Word Embedding每个词向量是有语义顺序的,画出来就会是动物在一块(dog,cat,rabbit),植物在一块(tree,flower)等
第二个例子:
一段声音其实就是一排向量,我们取一段语音信号作为窗口,把其中的信息描述为一个向量(帧),滑动这个窗口就得到这段语音的所有向量,一分钟有6000个声音向量
transfoemer的结构
可以看出它是一个典型的seq2seq结构(encoder-decoder结构),Encoder里面有N个重复的block结构,Decoder里面也有N个重复的block结构。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LP瞎逼逼!
评论