深度学习
XXin_YYYYYY
记录生活,记录自己
展开
-
OSError:libcusparse.so.10.0:cannot open shared object file:No such file or directory
跑图神经网络需要用到torch_geometric,但是在用的出现上述错误,特记录解决过程。版本其实匹不匹配不重要 因为环境中有torch时自然会下载和他匹配的版本,当然可以从torch_geometric的网站下载相应版本,网址:https://pytorch-geometric.com/whl从中选择相应的torch版本,进入链接后会有torch_scatter、torch_cluster、torch_sparse、以及torch_spline_conv,分别下载相应的whl文件,再用pip安装即原创 2021-03-23 20:52:44 · 4849 阅读 · 1 评论 -
关于词向量
转自:https://blog.csdn.net/xpy870663266/article/details/101849044很好的一篇博客,总结的很好,很全面。转载 2020-11-08 00:11:23 · 121 阅读 · 0 评论 -
bert
关于bert的那些面试问题BERT 的基本原理是什么?BERT 是怎么用 Transformer 的?BERT 的训练过程是怎么样的?为什么 BERT 比 ELMo 效果好?ELMo 和 BERT 的区别是什么?BERT 有什么局限性?BERT 的输入和输出分别是什么?针对句子语义相似度/多标签分类/机器翻译翻译/文本生成的任务,利用 BERT 结构怎么做 fine-tuning?BERT 应用于有空格丢失或者单词拼写错误等数据是否还是有效?有什么改进的方法?BERT 的 embeddin转载 2020-11-07 19:57:28 · 298 阅读 · 0 评论 -
激活函数
在深度学习中,信号从一个神经元传入到下一层神经元之前是通过线性叠加来计算的,而进入下一层神经元需要经过非线性的激活函数,继续往下传递,如此循环下去。由于这些非线性函数的反复叠加,才使得神经网络有足够的capacity来抓取复杂的特征。为什么要使用非线性激活函数?答:如果不使用激活函数,这种情况下每一层输出都是上一层输入的线性函数。无论神经网络有多少层,输出都是输入的线性函数,这样就和只有一个隐藏层的效果是一样的。这种情况相当于多层感知机(MLP)。1、Sigmoid函数优点:(1)便于求导的平滑转载 2020-11-07 19:14:34 · 165 阅读 · 0 评论 -
RNN及LSTM
1.RNN结构图:公式:Si=f(UXi+WSi−1)S_i=f(UX_i+WS_{i-1})Si=f(UXi+WSi−1) ==> 使用tanh激活函数Oi=g(VSi)O_i=g(VS_i)Oi=g(VSi)反向传播:梯度消失:RNN梯度消失是因为激活函数tanh函数的倒数在0到1之间,反向传播时更新前面时刻的参数时,当参数W初始化为小于1的数,则多个(tanh函数’ * W)相乘,将导致求得的偏导极小(小于1的数连乘),从而导致梯度消失。梯度爆炸:当参数初始化为原创 2020-11-07 18:50:48 · 100 阅读 · 0 评论 -
BN & LN
BN和LN都是常用的归一化方法,它们的目的也都是使某一层的输出能够落在激活函数比较敏感的区间内,使得梯度变大,训练速度加快,从而也能缓解梯度消失的情况。 BN是在batch这个维度上去做归一化,它使用的是一个batch中的全部数据,在相同的维度上计算均值和方差。也就是说,如果现在有一个B*L的数据,我们就需要分别计算L个均值和方差。 LN是在层这个维度上去做归一化,它只使用单个样本进行计算,也就是说对于B*L的数据,我们需要计算B个均值和方差。 借用网上的图进行说明: ...原创 2020-11-07 15:27:59 · 352 阅读 · 0 评论 -
关于面试中的那些Transformer
话不多说,先上图吧!!!1.简介Transformer,使用的就是Seq2Seq框架,解决的也是Seq2Seq的问题,但是它利用独有的自注意力机制,解决了序列中的长期依赖问题,同时实现了并行计算,在很多任务中都有很好的表现。它也是由编码器和解码器组成。2.编码器Transformer的编码器是由一个多头自注意力机制以及一个前馈神经网络组成,每个层后都跟有一个残差连接以及层归一化。一共有6层,第一层的输入是词向量,其他每层的输入都是上一层的输出。2.1多头自注意力首先多头自注意力机制,它将输入序原创 2020-09-17 16:31:16 · 503 阅读 · 1 评论