神经网络与深度学习课程总结(二)

本文介绍了深度学习中的卷积神经网络基础知识,包括全连接网络的问题、深度学习平台PyTorch的简介及其应用,以及LeNet-5、AlexNet、VGG-16和残差网络等经典模型。还涵盖了常用的数据集如MNIST、CIFAR-10等。
摘要由CSDN通过智能技术生成

四.卷积神经网络基础

1.为什么要“深度”学习

1.1全连接网络问题

全连接网络:链接权过多,算的慢,难收敛,同时可能进入局部 极小值,也容易产生过拟合问题。

e.g. 输入为1000 × 1000图像,隐含层有1M个节点,则输入->隐 含层间有1 × 1012数量级参数。

解决算的慢问题:减少权值连接,每一个节点只连到上一层的少数神经元,即局部连接网络。

解决难收敛、算的慢问题:权值过多极易产生过拟合。

解决思路:信息分层处理,每一层在上层提取特征的基 础上获取进行再处理,得到更高级别的特征。

1.2深度学习平台简介

1.3PYTORCH简介

  • PyTorch是一个Python的深度学习库。它最初由Facebook人工智能研 究小组开发,而优步的Pyro软件则用于概率编程。
  • 最初,PyTorch由Hugh Perkins开发,作为基于Torch框架的LusJIT的 Python包装器。PyTorch在Python中重新设计和实现Torch,同时为 后端代码共享相同的核心C库。
  • 除了Facebook之外,Twitter、GMU和Salesforce等机构都采用了 PyTorch。
  • 到目前,据统计已有80%的研究采用PyTorch,包括Google。

PyTorch 和TensorFlow2 的对比

1.4PyTorch基本使用

基本概念

  • 使用 tensor 表示数据
  • 使用 Dataset、DataLoader 读取样本数据和标签
  • 使用变量 (Variable) 存储神经网络权值等参数
  • 使用计算图 (computational graph) 来表示计算任务
  • 在代码运行过程中同时执行计算图

简单示例

构建简单的计算图,每个节点将零个或多个tensor作为输入,产生一个 tensor作为输出。PyTorch中,所见即为所得,tensor的使用和numpy中的多 维数组类似:

2.卷积神经网络基础

2.1进化史

2.2基本概念

特征提取

注意,图像卷积时,根据定义,需要首先把卷积核上下左右转置。此处 卷积核(黄色)是对称的,所以忽视。

填充(Padding):在矩阵的边界上填充一些值,以 增加矩阵的大小,通常用0或者复制边界像素来进行填充。

步长(Stride):如上图步长为2。

多通道卷积:如RGB。

池化思想:使用局部统计特征,如均值或最大值。解 决特征过多问题。

卷积神经网络结构

  • 构成:由多个卷积层和下采样层构成,后面可连 接全连接网络
  • 卷积层:𝑘个滤波器
  • 下采样层:采用mean或max
  • 后面:连着全连接网络

学习算法

2.3误差反向传播

经典BP算法

如果当前是输出层:,隐含层(按从后向前顺序更新):,然后更新:

卷积NN的BP算法:下采样层

如果当前是卷积层,下一层为下采样层,误差如何从下采样层回传 假设为2*2核平均池化。

卷积NN的BP算法:卷积层+卷积层

卷积NN的BP算法:卷积层+全连接层

3.LeNet-5网络

3.1网络介绍

网络结构

3.2结构详解

C1层

  • 6个Feature map构成
  • 每个神经元对输入进行5*5卷积
  • 每个神经元对应5*5+1个参数,共6个feature map, 28*28个神经元,因此共有 (5*5+1)*6*(28*28)=122,304连接

S2层

C3层

S4层:与S2层工作相同

C5层

  • 120个神经元
  • 每个神经元同样对输入进行5*5卷积,与S4全连接
  • 总连接数(5*5*16+1)*120=48120

F6层

  • 84个神经元
  • 与C5全连接
  • 总连接数(120+1)*84=10164

输出层

  • 由欧式径向基函数单元构成
  • 每类一个单元
  • 输出RBF单元计算输入向量和参数向量之间的欧式距离

4.基本卷积神经网络

4.1AlexNet

网络结构

网络说明

  • 网络一共有8层可学习层——5层卷积层和3层全连接层
  • 改进:池化层均采用最大池化;选用ReLU作为非线性环节激活函数;网络规模扩大,参数数量接近6000万;出现“多个卷积层+一个池化层”的结构
  • 普遍规律:随网络深入,宽、高衰减,通道数增加

改进:输入样本(最简单、通用的图像数据变形的方式)

  • 从原始图像(256,256)中,随机的crop出 一些图像(224,224)。【平移变换,crop 】
  • 水平翻转图像。【反射变换,flip】
  • 给图像增加一些随机的光照。【光照、彩 色变换,color jittering】

改进:激活函数

  • 采用ReLU替代 Tan Sigmoid
  • 用于卷积层与全连接层之后

改进:Dropout(在每个全连接层后面使用一个 Dropout 层,以概率 p 随机关闭激活函数)

改进:双GPU策略(AlexNet使用两块GTX580显卡进行训练,两块显卡只需要在特定的层进行通信)

4.2VGG-16

网络结构

网络说明

  • 改进:网络规模进一步增大,参数数量约为1.38亿;由于各卷积层、池化层的超参数基本相同,整体结构呈现出规整的特点。
  • 普遍规律 -随网络深入,高和宽衰减,通道数增多。

4.3残差网络

非残差网络的缺陷:

残差网络的优势:

残差块

残差网络

5.附录:常用数据集

5.1MNIST

MNIST数据集主要由一些手 写数字的图片和相应的标签组成,图片一共有 10 类,分别对应从 0~9。

原始的 MNIST 数据库一共包含下面 4 个文件。

MNIST数据集是由0〜9手写数字图片和数字标签所组成的,由60000个训练样本和10000个测试样 本组成,每个样本都是一张28 * 28像素的灰度手写数字图片。

5.2CIFAR-10

CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每 个类有6000个图像。有50000个训练图像和10000个测试图像。

数据集分为五个训练批次和一个测试批次,每个批次有10000 个图像。测试批次包含来自每个类别的恰好1000个随机选择的图像。

5.3PASCAL VOC

PASCAL VOC数据集一共分成20类:

  • person
  • bird, cat, cow, dog, horse, sheep
  • aeroplane, bicycle, boat, bus, car, motorbike, train
  • bottle, chair, dining table, potted plant, sofa, tv/monitor

5.4MS COCO

提供的标注类别有80 类,有超过33 万张图片,其中20 万张有 标注,整个数据集中个体的数目超过150 万个。

  • 人:1类
  • 交通工具:8类,自行车,汽车等
  • 公路常见:5类,信号灯,停车标志等
  • 动物:10类,猫狗等  携带物品:5类,背包,雨伞等
  • 运动器材:10类,飞盘,滑雪板,网球拍等。
  • 厨房餐具:7类,瓶子,勺子等
  • 水果及食品:10类  家庭用品:7类,椅子、床,电视等
  • 家庭常见物品:17类,笔记本,鼠标,遥控器等

5.5ImageNet与ILSVRC

ImageNet数据集

  • 始于2009年,李飞飞与Google的合作: “ImageNet: A Large-Scale Hierarchical Image Database”
  • 总图像数据:14,197,122
  • 总类别数:21841
  • 带有标记框的图像数:1,034,908

ISLVRC 2012子数据集

  • 训练集:1,281,167张图片+标签
  • 类别数:1,000
  • 验证集:50,000张图片+标签
  • 测试集:100,000张图片
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值