在本章中,您將詳細(xì)學(xué)習(xí)使用Python進(jìn)行AI強(qiáng)化學(xué)習(xí)的概念。
這種類型的學(xué)習(xí)被用來加強(qiáng)或加強(qiáng)基于評(píng)論者信息的網(wǎng)絡(luò)。 也就是說,在強(qiáng)化學(xué)習(xí)下訓(xùn)練的網(wǎng)絡(luò)從環(huán)境中獲得一些反饋。 但是,反饋是評(píng)價(jià)性的,并且不像監(jiān)督式學(xué)習(xí)的情況那樣具有啟發(fā)性。 基于這種反饋,網(wǎng)絡(luò)將對(duì)權(quán)重進(jìn)行調(diào)整以獲得更好的評(píng)論信息。
這個(gè)學(xué)習(xí)過程類似于監(jiān)督學(xué)習(xí),但我們可能擁有的信息非常少。 下圖給出了強(qiáng)化學(xué)習(xí)的框圖 -

環(huán)境和代理是人工智能強(qiáng)化學(xué)習(xí)的主要構(gòu)件。 本節(jié)詳細(xì)討論它們 -
媒介代理
代理媒介是能夠通過傳感器感知其環(huán)境并通過效應(yīng)器作用于該環(huán)境的任何事物。
代理術(shù)語
以下術(shù)語在AI中的強(qiáng)化學(xué)習(xí)中更頻繁地使用 -
環(huán)境
某些程序在局限于鍵盤輸入,數(shù)據(jù)庫(kù),計(jì)算機(jī)文件系統(tǒng)和屏幕上字符輸出的完全人造環(huán)境中運(yùn)行。
相比之下,一些軟件代理(如軟件機(jī)器人或軟驅(qū))存在于豐富且無限的軟域中。 模擬器具有非常詳細(xì)和復(fù)雜的環(huán)境。 軟件代理需要實(shí)時(shí)從多種行為中進(jìn)行選擇。
例如,設(shè)計(jì)用于掃描顧客的在線偏好并向顧客展示有趣物品的軟堆可在真實(shí)環(huán)境和人工環(huán)境中工作。
環(huán)境屬性
如下所述,環(huán)境具有多重屬性 -

對(duì)于建設(shè)強(qiáng)化學(xué)習(xí)代理,將使用OpenAI Gym軟件包,該軟件包可使用以下命令來安裝 -
pip install gym
OpenAI健身房有各種各樣的環(huán)境可以用于各種目的。 其中很少是:Cartpole-v0,Hopper-v1和MsPacman-v0。 他們需要不同的引擎。 OpenAI Gym的詳細(xì)文檔可以在 https://gym.openai.com/docs/ 找到。
以下代碼顯示了cartpole-v0環(huán)境的Python代碼示例 -
import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
env.render()
env.step(env.action_space.sample())
您可以用類似的方式構(gòu)建其他環(huán)境。
對(duì)于構(gòu)建強(qiáng)化學(xué)習(xí)代理,我們將使用如下所示的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
觀察小推車可以平衡。
