進入強化學習的環境 OpenAI Gym

閱讀時間約 4 分鐘

反饋式類神經網路通當使用在具備有明確目標的學習運算上面,或是稱之為「監督式學習」;但是,如何可以讓學習的機制可以不斷的進步,或者是否可以達到自我學習的地步呢?「強化式學習」(Reinforcement Learning) 就是一種可能的方法。

強化式學習是透過學習機器 (agent) 與環境 (environment) 的互動,利用觀察 (observation) 學習機器行為 (action) 與環境互動結果的積分 (reward) 大小來逐步加強學習機器的能力。

raw-image


當然,我們也可以使用 python 在 nVidia Jetson Orin Nano 的機器來完成「強化學習」的實作。在OpenAI Gym 這裏提供了 python 使用者多個強化學習的環境,讓大家有一個共同的環境可以測試自己的強化學習演算法以及學習機器的能力,而不用花時間去搭建自己的測試環境;在這裏我們先實作利用強化學習進行一個叫做「Frozen Lake」的題目。

首先,先安裝 OpneAI Gym 的 python 程式庫

pip install gymnasium

然後安裝文字遊戲 (toy-text) 套件

pip install gymnasium[toy-text]

這個題目的目標是從起始狀態 (S) 移動到目標狀態 (G),只能在冰凍的地磚 (F) 上行走,並避開洞穴 (H);可以由以下的圖形示意。

raw-image

一開始,從左上角的家出發,目標是右下角可以獲得禮物的地方,在中晚會有設定幾個障礙,也就是上圖中結冰的洞;每次移動一格 (Action),系統會回傳目前的位置 (Observation),如果掉進障礙就結束 (Terminated),如果到達目標,分數 (Reward) 就會加一分給奬勵並且結束 (Terminated);強化學習的使用就是透過這樣的學習機置達到學習完成目標的路徑。

首先,OpenAI Gym 已經定義了利用 action 的數字代表移動的方向:

raw-image

同時也把目前的狀況用文字定義出來:

raw-image

所以,我們可以先把一開始的狀態用程式描述出來。

import gymnasium as gym
env=gym.make('FrozenLake-v1', is_slippery=False,render_mode='ansi')
env.reset()
print(env.render())
raw-image

紅色的部份就是目前的位置;當然,我們可以用人工的方式很容易看出來,如果我們移動的順序是「右/右/下/下/下/右」那麼就可以完成這個題目,在程式上就是:

env.reset()
env.step(2)
env.step(2)
env.step(1)
env.step(1)
env.step(1)
observation, reward, terminated,_,_=env.step(2)
print(env.render())
print('location:',observation)
print('reward:',reward)
print('If terminated?',terminated)
raw-image


在每一步移動 (Action) ,OpenAI Gym 這個「Frozen Lake」的環境都會回傳目前的位置 (Observation)、奬勵分數分數 (Reward) 以及是否結束 (Terminated),來提供接下來學習機制程式的撰寫。

