Convolutional Neural network(卷积神经网络)

这篇具有很好参考价值的文章主要介绍了Convolutional Neural network(卷积神经网络)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

Why CNN for Image?

The whole CNN structure

 Convolution(卷积)

Max Pooling

Flatten

 CNN in Keras

 What does CNN learn?

what does filter do

what does neuron do

 what about output

 Deep Dream

Application

Playing Go

Speech

 Text


Why CNN for Image?

当我们直接用一般的fully connected的feedforward network来做图像处理的时候,往往会需要太多的参数;用CNN来做,就可以简化neural network的架构,我们根据自己的知识和对图像处理的理解,一开始就把某些实际上用不到的参数给过滤掉。

  • 对一个神经元来说,想要侦测有没有某一个pattern出现,它其实并不需要看整张image,只需要看这张image的一小部分,就可以决定这件事情了。

Convolutional Neural network(卷积神经网络)

  • 相同的pattern在不同区域时,神经元就可以使用相同的参数来学习不同位置的pattern。

Convolutional Neural network(卷积神经网络)

  • 我们可以对一张image做subsampling(二次抽样),对图像辨识来说,是没有太大的影响的。

Convolutional Neural network(卷积神经网络)

The whole CNN structure

下图展示了CNN的整体流程。

Convolutional Neural network(卷积神经网络)

Convolutional Neural network(卷积神经网络)

convolution主要做两件事,第一件事检测某个pattern不需要看整张image,然后第二件事是同一个pattern会出现在图片的不同区域。Max Pooling主要做缩放图片。

 Convolution(卷积)

  • Property 1

每一个Filter都是通过Training data学出来的,而不是人为设计的。当它侦测的时候,并不会去看整张image,它只看一个3*3范围内的pixel,就可以判断某一个pattern有没有出现,这就考虑了property 1。

Convolutional Neural network(卷积神经网络)

  • Property 2

同一个pattern出现在image左上角的位置和左下角的位置,并不需要用到不同的filter,我们用filter1就可以侦测出来,这就考虑了property 2

Convolutional Neural network(卷积神经网络)

  • Feature Map(特征映射)

我们用不同的filter去做convolution得到的结果就叫Feature Map(特征映射),有多少个filter,对应就有多少个映射后的image。

Convolutional Neural network(卷积神经网络)

  • Convolution V.s. Fully connected

每一个filter就相当于一个神经元。如下图,我们将36个特征值排成一列,而filter1就相当于是9个w。下图用不同的颜色代表不同的w,卷积的时候并没有将所有的特征值与filter做内积,这也减少了参数的使用。

Convolutional Neural network(卷积神经网络)

Max Pooling

现在,我们将每个feature map划分成四等分,取每一份里最大的。

Convolutional Neural network(卷积神经网络)

这时feature map变成了2x2的矩阵了,再次减少了特征。

Convolutional Neural network(卷积神经网络)

Flatten

Flatten就是,把左边的feature map拉直,然后把它丢进一个Fully connected Feedforward network。

Convolutional Neural network(卷积神经网络)

 CNN in Keras

Convolutional Neural network(卷积神经网络)

 What does CNN learn?

我们任取一个filter,我们用Convolutional Neural network(卷积神经网络)来表示该filter每一个参数的和,这个和表示该filter被激活(被训练)的程度。这时我们要找一个输入x,这个x可以让这个和最大,当这个和最大的时候,被激活的程度也就越大。这时,我们使用梯度上升的方法去寻找使最大的x*。

Convolutional Neural network(卷积神经网络)

what does filter do

假设说我在50个filter里任取12个filter,然后来分别看这12个filter找的x*,我们发现每个filter找的x都比较有特点,也就是说每一个filter可以识别一张图的某一类特点。

Convolutional Neural network(卷积神经网络)

what does neuron do

然后我们将经过CNN的image在flatten后传入fully connect network。然后任取一个神经元记为aj,我要找到使aj最大的x。

每一个neuron不再是只看整张图的一小部分,它现在的工作是看整张图。

Convolutional Neural network(卷积神经网络)

 what about output

然后我们来找令output最大的x*,结果如下,我们发现这就张图我们是看不懂的。但是是机器可以识别它们分别代表哪一个数字。那么我们对它进行处理,L1正则化,这时的识别效果会好很多。

Convolutional Neural network(卷积神经网络)

 Deep Dream

Deep Dream是,如果你给machine一张image,它会在这个image里面加上它看到的东西。

Convolutional Neural network(卷积神经网络)

Convolutional Neural network(卷积神经网络)

  • Deep Style

如果今天你input一张image,Deep Style做的事情就是让machine去修改这张图,让它有另外一张图的风格,如下所示。

Convolutional Neural network(卷积神经网络)

Application

  • Playing Go

对于CNN来说,就是直接把它当成一个image来看待,然后再output下一步要落子的位置。

Convolutional Neural network(卷积神经网络)

Convolutional Neural network(卷积神经网络)

Speech

filter只在Frequency即纵坐标的方向上移动,而不在时间的序列上移动。

Convolutional Neural network(卷积神经网络)

 Text

