如何理解卷积神经网络中的权值共享
来源:互联网 发布:java大学基础教程 pdf 编辑:程序博客网 时间:2024/05/16 19:02
权值共享这个词最开始其实是由LeNet5模型提出来,在1998年,LeCun发布了LeNet网络架构,就是下面这个:
虽然现在大多数的说法是2012年的AlexNet网络是深度学习的开端,但是CNN的开端最早其实可以追溯到LeNet5模型,它的几个特性在2010年初的卷积神经网络研究中被广泛的使用——其中一个就是权值共享。
其实权值共享这个词说全了就是整张图片在使用同一个卷积核内的参数,比如一个3*3*1的卷积核,这个卷积核内9个的参数被整张图共享,而不会因为图像内位置的不同而改变卷积核内的权系数。说的再直白一些,就是用一个卷积核不改变其内权系数的情况下卷积处理整张图片(当然CNN中每一层不会只有一个卷积核的,这样说只是为了方便解释而已)。
是的,就是这样,很简单的一个操作而已,这样来说的话,其实图像处理中的类似边缘检测,滤波操作等等都是在做全局共享,那么为什么当时要把这个思路拿出来说明一下,然后又给它起了一个名字呢?
(以下部分是个人理解,如果有不对的地方,还望指正!!)
我们大部分人都是在后知后觉中发现这个问题很简单,但是只有大神才能做先驱者!LeNet首次把卷积的思想加入到神经网络模型中,这是一项开创性的工作,而在此之前,神经网络输入的都是提取到的特征而已,就比如想要做一个房价预测,我们选取了房屋面积,卧室个数等等数据作为特征。而将卷积核引入到了神经网络去处理图片后,自然而然就会出现一个问题,神经网络的输入是什么?如果还是一个个像素点上的像素值的话,那就意味着每一个像素值都会对应一个权系数,这样就带来了两个问题:
1.每一层都会有大量的参数
2.将像素值作为输入特征本质上和传统的神经网络没有区别,并没有利用到图像空间上的局部相关性。
而权值共享的卷积操作有效解决了这个问题,无论图像的尺寸是多大,都可以选择固定尺寸的卷积核,LeNet中最大的卷积核只有5*5*1,而在AlexNet中最大的卷积核也不过是11*11*3。而卷积操作保证了每一个像素都有一个权系数,只是这些系数是被整个图片共享的,着大大减少了卷积核中的参数量。此外卷积操作利用了图片空间上的局部相关性,这也就是CNN与传统神经网络或机器学习的一个最大的不同点,特征的自动提取。
这也就是为什么卷积层往往会有多个卷积核(甚至几十个,上百个),因为权值共享后意味着每一个卷积核只能提取到一种特征,为了增加CNN的表达能力,当然需要多个核,不幸的是,它是一个Hyper-Parameter。
- 如何理解卷积神经网络中的权值共享
- 如何理解卷积、权值共享、池化
- 如何理解卷积神经网络中的1*1卷积
- 卷积神经网络卷积层和池化层学习、权值共享!!
- 卷积神经网络 权值共享 是什么 简单易懂版
- 理解Deep Learning Tutorials中的卷积神经网络
- 理解自然语言处理中的卷积神经网络
- 【深度学习笔记】多层感知机,非权值共享型卷积神经网络,权值共享型卷积神经网络之间的关系
- 【深度学习笔记】多层感知机,非权值共享型卷积神经网络,权值共享型卷积神经网络之间的关系
- 卷积神经网络中的“卷积”
- 可视化理解卷积神经网络
- 通俗理解卷积神经网络
- 通俗理解卷积神经网络
- 通俗理解卷积神经网络
- 通俗理解卷积神经网络
- 通俗理解卷积神经网络
- 通俗理解卷积神经网络
- 深入理解卷积神经网络
- React 简介、准备
- empty 与 !
- xxxx
- 线上应用故障排查之一:高CPU占用
- 不用CSS3的弹性盒模型实现双飞翼布局
- 如何理解卷积神经网络中的权值共享
- spark sql 中 java.lang.ClassCastException: org.apache.spark.sql.catalyst.expressions.Gener
- 如何将同一个APP中的不同activity在Recent(最近任务)中显示?
- 两种常用方法使用JS动态添加事件
- 你真的了解WIFI吗?
- Jenkins 集成Egret发布代码
- AV Foundation学习之补充(二)
- 有趣的浏览器发展史
- 怎么提升个人的代码编写能力