动手学深度学习 01 | 核心组件与完整训练流程
目录前言一、什么是深度学习二、深度学习的核心组件1. 数据2. 模型3. 目标函数损失函数4. 优化算法三、深度学习完整训练流程前言在系统学习完机器学习相关内容后我们正式迈入人工智能更深层次的领域——深度学习。作为机器学习的重要延伸与进阶方向深度学习突破了传统机器学习的能力上限能够自主学习复杂数据特征在图像、语音、自然语言处理等诸多领域展现出超强能力。今天我们就从零开始彻底搞懂深度学习的基础定义、核心组件与完整运行流程。一、什么是深度学习想要理解深度学习首先要理清人工智能、机器学习、深度学习三者的层级关系这是入门的核心前提。三者属于层层包含的从属关系人工智能是最宽泛的概念是所有模拟人类智能技术的统称机器学习是实现人工智能的核心分支让机器通过数据自主学习规律无需人工逐条编程而深度学习是机器学习的子集是更进阶、更强大的机器学习技术。简单来说深度学习就是依托多层神经网络结构依靠海量数据自动挖掘深层特征、完成智能任务的算法体系。二、深度学习的核心组件深度学习能够实现高精度、高复杂度的学习任务离不开四大核心组件支撑分别是数据、模型、损失函数、优化算法四者缺一不可共同构成深度学习的训练基础。1. 数据数据是深度学习的基础没有数据模型就没有学习的素材。深度学习对数据依赖性极强且需要海量数据才能保证模型的学习效果和泛化能力。从形式上来看深度学习可学习的数据种类十分丰富涵盖图片、视频、文本、时序序列等各类数据从标注维度划分又分为有标签数据和无标签数据适配监督学习、无监督学习等不同训练模式。在实际应用中所有数据集都需要统一划分为训练集和测试集。训练集用于让模型学习数据特征、拟合规律完成参数更新测试集用于后续验证模型训练效果检验模型是否具备通用能力。2. 模型深度学习的核心模型是神经网络这也是它和传统机器学习模型最关键的区别。神经网络由大量神经元相互连接、层层堆叠构成复杂网络结构。模型对原始输入数据做多轮变换与特征提取从简单的底层特征逐步抽象出高阶深层特征。 网络结构借鉴人脑神经元的工作方式单个神经元的计算如下图所示代表一个样本的全部输入特征作为神经元的输入。每个输入特征会和对应的权重 w 相乘之后求和得到神经元的输出。这里的 w 就是权重是神经网络中需要学习更新的参数存储模型的学习信息。本质上一层网络的计算就是输入特征矩阵 X 和权重矩阵 W 做矩阵乘法再叠加偏置 b单个神经元只能完成简单运算我们把多个神经元放在同一层就可以同时输出多个结果。进一步堆叠多层神经元就构成完整神经网络第一层是输入层中间若干层为隐藏层最末尾是输出层。 每一个隐藏层之后一般都会接入激活函数为网络引入非线性表达能力。正是依靠非线性神经网络才具备强大的拟合能力可以学习现实世界中复杂的映射关系这就是完整的神经网络模型。本质上这是一次输入特征 X 与权重矩阵 W 之间的矩阵乘法计算。3. 目标函数损失函数模型训练的核心目的是让预测结果无限贴近真实结果而判断预测效果好坏、指导模型优化的核心工具就是损失函数也叫目标函数。简单来说损失函数用于计算模型预测值与真实值之间的差异。我们训练模型的终极目标就是不断优化参数让损失函数的数值无限趋近于最小值。我们可以用简单公式理解假设 y1 是模型预测值y 是数据真实值两者的差值 y1-y 就是最基础的损失逻辑。在实际工程中不同任务对应不同的标准损失函数回归任务中最常用的是MSE均方误差损失函数用于计算预测值与真实值的平方误差均值公式如下其中为样本总数为真实值为模型预测值。分类任务中主流使用交叉熵损失函数Cross Entropy适配概率预测场景区分二分类与多分类场景二分类交叉熵损失公式多分类交叉熵损失公式两类损失函数能够精准适配对应任务的误差计算需求是深度学习训练中最核心的损失计算方式。4. 优化算法当我们准备好数据、搭建好神经网络模型、选定合适的损失函数后还需要核心的优化算法帮助模型找到最优参数实现损失函数最小化。深度学习中所有主流优化算法核心底层逻辑均基于梯度下降算法。其核心原理是通过数学求导法则对损失函数中的每一个参数求解偏导数得到参数的梯度方向。随后让参数沿着梯度下降的方向不断更新让训练集的损失值持续降低最终完成模型优化。参数更新核心公式如下公式参数说明代表模型可学习参数为学习率控制参数更新步长是损失函数对参数的偏导数即单参数梯度。我们可以用通俗的比喻理解模型训练就像下山梯度下降就是最优的下山路径我们不需要一步抵达谷底只需要每一步都沿着坡度最缓、下降最快的方向行走反复迭代最终就能抵达损失最小的“谷底”让模型达到最优状态。三、深度学习完整训练流程深度学习的落地训练是一套标准化、闭环的流程从数据处理到最终模型评估每一步都紧密衔接完整流程如下第一步处理数据。对原始数据进行清洗、筛选、预处理同时严格划分训练集和测试集剔除无效数据、脏数据为模型训练提供优质素材。第二步定义模型。根据具体任务需求搭建对应的神经网络结构确定网络层数、神经元数量等基础结构。第三步选择损失函数。区分回归、分类等不同任务匹配对应的损失函数为误差计算和模型优化提供标准。第四步选择优化算法。基于梯度下降选择合适的优化算法配置学习率等超参数确定模型参数的更新规则。第五步迭代训练模型。将预处理后的训练集按批次输入神经网络模型逐批次输出预测值通过损失函数计算误差再通过反向传播更新网络参数反复迭代训练。第六步评估模型效果。模型训练完成后使用从未参与训练的测试集数据进行验证通过各项指标衡量模型的准确率、泛化能力判断模型训练效果的好坏。