前言:
今天兄弟们对“神经网络计算题”大致比较关心,朋友们都想要知道一些“神经网络计算题”的相关资讯。那么小编同时在网络上搜集了一些有关“神经网络计算题””的相关资讯,希望咱们能喜欢,同学们快快来了解一下吧!本文内容来源于《测绘学报》2024年第8期(审图号GS京(2024)1748号)
一种曲线数据压缩的自编码器神经网络方法刘鹏程,1,2, 马宏然1,2, 周洋1,2, 邵子芹1,21.华中师范大学地理过程分析与模拟湖北省重点实验室,湖北 武汉 4300792.华中师范大学城市与环境科学学院,湖北 武汉 430079基金项目:国家自然科学基金(42071455)(42471486)(42001399)
摘要:矢量空间数据的压缩是减少存储空间及节省网络传输带宽最直接有效的途径。本文利用自编码器神经网络构建了一种面向矢量曲线数据的压缩和解压模型。该模型针对不同规模和复杂度的曲线数据,首先进行分段和重采样处理进而规范化输入向量,然后通过优化自编码器结构和调整损失函数实现了高精度的压缩解码模块,最后通过弧段数据的坐标闭合差分配确保了数据的稳定性。对山西、湖南、江西3省的1∶100万县级弧段进行了压缩和还原试验,分析发现:数据还原精度随压缩率变小而变小,当压缩率小于35%后,数据还原精度呈波动趋势,25%为满足精度要求的适宜压缩率。比较傅里叶级数及贝塞尔曲线拟合方法发现本文模型压缩精度和处理速度在一定的压缩率范围内存在优势,同时该模型说明了深度学习在提取空间要素几何特征方面有一定的潜力。关键词自编码器; 矢量空间数据压缩; 线要素化简; 地图综合
作者简介 刘鹏程(1968—),男,博士,教授,主要研究方向为地图综合、空间模式识别和空间智能分析。E-mail:liupc@ccnu.edu.cn
本文引用格式
刘鹏程, 马宏然, 周洋, 邵子芹. 一种曲线数据压缩的自编码器神经网络方法[J]. 测绘学报, 2024, 53(8): 1634-1643 doi:10.11947/j.AGCS.2024.20230580
LIU Pengcheng, MA Hongran, ZHOU Yang, SHAO Ziqin. Autoencoder neural network method for curve data compression[J]. Acta Geodaetica et Cartographica Sinica, 2024, 53(8): 1634-1643 doi:10.11947/j.AGCS.2024.20230580
阅读全文
近年来,地理空间数据的共享模式从离线分享逐渐转变为互联网在线发布。现有的互联网带宽水平难以支撑数据量大、更迭频率高的地理空间大数据在网络传输通道中的传输、存储。通过对空间数据进行有效压缩是减缓网络传输压力的有效途径之一。常规文件的压缩分为无损压缩与有损压缩。无损压缩保证数据的完全恢复,RAR是一种常见的文件无损压缩格式,它采用RLE(run-length encoding)的压缩算法和LZSS(lempel-ziv-storer-szymanski)算法,其中RLE算法通过将连续相同的数据片段替换为一个单独的数据值和一个表示重复次数的计数来实现压缩,而LZSS通过建立一个字典并在数据中寻找匹配的字符串来实现压缩。有损压缩不能完全复原文件,但能在允许的阈值下逼近原始文件。地理信息领域的空间矢量数据是一系列坐标构成的集合,对该数据的压缩一般为有损压缩。曲线化简是地图综合的重要内容,目的是删除目标比例尺下无法表达的图形细节以实现要素清晰化的表达,其经典的模型有Douglas-Peucker算法[1-3]、基于最小可见距离的Li-Openshaw算法[4-5]、基于三角形面积的VW算法[6]及小弯曲删除化简算法[7],还有Douglas-Peucker与Li-Openshaw算法相结合的改进算法[8-9]。化简算法伴随着数据压缩的功效,是不可逆算法。利用数学函数的曲线拟合技术,如贝塞尔曲线拟合[10-11]、傅里叶级数拟合[12-13]及小波拟合[14-15]等,通过存储较少数量的参数来取代存储要素的坐标串,从而实现要素的压缩。这种压缩算法常常以曲线光滑为主要目的。
近年来基于数据驱动的深度学习方法广泛应用于地图空间中的形状相似性判别、群模式识别及地图自动综合中的要素选择、合并及化简,这类方法也可分为分类和重构。分类即将弧段、曲线折点及弯曲等弧段单元划分为保留和删除两类。文献[16-17]构建了以要素的几何、拓扑、主题等6个属性为输入特征的3层BP神经网络,通过训练神经网络来判断特定的尺度下道路保留与否。文献[18]基于相邻顶点、弯曲段和全局折线抽象出18个特征,利用ANN和设计的3个控制器决定曲线上点的取舍。文献[19]使用深度可分离卷积残差神经网络来判断特定弯曲的保留与否。重构即通过深度学习提取曲线特征并在特定尺度下生成新的曲线。文献[20]利用U-Net网络对栅格化的山地道路进行综合产生简化的曲线。文献[21]将矢量道路及其综合结果转化为多个栅格瓦片,通过pix2pix模型学习道路的制图综合过程,最后生成综合后的矢量道路。文献[22]构建堆叠自编码器,通过增加隐藏层数完成曲线的多级化简,利用解码器重构曲线从而完成曲线的多尺度表达。文献[23]通过图卷积神经网络实现曲线和建筑物的化简。这些深度学习方法均是尺度变换需求下的地理要素的形状重构,本文研究也是利用深度学习提取要素特征的优势,通过自编码提取曲线的特征向量来记录要素的几何形状,从而实现地理空间中曲线数据的压缩。
1 模型1.1 分段和重采样
曲线分段是地理数据处理一个重要内容[24],同一地图内即使是同类型的不同曲线,其长度往往差异较大,为了提高模型的收敛性和拟合精度,务必保证输入的弧段要素的规模(长度)一致[25],因而需要对压缩的弧段进行预处理,具体包括两个部分:曲线分段和坐标点重采样。
1.1.1 曲线分段
对于长度为L的曲线,设分段长度为l,则可切分为k段(k=[L/l],[·]为取整函数)整周期的子弧段以及长度为r=L-k·l的剩余弧段(图1中的最后弧段),剩余弧段根据按其长度r分3种情况进行处理。
图1
图1 曲线分段和采样过程
Fig.1 Curve segmentation and sampling process
(1)(图1中符号①标注的部分),因其长度接近分段长度l,不进行延拓处理,该子弧段长度lk+1=r。
(2)(图1中的符号②标注的部分),因该子弧段长度较短,将其与第k段子弧段合并为一个弧段,这样第k段子弧段的长度调整为lk=L-(k-1)·l。
(3)(图1中的符号③标注的部分),需要对该子弧段进行延拓,具体方法是从最末点开始沿着曲线的反方向截取长度为l的弧段,延拓后的子弧段长度为lk+1=l,显然该子弧段与第k段子弧段的一部分重叠,新的起点在第k段子弧段内。
1.1.2 重采样和向量归一化
对于分段后的子弧段采用等距离线性内插重采样,设定采样点数为N+1,则各弧段的采样间隔为lm/N,其中lm为序号为m的子弧段长度,得到N+1对坐标(Xj,Yj),其中j=0,1,…,N,然后计算连续两点间的坐标差,得到(Δxi,Δyi),其中i=0,1,…,N-1。为了提高神经网络的训练效果,将坐标增量除以子弧段的长度以归一化到(-1,1)区间[26],如式(1)所示
(1)
1.2 Autoencode压缩模型1.2.1 基于自编码器的压缩模型
自编码器利用数据v本身作为监督信号来完成网络的训练,通过神经网络完成映射。网络fθ分为两部分,前面的子网络实现映射,后面的子网络完成映射,如图2所示。是数据编码(encode)的过程,其把高维度的输入v编码成低维度的隐变量z,称为encoder网络;是数据解码(decode)的过程,把编码过后的输入z解码成高维度的v,称为decoder网络。编码器和解码器共同完成了输入数据v的编码和解码过程,整个网络模型fθ被称自动编码器(Autoencoder)。如果使用深层神经网络或者卷积神经网络来参数化和函数,则称为深度或者卷积自编码器。
图2
图2 自编码器模型
Fig.2 Autoencoder model
图3给出了弧段数据压缩的深度卷积自编码器模型,输入向量(input layer)为经过处理后的坐标增量,输出向量(output layer)的目标值与输入向量相同,中间隐含层(code layer)为模型提取的弧段特征向量,也是弧段的压缩向量,隐含层神经元的个数小于输入层的神经元的个数,从而实现弧段的压缩,其压缩比为输入节点数(2N)与隐含层节点数(M)的比值。考虑到网络中参数(坐标增量)存在正负数,模型中各层均选用双曲正切函数(tanh)为激活函数,以确保输出在[-1,1]范围内。
图3
图3 基于自编码器的弧段数据压缩模型
Fig.3 Autoencoder-based compression model for arc segment data
1.2.2 模型损失函数的设计
自编码器损失函数的目标是评判输入与输出之间的相似性。设so=[dx0 dy0 dx1 dy1 … dxN-1 dyN-1](N为子弧段的采样段数)为输入向量,为输出向量。将输入向量组织成形如(dx0, dy0)、(dx1,dy1)、…、(dxN-1,dyN-1)的坐标串,设其在平面对应的弧段为Ψ1,同样将输出向量组织成形如、、…、的坐标串,设其在平面上对应的弧段为Ψ2,可以从Ψ1、Ψ2的点位、长度、方向的差异等几何属性来构建损失函数,分别对应式(2)、式(3)、式(4)
(2)
(3)
(4)
式中,LOC(so,sT)为对应Ψ1、Ψ2弧段的各个折点的偏移距离的平均值,相比于均方误差(mean squared error)更具几何意义;LEN(so,sT)对应于原始子弧段和还原子弧段的长度差异;LDM(so,sT)对应于原始子弧段和还原子弧段的平均方向差异,其单位为s;θi、为向量(dxi, dyi)、对应的方位角。将式(2)—式(4)所表示的3种空间误差进行加权求和得到最终的损失函数Loss
(5)
式中,λ1、λ2、λ3∈[0,1],3种约束的单位及量纲不一致,实际应用中可以通过λ1、λ2、λ3来进行量纲调整。
1.3 弧段数据还原
模型经过训练后,自编码器的输出是与输入近似的坐标增量,输入与输出不可避免存在偏移,为了消除解压后由坐标增量计算得到的终点与实际终点位置不重合问题,需要进行闭合差改正。该方法与控制测量中导线数据的闭合差处理方法相同:设fx、fy分别表示x、y方向的累计误差,,,在每段的坐标增量上添加改正值,输出向量改正为,。将、乘以子弧段长度进行逆归一化处理,获取得到实际的坐标增量,然后根据起点坐标计算各点的实际坐标。对于1.1.1节的曲线分段的非整周期弧段的第3类情况,只选取该子段内的点,删除子段外的点,最终将各个子段拼接起来完成弧段还原。
曲线分段、折点重采样、自编码器、数据还原模块及训练后的参数构成一个完整空间数据压缩系统,其中编码器为压缩模块,将较长的坐标串数据压缩成较短的特征编码(code),实际的应用中可以将特征编码组织成独立的压缩文件;解码器模块构成解压部分。训练时两部分作为整体迭代,在具体应用时两部分分开独立使用,即压缩模块生成弧段压缩文件,解压模块还原成曲线坐标文件。
2 模型精度与适宜尺度分析2.1 模型精度评价指标
模型精度评价指标主要包括:坐标偏移量、拓扑错误数、相对面积变化。
(1)坐标偏移量。坐标偏移量反映压缩和解压前后曲线特征点的位置差异,用以评价压缩模型的精度。折点位置偏移越大,压缩精度越低;偏移越小,压缩精度越高。本文将坐标偏移量表示为所有点的偏移平均值。
(2)拓扑错误数。模型的拓扑错误是指解压后的文件出现弧段自交和不同弧段之间存在悬挂点的错误。拓扑错误的数量是衡量模型精度的一个重要因素。当出现拓扑错误时,需要进行后处理。
(3)相对面积变化。针对若干弧段围成的面要素,模型以其弧段为单元进行压缩处理,用解压后的弧段重构面要素,前后面要素的面积不一致,用相对面积变化来度量其大小
(6)
式中,S为编码解码后的面积;S0为原要素的面积。
2.2 压缩率计算
压缩率是指数据压缩后的数据量与压缩前的数据量之比。对每个压缩的弧段压缩率具体计算公式如式(7)所示
(7)
式中,R为压缩率;B1、B2分别表示压缩前后数据量的大小;B1为采样后点数的2倍数(因为每个点都有二维坐标),B2表示压缩后的数据量大小,对应模型中间code层神经元个数。压缩率R值越小,压缩程度越大。
如果考虑神经网络参数的数据量,压缩前的数据量为所有曲线总点数与网络参数数量总和,假设文件中弧段数量为K,每条弧段的平均点数为P,自编码中code层的长度为M,网络参数的总数为W,则压缩率如式(8)前半部分的表达式。当弧段数量K足够大时,权重参数和偏置参数的影响可以忽略不计,压缩率简化为式(8)中后半部分的表达式
(8)
2.3 压缩适宜尺度分析
考虑到人眼视觉分辨极限、地图比例尺精度及地图适宜表达距离的因素,对压缩及解压后的曲线,若点位偏移距离在允许的阈值范围内则该压缩被认为是该尺度下的有效压缩。设定纸质地图的偏移距离阈值为0.2 mm,则实地偏移与比例尺相关,其值为(0.2·S/1000)m(其中S为比例尺分母),在1∶10万下距离为20 m(=0.2×100 000/1000),在1∶100万比例尺下的距离为200 m。
3 试验与分析3.1 样本数据介绍及模型结构
从国家基础地理信息中心网站获取的2021年版1∶100万公众版基础地理信息数据,提取湖南、山西和江西3省的824条县级行政边界线,表1为样本数据的长度分布。采用1.1.1节、1.1.2节的方法进行分段和采样,分段长度为25 km,每条子弧段按100段进行等间距重采样,样本数据共2099条子曲线,计算每条子弧段逐点坐标增量并进行归一化处理,得到维度为2099×200的输入向量。
表1 试验数据中行政边界线长度分布
Tab.1 Distribution of the length of administrative boundary line
省份图形长度范围(km)的弧段数量汇总[0,10)[10,20)[20,30)[30,+∞)湖南省5215061723842江西省3912747526667山西省4912438235590
新窗口打开| 下载CSV
基于TensorFlow框架构建了一个9层自编码器神经网络,其神经元分别为200、512、256、128、X、128、256、512、200,第5层(中间层)为曲线压缩的特征向量,根据压缩率需要动态调整其节点数量,各层选用双曲正切函数(tanh)为激活函数,各层神经元的数量关于中间层对称,损失函数采用式(5)的模型,经过多次调整,当λ1=0.8、λ2=0.1、λ2=0.1时模型精度最高。
3.2 模型精度分析
对3.1节的试验数据和网络结构,自编码器神经网络中间层X节点数分别取10、20、30、40、50、60、80、100,对应的压缩率分别为5%、10%、15%、20%、25%、30%、40%、50%,图4为压缩率为15%、25%、35%下的模型精度收敛图,由图4明显看出3类压缩率的自编码器收敛速度均很快,100个历元后模型稳定。
图4
图4 不同压缩率的坐标偏移平均值变化
Fig.4 Average coordinate offset values at different compression ratios
图5为山西省3个县级行政区15%、25%、35%压缩率下的前后弧段对照图,其下部的3个子图为对应区域的放大图,黑色曲线为原弧段,红色为压缩解压后弧段。由图5可知,在1∶750 000比例尺下,人眼几乎无法辨别原始弧段和压缩文件解压后弧段,图5下部为上部虚线范围的1∶200 000放大图,可知随着压缩率的变大(压缩程度变小),解压后的弧段越来越逼近原始弧段。
图5
图5 3个县级行政区的弧段在不同压缩率下位置偏移对比
注:黑线、红色分别对应为原曲线、模型解压生成的曲线。
Fig.5 The comparison of positional offsets for arc segments in three county regions at different compression ratios
表2给出了边界线不同压缩率下的点位误差、面积误差及拓扑错误个数。当压缩率在较低范围内时,坐标偏移量和面积变化率(边界线)随压缩率的增大而大幅度减小,即模型精度随压缩率增大而增大。当压缩率在较高范围内时,坐标偏移量几乎不随压缩率的变化而变化,但是存在一定的波动,如压缩率为50%的误差反而大于40%的误差。针对1∶100万比例尺的边界线数据在压缩率为25%时,此时压缩数据量仅为原始数据1/4,坐标偏移、面积变化率的平均值分别0.112 mm、0.157 5%,其误差小于实际允许的阈值。此时拓扑错误数为5,需要再进行编辑解决。
表2 不同压缩率下的模型精度
Tab.2 Model accuracies at different compression rates
压缩率/(%)中间层神经元数量图上坐标偏移量/mm面积变化率/(%)拓扑错误数量5100.4920.822 72510200.2430.274 12015300.1740.224 71520400.1270.172 61325500.1120.157 5530600.1190.170 7440800.1020.149 75501000.1300.169 42
新窗口打开| 下载CSV
4 与其他方法的比较4.1 傅里叶拟合方法
采用式(9)、式(10)的模型对曲线进行傅里叶拟合[12-13],这样原始曲线的坐标数据被傅里叶级数所代替
(9)
(10)
式中,、、、为参数;L为弧段周期;s为函数自变量;N为展开项数;时傅里叶级数能完全还原原始曲线,N值越小,压缩程度越大,压缩率R越小,设弧段的点数为M,压缩率R计算公式如式(11)所示
(11)
4.2 贝塞尔拟合方法
用多个贝塞尔曲线拟合一条曲线,其原理是在设定的偏移阈值下使每条贝塞尔曲线拟合足够长的弧段,当点位平均误差大于设定的阈值时终止本段贝塞尔曲线,然后启用下一条贝塞尔曲线继续拟合后面的弧段,直到曲线结束[10-11]。每条贝塞尔曲线由4个控制点决定,其模型为
(12)
式中,t为参数,0≤t≤1;P0、P1、P2、P3为4个控制点,这样原曲线坐标由所有贝塞尔曲线的控制点来替代。偏移阈值不同,贝塞尔曲线的数量也会不同。阈值越大,贝塞尔曲线的数量T越少,压缩率R越小,压缩程度越大。设曲线的点数为M,则压缩率R的计算公式为
(13)
4.3 对比分析
使用与3.1节相同的试验数据,将傅里叶级数、贝塞尔曲线拟合的结果与本文模型的结果进行对比。试验中分段长度均为25 km、内插段数为100段的2099条边界线。表3为3种模型在不同压缩率下的点偏移误差、运行时间和拓扑错误3个方面的比较。图6(a)、(b)、(c)为压缩率为15%、25%、35%的湖南省益阳市资阳区边界线的3种模型的对比图,图6下部为边界线所标注弧段的放大图,黑线为原始曲线,红线、绿线和蓝线分别为本模型、傅里叶模型、贝塞尔模型的还原弧段。由图6可以看出3种模型均随压缩率增大拟合曲线逐渐逼近原曲线。在压缩率较低情况下,与傅里叶模型和贝塞尔模型相比,本文模型解压后的弧段与原弧段更相似。由表3也可以看出本文模型对应特征点的偏差更小、拓扑错误少,本文模型运行时间主要集中于模型初试训练,在使用训练好的模型基础上曲线压缩时间远远低于傅里叶模型和贝塞尔模型。傅里叶模型采用光滑的正弦和余弦函数拟合曲线,在压缩率低时出现了较多的弧段自相交和互相交的拓扑错误,但在压缩率较大时,傅里叶模型的精度越来越高。贝塞尔模型对曲线不同压缩率的还原点位误差均大于其他两类,但拓扑错误数量较少,说明贝塞尔模型不适合进行曲线的压缩,从数学原理来说更适合进行曲线的光滑处理。随着压缩率增大,本文模型的误差相对稳定,模型精度不会随着压缩率增大继续提高。三者相比,本文模型更适合压缩率小(如25%)的情况,傅里叶模型更适合在压缩率大的情况,而贝塞尔模型适合曲线的光滑处理。三者均存在一定的拓扑错误,均需要进行拓扑纠正。
表3 本模型与其他方法拟合精度对比
Tab.3 The comparison of fitting accuracy between proposed and other methods
压缩率/(%)方法点偏移误差/mm处理时间/s拓扑错误15本文模型0.1748.58911傅里叶模型0.21715.357202贝塞尔模型0.28220.2331925本文模型0.1128.7887傅里叶模型0.13025.053150贝塞尔模型0.16018.4151235本文模型0.1038.7344傅里叶模型0.07836.77996贝塞尔模型0.09815.52516
新窗口打开| 下载CSV
图6
图6 不同压缩率下本模型、傅里叶、贝塞尔拟合效果对比
注:黑线为原始曲线,红线、绿线、蓝线分别对应本模型、贝塞尔模型、傅里叶模型的压缩结果。
Fig.6 Comparison of fitting effect between the proposed model and Fourier model, Bézier model at different compression ratios
5 结语
利用自编码器神经网络具备有效提取要素特征的能力构建了面向地图空间矢量曲线要素的压缩和解压模型,本文模型包括了弧段数据分段、重采样及归一化、自编码器模块、坐标闭合差处理、坐标数据还原等模块,通过对山西、湖南、江西3省的1∶100万县级弧段的试验发现该模型的压缩方法能够满足该尺度下应用需要,压缩率越大(压缩程度越小)、数据还原的精度越高。本文模型不需要对样本进行标签,故能将所有得到的曲线纳入样本中。模型的时间复杂度不高,在日常的PC机就可以完成训练。此外,还有一个潜在的优点,其压缩文件具有保密作用,其神经网络的参数和网络模型就是数据解译的秘钥,这样更能保证地理信息数据在网络传输的安全性。相比傅里叶模型、贝塞尔模型,该方法更适合压缩率(25%)较小的情况。
由于自编码器具有一定的震荡性,训练的收敛过程中其精度存在一定的起伏,并非训练的次数越多精度越高,因此在训练过程中捕捉有效的参数,对数据还原中出现的少量拓扑错误需要另外的处理。在以后的工作中,还将进一步探索弧段分段数、子弧段采样数、样本数据量、网络结构等因素对模型精度的影响,探索现有模型在面对新数据的微调问题,尝试使用图卷积及对抗生成神经网络来构建模型。
初审:张艳玲复审:宋启凡
终审:金 君
资讯
○ 测绘学报 2024年53卷9期目次
标签: #神经网络计算题