- AI 核心任务与数据类型:
- 特征提取核心:AI 的核心是从原始输入数据中提取特征,CV 是将图像数据转换为计算机可识别的特征,NLP 是将文本数据转换为特征,数据挖掘是将结构化数据转换为特征。
- 数据类型特点:图像数据在计算机眼中是矩阵,每个值是像素点,可直接计算;文本数据如字符串,较难直接处理成矩阵。
- 神经网络基础概念:
- 映射概念:映射可看作 y = wx + b 的方程,w 和 b 组成映射方程。通过权重参数对输入数据进行组合变换,将原始数据投影到特征空间,得到新特征,目的是让数据更好被认识和识别。
- 输入与权重矩阵:以图像数据为例,输入数据可拉成向量,如 32×32×3 的图像有 3072 个像素点。权重参数与特征一一对应,做矩阵乘法,横向量乘列向量得一个值,在分类任务中,该值代表数据属于各个类别的概率。
- 偏置参数:偏置用于对结果做微调,偏置个数与输出结果个数相同,如 10 分类任务就有 10 个偏置。
- 权重初始化:权重一开始是随机初始化的,后续根据预测结果与真实标签的一致性进行更新。
- 损失计算方法:
- 回归任务损失:回归任务预测一个值,通过计算预测值与真实值的差异来衡量损失,如计算错误类别和真实类别得分的差值,差值越大损失越大。
- 分类任务损失:分类任务要得到数据属于各个类别的概率,二分类使用 ZMOD 函数将输入值映射到 0 - 1 之间,大于 0.5 为正例,小于 0.5 为负例;多分类通过 Softmax 函数,先将得分值进行 e 的幂运算放大差异,再进行归一化得到概率值,最后用对数计算损失,只考虑正确类别的概率,概率越高损失越小。
- 权重更新方法:
- 梯度下降原理:神经网络由前向传播和反向传播组成。前向传播通过输入数据和权重参数得到预测值,计算损失;反向传播通过求梯度找到权重更新方向,梯度是损失对权重参数的偏导数,沿梯度反方向更新权重可使损失变小。
- 学习率:学习率控制每次更新的步长,一般较小且适中,学习率有 warm up 阶段,先缓慢上升到基础学习率,再进行衰减。
- 批量处理:有随机梯度下降、批量梯度下降和小批量梯度下降。随机梯度下降用一个样本更新,速度快但结果可能不稳定;批量梯度下降用所有样本求平均,结果稳定但计算量大;小批量梯度下降用一批样本,batch 越大越好,可使求平均更准确。
- 动量概念:引入动量(惯性),考虑前一步的梯度方向,通过求合力方向更新权重,可使模型更新更快,多数模型都会引入。
- 网络结构与特征提取:
- 特征提取本质:神经网络通过权重参数对输入数据进行线性组合,将原始数据转换为新特征,权重参数越多,可得到的特征个数越多。
- 深度学习不可解释性:深度学习得到的特征难以解释其具体含义。
- 网络结构示例:输入数据通过多组权重和偏置参数得到中间特征和最终预测结果,如输入 1×3 矩阵,通过 3×4 矩阵的 W1 和 4 个偏置 B1 得到 1×4 的中间特征,再经过 4×4 矩阵的 W2 和 4 个偏置 B2,最后通过 4×1 矩阵的 W3 和 1 个偏置 B3 得到预测值。
- 网络效果与优化:
- 神经元个数影响:神经元个数越多,可切分数据集的 “刀数” 越多,能更好地对数据进行分类,但可能出现过拟合问题。
- 过拟合问题:模型为了识别离群点开辟过大区域,导致测试时预测错误,数据预处理很重要,数据质量和数量都会影响模型效果。
- 非线性变换:神经网络的线性变换只能解决线性问题,通过引入激活函数(如 SoftReLU)进行非线性变换,可使模型解决非线性问题。SoftReLU 函数小于 0 时 y = 0,大于 0 时 y = x,能去除不好的特征。