在本章中,您將詳細學習使用Python進行AI強化學習的概念。
這種型別的學習被用來加強或加強基於評論者資訊的網路。 也就是說,在強化學習下訓練的網路從環境中獲得一些反饋。 但是,反饋是評價性的,並且不像監督式學習的情況那樣具有啟發性。 基於這種反饋,網路將對權重進行調整以獲得更好的評論資訊。
這個學習過程類似於監督學習,但我們可能擁有的資訊非常少。 下圖給出了強化學習的框圖 -
環境和代理是人工智慧強化學習的主要構件。 本節詳細討論它們 -
媒介代理
代理媒介是能夠通過感測器感知其環境並通過效應器作用於該環境的任何事物。
代理術語
以下術語在AI中的強化學習中更頻繁地使用 -
環境
某些程式在局限於鍵盤輸入,資料庫,計算機檔案系統和螢幕上字元輸出的完全人造環境中執行。
相比之下,一些軟體代理(如軟體機器人或軟碟機)存在於豐富且無限的軟域中。 模擬器具有非常詳細和複雜的環境。 軟體代理需要實時從多種行為中進行選擇。
例如,設計用於掃描顧客的線上偏好並向顧客展示有趣物品的軟堆可在真實環境和人工環境中工作。
環境屬性
如下所述,環境具有多重屬性 -
對於建設強化學習代理,將使用OpenAI Gym軟體包,該軟體包可使用以下命令來安裝 -
pip install gym
OpenAI健身房有各種各樣的環境可以用於各種目的。 其中很少是:Cartpole-v0,Hopper-v1和MsPacman-v0。 他們需要不同的引擎。 OpenAI Gym的詳細文件可以在 https://gym.openai.com/docs/ 找到。
以下程式碼顯示了cartpole-v0環境的Python程式碼範例 -
import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
env.render()
env.step(env.action_space.sample())
您可以用類似的方式構建其他環境。
對於構建強化學習代理,我們將使用如下所示的OpenAI Gym包 -
import gym
env = gym.make('CartPole-v0')
for _ in range(20):
observation = env.reset()
for i in range(100):
env.render()
print(observation)
action = env.action_space.sample()
observation, reward, done, info = env.step(action)
if done:
print("Episode finished after {} timesteps".format(i+1))
break
觀察小推車可以平衡。