Teachable Machine|讓每個人都可以輕鬆使用 AI

by KC
0 comment
Teachable Machine
Teachable Machine

Teachable Machine 是一個由 Google 所開發的線上機器學習平台,讓使用者可以在瀏覽器中建立自己的機器學習模型,而不需要具備任何機器學習相關的專業知識,並且能讓所有人輕鬆且快速的建立自己的機器學習模型。無論是教育工作者、學生、創作者或是對機器學習有興趣的初學者,都非常適合使用這項工具。你可以在不必撰寫任何程式碼的情況下,就能訓練電腦來辨識圖像音訊姿勢,這也是目前 Teachable Machine 平台所提供的模型類型。訓練完成後,你可以單純與其互動測試,也可以將模型用於自己的專案、網站、應用程式和其他地方。

本篇文章將藉由『教電腦辨識水果』機器學習活動,對所有初學者完整介紹 Teachable Machine 的基本功能。不僅教大家如何收集及建立資料集,並將自己所訓練獨一無二的模型匯出使用,並分享所訓練的模型作品。未來將會以此為基礎教大家做一些有趣的 AI 專案,藉此認識 AI 及機器學習。現在就讓我們一起來認識無程式碼機器學習工具 Teachable Machine 吧!

1. 機器學習

我們將在 Teachable Machine 平台上進行活動,此平台不用註冊就能使用機器學習功能。同時我們將根據機器學習基本三大步驟(收集資料→進行訓練→預測評估)來進行這個活動,而這三大步驟也將是未來初學者利用 Python 學習機器學習或深度學習時的重要基石。

  • 活動目的:教電腦辨識水果
  • 訓練項目:圖片辨識
  • 活動平台:Teachabel Machine
  • 使用環境:桌機及瀏覽器
機器學習三大步驟
機器學習三大步驟

