网络模型(CNN-卷积神经网络)

本文介绍了卷积神经网络(CNN)的基本概念,包括像素融合、特征提取以及权重共享,阐述了如何计算特征图尺寸,并探讨了卷积核大小对计算量和效果的影响。此外,还提到了一个手写数字识别的实验,使用CNN结合标准化、激活函数和全连接层,以MNIST数据集进行训练,采用Adam优化器和交叉熵损失函数。
摘要由CSDN通过智能技术生成

概念

用来做像素融合,提取特征。(1×1 的卷积核用来做通道融合)
CNN
卷积核层数与输入层数相同,卷积核个数与输出层数相同,每个卷积核卷提取一种特征,最后用全连接得到一个特征图。(全连接的参数不更新,只做特征融合)

特征图尺寸:w’ = (w - k + 2p) / s + 1
w:原图大小。
k:卷积核大小。
p:填充。
s:步长。
结果带小数时,向下取整。(例如:原图大小为 6×6,卷积核大小为 3×3,步长为 1,不填充,得到的特征图尺寸为 2×2)

权重共享
共享:一个卷积核卷整张图的参数共享。
目的:减少参数量,提高计算的速度和性能。
参数量减少后,为了得到全面的特征信息,需要用多个卷积核去卷一张图,每个卷积核负责一种特征。

计算量:H’W’K²NM
H’W’:输出特征大小。(特征图的点数,也就是卷积核走的步数,步长大,次数就少,但是会丢特征)

K²:卷积核大小。(卷积核每步都是在这个区域的对应位置相乘相加)

  • 卷积核大:计算量大,速度慢,效果好,代表的原图范围大。
  • 卷积核小:计算量小,速度快,效果不好。
  • 信息要充分融合,可以使用小卷积核卷多次代替大卷积核卷一次。(3×3 卷两次比 5×5 卷一次快,而且加深了网络)

N:输入通道数。

M:输出通道数。

实验(手写数字识别)

数据集:MNIST。
网络结构:CNN + 标准化(BN)+ 激活(ReLU)+ 全连接。
优化器:Adam。
损失函数:交叉熵(CrossEntropyLoss),自带 one-hot 类型和 softmax。
输出:one-hot 类型,结果为最大的索引值。

网络

import torch
from torch import nn


class MyNet(nn.Module):
    def __init__(self):
        super().__init__()
        self.conv = nn.Sequential(
            # 28*28*3
            nn.Conv2d(1, 16, 3, 2, 1), nn.BatchNorm2d(16), nn.ReLU(),
            # 14*14*16
            nn.Conv2d(16, 32, 3, 2, 1)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值