LeNet-5

输入图像为32*32

C1:卷积层,滤波器6组5*5,输出28*28 *6 。训练参数(25个unit,1个偏置)。连接数156*28*28。神经元:28*28*6

S2:下采样,一个滤波器2*2,,输出14*14*6。参数6*2=12,(一个权重,一个偏置)。连接数:6*5*14*14=5880。14*14个神经元,过滤器处理一样

C3:卷积,60个滤波器,输出10*10。C3层的最开始的6个特征映射依赖于S2层的特征映射的每3个连续子集。接下来的6个特征映射依赖于S2层的特征映射的每4个连续子集。再接下来的3 个特征映射依赖于S2层的特征映射的每4个不连续子集。最后一个特征映射依赖于S2层的所有特征映射。这样共有60个滤波器,大小是5 × 5 = 25。得到16组大小为10×10 = 100的特征映射。C3层的神经元个数为16×100 = 1,600。可训练参数个数为 60 × 25 + 16 = 1,516。连接数为1,516 × 100 = 151,600。

S4:1个滤波器2*2,输出5*5*16。参数16*2。连接数16*5*25=2000。神经元25个。

C5:输出1*1*120。120*16个滤波器5*5。参数120*16*25+120=48120。连接数=48120。全连接

F6:84个单元(之所以选这个数字的原因来自于输出层的设计),与C5层全相连。有120*84+84=10164个可训练参数和连接数。全连接

输出层由欧式径向基函数(Euclidean Radial Basis Function)单元组成,每类一个单元,每个有84个输入。每个输出RBF单元计算输入向量和参数向量之间的欧式距离。输入离参数向量越远,RBF输出的越大。一个RBF输出可以被理解为衡量输入模式和与RBF相关联类的一个模型的匹配程度的惩罚项。用概率术语来说,RBF输出可以被理解为F6层配置空间的高斯分布的负log-likelihood。给定一个输入模式,损失函数应能使得F6的配置与RBF参数向量(即模式的期望分类)足够接近

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LeNet-5是一个经典的卷积神经网络模型,最初由Yann LeCun提出,用于手写数字识别。Lenet-5的结构相对简单,但在计算机视觉领域的早期任务中具有较好的性能。 在TensorFlow 2中实现Lenet-5可以分为几个步骤。首先,我们需要导入所需的库,包括tensorflow、numpy和matplotlib等。接下来,我们可以定义Lenet-5模型的架构。 Lenet-5的架构包括两个卷积层、两个池化层和三个全连接层。我们可以使用tf.keras.Sequential()来定义模型,并逐层添加卷积层、池化层和全连接层。在每个卷积层后面,我们可以使用ReLU激活函数对输出进行非线性处理。 在定义完模型架构后,我们可以编译模型,指定优化器、损失函数和评价指标等。一般来说,我们可以选择Adam优化器,交叉熵损失函数,并将准确率作为评价指标。 然后,我们需要准备数据。Lenet-5最初是用于手写数字识别,因此我们可以使用MNIST数据集来进行训练和测试。我们可以使用tf.keras.datasets模块中的mnist.load_data()函数加载MNIST数据集,并将其分为训练集和测试集。 接下来,我们可以对数据进行预处理,包括将像素值缩放到0到1之间,并将标签数据转换为One-Hot编码。 最后,我们可以使用.fit()函数对模型进行训练,并使用测试集评估模型性能。我们可以指定训练的epoch数和批量大小,并在训练过程中观察训练集和验证集上的准确率和损失值。 这样,我们就能够在TensorFlow 2中实现并使用Lenet-5模型进行手写数字识别。当然,我们还可以尝试调整模型参数和网络结构,以进一步提高模型的性能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值