新闻中心

EEPW首页 > EDA/PCB > 设计应用 > BP神经网络图像压缩算法乘累加单元的FPGA设计

BP神经网络图像压缩算法乘累加单元的FPGA设计

作者:时间:2009-11-12来源:网络收藏


0 引 言
神经网络(Neural Networks)是人工神经网络(Ar-tificial Neural Networks)的简称,是当前的研究热点之一。人脑在接受视觉感官传来的大量图像信息后,能迅速做出反应,并能在脑海中重现这些图像信息,这不仅与人脑的海量信息存储能力有关,还与人脑的信息处理能力,包括数据压缩能力有关。在各种神经网络中,多层前馈神经网络具有很强的信息处理能力,由于其采用BP,因此也称为。采用模型能完成图像数据的压缩处理。在中,神经网络的处理优势在于:巨量并行性;信息处理和存储单元结合在一起;自组织自学习功能。
与传统的数字信号处理器DSP(Digital Signal Processor)相比,现场可编程门阵列(Field Programma-ble Gate Array,)在神经网络的实现上更具优势。DSP处理器在处理时采用指令顺序执行的方式,而且其数据位宽是固定的,因而资源的利用率不高,限制了处理器的数据吞吐量,还需要较大的存储空间。处理数据的方式是基于硬件的并行处理方式,即一个时钟周期内可并行完成多次运算,特别适合于神经网络的并行特点,而且它还可以根据设计要求配置硬件结构,例如根据实际需要,可灵活设计数据的位宽等。随着数字集成电路技术的飞速发展,芯片的处理能力得到了极大的提升,已经完全可以承担神经网络数据压缩处理的运算量和数据吞吐量。是信息传输和存储系统的关键技术,然而如何进行FPGA设计,以实现给定的功能已经成为神经网络应用的关键。
基于以上原因,选择FPGA作为三层的实现方式,提出了具体的一种实现方案,并对其中的重点单元进行了FPGA设计与仿真验证。

本文引用地址:http://www.amcfsurvey.com/article/191891.htm


1 BP神经网络图像压缩
一般习惯将单隐层前馈网称为三层前馈网,它包括输入层、隐含层和输出层。三层BP神经网络结构如图1所示,原始数据节点和重建数据节点构成节点数较大的外层(输入层和输出层),而中间的具有较小节点数的细腰层即构成压缩结果。其基本思想是强迫原始数据通过细腰型网络瓶颈,并期望在网络的瓶颈处能获得较为紧凑的数据表示,以达到压缩的目的。在网络的学习过程中,通过BP训练算法,调整网络的权重,使重建图像在均方误差意义上尽可能近似于训练图像。经过训练的网络即可用来执行数据压缩任务,网络输入层与隐含层之间的加权值相当于一个编码器,隐含层与输出层之间的加权相当于一个解码器。从输入端输入的原始图像数据经过神经网络的处理,在隐含层得到的输出数据就是原始图像的压缩编码,而输出层矢量即为解压后重建的图像数据。

BP神经网络用于图像编码的压缩比与输入层和隐含层的节点数有关:
压缩比一输入层节点数(n)/隐含层节点数(m)
因此一般来说采用不同数目的隐含层神经元就可实现同一图像的不同压缩比。
三层BP前馈网中输入向量X=x(x1,x2,…,xi,…,xn)T,隐含层输出向量Y=y(y1,y2,…,yi,…,ym)T,输出层输出向量O=O(O1,O2,…,Ok,…,Ol)T,期望输出向量d=d(d1,d2,…,dk,…,dl)T,输入层到隐含层的权值向量V=v(v1,v2,…,vj,…,vm)T,其中vj为隐含层第j个神经元对应的权值向量;隐含层到输出层的权值向量W=W(w1,w2,…,wk,…wl)T,其中wk为输出层第k个神经元对应的权值向量;隐含层的阈值向量θ=(θ1,θ2,…,θi,…,θm)T;输出层的阈值向量γ=(γ1,γ2,…,γk,…,γl)T。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