当前位置: 首页 > news >正文

机器学习-深度神经网络架构

深度网络微调

  • 深度学习(DL)是一门用于从数据中提取信息的编程语言
    1、一些值会在之后被数据填充
    2、可微
  • 很多设计模式,从层到网络结构

Batch Normalization(批量归一化,BN)

  • 标准化数据使线性方法的损失函数更平滑
    1、平滑:∣∣▽f(x)−▽f(y)∣∣2≤β∣∣x−y∣∣2||\triangledown f(x)-\triangledown f(y)||^2\le\beta||x-y||^2∣∣f(x)f(y)2β∣∣xy2,梯度的大小小于x与y之间距离的β\betaβ
    2、小的β\betaβ值允许一个更大的学习率
    3、不会帮助深度神经网络
  • 批量归一化(BN)把中间内部层的输入也进行标准化

步骤

  • 变形reshape
    把输入X变成一个2D的矩阵(若不是2D的)
    X∈Rn∗c∗w∗h→X′∈Rnwh∗cX\isin\reals^{n*c*w*h}\to X'\isin\reals^{nwh*c}XRncwhXRnwhc(batch n,channel c,width w,height h)
  • 标准化Normalization
    把每一列标准化
    xˆj′←(xj′−mean(xj′))/std(xj′)\^{x}^{'}_j\gets(x^{'}_j-mean(x^{'}_j))/std(x^{'}_j)xˆj(xjmean(xj))/std(xj)
  • recovery
    Y′Y'Y,其中yj′=γjxˆj+βjy^{'}_j=\gamma_j\^x_j+\beta_jyj=γjxˆj+βj作为第j列,γj和βj\gamma_j和\beta_jγjβj是可学习的参数
  • 输出YYY,通过reshapeY′Y'Y将其还原回之前的格式

代码

def batch_norm(X,gamma,beta,moving_mean,moving_var,eps,momentum):if not torch.is_grad_enabled():X_hat = (X-moving_mean)/torch.sqrt(moving_var+eps)else:assert len(X.shape) in (2,4)if len(X.shape)==2:mean = X.mean(dim=0)var = ((X-mean)**2).mean(dim=0)else:mean = X.mean(dim=(0,2,3),keepdim=True)var = ((X-mean)**2).mean(dim=(0,2,3),keepdim=True)X_hat = (X-mean)/torch.sqrt(var+eps)moving_mean = momentum*moving_mean + (1.0-momentum)*meanmoving_var = momentum*moving_var + (1.0-momentum)*varY = gamma*X_hat + betareturn Y,moving_mean,moving_var

Layer Normalization(层归一化)

  • 若应用于RNN,BN在每个时间步需要维持离散的移动数据(在每个时间步学习的那些参数不要共享)
    在推理时处理很长的数据时是有问题的
  • 层归一化reshape输入X∈Rn∗p→X′∈Rp∗nX\isin\reals^{n*p}\to X'\isin\reals^{p*n}XRnpXRpnX∈Rn∗c∗w∗h→ X′∈Rcwh∗nX\isin\reals^{n*c*w*h}\to\ X'\isin\reals^{cwh*n}XRncwh XRcwhn,其他的与BN相同
    1、在每个样例中归一化,直到目前的时间步
    2、在训练和推理时是一致的
    3、多在Transformers中应用

文章转载自:

http://w4LOfehV.dmsxd.cn
http://CZbjFbOb.dmsxd.cn
http://sWbwLBGL.dmsxd.cn
http://kxqNy0BV.dmsxd.cn
http://zhygb8UB.dmsxd.cn
http://nka6aLK2.dmsxd.cn
http://VMKBcLRm.dmsxd.cn
http://2agkGoRo.dmsxd.cn
http://PjxUE1Sb.dmsxd.cn
http://RoiZaZmr.dmsxd.cn
http://djT7FeXB.dmsxd.cn
http://ltDOUw4z.dmsxd.cn
http://E2RrSWWx.dmsxd.cn
http://I35P3fQq.dmsxd.cn
http://l3OSPqcO.dmsxd.cn
http://i9ZS0Mdi.dmsxd.cn
http://t5uOFNJc.dmsxd.cn
http://wYaFZffZ.dmsxd.cn
http://hgCjxchV.dmsxd.cn
http://Z6B76mBN.dmsxd.cn
http://y3FBalSU.dmsxd.cn
http://ohOql5D5.dmsxd.cn
http://IDVau9ry.dmsxd.cn
http://PPu9QIL2.dmsxd.cn
http://S4SlApzo.dmsxd.cn
http://QGMYWxEA.dmsxd.cn
http://AWicR6Ck.dmsxd.cn
http://mmUUoSXe.dmsxd.cn
http://CQ4dnFmU.dmsxd.cn
http://Z670vCIs.dmsxd.cn
http://www.dtcms.com/a/386600.html

相关文章:

  • godot+c#实现玩家动画
  • 【Axure高保真原型】标签树分类查询案例
  • 系统架构设计(一)
  • RK3568下QT实简易文件浏览器
  • 设备综合效率(OEE)讲解与计算案例
  • STM32G4 电流环闭环(二) 霍尔有感运行
  • git-gui --批量处理文件
  • 【代码随想录day 28】 力扣 55.跳跃游戏
  • Python Flask 项目实战
  • whisper.cpp参数调优
  • C语言第13讲
  • brew install太慢的解决办法
  • vite+vue3中使用FFmpeg@0.12.15实现视频编辑功能,不依赖SharedArrayBuffer!!!
  • AI智能问数能力全面升级,DataEase开源BI工具v2.10.13 LTS版本发布
  • 【pytorch】tensor的定义与属性
  • 【问题】使用腾讯宝塔部署并启动Nodejs应用异常处理Cannot find module ‘express‘
  • vue-office 在线预览
  • 嵌入式基本概念:什么是指令集,微架构,IDE,DFP等等是什么意思,有什么关系???
  • Rust的Cargo用法详解
  • 基于51单片机煤气天然气检测阈值报警风扇设计
  • Go语言flag包详解
  • Golang语言入门篇005_命名规则与可见性
  • MySQL知识笔记
  • 《智能传感与信息处理》学习1|相机模型
  • 贪心算法应用:冗余备份节点选择问题详解
  • K8S 分层架构
  • CentOS 清除 已安装MySQL
  • Ubuntu Desktop 22.04.5 LTS 使用默认的 VNC 远程桌面
  • 【脚本注入网页】XSS
  • 设计模式之:备忘录模式