首你把这个word sequence里面的每一个word都用一个vector来表示,vector代表的这个word本身的semantic (语义),那如果两个word本身含义越接近的话,它们的vector在高维的空间上就越接近,这个东西就叫做word embedding。

Convolutional Neural network(卷积神经网络)文章来源地址https://www.toymoban.com/news/detail-454986.html

到了这里,关于Convolutional Neural network(卷积神经网络)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 递归神经网络(Recursive Neural Networks)

    递归神经网络(Recursive Neural Networks)是一种特殊的神经网络,它们通过处理具有树形结构的数据来捕获数据的深层次关系,尤其是在自然语言处理和计算机视觉中的一些应用,如语法分析和场景理解。 1. 理解基本概念和背景 区别于循环神经网络 :首先,清楚递归神经网络(

    2024年04月13日
    浏览(26)
  • 机器学习15:神经网络-Neural Networks

    神经网络是特征交叉的更复杂版本。本质上,神经网络会学习适当的特征组合。本文主要介绍神经网络的结构、隐藏层、激活函数等内容。 目录 1.神经网络:结构 2.隐藏层 3.激活函数 3.1 常用激活函数 3.2 小结 4.

    2024年02月12日
    浏览(26)
  • 神经网络的学习(Neural Networks: Learning)

    案例:假设神经网络的训练样本有𝑚个,每个包含一组输入𝑥和一组输出信号𝑦,𝐿表示神经网络层数,𝑆𝐼表示每层的 neuron 个数(𝑆𝑙表示输出层神经元个数),𝑆𝐿代表最后一层中处理单元的个数。 将神经网络的分类定义为两种情况:二类分类和多类分类, 二类分

    2024年01月24日
    浏览(31)
  • 神经网络语言模型(Neural Network Language Model,NNLM)

    神经网络语言模型(Neural Network Language Model,NNLM)是一种用神经网络建模语言的方法。NNLM 通过学习文本序列中的词汇之间的概率关系,能够捕捉到语言的结构和语境,从而能够生成自然语言文本或进行其他与语言相关的任务。 想象一下,你正在阅读一本小说。每当你读到一

    2024年02月02日
    浏览(30)
  • 深度学习4. 循环神经网络 – Recurrent Neural Network | RNN

    目录 循环神经网络 – Recurrent Neural Network | RNN 为什么需要 RNN ?独特价值是什么? RNN 的基本原理 RNN 的优化算法 RNN 到 LSTM – 长短期记忆网络 从 LSTM 到 GRU RNN 的应用和使用场景 总结 百度百科+维基百科 卷积神经网络和普通的算法大部分都是输入和输出的一一对应,也就是一

    2024年02月11日
    浏览(33)
  • 物理信息神经网络PINNs : Physics Informed Neural Networks 详解

    本博客主要分为两部分: 1、PINN模型论文解读 2、PINN模型相关总结 基于物理信息的神经网络(Physics-informed Neural Network, 简称PINN),是一类用于解决有监督学习任务的神经网络,同时尊重由一般非线性偏微分方程描述的任何给定的物理规律。 原理 :它不仅能够像传统神经网

    2024年02月02日
    浏览(35)
  • 【深度学习笔记】6_2 循环神经网络RNN(recurrent neural network)

    注:本文为《动手学深度学习》开源内容,部分标注了个人理解,仅为个人学习记录,无抄袭搬运意图 上一节介绍的 n n n 元语法中,时间步 t t t 的词 w t w_t w t ​ 基于前面所有词的条件概率只考虑了最近时间步的 n − 1 n-1 n − 1 个词。如果要考虑比 t − ( n − 1 ) t-(n-1) t −

    2024年03月12日
    浏览(54)
  • 机器学习19:多类别神经网络-Multi-Class Neural Networks

    在【 机器学习12:分类 Classification 】一文中,笔者介绍了二元分类模型,它可以在两个可能的选择之一之间进行选择,例如: 电子邮件是垃圾邮件还是非垃圾邮件。 肿瘤是恶性的或良性的。 在本文中,我们将研究 多类 分类,它可以从多种可能性中进行选择。例如: 这只狗

    2024年02月12日
    浏览(28)
  • 吴恩达深度学习笔记:浅层神经网络(Shallow neural networks)3.1-3.5

    3.1 神经网络概述(Neural Network Overview) 本周你将学习如何实现一个神经网络。在我们深入学习具体技术之前,我希望快速的带你预览一下本周你将会学到的东西。如果这个视频中的某些细节你没有看懂你也不用担心,我们将在后面的几个视频中深入讨论技术细节。 现在我们

    2024年03月23日
    浏览(29)
  • PyTorch开放神经网络交换(Open Neural Network Exchange)ONNX通用格式模型的熟悉

    我们在深度学习中可以发现有很多不同格式的模型文件,比如不同的框架就有各自的文件格式: .model、.h5、.pb、.pkl、.pt、.pth等等 ,各自有标准就带来互通的不便,所以微软、Meta和亚马逊在内的合作伙伴社区一起搞一个 ONNX(Open Neural Network Exchange) 文件格式的通用标准,这样

    2024年02月12日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包