openMMLab AI实战训练营 CLASS1 神经网络导论
目录
机器学习及神经网络基础
机器学习就是通过海量数据驱动机器去学习、识别、拟合、归纳、挖掘
监督学习:有标签
自监督学习:AI自行进行标注
非监督学习:无标签
强化学习:机器自行适应环境
分类问题
把不同的数据模态转化为向量,再由这个向量去学习N维空间的决策边界和分类边界
转化方法:关键词频率统计、神经网络编码
然后在N维空间中进行特征拟合,区分不同类型的数据
线性分类器
分类拟合边界是直线,则将该分类方法称之为线性分类器
线性分类器空间形态
二维空间:直线 三维空间:平面 四维空间:三维超平面 由斜率和截距组成
更一般地,线性分类器可以写成矩阵形式,即权重向量的转置乘X再加上截距
机器学习训练步骤
以分类问题为例
1.训练
采集数据进行类别标注,从中选取一部分数据进行分类器训练,得到一个可用于分类数据的分类器
2.验证
从采集、标注的数据中选取另外一部分数据,测试所得的分类器的精度(注意:验证数据集与分类数据集不得重合,以此保证分类器的泛化性能)
3.应用
将经过验证的分类器集成到实际业务系统,实现相应功能
神经网络训练
神经网络:一类拟合能力极强的函数
神经元:多层神经元堆叠即可得到神经网络
给定一个神经网络,如何找到能让这个神经网络在目标任务上 达到最高性能的可学习参数的值?
一、如何衡量神经网络的性能?
• 错误率越低越好
• 定义连续的损失函数作为媒介
二、怎么找到这个最好的可学习参数 𝑤 的值?
• 调整 𝑤 降低损失函数 ➔ 最优化问题
衡量神经网络的性能:损失函数
调整 𝑤,降低损失函数的值:梯度下降算法
神经网络的训练目标:找到一组比较好的可学习参数w的值,使得神经网络的优化性能最好
数学意义:找到一组参数w的值,满足条件:令损失函数L的值最小
梯度计算
反向传播算法
梯度下降算法的具体实现
神经网络训练流程:
1.计算样本损失程度
2.计算样本损失梯度
3.根据梯度信息更新参数
梯度下降算法存在的问题与改进:优化器
自适应梯度算法
思路:不同的参数需要不同的学习率,根据梯度的历史幅度自动调整学习率
基于梯度下降的神经网络训练整体流程