人工智慧 (AI) 架構設計

人工智慧 (AI)是計算機模仿智慧人類行為的能力。 透過 AI,機器可以分析影像、理解語音、以自然方式互動,以及使用數據進行預測。

Illustration depicting the relationship of artificial intelligence as a parent concept. Within AI is machine learning. Within machine learning is deep learning.

AI 概念

演算法

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

機器學習

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

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

深度學習

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

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

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

機器人

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

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

Microsoft 提供 Azure Bot Service,這是專為企業級 Bot 開發而建置的受控服務。

自發系統

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

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

Microsoft AI 的一般資訊

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

高階架構類型

預先建置的 AI

預先建置的 AI 正是它聽起來像是現成的 AI 模型、服務和 API,可供使用。 這些可協助您將智慧新增至應用程式、網站和流程,而不需要收集數據,然後建置、定型及發佈您自己的模型。

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

Azure 認知服務

認知服務 可讓開發人員有機會使用預先建置的 API 和整合工具組來建立可查看、聆聽、說話、瞭解甚至開始推理的應用程式。 認知服務內的服務目錄可分為五個主要要素:視覺、語音、語言、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 服務和認知 API 系列,可協助您建置智慧型手機應用程式。 您可以使用您的資料來自定義這些領域特定的預先定型 AI 模型。

這是 AI 支援的雲端搜尋服務,適用於行動和 Web 應用程式開發。 如果您的內容為非結構化或無法以原始形式搜尋,則服務可以搜尋私人異質內容,並具有 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 儲存體 相容,因此您可以使用 HDInsight Spark 叢集來處理儲存在 Azure 中的數據。

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

適用於 機器學習的 Azure Databricks Runtime

Azure Databricks 是以 Apache Spark 為基礎的分析平臺,具有單鍵設定、簡化的工作流程,以及可供數據科學家、工程師和商務分析師共同作業的互動式工作區。

databricks Runtime for 機器學習 (Databricks Runtime ML) 可讓您啟動 Databricks 叢集,其中包含分散式定型所需的所有連結庫。 它提供適用於機器學習和數據科學的現成環境。 此外,它包含多個熱門連結庫,包括 TensorFlow、PyTorch、Keras 和 XGBoost。 它也支援使用 Horovod 的分散式訓練。

客戶案例

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

流覽更多 AI 客戶案例

下一步