TensorFlow(二)卷积神经网络及自编码官方案例

TensorFlow卷积神经网络

1、反向传播

几个人站成一排第一个人看一幅画(输入数据),描述给第二个人(隐层)……依此类推,到最后一个人(输出)的时候,画出来的画肯定不能看了(误差较大)。
反向传播就是,把画拿给最后一个人看(求取误差),然后最后一个人就会告诉前面的人下次描述时需要注意哪里(权值修正)

2、什么是卷积

1.已有运算:加减乘除,幂运算指数运算
卷积:卷积是一种运算

2.卷积运算
在这里插入图片描述
卷积操作是使用一个二维的卷积核在一个批处理的图片上进行不断扫描。具体操作是将一个卷积核在每张图片上按照一个合适的尺寸在每个通道上面进行扫描

3.卷积过程
如下图所示,用一个33的卷积核在55的图像上做卷积的过程
在这里插入图片描述
4.在三通道图像上的卷积过程
如下:
在这里插入图片描述

5.卷积函数

3、卷积函数 tf.nn.conv2d

参数一:input

input就是需要做卷积的图像(这里要求用Tensor来表示输入图像,并且Tensor(一个4维的Tensor,要求类型为float32)的shape为[batch, in_height, in_width, in_channels]具体含义[训练时一个batch图像的数量,图像高度,图像宽度, 图像通道数])

参数二:filter

filter就是卷积核(这里要求用Tensor来表示卷积核,并且Tensor(一个4维的Tensor,要求类型与input相同)的shape为[filter_height, filter_width, in_channels, out_channels]具体含义[卷积核高度,卷积核宽度,图像通道数,卷积核个数],这里的图片通道数也就input中的图像通道数,二者相同。)
在这里插入图片描述
参数三:strides

strides就是卷积操作时在图像每一维的步长,strides是一个长度为4的一维向量

参数四:padding

padding是一个string类型的变量,只能是 “SAME” 或者 “VALID”,决定了两种不同的卷积方式。下面我们来介绍 “SAME” 和 “VALID” 的卷积方式,如下图我们使用单通道的图像,图像大小为5 * 5,卷积核用3 * 3

方式一:VALID
具体卷积操作如下图,我们考虑卷积核中心点(这里卷积核大小是3*3,)走过的位置,
如图所示,红色#表示卷积核中心点在图像上的滑动过程。最后得到3 * 3的图像大小
在这里插入图片描述
方式二:SAME
对于上图,图像的每一个点都作为卷积核的中心。最后得到5 * 5的结果,如下图:
在这里插入图片描述
通俗的来说:首先在原图外层补一圈0,将原图的第一点作为卷积核中心,若一圈0不够,继续补一圈0

参数五:use_cudnn_on_gpu

参数六:data_format

data_format就是input的Tensor格式,一般默认就可以了。都采用NHWC

NHWC:[batch, height, width, channels]

参数七:name

name: A name for the operation (optional).

就是用以指定该操作的name,仅此而已

4、卷积构造方法

1.激活函数

在神经网络中,激活函数的作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题

在神经网络中,我们有很多的非线性函数来作为激活函数&#x

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值