共用方式為


人工智慧 (AI) 架構設計

人工智慧 (AI) 是電腦模擬人類智慧行為的能力。 機器可以透過 AI 來分析影像、理解語音、以自然方式互動,以及使用資料來預測。

將人工智慧關聯性描述為上層概念的圖例。AI 之內是機器學習服務。機器學習服務之內是深度學習。

AI 概念

演算法

演算法是一連串的計算和規則,可用來解決問題或分析一組資料。 就像流程圖一樣,其中包含問題要詢問的逐步指示,但以數學和程式設計程式碼撰寫。 演算法可能會描述如何判斷寵物是否為貓、狗、魚、鳥或蜥蜴。 另一個更複雜的演算法可能描述如何識別書面或口說語言、分析其單字、將一種語言翻譯成不同的語言,然後檢查翻譯的正確性。

機器學習服務

機器學習是一種 AI 技術,使用數學演算法建立預測模型。 演算法可用來剖析資料欄位,並使用在其中找到的模式來產生模型,從該資料中「學習」。 然後,這些模型會用來對新資料做出明智的預測或決策。

預測模型會根據已知資料進行驗證,針對特定商務案例選取的效能計量來測量,然後視需要進行調整。 此學習和驗證的程序稱為訓練。 透過定期重新定型,ML 模型會隨著時間而改善。

深度學習

深度學習是一種 ML 類型,可以自行判斷其預測是否準確。 深度學習也會使用演算法來分析資料,但會以比 ML 更大的規模執行。

深度學習使用的是由多層演算法組成的人工神經網路。 每一層都會查看傳入的資料、執行自己的特製化分析,並產生其他圖層可以理解的輸出。 接著,此輸出會傳遞至下一層,其中不同的演算法會執行自己的分析等等。

在每個類神經網路中有許多層,有時使用多個類神經網路,一部機器可以透過自己的資料處理來學習。 這需要比 ML 更多的資料和計算能力。

機器人

Bot 是自動化軟體程式,設計目的是為執行特定工作。 可以把它想像成一個沒有身體的機器人。 早期的 Bot 相當簡單,會使用相對簡單的演算法邏輯處理重複和繁重的工作。 例如搜尋引擎使用 Web 編目程式來自動探索,並為 Web 內容編目。

Bot 變得繁複很多,其使用 AI 和其他技術來模擬人類活動和決策,通常是透過文字或甚至語音直接與人類互動。 範例包括可接受晚餐預訂的 Bot、協助客戶服務互動的聊天機器人 (或交談 AI),以及將突發新聞或科學資料張貼至社交媒體網站的社交 Bot。

Microsoft 提供 Azure 機器人服務,這是一項專為企業級機器人開發而構建的受控服務。

自主系統

自主系統屬於一種演化中的新類別,超越基本類型的自動化 自主系統不會重複執行特定工作,幾乎沒有什麼變化 (就像 Bot 一樣),自主系統會為機器帶來智慧,讓他們能夠適應不斷變化的環境,以達成所需的目標。

智慧建築使用自主系統自動控制照明、通風、空調和安全等作業。 自我導向式機器人是更複雜的例子,它們會探索坍塌的礦井徹底地圖其內部,確定哪些部分在結構上是健全的,分析空氣的呼吸能力,並檢測被困礦工的跡象,需要救援全部,而不需要人類在遠端即時監測。

Microsoft AI 的一般資訊

深入了解 Microsoft AI,並掌握相關新聞的最新消息:

高階架構類型

預建 AI

預建 AI 顧名思義,有現成的 AI 模型、服務和 API 可供使用。 這些可協助您將智慧新增至應用程式、網站和流程,而不需要收集資料,然後建置、定型並發佈模型。

預先建置 AI 的其中一個範例可能是預先定型的模型,可依目前方式併入,或用來提供進一步自訂定型的基準。 另一個範例是雲端式 API 服務,可以視需要呼叫來處理自然語言。

Azure AI 服務

