一、模型的本质与设计逻辑
1. 模型的定义
模型的本质是一组数学公式的集合,其内部结构由数学公式和参数共同构成。在训练过程中,仅对公式中的参数值进行调整,公式本身的结构保持不变,例如线性模型,调整对象是参数和。模型的核心功能是通过数学计算将输入数据转化为目标输出,分类任务中输出概率分布就是典型应用。
2. 模型设计流程
- 公式设计:根据问题特性选择适配的数学公式结构,遵循“问题复杂度决定公式复杂度”原则。
- 参数确定:通过训练数据校准公式中的具体参数值,完成模型落地。
3.典型应用
分类任务均属于 “n 选 1” 任务,其输出维度与类别数量保持一致。这类任务的决策规则统一为:选择输出概率最高的类别作为最终预测结果。以下为常见场景:
-
数字识别:输入图片,输出10个数字类别的概率分布。
-
动物分类:根据身长、体重等特征,判断200种动物类别。
-
语言模型:预测3000个汉字中下一个字的出现概率。
二、神经网络的结构与运作机制
1. 神经网络的诞生背景与设计目标
神经网络的诞生,源于问题复杂度超出人类手动设计数学公式的能力上限 ,此时需要一种能自动适应复杂问题的通用公式结构。其核心目标是模拟人脑工作机制,打造可处理各类复杂问题的通用数学公式。
2. 人脑与神经网络的工作逻辑
人脑由约千亿个神经元组成,神经元通过突触连接传递电信号,而简单信号的集体传递会产生高级认知功能。与之对应,神经网络由输入层、隐藏层(可设置多层)和输出层构成,前一层的神经元通过加权连接向后一层传递信号。
3. 神经网络的核心数学原理
- 信号传递与放缩:每条连接对应一个可调参数(权重),决定信号放大(>1)、缩小(<1)或反转(<0),数学表达式为为偏置项)。
- 信号汇总与传导:每个神经元汇总所有输入信号,经激活函数处理后输出;通过多层级联的非线性变换,实现复杂问题建模。
4. 参数设计的关键要点
确定参数的难度不亚于设计公式结构。以多层神经元计算为例,拥有独立的参数。GPT-3含1750亿参数,GPT-4参数规模达1.8万亿。
5. 特征提取与向量降维
特征提取的核心环节包括边缘检测与非线性变换。通过设定参数,其余,可实现,捕捉相邻像素差值,完成图像边缘检测。完成初始线性变换后,需通过非线性变换优化特征呈现,将非零边缘值统一设为 1,背景保持为 0,使物体边缘以白色(1)、背景以黑色(0)清晰区分,提升特征辨识度。而向量降维的核心目标在于,原始 784 维像素值分布较为分散,需借助神经网络的层级处理将其压缩为更具统计意义的低维特征,进而提升模型运行效率。
6. 神经网络层级作用
神经网络的不同层级承担差异化功能。线性变换层负责执行的加权计算,边缘检测中的差分运算即属于此类操作;非线性变换层通过阈值化、二值化等处理增强特征区分度,例如将边缘值归并为 0 或 1;在此基础上,神经网络通过层级迭代逐步提取更高阶的特征,最终输出(y_0)到(y_9)的 10 维概率向量,完成数字分类任务。
三、基于MNIST数据库的图像识别实践
1. MNIST数据库基础信息
- 数据规模:含70000张手写数字图像,60000张用于训练,10000张用于测试。
- 图像规格:每张为28×28像素的灰度图像,尺寸统一,仅包含一个0-9的手写数字。
- 像素特性:每个像素用0-255的数值表示,0为纯黑,255为纯白,中间值对应不同深浅的灰色。
2. 图像识别的任务与数据处理
- 任务目标:输入28×28像素图片,输出10个概率值(对应0-9),概率总和为100%,每个概率值表示对应数字的可能性。
- 数据转换:将28×28图片展开为784维向量(),作为模型输入。
3. 神经网络的处理流程

3.1 各类向量核心信息
- 输入向量 x:为 784 维(),对应 28×28 像素的图像,在第一层会将 784 维原始像素转换为 784 维特征向量。
- 中间向量 z:包含两种维度,分别是 784 维(),第二层会通过 “行求和” 的方式将其压缩为 28 维特征向量。
- 输出向量 y:为 10 维概率向量(),各个维度分别对应数字 0 到 9 的出现概率。
- 特征有效性:同类数字对应的 28 维向量相似度较高,不同数字对应的 28 维向量差异显著;这 28 维特征实际上用于统计每行像素中物体边缘的数量。
3.2 神经网络层级分工与信号传递
- 层级分工:输入层的 784 个神经元与 784 个像素值一一对应;隐藏层神经元负责接收所有输入神经元传递的加权信号;输出层的 10 个神经元对应数字 0 到 9 的概率输出。
- 信号传递:神经元之间的每一条连接都对应特定权重(即信号的放大或缩小系数),而神经元的取值,是所有输入信号与对应权重的乘积之和。
4. 神经网络的基本计算公式
-
输入向量结构:输入数据为784维向量x,包含共784个固定数值,与图片像素值一一对应。
-
参数计算规则与总量:
- 每层参数计算遵循统一规则:参数数量 = 输入维度 × (输出维度 + 1)(“+1” 对应偏置项);
- 三层网络总参数量按此规则计算为:784×785 + 28×785 + 10×29 = 637,710 个。
-
单神经元计算公式:,其中相当于线性方程中的截距,每个对应785个参数(784个权重+1个偏置)。
-
多层神经元计算逻辑:
- 参数独立性:到的计算公式与形式相同,但每个拥有独立的785个参数,互不干扰;
- 输出层计算规则:每个计算需要33个参数(32个权重+1个偏置),输出层参数总数为33×10=330个。
四、神经网络与机器学习的关联
1. 关联逻辑
- 神经网络作为“万能公式”,只需设定层数、维度和非线性变换方式,无需手动设计复杂公式。
- 神经网络的参数确定完全依赖机器学习(模型训练),本质是通过大规模数学计算寻找最优参数组合。
2. 机器学习的完整流程
2.1 基础设定
- 公式:采用线性公式,用于区分鳄鱼和蛇。
- 参数目标:确定最优的和值。
2.2 步骤拆解
- 随机初始化参数:如设定,初始模型为。
- 模型分类:将训练数据代入公式计算,通过的值判断数据点位置(>0在直线下方,<0在直线上方)。
- 误差计算:定义误差为数据点到决策边界的垂直距离,常用平方误差(避免正负抵消),计算所有训练数据的误差总和。
- 参数调整:通过梯度下降法,计算每个参数对误差的影响,确定调整方向(增大或减小)。
- 更新参数:生成新的值,重复步骤2-4,直至模型收敛。
3. 损失函数的设计与应用
3.1 分类任务的损失函数
- 数学工具:采用自然对数函数,通过将概率值转换为误差度量,概率越接近1,误差越小。
- 单样本误差公式:为one-hot编码的真实标签),仅计算正确类别对应的概率误差。
3.2 总误差计算
- 数据集总误差:为N个样本误差的平均值,即。
- 优化目标:通过调整参数,最小化总交叉熵误差,促使模型在正确分类的同时提升预测置信度。
3.3 损失函数的影响
- 设计关键:不同损失函数会导致不同优化结果,如平方误差对异常值敏感,需根据任务设计鲁棒性更强的损失函数。
- 工程意义:损失函数设计是算法工程师的核心工作之一,直接影响模型最终性能。