😘
tensorflow 2.0实战笔记
  • Tensorflow 2.0 实战笔记
  • 第一章 Tensorflow 2.0入门
    • 1.1 Tensorflow简介
    • 1.2 Tensorflow安装
      • 1.2.1 Windows下安装
      • 1.2.2 Ubuntu下安装
      • 1.2.3 环境测试
    • 1.3 Tensorflow1.x 和2.x接口区别
  • 第二章 Tensorflow基础篇 I
    • 2.1 张量与操作
    • 2.2 三种定义模型方式
    • 2.3 两种模型训练方式
    • 2.4 计算图机制
    • 2.5 模型保存与加载
    • 注意
    • 相关bug详解
  • 第三章 Tensorflow基础篇 II
    • 3.1 自定义模型层
    • 3.2 损失函数及自定义损失函数
    • 3.3 优化器及自定义优化器
    • 3.4 评估函数及自定义评估函数
    • 3.5 激活函数及自定义激活函数
    • 3.6 Tensorboard使用
    • 注意
  • 第四章 Tensorflow数据管道
    • 4.1 tf.data简介
    • 4.2 Dataset使用
    • 4.3 TFrecord使用
    • 注意
  • 第五章 卷积神经网络
    • 5.1 浅谈卷积神经网络
    • 5.2 拆解卷积层
    • 5.3 拆解池化层
    • 5.4 实战三:Quick, Draw! Google涂鸦识别挑战项目
    • 注意
  • 第六章 循环神经网络
    • 6.1-浅谈循环神经网络
    • 6.2-word2vec简介及词向量构建
    • 6.3-实战四:LSTM实现新闻分类算法
  • 第七章 Transorformer网络
    • 7.1-Transfromer原理详解
    • 7.2-实战五:Transformer实现英译中机器翻译
  • 第八章 tf.hub初探
  • 第九章 Tensorflo7部署
  • 第九章 相许Tensorflow
由 GitBook 提供支持
在本页

这有帮助吗?

  1. 第五章 卷积神经网络

5.1 浅谈卷积神经网络

上一页第五章 卷积神经网络下一页5.2 拆解卷积层

最后更新于4年前

这有帮助吗?

卷积神经网络 (Convolutional Neural Networks (CNNs / ConvNets)) 与上一章中的普通神经网络非常相似:它们由具有可学习的权重和偏见的神经元组成。每个神经元接收一些输入,执行点积,并可选地跟随其非线性。整个网络仍然表示一个可区分的分数函数:从一端的原始图像像素到另一端的类分数。而且它们在最后一层(完全连接的)上仍然具有丢失功能(例如SVM / Softmax),并且我们为学习常规神经网络而开发的所有技巧/窍门仍然适用。

那有什么变化呢?ConvNet架构明确假设输入是图像,这使我们可以将某些属性编码到架构中。这些使前向传播函数更有效地实现,并大大减少了网络中的参数数量。

架构概述

回想一下:常规神经网络。如上一章所述,神经网络接收输入(单个向量),并通过一系列隐藏层对其进行转换。每个隐藏层都由一组神经元组成,其中每个神经元都完全连接到上一层中的所有神经元,并且其中单个层中的神经元完全独立地起作用,并且不共享任何连接。最后一个完全连接的层称为“输出层”,在分类任务中,它表示类别的概率。

常规神经网络无法很好地缩放为完整图像。在CIFAR-10中,图片的尺寸仅为 32x32x3(宽32,高32,RGB通道3),因此,常规神经网络的第一个隐藏层中的单个完全连接的神经元将具有32 32 3 = 3072的权重。这个数量似乎仍然可以控制,但是很明显,这种完全连接的结构无法缩放到更大的图像。例如,尺寸更大的图像,例如 200x200x3,将导致神经元的权重为200 200 3 = 120,000。而且,几乎可以肯定,我们希望拥有多个这样的神经元,因此这些参数很快就会加起来!显然,这种全连接方式是浪费的,大量的参数将很快导致过拟合。

神经元的3D体积。卷积神经网络利用了输入由图像组成的事实,并且它们以更明智的方式约束了体系结构。特别是,与常规神经网络不同,ConvNet的各层神经元排列成3个维度:宽度,高度,深度。(请注意,这里的“深度”一词指的是激活体积的第三维,而不是指整个神经网络的深度,后者可以指网络中的总层数。)例如,CIFAR-10中的输入图像是激活的输入体积,并且该体积的尺寸为32x32x3(分别为宽度,高度,深度)。正如我们将很快看到的,一层中的神经元只会连接到该层之前的一小部分区域,而不是以全连接的方式连接所有神经元。此外,CIFAR-10的最终输出层将具有1x1x10的尺寸,因为在ConvNet体系结构的末尾,我们会将整个图像缩小为沿着深度尺寸排列的单个类别评分数矢量。这是可视化效果:

img

参考:

img

https://cs231n.github.io/convolutional-networks/