自动微分转换系统及其应用

自动微分转换系统及其应用

ID:9663405

大小:59.50 KB

页数:6页

时间:2018-05-05

自动微分转换系统及其应用_第1页
自动微分转换系统及其应用_第2页
自动微分转换系统及其应用_第3页
自动微分转换系统及其应用_第4页
自动微分转换系统及其应用_第5页
资源描述:

《自动微分转换系统及其应用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、自动微分转换系统及其应用摘要自动微分转换系统(DFT)由LASG和LSEC联合研制开发,目前已拥有成熟的版本。本文对DFT系统的功能、特色及其基本应用作了全面的介绍,并给出了一些颇具说服力的数值试验结果。同时,本文提出了统计准确率评价的概念,这对评价一类自动微分工具及其微分模式代码的可靠性与有效性提供了一种客观的尺度。最后,本文还详细讨论了运用切线性模式求解雅可比矩阵的问题,给出了求解初始输入矩阵的有效算法。关键词自动微分切线性模式数据相关分析统计准确率1.引言计算微分大致经历了从商微分,符号微分,手写代码到自动微分几个阶段。与其它几种微分方法相比,自动微分具有代码简

2、练、计算精度高及投入人力少等优点。自动微分实现的基本出发点是:一个数据相对独立的程序对象(模式、过程、程序段、数值语句乃至数值表达式),无论多么复杂,总可以分解为一系列有限数目的基本函数(如sin、exp、log)和基本运算操作(加、减、乘、除、乘方)的有序复合;对所有这些基本函数及基本运算操作,重复使用链式求导法则,将得到的中间结果自上而下地做正向积分就可以建立起对应的切线性模式,而自下而上地做反向积分就可以建立起对应的伴随模式[1]。基于自动微分方法得到的切线性模式和伴随模式,在变分资料同化[2]、系统建模与参数辨识[3]、参数的敏感性分析[4]、非线性最优化以及

3、数值模式的可预测性分析[5]等问题中有着十分广泛的应用。迄今为止,已有数十所大学和研究所各自开发了能够用于求解切线性模式的自动微分系统,比较典型的有TAMC系统[6]、ADJIFOR系统[7]和ODYSSEE系统[8]。在一些特定的运用中,它们都是比较成功的,但在通用性和复杂问题的处理效率上还存在许多不足。通常,自动生成切线性模式的关键难题在于对象自身的强相关性,这给系统全局分析(如数据IO相关分析和数据依赖相关分析)和微分代码的整体优化都带来了很多困难。同时,对于程序对象不可导处的准确识别和微分处理,至今仍还没有一个统一而有效的算法。另外,最优或有效求解稀疏雅可比矩

4、阵一直是衡量一个自动微分系统有效性的重要尺度。统计准确率被我们视为评价一类自动微分工具及其微分模式代码可靠性与有效性的重要尺度。其基本假设是:如果对于定义域空间内随机抽样获得的至多有限个n维初始场(或网格点),微分模式输出的差分和微分逼近是成功的;那么对于定义域空间内所有可能初始场(或网格点),微分模式输出的差分和微分逼近都是成功的。微分模式统计准确率评价的具体方法是:在所有随机抽样得到的初始场(或网格点)附近,当输入扰动逐渐趋向于机器有效精度所能表示的最小正值时,模式输出的差分和微分之间应该有足够精度有效位数上的逼近。DFT系统具有许多优点,它能够完全接受用FORT

5、RAN77语言编写的源代码,微分代码结构清晰,其微分处理能力与问题和对象的规模及复杂性无关。它基于YACC实现,具有很强的可扩展性。DFT系统具有四个重要特色。它通过对象全局依赖相关分析,准确求解雅可比矩阵的稀疏结构,自动计算有效初始输入矩阵,从而可以用较小的代价求得整个雅可比矩阵。同时,它可以自动生成客观评价微分模式效率与可靠性的测试程序,对奇异函数做等价微分处理,并采用二元归约的方法,在语句级层次上实现微分代码优化。2.系统概况DFT系统主要由两部分组成:微分代码转换和微分代码评价,图2.1。微分代码转换部分接受用户输入指令并自动分析对象模式,生成切线性模式代码及

6、其相关测试代码,后者直接构成微分代码评价系统的主体。微分代码评价是DFT系统的一个重要特色。DFT系统的开发小组认为,一个微分模式如果在可靠性、时间和存储效率上没有得到充分的验证,至少对实际应用而言,它将是毫无意义的。原模式切线性模式统计评价结果图2.1DFT系统结构简图2.1微分代码转换DFT系统是基于YACC在UNIX环境下开发的,其结构图2.2所示。通过DFT系统产生的切线性模式代码成对出现,并在语句级程度上做了简化,可读性很强,如图2.4。切线性模式评价函数集图2.2微分代码转换微分代码转换部分从功能上分为四个部分:词法分析,语义分析,对象复杂性及数据相关分析

7、和微分代码转换。对于一组具有复杂数据相关的程序模式对象,通常需要系统运行两遍才能得到有效而可靠的微分代码。这主要有两方面的考虑:其一,根据对象的复杂性(如最大语句长度、最大变量维数、子过程或函数数目、子过程或函数内最大变量数目等对象特征)选择合适的系统参数以求最优的运行代价;其二,模式内各子过程或函数之间以及一个子过程或函数内往往具有很强的数据相关性,需要事先保存对象的相关信息并且在考虑当前对象的属性之前必须做上下文相关分析。图2.3PERIGEE源程序代码图2.4DFT系统生成的切线性代码2.2微分代码评价通常,评价一个编译系统的性能有很多方面,如

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。