TensorFlow学习(8)卷积神经网络CNN

卷积神经网络(CNN)源于视觉神经元的局部感受野概念,有效减少了传统神经网络的权值数量。通过卷积、池化等操作,CNN能提取图像特征并用于识别任务,如手写数字识别,实现高准确率。使用TensorFlow进行CNN建模,通过SAME和VALID padding调整,并结合池化层,避免过拟合和欠拟合,最终模型在测试集上准确率超过99%。通过TensorBoard进行可视化分析。
摘要由CSDN通过智能技术生成

传统神经网络权值太多,计算量太大,需要大量样本进行训练,根据经验,一般来说样本的数量最好是权值数量的 5 - 30 倍,如 有1万个权值,最好有5万-10万个样本来训练

局部感受野

他们发现了每一个视觉神经元只会处理一小块区域的视觉图像,即感受野(Receptive Field)。卷积神经网络的概念即出自于此。

卷积神经网络CNN

第一个卷积特征由黄色区域计算:1*1+1*0+1*1+0*0+1*1+1*0+0*1+0*0+1*1=4

多个卷积核

经过不同的卷积核得到不同的特征图,所以我们可以认为不同的卷积核可以对不同的特征进行采样,不同的特征对图片的分类有很大的作用,单一的特征可能会影响分类的效果

对卷积的操作

SAME PADDING 和 VALID PADDING

参考:TensorFlow中CNN的两种padding方式“SAME”和“VALID”

卷积后一般会加上池化层进行池化操作

池化

对于池化的操作

处理过程

手写数字识别使使用卷积神经网络案例

import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data', one_hot=True)

batch_size = 100
n_batch = mnist.train.num_examples // batch_size

# 初始化权值
def weight_variables(shape):
    initial = tf.truncated_normal(shape, stddev=0.1) # 截断正太分布
    return tf.Variable(initial)

# 初始化偏置
def biases_variables(shape):
    initial = tf.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值