李宏毅02_类神经网络训练不起来怎么办

一、神经网络训练失败原因

在这里插入图片描述

二、局部最小值&鞍点

(一)梯度为0

  • 引发后果:optimization失败,Loss函数找不到最小值。
  • gradient为0的点:局部最小值&鞍点
  • 鞍点(saddle point):是指函数在某个点上既不是极小值也不是极大值,而是在该点处的梯度为零。这种情况下,函数在该点可能是一个局部最小值、局部最大值或鞍点。
  • critical point(临界点):指的是函数的定义域内使得函数的导数等于零或未定义的点。临界点非常重要,因为它们可能对应于函数的极值点,如局部最大值或最小值,或者拐点。
    在这里插入图片描述

(二)如何判断local minima/maxima和saddle point

1. 利用周围点与最低点来求导
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 利用Hessian矩阵的结论

  • 如果Hessian矩阵恒>0,则为正定(positive definite),特点是其所有的特征值都是正数,则为local minima。
  • 如果Hessian矩阵恒<0,则为负定(negative definite),特点是其所有的特征值都是负数,则为local maxima。
  • 如何Hessian矩阵的特征值有正有负,则为saddle point。

如果一个实对称矩阵的所有特征值都为负数,或者一个二次型的所有取值都为负数,那么该矩阵或二次型被称为"negative definite"(负定)。
更具体地说,对于一个实对称矩阵 A,如果对于任意非零向量 x,都有 x^T A x < 0(其中 x^T 表示向量 x 的转置),那么矩阵 A 被称为负定矩阵。
类似地,对于一个二次型 Q(x) = x^T A x,如果对于任意非零向量 x,都有 Q(x) < 0,则二次型 Q(x) 被称为负定二次型。
3. Example
在这里插入图片描述
Loss函数图解释:越红的地方Loss函数越大,越蓝的地方Loss函数越小,整体是一个马鞍面。

4. saddle point的处理方法

  • 找出Hessian矩阵的负数的特征值并计算其特征向量,沿着特征向量的地方就是gradient减小的方向。
  • 缺点:计算Hessian矩阵的特征向量的运算量很大,所以应用性不高

三、批次&动量

(一)batch 批次

在这里插入图片描述

  • epoch:所有batch训练过一次。
  • shuffle:将batch打乱,所以每次训练的epoch都不一样。
  • 越小的batch size反而效果更好。
  • flat minima要优于sharp minima,因为sharp minima是对于训练集而言的,可能出现过拟合的现象(overfitting),换成测试集可能情况就大不相同。
    在这里插入图片描述

(二)momentum 动量

  • 结合前进的方向和gradient的反方向(梯度下降的方向)
  • 类似于粒子群优化
    在这里插入图片描述

四、自动调整学习率

(一)客制化learning rate

  • learning rate:机器一次学习的步伐
  • 若模型平坦,则learning rate调大;反之调小。
  • 核心思想:使学习率随着参数的不同自动调节大小
  • 方法:root mean square、RMSProp、
    在这里插入图片描述
    在这里插入图片描述

(二)learning rate scheduling

  • 定义:使得η与时间有关
    在这里插入图片描述

五、Classification 分类

(一)Scaler

1.定义:在机器学习中,Scaler是一种用于特征缩放(Feature Scaling)的技术。特征缩放是指对特征数据进行线性变换,将其转换到特定的范围内,以便更好地进行模型训练和预测。这对于很多机器学习算法是很重要的,因为不同的特征可能具有不同的尺度和分布,如果不进行缩放,可能会导致某些特征对模型的影响过大,从而影响模型的性能。
2.Scaler常用的两种方法是:

  • 标准化(Standardization):通过减去均值并除以标准差,将特征数据转换为均值为0、标准差为1的分布。标准化后的特征具有零均值和单位方差,适用于大多数机器学习算法,如线性回归、逻辑回归、支持向量机等。
  • 归一化(Normalization):通过将特征数据缩放到特定范围内,如[0, 1]或[-1, 1]。归一化后的特征保留了原始数据的比例关系,适用于某些需要保留特征间比例关系的算法,如K最近邻算法、神经网络等。

(二)class as one-hot vector

因为分类问题你无法表示出结果像它,所以要用one-hot vector来表示输入。
在这里插入图片描述

(三)softmax

将输入y变到0-1之间,先将y的n个变量e^x化,使其到(0,+∞)之间,然后y的各个变量标准化使得n个变量之和为1。
在这里插入图片描述

(四)Loss of Classification

在这里插入图片描述

  • Cross-entropy(信息熵)要优于MSE,因为MSE有可能在Loss高的时候平坦,导致损失函数找不到最低点。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值