您好,请问应该怎么修改最后句向量的维度呢,768维对我后续的任务而言太高了,我只需要100维或者50维的向量哎,(谢谢你)
Opened this issue · 20 comments
@27232xsl 你可以在你的模型输入层添加一个全连接层进行降维
@好像有点难度,我尝试一下吧,谢谢你,先不要close掉我的问题哦,我可能要回来接着问的,谢谢你哈
我还有两个问题想请教一下 1.我要是用英文语料来训练并且只得到句向量的话,是否可以直接用你的程序不需要任何修改 2.我有一段文本(有好几句话)是来描述一个命名实体的,现在想得到这段文本的段向量,是否只能先得到句向量再进行相加呢?有别的思路吗?(灰常谢谢你!!!)
@Biaocsu 我根据下游任务做了降维,但是和这个bert算法没有关系的,让bert的768维向量乘以个768*100维的矩阵,自己设了目标函数不断训练这个矩阵,最后会得到矩阵,然后再相乘就可以降维了
这部分的代码实现很简单的,但是我的下游任务有点复杂,代码灰常灰常灰常长,贴不上来,你可以也这样试一下的,,,祝你成功哈哈哈哈
判断是不是最好矩阵难道不是通过在下游任务的最终效果看出来的吗,在下游任务中表现不错就可以说明这是个好矩阵啊。。。对吧
@Biaocsu 对啊,矩阵可以换的啊,评价这个矩阵好不好和评价这个768维的向量好不好是一样的啊,下游任务效果好,比如说我分类分的很清楚,这个向量就不错啊,,,不是吗,我觉得很对劲啊~~~~哈哈哈哈虽然我的下游任务效果并不好!!!!
因为我可以随便设定一个768*100的矩阵(这个矩阵一定可以是某个目标函数的最优解)
@Biaocsu 我知道你指的是哪里不对劲,我也思考过,你是觉得这个最终100维的向量怎么能调来调去呢,可是正常情况应该就是随着下游任务调的,哪有那么多通用的还适合各种下游任务的向量,比如有一条鱼,有的人喜欢煎的,有的人喜欢煮的,有的人喜欢炖的,鱼就是768维向量,个人喜好就是100维向量,煎煮炖等做法就是矩阵,难道这个人吃什么不是应该根据个人喜好决定鱼的做法吗?
哈哈哈,我竟无法反驳。不过我还是通过全连接层降维吧。如果你最终这个词向量用在任务上效果表现很好,麻烦告知一声哈
都是摸索着不断成长,加油