雖然工作還沒什麼應用 AI 的機會,在人工智慧當紅的年代,沒吃過豬肉也要看看豬走路,依據我的技能樹,玩微軟的人工智慧解決方案加減有主場優勢,就從 Azure AI 服務下手吧。

想寫程式整合微軟 AI 服務必須先有 Azure 訂閱帳戶。如果你有 Visual Studio Enterprise 訂閱,不要浪費每個月 150 USD 的 Azure 額度 (VS Professional 為 50 USD);若沒有 VS 訂閱,Azure 有前 30 天 200 USD 的免費試用額度,註冊要輸信用卡號(試刷 30 元但不請款),額度用完將自動停用,升級成「隨用隨用訂用帳戶」(參考下圖連結)並使用超量才會扣款(前 12 個月有每月 750 小時小型 VM 、硬碟空間等免費額度,有機會不花一毛錢跑上迷你服務),即使純粹想玩玩不打算付出,也不用怕有負擔。(謎之聲:原來是講渣男,我還以為是在學 AI 呢)

如果你是學生,有更好的福利,Azure 有個額度 100 USD 的學生版,免信用卡只需學校信箱即可註冊,每年有 100 USD 額度並可每年續訂,還在唸大學跟研究所的同學可以試試。申請資格說明

身為對 AI 一竅不通的門外漢,要怎麼開始呢?我找到還不錯的入門資源 - Microsoft Learn 網站的訓練課程

在課程瀏覽頁角色選「AI 工程師」、等級選「初級」,共找到 54 筆教學,大多淺顯易懂,中文翻譯品質還行,有影片、說明跟實際動手做的練習教材,很好上手:

稍微看了一下,Azure AI 服務主要涵蓋以下領域:

  • 機器學習
    是眾多 AI 系統的基礎,是一種建立電腦模型分析資料得出結論的方法
  • 異常偵測
    自動偵測系統中錯誤或異常活動,例如:由信用卡交易資料特徵偵測詐騙或盜用行為
  • 電腦視覺
    讓電腦扮演人的角色解讀影像或影片,也包含 OCR 影像轉文字
  • 自然語言處理
    讓電腦聽懂人話跟識字,並以同樣方式回應,Siri 跟 OK Google 是經典案例
  • 知識採礦
    從大量非結構化資料取出訊息並建立可搜尋的知識庫,可以整合自然語言、電腦視覺擴及傳統程式無法處理的領域

我挑了一個易上手且又趣的項目 - 電腦視覺

要讓 Azure AI 解讀照片,要先在 Azure 建立資源取得金鑰及端點 URL 供程式使用。

資源可選認知服務或電腦視覺,前者的 API Key 可同時用於視覺、語言、搜尋及語音服務,比較方便。

若第一次使用,建立時要新增一個資源群組放資源[1],隨便取個名字[2],等級只有 S0 一種可選[3],定價表在這裡,大約每千筆 1 到 1.5 USD,語音要求比較貴,每千筆 5.5 USD。

等一小段時間(約十來秒)部署完成,接著就可以到資源頁面取得金鑰:

點圖示可複製金鑰。金鑰請妥善保管,以免被其他人盜用,定期重新產生是不錯的主意。金鑰有兩支,呼叫 API 用任一支都可以,你可以變更第一支,第二支繼續用,管理上多點彈性。另外,金鑰要跟端點 URL 搭配,請一併複製備用:

微軟在 Github 有個 AI 範例專案,用 git clone https://github.com/MicrosoftLearning/AI-900-AIFundamentals ai-900 抓回來,其中有個 analyze-image.ps1,用 Visual Studio Code 開啟,把剛才複製的 API 金鑰跟端點 URL 填到程式一開始的變數宣告:

$key="1a2***ecc"
$endpoint="https://ai-cognitivesvc.cognitiveservices.azure.com/"

接下來就能開始測試了。執行 analyze-image.ps1,程式將呼叫 AI 服務讀取 https://raw.githubusercontent.com/MicrosoftLearning/AI-900-AIFundamentals/main/data/vision/store-camera-1.jpg 進行分析,判斷照片是一個女人拿手機給小孩看(較正確說法應是用手機幫小孩拍照,精準度便是機器學習要發揮的空間),識別出照片裡出現手機、兩個人跟房間,並與文字、人、女人、商店等關鍵字有關:

我另外試了兩張圖庫照片。打棒球的分析結果相當精準:

準備義大利麵被誤判成切 Pizza,但正在備餐這個方向至少沒錯:

測試心得:這個能輕易上手的照片識別 AI 有一定的正確度,但還不到神奇的地步。

從申請到完成測試的程序比想像簡單(謎之聲:幾乎都是撿現成,誰不會啊),下回有人問我會不會 AI,我可以回答「略懂」嗎?哈!

Tutorial of how to start your first computer vision lab with Azure AI service.


Comments

Be the first to post a comment

Post a comment