机器学习,神经网络在控制科学中的前景和应用大吗?为什么?

以前学习机器学习的时候看到有应用算法来训练新式机器人自我移动的案例(来自斯坦福机器学习老版本课程),觉得很激动,因为这个过程很像生物界的学习过程。 最…
关注者
1,376
被浏览
209,191
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

--- 21/11/2020 ----

看到一篇写得很好的观点,大家可以一起参考下。

2020年你的控制理论研究有什么收获和感悟?

--- 21/10/2020 ----

最近觉得很厉害的工作

Evaluated in more than half a year. zero-shot sim2real

初学者可以看 伯克利《深度强化学习》课程 (2020) by Sergey Levine_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

--- 10/02/2019 ----

最近的ANYmal基本全用神经网络训练了。

ANYmal – Autonomous Legged Robot | ANYbotics

--- 27/11/2018 ----

时隔这么多年,过来小更新了,对之前答案里面不太成熟的地方也有了更多的体会。

几年前用神经网络解决机器人问题方兴未艾,现在是已经渐渐显出模样了。艾玛侬的答案很好,现在控制上面还是统计学习方法居多,神经网络用于精确控制似乎还是不行。大方向上来讲,做神经网络控制的机器人控制大致还是Pieter Abbeel 的组,Todorov的组和Danica的组。

由于John Schumann发明了TRPOPPO,用神经网络做virtual agent的控制基本成了领域标配,这里面

感觉Pieter Abbeel的组慢慢偏向了用Meta learning减少需要的学习Sample数量。

--- 01/08/2015 ----


题主的问题是 机器学习,神经网络在控制科学中的前景和应用大吗?为什么?
首先需要澄清的是神经网络只是机器学习的一个模型,也是控制论的一个模型。
她最简单的形式的本质是多个非线性函数合成的函数。
f_{all}(\vec{x}) =f_1 \circ f_2 \cdots f_n(\vec{x})<br/>f_i(\vec{x})\equiv \sigma(W\vec{x}), \forall i \in \{1,2\cdots,n\}\sigma是一个非线性函数,比如tanh。
这样看来他其实就是一个数学模型,并没有什么特殊之处。而且它和生物界的学习过程差很远,只是最初步的优化,要是考虑相似性,IBM neuron morphiccomputing更像一些,效果却不是很好。

下面正式答题。
不好意思,在此畅所欲言,抛砖引玉,也希望听到大家的观点。
我在这儿把控制科学等量于机器人学来讨论,我相信这样简化并不会减少大家的兴趣。
机器人学把对机器人的操控分为两部分, 一部分是perception, 一部分才是传统意义上的控制,control。

机器学习对于第一点,perception,的作用不可谓不深。无论是监督,非监督的方法对机器人视觉,语言,情感都有不可磨灭的贡献。举几个例子,1. 在视觉识别和分类上面,基本都是机器学习的一个模型(卷积神经网络CNN)独占天下。大家可以看看这个数据库The KITTI Vision Benchmark Suite,基本在每个识别竞赛下都是CNN的改变版本第一名。2. 在情感计算方面,机器学习提供了在数据量大的情况下,识别当前状态下的情感的可能。Stefan Wermter用Recurrent Neuron Network(RNN)的模型分析twitter上每个状态的情感从而让机器人针对不同的情况做出不同的反应。机器学习在perception方面作出的贡献其实是对控制非常有用的,和Sensor Fusion结合在一起,他其实提供了机器人一个更真实的反馈。 只不过这个方面在传统的控制算法当中不受重视,我也就不在赘述。

第二点就是传统意义上的的控制算法了。由于在计算机科学历史上,控制算法并不是主要的研究方向,所以学习算法在这个方向上的发展就有些慢。(传统上计算机科学的主要研究方向是图像和NLP)。而且以前的控制算法不需要多少输入,和动辄 1086 x 1086 x 3 x n 输入的图像研究不能比。所以人们倾向于找简单的方法(比如各种判定依据)。这一点上和图像的早期算法是相似的,都是人工的找判定依据(比如某种物品的判定依据)。计算机图像学之所以发生改变,是因为人们发现判定依据太过复杂,而计算资源又有发展,所还不如用学习算法学习这些特征。我觉得控制论也在往这个方向发展。现在很多控制算法开始大量考虑优化问题,我觉得就是趋势。优化问题普遍需要数据,很快控制算法就会和学习算法合流(基于机器学习已经合并了统计学习,以后机器学习也可以合并控制算法)。

那么从机器学习本身发展出来的控制算法有没有呢?答案是有的,比如说总有几个神人,比题主和答主早个几十年开始考虑这个问题. 哲学上有名的人是Stefan Schaal,他的文章Is Imitation Learning the Route to
Humanoid Robots?是对这个方向最直接的思考。虽然中国对这方面的了解还比较少,但是这篇文章已经有近1000的引用了,说明各国科学家还是很看好这个方向的。这之后很多人有过尝试,但是由于基本是零起步,所以并不是很成功。然后,然后一个叫增强学习方向立功了,这个方向也许很多人都不了解。他是基于强调如何基于环境而行动,以取得最大化的预期利益来学习。也就是说这个机器学习方向的数学模型允许试错存在,也就是你可以尝试,并在错误中学习。具体的数学模型可以参见Sutton的Book

由于数学比较复杂,在比较的少的时间不好解释。我就简单的带一下他的发展史,在发现增强学习中的马克沃夫决策过程(MDP)可以解决控制问题之后,人们又发现,连续的控制过程离散化之后数据会变得非常大。于是就开始直接优化在决策函数的超参数(叫做Policy Gradient 策略梯度方法),发现学习算法终于可以和传统控制有的一比了。

不过学习算法和传统算法还有些缺陷,比如题主刚刚说的精确问题,普通学习算法精确度就和普通控制算法比就有些问题(毕竟人类帮这些控制算法总结了物理定律),神经网络就更差了。精确性是神经网络一个非常严重的问题,控制问题对模糊的容忍度比识别问题低的多。因为一次不好的控制就会导致的机器人损坏或者报废。就算在机器人学习算法的大牛里面对神经网络也是慎之又慎。大家一般都是倾向于用容易算出bound的基于马克沃夫决策过程的增强学习算法和容易求出方差的高斯过程回归。一个有趣的事实是,虽然大家都担心神经网络,但是一直都有尝试,因为它好处也太多了。比如和在部分领域最好的perception算法结合,比如训练过程简单,比如scalability非常好。解决对神经网络不信任这个问题,我觉得人们需要发展新的数学工具去解释比如CNN,RNN的复杂神经网络。

我认为随着计算能力的增强,控制算法转向学习算法是不可避免的,因为慢慢所有的反馈都由大量的数据组合而成,而没人想一个一个分析。现在人们在研究结构性重组,高斯过程回归,深度学习对算法的改进。而这是我们的时代。

btw.

油管的朋友可以看看这个论文相关的视频,可以对学习算法如何进行控制有个直观的概念。