Tensorflow——图像识别与卷积神经网络

本文介绍了卷积神经网络的基础知识,包括其与全连接神经网络的区别,以及卷积层和池化层的工作原理。通过Tensorflow实现了卷积神经网络,讨论了经典模型LeNet-5和Inception-v3的结构。此外,还探讨了迁移学习在图像识别中的应用。
摘要由CSDN通过智能技术生成

一 卷积神经网络简介

全连接神经网络与卷积神经网络结构示意图
  •  全连接神经网络:神经网络每两层之间的所有节点都是有边相连的
  • 卷积神经网络:相邻两层之间只有部分节点相连

卷积神经网络的输入层就是图像的原始像素,而输出层中的每一个节点代表了不同类别的可信度。

使用全连接神经网络处理图像的最大问题在于全连接层的参数太多,参数增多除了导致计算速度减慢,还很容易导致过拟合问题。

 

卷积神经网络架构图

一个卷积神经网络主要由5种结构组成:

  • 输入层
  • 卷积层
  • 池化层
  • 全连接层
  • Softmax层

 

二 卷积神经网络常用结构

主要介绍卷积层和池化层的网络结构以及前向传播过程。

2.1 卷积层

卷积层过滤器(filter)结构示意图

过滤器可以将当前神经网络上的一个子节点矩阵转化为下一层神经网络上的一个单位节点矩阵。(单位节点矩阵指的是一个长和宽都为1,但深度不限的节点矩阵)

过滤器的尺寸一般都是由人工指定的,常用的过滤器尺寸有3x3或5x5,过滤器的尺寸指的是过滤器输入节点矩阵的大小,过滤器处理的矩阵深度和当前神经网络节点矩阵的深度是一致的,所以虽然节点矩阵是三维的,但过滤器的尺寸只需要指定两个维度。

过滤器的深度只的是输出单位节点矩阵的深度,也需要人工进行指定。

 

过滤器的前向传播过程就是通过左侧小矩阵中的节点计算出右侧单位矩阵中节点的过程

$$ g(i)=f\left(\sum_{x=1}^{2} \sum_{y=1}^{2} \sum_{z=1}^{3} a_{x, y, z} \times w_{x, y, z}^{i}+b^{i}\right) $$

其中\(a_{x, y, z}\)为过滤器中点(x, y, z)的取值,\(f\)为激活函数,下图展示了在给定\(a\), \(w^{0}\)和\(b^{0}\)的情况下,使Relu作为激活函数时\(g(0)\)的计算过程

$$
\begin{aligned} g(0)=& f\{[1 \times 2+2 \times 0+0 \times 1+(-1) \times(-1)]+\\ &[2 \times(-2)+1 \times 2+(-1) \times 0+(-2) \times 1]+\\ &[1 \times 0+0 \times 1+2 \times(-1)+1 \times(-1)]+1\} \\=& f\{3+(-4)+(-3)+1\} \\=& f\{-3\}=0 \end{aligned}
$$

卷积层结构的前向传播过程就是通过将一个过滤器从神经网络当前层的左上角移动到右下角,并且在移动过程中计算每一个对应的单位矩阵。

当过滤器的大小不为1x1时,

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值