zoukankan      html  css  js  c++  java
  • 卷积神经网络-疑点解析

    在学习RNN的时候,经常会用CNN来类比,过程中我发现自己对CNN有些地方理解的还不是很清楚。

    疑惑1:CNN卷积层的神经元是什么样的?

    CNN的卷积层包括各种概念,各种计算,但是我忽然发现,基本没人提到卷积层的神经元,而且在tensorflow编程中,也无需设置卷积层的神经元,这使得我们更加忽略了卷积层的神经元到底是啥样的。

    权值共享,那么是不是只要一个神经元就够了呢?

    于是我开始思考...

    1. 对比全连接的神经元,可以发现,神经元包含一组输入,一组weight,一个函数,一个输出,也就是说一个神经元在每次传输中只有一个输出。

      // 试想,如果一次输出多个值,它又怎么保存这些值呢?显然没办法,所以这是一个重点。

    2. 卷积层的输出是feture map,是很多个值,一个神经元肯定不行

    3. 那么神经元和卷积核啥关系呢?一个卷积核对应一个神经元?

     仔细思考下,卷积核可以是多通道的,一个通道一个future map,所以不是一个卷积核一个神经元。

    综上,卷积层的神经元个数为:

    size(future map) * num(future map)

    疑惑2:为什么CNN能够权值共享,全连接网络不行

    1. 首先,你要理解,权重是什么? 权重就是偏好,权重3就比权重1更受关注,甚至权重-1被讨厌

    那么一组权重是什么?我们可以把它称作一个模板,或者叫做一个过滤器,意思是每个位置都有规范。

    我们用过滤器来过滤东西时,有孔的位置才会被关注到。

    2. 其次,我们理解一句话:横看成岭侧成峰,就是说看一个事物,不同角度看到的样子是不同的,不同的角度就是不同的过滤器,要了解一张图片,就要很多个过滤器。

    这就是多个卷积核。

    3. 我们用多个过滤器筛到图片不同角度的特征,最后通过多次卷积形成了这些特征的非线性组合,也就代表了图片的特征。

    那么全连接为什么不权重共享?

    试想,如果不同特征到一个神经元权重相同,那你只要一个特征就行了啊,要那么多干啥;

    如果一个特征到每个神经元权重相同,那这些神经元输出的值都一样,要那么多神经元干啥。

  • 相关阅读:
    centos下两种方法安装git
    Field.setAccessible()方法
    Tomcat日志格式自定义
    Java监控工具
    JDK目录结构和文件作用介绍
    Java中堆和栈的区别
    Magicodes.WeiChat——使用AntiXssAttribute阻止XSS(跨站脚本攻击)攻击
    Magicodes.WeiChat——缓存管理
    Magicodes.WeiChat——WeChatOAuthTest(网页授权获取用户基本信息)
    Magicodes.WeiChat——后台JS框架封装
  • 原文地址:https://www.cnblogs.com/yanshw/p/10438741.html
Copyright © 2011-2022 走看看