強化學習非常適合自主決策,因為單靠監督學習或無監督學習技術無法完成任務。
傳統上,強化學習在人工智能領域占據著一個合適的地位。但強化學習在過去幾年已開始在很多人工智能計劃中發揮更大的作用。其最佳的應用點在于計算艾真體(agent)在環境上情境化的決策場景中要采取的最佳行動。
強化學習使用試錯法將算法獎勵函數最大化,它非常適用于IT運營管理、能源、醫療保健、商業、金融、交通和金融領域的很多自適應控制和艾真體自動化應用。它用來訓練人工智能,它為傳統的重點領域提供支持——機器人技術、游戲和模擬——以及邊緣分析、自然語言處理、機器翻譯、計算機視覺和數字助理等新一代人工智能解決方案。
強化學習也是物聯網中自主邊緣應用程序開發的基礎。很多邊緣應用程序的開發(工業、交通、醫療和消費應用)涉及對注入了人工智能的機器人技術的構建,這些技術可以在動態環境條件下以不同程度的情境自主性進行操作。
強化學習如何工作
在這樣的應用領域中,邊緣設備的人工智能大腦必須依賴強化學習,由于在這里缺少預先存在的“真實值(ground truth)”訓練數據集,他們試圖將累計獎勵函數最大化,例如根據規范中包含的一組標準組裝一個生產組件。這與其它類型的人工智能的學習方式形成對比,后者要么是(像監督學習一樣)對相對于真實值數據的算法上的損失函數進行最小化,要么(像無監督學習一樣)對數據點之間的距離函數進行最小化。
但是,這些人工智能學習方法不一定是孤島。最有趣的人工智能趨勢之一是強化學習與更高級的應用程序中的監督學習和無監督學習的融合。人工智能開發人員將這些方法融入到僅憑單一的學習方法不足為用的應用程序中。
例如,監督學習本身在沒有標記的訓練數據的情況下是無用的,在自動駕駛這樣的應用中往往缺乏標記的訓練數據,在這里,每個瞬時的環境情況本質上都是未標記且獨特的。同樣,無監督學習(使用聚類分析來檢測傳感器饋源和其它復雜的未標記數據中的模式)并非用來發現智能終端在真實世界的決策場景中應采取的最佳操作。
什么是深度強化學習
然后是深層強化學習,這是一種領先的技術,在這種技術中,自治的艾真體(autonomous agent)使用強化學習的試錯算法和累計獎勵函數來加速神經網絡設計。這些設計為很多依靠監督和/或無監督學習的人工智能應用程序提供支持。
深度強化學習是人工智能開發和培訓管道自動化的核心重點領域。它涉及對強化學習驅動的艾真體的使用,以快速探索與無數體系結構、節點類型、連接、超參數設置相關的性能權衡,以及對深度學習、機器學習和其他人工智能模型設計人員可用的其它選擇。
例如,研究人員正在使用深度強化學習來快速確定哪一種深度學習卷積神經網絡(CNN)架構可能用于解決特征工程、計算機視覺和圖像分類中的各種難題。人工智能工具可能會使用從深度強化學習獲得的結果來自動生成最佳CNN,使用TensorFlow、MXNet或PyTorch等深度學習開發工具來完成該任務。
在這方面,看到強化學習發展和培訓的開放框架的出現是鼓舞人心的。你在探索深度強化學習時可能需要探索下面這些強化學習框架,這些框架利用、擴展并與TensorFlow和其它深度學習和機器學習建模工具接合,這些工具已得到廣泛采用:
強化學習
框架 | 它的功能以及在哪里獲得它 |
TensorFlow Agents | TensorFlow Agents提供了通過強化學習來構建和培訓各種智能應用程序的工具。該框架是TensorFlow的擴展,它將OpenAI Gym接口擴展到多個并行環境,并允許艾真體在TensorFlow中執行并執行批量計算。其針對OpenAI Gym環境的批處理接口完全與TensorFlow集成,以實現高效的算法實施。該框架結合了BatchPPO,這是Proximal Policy Optimization(近端策略優化算法)的優化實施。其核心組件包含一個用來在外部過程中構建OpenAI Gym環境的環境包裝器;使TensorFlow圖的步驟和重置函數像強化學習操作一樣易于使用的批集成;以及在一個訓練循環內將TensorFlow批處理和強化學習算法融合為單一操作的組件。 |
Ray RLLib | RLLib提供了一個靈活的基于任務的編程模型,該模型用于構建基于艾真體的強化學習應用程序,以滿足不同的應用程序。RLLib由加州大學伯克利分校開發,目前是第二版,它工作在Ray中,Ray是一個在靈活的,高性能的分布式執行框架。RLLib的開發人員中值得關注的一個人是Apache Spark的主要創造者之一。 RLLib在TensorFlow和PyTorch框架內工作,它支持在算法之間共享模型,并與Ray Tune超參數調整工具集成在一起。該框架包含一個可合成的,可擴展的標準強化學習組件庫。每個RLLib組件可以在分布式應用程序中得到并行化、擴展、組合和重用。 RLLib包括三種強化學習算法——近端策略優化(PPO),Asynchronous Advantage Actor-Critic(A3C)和深度Q網絡(DQN)——它們都可以在任何OpenAI Gym的馬爾可夫決策過程中運行。它為新算法的開發提供了可擴展的最小單元(primitive),用于將RLLib應用于新問題的Python API,艾真體超參數設置的存儲庫以及可插拔的分布式強化學習執行策略。它支持用戶創建自定義強化學習算法。 |
Roboschool | Roboschool提供通過強化學習來構建和訓練機器人模擬的開源軟件。它有助于在同一環境中同時對多個艾真體進行強化學習訓練。你可以在多人訓練的情況下訓練同一個艾真體同時加入雙方(所以可以與自己一起比賽),使用相同算法訓練兩個參與者,或者設置兩種算法。 Roboschool由OpenAI開發,該非營利組織的贊助者包括Elon Musk、Sam Altman、Reid Hoffman和Peter Thiel。它與OpenAI Gym集成在一起,后者是開發和評估強化學習算法的開源工具包。OpenAI Gym與TensorFlow、Theano和其它深度學習庫兼容。OpenAI Gym包含數字計算、游戲和物理引擎的代碼。 Roboschool基于Bullet物理引擎,這是一個開放源代碼許可的物理庫,它已被其它仿真軟件(如Gazebo和Virtual Robot Experimentation Platform(V-REP))使用。它包含幾種強化學習算法:Asynchronous Methods for Deep Reinforcement Learning(深度強化學習的異步方法)、Actor-Critic with Experience Replay、使用Kronecker-Factored Trust Region的Actor-Critic,Deep Deterministic Policy Gradients(深度確定性策略梯度)、Proximal Policy Optimization(近端策略優化)和Trust Region Policy Optimization(信賴域策略優化)。 |
機器學習艾真體(Machine Learning Agent) | 盡管Unity Technology的機器學習艾真體仍處于測試階段,它能支持游戲、模擬、自動駕駛車輛和機器人的開發和強化學習訓練。 ML-Agents(機器學習艾真體)支持多種強化學習訓練場景,這其中涉及代理、大腦和獎勵之間的不同配置和交互。該框架的SDK支持單一場景和多代理場景以及分立和連續的動作空間。它提供了一個Python API來訪問強化學習、神經元演化和其它的機器學習方法。 ML-Agents學習環境由通過與名為“大腦”的自動化組件進行交互來執行強化學習的艾真體組成。每個代理可以擁有一組獨特的狀態和觀察結果,在環境中采取獨特的行動,并且可以獲得內部事件的獨特獎勵環境。艾真體的行為取決于它所鏈接的大腦。每個大腦定義一個特定的狀態和動作空間,并決定每個與之鏈接的艾真體將采取哪些動作。 此外,每個ML-Agents環境都包含一個單一的“學院”,“學院”用于定義環境的范圍,就引擎配置而言(訓練和推理模式下的游戲引擎的速度和渲染質量),framekip(每個代理商做出新決策的間隙要跳過多少個引擎步驟)以及全局事件長度(情節將持續多長時間)。 大腦可能得到設置的其中一種模式可能是外部的,在這里,行動決策是用TensorFlow或另一個合適的機器學習庫制定的————通過開放的套接字與ML-Agent的Python API進行溝通。另一種模式是內部的,在這里,艾真體的行動決策是通過使用嵌入到項目里(通過嵌入的TensorFlowSharp艾真體)的受過訓練的模型來制定的。 |
Coach | 英特爾的Nervana Coach是一款開源的強化學習框架,它用來為游戲、機器人技術和其它基于代理的智能應用程序提供建模、培訓并評估智能代理。 Coach提供了一個模塊化沙盒、可重用組件和Python API,用于合成新的強化學習算法,并在不同的應用領域中培訓新的智能應用程序。該框架使用OpenAI Gym,以此作為與不同強化學習環境交互的主要工具。它還支對Gym提供外部擴展,例如Roboschool、gym-extensions、PyBullet和ViZDoom。 Coach的環境包裝器允許人們添加其它自定義的強化學習環境來解決其它學習問題。 該框架能夠在臺式計算機上高效地對強化學習艾真體進行訓練,并使用多核CPU處理。它為一些強化學習算法提供單線程和多線程實施,包括Asynchronous Advantage Actor-Critic、Deep Deterministic Policy Gradient(深度確定性策略梯度)、Proximal Policy Optimization(近端策略優化)、Direct Future Prediction和Normalized Advantage Function(標準化優勢函數)。所有算法都是使用英特爾優化的TensorFlow實現的,有些也可以通過英特爾的Neon深度學習框架獲得。 Coach涉及到很多強化學習艾真體類型的實施,這包括從單線程實施到多線程實施的過渡。它支持為單線程或多線程(同步或異步)的強化學習實施開發新的艾真體。它支持連續和離散的動作空間,以及僅包含原始度量的視覺觀察空間或觀察空間。 |
人工智能開發人員需要的強化學習技能
展望未來,人工智能開發人員將需要沉浸在這些框架和其它框架中實施的各種強化學習算法中。你還需要加深對多艾真體強化學習架構的理解,這其中有很多架構大量利用老牌的博弈論研究機構。你還要熟悉深度強化學習,以此來發現計算機視覺應用中與名為“模糊”的攻擊方法相關的安全漏洞。
版權聲明:本文為企業網D1Net編譯,轉載需注明出處為:企業網D1Net,如果不注明出處,企業網D1Net將保留追究其法律責任的權利。