iT邦幫忙

2022 iThome 鐵人賽

DAY 20
0
Software Development

大閘蟹料理指南(rust)系列 第 20

[D20] Gobblet對戰AI 知識補全

  • 分享至 

  • xImage
  •  

術語炸彈Warning:

This article contains a lot of technical terms. If you are not familiar with them, please feel free to give up

寫在這邊是為了幫助對於machine learning 毫無概念的人一個想像.
此篇文章適合的人群是那些對軟體有概念但對於ML毫不理解的人, 建立一個最基礎的想像.

AI? ML?

老實說AI更像是一則marketing術語而不是科技產物. 這邊該略的講一下什麼是Machine learning.
分類的方法有千千萬萬種, 筆者用的是Andrew Ng的方法, 他把ML分成三個大類:

  • Supervised learning(監督式學習)
    所有資料都被「標註」(label),告訴機器相對應的值,以提供機器學習在輸出時判斷誤差使用。
  • Unsupervised learning(非監督式學習)
    所有資料都沒有被標註,機器會自己去找出資料的特徵,並且將資料分群。
  • Reinforcement learning(強化式學習)
    機器會根據環境的回饋來學習,並且不斷的嘗試,直到找到最佳的策略。 之後會簡稱RL

網路上詳細的解說很多, 這邊就不多說了. 一般開發對戰用的AI, 會用到Reinforcement learning.

Reinforcement Learning 超簡略介紹

坦白說, RL是相較於前兩個比較不成熟的領域. 也許有的人會覺得機器人領域的AI已經很成熟. 但就連領頭羊Boston Dynamic都不是用RL去實現機器人.

為了讓讀者能更清楚的知道為什麼是RL這邊舉一個例子.

你的眼前有兩台拉霸機, 中獎機率不一樣. 每次玩都要投入 1$. 如果贏了就會有 N$ 的獎金. 你要怎麼玩才能贏最多的錢?

和監督式學習不ㄧ樣. 你並沒有已知標記過的樣本. 這跟圖像辨識是貓還是狗不一樣. 你並不知道正確解答, 甚至用來學習的資料都不存在.
也和非監督式學習不一樣. 目標並不是找出某個特徵. 或許你會說如果找到某個概率值你就可以開始做正確的策略拉霸. 但是RL的醍醐味包含了產生測試資料的過程.

Alpha zero

Alpha zero in rust


上一篇
[D19] 可以在Rust裡搞 AI 嗎?
下一篇
[D21]AWS Lamdba
系列文
大閘蟹料理指南(rust)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言