【动手学深度学习】Task07笔记汇总

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年了普通小市民的计算能力和资源还是不够,只能加载别人的预训练模型然后调调

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了在GPU上搭建动手深度习pytorch环境,你需要按照以下步骤进行操作。 首先,你需要安装Anaconda来管理你的Python环境。你可以从官方网站 https://www.anaconda.com/ 下载适用于你操作系统的Anaconda安装程序。安装完成后,你可以使用conda命令创建一个新的环境。 接下来,你需要安装CUDA。CUDA是用于支持GPU计算的NVIDIA的并行计算平台和API模型。你可以从NVIDIA的官方网站下载适用于你的显卡型号的CUDA安装程序进行安装。 然后,你需要安装CUDNN。CUDNN是一个针对深度神经网络加速的GPU库。你可以从NVIDIA的开发者网站下载CUDNN并按照安装说明进行安装。 接下来,你可以使用conda命令来安装pytorch。你可以复制以下命令,在新建的环境中输入: ``` conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch ``` 安装完成后,你可以在命令行中输入python进入Python解释器环境,并导入torch模块来测试pytorch的安装。你可以使用以下代码进行测试: ```python import torch from __future__ import print_function x = torch.rand(5, 3) print(x) print(torch.cuda.is_available()) # 测试CUDA是否可用 ``` 这样,你就成功搭建了动手深度习pytorch环境,并且可以在GPU上进行深度习任务了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [01 动手习深度习-配置环境pytorch](https://blog.csdn.net/qq_44653420/article/details/123883400)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值