一、CNN的原理
1、CNN的思想:
(1)借鉴了hopfield神经网络和CA
a、hopfield的非线性动力学(主要是用于优化问题,比如旅行商问题等NP问题),Hopfield的能量函数的概念,Hopfield解决了模拟电路的实现问题
b、CA细胞自动机,局部连接的时间和空间都离散的动力学系统,CNN借鉴了CA的细胞的概念和局部性、一致性、平行性等特点
2、结构和模型
(1)结构图如下图所示:
(2)理论模型
半径和领域:半径r和领域N(r),3*3邻域和5*5邻域等
CNN的状态方程:
输出方程:
输入方程:
约束条件:
电路参数条件:
动态系统框架图:
(3)CNN的特点:
1、阵列的规则性:每个细胞有相同的电路结构和元件值,相同的邻近细胞核周边细胞
2、细胞互联的局域性:局部连接和关联节点矩阵为稀疏矩阵,易于VLSI的实现
3、动力学机制:CNN具有输出反馈和输入控制两种机制,输出反馈效应决定于相互作用的反馈模板A,输入控制效应决定于控制模板参数B,邻近系统对称,所有细胞的输入与输出关系是非线性单调上升。
4、参数非唯一性:RC都是可根据实际情况方便的确定,RC是电路动力学的时间常数
三、理论依据
(1)几条重要的定理:
1、状态有界定理:CNN中每一个细胞的状态x在t>0的所有时间内,其动态过程中都是有界的由下式决定,并且CNN的Lyapunov函数(下图二)时点掉下降的并且有界,则CNN为稳定的。
2、能量函数有界
3、能量函数单调下降
4、能量终值定理:对于CNN的任意给定的输入u和初始状态x有:
5、如果电路参数满足,A>1/R,则CNN每个细胞在经过衰减到零的暂态之后,一定落在一个稳定平衡点上,并且所有稳定平衡点的幅值都大于1,即为下式:
A>1/R为了保证每个细胞的稳态输出是1或者-1而必须限定的最小正反馈量,保证二值输出。
四、CNN研究方向
CNN从开始产生就在图像信号处理等多个领域得到了应用,目前的研究成果主要分为两大类型:理论研究和应用研究.
(1)理论研究:目前分为两大部分:一是在各种参数条件下CNN的稳定性分析及产生的混沌、分岔等复杂现象的研究,二是各种变形CNN(模糊CNN,离散CNN,延迟CNN等)
(2)应用研究:目前分为两大部分:一是在各个领域的应用算法研究,二是在具体硬件实现技术研究。
五、CNN在图像处理中的应用
CNN用于图像处理,其中最基本的过程是输入一副图像,然后映射为相应的输出图像,实质上CNN是一个具有特殊功能的滤波器。
(1)、大致的CNN图像处理过程如下:
1、映射
将图像的信号空间映射到CNN的细胞排列空间上,并且像素值得范围线性映射到[-1,1]的范围,比如一个M*N的像素的图像,则CNN包含M*N个细胞。
2、参数设置
每个像素的灰度值对应于相同位置上细胞的输入u,初始输入u以及连接权矩阵A和B以及阈值I根据处理问题的不同而不同,与连接权对应的是网络能量函数E的极小值
3、寻优
处理时,CNN的每个细胞都是与其领域内的细胞相连,并且发生相互作用,每个细胞的状态按照其状态方程式迭代改变,经过迭代状态方程引导细胞的状态向CNN定义的能量方向变化,到整个网络收敛文档,能量函数达到最小值
4、输出
网络能量函数E最小值对应着所有问题的最优解,此时网络的输出矩阵构成的二值图像就是CNN处理的结果。
(2)具体的处理过程
1、CNN输入值的范围调整
2、CNN状态方程的差分化
为了将CNN用于图像处理,采用差分方程来近似CNN的状态方程(上式),令t=nh,其中h为恒定的时间步长,设h=1则可差分化为:
对这个式子可理解为:这个式子就是一个二维滤波器,这个滤波器是非线性的,并且它对于处理具有空间不变性,这个滤波器是非线性的,具体的性质由式子中的模板参数A、B、I确定。
所以对于CNN的功能主要决定于模板参数的设计,其中A称为反馈模板,B称为控制模板,I称为阈值。
(3)模板参数的设计方法
1、基于学习的方法
分为局部学习法和全局学习法,局部学习法主要是由其他的神经网络的方法发展而来。全局学习法,大部分是基于随机优化的算法,例如基于模拟退火算法和遗传算法的设
计CNN模板参数的方法。是通过把CNN模板设计问题转化为求目标函数的最小化的问题,并且在解空间内,利用遗传算法或者模拟退火算法进行最优解的搜索,从而得到CNN
的模板参数。另外还有用松弛法来确定CNN的模板参数,全局学习法,可以得到比较好的结果,但是因为它是一种随机优化方法,从而代价函数的选取很重要,而且它没有一
中普遍适用的方法。
2、基于分析的方法
更具具体的问题,将一系列的约束条件,转化为一系列不等式,通过求解不等式,从而得到相应的模板参数。另外的一种方法就是通过进行大量的仿真实验而得到。
以上的两种方法可以相互补充。
2、应用举例
a.基于CNN的自适应滤波算法:
传统的图像处理方法把滤波和二值化分为两个单独的环节进行的,而CNN则是把图像映射为-1和1为像素值的二至输出图像,所以可以一次完成。
CNN的设计主要就是先关模板的设计。
在CNN当中RC表示的网络动态过程的快慢,可以令RC=1,即C=1,R=1,,CNN的一阶差分方程可以变化为:
可简化为X=A*Y+B*U+I 其中*表示求卷积,即将细胞C领域中的每个细胞C‘的输出Y(或者外界输入U)分别与模板A(B)中对应的元素A(或者B)相乘后求和。
所以我们最终要设计的就模板B(控制模板)和 A(反馈模板)的设计。
(1)控制模板B的设计
先不考虑其他因素,不考虑反馈的影响,且令I=0,则原来的CNN一阶差分方程可以简化为:
X=B*U
X可以理解为是以B为空域滤波模板对输入图像滤波所得的输出图像。
cellular neural networks(CNN)原理以及应用的更多相关文章
-
卷积神经网络CNN(Convolutional Neural Networks)没有原理只有实现
零.说明: 本文的所有代码均可在 DML 找到,欢迎点星星. 注.CNN的这份代码非常慢,基本上没有实际使用的可能,所以我只是发出来,代表我还是实践过而已 一.引入: CNN这个模型实在是有些年份了, ...
-
卷积神经网络(Convolutional Neural Networks)CNN
申明:本文非笔者原创,原文转载自:http://www.36dsj.com/archives/24006 自今年七月份以来,一直在实验室负责卷积神经网络(Convolutional Neural ...
-
Convolution Neural Network (CNN) 原理与实现
本文结合Deep learning的一个应用,Convolution Neural Network 进行一些基本应用,参考Lecun的Document 0.1进行部分拓展,与结果展示(in pytho ...
-
深度学习笔记(三 )Constitutional Neural Networks
一. 预备知识 包括 Linear Regression, Logistic Regression和 Multi-Layer Neural Network.参考 http://ufldl.stanfo ...
-
On Explainability of Deep Neural Networks
On Explainability of Deep Neural Networks « Learning F# Functional Data Structures and Algorithms is ...
-
Must Know Tips/Tricks in Deep Neural Networks
Must Know Tips/Tricks in Deep Neural Networks (by Xiu-Shen Wei) Deep Neural Networks, especially C ...
-
Must Know Tips/Tricks in Deep Neural Networks (by Xiu-Shen Wei)
http://lamda.nju.edu.cn/weixs/project/CNNTricks/CNNTricks.html Deep Neural Networks, especially Conv ...
-
Convolutional Neural Networks
卷积神经网络(Convolutional Neural Networks/ CNN/ConvNets) 卷积神经网络和普通神经网络十分相似: 组成它们的神经元都具有可学习的权重(weights)和偏置 ...
-
卷积神经网络LeNet Convolutional Neural Networks (LeNet)
Note This section assumes the reader has already read through Classifying MNIST digits using Logisti ...
随机推荐
-
Java学习-020-Properties 判断是否存在对应的 key 项
在日常的脚本编写过程中,通常会判断配置文件中是否存在对应的配置项,以判断是否执行相应的业务逻辑. 小二上码...若有不足之处,敬请大神指正,不胜感激! 判断是否存在 key 项(配置项)的方法源码如下 ...
-
Java基础毕向东day03
Java基础毕向东day03 1.变量 2.条件结构 3.循环结构,for while,和几种特殊的情况. 4.函数重载
-
轻奢品牌全面崛起 Coach、UGG等纷纷抢滩新兴市场_新闻中心_赢商网
轻奢品牌全面崛起 Coach.UGG等纷纷抢滩新兴市场_新闻中心_赢商网 轻奢品牌全面崛起 Coach.UGG等纷纷抢滩新兴市场
-
ACE模板之Jqgrid
Asp.Net MVC中使用ACE模板之Jqgrid 第一次看到ACE模板,有种感动,有种相见恨晚的感觉,于是迅速来研究.它本身是基于bootstrap和jqueryui,但更nice,整合之后为 ...
-
jmeter 测试计划
进行 jmeter 测试时首先都要有一个测试计划,测试计划下的一些名词解释:
-
SQL Server 数据类型映射(转载)
SQL Server 数据类型映射 SQL Server 和 .NET Framework 基于不同的类型系统. 例如,.NET Framework Decimal 结构的最大小数位数为 28,而 S ...
-
python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件
python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...
-
Django(五)在模板中使用静态文件
location 最后一个文件夹名就是project名,我用了Django_Plan. Application 是自动加入的APP名字,我用了Plan 静态文件相关配置: Django_Plan\se ...
-
sql 防注入 *
http://zh.wikipedia.org/wiki/SQL%E8%B3%87%E6%96%99%E9%9A%B1%E7%A2%BC%E6%94%BB%E6%93%8A SQL攻击(SQL inj ...
-
OracleServiceORCL这个服务竟然不见了
OracleServiceORCL这个服务竟然不见了,后数据库连接不成功,晕死,以前使用数据库还能看到,现在竟然不见了?Why?我猜测原因有二: ①:电脑已经装了Oracle数据库后又装了MySql数 ...