当前位置: 首页 > 专利查询>中山大学专利>正文

一种基于BP神经网络的嵌入式系统数据压缩解压缩方法技术方案

技术编号:3420466 阅读:319 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于BP神经网络的嵌入式系统数据压缩解压缩方法,包括以下步骤:1)神经网络模型的选择;2)映射关系的构造;3)在PC机上对每一个标准串进行基于BP神经网络的数据压缩;4)在嵌入式系统中进行基于BP神经网络的数据解压;5)将解压获得的标准串依次写入解压缩后的数据文件中;6)删除文件尾出现的所有特殊字符。本发明专利技术利用神经网络模拟行编号和行数据之间的映射关系,从而利用占用信号空间少的信息表示占用信号空间多的信息来达到数据压缩的目的,突破了传统的只依靠编码减少数据冗余的局限性,能够实现更高的压缩比。此外可以重复多次压缩数据,以达到满意的压缩比。并且可以有效地压缩已经用熵编码压缩过的数据,从而进一步提高压缩效果。

【技术实现步骤摘要】

本专利技术涉及计算机数据处理
,尤其涉及一种实现嵌入式系统中数据压 縮解压縮的方法。
技术介绍
目前,市场对嵌入式系统产品的需求不断增长。但由于嵌入式系统在成本、体 积、存储容量、功耗、速度、处理能力等多方面受到制约,庞大的数据量已经成为 嵌入式系统辞典机发展的一个瓶颈。如果能够将数据进行压縮,减小数据的存储空 间,就能够降低产品的成本,增强产品的竞争力。因此,数据压縮技术己成为嵌入 式系统发展的一项关键技术。由于嵌入式系统本身的局限性,如运行速度不够高,硬件资源有限,同时又需 要完成许多控制功能等,因此就决定了嵌入式系统不可能使用在PC机上常用的具 有较高压縮率的复杂技术(如WINRAR、 WINZIP),而应当探索适合于嵌入式系统 的数据压缩技术。在许多实际情况下,数据压縮过程可以在PC机上完成,在嵌入式系统中存放 的是压缩后的数据,只需要对数据进行解压就可以了。因此,在压縮过程中主要考 虑的是压縮率,对压縮算法的实现速度要求不是太高;而在解压过程中,则需要一 种简单、快捷、占用资源少、容易实现的解压方法。如图1所示,传统数据压縮的方法很多,比如Huffinan编码、算术编码、字典 编码、游程编码、预测编码等,它们基于不同的理念,适合不同的数据类型,并产 生不同的效果,但原理都是相同的,即通过去除源文件的原始数据中的冗余度来压 縮数据。传统的压縮方法主要基于减少信息中的冗余,着力于编码设计,高概率出 现的符号具有低的信息内容,只需要较少的位来编码。虽然传统压縮方法已经取得 了许多成就,但是传统方法在压縮比方面很难取得进一步的进展。另外,许多原始 数据经过传统编码压縮之后仍有很高的冗余度,仍然有很大的压縮"空间",但却很 难再经类似的方法进一步压縮。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种基于BP神经网络,通过构 造特殊的映射关系,从而实现更高压縮比的嵌入式系统数据压縮解压縮方法。人工神经网络(Artificial Neural Network, ANN)是由大量简单的高度互联的 处理元素(神经元)所组成的复杂网络计算系统。1986年,Rumelhart和McCelland领导的科学家小组对具有非线性连续转移函 数的多层前馈网络的误差反向传播(Error Back Propagation,简称BP)算法进行了 详尽的分析,实现了Minsky关于多层网络的设想。由于BP克服了简单感知机不能 解决的XOR和其他一些问题,所以BP模型已成为神经网络的重要模型之一,并得 以广泛使用。基于BP算法的三层前馈网络的拓扑结构如图2所示,由输入层、中间层(隐 层)和输出层组成。三层前馈网络中,输入向量X-(xl ,x2 , ... ,xi,... xn)T,如加入乂0 = -1,可为隐层引入阈值;隐层输出向量Y-(yl , y2 ,... yj , ... , ym)T,如加入yO--l,可为输出层引入阈值;输出向量为0 = (01 o2, ... ,ok , ... ,ol)T,期望输出向量为D-(dl ,d2 , ... , dk ,... dl )T。输入层到隐层间的权值矩阵用V表示,V= (vl , v2 , ... , vj ,... vm)T,其中vj为隐层第j个神经元对应的权向量;隐层到输出层间的权值矩阵用 W表示,W = ( wl , w2 , ... , wk , ... , wl )T,其中wk为输出层第k 个神经元对应的权向量。下面分析各层信号之间的数学关系。对于输出层,有<formula>formula see original document page 5</formula>对于隐层,有Xi =f(netj) j = l,2,...,m""y = Z j = l,2,...,m 式(1)和式(3)中,转移函数f(x)均为单极性Sigmoid函数 /\ 乂 1 + e x 其曲线如图3所示。f(x)具有连续、可导的特点,且有<formula>formula see original document page 5</formula>式(1) 式(6)共同构成了三层BP网络的模型。BP网络的学习过程由两部分组成工作信号正向传播和误差信号反向传播。当工作信号正向传播时,输入信息从输入层经隐单元层处理后传向输出层,每一层神 经元的状态只影响下一层的神经元状态。如果在输出层得不到希望的输出,则转入 误差信号反向传播,将误差信号沿原来的神经元连接通路返回,并逐一修改各层神 经元连接的权值。这种过程不断迭代,最后使得信号误差达到允许的范围之内。 神经网络可以通过学习得到输入与指定输出的映射,神经网络具有神奇的非线性映射能力。在1990年,Hornik等人就利用泛函分析方法证明了在很宽的条件下, 隐层神经元足够多的3层BP神经网络能够以任意精度逼近任意连续函数及其各阶 导数。本专利技术的目的通过以下技术方案予以实现本专利技术提供的一种基于BP神经网络的嵌入式系统数据压縮解压縮方法,包括 以下步骤1) 神经网络模型的选择选择基于BP算法的三层前馈网络模型,其输入层有12个神经元,隐层有27 个神经元,输出层有12个神经元,整个网络共有3层51个神经元;网络中的联接 权值共有648个,阈值有51个; 一般权值和阈值的初始值范围是(-l, 1);2) 映射关系的构造2-1)将待压縮文件数据视为由0与1组成的bit长串,以长度为49152位的bit 串作为标准串;待压縮bit串如果长度大于49152位,则先拆分为若干个标准串, 再进行压縮;待压縮bit串如果长度小于49152位,则先用特殊字符扩充为标准串, 再进行压縮;2- 2)把待压縮标准串按先后顺序每12bit分成一行,则得到一个4096*12的大 型矩阵;在压縮过程中把这个矩阵的行编号按先后顺序单调递增地进行二进制编码, 则扩充为12bit的二进制编码;对于一个由标准串组成的4096*12矩阵,12bit的行编 号和12 bit的行数据之间存在一个映射关系,每一个12bit的行号对应着一个12bit 的行数据;3) 在PC机上对每一个标准串进行基于BP神经网络的数据压缩3- 1)用所有的行编号和待压縮标准串的对应行数据学习训练所述的BP神经网 络,即将行编号扩充为12bit的二进制编码作为输入模式,从输入模式计算各隐层单元的输出,然后计算输出层各单元的输出;训练时将所有神经元的连接权值和阈 值都精确到小数点后两位;3-2)将与行编号对应的待压縮标准串中的行数据作为教师信号,计算输出层各 单元的误差;选定网络的某一状态为稳态,在该状态下输出值和期望值之间的误差 绝对值小于0.5;3-3)在稳态时,顺序选取所有神经元的连接权值和阈值并对它们依次进行二进 制编码,即为每个权值和阈值提供16位编码,其中l位是符号位,l位是小数点记 号位,7位用于小数点后两位的编码,7位用于小数点前整数的编码;所得到的二进 制编码即为压縮结果; -3- 4)将每一个标准串的压縮结果依次写入压縮后的数据文件中;4) 把所述压縮后的数据文件下载到嵌入式系统中,在嵌入式系统中进行网络重 建,并应用重建后的网络进本文档来自技高网
...

