首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >卷积神经网络

卷积神经网络

作者头像
贺公子之数据科学与艺术
发布2025-12-18 09:53:52
发布2025-12-18 09:53:52
3870
举报
卷积神经网络的结构

卷积神经网络(CNN)主要由输入层、卷积层、激活函数、池化层和全连接层组成。典型结构为:

  • 输入层(INPUT):接收原始图像数据(如RGB图像为3通道)。
  • 卷积层(CONV):通过卷积核提取局部特征,参数包括输入/输出通道数、卷积核大小、步长和填充。
  • 激活函数(RELU):引入非线性,常用ReLU函数解决梯度消失问题。
  • 池化层(POOL):降维并保留主要特征,如最大池化选取局部最大值。
  • 全连接层(FC):整合特征并输出分类结果。
卷积神经网络的计算

输出特征图尺寸的计算公式为: [ N = \frac{W - F + 2P}{S} + 1 ]

  • 参数说明
    • ( W ):输入尺寸(如256x256)。
    • ( F ):卷积核大小(如11x11)。
    • ( P ):填充值(如2)。
    • ( S ):步长(如4)。
  • 示例
    • 输入256x256,卷积核11x11,步长4,填充2: [ N = \frac{256 - 11 + 2 \times 2}{4} + 1 = 63 ] 输出尺寸为63x63。
AlexNet实例详解

AlexNet包含5个卷积层和3个全连接层,使用PyTorch实现:

代码语言:javascript
复制
self.conv1 = torch.nn.Sequential(
    torch.nn.Conv2d(3, 96, kernel_size=11, stride=4, padding=0),
    torch.nn.ReLU(),
    torch.nn.MaxPool2d(kernel_size=3, stride=2)  # 输出27x27x96
)
  • 逐层分析
    • 卷积层1:输入227x227x3,输出55x55x96(经ReLU和池化后为27x27x96)。
    • 卷积层2-5:逐步缩小空间尺寸,增加通道数(如输出13x13x256、6x6x256)。
    • 全连接层:将6x6x256展平为9216维向量,经两层4096神经元和ReLU、Dropout后输出50类结果。
常见卷积层设置问题

问题1:为何使用Conv2d?

  • Conv1d:处理文本等一维数据,仅对宽度卷积。
  • Conv2d:处理图像等二维数据,对高度和宽度同时卷积。

问题2:卷积核参数简化

  • nn.Conv2d(3, 6, 5)5表示5x5的方形卷积核。若需非方形核,需显式指定(如(5, 3))。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-12-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 卷积神经网络的结构
  • 卷积神经网络的计算
  • AlexNet实例详解
  • 常见卷积层设置问题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档