認知服務讓開發人員有機會使用預建 API 和整合工具組來建立可查看、聆聽、說話、了解甚至開始推理的應用程式。 Azure AI 服務中的服務目錄可以分成五個主要支柱:視覺、語音、語言、Web 搜尋和決策/建議。

AI Builder 中的預建 AI 模型

AI Builder 是 Microsoft Power Platform 的新功能,可提供點選介面,讓您將 AI 新增至應用程式,即使您沒有編碼或資料科學技能也一樣。 (AI Builder 中的某些功能尚未正式推出,且仍處於預覽狀態。如需詳細資訊,請參閱依區域提供功能頁面。)

您可以建置和訓練自己的模型,但 AI Builder 也提供可立即使用的特定預建 AI 模型。 例如,您可以在 Microsoft Power Apps 中新增元件,其基礎是從名片辨識連絡人資訊的預建模型。

自訂 AI

雖然預建置 AI 很有用 (且越來越具彈性),但從 AI 取得所需專案的最佳方式可能是自行建置系統。 這顯然是一個非常深入和複雜的主題,我們來看看一些超越我們剛剛涵蓋之內容的基本概念。

程式碼語言

AI 的核心概念是使用演算法來分析資料,並且在產生模型後,以有用的方式描述 (或評分)。 演算法是由開發人員和資料科學家 (有時由其他演算法) 使用程式設計程式碼所撰寫。 目前 AI 開發最流行的兩種程式設計語言是 Python 和 R。

Python 是一般用途的高階程式設計語言。 該語言有簡單又易學的語法,特別強調可讀性。 沒有編譯步驟。 Python 具有大型標準程式庫,但也支援新增模組和套件的功能。 這是在鼓催模組化,可讓您在需要時擴充功能。 適用於 Python 的 AI 和 ML 程式庫生態系統相當龐大,且仍不斷在增長,包括許多可在 Azure 中取得的生態系統。

R 是一種語言和環境,專供統計運算與圖形設計之用。 可用從線上對應廣泛的社會和行銷趨勢,到開發金融和氣候模型的各個領域。

Microsoft 已完全採用 R 程式設計語言,提供許多不同的選項讓 R 開發人員在 Azure 中執行其程式碼。

訓練

訓練是機器學習的核心。 這是「教學」演算法的反覆運算程序,用於建立模型、分析資料,然後從中做出準確的預測。 實際上,此程序有三個一般階段:訓練、驗證和測試。

在訓練階段期間,會標記一組高品質的已知資料,以便識別個別欄位。 標記的資料會饋送至設定為進行特定預測的演算法。 完成後,演算法會輸出模型,以描述其找到的模式做為一組參數。 在驗證期間,會標記全新資料,並用來測試模型。 演算法會視需要調整,並且進行更多訓練。 最後,測試階段會使用真實環境中的資料,而不需要任何標記或預先選取的目標。 假設模型的結果正確無誤,則會將其視為可供使用,且可部署。

超參數微調

超參數是管理訓練程序本身的資料變數。 它們是控制演算法運作方式的組態變數。 因此,超參數通常會在模型定型開始之前設定,而且不會在定型程序以參數的方式進行修改。 超參數微調牽涉到在定型工作中執行試用版、評估工作完成進度,然後視需要進行調整。 此程序會產生多個模型,每個模型都使用不同超參數系列來定型。

模型選取

定型和超參數微調的程序,會產生許多候選模型。 這些可能會有許多不同的差異,包括準備資料所需的工作、模型的彈性、處理時間量,以及結果的準確度。 針對您的需求選擇最佳定型模型和條件約束,稱為模型選擇,但這與在定型之前預先規劃有關,就像選擇最適合模型一樣。

自動化機器學習 (AutoML)

自動化機器學習 (亦稱為 AutoML) 是使機器學習模型開發中耗時的反覆工作自動化的流程。 它可以大幅減少取得生產就緒 ML 模型所需的時間。 自動化 ML 可協助模型選擇、超參數微調、模型定型和其他工作,而不需要廣泛的程式設計或領域知識。

