模型降阶方法梳理

模型降阶,简单讲就是在保证设定精度的前提下,简化模型,减少计算量。这种简单的思想很早就出现在工程领域的文献中,但其作为具有理论以及的较为系统的数学方法也就是近一二十年的事。

求解大规模线性方程组,自由度少则几十万,多则上千万,利用常规求解方法效率低下,而模型降阶的目的正是降低此类问题的计算复杂性,例如,在对大规模电路进行精确模型分析之前,用户只想对模型部分进行建模仿真,或只想了解大概数值范围和趋势,都可以通过模型降阶方法来减少模型计算时间。

模型降解的通常要求是:

1. 计算结果与原始模型相比,误差小或者在设定介绍范围内;

2. 保留原始模型的特点和特征;

3. 降阶后的模型计算要保证稳定性和有效性。

可以看出,广义上的模型降阶泛指简化减少模型计算。讨论重点是求解大规模线性方程组的降阶方法。

在模型降阶中,最基础和最常用的就是Krylov子空间方法。Krylov全名Aleksey Nikolaevich Krylov,1863年出生于俄国,俄罗斯海军工程师,一生著有300多篇论文和书籍,涵盖了流体力学,造船,天文,测量,数学等领域。1931年Krylov提出了Krylov子空间和方法的论文,Krylov方法通常采用所构造的标准列正交向量基底对系统进行模型降阶,使得降阶系统的传递函数对于原始线性系统的传递函数,在其指定的区域内有很好的近似。Kylov子空间方法在数学理论上相当完善,其主要优点是算法稳定,能保持原始传递函数的特点,有时还能保持系统的基本特性。

对于线性方程组 A*x = B

其中A为 N*N的矩阵,N为大数

常规方法为 x=A的逆矩阵*B

很显然,直接求逆矩阵比较困难,尤其A是稀疏矩阵时

我们将 A的逆矩阵*B = m1*B + m2*A*B + m3*A*A*B

其中m1,m2,m3为未知的标量系数,可以看出A,B都是已知量,只要求解 m1,m2,m3就可以了

Krylov已经证明,当m个数=N时,其结果为精确解。

实际工程中,可以根据具体情况选择m的数量。

一些常用的Krylov子空间方法包括:

Arnoldi降阶算法

共轭梯度系列相关算法

最小余量系列相关算法

C正交Arnoldi算法

块Arnoldi算法

对称和非对称Lanczos降阶算法

多重Krylove子空间降阶

在算法工具方面,Matlab 仍然是首选。两个基于Matlab的MOR算法工具:

MORLAB

https://www.mpi-magdeburg.mpg.de/projects/morlab

RBmatalb

https://www.morepas.org/software/

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Pod模型降阶是一种通过开源代码实现的技术,它可以将高阶模型转化为低阶模型,从而降低计算和存储成本。 Pod模型降阶的基本思想是通过减少模型的复杂性,来简化计算过程。这种技术可以应用于各种领域,例如计算机视觉、自然语言处理和推荐系统等。 在开源社区中,有许多关于Pod模型降阶的优秀代码。其中最有名的是Google开源的TensorFlow,它提供了一种名为TensorFlow-Lite的工具,可以将高阶TensorFlow模型转化为低阶模型。TensorFlow-Lite是一个轻量级的库,可以在移动设备和嵌入式设备上运行,使得开发者可以在有限的计算资源下,仍然能够高效地运行复杂的模型。 另一个开源项目是ONNX(Open Neural Network Exchange),它提供了一个中间表示的规范,可以方便地将不同深度学习框架的模型进行转换。ONNX可以将高阶模型转换为低阶模型,使得模型可以在不同的平台上运行,包括移动设备、服务器和云平台等。 除了TensorFlow和ONNX,还有一些其他开源工具可以用于Pod模型降阶,例如Caffe、PyTorch和Keras等。这些工具提供了丰富的功能和灵活的接口,使得开发者可以根据自己的需求选择合适的工具来实现模型降阶。 总之,通过开源代码实现Pod模型降阶可以帮助我们降低模型的计算和存储成本,提高模型的效率和可移植性。无论是使用TensorFlow、ONNX,还是其他开源工具,开发者都可以根据自己的需求选择适合自己的工具来实现模型降阶

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值