強韌學習Q-learning 優化作法

甘果-avatar-img
發佈於程式
更新 發佈閱讀 8 分鐘

在上一篇的強韌學習中,可以看到行為 (action) 的主要還是依據 Q-Table 的最大數值來決定;而 Q-Table 中的數值是依照過去的行為經驗累積而來;在經驗累積的過程中,每次單純累計回饋 (reward) 的數值;所以,可以觀察到最後形成的 Q-Table 各個數值內容會逐漸地累計而出現離散而極端的差異;這樣的現象,會使得愈後面訓練的回饋數值相較於 Q-Table 的數值,影響力愈來愈小;因此,在建立 Q-Table 時,要儘量將不同時間加入的回饋值對 Q-Table 有一定的影響。

  • 優化強韌學習參數

作法上可以除了回饋 (reword) 值以外,再將 Q-Table 中的最大值,作為加權相加;接下來,在建立 Q-Table 時,將以上的加權相加值打折後加入 Q-Table,作為數值平滑過濾,來減少 Q-Table 極端值產生,例如:

maxValue=1.0+0.8*np.max(qtable[observation,:])
qtable[observation,action]+=0.2*(maxValue-qtable[observation,action])

所以完整的訓練程式可以寫成:

import numpy as np
qtable=np.zeros((16,4))
#--------------
np.random.seed(13)
epochs=2000
for epoch in range(epochs):
state=env.reset()
path=[]
terminated=False
while (not terminated):
action=np.random.randint(4)
path.append(action)
observation, reward, terminated,_,_=env.step(action)
if(reward>0):
env.reset()
for j in range(len(path)):
action=path[j]
observation,_,_,_,_=env.step(action)
#----------------------
maxValue=1.0+0.8*np.max(qtable[observation,:])
qtable[observation,action]+=0.2*(maxValue-qtable[observation,action])
#----------------------
# print('successful path:',path)
print('table:',qtable)
#-------
np.save('qtable',qtable)

再用測試程式執行

qtable=np.load('qtable.npy')

np.random.seed(13)
epochs=400
for epoch in range(epochs):
env.reset()
observation=0
path=[]
terminated=False
while (not terminated):
dice=np.random.randint(6)
if(dice>2):
action=np.argmax(qtable[observation,:])
else:
action=np.random.randint(4)
path.append(action)
observation, reward, terminated,_,_=env.step(action)
if(reward>0):
print('successful path:',path)
vocus|新世代的創作平台

我們可以發現,增加了訓練的學習能力之後,成功完成的次數又再增加;由原來 400 次的嘗試成功 8 次,增加到 12 次;約 50%的成功。

  • 自我學習

另一方面,如果可同時進行訓練及測試程式,每次的測試結果都可以不斷地進行學習,可以更進一步增加強韌學習的效率;因此可以將程式再更新如下:

import numpy as np
qtable=np.zeros((16,4))
#--------------
np.random.seed(13)
epochs=400
for epoch in range(epochs):
env.reset()
observation=0
path=[]
terminated=False
inDB=False
while (not terminated):
dice=np.random.randint(6)
if not inDB:
dice=0
if(dice>2):
action=np.argmax(qtable[observation,:])
else:
action=np.random.randint(4)
path.append(action)
observation, reward, terminated,_,_=env.step(action)

if(reward>0):
inDB=True
env.reset()
for j in range(len(path)):
action=path[j]
observation,_,_,_,_=env.step(action)
#----------------------
maxValue=1.0+0.8*np.max(qtable[observation,:])
qtable[observation,action]+=0.2*(maxValue-qtable[observation,action])
#----------------------
print('successful path:',path)

print('table:',qtable)
vocus|新世代的創作平台

透過同步學習及測試的作法,既使只有 400 次的嘗試,也會由原來的僅有一次成功的結果,增加到 8 次成功結果;更重要的是,可以從原來累計學習成功的結果,加入成為學習的輸入,也就是「自我學習」的效果。


