卷积神经网络相关模型
创始人
2024-03-24 12:39:05
0

卷积神经网络相关模型

    • 1. CNN架构
    • 2. CNN架构模型
      • 2.1LeNet模型
      • 2.2Alexnet模型
      • 2.3VGG16模型
        • 2.3.1 使用多层小卷积核代替一层大的卷积核优点
        • 2.3.2 使用1*1卷积核优点
        • 2.3.2 模型特点

  • 卷积神经网络基本概念相关知识连接
    卷积神经网络基本概念相关知识连接

1. CNN架构

在这里插入图片描述

  • 模型分为2部分【卷积层,全连接层】
  • CNN架构堆列一系列卷积层
  • 会有多次的卷积=》池化操作
  • 在卷积之后,池化之前,会有非线性变换操作【非线性变换一般为Relu】
  • 卷积层完成后,进入全连接层
  • 在全连接之前,需要把数据reshape为二维数据,才能进入全连接层
  • 只有卷积层与全连接才需要计算参数,非线性变换层,池化层不需要计算参数

2. CNN架构模型

2.1LeNet模型

在这里插入图片描述

  • LeNet5【5代表有五层需要计算参数】
  • 模型操作步骤
    • 5*5卷积【1】=》sigmoid层 (非线性变换)=》池化(使用平均池化)【2】
    • 5*5卷积【3】=》sigmoid层 (非线性变换)=》池化(使用平均池化)【4】
    • 全连接层【5】=》全连接层【6】=》全连接层【7】(使用tanh为激活函数)
  • 一共7层,【1,3,5,6,7】层需要计算参数
  • 模型特点
    • 重复使用卷积层
    • 卷积层使用非线性激活函数sigmoid
    • 全连接层使用非线性激活函数tanh
    • 池化层使用平均池化
    • 全部使用5*5大小的卷积核
    • 总需计算的参数小于1百万

2.2Alexnet模型

在这里插入图片描述
在这里插入图片描述

  • Alexnet8【8代表有8层需要计算参数】
  • 模型操作步骤
    • 11*11卷积【1】=》ReLu层 (非线性变换)=》池化(使用最大池化)【2】
    • 5*5卷积 【3】 =》ReLu层 (非线性变换) =》池化(使用最大池化)【4】
    • 3*3卷积【5】=》 3*3卷积【6】=》 3*3卷积【7】=》ReLu层 (非线性变换) =》池化(使用最大池化)【8】
    • 全连接层【9】=》全连接层【10】=》全连接层【11】(使用ReLu为激活函数)
  • 一共11层,【1,3,5,6,7,9,10,11】层需要计算参数
  • 模型特点
    • 重复使用卷积层
    • 全部使用非线性激活函数ReLu【卷积层与全连接层】
    • 使用11*11,5*5,3*3不同规格的卷积核
    • 池化层使用最大池化
    • 总需计算的参数大约为60百万
    • 训练模型使用了dropout,并且做了数据增强(image augmentation)

2.3VGG16模型

在这里插入图片描述

  • VGG16【16代表有16层需要计算参数】
  • 模型操作步骤
    • 3*3卷积【1】=》 3*3卷积【2】(使用padding填充,使特征图大小不变)=》 池化(使用最大池化)【3】
    • 3*3卷积【4】=》 3*3卷积【5】(使用padding填充,使特征图大小不变)=》池化(使用最大池化)【6】
    • 3*3卷积【7】=》 3*3卷积【8】(使用padding填充,使特征图大小不变)=》 1*1卷积【9】=》池化(使用最大池化)【10】
    • 3*3卷积【11】=》 3*3卷积【12】(使用padding填充,使特征图大小不变)=》 1*1卷积【13】=》池化(使用最大池化)【14】
    • 3*3卷积【15】=》 3*3卷积【16】(使用padding填充,使特征图大小不变)=》 1*1卷积【17】=》池化(使用最大池化)【18】
    • 全连接层【19】=》全连接层【20】=》全连接层【21】(使用ReLu为激活函数)
  • 一共21层,【1,2,4,5,7,8,9,11,12,13,15,16,17,19,20,21】层需要计算参数

2.3.1 使用多层小卷积核代替一层大的卷积核优点

  • 减少参数计算
    • 例如:使用3层3*3的卷积核代替一层7*7卷积核
      • 使用3层3*3的卷积核与一层7*7卷积核输出的特征图的大小是一致的
      • 设输入特征图个数为C,输出特征图个数也为C
        • 当进行3次3*3的卷积时,参数个数(number3number3number3)为
          number=3∗(3∗3∗C∗C)=27C2\begin{aligned} number&=3*(3*3*C*C) \\&=27C^2 \end{aligned} number​=3∗(3∗3∗C∗C)=27C2​
        • 当进行1次7*7的卷积时,参数个数(number7number7number7)为
          number=7∗7∗C∗C=49C2\begin{aligned} number&=7*7*C*C \\&=49C^2 \end{aligned} number​=7∗7∗C∗C=49C2​
    • 即number3
  • 提高泛化能力
    • 在每次卷积之后,都会进行非线性转换,多层卷积核卷积,就会增加非线性次数,提高泛化能力
    • 例如:使用3层3*3的卷积核比一层7*7卷积核多一次非线性转换

2.3.2 使用1*1卷积核优点

  • 优点
    • 升维与降维
      • 1*1卷积层不会改变卷积核的大小,只会改变通道数,调整通道数,控制模型复杂度【升维,降维】
        • 通道数比卷积前小,是对数据降维,降低模型复杂度
        • 通道数比卷积前大,是对数据升维,增加模型复杂度
    • 增加非线性变换
    • 可以替代全连接层【通道数就是神经元的个数】
    • 当作池化层
      • 使用1*1卷积核,当输入输出的特征图个数一致时,设置步长(stride),也可以代替池化层【相当于改变特征图的大小】

2.3.2 模型特点

  • 全部使用非线性激活函数ReLu【卷积层与全连接层】
  • 连续使用小的卷积核
  • 池化层使用最大池化
  • 使用了1*1卷积核

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...