版本对应:
本网页讨论的机器学习内容,为特定的机器学习内容(并未与CFD结合)。在《无痛苦NS方程笔记》中, 特定的将CFD与机器学习互相结合起来,无普适性机器学习内容。
ML: 极限学习机
极限学习机的思想非常简单。因为神经网络可以看做是一个拟合的过程,另一方面,最小二乘法也可以用来数据拟合,这在机器学习被提出之前有大量的应用。极限学习机的设计思想即为:
只存在一层隐藏层,神经元数量固定后,从输入到这一层的权重和偏置随机生成且固定不变;
附加一层激活层(一些人认为激活层与第一层可以当做一层隐藏层);
通过最小二乘法计算激活层到输出层的权重;
可见极限学习机可以看做是特别简单的神经网络(在这里公式都不需要写了),不同点上面三点已经全部提现。在CFD领域,一些文章采用了极限学习机来进行研究,比如Maulik和San就采用了极限学习机来进行了LES的数据驱动建模工作[MS17]。
有意思的是极限学习机目前比较有争议。尤其是卷积神经网络的提出者LeCun对其持有非常怀疑的态度。在一些公开可追溯的链接里面,LeCun对其观点进行了总结:
极限学习机到底有什么好的?我不明白ELM有什么特别好的。有人能解释一下吗?ELM基本上是一个两层神经网络,其中第一层是固定和随机的,第二层是训练的。这种想法有很多问题。因为随机连接第一层几乎是最愚蠢的做法。这在标记数据量很小的情况下,可能会有效。其优点类似于支持向量机(虽然程度较低):需要监督训练的参数很少(因为第一层是固定的)且容易正则化(因为它们构成一个线性分类器)。但既然如此,为什么不直接用支持向量机呢?在小模型中,这种随机一层网络可能表现尚可。但你永远不会看到它们在复杂任务上打破记录,比如语音识别等。
当然在这个链接里面,大量的人认为LeCun的观点也存在问题。很多人认为简单的并不是愚蠢的。在CFD算法领域也一样,只有简单的且精准的算法才能获得最广泛的应用。一些算法很精准,但是太复杂并不能够大量的被应用。因此有关极限学习机的探讨,目前还在持续进行下去。
Romit Maulik and Omer San. A neural network approach for the blind deconvolution of turbulent flows. Journal of Fluid Mechanics, 831:151–181, 2017.