| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 深度学习笔记 -> 正文阅读 |
|
[人工智能]深度学习笔记 |
目录 Task044 CNN????????卷积神经网络也是一种前馈神经网络,是受到生物学上感受野(感受野主要是指听觉系统、本体感觉系统和视觉系统中神经元的一些性质)的机制而提出的(在视觉神经系统中,一个神经元的感受野是指视网膜上的特定区域,只有这个区域内的刺激才能够激活该神经元)。 4.1卷积????????卷积:(f*g)(n)成为?f?和?g?的卷积,连续卷积和离散卷积可以表达为如下形式: 4.2CNN基本原理4.2.1卷积层????????卷积层的作用是提取一个局部区域的特征,不同的卷积核相当于不同的特征提取器。卷积层的神经元和全连接网络一样都是一维结构。由于卷积网络主要应用在图像处理上,而图像为二维结构,因此为了更充分地利用图像的局部信息,通常将神经元组织为三维结构的神经层,其大小为高度𝑀×宽 度𝑁×深度𝐷,由𝐷个𝑀 × 𝑁 大小的特征映射构成。 4.2.2激活函数????????激活函数是用来加入非线性因素,提高网络表达能力,卷积神经网络中最常用的是ReLU,Sigmoid使用较少。 4.2.3池化层(1)池化的定义 ??????????池化操作使用某位置相邻输出的总体统计特征作为该位置 的输出,常用最大池化**(max-pooling)和均值池化(average- pooling)**。 ????????池化层不包含需要训练学习的参数,仅需指定池化操作的核大小、操作步幅以及池化类型。(2)池化的作用 ? ? ? ? ①减少网络中的参数计算量,从而遏制过拟合。 ? ? ? ? ②增强网络对输入图像中的小变形、扭曲、平移的鲁棒性(输入里的微 小扭曲不会改变池化输出——因为我们在局部邻域已经取了最大值/ 平均值) ? ? ? ? ③帮助我们获得不因尺寸而改变的等效图片表征。这非常有用,因为 这样我们就可以探测到图片里的物体,不管它在哪个位置 4.2.4全连接层? ?(1)对卷积层和池化层输出的特征图(二维)进行降维 (2)将学到的特征表示映射到样本标记空间的作用 4.2.5输出层?(1)对于分类问题:使用Softmax函数 ?(2)对于回归问题:使用线性函数? ? 4.2.6卷积神经网络的训练Step 1:用随机数初始化所有的卷积核和参数/权重 Step 2:将训练图片作为输入,执行前向步骤(卷积, ReLU,池化以及全连接层的前向传播)并计算每个类别的对应输出概率。 Step 3:计算输出层的总误差 Step 4:反向传播算法计算误差相对于所有权重的梯度,并用梯度下降法更新所有的卷积核和参数/权重的值,以使输出误差最小化 注:卷积核个数、卷积核尺寸、网络架构这些参数,是在 Step 1 之前就已经固定的,且不会在训练过程中改变——只有卷 积核矩阵和神经元权重会更新。 4.3经典CNN4.3.1LeNet-5????????LeNet-5由LeCun等人提出于1998年提出,主要进行手写数字识别和英文字母识别。经典的卷积神经网络,LeNet虽小,各模块齐全,是学习 CNN的基础。 ?LeNet-5网络结构 ?4.3.2AlexNet????????AlexNet[Krizhevsky et al., 2012] 是第一个现代深度卷积网络模型,其首次 使用了很多现代深度卷积网络的技术方法,比如使用 GPU 进行并行训练,采用 了 ReLU 作为非线性激活函数,使用 Dropout 防止过拟合,使用数据增强来提高 模型准确率等.AlexNet赢得了2012年ImageNet图像分类竞赛的冠军. ????????AlexNet的结构如图所示,包括5个卷积层、3个汇聚层和3个全连接层 (其中最后一层是使用 Softmax 函数的输出层).因为网络规模超出了当时的单 个GPU的内存限制,AlexNet将网络拆为两半,分别放在两个GPU上,GPU间只 在某些层(比如第3层)进行通信. AlexNet网络结构? 4.3.3VGGNet?????????VGGNet由牛津大学计算机视觉组合和Google DeepMind公司研究员一起研发的深度卷积神经网络。它探索了卷积神经网络的深度和其性能之间的关系,通过反复的堆叠3*3的小型卷积核和2*2的最大池化层,成功的构建了16~19层深的卷积神经网络。VGGNet获得了ILSVRC 2014年比赛的亚军和定位项目的冠军,在top5上的错误率为7.5%。目前为止,VGGNet依然被用来提取图像的特征。 4.3.4InceptionNet????????在卷积网络中,如何设置卷积层的卷积核大小是一个十分关键的问题。在 Inception 网络中,一个卷积层包含多个不同大小的卷积操作,称为Inception 模块。Inception网络是由有多个Inception模块和少量的汇聚层堆叠而成。 ?InceptionNet v1的网络结构 4.3.5ResNet????????残差网络(Residual Network,ResNet)通过给非线性的卷积层增加直连边(Shortcut Connection)(也称为残差连接(Residual Connection))的方式来提高信息的传播效率。 ?一个简单的残差单元结构 4.3.6DenseNet????????相比ResNet,DenseNet提出了一个更激进的密集连接机制:即互相连接所有的层,具体来说就是每个层都会接受其前面所有层作为其额外的输入。图1为ResNet网络的连接机制,作为对比,图2为DenseNet的密集连接机制。可以看到,ResNet是每个层与前面的某层(一般是2~3层)短路连接在一起,连接方式是通过元素级相加。而在DenseNet中,每个层都会与前面所有层在channel维度上连接(concat)在一起(这里各个层的特征图大小是相同的,后面会有说明),并作为下一层的输入。 DenseNet网络结构? 4.4CNN主要应用4.4.1图像处理领域主要应用(1)图像分类(物体识别):整幅图像的分类或识别 (2)物体检测:检测图像中物体的位置进而识别物体 (3)图像分割:对图像中的特定物体按边缘进行分割 (4)图像回归:预测图像中物体组成部分的坐标 4.4.2自然语言处理领域主要应用(1)情感分析:分析文本体现的情感(正负向、正负中或多态度类型) 参考资料(1)Document (2)神经网络与深度学习 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 3:43:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |