檔案建立日期: 2019/12/23
最後修訂日期: None
相關軟體資訊:
Win 10 | Python 3.7.2 | gym 0.15.4 |
Windows 10 | Python 3.7.2 | gym 0.15.4 |
參考檔案: AI with Python Tutorial
說明: 所有內容歡迎引用, 只需註明來源及作者, 本文內容如有錯誤或用詞不當, 敬請指正.
標題: 人工智慧 (12) 強化學習
強化學習 ( Reinforcement Learning )
根據評論者資訊來增強或加強網路。在監督學習的情況下,反饋是評估性的,而不是指導性的。環境和代理是AI中強化學習的主要構建塊。
- 代理 ( Agent ) - 透過感測器感知其環境並透過效應器在該環境上起作用的任何事物。
- 代理的績效評估:這是確定代理成功與否的標準。
- 代理的行為:這是代理在任何給定的感知序列之後執行的動作。
- 感知:這是代理在給定例項上的感知輸入。
- 感知順序:這是代理迄今為止所感知的所有歷史。
- 代理功能:這是從感知序列到動作的對映。
- 環境 (Environment)
- 離散/連續的 - 明確定義的數量有限,則該環境是離散的,否則為連續的。
- 可觀察/部分可觀察 - 可在每個時間點確定環境的完整狀態,則可以觀察;否則只能部分可觀察。
- 靜態/動態 - 在操作時環境沒有變化,則它是靜態的;否則它是動態的。
- 單個/多個代理程式 - 可能包含與該代理程式型別相同或不同的其他代理程式。
- 可訪問/不可訪問:如果可以訪問環境的完整狀態,則為可訪問;否則為不可訪問。
- 確定性/非確定性:如果下一個狀態完全由當前狀態和代理的行為確定,則為確定性的;否則,它是非確定性的。
- 情節/非情節:後續情節是不否取決於先前情節中的動作。
例1. 建立一個環境
# -----------------------------------------------------------------------------
# Constructing an Environment
# OpenAI gym - Cartpole-v0
# ------------------------------------------------------------------------------
import gym
env = gym.make('CartPole-v0') # 建立一個環境的例項
env.reset() # 重置環境狀態並返回初始觀察結果
for _ in range(1000):
env.render() # 環境渲染
env.step( # 執行環境動態的一個時間步
env.action_space.sample()) # 隨機數取樣動作對應的空間物件
例2. 構建學習代理
# -----------------------------------------------------------------------------
# Constructing a learning agent
# ------------------------------------------------------------------------------
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
本作品採用《CC 協議》,轉載必須註明作者和本文連結