美文网首页大数据人工智能
人工智能00040 深度学习与图像识别书摘40 卷积神经网络 池

人工智能00040 深度学习与图像识别书摘40 卷积神经网络 池

作者: 水晓朴 | 来源:发表于2024-03-03 08:23 被阅读0次

池化(pooling)是对图片进行压缩(降采样)的一种方法,池化的方法有很多,如max pooling、average pooling等。

池化层也有操作参数,我们假设输入图像为W1*H1*D1(字母分别表示图像的宽、高、channel),池化层的参数中,池化kernel的大小为F*F,步长为S,那么经过池化后输出的图像的宽、高、channel分别为:

通常情况下F=2,S=2。一个4*4的特征层经过池化filter=2*2,stride=2的最大池化操作后可以得到一个2*2的特征层。

池化层对原始特征层的信息进行压缩,是卷积神经网络中很重要的一步。

我们将会看到在绝大多数情况下,卷积层、池化层、激活层三者几乎像一个整体一样常常共同出现。

下面给出PyTorch定义卷积神经网络的代码(这里只是初步介绍,更详细的代码将在后面中给出):

import torch.nn as nn

import torch.nn.functional as F

class Net(nn.Module):

    def __init__(self):                            #在这里定义卷积神经网络需要的元素

        super(Net, self).__init__()

        self.conv1 = nn.Conv2d(3, 6, 5)            #定义第一个卷积层

        self.pool = nn.MaxPool2d(2, 2)              #池化层

        self.conv2 = nn.Conv2d(6, 16, 5)            #定义第二个卷积层

        self.fc1 = nn.Linear(16 * 5 * 5, 120)      #全连接层

        self.fc2 = nn.Linear(120, 84)              #全连接层

        self.fc3 = nn.Linear(84, 10)                #最后一个全连接层用作10分类

    def forward(self, x):                          #使用__init__中的定义,构建卷积神经网络结构

        x = self.pool(F.relu(self.conv1(x)))        #第一个卷积层首先要经过ReLU做激活,然后使用前面定义好的nn.Max Pool2d(2, 2)方法做池化

        x = self.pool(F.relu(self.conv2(x)))        #第二个卷积层也要经过ReLU做激活,然后使用前面定义好的nn.MaxPool2d(2, 2)方法做池化

        x = x.view(-1, 16 * 5 * 5)                  #对特征层Tensor维度进行变换

        x = F.relu(self.fc1(x))                    #卷积神经网络的特征层经过第一次全连接层操作,然后再通过ReLU层激活

        x = F.relu(self.fc2(x))                    #卷积神经网络的特征层经过第二次全连接层操作,然后再通过ReLU层激活

        x = self.fc3(x)                            #卷积神经网络的特征层经过最后一次全连接层操作,得到最终要分类的结果(10分类标签)

        return x

        net = Net()

相关文章

  • 深度学习入门--卷积神经网络-卷积层

    卷积神经网络(CNN)被广泛应用于图像识别这个领域,几乎所有的基于深度学习的图像识别都是以卷积神经网络作为技术基础...

  • RNN理解笔记

    在深度学习方面,图像识别、语音识别主要运用卷积神经网络(CNN),而文字语言处理主要运用循环神经网络(RNN) 循...

  • CNN的基础知识

    CNN,全名卷积神经网络,是深度学习的一种,它与人工智能,机器学习,表示学习,深度学习的关系见下图(来自:解析卷积...

  • 深度学习入门

    深度学习 主要内容: 什么是深度学习 卷积神经网络的基本流程a. 卷积b. ReLUc. 池化d. 全连接 实验:...

  • TensorFlow 实战Google深度学习框架(第2版)第六

    第六章:图像识别与卷积神经网络 * 6.1图像识别问题简介&经典数据集* 6.2卷积神经网络简介* 6.3卷积神经...

  • 卷积神经网络学习(一)滤波器意义

    作者:荔枝boy 一. 卷积神经网络的发展 二. 卷积神经网络的重要性 三. 卷积神经网络与图像识别 四. 滤波器...

  • CNN详解-基于python基础库实现的简单CNN

    CNN,即卷积神经网络,主要用于图像识别,分类。由输入层,卷积层,池化层,全连接层(Affline层),Softm...

  • CNN学习笔记

    卷积神经网络-CNN 卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习(deep learn...

  • CS231n 卷积神经网络: 架构, 卷积/池化层(上)

    卷积神经网络: 架构, 卷积/池化层(上) 卷积神经网络: 架构, 卷积/池化层(上) 卷积神经网络(CNNs/C...

  • 图(graph)神经网络学习(二)

    学习资料: 【1】人工智能 | 图卷积网络介绍及进展(视频,中文) 【2】人工智能 | 图卷积神经网络的变种与挑战...

网友评论

    本文标题:人工智能00040 深度学习与图像识别书摘40 卷积神经网络 池

    本文链接:https://www.haomeiwen.com/subject/atekzdtx.html