卷积神经网络 学习 笔记

概述

​ 卷积神经网络是深度学习在计算机视觉领域的突破性成果。在计算机视觉领域, 往往我们输入的图像都很大,使用全连接网络的话,计算的代价较高。另外图像也很难保留原有的特征,导致图像处理的准确率不高。

​ 卷积神经网络(Convolutional Neural Network,CNN)是一种专门用于处理具有网格状结构数据的深度学习模型。最初,CNN主要应用于计算机视觉任务,但它的成功启发了在其他领域应用,如自然语言处理等。

​ 卷积神经网络(Convolutional Neural Network)是含有卷积层的神经网络. 卷积层的作用就是用来自动学习、提取图像的特征。

​ CNN网络主要有三部分构成:卷积层、池化层和全连接层构成,其中卷积层负责提取图像中的局部特征;池化层用来大幅降低运算量并特征增强;全连接层类似神经网络的部分,用来输出想要的结果。

全连接的局限性

全连接神经网络并不太适合处理图像数据....

参数量巨大

全连接结构计算量非常大,假设我们有1000×1000的输入,如果隐藏层也是1000×1000大小的神经元,由于神经元和图像每一个像素连接,则参数量会达到惊人的1000×1000×1000×1000,仅仅一层网络就已经有​个参数。

表达能力太有限

全连接神经网络的角色只是一个分类器,如果将整个图片直接输入网络,不仅参数量大,也没有利用好图片中像素的空间特性,增加了学习难度,降低了学习效果。

卷积思想

卷:从左往右,从上往下

积:乘积,求和

概念

​ Convolution,输入信息与卷积核(滤波器,Filter)的乘积。

局部连接
  • 局部连接可以更好地利用图像中的结构信息,空间距离越相近的像素其相互影响越大。

  • 根据局部特征完成目标的可辨识性。

权重共享
  • 图像从一个局部区域学习到的信息应用到其他区域。

  • 减少参数,降低学习难度。

卷积层

卷积核

​ 卷积核是卷积运算过程中必不可少的一个"工具",在卷积神经网络中,卷积核是非常重要的,它们被用来提取图像中的特征。

卷积核其实是一个小矩阵,在定义时需要考虑以下几方面的内容:

  • 卷积核的个数:卷积核(过滤器)的个数决定了其输出特征矩阵的通道数

  • 卷积核的值:卷积核的值是自定义的,根据想要提取的特征来进行设置,后续进行更新。

  • 卷积核的大小:常见的卷积核有1×1、3×3、5×5等,一般都是奇数 × 奇数。

下图就是一个3×3的卷积核:

卷积计算

卷积计算过程

​ 卷积的过程是将卷积核在图像上进行滑动计算,每次滑动到一个新的位置时,卷积核和图像进行点对点的计算,并将其求和得到一个新的值,然后将这个新的值加入到特征图中,最终得到一个新的特征图。

  1. input 表示输入的图像

  2. filter 表示卷积核, 也叫做滤波器

  3. input 经过 filter 的得到输出为最右侧的图像,该图叫做特征图

  4. 卷积运算本质上就是在滤波器和输入数据的局部区域间做点积。

按照上面的计算方法可以得到最终的特征图为:

卷积的重要性在于它可以将图像中的特征与卷积核进行卷积操作,从而提取出图像中的特征

​ 可以通过不断调整卷积核的大小、卷积核的值和卷积操作的步长,可以提取出不同尺度和位置的特征。

相关推荐
亦枫Leonlew15 分钟前
三维测量与建模笔记 - 5.3 光束法平差(Bundle Adjustment)
笔记·计算机视觉·三维重建·光束法平差
Lbs_gemini06031 小时前
C++研发笔记14——C语言程序设计初阶学习笔记12
c语言·开发语言·c++·笔记·学习
MC何失眠1 小时前
vulnhub靶场【哈利波特】三部曲之Fawkes
网络·python·学习·网络安全
MarisolHu2 小时前
前端学习笔记-Vue篇-02
前端·vue.js·笔记·学习
先知demons3 小时前
uniapp开发微信小程序笔记10-触底加载
前端·笔记·微信小程序·小程序·uni-app
B1nna3 小时前
外卖开发(三)开发笔记——AOP实现实现公共字段填充、主键回显、抛异常和事务管理
笔记
我的老子姓彭3 小时前
C++学习笔记
c++·笔记·学习
m0_689618285 小时前
亚毫米级纤维机器人,如何在腔内“大显身手”
网络·笔记·机器人
炸毛的飞鼠5 小时前
PWN的简单了解
笔记·学习
ydl11285 小时前
机器学习周志华学习笔记-第13章<半监督学习>
笔记·学习·机器学习