IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Lecture 3 Convolutional Neural Network (CNN) -> 正文阅读

[人工智能]Lecture 3 Convolutional Neural Network (CNN)

Lecture 3: Image as input

Convolutional Neural Network (CNN)

Image Classification

image-20220830165254662

如上图所示,假设所有的输入图片的大小都是 100 × 100 100\times 100 100×100,输出一个 one-hot 向量 y ′ y' y,用交叉熵来计算标签值 y ^ \hat y y^? 和输出值 y ′ y' y 间的损失。

如下图所示,计算机在处理图片时,将图片视作三维的 Tensor(图片的宽、高、channel,三个 channel 代表了 RGB 三种颜色、宽和高就代表了图片的解析度也就是像素个数),将图片拉直成向量后就能作为模型的输入,向量中的数值代表了某个位置的某一颜色的强度。

image-20220830171630800

如果选择全连接网络(Fully Connected Network)作为模型,那么输入向量的总长度就是 100 × 100 × 3 100\times 100\times 3 100×100×3。假设第一层神经元(Neuron)的个数是 1000 1000 1000,那么第一次的权重(weight)的个数就是 3 × 100 × 100 × 1000 = 3 × 10 7 3\times 100\times 100\times 1000 = 3\times {10}^7 3×100×100×1000=3×107 个。

image-20220830172149451

Observation and Simplification

我们尝试观察图片中的特点,并基于我们的发现在全连接网络上进行简化工作。

Observe and Simplify 01

观察

image-20220830172410890

我们期待模型能够识别物体(object)的一些特定的模式(pattern)或特征,从而学会分辨物体。如上图所示,模型学习到了鸟的喙、眼和足,从而识别出这是一只鸟。

因此,当模型需要学习一些特定的模式或特征时,我们不需要让每一个神经元都看过一整张图片。一些特定的模式或特征往往比完整的图片要小得多。是否可以只将关键的模式或特征作为输入呢?

简化

我们可以划定一个区域,称作感受野(Receptive Field),每个神经元只关心自己感受野中的数值。如下图所示,一个神经元只负责感受野中的 3 × 3 × 3 = 27 3\times 3 \times 3=27 3×3×3=27 个数值,因此总共需要 27 27 27 个权重再加上一个 b i a s bias bias 即可作为下一个神经元的输入。

image-20220830202534561 image-20220830203833142

关于感受野(Receptive Field):

  • 多个神经元可以作用于同一个感受野;
  • 不同的感受野可以重叠;
  • 不同的神经元可以有不同大小的感受野;
  • 神经元可以只作用于某些通道;
  • 感受野不一定得是正方形。

Receptive Field - Typical Setting

image-20220830204402105

如上图所示,是一个经典的感受野设定:

  • 感受野包含了所有的通道(all channels),一般讨论 kernel size的时候,我们只说宽和高,默认包含了所有的通道,比如一个大小为 3 × 3 3\times 3 3×3 的卷积核;
  • 通常会有一组神经元作用于同一个感受野,比如 64 64 64 128 128 128 个;
  • 通过移动卷积核可以得到一个新的感受野,而移动的这一段距离叫做步长(Stride),步长不会设置得很大,我们希望不同的感受野之间要有重叠,比如 s t r i d e = 2 stride=2 stride=2
  • 如果移动卷积核超出了范围,那么我们需要填充(padding),比如补 0 0 0

Observe and Simplify 02

观察

同样一种模式或特征可能出现在图片的不同位置上,如下图中鸟喙的例子。这些作用于图中鸟喙部分的神经元,他们的作用是一样的,只是作用的感受野位置不同。那么是否每个感受野都需要一个检测鸟喙的神经元呢?当让是不需要的,这样参数量就太大了。

image-20220831082204180

简化

我们希望不同感受野的神经元间能够共享参数(parameter sharing)。如下图所示,两个作用于不同感受野的神经元,它们的参数是相同的;而作用于同一感受野的不同神经元之间是不会共享参数的。

image-20220831083052508

Parameter Sharing - Typical Setting

image-20220831084445135

每个感受野都有一组神经元;不同感受野的神经元共享同一组参数;作用于不同感受野且共享参数的神经元,将这样的共享的参数叫做 filter (滤波器)。

Observe and Simplify 03

观察

对图片进行下采样(subsample)不会改变图中的物品,比如去掉图片中的偶数行和奇数列。

image-20220831092858616

简化

Pooling 池化,Pooling 可以减少计算量,让图片越来越小。

image-20220831100618443 image-20220831100711414

Benefit of Convolutional Layer

image-20220831085907998
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:12:01  更:2022-09-04 01:13:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:49:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码