神经网络与深度学习-学习笔记(二)

本文详细介绍了卷积神经网络的基础概念,包括全连接网络的问题、PyTorch中的张量和计算图,以及卷积操作、多通道卷积、填充、步长、池化等关键概念。还重点介绍了经典模型LeNet、AlexNet和VGG16的结构和特点。
摘要由CSDN通过智能技术生成

一、卷积神经网络基础

1.全连接网络问题

全连接网络(Fully Connected Neural Network,简称FCNN):是一种最基础的人工神经网络结构,也称为多层感知器(Multilayer Perceptron,MLP)。在全连接神经网络中,每个神经元都与前一层和后一层的所有神经元相连接,形成一个密集的连接结构。全连接神经网络能够学习输入数据的复杂特征,并进行分类、回归等任务。

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

2.PyTorch使用基本概念

PyTorch官方教程中文版 (pytorch123.com)

(1)张量(Tensor)

是一个物理量,对高维 (维数 ≥ 2) 的物理量进行 “量纲分析” 的一种工具。简单的可以理解为:一 维数组称为矢量,二维数组为二阶张量,三维数组 为三阶张量 。

(2)计算图(computational graph)

用“结点”(nodes)和“线”(edges)的有向图来 描述数学计算的图像。“节点” 一般用来表示施加 的数学操作,但也可以表示数据输入的起点 /输出的 终点,或者是读取 /写入持久变量的终点。“线”表 示“节点”之间的输入 /输出关系。这些数据“线” 可以输运“size可动态调整”的多维数据数组,即 “张量”(tensor)。

二、卷积神经网络基本概念

1.卷积操作

卷积操作就是卷积核在原始图片中进行滑动得到特征图(Feature Map)的过程。假设我们现在有一个单通道的原始图片和一个卷积核,卷积的过程如图所示:

        卷积得到的特征图的每一个像素值,是由对应位置的卷积核所覆盖的原始图像的对应像素值相乘,然后再相加获得的。卷积核每滑动一次,就进行一次卷积运算,直至得到最后的特征图。

2.多通道、多核卷积操作

 首先,一个卷积核的通道数是和被卷积的图像的通道数一致,例如,对于三通道的图像,那么一个卷积核也是由三个通道组成(三个叠加而成的二维矩阵)。而每个通道的大小是可以自定义的超参数,图6一个卷积核的大小为(3,3,3),前两个3分别表示长宽,最后一个3表示通道数。

        其次,卷积核的个数可以是多个,每一个卷积核得到特征图的“一层”,N个卷积核得到的特征图就有N层,即特征图的深度为N。图6所示,一共有4个卷积核,那么最终得到的特征图的深度就为4。

3.填充

顾名思义,填充就是在矩阵的边界上填充一些值,以增加矩阵的大小,通常用0或者复制边界像素来进行填充,如下图所示。

4.步长

        步长为每次卷积核在图像上移动的像素数,下图卷积的步长为2。

5.池化

        池化的主要目的是使用局部统计特征,如均值或最大值,解决特征过多问题。常用的池化具体操作可以等价为卷积核为2*2,步长为2,填充为0的卷积操作。

6.根据卷积操作参数计算处理后图像大小

        图像经过卷积、池化操作后图像的大小有可能变化,因此这里给出变化的公式:

        其中:

OH-- 输出图像的高

OW--输出图像的宽

 FH--卷积核的高

 FW--卷积核的宽

 P--填充

 S--步长

6.前向传播
        定义前向传播为:

        如果第𝑙层是卷积+池化层,则:

7.反向传播
        这里直接给出反向传播的函数表达,具体到代码上的反传操作可以通过loss.backward()让torch帮助我们自动求解。

        下采样层->卷积层:

        卷积层->下采样层:

        卷积层->卷积层:

        全连接层->卷积层:

三、经典卷积神经网络

1.LeNet

每个卷积块中的基本单元是一个卷积层、一个sigmoid激活函数和平均汇聚层。每个卷积层使用5 × 5卷积核和一个sigmoid激活函数。这些层将输入映射到多个二维特征输出,通常同时增加通道的数量。第一卷积层有6个输出通道,而第二个卷积层有16个输出通道。每个2 × 2池操作(步幅2)通过空间下采样将维数减少4倍。卷积的输出形状由批量大小、通道数、高度、宽度决定。
        为了将卷积块的输出传递给稠密块,我们必须在小批量中展平每个样本。换言之,我们将这个四维输入转换成全连接层所期望的二维输入。这里的二维表示的第一个维度索引小批量中的样本,第二个维度给出每个样本的平面向量表示。LeNet的稠密块有三个全连接层,分别有120、84和10个输出。因为我们在执行分类任务,所以输出层的10维对应于最后输出结果的数量。 

2.AlexNet

AlexNet与LeNet很相似,在AlexNet的第一层,卷积窗口的形状是11×11。由于ImageNet中大多数图像的宽和高MNIST图像的多10倍以上,因此,需要一个更大的卷积窗口来捕获目标。第二层中的卷积窗口形状被缩减为5 × 5,然后是3 × 3。此外,在第一层、第二层和第五层卷积层之后,加入窗口形状为3 × 3、步幅为2的最大汇聚层。而且, AlexNet的卷积通道数目是LeNet的10倍。 

3.VGG16

VGG网络模型有6种,其中VGG16比较典型。VGG相较于之前的两个网络加入了块的设计,使网络的搭建过程十分便捷。

 VGG的优点:

(1)VGGNet探索了卷积神经网络的深度与其性能之间的关系,通过反复堆叠3×3的小型卷积核和2×2的最大池化层,VGGNet成功地构筑了16-19层深的卷积神经网络。

(2)VGGNet结构简洁,整个网络都使用了同样大小的卷积核尺寸(3×3)和最大池化尺(2×2)

(3)拥有5段卷积,每段内有2-3个卷积层,每段段尾连接一个最大池化层,用来缩小图片。

(4)使用非常多的3*3卷积串联 ,卷积串联比单独使用一个较大的卷积核,拥有更少的参数量,同时会比单独一个卷积层拥有更多的非线性变换。


VGG的缺点:

(1)由于用了较多的全连接层(3个),参数量很大。

(2)因为很多的卷积层执行了通道数翻倍,主要缺点是需要训练的特征数量非常巨大。

  • 45
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程导语:    人工智能可谓是现阶段最火的行业,在资本和技术协同支持下正在进入高速发展期。当今全球市值前五大公司都指向同一发展目标:人工智能。近几年,人工智能逐渐从理论科学落地到现实中,与生活越来越息息相关,相关的各种职位炙手可热,而深度学习更是人工智能无法绕开的重要一环。 从AlphaGo打败李世石开始,深度学习技术越来越引起社会各界的广泛关注。不只学术界,甚至在工业界也取得了重大突破和广泛应用。其中应用最广的研究领域就是图像处理和自然语言处理。而要入门深度学习,CNN和RNN作为最常用的两种神经网络是必学的。网上关于深度学习的资料很多,但大多知识点分散、内容不系统,或者以理论为主、代码实操少,造成学员学习成本高。本门课程将从最基础的神经元出发,对深度学习的基础知识进行全面讲解,帮助大家迅速成为人工智能领域的入门者,是进阶人工智能深层领域的基石。 讲师简介:赵辛,人工智能算法科学家。2019年福布斯科技榜U30,深圳市海外高层次人才(孔雀人才)。澳大利亚新南威尔士大学全奖博士,SCI收录其发表过的10篇国际期刊学术文章。曾任深圳市微埃智能科技有限公司联合创始人。CSDN人工智能机器学习深度学习方向满分级精英讲师。授课风格逻辑严谨、条理清晰、循序渐进、循循善诱,化枯燥为如沐春风,所教学生人数过万。 课程设计: 本课程分为5大模块,19小节,共计540时长(约9小时): 第一部分,课程介绍、目标与内容概览。主要学习人工智能深度学习应用场景;熟悉深度学习主流技术;掌握使用keras解决深度学习主要问题(神经网络、卷积神经网络、循环神经网络),以及深度学习主要内容:神经网络、卷积神经网络、循环神经网络;案例简介。 第部分,深度学习之多层感知器(MLP)。主要学习多层感知器(MLP);MLP实现非线性分类;深度学习实战准备;Python调用keras实现MLP。 MLP技术点实战案例:第三部分,深度学习之卷积神经网络(CNN)。主要学习卷积神经网络 ; CNN模型分析;主流CNN模型; Python调用keras实现CNN; CNN技术点实战案例:第四部分,深度学习之循环神经网络(RNN)。主要学习循环神经网络;RNN模型分析;Python调用keras实现RNN。 RNN技术点实战案例: 第五部分,综合提升。主要进行迁移学习;混合模型;实战准备+综合实战,以及最后进行课程内容总结。 混合模型技术点实战案例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值