最核心的代码是这个: defcompute_kernel_bias(vecs,n_components):"""计算kernel和bias最后的变换:y = (x + bias).dot(kernel)"""vecs=np.concatenate(vecs,axis=0)mu=vecs.mean(axis=0,keepdims=True)cov=np.cov(vecs.T)u,s,vh=np.linalg.svd(cov)W=np.dot(u,np.diag(s**0.5))W=np.linalg....
项目实验代码地址: https://github.com/zhoujx4/NLP-Series-sentence-embeddingsgithub.com/zhoujx4/NLP-Series-sentence-embeddings Base BERT用的是哈工大科大讯飞联合实验室发布的6层RoBERTa。 用于验证的是STS-B数据集(中文版本)的验证集和测试集,监督训练SBERT和SmiCSE用的是SNLI数据集(中文版本)。 数据集...
文本表达进击:从BERT-flow到BERT-whitening、SimCSE ⽂本表达进击:从BERT-flow到BERT-whitening、SimCSE BERT 预训练模型问世以来,改变了很多 NLP 任务的习惯。很多 NLP 任务都会直接在 BERT 的基础上做⼀个 fine-tune,构建⼀个 baseline 模型,既快捷也使⽤,但 BERT 在做⽂本表达任务时也有⼀些明显...
开源代码 Tensorflow版:https://github.com/bojone/BERT-whitening Pytorch版:autoliuweijie/BERT-whitening-pytorch
2. 代码 2.1 训练 2.2 推理 2.3 github 3. 实验复现(中文数据集) 3.1 不使用 BERT Whitening 3.2 使用 BERT Whitening 4. 实验结论 4.1 BERT Whitening效果 4.2 训练集和测试集使用差异 4.3 SimBERT使用效果 4.4 多份数据集 5. 可视效果 5.1 Huggingface 5.2 BERT Whitening 参考 1. 数据集 1.1. STS...