Task07:优化算法进阶;word2vec;词嵌入进阶
算法细节不是很感兴趣,就看了看轨迹理解了一下
优化算法进阶:
1.指数加权移动平均EMA
2.Adagrad:给各维度各自的学习率、没用到EMA、出现梯度消失的原因是自适应学习率分母的不断累加使其存在最终趋于0的可能
3.RMSProp:利用EMA解决了Adagrad梯度消失的问题
4.AdaDelta:基于RMSProp的改进算法,其只有一个超参数
5.Adam:使用了Momentum算法,其是RMSProp与Momentum的结合
补充内容可参考:https://zhuanlan.zhihu.com/p/108479789、魏秀参CNN book, 以及cnn trick
关于NLP 领域推荐:
Regularizing and Optimizing LSTM Language Models(LSTM 的训练技巧)
Massive Exploration of Neural Machine Translation Architectures(NMT 里各个超参的影响)
Training Tips for the Transformer Model(训练 Transformer 时会发生的各种现象)
RoBERTa: A Robustly Optimized BERT Pretraining Approach(BERT 预训练技巧,虽然跟大部分人没啥关系)
CV :
Training ImageNet in 1 Hour(大批量训练技巧)
Bag of Tricks for Image Classification with Convolutional Neural Networks(各种训练技巧集大成)
Bag of Freebies for Training Object Detection Neural Networks(同上)
EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks(当前对参数利用最有效的 CNN,类似地还有一篇 EfficientDet)
word2vec:
是词嵌入工具,将词表示定长的向量,通过在语料库上的预训练使得这些向量可以表达不同词之间的相似和类比关系,从而引入语义信息。
1.基于概率模型的两种w2v:Skip-Gram、Continuous bag-of-words
也就是用条件概率来表示背景次与中心词的关系
2.语料库是什么?例如Penn Tree Bank小型语料库,就是文章采样,包括三集
W2V会学着去刻画离散词到连续空间中向量的映射
3.二次采样:为什么与低频词同时出现会对训练w2v模型更有益?物以稀为贵吗
思想就是,词频越高,在二次采样时就会以更大的概率被丢弃
4.Skip-Gram跳字模型:
- 离散词会被表示为2个d维向量(中心词、背景词)以计算条件概率
- 损失函数采用二元交叉熵
- 实现时通过词向量的余弦相似度搜索近义词
可参考:https://www.zybuluo.com/Dounm/note/591752
负采样:https://blog.csdn.net/itplus/article/details/37998797
one-hot和word2vec的区别:https://blog.csdn.net/mawenqi0729/article/details/80698780
词嵌入进阶:
1.上面的W2V仍然不够完美:
- 子词嵌入:FastText、BytePairEncoding算法
- GloVe全局向量词嵌入(Global:运用到了全局统计信息)
2.?预训练得到的词向量,就相当于这里的标签是真实数据集的统计概率,输出则是条件概率,用刻画分布距离的度量来学
3.应用:求类比词和近义词
4.什么叫做好的模型设计则能提高“模型的上界”?
5.关于GloVe:
- 使用了非概率分布的变量,并添加了中心词和背景词的偏差项,这样做是在松弛概率的规范性,即各个概率事件的概率和加起来等于1
- 使用了一个单调递增的权重函数来加权各个损失项
6.求类比词时可以复用求近义词的代码:求类比词时我们先会对给定的三个词的词向量进行加减运算,以得到一个虚拟的词向量,再去求这个虚拟词向量的近义词,就可以找到类比词
7.啊2020年了普通小市民的计算能力和资源还是不够,只能加载别人的预训练模型然后调调