1. 程式人生 > 實用技巧 >從利用認知 API 到構建出自定義的機器學習模型,中間有哪些坑?

從利用認知 API 到構建出自定義的機器學習模型,中間有哪些坑?

如果你從西雅圖駕車往東行,要不了多久就會看到風力發電機組。這些巨大的機器遍佈在連綿起伏的丘陵和平原上,從刮過其間從不間斷的風中生產電力。其中每一臺風機都會生成海量的資料。這些資料被用於強化機器學習模型, 這些模型能讓風機和風力電場更高效、更安全並且更少中斷地運轉。隨著新版本模型的部署,將產生一組新資料,這些資料可用於評估和理解模型的表現情況,從而反過來促成開發更好的模型用於部署。數百年來,風車一直是人們利用風能的工具,如今,利用風能的工具每一天都在變得更高效、更安全,且更易於管理,因為我們有了機器學習。

最近,技術領域由於與機器學習有關的能力、承諾和關注點而鬧得沸沸揚揚。機器學習的歷史與電腦科學深度交織在一起,的確,許多早期的計算機應用程式都是為了模擬人類的思考過程。比如迴歸、分類和聚類這樣的技術在過去數十年中一直是資料分析師和科學家所使用的工具,它們用於解決與預測、 客戶細分、客戶流失分析、異常檢測等有關的問題。網際網路就是構建在機器學習之上的,像 Bing 和 Google 這樣的搜尋引擎已經開闢出新的方法來分析海量文字和媒體資料,對其進行索引,以及理解搜尋查詢背後的上下文和意圖,以便將使用者和與其最相關的結果匹配起來。自然有人會問,“這有什麼大不了的, 為什麼現在要這樣做?”首先,思考一下這一處理會對應用程式、資料和裝置帶來的影響。

軟體將變得更加個性化、更具互動性,並且由機器學習來驅動。簡而言之, 所有形態和大小的應用都將從能夠理解周遭環境,以及能夠理解和預期到使用者需求中受益。我所喜愛的 PowerPoint 的一個新特性就是列表分析,如果發現日期,則會建議將該列表轉換成一個時間軸檢視。這是非常簡單的一項處理,但會為我們節省構建每一個演示、每一張幻燈片的時間。這個例子指明瞭每一個開發人員都將能夠轉換其應用程式的方向,以便讓其使用者的工作變得更高效。

機器學習離不開資料。無論是大批量資料還是流式資料,模型都是通過資料來訓練、評估和改進的。機器學習讓我們可以從所有形式和大小的資料中提取出很多有價值的資訊。機器學習甚至可以用於充實資料。思考一下我們最近所編寫的用於處理使用者輸入的程式碼。這些程式碼不過是在處理數值或者較短的字串值而已。現代程式語言在處理這些資料型別時非常強大且高效。將這些型別延伸一下,比如圖片、視訊、音訊或者大量文字。有哪些資料型別適用於對這些資料進行推導,而不僅僅是使用它們?機器學習使資料型別得以擴充,它 讓我們可以處理更多不同的資料,並且可以將這些資料轉換成能夠在程式碼中進行推導的內容。諸如 Microsoft Cognitive Services 的 Cognitive API 讓我們可以 輕易地將一張圖片分解成各個組成部分。是否希望知道圖片中有什麼,其中有多少個人,他們是否開心?只需要使用一個簡單的 HTTP 方法就可以達到目的。 該方法的輸出可以輕易地被整合到我們的程式中以便進行決策,比如根據房間中的人員數量自動調節溫度。

裝置正變得越來越智慧,並且在許多情況下,正變得越來越具有連線性。 基於從這些裝置中觀測到的資料所構建的機器學習模型,使得我們可以更好地理解裝置及其周邊環境。這使得我們可以構建更高效的裝置,也會影響未來的設計,不過更為重要的是,這些模型可以用於預測故障或識別異常。來自這些裝置的“數字化輸出”是非常有價值的,不僅可以用於訓練新模型,還可以提供一種機制來評估當前所部署模型的影響和輸出。這一輸出資訊流對於建立模型開發、改進以及結果優化的良性迴圈而言是至關重要的。

關於這一點,其中一個最鼓舞人心的示例就是 Microsoft 的 AI for Earth 計劃,該計劃旨在向利用 AI 來推動可持續發展的組織提供資金幫助。我有幸與 一些受助者進行過交流,他們正在轉變我們消耗、保護和管理自然資源的方式, 這些事情讓我們注意到了作為行善力量的軟體的能力。每一個行業都在經歷這一轉變過程,而這正是機器學習所驅動的。

“為什麼現在要這樣做”的另一個關鍵方面就是雲。雲端的大量且強勁的計算資源的出現,以及 GPU 領域的硬體和軟體創新已經促成大規模的創新,其中大部分創新都出現在深度學習領域。深度學習背後的基本原理並不是全新的, 神經網路模擬大腦神經元機能的建模源自 20 世紀中期。目前這最新一波創新浪潮的開啟離不開三個方面的內容:演算法的發展、計算處理能力以及資料。雲提供了這三方面的支援,這使得人工智慧領域的創新入門變得更加容易、更加快 速且成本更加低廉,並且可以根據需要發展壯大。

而這一切的基礎就是同時理解可用的技術和工具。機器學習所涉及的內容不僅是簡單地學習一個新庫,或一門新的程式語言。它涉及理解工具和技術, 以及針對資料持續應用和優化開發過程。踏上這條道路的第一步就是深入研究並且立即開始學習。恭喜選購了本書並且閱讀本書的讀者。現在是成為一名開發者的無與倫比的好時機,因為雲端的創新步伐和規模能夠提升機器學習的開發效率。每一家主流雲廠商都在對資料、機器學習和 AI 技術進行大力投入, 利用這些資源正當其時。在本書中,作者會帶著讀者體驗這一旅程,從利用認知 API 到開發面向對話的應用程式,一直到最後構建出自定義的機器學習模型, 同時本書將讓讀者瞭解最流行的框架。希望讀者都能儘快構建出自己的應用。

Matt Winkler

Group Engineering Manager—Microsoft Azure

華盛頓,伍丁維爾

內容節選自《認知計算攻略 使用Cognitive Services和TensorFlow》一書

———————————————————圖書基本資訊————————————————————————

書名:《認知計算攻略 使用Cognitive Services和TensorFlow》

ISBN:9787302554356

定價:98元

出版時間:2020年8月

京東連結:https://item.jd.com/12945770.html