nlp数据增强+Roformer-sim(也叫做是SimBERTv2 ) Roformer-sim SimBERTv2 使用 : 用来做数据扩充和数据增强。 代码运行环境 python3.6 tensorflow 1.14 + keras 2.2.5 + bert4keras 0.10.6 1. pip install keras==2.2.5 -i https://pypi.tuna.tsinghua.edu.cn/simple/ 1. 假设报错:TensorFlow binary was no...
大家知道,从SimBERT到SimBERTv2(RoFormer-Sim),我们算是为中文文本相似度任务建立了一个还算不错的基准模型。然而,SimBERT和RoFormer-Sim本质上都只是“弱监督”模型,跟“无监督”类似,我们不能指望纯弱监督的模型能达到完美符合人的认知效果。所以,为了进一步提升RoFormer-Sim的效果,我们尝试了使用开源的一些标注数据来...
\mathrm{Attention}(\mathbf{Q},\mathbf{K},\mathbf{V})_m=\frac{\sum_{n=1}^N\mathrm{sim}(\boldsymbol{q}_m,\boldsymbol{k}_n)\boldsymbol{v}_n}{\sum_{n=1}^N\mathrm{sim}(\boldsymbol{q}_m,\boldsymbol{k}_n)}(17) 原始的自注意力选择\mathrm{sim}(\mathbf{q}_m,\mathbf{k}...
RoFormer-Sim 是 SimBERT 的升级版,我们也可以通俗地称之为 “SimBERTv2”,而 SimBERT 则默认是指旧版。从外部看,除了基础架构换成了 RoFormer 外,RoFormer-Sim 跟 SimBERT 没什么明显差别,事实上它们主要的区别在于训练的细节上,我们可以用两个公式进行对比: 除此之外,RoFormer-Sim 用到了更多的训练数据,并且拓...
然而,SimBERT 和 RoFormer-Sim 本质上都只是“弱监督”模型,跟“无监督”类似,我们不能指望纯弱监督的模型能达到完美符合人的认知效果。所以,为了进一步提升 RoFormer-Sim 的效果,我们尝试了使用开源的一些标注数据来辅助训练。本文就来介绍我们的探索过程。
其中q_{[2i:2i+1]} 表示q 的2i \backsim 2i+1 维度的值。令 h_i=q_{[2i:2i+1]}k^*_{[2i:2i+1]}, S_j=\textstyle\sum^{j-1}_{i=0}e^{i(m-n)\theta_i} ,则有: \sum^{d/2-1}_{i=0}q_{[2i:2i+1]}k^*_{[2i:2i+1]}e^{i(m-n)\theta_i}= \sum^{...
原始的self-attention选择sim\big({q}_{m},\,k_{n}\big)\ \longrightarrow\ \exp\big({q}_{m}^{\mathsf{T}}\mathsf{k}_{n}\,\big/\mathrm{}{}\sqrt{d})注意,原始的self-attention应该为每一对token计算query和key的内积,这有一个二次复杂度({{O}}^{2})按照Katharopoulos等人[2020],线性...
\end{pmatrix}\\远程衰减对向量q、k按维度d成对分组,则RoPE的内积可转换为:(R^d_{\Theta,m}W_{q}x_m)^T(R^d_{\Theta,n}W_{k}x_n)=Re[\sum^{d/2-1}_{i=0}q_{[2i:2i+1]}k^*_{[2i:2i+1]}e^{i(m-n)\theta_i}]\\其中q_{[2i:2i+1]}表示q的2i \backsim 2i+...
(latents)}} + \underbrace{\mathbb{E}_{x\sim p_x}[- \log_2{p_{\hat z}(\hat{z})}]}_{\text{rate (hyper-latents)}} + \underbrace{\lambda \cdot \mathbb{E}_{x\sim p_x}{ ||x - \hat{x}||^2_2 }}_{\text{distortion}}, \end{split} \label{eq:loss1} \end{equation...