概念概觀

已完成

機器學習會貫穿行動和 Web 應用程式的開發作業。 若要建立可隨時間演化的新型互動式應用程式,最好先了解如何建置及使用機器學習模型。 在本課程模組中,您將了解如何使用 Vue.js 來建立 Web 應用程式。 在此應用程式中,您將內嵌使用自訂視覺 AI 服務所定型的機器學習模型。

什麼是 Vue.js?

Vue (發音為 /vjuː/,唸起來像 view) 是用於建置使用者介面的漸進式架構。 其設計目的是要能夠以累加方式獲得採用。 Vue 也可以推動複雜的單頁應用程式。 如需 Vue 的詳細資訊,請瀏覽專案的文件。您不需要使用 Vue.js 就能使用機器學習模型來建立應用程式,但此範例應用程式會示範該特定架構的方法。

什麼是機器學習模型?

機器學習 (ML) 是人工智慧的子集,內容是在研究演算法和統計模型。 電腦系統可使用這些模型來執行特定工作,而不需要使用明確的指示,其仰賴的反而是模式和推斷。 機器學習演算法可應用在各個方面,例如電子郵件篩選和電腦視覺。 如果是難以開發傳統演算法來完成給定工作的情況,機器學習會有所幫助。

為何要建立包含 ML 模型的 Web 應用程式?

在本課程模組中,您將建立一個在本機裝載機器學習模型的 Web 應用程式。 此應用程式會使用此模型來分析影像。 您也會設定一項服務,以在每當您將新程式碼推送至 GitHub 上的 Web 應用程式程式碼基底時,便針對全新的內容執行「持續整合/持續傳遞」(CI/CD)。 您常會在生產應用程式中看到此程序,當有全新的模型可供使用時,此程序便會重新整理。

在業務環境中,您可能需要確認系統能正確識別各種影像 (例如,確認螺絲是否對齊)。 在此範例應用程式中,我們會建置更為簡單 (且更為有趣) 的方法,以分辨難以辨認的影像。 受到 Karen Zack 所發表作品的啟發 (其在 Instagram 和 Twitter 上的名稱是 @teenybiscuit),我們將使用大麥町和巧克力碎片冰淇淋的影像,在自訂視覺 AI 上定型模型。 然後,我們會使用 Karen 所創作的拼貼影像來測試模型。

Barn owl or apple?

Karen Zack 的一些難辨認拼貼影像範例。

哪些架構適合此專案?

當您使用機器學習技術來建置 Web 應用程式時,您有幾個選擇可決定該如何使用定型程序所產生的模型。 您可以在雲端外部裝載模型。 接著,您可以利用您想要用來執行推斷的資料,運用 API 來查詢此模型。 或者,您也可以將模型本身裝載於 Web 應用程式的程式碼基底內。

執行後者的優點是,您的應用程式會離線執行推斷,不會對連線到網際網路的服務發出 API 呼叫。 相反地,應用程式會使用 Web 應用程式的建置程序中所包含的模型。 使用本機模型的缺點是,當您藉由重新定型來編輯模型時,就必須重建 Web 應用程式才能重新整理模型。 在本課程模組中,我們會為此 Web 應用程式建立架構,以便讓 GitHub Actions 可以在開發人員將程式碼推送至應用程式的存放庫時重建應用程式。