哈希技術部落格


Slider

Scratch結合AI-使用Scratch學習Machine Learning

當孩子學習Scratch時,通常會製作遊戲、動畫等作品。但其實Scratch能做到的事情遠遠不只如此哦
今天,我們會展示如何使用Scratch,讓孩子認識人工智慧與學習machine learning

今天的作品將會使用
1. IBM Cloud的Watson人工智慧功能
2. Machine for kids建立辨識模型與訓練模型
3. Machine for kids特製的Scratch

淺談AI(人工智慧)與Machine Learning(機器學習)

電腦是一個由工程師告訴他指令,電腦就依序完成的機器。不會像我們人有「自我意識」可以思考。但讓電腦擁有思考能力,是工程師自古以來努力的目標。
而Machine Learning,就是讓電腦有機會「自己學習」的其中一種技術。

Machine Learning我們又可以把它分為四種實現的方法:

  • 監督式學習 (supervised Learning)
  • 非監督式學習 (unsupervised Learning)
  • 半監督式學習 (semi-supervised learning)
  • 強化學習 (reinforcement learning)

接下來,我們會透過「監督式學習」,達成machine learning。

什麼是「監督式學習」?

監督式學習顧名思義,會有監督者引導進行學習。就像我們人類小時候,也會透過「父母」擔任監督者的角色,告訴我們觀察到的物品是什麼,當我們擁有足夠多的物品記憶,再次談到這項物品的名稱,就可以聯想到這是什麼物品。

例如生活中,父母拿著蘋果告訴孩子這種物品叫做「蘋果」,當孩子看過了許多種蘋果以後,接下來孩子再看到跟蘋果很像的物品的時候,就會猜測看到的物品叫做「蘋果」

這樣的學習方式,由監督者把資料分群然後貼上標籤(例如從一堆水果中挑出幾個蘋果,貼上標籤說明這些是「蘋果」),再讓學習者根據有標籤的資料學習,就是監督式學習的概念哦

使用scratch製作可以AI辨識「手繪數字」是多少的作品

接下來,我們會透過「監督式學習」的技術,完成這個作品,因此我們需要:
1. 建立各種「數字的模樣」,並貼上標籤讓電腦學習
2. 透過IBM Cloud的watson人工智慧服務,進行辨識與訓練模型
3. 使用Machine for kids特製版的scratch,在scratch上手繪文字,電腦根據我們建立的模型猜測這樣的數字,應該是多少(符合哪一個標籤的資料)

步驟1:建立辨識模型

首先,我們需要開啟「Machine Learning for Kids」網站並註冊。註冊完成後,新增一個專案,專案名稱可以自行決定,辨識的內容選擇「image」

建立完成後,開啟剛剛建立的專案可以看見下面這三大選項。這些功能分別是「建立辨識的模型」、「訓練與測試模型」、「連接到scratch上使用」

首先,我們先選擇第一項功能「Train」,建立我們的數字辨識模型。
在辨識模型頁面中,先點擊「Add New Label」,接下來輸入「1」,然後手繪各種「數字1的樣子」。
重複這樣的動作,完成數字1~9

注意:每一個標籤內,至少要有10筆資料,不然資料不夠電腦會沒辦法學習哦

步驟2:訓練模型然後測試

接下來,我們需要使用IBM的人工智慧服務(watson),幫我們進行這些手繪圖片的辨識。因此需要開啟「IBM Cloud」網站,並註冊帳號然後登入。

登入後在資源清單中使用如下圖的這兩項服務。使用方案選擇「lite」,就可以在有限的資料查詢量下免費使用哦。

在IBM Cloud建立這兩項服務後,選擇「Visual Recognition」服務,把API的KEY複製起來

接下來,回到「Machine Learning for kids」,進入API管理畫面,把剛剛複製的密碼加入

接下來,就可以回到專案中,選擇第二項功能「Learn&Test」,點擊「Train Machine Learning Model」。就可以讓電腦根據我們剛剛建立的模型,學習各種數字應該長什麼模樣。
訓練電腦學習需要一段時間,根據不同狀態需要不同的時間。「Curren model status」顯示「Training」代表電腦正在學習中,出現「
Available 」代表學習完畢囉

電腦學習完畢,我們就可以來考考電腦,畫一個數字給電腦,看看電腦能不能辨識出來數字是多少(新畫的數字比較像是剛剛訓練模型中的哪一群資料,然後把標籤顯示出來)

例如我手畫了「2」這個數字,電腦告訴我他有81%的信心認為我們畫的數字是2

步驟3:與Scratch進行結合

點擊第三個功能「Make」,選擇結合「Scratch3」,然後點擊「open in scratch3」

開啟後就可以看見擁有特製擴充積木的Scratch囉。我們剛剛訓練的哪些標籤的資料,就可以在這裡看到那些標籤對應的積木。

接下來,我們希望可以在scratch的繪畫功能畫數字,然後透過我們建立的模型進行判斷。
所以,我們需要先新增一個「空白的角色」。如果使用有圖案的角色,就會連圖案也一起辨識,所以需要建立空白的角色

接下來,製作辨識的程式積木,然後把辨識的結果記下來,發出廣播給貓咪,讓貓咪說出辨識結果

空白角色的程式:

貓咪的程式:

完成之後,就可以在空白角色的造型頁面,手繪數字圖案然後按綠旗執行程式,貓咪就會把辨識的結果與有多少信心說出來哦

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *