SimCSE
SimCSE copied to clipboard
batch_labels = np.zeros_like(batch_token_ids[:, :1]) ;batch_labels都为0,那batch_token_ids和dropout的batch_token_ids的相似度矩阵y_pred不应该为1吗
我什么时候用到了batch_labels?
我什么时候用到了batch_labels?
预料样本生成里有
我的问题是哪里用了batch_labels,不是哪里创建了batch_labels。创建了不代表用了,它可能只是一个占位符。
你既然没找到哪里用了batch_labels,怎么可以这么自信地断定“相似度矩阵y_pred不应该为1吗”?
batch_labels作为数据标签,一般是在loss函数中使用的。但本程序中,simcse_loss中的y_true是基于y_pred生成的,所以事实上没有用到数据标签计算loss,这也是为什么作者在博客中说无监督语义相似度比较嘛。要是用了数据标签,那就是有监督了。