神经网络学习"/>
软件杯 银行卡号识别 关于神经网络学习
了解了CNN的架构,继续看看用于构建CNN各层的类型。CNN通常使用以下类型的层:
· 输入层:用于原始图像数据的输入。
· 卷积层:该层计算神经元与输入中各种切片之间的卷积。
卷积层基本上计算权重和前一层输出的切片之间的点积。
· 激励层:此图层将激活函数应用于前一图层的输出。该函数类似于max(0,x)。需要向该层神经网络增加非线性映射,以便它可以很好地概括为任何类型的功能。
· 池化层:此层对前一层的输出进行采样,从而生成具有较小维度的结构。在网络中处理图像时,池化有助于只保留突出的部分。最大池是池化层最常用的,可在给定的KxK窗口中选择最大值。
· 全连接层:此图层计算最后一层的输出分。输出结果的大小为1x1xL,其中L是训练数据集中的类数。
从神经网络中的输入层到输出层时,输入图像将从像素值转换为最终的类得分。现已提出了许多不同的CNN架构,它是一个活跃的研究领域。模型的准确性和鲁棒性取决于许多因素- 层的类型、网络的深度、网络中各种类型的层的排列、为每层选择的功能和训练数据等。
tensorflow导入包
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
定义将用于生成数据的参数。使用线性模型:y =mx + c:
data = []
m = 0.2
c = 0.5
for i in range(num_points):
= x = np.random.normal(0.0, 0.8)
定义损失函数
loss = tf.reduce_mean(tf.square(y - y_data))
定义梯度下降优化器并指定损失函数:
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
初始化变量
init = tf.initialize_all_variables()
开始训练
num_iterations = 10
for step in range(num_iterations):
Run the session
sess.run(train)
更多推荐
软件杯 银行卡号识别 关于神经网络学习
发布评论