Visualization of a 12-layer BERT for sentence encoding/embedding

tcbh2hod  于 1个月前  发布在  其他
关注(0)|答案(6)|浏览(45)

使用BERT作为句子编码器(即将可变长度的句子Map到固定长度的向量)的主要关注点之一是选择哪个层进行池化以及如何进行池化。我在UCI-News Aggregator Dataset上进行了可视化,其中我随机抽取了20K条新闻标题;从不同层获取句子编码,并使用最大池化和平均池化,最后通过PCA将其降维到2D。数据只有四个类别,用红色、蓝色、黄色和绿色表示。BERT模型是由谷歌发布的uncased_L-12_H-768_A-12

完整线程可以在这里查看:https://github.com/hanxiao/bert-as-service#q-so-which-layer-and-which-pooling-strategy-is-the-best

r6hnlfcb

r6hnlfcb1#

对于那些对使用BERT模型作为句子编码器感兴趣的人,欢迎查看我的仓库bert-as-service:https://github.com/hanxiao/bert-as-service。你可以用两行代码获得句子/ELMo类似的词嵌入。

kgsdhlau

kgsdhlau2#

@hanxiao 这句话是通过平均词向量来表示整个句子的编码吗?

stszievb

stszievb3#

你能用简单的语言解释一下你是如何从词嵌入得到句子嵌入的吗?

hjqgdpho

hjqgdpho4#

@hanxiao 这句话是通过计算词向量的平均值来表示整个句子的吗?
我认为它不是通过计算词嵌入的平均值来实现的。

kcugc4gi

kcugc4gi5#

@hanxiao 这句话是通过平均词向量来表示整个句子的编码吗?
你可以查看这两张图片的标题,它们分别展示了池化策略(即REDUCE_MEAN和REDUCE_MAX)。

ercv8c1e

ercv8c1e6#

关于可视化的惊人作品!

相关问题