CNN(卷积神经网络)原理讲解及简单代码

CNN(卷积神经⽹络)原理讲解及简单代码⼀、原理讲解
kcv1. 卷积神经⽹络的应⽤
分类(分类预测)
检索(检索出该物体的类别)
检测(检测出图像中的物体,并标注)
分割(将图像分割出来)
⼈脸识别
图像⽣成(⽣成不同状态的图像)
⾃动驾驶
等等。。。
2. 传统神经⽹络与卷积神经⽹络⽐较
传统神经⽹络采⽤的是全连接神经⽹络,权重矩阵的参数太多,导致速度减慢,也会产⽣过拟合。
卷积神经⽹络通过卷积核,⼤⼤降低了参数个数。实现局部关联,参数共享的效果。
3. 卷积神经⽹络基本结构
zipa
卷积层
激活层(ReLu)
池化层
全连接层
3.1 卷积层(Convolutional Layer)
卷积是对两个实变函数的⼀种数学操作,也就是求内积。
在图像处理中,图像是以⼆维矩阵的形式输⼊到神经⽹络的,因此我们需要⼆维卷积。
图3-1
图3-2
图3-3
图3-1、图3-2、图3-3很好地展⽰了卷积过程,名称注释如下:
peekinput:输⼊层,即图像的矩阵向量
kernel:卷积核或称滤波器,可以定义卷积核的⼤⼩,图3-1中卷积核的⼤⼩为2*2
output:输出,即特征图feature map,通过卷积计算出来的结果。计算公式为input(图3-1中为4*3)·kernel(图3-1中为2*2),两个向量求内积。
stride:步长,即卷积核向右滑动的长度。图3-1中步长为1。
padding:填充,当卷积时,卷积核滑动到最右侧发现⽆法形成与⾃⼰单元⼀致的向量时,需要在四周⽤0填充,确保卷积核能完成计算过程。如图3-4所⽰。
depth/channel:深度,即当前卷积层中卷积核的个数。如图3-4为2层。
图3-4
卷积是从输⼊图像中提取特征的第⼀层,Conv层的⽬标是提取输⼊数据的特征。 卷积通过使⽤⼩⽅块输⼊数据学习图像特征来保持像素之间的关系。
输出的特征图(feature map)⼤⼩:
图3-5
未加padding时:
(N-F)/stride + 1
加padding时:
(N-F+padding*2)/stride + 1
例⼦:
input:32*32
filter:10, 5*5
stride:1
padding:2
输出:?  (32-5+2*2)/1+1=32 ,即 32*32*10
参数:?  (5*5+1)*10
代码实现:
1# 定义卷积核,10个卷积核,卷积核⼤⼩是5,⽤Relu激活
2 conv0 = v2d(datas, 10, 5, lu)
3.2 池化层(Pooling Layer)
特征:
保留了主要特征的同事减少参数和计算量,防⽌过拟合,提⾼模型泛化能⼒。
西门子m65
它⼀般处在卷积层和卷积层之间,全连接层和全连接层之间。
类型划分:
max pooling:最⼤化池化,如图3-6和图3-7所⽰夜 明
average pooling:平均池化,如图3-7所⽰
图3-6
图3-7
3.3 全连接层(Fully Connected Layer)
两层之间所有神经元都有权重连接
通常全连接才呢过在卷积神经⽹络尾部
全连接层参数量通常最⼤保全世纪(北京)保安服务有限公司
⼆、代码实战

本文发布于:2024-09-22 09:28:13,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/475006.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:卷积   图像   神经   参数   特征   北京   检索
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议