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

深度网络微调

  • 深度学习(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≤β∣∣x−y∣∣2,梯度的大小小于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}X∈Rn∗c∗w∗h→X′∈Rnwh∗c(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′←(xj′−mean(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′将其还原回之前的格式

代码

python 复制代码
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)*mean
		moving_var = momentum*moving_var + (1.0-momentum)*var
	Y = gamma*X_hat + beta
	return 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}X∈Rn∗p→X′∈Rp∗n,X∈Rn∗c∗w∗h→ X′∈Rcwh∗nX\isin\reals^{n*c*w*h}\to\ X'\isin\reals^{cwh*n}X∈Rn∗c∗w∗h→ X′∈Rcwh∗n,其他的与BN相同
    1、在每个样例中归一化,直到目前的时间步
    2、在训练和推理时是一致的
    3、多在Transformers中应用
相关推荐
rgb2gray1 小时前
增强城市数据分析:多密度区域的自适应分区框架
大数据·python·机器学习·语言模型·数据挖掘·数据分析·llm
算家计算1 小时前
芯片战打响!谷歌TPU挑战英伟达:AI算力战争背后的行业变局
人工智能·nvidia·芯片
技术支持者python,php2 小时前
训练模型,物体识别(opencv)
人工智能·opencv·计算机视觉
爱笑的眼睛112 小时前
深入理解MongoDB PyMongo API:从基础到高级实战
java·人工智能·python·ai
软件开发技术深度爱好者2 小时前
基于多个大模型自己建造一个AI智能助手
人工智能
中國龍在廣州2 小时前
现在人工智能的研究路径可能走反了
人工智能·算法·搜索引擎·chatgpt·机器人
攻城狮7号2 小时前
小米具身大模型 MiMo-Embodied 发布并全面开源:统一机器人与自动驾驶
人工智能·机器人·自动驾驶·开源大模型·mimo-embodied·小米具身大模型
搜移IT科技3 小时前
【无标题】2025ARCE亚洲机器人大会暨展览会将带来哪些新技术与新体验?
人工智能
信也科技布道师FTE3 小时前
当AMIS遇见AI智能体:如何为低代码开发装上“智慧大脑”?
人工智能·低代码·llm
青瓷程序设计3 小时前
植物识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习