【技术保护点】
一种基于BP神经网络的嵌入式系统数据压缩解压缩方法,其特征在于包括以下步骤:    1)神经网络模型的选择    选择基于BP算法的三层前馈网络模型,其输入层有12个神经元,隐层有27个神经元,输出层有12个神经元,整个网络共有3层51个神经元;网络中的联接权值共有648个,阈值有51个;一般权值和阈值的初始值范围是(-1,1);    2)映射关系的构造    2-1)将待压缩文件数据视为由0与1组成的bit长串,以长度为49152位的bit串作为标准串;待压缩bit串如果长度大于49152位,则先拆分为若干个标准串,再进行压缩;待压缩bit串如果长度小于49152位,则先用特殊字符扩充为标准串,再进行压缩;    2-2)把待压缩标准串按先后顺序每12bit分成一行,则得到一个4096*12的大型矩阵;在压缩过程中把这个矩阵的行编号按先后顺序单调递增地进行二进制编码,则扩充为12bit的二进制编码;对于一个由标准串组成的4096*12矩阵,12bit的行编号和12bit的行数据之间存在一个映射关系,每一个12bit的行号对应着一个12bit的行数据;    3)在PC机上对每一个标准串进行基于BP神经网络的数据压缩    3-1)用所有的行编号和待压缩标准串的对应行数据学习训练所述的BP神经网络,即将行编号扩充为12bit的二进制编码作为输入模式,从输入模式计算各隐层单元的输出,然后计算输出层各单元的输出;训练时将所有神经元的连接权值和阈值都精确到小数点后两位;    3-2)将与行编号对应的待压缩标准串中的行数据作为教师信号,计算输出层各单元的误差;选定网络的某一状态为稳态,在该状态下输出值和期望值之间的误差绝对值小于0.5;    3-3)在稳态时,顺序选取所有神经元的连接权值和阈值并对它们依次进行二进制编码,即为每个权值和阈值提供16位编码,其中1位是符号位,1位是小数点记号位,7位用于小数点后两位的编码,7位用于小数点前整数的编码;所得到的二进制编码即为压缩结果;    3-4)将每一个标准串的压缩结果依次写入压缩后的数据文件中;    4)把所述压缩后的数据文件下载到嵌入式系统中,在嵌入式系统中进行网络重建,并应用重建后的网络进行数据解压    4-1)按顺序把压缩结果中的二进制编码转换成为相应神经网络的权值和阈值,利用这些值重建稳态时的BP神经网络;    4-2)把行编号依次按照递增的顺序逐个...

【技术特征摘要】

【专利技术属性】
技术研发人员:王建民罗笑南邹才凤
申请(专利权)人:中山大学
类型:发明
国别省市:81[中国|广州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利