vdogmcgee / SimCSE-Chinese-Pytorch

SimCSE在中文上的复现,有监督+无监督
MIT License
265 stars 48 forks source link

无监督训练数据构建问题 #18

Open OnceJune opened 1 year ago

OnceJune commented 1 year ago

https://github.com/vdogmcgee/SimCSE-Chinese-Pytorch/blob/e04263b1846fceef8dff60ead29d35e02947918b/simcse_unsup.py#L73 这里的实现是添加了自身两次,想请教一下论文当中的”同一个句子的不同 Dropout Mask“是怎么体现的呢?

vdogmcgee commented 1 year ago

网络中有Dropout层 , 自带随机性 , 前后添加了两次 , 出来的embedding 也是不一样的 , 相比添加 / 删除一个字, 这样的操作保证了对原句意思影响最小

OnceJune commented 1 year ago

网络中有Dropout层 , 自带随机性 , 前后添加了两次 , 出来的embedding 也是不一样的 , 相比添加 / 删除一个字, 这样的操作保证了对原句意思影响最小

在推理的时候这个 dropout 依然会生效吗?

vdogmcgee commented 1 year ago

推理的时候 , model.eval() 关掉了Dropout 和BN , 所以不影响