一、 人工智能
1、人类工业文明的发展历经机械化、电气化、信息化时代,如今已步入人工智能时代。
2、人工智能概述:阐述人工智能是在机器上实现的智能,是研究相关理论、方法等的技术科学,介绍了其在生活方式上的转变,在日常生活中多个领域都有应用。
二、机器学习
1、机器学习主要包含数据、模型、目标函数和优化算法这几个关键组件。
2、机器学习可分为监督学习、无监督学习和强化学习。
三、深度学习
1、深度学习发展:介绍了发展历程,列举图像分类、目标检测和分割、人脸合成等成功案例,还提及图灵测试及其对人工智能发展的重要意义。
2、深度学习框架:介绍多种深度学习框架,重点介绍PyTorch,因其API简洁、优雅、易懂,在学术界和工业界应用广泛。
四、线性回归
1、概念引入:以房价估计为例,直观呈现线性回归在实际生活中的应用,即通过已有数据预测连续值。
2、模型公式:基本公式为y = Xw + b,与神经网络相关,神经网络通过学习参数(权重w和偏置b)使损失函数最小化。
3、优化算法:梯度法利用梯度寻找损失函数最小值,梯度指向函数值减小最多的方向,但不一定是最小值方向。随机梯度下降通过在损失函数递减方向更新参数降低误差,小批量随机梯度下降是深度学习默认求解算法,批量大小和学习率是重要超参数。
五、Softmax回归
1、回归与分类区别:回归用于估计连续值,分类用于预测离散类别,如ImageNet、MNIST和Kaggle上的分类任务。
2、模型原理:Softmax回归是多类分类模型,通过Softmax运算将输出转化为匹配概率(非负且和为1),输出层神经元数量依类别数量而定。
3、损失函数:介绍了平方损失(L2损失)、L1损失、Huber损失和交叉熵损失,交叉熵损失常用于比较概率分布。
六、多层感知机
1、感知机:感知机由美国学者Frank Rosenblatt在1957年提出,它根据输入x、权重w和偏差b进行输出,输出结果是二分类(0或1) ,这和输出实数的回归以及输出概率用于多分类的Softmax不同。像与门、与非门、或门都能通过设定合适的权重和偏差实现。
2、多层感知机:为解决感知机的局限性而产生,是最简单的深度神经网络,通过隐藏层和激活函数实现非线性模型。激活函数对输入信号总和进行转换,常用的有阶跃函数、tanh函数、ReLU函数等,需具备连续可导、简单、导函数值域合适等性质。可处理单分类和多分类问题,超参数包括隐藏层数量和每层隐藏单元数目。
3、学习过程与参数更新:神经网络学习是在样本刺激下调整连接权值和拓扑结构,本质是动态调整可变权值。参数更新通过前向传播和反向传播实现,前向传播从输入层到输出层,反向传播从输出层到输入层计算梯度并修正权值。
4、误差评估与模型选择:训练误差是模型在训练集上的误差,泛化误差是在新数据集上的误差。可通过验证数据集评估模型,测试数据集评估最终模型性能。数据不足时可采用K-折交叉验证。模型存在过拟合和欠拟合问题,受模型复杂度和数据复杂度影响,可通过权重衰减、暂退法等应对。
七、卷积神经网络基础
1、两个原则:平移不变性和局部性,前者指神经网络前面几层应对相同图像区域有相似反应,后者指只探索局部区域关系。
2、卷积层:将输入和卷积核交叉相关,加偏移得输出,核矩阵和偏移是可学习参数,核矩阵大小是超参数,可用于边缘检测、锐化、高斯模糊等。
3、填充和步幅:填充在输入周围加额外行列,常填充0,可增加输出高度和宽度;步幅是滑动步长,能成倍减少输出形状,二者可调整数据维度。
4、多个输入和输出通道:彩色图像有RGB通道,卷积时每个通道都有卷积核,结果是各通道卷积结果之和。
5、池化层:包括最大池化层和平均池化层,分别取区域内最大、平均值,可减少数据维度。
八、经典卷积神经网络架构
1、LeNet架构:用于手写数字识别,由卷积编码器和全连接层密集块组成,卷积层用5×5卷积核和sigmoid激活函数。
2、AlexNet:2012年赢得ImageNet竞赛,比LeNet更深更大,采用丢弃法、ReLU激活函数、最大池化法,实现了计算机视觉的范式转变。
3、VGG网络:通过堆叠VGG块构建深度网络,使用3x3卷积和2x2最大池化层,有VGG-16、VGG-19等不同架构。
九、构建模型
1、继承nn.Module基类构建模型:通过定义网络层和正向传播方法构建,如定义Model_Seq类,对输入数据进行一系列变换后输出。
2、使用nn.Sequential按层顺序构建模型:可以利用可变参数、add_module方法或OrderedDict方法,其中利用可变参数构建时无法给层指定名称,后两种方法可实现。
3、继承nn.Module基类并应用模型容器构建模型:使用nn.Sequential、nn.ModuleList、nn.ModuleDict等模型容器,不同容器在组织层的方式和特点上有所不同,如nn.Sequential按顺序组合层,nn.ModuleList以列表形式管理层,nn.ModuleDict通过字典管理层。
十、pytorch数据处理工具箱
1. 数据处理工具箱概述: utils.data 包含 Dataset 和 DataLoader 。 Dataset 需继承并实现 __getitem__ 和 __len__ 方法,用于定义数据集; DataLoader 可批量处理数据,通过设置参数调整数据加载方式。
2. torchvision: transforms 为PIL Image和Tensor对象提供多种操作,如调整尺寸、裁剪、填充等,可使用 Compose 拼接多个操作。 ImageFolder 能读取不同目录下的图像数据,结合 transforms 可对图像进行预处理。
3. 可视化工具:使用TensorBoard需实例化 SummaryWriter 、调用API接口记录数据、启动服务并在浏览器查看。可用于可视化神经网络结构、损失值变化、特征图等,有助于理解模型训练过程和性能。
十一、图像分类项目
1. 图像分类基础:图像分类旨在将图像划分到不同类别标签以最小化分类误差,分为通用多类别、子类细粒度和实例级图片分类三个层次。
2. 评估指标:混淆矩阵包含TP、FP、TN、FN四个指标。此外,精确率衡量模型精度,准确率关注识别为正类样本中真正正类的比例,召回率体现正确识别正类样本占总正类样本的比值,F1_Score是正确率和召回率的调和平均数。P - R曲线展示召回率与精度的关系,ROC曲线通过FPR和TPR评估模型,对正负样本不均衡不敏感。多类别分类的混淆矩阵为k*k矩阵,对角线元素之和反映分类器准确率。
3. 模型基本概念:网络深度指计算最长路径的卷积层与全连接层数量,如LeNet网络有5层;网络宽度是每一个网络层的通道数,LeNet网络的C1层通道数为6,C3层为16。
4. 样本量过少问题及解决:样本量极少源于样本获取困难,常见于工业产品和医疗领域。迁移学习利用ImageNet预训练模型加速收敛;数据增强的有监督方法包括平移、翻转等操作,无监督方法借助GAN网络生成样本用于训练。
十二、CIFAR10图像分类
1、数据处理与模型构建:使用 torchvision 加载CIFAR10数据集,经 transforms 预处理后用 DataLoader 加载。构建 CNNNet 和 Net 两个卷积神经网络模型,定义 conv 卷积层、 MaxPool 池化层、 Linear 全连接层等,将模型部署到合适设备。
2、模型训练与测试:定义交叉熵损失函数和随机梯度下降优化器训练模型,训练中记录损失值。测试时计算模型在测试集上的准确率及各类别准确率,评估模型性能。
3、多模型集成训练:定义 CNNNet 、 Net 、 LeNet 、 VGG 等模型,对CIFAR10数据预处理后训练。采用投票机制集成模型,提升分类准确率,对比各模型及集成模型不同训练轮次的正确率。