首先我們會先連到 Teachabel Machine (https://teachablemachine.withgoogle.com/train)。您將會看到如下圖畫面,該畫面包含三種專案類型 – 圖片 (Image)、音訊 (Audio)和姿勢 (Pose)。

Google Teachable Machine
Google Teachable Machine

選擇圖片專案後,您將看到兩個選項,標準圖像模型 (Standard image model) 內嵌圖像模型 (Embedded image model),此活動將選擇標準圖像模型。若是想要應用於微控制器 (microcontrollers) 則可以考慮選擇後者,整個過程也將會是一樣的,只是模型不同而已。

Google Teachable Machine
Google Teachable Machine

點擊標準圖像模型後,您將被引導至下圖所示的畫面,我們將在這裡增加想要藉助模型進行分類的類別及資料建立。使用者可以有兩種資料收集的選擇方式 – (A)從攝影機鏡頭捕捉圖像資料或是(B)將收集到的資料上傳,本次活動將示範(B)上傳所收集到的資料集,而讀者若有興趣也可以另外試著用攝影機鏡頭來收集資料。

Google Teachable Machine
Google Teachable Machine

接下來我們將根據機器學習三大步驟(收集資料→進行訓練→預測評估)來進行這個活動。

Step 1:收集資料

我們將建立一個水果分類模型,使其可以辨識蘋果、香蕉、橘子三種混合在一起的圖片。我們將使用來自 Kaggle 的水果影資料集。您可以從 https://www.kaggle.com/datasets/mbkinaci/fruit-images-for-object-detection 下載此資料集。

kaggle資料集
kaggle資料集

下載後將其解壓縮,你將可以看到這些不一樣的水果圖片。

kaggle資料集
kaggle資料集

建立欲識別圖片的類別名稱(例如 apple、banana、orange、mix),並上傳對應的水果圖片,讓電腦學習將圖片特徵及類別名稱關聯起來,其實就是為這些圖片進行標註 (label),而這也就是所謂的「監督式學習 (Supervised Learning)」基本概念。

Teachable Machine - 收集資料
Teachable Machine – 收集資料

當將圖片資料與對應的類別名稱都建立好後,我們就算完成了機器學習的第一個步驟 – 收集資料

Teachable Machine - 收集資料
Teachable Machine – 收集資料

接下來我們就可以準備訓練電腦,讓它開始學習認識這些圖片。

Step 2:進行訓練

點擊中間「訓練模型」按鈕來開始進行第二個步驟 – 進行訓練Teachable Machine 將會根據背後的學習演算法進行訓練,由於Teachable Machine 平台著重的是無程式碼機器學習,所以對初學者來說可以先暫時忽略背後相關技術,待後續學習時可以再深入了解。

Teachable Machine - 進行訓練
Teachable Machine – 進行訓練

如果讀者對機器學習已有了基本認識,或是想要多一點了解,那可以試著點擊「訓練模型」按鈕下方的進階,你將可以看到中間有一些參數是可以調整,以及從右側圖形中深入了解機器學習過程中,每個訓練週期準確率及損失的狀況。而這些參數用法及相關細節我們將會在後續文章仔細說明。

Teachable Machine - 進行訓練
Teachable Machine – 進行訓練

Step 3:預測評估

模型訓練完後,我們可以進行第三個步驟 – 預測評估。讀者可以在 kaggle 所下載的資料集中看到 test 資料夾,這些照片都是機器在學習過程中所沒有看過的圖像,因此可以拿來測試看看效果。

Teachable Machine - 預測評估
Teachable Machine – 預測評估

我們試著用一些圖片進行測試,可以明顯發現效果都還不錯(如下圖)。如果發現測試效果不好的圖像時,可以試著理解看看原因與評估方式,思考看看可以用什麼方法解決,例如變更背景/環境等等而這也是下一篇文章中會介紹給大家的內容。

Teachable Machine - 預測評估
Teachable Machine – 預測評估

如果訓練後的模型覺得還不錯想要儲存下來以後使用,可以點擊下圖中的方式,將可下載 .tm 格式的專案檔案,或是將其儲存在 Google 雲端硬碟 ( .zip 格式)。除了存專案檔外,您還可以儲存各類別的所有樣本(典籍類別右上角)或是模型。

Teachable Machine - 下載專案
Teachable Machine – 下載專案

到目前為止,我們已經利用 Teachable Machine 平台,透過機器學習三大步驟(收集資料→進行訓練→預測評估),輕鬆進行了無程式碼機器學習專案,同時訓練出你第一個模型。下面小節將說明如何將訓練好的模型,分別應用在不同裝置或環境中進行創作與應用。

2. 匯出模型應用

首先,我們可以點擊上圖中預覽區上方的「匯出模型」,你將會進入到下方畫面。當匯出模型後,您可以有幾種選擇以及程式代碼片段,來幫助您將模型與應用程式做整合。Tensorflow.js 模型適用於每個 JavaScript 函式庫 (library) 或框架 (framework),而另外一些框架只支援某些特定模型(例如行動裝置),使用前可以先確認。我們點選 Tensorflow.js ,然後點擊上傳模型,系統將會將模型上傳到雲端並產生一個連結網址,我們再記得點擊複製連結

Teachable Machine - 匯出模型
Teachable Machine – 匯出模型

讀者若想要將自己獨一無二的模型試著用積木程式來創作時,可以考慮登入 AI Playground (https://ai.codinglab.tw/) 這個免費平台後,點擊上方 AIBLOX 的積木創作平台。

將會進入到熟悉的積木環境 (Scratch-based),然後點擊下方擴充功能。

使用 Teachable Machine 延伸功能建立 AI 積木
使用 Teachable Machine 延伸功能建立 AI 積木

進入到擴充功能後,你將會看到此平台提供非常多的 AI 擴充功能。我們先點擊 Teachable Machine – Images 擴充功能。

使用 Teachable Machine 延伸功能
使用 Teachable Machine 延伸功能

然後將剛剛複製的模型連結,在下圖中位置貼上按一下積木,系統將會產生你所訓練出的獨一無二 AI 積木(如下圖所示),此時你將可以利用這些積木進行許多創作,尤其是可以讓許多有 Scratch 基礎的學生可以進行 AI 創作。

匯入 Teachable Machine 模型並產生對應的 AI 積木
匯入 Teachable Machine 模型並產生對應的 AI 積木

3. 模型分享

你也可以直接將複製的連結分享給朋友(如下圖),只要在瀏覽器貼上網址即可使用所訓練的模型,是不是很方便也很有趣呢。

分享 Teachable Machine 模型
分享 Teachable Machine 模型

本邊文章主要是介紹 Teachable Machine 無程式碼機器學習平台,並完成一個簡單的教電腦辨識水果的小專案。過程中利用機器學習三大步驟(收集資料→進行訓練→預測評估)來完成自己的模型,並進而輸出創作集分享,後續文章會在此基礎上,學習更多觀念及有趣的專案。

如果你喜歡這篇文章歡迎訂閱、分享(請載名出處)追蹤,並持續關注最新文章。同時 FB 及 IG 也會不定期提供國內外教育與科技新知。

Related Posts

Leave a Comment

error: Content is protected !!