人工智慧(AI)和機器學習是非正式使用術語,表示機器模仿人類進行知覺(perceiving)、推理(reasoning)和解決問題(problem-solving)等認知方面能力。籍由與人類似的「思考」能力,人工智慧在許多不同領域承擔著多種任務。它的影像識別功能可?明進行醫療診斷和安全監視活動,語音辨識、翻譯、新藥出現和開發以及財務欺詐檢測等也都屬於AI範疇,而且這些僅是不斷擴大應用領域中的一小部分。隨著物聯網(IoT)呈現指數級增長,人工智慧將在包括自動駕駛汽車、外科手術機器人和軍用無人機等在內的IoT設備運作中起關鍵作用。
受到人腦啟發,深度學習是一種機器學習,它將影像、語音或文本轉換為數目,然後透過多層面數學操作來分析這些數目(因此稱為「深度」)。在此過程中,分析層形成了概念層次結構或「思維」系統,可以分解輸入,並識別潛在趨勢或模式。深度學習在許多方面也與大腦背道而馳。例如大腦具有不同類型神經元和功能區,而機器學習目前只專注於以最高精確度對訊息進行歸類。
學習過程
像人類一樣,人工智慧在完成一項任務之前首先需要學習。人腦從外部線索中學習,以建立適用於解決之前尚未遇到過問題之思維系統。在機器學習方面,它是一種演算法,是一個解決問題過程,或是一組規則,從資料中學習然後生成模型(或一組參數,如權重和偏差),這樣可使將來問題的解決既高效又盡可能準確。本文將討論如何訓練機器進行「自學」。
許多類型機器學習可歸為六大類:
▓ 監督式學習
▓ 遷移式學習(transfer)
▓ 無監督式學習
▓ 半監督式學習
▓ 整體式學習(ensemble)
▓ 強化學習(reinforcement)
監督式學習
如果學生在監督下學習,則老師需要確保學生學習正確且推理合理。類似,在監督式學習中,一種演算法學習一整套帶有標記答案的資料,同時接收有關其解決方案準確性的連續回饋。監督式學習對於歸類或估計變數之間關係(回歸,regression)的任務非常有用。其應用包括識別金融系統中可疑活動,以及面部、物體、語音、手勢或筆跡識別等方面。
神經網路:每個神經網路包括一個輸入層,一個或幾個中間(或「隱藏」)層和一個輸出層組成。神經網路是監督式學習的一個示例。影像、聲音或文本等信號在輸入層被轉換為數目,然後在中間層和輸出層進行處理。
卷積(convolutional)和復現(recurrent)是最常見的神經網路。卷積神經網路(CNN)從輸入信號(影像或語音檔)中提取特徵,同時保留這些特徵之間的空間關係以供進一步分析。CNN在電腦視覺工作(例如面部和語音辨識)中特別有效,非常適合於操作自動駕駛汽車。CNN影像識別能力在此對於識別附近其他車輛、行人或道路障礙物,以及提醒自動駕駛車輛前方任何潛在危險至關重要。
在復現神經網路(RNN)中,處理層的輸出將回饋到其所在的同一層,但這一次是作為校正輸入。如果預測錯誤,則系統會在下次自我學習並改進預測。這種類型神經網路對於文本到語音轉換非常有效。RNN主要用於長時間,內容豐富的輸入,例如包含具有雙重含義單詞的句子(「crane」可能表示鳥類或建築設備,具體取決於上下文),或者包含不同單詞但卻發音相同的音訊檔(如「their」和「there」)。
最後,大規模和複雜任務可能需要模組化神經網路(MNN),它由以獨立方式執行子任務的不同網路組成。透過獨立運作,這些網路不會互相妨礙,從而提高了整體運算速度。
遷移式學習
監督式學習需要完全標記的大型資料集。但是,為每個特定應用組合大型完整資料集是一項挑戰,而且通常不切實際。為應對完整資料集短缺問題,遷移式學習透過重用已經透過資料集訓練模型(預訓練模型)輸入層和中間層來達到該目的,因此它只需要為新任務重新訓練最後一層。預訓練模型參數將在開始時使用,然後在訓練過程中進行調整以實現最高準確性。此外,透過避免從頭開始訓練所有層,遷移學習將顯著縮短每種特定應用的總體訓練時間。
有很多種預訓練模型,其中最流行的包括用於物件實例分割的Mask R-CNN資料集,用於物件檢測的YOLOv2,用於面部識別的VGG-Face模型,用於透過番茄成熟度而進行分類的Keras VGG-16模型,以及用於汽車分類的Stanford Car資料集等。雖然轉移式學習解決了缺乏完整而獨特資料集的問題,但它也具有某些缺點。這種學習必須緩慢進行,以避免失真,並且受預先訓練資料集中預先存在參數限制。
無監督式學習
在無監督式學習中,演算法嘗試從一組未標記的資料中提取特徵,這些資料可以是具有各種屬性的示例或信號,目的是在沒有任何明確指令狀況下找到基礎模式。因此,無監督式學習在透過分組(聚類)確定要素或屬性之間關聯的任務中非常有用。例如瞭解關聯可以?明根據客戶以前購買習慣來預測客戶可能還會喜歡什麼產品。無監督式學習可以根據一個人提出的問題以不同方式組織資料。因此,在無監督式學習中,提出正確問題,或以正確方式提出問題,這些都比在其他類型學習更為重要。
半監督式學習
在半監督式學習中,演算法使用部分標記的資料集進行訓練。在此以CT掃描或MRI影像中腫瘤識別應用為例,由訓練有素的放射科醫師標記一小部分腫瘤,將大大提高演算法在無人監督下的準確性,從而改善診斷指標。
整體式學習
與透過單獨使用任何一種演算法可實現的預測相比,整體式學習演算法結合了多種演算法以實現更準確預測。這種方法的一個著名應用發生在2006年Netflix大獎上,當時向競爭團隊提供了一半用戶對大量電影進行評級訊息的相關資料,目標是要弄清楚另一半用戶如何評價同樣的電影。獲勝團隊使用整體式學習方法擊敗了Netflix內部演算法。
強化學習
強化學習不斷分析其環境中線索,以運算如何達到最佳下一步。強化學習主要應用大多是控制問題或遊戲,如國際象棋或圍棋。例如,在1990年代後期,IBM Deep Blue利用強化學習技術與世界象棋冠軍加里·卡斯帕羅夫(Garry Kasparov)一決高下。然後在2018年,AlphaGo使用相同的方法擊敗了該遊戲的頂級玩家之一Lee Sedol。
雲端與邊緣機器學習
傳統上,用於工業應用的機器學習總是在物理資料中心或虛擬雲端進行,並需要足夠高處理能力和電力支援。但是,伴隨物聯網出現,這種模式正面臨挑戰。遠離中央雲端(因此位於「邊緣」)的物聯網設備不斷收集大量資料。並將資料傳輸到中央雲端以進行學習,然後重新部署到邊緣。這不僅昂貴,而且非常耗時。相關時滯將使要求即時決策(或推斷)的操作(例如自動駕駛汽車或軍用無人機)無法進行。同樣,資料傳輸可能會威脅到資料安全性和完整性。
解決此問題的一種方法是讓機器學習運作在邊緣。但是,該模型也有缺點。例如,物聯網設備通常由小電池供電,並安裝在難以補給(有時甚至不可能)的位置,因此能源供應是一個問題。另外,物聯網設備提供的處理能力可能不足以進行機器學習。因此,如果要真正在邊緣進行機器學習,就需要對硬體進行改進。本系列的第2部分將討論工業以及IoT邊緣機器學習的硬體要求。
(本文作者Mark Patrick任職於貿澤電子)