--- 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發明了TRPO和PPO,用神經網絡做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.
油管的朋友可以看看這個論文相關的影片,可以對學習演算法如何進行控制有個直觀的概念。