DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1420|回复: 0
打印 上一主题 下一主题

[待整理] 神经网络预测编码器的设计及应用

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-26 20:09:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1 BP网络结构及其算法

反向传播算法又称误差后向传播算法(Error Back Propagation Algorithm),它是用来训练多层前馈网络的一种学习算法。是一种有监督的学习算法。通常称用误差反向传播算法训练的网络叫BP网络。

如图1所示,该BP网络具有一个输入层,两个隐含层(也称中间层)和一个输出层组成,各层之间实行全连接。

BP神经网络的隐含层通常具有多个,其传输函数常常采用sigmoid函数,而输入输出层则采用线性传输函数。

误差反向传播算法的主要思想是把学习过程分为两个阶段:第一阶段(正向传播过程),给出输入信息通过输入层经隐含层逐层处理并计算每个单元的实际输出值;第二阶段(反向传播过程),若在输出层未能得到期望的输出值,则逐层递归地计算实际输出与期望输出之差值(即误差),以便根据此误差调节权值。误差反向传播算法的性能函数是均方误差。其算法流程如图2所示。


2 神经网络预测编码器的设计及应用

2.1 预测器层数

kolmogorov定理(即映射网络存在定理),一个隐含层的网络,如果隐含层的功能函数是连续函数,则网络输出可以逼近一个连续函数。具体的说,设网络有p个输入,q个输出,则其作用可以看作是由p维欧式空间到q维欧式空间的一个非线性映射。
Kolmogorov定理表明含一个隐含层的BP前馈网络是一种通用的函数逼近器,为逼近一个连续函数,一个隐含层是足够的。当要学习不连续函数时,则需要两个隐含层,即隐含层数最多两层即可,Lippmann等也给出了同样的结论。通过参考以上定理、规则,并结合试验最终确定本文实现的神经网络预测器采用两个隐含层,一个输入层和一个输出层的BP网络。

2.2 节点数

网络的输入与输出节点数是由实际问题的本质决定的,与网络性能无关。而当像素间距离超过5时,像素之间的相关性就很小,并且在图像的某一个区域内,色度信息不会突变,因此,本文设计的BP神经网络预测器利用与当前像素相邻的9个像素来预测当前像素,这样不仅可以利用同一色分量内像素之间的相关性,也可以利用不同色通道之间像素的相关性进行预测。邻域像素的选择如图3所示。

对Bayer图像当前像素的预测可用下面两式表示:


其中:(k,l)∈{(一3,O),(一2,一1),(一2,O),(一1,一2),(一l,一1),(一1,O),(O,一3),(O,一2),(O,一1)},x(i,j)为当前像素的真实值;互(i,j)是当前像素的预测值,e(i,j)是预测误差。预测函数f用神经网络实现。因此,输入层有9个神经元。而网络的输出即是神经网络预测器对当前像素的预测值,因此输出层有1个神经元。

实际上,隐含层神经元数取决于训练样本数的多少、噪声量的大小及网络学习的输入一输出函数关系或分类关系的复杂程度。对许多应用场合均适用的一条有关确定隐结点数的规则即所谓的几何金字塔规则(geometric pyramidrule):从输入层到输出层,结点数不断减少,其形好似金字塔,如图4所示。


本文通过大量实验,最终确定神经网络预测器的第一隐含层具有9个神经元,第二隐含层具有6个神经元。至此,神经网络预测器结构已经确定,如图5所示。


2.3 传输函数

在神经网络图像处理中,常使用的传输函数有两大类:

(1)线性传输函数;
(2)非线性传输函数。

线性传输函数的变换较简单,其输出相对于输入呈线性增长,因而函数输入范围较小,且它不具有可微分性,这对于具有非线性特性的图像信息来说并不适用。经典的BP算法采用sigmoid函数,其输出的动态范围为[O,1],sigmoid和其导数为式1和式2:


Tawel等提出了一种动态调整温度系数的方法,即在sigmoid函数中加入阈值和温度系数,如式3所示:


式中θ称为阚值,λ称为温度系数。

2.4 权值和阈值的初始化

权值和偏置值的初始化一般有如下几种方法:

(1)随机初始化。
(2)逐步搜索法。
(3)根据Nguyen-Widrow初始化算法为层产生初始权重和偏置值,使得每层神经元的活动区域能大致平坦的分布在输入空间。

2.5 输入样本

采集数据样本时主要考虑两方面:

(1)数据样本要充分。
(2)减小数据样本的冗余度。

本文设计神经网络预测器时,采用的训练图像都是和测试图像类似的自认图像,包括人物,建筑物,风景,动植物等24bits的全彩色图像,这些全彩图像采用CFA图像。然后将每幅CFA训练图像转化成的归一化的输入训练的80%作为训练样本,其余的20%作为验证样本。

2.6 归一化

即通过简单的线性变换,将网络的输入和输出数据化为[O,1]区间或[一1,1]区间的数。
通过大量试验并结合所采用的传输函数的特性发现将输入输出限制在[O.2,O.9]网络可以取得较好的预测效果,归一化方法如式4所示:


式中,x即原始输入,x′是归一化后的输入。

网络得到预测值时,按式5即可将预测结果映射到[O,255]之间:


式中,net是神经网络预测器的输出,y是映射后的输出。

3 实验结果分析

训练好的多层前馈网络,具有预测评价功能。可将多层前传网络看作一“黑箱”,将由实测获得的输入和输出数据作为样本送入“黑箱”中让其学习,各输入变量对输出变量的影响在对样本的学习过程中由“黑箱”自动记录下来。由于节点神经元传递函数是非线性的,因此,“黑箱”也具有非线性。整个学习过程就是预测模型的建立过程,只要节点数和训练样本数足够多,“黑箱”便能实现对任意输入的输出预测。



由表1可以看出由于神经网络预测器可以利用不同色分量的像素间的相关性和高阶特性,以及神经网络本身的非线性,它得到的误差图像的熵的平均值最低,为5.2408,证实了神经网络预测器相对于结构分离法和插值法的有效性,同时其结构简单,易于硬件实现。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-27 16:26 , 耗时 0.086732 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表