Azure Machine Learning 中的深度學習與機器學習
本文會說明深度學習與機器學習,以及兩者如何融入到更廣泛的人工智慧類別中。 了解您可以在 Azure Machine Learning 上建置的深度學習解決方案,例如詐騙偵測、語音和臉部辨識、情感分析,以及時間序列預測。
如需有關如何為解決方案選擇演算法的指導,請參閱機器學習演算法速查表。
Azure Machine Learning 中的基礎模型是預先定型的深度學習模型,可針對特定使用案例進行微調。 深入了解 Azure Machine Learning 中的基礎模型 (預覽) 和如何在 Azure Machine Learning 中使用基礎模型 (預覽)。
深度學習、機器學習和人工智慧
請思考下列定義以了解深度學習、機器學習與AI:
深度學習是以人工神經網路為基礎的機器學習子集。 此學習程序有很大的深度,因為人工神經網路結構包含了多個輸入層、輸出層和隱藏層。 每一層都包含轉換單位,可將輸入資料轉換成資訊,以供下一層用於特定預測工作。 由於有此結構,機器可以透過自己的資料處理進行學習。
機器學習是人工智慧的子集,會使用各種技術 (例如深度學習) 讓機器能夠透過經驗來改善工作。 此學習程序會以下列步驟為基礎:
- 將資料送入演算法。 (在此步驟中,您可以向模型提供其他資訊,例如,藉由執行特徵擷取來提供)。
- 使用此資料來定型模型。
- 測試和部署模型。
- 取用所部署的模型來自動進行預測工作。 (換句話說,就是呼叫並使用所部署的模型來接收模型所傳回的預測)。
人工智慧 (AI) 是一種可讓電腦模仿人類智慧的技術。 其中包括機器學習。
生成式 AI是人工智慧的子集,其會使用技術 (例如深度學習) 來產生新內容。 例如,您可以使用生成式 AI 來建立影像、文字或音訊。 這些模型會利用大量預先定型的知識來產生此內容。
藉由使用機器學習和深度學習技術,您可以建置電腦系統和應用程式,來進行通常會與人類智慧相關聯的工作。 這些工作包括影像辨識、語音辨識和語言翻譯。
深度學習技術與機器學習技術
現在您已大致了解機器學習與深度學習了,接著讓我們比較一下這兩種技術。 在機器學習中,我們需要讓演算法知道如何藉由取用更多資訊 (例如,藉由執行特徵擷取) 來進行精確的預測。 在深度學習中,由於有人工神經網路結構,演算法可以學習如何透過自己的資料處理來進行精確的預測。
下表會更詳細地比較這兩種技術:
所有機器學習 | 僅深度學習 | |
---|---|---|
資料點的數目 | 可以使用少量資料來進行預測。 | 需要使用大量定型資料才能進行預測。 |
硬體相依性 | 可以在低階機器上運作。 不需要大量計算能力。 | 依賴高階機器。 原本就會執行大量的矩陣乘法運算。 GPU 可以有效率地將這些作業最佳化。 |
特徵化程序 | 需要由使用者正確地識別並建立特徵。 | 透過資料學習高階特徵,並自行建立新特徵。 |
學習方法 | 將學習程序分割成許多較小的步驟。 然後,合併每個步驟的結果來形成單一輸出。 | 藉由以端對端方式解決問題,來逐步完成學習程序。 |
執行時間 | 花相對較少的時間來定型,範圍從幾秒鐘到幾小時不等。 | 通常會花很長的時間來定型,因為深度學習演算法涉及眾多階層。 |
輸出 | 輸出通常是數值,例如分數或分類。 | 輸出可以有多種格式,例如文字、分數或聲音。 |
什麼是傳輸學習?
為深度學習模型定型通常需要大量的定型資料、高階計算資源 (GPU、TPU) 和較長的定型時間。 如果您無法獲得上述任何一項資源,則可以使用稱為傳輸學習的技術,快速完成定型程序。
傳輸學習是一種技術,可將從解決一個問題所獲得的知識運用到不同但相關的問題。
由於具有神經網路結構,第一組階層通常會包含較低層級的特徵,最後一組階層則會包含更接近所涉領域的較高層級特徵。 藉由重新訂定最後一組階層的用途,使其能夠應用在新領域或問題,便可大幅減少為新模型定型所需時間、資料和計算資源的數量。 例如,如果您已經有能夠辨識車輛的模型,則可以使用傳輸學習來重新訂定該模型的用途,使其也能夠辨識貨車、摩托車和其他種類的車輛。
了解如何使用 Azure Machine Learning 中的開放原始碼架構,運用傳輸學習來進行影像分類:使用傳輸學習來為深度學習 PyTorch 模型定型。
深度學習使用案例
由於有人工神經網路結構,深度學習善於識別非結構化資料 (例如影像、聲音、影片和文字) 中的模式。 因此,深度學習很快就讓許多產業發生轉變,範圍包括醫療保健、能源、財務和運輸。 這些產業現在都在重新思考傳統的商務程序。
後面幾個段落會說明一些最常見的深度學習應用。 在 Azure Machine Learning 中,您可以使用從開放原始碼架構建置的模型,或使用所提供的工具來建置模型。
具名實體辨識
具名實體辨識是一種深度學習方法,此方法會取得一段文字來作為輸入,並將其轉換為預先指定的類別。 這個新資訊可能是郵遞區號、日期或產品識別碼。 然後,您可以將這個資訊儲存在結構化結構描述中,以建置地址清單或作為身分識別驗證引擎的基準。
物件偵測
深度學習已運用到許多物件偵測使用案例。 物件偵測是用來識別影像中的物件 (例如汽車或人員),並為每個具有週框方塊的物件提供特定位置。
物件偵測已用於遊戲、零售、觀光和自駕車等產業中。
產生影像標題
和影像辨識一樣,在為影像產生標題的作業中,系統必須為給定的影像產生標題以描述影像的內容。 當您可以偵測相片中的物件並為物件加上標籤時,下一步就是將這些標籤轉換成帶有描述性的句子。
為影像產生標題的應用程式通常會使用卷積神經網路來識別影像中的物件,然後使用週期性神經網路將標籤轉換成一致的句子。
機器翻譯
機器翻譯會接受某種語言的單字或句子,並自動將其翻譯為另一種語言。 機器翻譯的技術已出現很久,但深度學習在兩個特定領域實現了令人印象深刻的結果:自動翻譯文字 (以及將語音翻譯成文字) 和自動翻譯影像。
適當地轉換資料後,神經網路便可以了解文字、音訊和視覺信號。 機器翻譯可用來識別較大型音訊檔案中的聲音片段,並將說出口的話或影像謄寫為文字。
文字分析
以深度學習方法為基礎的文字分析會涉及分析大量文字資料 (例如,醫療文件或支出收據)、辨識模式,以及從中建立有組織且精簡的資訊。
公司可使用深度學習來分析文字,以偵測內線交易以及是否符合政府法規。 另一個常見範例是保險詐騙:文字分析常用來分析大量文件,以辨識保險申請有無詐騙可能。
人工神經網路
人工神經網路由數層的連線節點所組成。 深度學習模型會使用階層數龐大的神經網路。
下列各節會探索最受歡迎的人工神經網路拓撲。
前饋神經網路
前饋神經網路是最簡單的人工神經網路類型。 在前饋網路中,資訊只會從輸入層往輸出層單向移動。 前饋神經網路會藉由讓輸入通過一系列隱藏層來轉換輸入。 每一個隱藏層都由一組神經組成,而且每一個隱藏層都與前一個隱藏層中的所有神經完整連接。 最後一個完整連接的階層 (輸出層) 代表所產生的預測。
遞迴式神經網路 (RNN)
週期性神經網路是廣為使用的人工神經網路。 這些網路會儲存某一層的輸出,再將其饋送回輸入層,以協助預測該層的結果。 週期性神經網路有絕佳的學習能力。 其廣泛用於複雜的工作,例如時間序列預測、學習字跡和辨識語言。
卷積神經網路 (CNN)
卷積神經網路是特別有效的人工神經網路,會呈現獨特的架構。 其階層會組織為三個維度:寬度、高度和深度。 某一層的神經不會連接到下一層中的所有神經,而只會連接到該層神經的一小片區域。 最後的輸出會縮減為機率分數的向量,並沿著深度維度進行整理。
卷積神經網路已用於影片辨識、影像辨識和推薦系統等領域。
生成對抗網路 (GAN)
生成對抗網路是生成模型,經定型後可建立逼真的內容,例如影像。 其由分別稱為生成器和鑑別器的兩個網路組成。 這兩個網路會同時進行定型作業。 在定型期間,生成器會使用隨機雜訊來建立與實際資料極為類似的新合成資料。 鑑別器會取得生成器的輸出來作為輸入,並使用實際資料來判斷所生成的內容是真實的還是合成的。 網路間會彼此競爭。 生成器會嘗試生成幾可亂真的合成內容,鑑別器則會嘗試正確地將輸入分類為真實或合成。 然後,輸出便可用來更新這兩個網路的權數,讓這兩個網路更能實現其各自的目標。
生成對抗網路可用來解決影像對影像的翻譯和年齡增長等問題。
轉換器
轉換器是一種模型架構,適合用來解決包含序列 (文字或時間序列資料) 的問題。 其由編碼器層和解碼器層組成。 編碼器會取得輸入,並將其對應至包含資訊 (例如內容) 的數值標記法。 解碼器會使用編碼器中的資訊來產生輸出,例如經過翻譯的文字。 轉換器與其他包含編碼器和解碼器的架構,彼此的差異在於關注子層。 關注是指根據輸入的特定部分內容相較於序列中其他輸入的重要性,而將焦點放在輸入的特定部分。 例如,在概述新聞內容時,並非所有句子都與描述主要想法有關。 藉由將焦點放在整篇內容中的關鍵字組,便能用一句話來完成概述,這句話就是標題。
轉換器可用來解決自然語言的處理問題,例如翻譯、產生文字、回答問題和概述文字。
以下是一些已實作的知名轉換器:
- Bidirectional Encoder Representations from Transformers (BERT)
- Generative Pre-trained Transformer 2 (GPT-2)
- Generative Pre-trained Transformer 3 (GPT-3)
下一步
下列文章會說明更多可在 Azure Machine Learning 中使用開放原始碼深度學習模型的選項: