Categories
程式開發

2020 年,人工智能、數據科學、機器學習必知的 20 個術語(上)


本文最初發表於 Kdnuggets 網站,經原作者授權,InfoQ 翻譯並分享。

2020 年已經過去近三個月,隨著這一年的到來,Kdnuggets 為大家帶來了 20 個人們都應該必知的人工智能、數據科學和機器學習的術語。

KDnuggets 已經策劃過一系列關鍵術語的相關文章,包括機器學習深度學習大數據自然語言處理等等。進入 2020 年以來,Kdnuggets 還沒有發表任何關於關鍵術語的文章,是時候重點介紹一些人工智能、數據科學和機器學習術語了,在不斷發展的環境中,我們現在都應該熟悉這些術語。

因此,本文提到的這些術語包含了一些最近出現的概念,以及最近可能被認為更加重要的現有概念。這些定義是 KDnuggets 團隊的共同努力所得,包括 Gregory PiateskyAsel MendisMatthew Dearing 和作者本人 Matthew Mayo

言歸正題,本文列出了人們應該必知的前 10 個術語,後 10 個術語將在下一篇文章,這樣,我們就可以掌握應該必知的 20 個術語了。

AutoML

自動機器學習(automated machine learning,AutoML)跨越了相當廣泛的任務鴻溝,可以合理地認為這些任務包含在機器學習管道中。

AutoML “解決方案”可以包括數據預處理、特徵工程、算法選擇、算法架構搜索和超參數調優等任務,或者這些不同任務的一些子集或變體。因此,現在可以將自動機器學習視為從僅執行單個任務(如自動特徵工程),一直到完全自動化的管道;從數據預處理,到特徵工程,再到算法選擇,等等。

換句話說,老實說,我最喜歡的方式,如果像 Sebastian Raschka 所描述的那樣,計算機編程是關於自動化的;而機器學習是“所有關於自動化的自動化”,那麼自動機器學習就是“自動化關於自動化的自動化”。跟我來,看這裡:編程是通過管理死記硬背的任務來減輕我們的負擔;機器學習使計算機能夠學習如何最好地執行這些死記硬背的任務;自動機器學習允許計算機學習如何優化學習如何執行這些死記硬背的動作的結果。

這是一個非常強大的想法,雖然我們以前不得不關心調整參數和超參數、手動執行工程特徵、執行算法選擇等等,但自動機器學習系統可以通過許多不同的可能方法學習,來調整這些過程以獲得最佳結果的最佳方式。

“常規”編程是數據和規則的輸入、答案輸出;而機器學習是數據和答案輸入、排除;自動機器學習包括自動優化一些約束,以從數據和規則答案中獲得“最佳”,用任何你喜歡的度量來定義“最佳”。

貝葉斯(Bayesian)

貝葉斯方法使我們能夠應用概率分佈來對現實世界進行建模,並隨著新數據的出現而更新我們的信念。多年來,統計學家普遍採用頻率(frequentist)論方法。貝葉斯方法適用於對只有少量數據的假設進行建模,而這些數據在頻率論者眼中可能並不重要。

Brandon Rohere 的解釋是一個很好的例子,說明了貝葉斯方法的工作原理:

想像一下,你正在看電影,有影友掉了他們的票。你想引起他們的注意。這是他們從後面看起來的樣子。你無法分辨出他們的性別,只能說他們有長頭髮。你會喊“打擾一下,女士!”或者“打擾一下,先生!”鑑於你對你所在地區的男女髮型的了解,你可能會認為這是女性。 (在這種過於簡單化的情況下,只有頭髮的長度和性別)。現在,考慮一種情況的變化,這個人正在排隊上男廁。有了這些額外的信息,你可能會認為這是一個男性。這種常識和背景知識的運用是我們不假思索就能做到的。貝葉斯推斷是一種通過數學來捕捉這一點的方法,這樣,我們就可以做出更準確的預測。

BERT

BERT 代表來自 Transformer 的雙向編碼器表示,是一種用於自然語言處理的預訓練技術。 BERT 的區別於其他語言表示的是雙向訓練對現有 Transformer 注意力模型的應用。 BERT 預先在左右兩個上下文中對未標記文本數據的深層雙向表示進行預訓練,從而得到一個只需添加一個層即可進行微調的語言模型。 BERT 在許多自然語言處理任務上實現了最先進的性能,包括問題回答和推理。 BERT 和 Transformer 都是由 Google 開發的。

直覺告訴我們,在文本上雙向訓練一個語言模型,而不是從左到右(或從右到左),將會產生更好的語感“理解”和詞義感。雙向性允許基於其周圍環境的整體性來學習詞義,而不是基於從一個方向“閱讀”到給定單詞出現的點所能收集到的信息來做出決定。因此,在不同上下文中具有不同含義的單詞可以分開處理,更好地表達它們的上下文含義(想一想 “bank” 的兩個意思:河岸和銀行)。

實際上,BERT 可以用於以詞或句子嵌入的形式從文本中提取特徵,或者 BERT 模型可以根據特定任務(如問題回答或文本分類)的額外數據進行微調。 BERT 有幾種不同大小的模型(參數數量),並且催生了另外一系列與 BERT 相關的模型,如 RoBERTa 和 DistilBERT 等。

有關使用 BERT 的完整處理和使用教程,請參閱 Chris McCormick 和 Nick Ryan 的精彩文章

CCPA(加州消費者隱私法)

CCPA,即 2020 年 1 月 1 日生效的《加州消費者隱私法》(California Consumer Privacy Act),對收集個人數據的企業以及分析和處理此類數據的企業具有重要意義。它的意圖與 GDPR(General Data Protection Regulation,《通用數據保護條例》)類似,但為加州消費者提供了更強有力的保護。 CCPA 允許任何加州消費者要求查看公司掌握的關於他們的信息,以及與之共享這些信息的第三方的完整名單。加州的消費者還可以訪問他們的個人數據,對出售他們的個人數據予以拒絕,並要求公司刪除有關他們個人信息的任何部分。

它適用於任何收集消費者個人數據、在加利福尼亞州開展業務,並且滿足以下至少一項要求的企業:

  • 年總收入超過 2500 萬美元;
  • 購買或出售 50000 條或更多的加州消費者或家庭的的個人信息;
  • 其年收入的 50% 以上來自所銷售的加州消費者個人信息。

有關更多信息,請參閱 CCPA 的 Wikipedia 條目

數據工程師

數據工程師負責優化和管理組織數據的存儲和檢索。數據工程師將製定線路圖,說明如何最好地獲取數據並創建用於存儲數據的數據庫。他們通常會使用雲服務來優化數據存儲,並創建算法使數據變得有意義。數據工程師是技術性很強的角色,需要掌握 SQL、數據庫設計和計算機科學方面的高級知識。

越來越多的數據工程師通過雲認證,在雲中創建數據庫,並在雲環境中處理大型複雜數據集,以擴展和優化數據檢索。

Deepfake

Deepfake 是使用先進的深度學習和生成對抗網絡 GAN 技術創建的偽造圖像、視頻或音頻。這項技術非常先進,結果非常逼真,非常難以識別是否為偽造。下面的視頻就是一個使用奧巴馬形象和聲音的 Deepfake 的例子:

2020 年,人工智能、數據科學、機器學習必知的 20 個術語(上) 1

視頻地址:https://youtu.be/cQ54GDm1eL0

Deepfake 最初是在色情行業中嶄露頭角的,將明星的面孔疊加到成人視頻上,但最近這項技術又有了進步,有了像FakeApp 之類的應用,以及像FaceSwap 和DeepFaceLab 這樣的最新開源替代品。

對於聲音來說,以前需要幾分鐘的語音,但最近的技術,只需幾秒鐘的語音就能產生令人信服的語音模仿。 2019 年 9 月,一家公司被騙了 24.3 萬美元,騙子使用 Deepfake 技術來模仿該公司 CEO 的聲音,這是該類網絡犯罪的首例。

現在,Deepfake 的創建者和試圖識別它們的網絡公司之間正在展開軍備競賽。 Facebook 和其他幾家公司已經宣布,將投資 1000 萬美元,用來發展識別 Deepfake 的技術。請保持警惕,不要盲目相信你在網上所看到的一切,務必核實來源。

部署 / 生產模型

在這個機器學習、深度學習和人工智能的時代,流程的最終目標是將其部署到最終消費者手中。可以通過 Web 部署模型的服務有很多,比如 Heroku、AWS、Azure、GCP、Github 等。不同的服務提供商有不同的成本計算方法,所提供的服務亦略有不同。部署模型並將其投入生產,在一定程度上也需要一些前端和後端開發的知識,並且能夠在團隊中協同工作。

許多模型現在正在使用雲計算提供商進行部署,因為它們可以輕鬆地擴展到數百萬用戶,同時能夠監控擴展到這種級別的成本。生產中的模型允許組織將其貨幣化,並為客戶創造更好的價值。

圖神經網絡

數據科學家正在研究數據,成堆的數據。有些數據可能是原始的,也有可能是未經組織的,因為它們是通過“消防水龍帶”流入的。其他數據可以是整齊有序(或經過精心策劃的),在可管理的維度內進行格式化。有了這些“歐幾里得(Euclidean)”數據集,如文本、圖像和視頻,機器學習在文本生成、圖像處理和人臉識別等應用中取得了很大的成功。將運行在一兩個 GPU 上的深度學習模型與堆積如山的訓練數據結合起來,在數據中發現隱藏模式和有意義的特徵的可能性似乎是無限的。

那些相關性更強的數據呢?數據可以通過依賴關係相互連接。用戶之間的交互可能會影響電子商務平台上的購買決策。藥物發現的化學相互作用是通過複雜的反應相互聯繫描繪出來的。社交網絡是通過不斷變化、不規則和無序的關係形成並發展起來的。人腦是建立在一個個相互聯繫的細胞上的,這些細胞通過纏繞在一起的意大利麵條連接起來。

這類數據的關係可以建模為圖,其中,數據點表示為節點,關係通過互聯鏈路進行編碼。包括深度學習在內的傳統機器學習方法需要進一步推廣,以便在非歐幾里得的、基於圖的空間中進行計算。雖然一些相關的工作是在更早的時候完成的,但圖神經網絡的概念是由 Margo Gori 和他的團隊在 2005 年定義的,隨後更多的研究擴展到了遞歸和卷積神經網絡的圖版本的開發。深度學習研究目前正在積極地將圖神經網絡方法應用於意大利麵條式數據源,這是一個應該在 2020 年密切關注的研究領域。

MLOps 與 AIOps

在將軟件開發人員的流程與 IT 服務交付相結合的 IT 組織中,DevOps 取得了巨大的成功,這一術語已經被提升為當今的文化流行語。在大多數流行語紮根後不久,新的環境或適用領域就會緊跟著炒作。

術語 MLOps 就是如此,它代表了通過與數據科學家和 IT 專業人員的有效合作來開發和布書機器學習模型的最新最佳實踐。對於許多數據科學家來說,在一個明確定義的開發生命週期中工作應該是非常受歡迎的,因為正式的和自我教育追踪(self-guided educational tracks)往往側重於人工智能機器學習的基礎,對於生產部署的要求不那麼熟悉

AIOps 將人工智能應用到組織的運營中,它引入了所有機器學習技術,從 IT 系統中提取有意義的見解。這種方法將人類的智能和人工智能算法相結合,以增強 IT 團隊做出更好、更快的決策,實時響應事件,並開發優化的應用程序來促進更有效或自動化的業務流程。據 Gartner 的預測,到 2023 年,將有 30% 的大型企業 CIO 會專門使用 AIOps 來改善運營,從整個 IT 組織中 AIOps 的演變中,我們將會看到更多的東西。

遷移學習(Transfer Learning)

考慮以下在訓練機器學習模型時可能出現的兩個問題。第一個問題是,通常沒有足夠的訓練數據來充分訓練一個模型。第二個問題是,即使(尤其是)存在足夠數量的訓練數據,訓練過程通常也是非常耗費資源和時間的。

如果考慮到機器學習模型通常是針對特定任務在特定數據上進行訓練,並且結果模型是針對特定任務的,那麼這些模型的最大潛力通常是無法發揮的。一旦數據和計算被用來訓練模型,為什麼不在盡可能多的情況下使用這個模型呢?為什麼不把學到的東西遷移到新的應用程序中呢?高度優化的訓練模型是否可以用於更廣泛的任務分類呢?

遷移學習涉及到利用現有的機器學習模型,以便在模型最初未經訓練的場景中使用。就像人類不會丟棄他們以前所學的一切,並在每次接受新任務重新開始一樣,遷移學習允許機器學習模型將它在訓練期間獲得的“知識”移植到新任務中,從而擴展了原始模型所使用的計算和專業知識組合的範圍。簡單地說,遷移學習可以節省訓練時間並擴展現有機器學習模型的實用性。對於從頭開始訓練模型所需的大量訓練數據不可用的任務,遷移學習也是一種非常寶貴的技術。

考慮到時間和計算的消耗,遷移學習允許我們更好地將模型的實用性最大化。關於訓練數據不足的問題,遷移學習允許我們採用針對潛在的大量數據進行訓練的預訓練模型,並根據可用的少量特定任務數據對其進行調整。遷移學習是一種有效的方法,可管理機器學習模型訓練中兩個明顯的潛在缺點,因此,它的應用越來越廣泛也就不足為奇了。

作者簡介:

Matthew Mayo,機器學習研究員、Kdnuggets 編輯。

原文鏈接:

https://www.kdnuggets.com/2020/02/ai-data-science-machine-learning-key-terms-2020.html