AI_Pytorch_损失函数

发布时间 2023-06-29 11:32:51作者: 辰令

数据和向量

 损失函数 

数据的归一化

    Z-score   均值方差归一化(standardization):
        把所有数据归一化到均值为0方差为1的分布中。适用于数据分布没有明显的边界,有可能存在极端的数据值。
		数据符合正态分布,消除离群点的影响
    min-max标准化 最值归一化(Normalization):
     把所有数据映射到0-1之间。适用于分布有明显边界的情况,受 outliner影响较大
       数据符合均匀分布的情况比较适用

向量的归一化

 向量大小和归一化(vector magnitude & normalization)
 范数归一化就是将数据按照范数进行缩放,使得数据的范数等于1。
   数学中,向量(也称为欧几里得向量、几何向量、矢量),指具有大小(magnitude)和方向的量
    向量的长度,即是向量本身的內积开平方
  向量范数(vector norm)
     范数是一种加强了的距离或者长度定义,比距离多一个数乘的运算法则

神经网络标准化与正则化

BN、LN、IN和GN都属于标准化操作
    Batch Normalization
      输入数据独立同分布 每层输入神经元的分布强行拉回到标准正态分布,这样做可以避免梯度消失问题,且可以加快收敛、
    Layer Normalization
      同一层的每个神经元具有相同的均值和方差,而不同的输入样本具有不同的均值和方差
    Group Normalization
    
    Instance Normalization

正则化 Regularization-包括L1、L2(L2 regularization也叫weight decay),dropout
  L1、L2正则化是通过修改代价函数来实现的,
  而Dropout则是通过修改神经网络本身来实现的,它是在训练网络时用的一种技巧(trike)
     L1正则化具备稀疏性。L2正则化可以很好的解决过拟合问题
     原始的代价函数后面加上一个L1正则化项,即所有权重w的绝对值的和,乘以λ/n
     L2正则化就是在代价函数后面再加上一个正则化项:
	 
数据增强
  数据集扩增(data augmentation

损失函数

1.模型:--网络结构和网络参数个数
   回归模型 分类模型
    最小二乘只适合于损失函数相对于回归系数的偏导能直接使用数学变换求出解析解的问题,如线性回归。最小二乘得到解的是全局最优解
	
  网络参数初始化	

2.损失函数(loss function),或“目标函数”、“代价函数”。损失函数的本质是一种描绘拟合效果与真实效果之间差异的函数
    分类损失和回归损失
	MSE就是计算预测值和真实值之间的欧式距离。预测值和真实值越接近,两者的均方差就越小
	交叉熵损失(Cross Entropy)

3.优化方法(optimization)-:在一系列的条件下,寻求最优方案使得目标达到最优的问题统称为优化问题
 优化方法直接作用对象是损失函数
 损失函数可以写成以参数作为自变量的函数形式,这样我们利用数学工具就可以进行参数的最优估计,从而得到一个较为合适的模型
   神经网络(深度学习)常⽤的4种最优化方法——
    SGD、Momentum、AdaGrad、Adam 
	梯度下降法: 梯度法思想的三要素:出发点、下降方向、下降步长。
	  在单变量的函数中,梯度其实就是函数的微分,代表着函数在某个给定点的切线的斜率
        在多变量函数中,梯度是        一个向量,向量有方向,梯度的方向就指出了函数在给定点的上升最快的方向
	    步长设为常数Δ: 所以用λ|W|来代替Δ,而这里的λ就是学习率
	最小二乘是通过对自变量和因变量进行数学变换求导,直接到达最低点,不需要迭代
	
	梯度累积 (Gradient Accumulation), 冻结(Freezing),自动混合精度训练( Automatic Mixed Precision,)
	8位优化器( 8-bit Optimizers)和 Gradient Checkpointing
	
eg:
  Transformer模型中的损失函数通常是交叉熵损失函数,用于衡量模型预测的概率分布与真实标签的概率分布之间的差异
  Transformer模型中,通常使用学习率衰减的方法,即随着训练的进行,逐渐降低学习率	  

强化学习

 强化学习两个最基本的要素就是状态等观测值和奖励函数	
 GAN有generator和discriminator两部分构成