美文网首页
深度学习--卷积神经网络

深度学习--卷积神经网络

作者: mero1iu | 来源:发表于2019-12-10 10:53 被阅读0次

卷积神经网络是个啥

1.简单卷积网络介绍

图1 Lenet-5网络结构

图片所述的是Lenet-5的网络结构,我们从中挑选我们需要理解的部分。(新手理解,找不到合适的图,暂且选用这个图进行说明。)

一个卷积神经网络由若干卷积层、Pooling层、全连接层组成。你可以构建各种不同的卷积神经网络,它的常用架构模式为:

INPUT ->  [[CONV]*N -> POOL?]*M -> [FC]*K

也就是N个卷积层再叠加一个Pooling层,重复这个结构M次,最后叠加K个全连接层。

2.层结构介绍

图1可以看出,卷积神经网络全连接神经网络层结构有很大不同,全连接层每层的神经元是按照一维排列的,也就是排成一条线的样子;而卷积神经网络每层的神经元是按照三维排列的,也就是排成一个长方体的样子,有宽度、高度和深度

卷积神经网络过程

卷积层对图像进行了卷积操作,得到了Feature Map。卷积层包含一个超参数--Filter个数,有几个Filter个数,就会产生几个Feature Map,得到的Feature Map也被称为通道(channel)
经历了卷积后,pooling层对得到的Feature Map进行了下采样,得到同样数量更小的Feature Map。接着,是第二个卷积层,它有5个Filter。每个Fitler都把前面下采样之后的3个Feature Map卷积在一起,得到一个新的Feature Map。*这样,5个Filter就得到了5个Feature Map。接着,是第二个Pooling,继续对5个Feature Map进行下采样,得到了5个更小的Feature Map。
后面接着为全连接层。第一个全连接层的每个神经元,和上一层得到的Feature Map中的每个神经元相连,第二个全连接层(也就是输出层)的每个神经元,则和第一个全连接层的每个神经元相连,这样得到了整个网络的输出。

卷积神经网络的简单pytorch定义实现

class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        # 1 input image channel, 6 output channels, 3x3 square convolution
        # kernel
        self.conv1 = nn.Conv2d(1, 6, 3)
        self.conv2 = nn.Conv2d(6, 16, 3)
        
        self.fc1 = nn.Linear(16 * 6 * 6, 120)
        self.fc2 = nn.Linear(120, 84)
        self.fc3 = nn.Linear(84, 10)

    def forward(self, x):
        # Max pooling over a (2, 2) window
        x = F.max_pool2d(F.relu(self.conv1(x)), (2, 2))

        x = F.max_pool2d(F.relu(self.conv2(x)), 2)
        x = x.view(-1, self.num_flat_features(x))
        x = F.relu(self.fc1(x))
        x = F.relu(self.fc2(x))
        x = self.fc3(x)
        return x

    def num_flat_features(self, x):
        size = x.size()[1:]
        num_features = 1
        for s in size:
            num_features *= s
        return num_features

相关文章

  • CNN学习笔记

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

  • 《解析卷积神经网络—深度学习实践手册.pdf》PDF高清完整版-

    《解析卷积神经网络—深度学习实践手册.pdf》PDF高清完整版-免费下载 《解析卷积神经网络—深度学习实践手册.p...

  • 一文带你认识深度学习中不同类型的卷积

    卷积(convolution)现在可能是深度学习中最重要的概念。靠着卷积和卷积神经网络(CNN),深度学习超越了几...

  • keras学习-CNN

    keras学习-卷积神经网络部分 参考《Python 深度学习》一书 卷积神经网络 在使用mnist数据训练时 使...

  • Keras深度学习实践3—计算机视觉问题:猫vs狗

    内容参考以及代码整理自“深度学习四大名“著之一《Python深度学习》 一、卷积神经网络 卷积神经网络,也叫con...

  • 18-tensorflow

    基础 深度学习介绍 深度学习,如深度神经网络、卷积神经网络和递归神经网络已被应用计算机视觉、语音识别、自然语言处理...

  • CNN中常用的四种卷积详解

    卷积现在可能是深度学习中最重要的概念。正是靠着卷积和卷积神经网络,深度学习才超越了几乎其他所有的机器学习手段。这期...

  • 深度学习中的各种卷积操作

    吐槽:为啥简书不支持[TOC]生成目录 深度学习中的各种卷积操作 1、深度学习中的卷积操作   在神经网络中,卷积...

  • 文科小白也能入门的深度学习(一)

    从此部分开始写关于深度学习的文章,从卷积神经网络写起。 卷积神经网络是近年来深度学习能在计算机视觉领域取得突破性成...

  • CNN的基础知识

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

网友评论

      本文标题:深度学习--卷积神经网络

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