留言
avatar-img
甘果的沙龍
12會員
41內容數
作者從國內主要的半導體公司退休,重回校園教學研究;開始第三人生。分享退休投資規劃、科技產業經驗以及校園學習點滴。
甘果的沙龍的其他內容
2025/04/26
本文章說明如何在已安裝 Python 3.9 的 iMac mini 上設定 Python 虛擬環境,以及如何使用 venv 工具、安裝常用函式庫(如 numpy、pyTorch 等),並設定 Jupyter 連動不同 Python 虛擬環境。
Thumbnail
2025/04/26
本文章說明如何在已安裝 Python 3.9 的 iMac mini 上設定 Python 虛擬環境,以及如何使用 venv 工具、安裝常用函式庫(如 numpy、pyTorch 等),並設定 Jupyter 連動不同 Python 虛擬環境。
Thumbnail
2025/04/19
這篇文章說明如何在iMac mini M4上設定Jupyter Notebook作為遠端程式設計伺服器,方便使用iPad進行程式開發。文章涵蓋Jupyter Notebook的安裝、設定遠端連線以及建立可執行的shell script,讓伺服器能持續運作。
Thumbnail
2025/04/19
這篇文章說明如何在iMac mini M4上設定Jupyter Notebook作為遠端程式設計伺服器,方便使用iPad進行程式開發。文章涵蓋Jupyter Notebook的安裝、設定遠端連線以及建立可執行的shell script,讓伺服器能持續運作。
Thumbnail
2025/04/10
本文介紹如何將蘋果iMac mini作為CP值最高的人工智慧程式設計伺服器,搭配 iPad 進行遠端程式設計工作。文章說明瞭啟動遠端服務、連接SSH伺服器、使用外接硬碟及連接FTP伺服器等步驟,並推薦了相關應用 app。
Thumbnail
2025/04/10
本文介紹如何將蘋果iMac mini作為CP值最高的人工智慧程式設計伺服器,搭配 iPad 進行遠端程式設計工作。文章說明瞭啟動遠端服務、連接SSH伺服器、使用外接硬碟及連接FTP伺服器等步驟,並推薦了相關應用 app。
Thumbnail
看更多
你可能也想看
Thumbnail
在上一篇的強韌學習中,可以看到行為 (action) 的主要還是依據 Q-Table 的最大數值來決定;而 Q-Table 中的數值是依照過去的行為經驗累積而來;在經驗累積的過程中,每次單純累計回饋 (reward) 的數值;所以,可以觀察到最後形成的 Q-Table 各個數值內容會逐漸地累計而出現
Thumbnail
在上一篇的強韌學習中,可以看到行為 (action) 的主要還是依據 Q-Table 的最大數值來決定;而 Q-Table 中的數值是依照過去的行為經驗累積而來;在經驗累積的過程中,每次單純累計回饋 (reward) 的數值;所以,可以觀察到最後形成的 Q-Table 各個數值內容會逐漸地累計而出現
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
“以底層邏輯為節點,種進大腦;以思考框架為算法模型,在架上快速迭代。”   好書分享:峰值體驗2 作者:汪志謙、朱海蓓 天下雜誌出版   一個知識框架可以持續進化,然後繼續升級,大概就是我在相對短時間內看完峰值體驗1與2的最大驚訝,其中當然包含著很多的資訊含量,但此同時作者也持續的累
Thumbnail
“以底層邏輯為節點,種進大腦;以思考框架為算法模型,在架上快速迭代。”   好書分享:峰值體驗2 作者:汪志謙、朱海蓓 天下雜誌出版   一個知識框架可以持續進化,然後繼續升級,大概就是我在相對短時間內看完峰值體驗1與2的最大驚訝,其中當然包含著很多的資訊含量,但此同時作者也持續的累
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
在資料科學中常可以聽到「權重」,可藉由專家經驗和機器學習取得「權重」,但他們差別是什麼?在透過演算法決定權重的想法相對盛行的現今,又如何整合兩種途徑的結果?
Thumbnail
在資料科學中常可以聽到「權重」,可藉由專家經驗和機器學習取得「權重」,但他們差別是什麼?在透過演算法決定權重的想法相對盛行的現今,又如何整合兩種途徑的結果?
Thumbnail
Reinforcement Learning (強化學習) 的理論非常有趣,可能是因為其中許多方法,與人類的學習歷程極為相似,如試錯,獎懲,改進策略,持續優化等等。現在準備來爬這座山了,我把學習階段大致分成三個小山峰,依序為 Q-Learning --> DQN --> Actor-Critic,
Thumbnail
Reinforcement Learning (強化學習) 的理論非常有趣,可能是因為其中許多方法,與人類的學習歷程極為相似,如試錯,獎懲,改進策略,持續優化等等。現在準備來爬這座山了,我把學習階段大致分成三個小山峰,依序為 Q-Learning --> DQN --> Actor-Critic,
Thumbnail
純強化式學習的概念與應用 純強化式學習(Pure Reinforcement Learning, RL)是一種機器學習方法,智能體(agent)通過與環境的互動來學習行為策略,目標是最大化累積獎勵。這種學習方式不依賴於標記數據,而是通過試錯過程來獲得經驗,從而改進其決策能力。 基本原理 在
Thumbnail
純強化式學習的概念與應用 純強化式學習(Pure Reinforcement Learning, RL)是一種機器學習方法,智能體(agent)通過與環境的互動來學習行為策略,目標是最大化累積獎勵。這種學習方式不依賴於標記數據,而是通過試錯過程來獲得經驗,從而改進其決策能力。 基本原理 在
Thumbnail
高手的學習方法 第十九章 行為設計學,創造推力 引導客戶的行為,例如小便斗的蒼蠅 這個人必須自己想做這件事— 要有意願 必須能做到— 這件事越簡單越好 你得提醒他 獎勵隨機化,更能讓人上癮   第二十章 喜歡=熟悉+意外  覺得美的東西,是多看效應:看的次數多了就喜歡了 在意
Thumbnail
高手的學習方法 第十九章 行為設計學,創造推力 引導客戶的行為,例如小便斗的蒼蠅 這個人必須自己想做這件事— 要有意願 必須能做到— 這件事越簡單越好 你得提醒他 獎勵隨機化,更能讓人上癮   第二十章 喜歡=熟悉+意外  覺得美的東西,是多看效應:看的次數多了就喜歡了 在意
Thumbnail
本書提供一套高效學習的方法論,幫助你在生活與職場提升自我價值 你可以學到以下幾個要點: 1. 牢記學過的東西 2. 加深理解的方法 3. 打造完整的知識體系 4.如何實踐在生活中
Thumbnail
本書提供一套高效學習的方法論,幫助你在生活與職場提升自我價值 你可以學到以下幾個要點: 1. 牢記學過的東西 2. 加深理解的方法 3. 打造完整的知識體系 4.如何實踐在生活中
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
在AI浪潮下,009819 中信美國數據中心及電力ETF 直接卡位算力與電力雙主軸,等於掌握AI最核心基建。2008從 Apple Inc. 與 iPhone 帶動供應鏈,到如今AI崛起,主線已由應用端轉向底層。AI發展離不開算力與電力支撐,009819的價值,在於押中「沒有它不行」的核心資產。
Thumbnail
在AI浪潮下,009819 中信美國數據中心及電力ETF 直接卡位算力與電力雙主軸,等於掌握AI最核心基建。2008從 Apple Inc. 與 iPhone 帶動供應鏈,到如今AI崛起,主線已由應用端轉向底層。AI發展離不開算力與電力支撐,009819的價值,在於押中「沒有它不行」的核心資產。
Thumbnail
為什麼讀了書卻記不住?楊大輝在《深度學習的技術》中拆解,將學習分為「記、懂、網、拓、活」五大維度。透過「主動回想」打破熟悉陷阱,利用「費曼學習法」檢驗理解力,並以 80/20 法則平衡專業與創新。本書結合認知科學與實戰技術,教你將零散知識拼湊成強大系統,是提升學習效率、實踐終身成長的必讀指南。
Thumbnail
為什麼讀了書卻記不住?楊大輝在《深度學習的技術》中拆解,將學習分為「記、懂、網、拓、活」五大維度。透過「主動回想」打破熟悉陷阱,利用「費曼學習法」檢驗理解力,並以 80/20 法則平衡專業與創新。本書結合認知科學與實戰技術,教你將零散知識拼湊成強大系統,是提升學習效率、實踐終身成長的必讀指南。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News