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

  • 帳號:
    密碼:
    智動化 / 文章 /

    強化學(xué)習(xí):入門指南
    [作者 Emmanouil Tzorakoleftherakis]   2019年11月14日 星期四 瀏覽人次: [11105]

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


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


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


    自動駕駛範(fàn)例

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


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



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

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


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

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


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



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

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


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

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


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


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


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


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


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


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


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


    疊代流程

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


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


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


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


    --獎賞訊號的定義


    --動作與觀察訊號


    --環(huán)境動態(tài)


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

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


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


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


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


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


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

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



    圖3 :  Valero Lab的新機械肢。圖片提供:USC。
    圖3 : Valero Lab的新機械肢。圖片提供:USC。

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


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


    強化學(xué)習(xí)與運動蹣跚

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


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



    圖4 : G2P演算法。圖片提供:Marjaninejad, et al.
    圖4 : G2P演算法。圖片提供:Marjaninejad, et al.

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


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


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


    相關(guān)文章
    ? 以馬達(dá)控制器ROS1驅(qū)動程式實現(xiàn)機器人作業(yè)系統(tǒng)
    ? CAD/CAM軟體無縫加值協(xié)作
    ? 確保機器人的安全未來:資安的角色
    ? 雙臂機器人引風(fēng)潮 類人形應(yīng)用猶欠東風(fēng)
    ? 量子運算:打造自動駕駛汽車新領(lǐng)域
    comments powered by Disqus
      相關(guān)新聞
    » 臺達(dá)攜手珍古德協(xié)會與海科館 三方合作推動珊瑚復(fù)育教育
    » IPAC'25國際粒子加速器會議首度在臺灣登場
    » 杜邦公佈其計畫分拆的電子業(yè)務(wù)獨立公司Qnity品牌識別
    » 意法半導(dǎo)體推出高整合低位電流感測放大器,簡化高精度量測設(shè)計
    » 意法半導(dǎo)體推出創(chuàng)新記憶體技術(shù),加速新世代車用微控制器開發(fā)與演進(jìn)
      相關(guān)產(chǎn)品
    » 意法半導(dǎo)體推出適用於數(shù)位鑰匙應(yīng)用的新一代車用 NFC 讀寫器 擴展 ST25R 高效能產(chǎn)品系列
    » 適用于高頻功率應(yīng)用的 IXD2012NTR 高壓側(cè)和低壓側(cè)柵極驅(qū)動器
    » KSC XA輕觸開關(guān)提供聲音柔和的輕觸回饋,增強用戶體驗
    » 首款採用 DO-214AB 緊湊型封裝的 2kA 保護(hù)晶閘管
    » 意法半導(dǎo)體推出新款智慧型功率開關(guān),具備小巧外型、高效率與高度可靠性

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

    Copyright ©1999-2025 遠(yuǎn)播資訊股份有限公司版權(quán)所有 Powered by O3
    地址:臺北數(shù)位產(chǎn)業(yè)園區(qū)(digiBlock Taipei) 103臺北市大同區(qū)承德路三段287-2號A棟204室
    電話 (02)2585-5526 #0 轉(zhuǎn)接至總機 / E-Mail: webmaster@hope.com.tw
    主站蜘蛛池模板: 兴仁县| 新和县| 神农架林区| 福清市| 南江县| 平乐县| 淮阳县| 祁东县| 龙南县| 奎屯市| 台中县| 江孜县| 金沙县| 林甸县| 桦川县| 镇远县| 兰溪市| 江安县| 资溪县| 长阳| 新闻| 建昌县| 牙克石市| 繁昌县| 柞水县| 深圳市| 应城市| 潍坊市| 吕梁市| 鹤峰县| 当阳市| 和平区| 民县| 武安市| 枣庄市| 札达县| 集贤县| 屯门区| 济阳县| 苍南县| 汾西县|