【跟李沐学AI—机器学习】7 深度神经网络的共用设计及微调


深度神经网络的许多参数是可以学习得到的

先定义一个损失函数,输入数据后通过误差反向传递,进行权重更新

此处讲批量归一化和层归一化

1 Batch Normalization

对数据进行标准化,使得数据均值为0、方差为1,可以使得损失函数更加平滑(当x和y相隔较远时,其导数不会有太大变化,这样子学习率可以设定得更大一些,即步长更大)。

主要分为4步:

  1. reshape变形:把输入变形为2D矩阵
  2. normalize标准化:每一列进行标准化 x = [x-mean(x)] / std(x)
  3. recovery还原:y = γx + β,有时候还是希望有点噪声,γ、β可学习
  4. 把y还原为原来的维度进行输出

2 Layer Normalization

主要用于循环神经网络RNN中

LN与BN的不同在于reshape时结果会进行转置,其余的和BN一致

其优势在于,数据的均值和方差是在样本中,预测时不需要存储全局的信息

3 微调 in 迁移学习

  1. 从一个模型中训练出特征,把这个特征拿去给别的模型使用
  2. 在另一个相关的模型使用训练出的结果
  3. 新模型有一些调整也可以使用原来的训练结果

预训练模型:

神经网络大致可分为两块

编码器:即特征提取器,把原始像素转换为线性可分特征

解码器:即线性分类器,进行数据标号或者做一些决策

而预训练模型一般是在比较大的数据上训练,具有一定的泛化能力,虽然在最后的解码器中不太起作用,但是在编码器中多多少少学到了东西

新的模型上架构应该是一致的,可以进行一些微调

预训练模型可以去tensorflow hub、TIMM找

4 微调 in NLP自然语言处理

NLP中没有像在CV中的标注好的大模型,而是有大量的没有标注的语言文档

所以NLP更多使用自监督训练,即标号是自己产生的,著名模型有Language model(LM,预测下一个词)、Masked language model(MLM,随机遮挡词语并进行预测,即完形填空)

预训练模型:

  1. Word embeddings:完形填空
  2. 基于transformer

大致原理也和CV预训练模型一致

找预训练模型可以去huggingface

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值