評分

計分 也稱為預測,而且是在一些新的輸入資料的情況下,根據定型機器學習模型產生值的程序。 所建立的值或評分可以代表未來值的預測,但也可能代表可能分類或結果。 評分程序可以產生許多不同類型的值:

  • 建議項目清單和相似度分數

  • 時間序列模型和迴歸模型的數值

  • 機率值,表示新輸入資料屬於某些現有類別的可能性

  • 新項目最相似之類別或叢集的名稱

  • 分類模型的預測類別或結果

批次評分是在一段固定時間收集資料,然後依批次處理時。 這可能包括產生商務報表或分析客戶忠誠度。

即時評分正是持續進行並儘快執行的評分。 傳統範例是信用卡詐騙偵測,但即時評分也可用於語音辨識、醫療診斷、市場分析和其他許多應用程式。

Azure 上自訂 AI 的一般資訊

Azure AI 平台供應項目

以下是可以用來開發 AI 解決方案以符合您需求的 Azure 技術、平台和服務明細。

Azure Machine Learning

這是更快建置及部署模型的企業級機器學習服務。 Azure 機器學習提供 Web 介面和 SDK,方便您快速大規模訓練和部署機器學習模型和管道。 您可以搭配 PyTorch、TensorFlow 和 scikit-learn 等開放原始碼 Python 架構使用這些功能。

適用於 Azure 的機器學習參考架構

Azure 自動化機器學習

Azure 提供對自動化 ML 的廣泛支援。 開發人員可以使用無程式碼 UI 或透過程式碼優先筆記本體驗來建置模型。

Azure AI 服務

這是透過一系列完整的 AI 服務和認知 API 來協助您建置智慧型應用程式。 這些特定領域的預先訓練 AI 模型集合,可根據您的資料來自訂。

這是適用於行動應用程式及 Web 應用程式開發並採用 AI 技術的雲端搜尋服務。 如果您的內容是非結構化或無法以原始形式搜尋,則該服務可以搜尋私人異質內容,並且附帶 AI 擴充選項。

Azure Bot Service

這是專用 Bot 開發環境,包含現成可用的範本,可供您快速開始使用。

Azure 上的 Apache Spark

Apache Spark 是一個平行處理架構,可支援記憶體內部處理,以大幅提升巨量資料分析應用程式的效能。 Spark 提供用於記憶體內部叢集運算的基本項目。 Spark 作業可以將資料載入並快取到記憶體中,並重複查詢,這比 Hadoop 等磁碟應用程式快許多。

Azure HDInsight 中的 Apache Spark 是 Apache Spark 在雲端中的 Microsoft 實作。 HDInsight 中的 Spark 叢集與 Azure 儲存體和 Azure Data Lake Storage 相容,因此可使用 HDInsight Spark 叢集來處理儲存在 Azure 中的資料。

適用於 Apache Spark 的 Microsoft 機器學習程式庫是 SynapseML (以前稱為 MMLSpark)。 此開放原始碼程式庫會將許多深度學習和資料科學工具、網路功能和生產等級效能,新增至 Spark 生態系統。 深入了解 SynapseML 特性和功能

用於 Machine Learning 的 Azure Databricks Runtime

Azure Databricks 是一個基於 Apache Spark 的分析平台,具有一鍵式設定、簡化工作流程,以及用於資料科學家、工程師和業務分析師之間協作的互動式工作區。

適用於r Machine Learning (Databricks Runtime ML) 的 Databricks Runtime,可讓您啟動 Databricks 叢集,其中包含分散式定型所需的所有程式庫。 它提供適用於機器學習和資料科學的現成環境。 此外,它包含多個熱門程式庫,包括 TensorFlow、PyTorch、Keras 和 XGBoost。 它還支援使用 Horovod 進行分散式訓練。

客戶案例

不同產業以創新且鼓舞人心的方式套用 AI。 以下是一些客戶案例研究和成功案例:

瀏覽更多 AI 客戶案例

下一步