首页 > 其他分享 >初识卷积神经网络(cnn)

初识卷积神经网络(cnn)

时间:2023-01-14 16:00:31浏览次数:33  
标签:函数 卷积 CNN 神经网络 初识 图像 cnn 图片

目录

卷积神经网络——基本概念

卷积神经网络(Convolutional Neural Network,CNN)的主要应用领域是图像分析处理,如人脸识别、物体识别等

神经网络

神经元模型

模型示意图如下:

image-20230112153811038

其中f为激活函数(activation function)

image-20230112162648754

多层网络

多层前馈神经网络(multi-layer feedforward neural network)

image-20230112162757329

  • 输入层

    接受外界输入,特征向量

  • 隐藏层

    对信号进行处理加工,可以有多层,后面一层在前面一层加工的基础上再进行进一步处理(前一层的输出作为后一层的输入)

  • 输出层

    输出最终结果

隐藏层输出层都是拥有激活函数的功能神经元

image-20230112163205689

反向传播(西瓜书搬运)

误差逆传播(error BackPropagation,BP),BP算法基于梯度下降策略

什么是梯度下降(gradient descent)?

代价函数(cost function)是衡量预测结果和真实值之间偏差的函数,训练的目的是通过修正参数θ最小化代价函数(optimization),(此处参数θ,可理解上文提到的连接权阈值

梯度是一个向量,它的几何意义是,多元函数在某点处函数值变化最快的方向,梯度的模是方向导数的最大值,因此梯度下降,可以理解为沿着使得代价函数减小最快的方向更新参数θ的过程

ps:如果不好理解可以先试着从代价函数为一元函数出发,某一点出导数(切线),具体看一下代价函数和参数是如何变化的

image-20230112165239297

示例网络结构如下图所示,这里仅以隐藏层到输出层一个权重参数whj为例

image-20230112163426812

image-20230112170806246

image-20230112170824061

image-20230112170845076

image-20230112173952058

image-20230112170931396

image-20230112171003435

对于反向传播的理解

  • 所谓反向相对于正向,正向也就是从输入特征值到预测结果的方向,通过隐藏层各层权重以及激活函数得到最终的预测结果
  • 计算代价函数关于参数的梯度,是一个从后向前的过程(复合函数求导)

过拟合

神经网络的拟合能力太过强大,可能会很严格的拟合训练集上的每一条数据,但在测试集上的表现不尽人意

解决方法:早停(early stopping)正则化(regularization)

早停:一边训练一边检测模型在训练数据集和测试数据集上的表现,若在训练集上的表现很好,但在测试集上的表现效果出现下降,则可能出现了过拟合,找到临界点停止训练即可

正则化:在代价函数中增加用于描述网络复杂程度的部分

image-20230112171852454

卷积神经网络(CNN)

为什么提出CNN

对于图像的处理,若使用传统的全连接神经网络模型,会面临的问题有

  1. 要将图片展开成一个向量,需要规模非常大的权重矩阵(参数)

    如:64 * 64 * 3的图像,作为输入展开为一个12288维的向量,假设隐藏层有100个神经元,则全连接需要的权重矩阵为1228800,而64 * 64 *3仅是一个比较小的图像,而且仅考虑了一层隐藏层。试想图像为1000 * 1000 * 3,隐藏层神经元为1000,有多个隐藏层......在这样的情况下,传统神经网络模型需要的参数是非常非常大的。很难获得足够多的数据避免神经网络过拟合。

  2. 对计算量和内存要求提出了挑战

总之,对于计算机视觉方面,使用传统神经网络由于参数过多而不可行。为了解决传统神经网络在计算机视觉方面的不好表现,提出了卷积神经网络。

什么是CNN

简单理解:

直接将图片作为一个输入矩阵,确定一个卷积核(过滤器),在图片上做卷积运算,得出来一个矩阵,这个矩阵能够帮助我们提取出图片的一些特征,进而从图片中获取我们需要的信息。卷积运算是以卷积核作为窗口,以特定步长进行矩阵内积的运算。显然,确定卷积核是提取图像特征的关键,卷积神经网络将卷积核作为参数,通过大量数据对卷积核进行训练,在提取出图片中需要的特征信息的基础上,实现某个计算机视觉的目标。

卷积的过程

输入图像为7 * 7 * 3,3通道RGB图像

对每一个通道指定一个卷积核,卷积核大小为3*3,对整个图像来说,卷积核为3 * 3 * 3,即为一个过滤器(filter),一个过滤器在一个图像上应用卷积再加上偏置得出一个特征图

注意此处的计算细节,x0 * w0 + x1 * w1 + x2 * w2 + b0 = o0

相关概念

  • 卷积核

    可以理解为权重,也就是滑动窗口

    每张图片不同位置对于识别这张图片的权重贡献是不同的,图片中有的地方对于识别图片很关键,那么这一点处的权重就大,反之则小。

    卷积核是k阶矩阵,而k通常是奇数,原因是

    1. 奇数阶矩阵存在一个中心点,中心像素点
    2. 在边缘填充时,计算padding可能会用到k,如果k为奇数,则刚好是对称填充,否则填充不对称
  • 滑动窗口步长

    卷积核一次移动几个单位

  • 边缘填充

    • 原因1:在计算特征图的过程中,处于边缘位置的像素点参与计算的次数要比处于中间位置的像素点次数少,为了减少这种差异,为原始数据图像增加一层边界,填充为0。
    • 原因2:原始图片经过一层卷积就会变小一点,如果不想让图片经过多层卷积之后变得很小,加padding是一种解决方法,图片经过一次卷积之后大小变成(n-f+1)*(n-f+1),n为原始图片大小,f为卷积核大小
  • 特征图

    一个原始图片在一个卷积核的作用下生成一个特征图,卷积核可以有多个

  • 卷积结果计算公式

    image-20230114144515641

池化

池化是为了在保留图像特征的前提下,压缩特征值,减小数据规模

最大池化,在卷积之后,对特征图在某个区域中选择最大值

全连接

相当于一个传统神经网络层,先将卷积池化得到的结果展成一个1*n的向量,在对应到要分类的一个向量

标签:函数,卷积,CNN,神经网络,初识,图像,cnn,图片
From: https://www.cnblogs.com/dctwan/p/17051965.html

相关文章

  • 动态规划笔记(一):初识DP
    动态规划(DP)DP问题特征特征:重叠子问题、最优子结构、无后效性重叠子问题:计算大问题需要重复计算小问题,DP可以避免重复计算,代价是消耗更多的空间最优子结构:大问题的最优......
  • 初识PHP(2):语法和变量创建
    PHP脚本文件在服务器上执行,然后将结果以HTML的形式发送回浏览器。PHP语法PHP文件通常会包含HTML代码和PHP代码;而PHP作为脚本代码,可以存在于文件任意的位置,只需要注明......
  • Angularjs——初识AngularJS
    AngularJS——初识AngularJSAngularJS是什么AngularJS是Google开源的一款前端JS结构化框架,它通过对前端开发进行分层,极好地规范了前端开发的风格——它将前端开发分为Con......
  • cs231n学习笔记——Lecture9 CNN Architecture
    该博客主要用于个人学习记录,部分内容参考自:[Lecture9]CNNArchitectures(CNN架构)、CNNArchitecture1、LeNetLeNet在数字识别领域的应用方面取得了成功1、AlexNet(......
  • 初识Docker(1)
    (1)Linux系统分为硬件层,内核层,系统应用层。(2)应用调用操作系统封装的内核指令函数,这就是为什么同一个程序在Ubuntu上就可以跑,换到Centos就不行了。例如Ubuntu和CentOs的系统......
  • PE结构初识
    PE结构初识EP说:“快去学PE!”,遂有了这篇博客。啥是PE?如果说EP是EPsilon的话,PE就一定是nolisPE了罢......好吧,PE全称WindowsPE文件,他是Windows下可执行程序的一个统称。......
  • 初识C语言
    1、对编程而言,可移植性意味着什么?在一种系统中编写的C程序稍作修改或不修改就可以在其他系统运行。2、编程的七个主要步骤是什么?定义程序的目标设计程序编写程序编......
  • 所以你在第几层-初识分层-PCB系列教程1-9
     PCB是分层的,不同层有不同的作用,绘制PCB之前要了解分层。从侧面来看,分层的PCB有点像:层的简介与显示关于分层,有2个概念容易混淆:1,2层板,4层板,6层板的层,指的是有几个信号层。两......
  • 【学习笔记】Max 卷积 & 闵可夫斯基和
    Max-Add卷积/闵可夫斯基和形如\(\displaystylef_{i}=\max_{k=0}^i\{g_k+h_{i-k}\}\)的卷积形式,我们称它为Max-Add卷积。如果\((i,f_i)\)能够形成一个凸......
  • LINUX的初识
    目录linxu常见岗位计算机的种类服务器品牌服务器内部组成部分服务器磁盘阵列linux发展史虚拟化技术虚拟化软件下载重要名词解释远程链接工具前期必备知识系统运⾏命令快捷......