<li id="wkceg"></li>
<rt id="wkceg"><delect id="wkceg"></delect></rt>
<bdo id="wkceg"></bdo>
<strike id="wkceg"><acronym id="wkceg"></acronym></strike>

  • 帳號(hào):
    密碼:
    智動(dòng)化 / 文章 /

    強(qiáng)化學(xué)習(xí):入門指南
    [作者 Emmanouil Tzorakoleftherakis]   2019年10月29日 星期二 瀏覽人次: [13268]

    強(qiáng)化學(xué)習(xí)(Reinforcement learning)潛力無窮,能解決許多開發(fā)應(yīng)用上面臨的艱難決策問題,包括產(chǎn)業(yè)自動(dòng)化、自主駕駛、電玩競技遊戲以及機(jī)器人等,因此備受矚目。


    強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)(Machine learning)的一種,指的是電腦透過與一個(gè)動(dòng)態(tài)(dynamic)環(huán)境不斷重複地互動(dòng),來學(xué)習(xí)正確地執(zhí)行一項(xiàng)任務(wù)。這種嘗試錯(cuò)誤(trial-and-error)的學(xué)習(xí)方法,使電腦在沒有人類干預(yù)、沒有被寫入明確的執(zhí)行任務(wù)程式下,就能夠做出一系列的決策。最著名的強(qiáng)化學(xué)習(xí)案例就是AlphaGo,它是第一支打敗人類圍棋比賽世界冠軍的電腦程式。


    強(qiáng)化學(xué)習(xí)的運(yùn)作主要是仰賴動(dòng)態(tài)環(huán)境中的資料—也就是會(huì)隨著外部條件變化而改變的資料,像是天氣或交通流量。強(qiáng)化學(xué)習(xí)演算法的目標(biāo),即是於找出能夠產(chǎn)生最佳結(jié)果的策略。強(qiáng)化學(xué)習(xí)之所以能達(dá)成目標(biāo),是藉著軟體當(dāng)中被稱為主體 (agent)的部分在環(huán)境中進(jìn)行探索、互動(dòng)和學(xué)習(xí)的方法。


    自動(dòng)駕駛範(fàn)例

    自助停車(self-parking)是自動(dòng)駕駛功能中極為重要的一環(huán),目標(biāo)是要讓車輛中的電腦(主體,agent)能準(zhǔn)確地尋找位置並將車輛停入正確的停車格。


    在以下的範(fàn)例中,「環(huán)境」指的是主體之外的所有事物—比如車輛本身的動(dòng)態(tài)、附近的車輛、天候條件等等。訓(xùn)練過程中,主體使用從各種感測器如攝影機(jī)、GPS、光學(xué)雷達(dá)(LiDAR)以及其他感測器讀取的資料來產(chǎn)生駕駛、煞車與加速指令(動(dòng)作)。為了學(xué)習(xí)如何從觀察去產(chǎn)生正確的動(dòng)作(也就是策略調(diào)整,policy tuning),主體會(huì)不斷反覆地嘗試錯(cuò)誤來試著停車,而正確的動(dòng)作會(huì)得到一個(gè)獎(jiǎng)賞(reward)(強(qiáng)化,reinforced)以數(shù)值訊號(hào)表示(圖1)。



    圖1 : 強(qiáng)化學(xué)習(xí)概要圖
    圖1 : 強(qiáng)化學(xué)習(xí)概要圖

    以此範(fàn)例來說,訓(xùn)練是透過一個(gè)訓(xùn)練演算法(training algorithm)來監(jiān)督。這個(gè)訓(xùn)練演算法(即主體的大腦)負(fù)責(zé)根據(jù)從感測器收集而來的資料、動(dòng)作、與獎(jiǎng)賞來調(diào)整主體的策略。經(jīng)過訓(xùn)練之後,車輛上的電腦應(yīng)該只要使用調(diào)整過的策略和感測器資料便能進(jìn)行自主停車。


    用於強(qiáng)化學(xué)習(xí)的演算法

    到目前為止,已經(jīng)有許多強(qiáng)化學(xué)習(xí)訓(xùn)練演算法被開發(fā)出來,其中某些最熱門的演算法是以深度類神經(jīng)網(wǎng)路來建構(gòu)。類神經(jīng)網(wǎng)路最大的優(yōu)勢(shì),是可以將複雜的行為編譯為代碼,讓強(qiáng)化學(xué)習(xí)可以處理許多對(duì)傳統(tǒng)演算法來說可能是非常具有挑戰(zhàn)性的任務(wù)。


    舉例來說,在自動(dòng)駕駛?cè)蝿?wù)上,類神經(jīng)網(wǎng)路可以取代駕駛者,透過攝影機(jī)的畫面、和光學(xué)雷達(dá)的量測值等多種感測器的輸入資料進(jìn)行解讀,並決定如何轉(zhuǎn)動(dòng)方向盤(圖2)。



    圖2 : 自動(dòng)駕駛的類神經(jīng)網(wǎng)路
    圖2 : 自動(dòng)駕駛的類神經(jīng)網(wǎng)路

    若沒有類神經(jīng)網(wǎng)路,這種問題會(huì)被分解為更細(xì)微的部分:首先,一個(gè)能分析攝影機(jī)輸入資料並找出有用特徵的模組、另一個(gè)能過濾光學(xué)雷達(dá)量測值的模組、可能還需要一個(gè)將感測器的輸出資料進(jìn)行融合、並將車輛周邊環(huán)境繪製出來的元件、也就是一個(gè)「駕駛」模組等等。


    強(qiáng)化學(xué)習(xí)的工作流程

    利用強(qiáng)化學(xué)習(xí)來訓(xùn)練一個(gè)主體,主要包含五個(gè)步驟:


    1. 建立環(huán)境:定義出一個(gè)環(huán)境,讓主體可以在裡面進(jìn)行學(xué)習(xí),包含主體與環(huán)境之間的介面也須被定義出來。這個(gè)環(huán)境可以是一個(gè)模擬模型,也可能是真實(shí)的物理系統(tǒng)。經(jīng)過模擬的環(huán)境通常是作為第一步的較好選擇,因?yàn)樗^為安全且容許實(shí)驗(yàn)操作。


    2. 定義獎(jiǎng)賞:具體定義獎(jiǎng)賞的訊號(hào),供主體用來衡量其表現(xiàn)(與執(zhí)行目標(biāo)相比),以及訊號(hào)如何在環(huán)境中被計(jì)算。獎(jiǎng)賞的設(shè)計(jì)可能會(huì)需要經(jīng)過幾次的疊代才能達(dá)到完備。


    3. 建立主體:主體由策略和訓(xùn)練演算法組合而成,所以你會(huì)需要:


    ? 選擇一個(gè)代表策略的方法(比如利用類神經(jīng)網(wǎng)路或是查找表)。思考一下,你希望如何去建構(gòu)這些參數(shù)和邏輯以成為主體的決策部分。


    ? 選擇適當(dāng)?shù)挠?xùn)練演算法?,F(xiàn)代大部分的強(qiáng)化學(xué)習(xí)演算法多仰賴類神經(jīng)網(wǎng)路,因?yàn)檫@是處理大量狀態(tài)/動(dòng)作空間和複雜的問題的好方法。


    4. 訓(xùn)練及驗(yàn)證主體:你還需要設(shè)置訓(xùn)練的選項(xiàng)(例如停止的標(biāo)準(zhǔn)),並訓(xùn)練主體來調(diào)整策略。驗(yàn)證經(jīng)過訓(xùn)練策略最簡單的方法就是模擬了。


    5. 策略的佈署:如何呈現(xiàn)已經(jīng)被訓(xùn)練好的策略?舉例來說,可以用C/C++或CUDA程式碼等方式來表示。此時(shí)你已經(jīng)不需要擔(dān)心主體和訓(xùn)練演算法了—因?yàn)榈酱穗A段,策略已經(jīng)被轉(zhuǎn)為一個(gè)獨(dú)立的決策系統(tǒng)可直接執(zhí)行。


    疊代流程

    利用強(qiáng)化學(xué)習(xí)來訓(xùn)練主體,所牽涉到嘗試錯(cuò)誤的次數(shù)是相當(dāng)可觀的,即使已經(jīng)到較後面的決策與結(jié)果階段了,你可能還會(huì)需要重新回到較早的學(xué)習(xí)工作流程步驟中。舉例來說,如果訓(xùn)練程序沒有在一段合理的時(shí)間之內(nèi)收斂到最佳的決策,你可能會(huì)需要在重新訓(xùn)練主體之前,先去更新下列某些項(xiàng)目:


    ? 訓(xùn)練的設(shè)定


    ? 學(xué)習(xí)演算法的配置


    ? 策略的表現(xiàn)方式


    ? 獎(jiǎng)賞訊號(hào)的定義


    ? 動(dòng)作與觀察訊號(hào)


    ? 環(huán)境動(dòng)態(tài)


    哪些情況適合使用強(qiáng)化學(xué)習(xí)?

    雖然強(qiáng)化學(xué)習(xí)被視為大幅進(jìn)化的機(jī)器學(xué)習(xí),不過它卻不一定是適用於所有情況的最好方法。如果你考慮嘗試使用強(qiáng)化學(xué)習(xí),請(qǐng)記住以下三點(diǎn):


    ? 它不具備所謂的樣本效率(sample-efficient)。這指的是,如果要達(dá)到可接受的表現(xiàn),需要有大量的訓(xùn)練。即使是在相對(duì)簡單的應(yīng)用,可能會(huì)花費(fèi)幾分鐘、幾小時(shí)、或甚至是幾天的訓(xùn)練的時(shí)間。AlphaGo就是經(jīng)過了好幾天沒有間斷、幾百萬次比賽的訓(xùn)練,等同人類幾千年知識(shí)的累積。


    ? 問題的正確設(shè)定可能很棘手??赡軙?huì)需要很多的設(shè)計(jì)決策、相當(dāng)次數(shù)的疊代來達(dá)到正確的行為。這些決策包含了選擇合適的類神經(jīng)網(wǎng)路架構(gòu)、調(diào)整超參數(shù)、以及塑造獎(jiǎng)賞訊號(hào)等。


    ? 訓(xùn)練過的深度神經(jīng)網(wǎng)路策略是一個(gè)「黑盒子」。也就是說,網(wǎng)路內(nèi)部的結(jié)構(gòu)(通常由幾百萬個(gè)參數(shù)構(gòu)成)可能複雜到幾乎難以了解及解釋、以及去評(píng)估它所做出的決定,這使得利用類神經(jīng)網(wǎng)路所建立的策略,很難用正式的性能表現(xiàn)來加以保證它的成效。


    如果你所處理的專案攸關(guān)時(shí)間或安全性至上,你可能可以嘗試其他的替代方案,比如說控制設(shè)計(jì),使用傳統(tǒng)的控制方法可能是較好的開始。


    實(shí)際範(fàn)例:自學(xué)走路的機(jī)器人

    南加州大學(xué)(University of Southern California)Valero Lab的研究人員建造了一個(gè)簡單的機(jī)械腿,利用以MATLABR編寫的強(qiáng)化學(xué)習(xí)演算法,幾分鐘之內(nèi)就讓它自己教導(dǎo)自己學(xué)會(huì)如何移動(dòng)(圖3)。



    圖3 : Valero Lab的新機(jī)械肢。圖片提供:USC。
    圖3 : Valero Lab的新機(jī)械肢。圖片提供:USC。

    這個(gè)機(jī)械肢含有三條腱、兩個(gè)關(guān)節(jié)會(huì)自主地進(jìn)行學(xué)習(xí),首先是先建立它的動(dòng)態(tài)屬性模型,接下來則使用強(qiáng)化學(xué)習(xí)來進(jìn)行學(xué)習(xí)。


    在物理設(shè)計(jì)方面,機(jī)械腿採用了一個(gè)肌腱架構(gòu),大致上相當(dāng)於驅(qū)動(dòng)動(dòng)物活動(dòng)的肌肉和肌腱結(jié)構(gòu)。接著研究人員利用強(qiáng)化學(xué)習(xí)去了解動(dòng)態(tài)行為以達(dá)成在跑步機(jī)上行走的目標(biāo)。


    強(qiáng)化學(xué)習(xí)與運(yùn)動(dòng)蹣跚

    透過運(yùn)動(dòng)蹣跚(motor babbling)與強(qiáng)化學(xué)習(xí)的結(jié)合,系統(tǒng)會(huì)試圖進(jìn)行隨機(jī)的動(dòng)作,並透過執(zhí)行這些動(dòng)作產(chǎn)生的結(jié)果來學(xué)習(xí)其動(dòng)態(tài)的屬性。以這項(xiàng)研究來說,研究團(tuán)隊(duì)一開始先讓系統(tǒng)進(jìn)行隨機(jī)的運(yùn)動(dòng),或運(yùn)動(dòng)蹣跚(motor babble)。只要每一次系統(tǒng)正確地執(zhí)行了指定任務(wù)—在這個(gè)範(fàn)例中,是在跑步機(jī)上向前移動(dòng),研究人員就會(huì)給予系統(tǒng)獎(jiǎng)賞。


    這個(gè)經(jīng)由學(xué)習(xí)產(chǎn)生的演算法被稱為G2P(general to particular,從一般到特定的縮寫),它複製了生物神經(jīng)系統(tǒng)從移動(dòng)去控制肌腱移動(dòng)時(shí)會(huì)遇到的一般問題(圖4)。隨後再強(qiáng)化(給予獎(jiǎng)賞)任務(wù)的特定行為。在這個(gè)範(fàn)例,任務(wù)是要成功地在跑步機(jī)上移動(dòng)。系統(tǒng)透過運(yùn)動(dòng)蹣跚建立了自身動(dòng)態(tài)的一般性理解,接著從每一次的經(jīng)驗(yàn)或G2P學(xué)習(xí),最終開發(fā)出達(dá)到「特定」任務(wù)的行為。



    圖4 : G2P演算法。(source:Marjaninejad, et al.)
    圖4 : G2P演算法。(source:Marjaninejad, et al.)

    這個(gè)類神經(jīng)網(wǎng)路,是利用MATLAB和深度學(xué)習(xí)工具箱(Deep Learning Toolbox?)來完成的,它使用了從運(yùn)動(dòng)蹣跚得來的結(jié)果,建立一個(gè)輸入(運(yùn)動(dòng)學(xué))和輸出(運(yùn)動(dòng)觸發(fā))的反向地圖。該網(wǎng)路會(huì)依據(jù)強(qiáng)化學(xué)習(xí)階段所做的每一次嘗試來更新模型,而趨向期望的結(jié)果。網(wǎng)路會(huì)記住每一次的最佳結(jié)果,當(dāng)新的輸入值創(chuàng)造出更好的結(jié)果,網(wǎng)路則會(huì)以新的設(shè)定來覆蓋原本的模型設(shè)定。


    G2P演算法在僅僅5分鐘的無特定結(jié)構(gòu)地執(zhí)行運(yùn)動(dòng)蹣跚後,就可以自己學(xué)習(xí)新的步行任務(wù),然後,它也不需要任何額外的編程,便能夠適應(yīng)其他任務(wù)。


    (本文由鈦思科技提供;作者Emmanouil Tzorakoleftherakis任職於MathWorks公司)


    相關(guān)文章
    ? 以馬達(dá)控制器ROS1驅(qū)動(dòng)程式實(shí)現(xiàn)機(jī)器人作業(yè)系統(tǒng)
    ? CAD/CAM軟體無縫加值協(xié)作
    ? 確保機(jī)器人的安全未來:資安的角色
    ? 雙臂機(jī)器人引風(fēng)潮 類人形應(yīng)用猶欠東風(fēng)
    ? 量子運(yùn)算:打造自動(dòng)駕駛汽車新領(lǐng)域
    comments powered by Disqus
      相關(guān)新聞
    » 臺(tái)達(dá)攜手珍古德協(xié)會(huì)與海科館 三方合作推動(dòng)珊瑚復(fù)育教育
    » 嘉義縣以空品監(jiān)測即時(shí)掌控工廠火災(zāi)應(yīng)變措施
    » 裕民航運(yùn)聚焦於淨(jìng)零轉(zhuǎn)型與全球布局 以營運(yùn)韌性拓展綠色未來
    » 臺(tái)達(dá)於COMPUTEX 2025聚焦人工智慧與節(jié)能永續(xù)
    » 臺(tái)達(dá)電子公佈一百一十四年四月份營收 單月合併營收新臺(tái)幣407.82億元
      相關(guān)產(chǎn)品
    » 泓格iSN-811C-MTCP紅外線感測模組 從溫度掌握工業(yè)製造的安全與先機(jī)
    » 凌華科技透過 NVIDIA JetPack 6.1 增強(qiáng)邊緣 AI 解決方案
    » 安勤推出搭載NVIDIA Jetson平臺(tái)邊緣AI方案新系列
    » 臺(tái)達(dá)全新溫度控制器 DTDM系列實(shí)現(xiàn)導(dǎo)體加工精準(zhǔn)控溫
    » 西門子推出下一代AI增強(qiáng)型電子系統(tǒng)設(shè)計(jì)軟體 提升使用者體驗(yàn)

    ?
    刊登廣告 新聞信箱 讀者信箱 著作權(quán)聲明 隱私權(quán)聲明 本站介紹

    Copyright ©1999-2025 遠(yuǎn)播資訊股份有限公司版權(quán)所有 Powered by O3
    地址:臺(tái)北數(shù)位產(chǎn)業(yè)園區(qū)(digiBlock Taipei) 103臺(tái)北市大同區(qū)承德路三段287-2號(hào)A棟204室
    電話 (02)2585-5526 #0 轉(zhuǎn)接至總機(jī) / E-Mail: webmaster@hope.com.tw
    主站蜘蛛池模板: 黑山县| 揭东县| 延吉市| 林甸县| 梅州市| 甘德县| 全州县| 洪雅县| 如皋市| 山西省| 柳江县| 会东县| 雷州市| 天津市| 库伦旗| 广南县| 资阳市| 大安市| 南京市| 泸水县| 德安县| 嘉鱼县| 太白县| 双城市| 漠河县| 临桂县| 和平县| 武强县| 慈溪市| 高密市| 石台县| 黎川县| 江西省| 江孜县| 九台市| 长子县| 琼海市| 南木林县| 林口县| 丁青县| 建瓯市|