avatar-img
4會員
19內容數
作者從國內主要的半導體公司退休,重回校園唸書;開始第三人生。分享退休投資規劃、科技產業經驗以及校園學習點滴。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
甘果的沙龍 的其他內容
類神經網路在圖形辨識應用中需要大量資料進行訓練,並常透過分批訓練來優化模型。本文介紹如何使用「MNIST」資料庫進行手寫數字辨識,並透過「資料分批」來有效處理訓練資料。最終,分批訓練的手法能夠提升模型的辨識能力,實現持續學習。
本篇文章探討瞭如何透過叢集類神經網路對圖形資料進行分類。叢集類神經網路針對多個相互獨立的分類目標,提升訓練收斂速度。文中說明介紹了叢集類神經網路的建立和訓練過程,最終達成準確的分類預測。透過這種方法,即使處理複雜的分類問題,也能保持較高的訓練效率和準確度。
本文介紹使用 PyTorch 及類神經網路進行圖形資料集的分類。Fashion-MNIST 提供了機器學習研究上的著名範例;服飾的灰階圖像的分類。本文指導讀者從安裝 torchvision 到建立類神經網路,進行圖形分類的完整過程。也詳述了資料處理及訓練過程,幫助理解類神經網路在圖形分類上的應用。
本文探討類神經網路在多元分類問題的應用,以scikit-learn 程式庫中的鳶尾花分類問題為例。該問題涉及三種不同的鳶尾花分類,並詳細說明瞭資料整理、類神經網路的建立及訓練過程,最終達到高準確率的預測結果。本文將幫助讀者理解如何應用類神經網路、PyTorch 及 CUDA 來進行高效的模型訓練。
本文說明反饋類神經網路在機器學習中解決非線性分類問題的方法,並以「PyTorch/CUDA」作為實現工具。介紹如何使用「scikit-learn」生成二元分類問題的數據,將訓練資料轉換為PyTorch/CUDA可用的格式,並搭建類神經網路進行訓練與測試;可用於有效解決各項機器學習的分類問題。
本文介紹如何利用 PyTorch 和 CUDA,建立多變數類神經網路模型。特別的,文章以「Himmelblau function」為例,探討資料正規化及訓練資料型態轉換的過程,並說明如何在 GPU 上訓練類神經網路。分析訓練誤差值及模型的收斂情況,希望幫助讀者深入理解多變數類神經網路的應用與挑戰。
類神經網路在圖形辨識應用中需要大量資料進行訓練,並常透過分批訓練來優化模型。本文介紹如何使用「MNIST」資料庫進行手寫數字辨識,並透過「資料分批」來有效處理訓練資料。最終,分批訓練的手法能夠提升模型的辨識能力,實現持續學習。
本篇文章探討瞭如何透過叢集類神經網路對圖形資料進行分類。叢集類神經網路針對多個相互獨立的分類目標,提升訓練收斂速度。文中說明介紹了叢集類神經網路的建立和訓練過程,最終達成準確的分類預測。透過這種方法,即使處理複雜的分類問題,也能保持較高的訓練效率和準確度。
本文介紹使用 PyTorch 及類神經網路進行圖形資料集的分類。Fashion-MNIST 提供了機器學習研究上的著名範例;服飾的灰階圖像的分類。本文指導讀者從安裝 torchvision 到建立類神經網路,進行圖形分類的完整過程。也詳述了資料處理及訓練過程,幫助理解類神經網路在圖形分類上的應用。
本文探討類神經網路在多元分類問題的應用,以scikit-learn 程式庫中的鳶尾花分類問題為例。該問題涉及三種不同的鳶尾花分類,並詳細說明瞭資料整理、類神經網路的建立及訓練過程,最終達到高準確率的預測結果。本文將幫助讀者理解如何應用類神經網路、PyTorch 及 CUDA 來進行高效的模型訓練。
本文說明反饋類神經網路在機器學習中解決非線性分類問題的方法,並以「PyTorch/CUDA」作為實現工具。介紹如何使用「scikit-learn」生成二元分類問題的數據,將訓練資料轉換為PyTorch/CUDA可用的格式,並搭建類神經網路進行訓練與測試;可用於有效解決各項機器學習的分類問題。
本文介紹如何利用 PyTorch 和 CUDA,建立多變數類神經網路模型。特別的,文章以「Himmelblau function」為例,探討資料正規化及訓練資料型態轉換的過程,並說明如何在 GPU 上訓練類神經網路。分析訓練誤差值及模型的收斂情況,希望幫助讀者深入理解多變數類神經網路的應用與挑戰。
你可能也想看
Google News 追蹤
Thumbnail
適應能力和學習能力 在當今科技迅速變革的時代,適應能力和學習能力成為我們在職場上保持競爭力的關鍵要素。無論是在工作中還是在生活中,快速學習新工具和適應新環境已經成為必不可少的能力。持續學習並保持開放的心態,不僅能讓我們在不斷變化的職場中立於不敗之地,也能讓我們更好地應對各種挑戰。 適應能力與
我們知道AI的作法可以分為Supervised Learning、Unsupervised Learning、Reinforcement Learning,整題區分如下圖: 圖片出處:https://www.superannotate.com/blog/supervised-learning-an
Thumbnail
本文介紹自我監督學習的概念和訓練方式,以BERT和GPT為例,深入探討Masking Input及Fine-Tune的實際操作和可應用性。
Thumbnail
在機器學習領域中,監督學習、無監督學習和強化學習是三種核心方法,它們在解決不同類型的問題時發揮著重要作用。
Thumbnail
✨閱讀後你將學會: 培養成長心態: 認識在AI時代如何透過「成長心態」面對新知識和技術。 策略化學習能力: 提供學習策略指南以評估自身學習目標與方法。 效率提升方法: 鼓勵透過學習AI工具與參與學習社群以提升學習成效。 重新定義高效學習 在人工智慧(AI)日益影響工作與學習方式的今天,
機器學習是什麼? 簡單來說,機器學習就是訓練機器尋找Function的一段過程,而這個Function可以幫助我們解決我們遇到的問題,或是幫助我們
這個頻道將提供以下服務: 深入介紹各種Machine Learning技術 深入介紹各種Deep Learning技術 深入介紹各種Reinforcement Learning技術 深入介紹Probabilistic Graphical Model技術 不定時提供讀書筆記 讓我們一起在未
Thumbnail
延續上週提到的,「有哪些不訓練模型的情況下,能夠強化語言模型的能力」,這堂課接續介紹其中第 3、4 個方法
Thumbnail
OpenAI的推出了許多產品,包括Gym強化學習工具包、Dactyl AI機械手臂、Five遊戲模型、DALL·E文字生成圖片以及Sora文字生成影片。這些產品不僅展示了AI的發展與進步,也在不同領域有著廣泛的應用和影響。
Thumbnail
ChatGPT 是 OpenAI 開發的大型語言模型,以其強大的生成能力和對話能力而聞名。 ChatGPT 的訓練過程主要分為兩個階段:預訓練和微調。 微調使用了 RLHF(Reinforcement Learning from Human Feedback)技術,可以有效地提高模型生成內容的質量。
Thumbnail
適應能力和學習能力 在當今科技迅速變革的時代,適應能力和學習能力成為我們在職場上保持競爭力的關鍵要素。無論是在工作中還是在生活中,快速學習新工具和適應新環境已經成為必不可少的能力。持續學習並保持開放的心態,不僅能讓我們在不斷變化的職場中立於不敗之地,也能讓我們更好地應對各種挑戰。 適應能力與
我們知道AI的作法可以分為Supervised Learning、Unsupervised Learning、Reinforcement Learning,整題區分如下圖: 圖片出處:https://www.superannotate.com/blog/supervised-learning-an
Thumbnail
本文介紹自我監督學習的概念和訓練方式,以BERT和GPT為例,深入探討Masking Input及Fine-Tune的實際操作和可應用性。
Thumbnail
在機器學習領域中,監督學習、無監督學習和強化學習是三種核心方法,它們在解決不同類型的問題時發揮著重要作用。
Thumbnail
✨閱讀後你將學會: 培養成長心態: 認識在AI時代如何透過「成長心態」面對新知識和技術。 策略化學習能力: 提供學習策略指南以評估自身學習目標與方法。 效率提升方法: 鼓勵透過學習AI工具與參與學習社群以提升學習成效。 重新定義高效學習 在人工智慧(AI)日益影響工作與學習方式的今天,
機器學習是什麼? 簡單來說,機器學習就是訓練機器尋找Function的一段過程,而這個Function可以幫助我們解決我們遇到的問題,或是幫助我們
這個頻道將提供以下服務: 深入介紹各種Machine Learning技術 深入介紹各種Deep Learning技術 深入介紹各種Reinforcement Learning技術 深入介紹Probabilistic Graphical Model技術 不定時提供讀書筆記 讓我們一起在未
Thumbnail
延續上週提到的,「有哪些不訓練模型的情況下,能夠強化語言模型的能力」,這堂課接續介紹其中第 3、4 個方法
Thumbnail
OpenAI的推出了許多產品,包括Gym強化學習工具包、Dactyl AI機械手臂、Five遊戲模型、DALL·E文字生成圖片以及Sora文字生成影片。這些產品不僅展示了AI的發展與進步,也在不同領域有著廣泛的應用和影響。
Thumbnail
ChatGPT 是 OpenAI 開發的大型語言模型,以其強大的生成能力和對話能力而聞名。 ChatGPT 的訓練過程主要分為兩個階段:預訓練和微調。 微調使用了 RLHF(Reinforcement Learning from Human Feedback)技術,可以有效地提高模型生成內容的質量。