人工智能是當下時代的大方向,也是未來5-10年内下一代資訊技術的發展趨勢。無論哪個角色,了解人工智能的基本思路、主要方法架構、主要流程,對于我們在洽談業務、與技術部門協作時都大有裨益。數之聯算法研究中心的小夥伴本次将分享人工智能技術的整體架構、入門級機器學習的基本原理等内容,幫助我們更好地了解人工智能。
Part.1 人工智能技術整體架構
01 什麼是模型?
最近很火的ChatGPT大家應該都聽過,它就是一種自然語言處理模型,那什麼是模型?模型是對客觀世界的抽象,會不斷修正和完善。
比如在天文上,我們怎麼去認識地球?小時候學習時,地球儀就是一個模型,我們知道地球是圓的,經過學習修正,我們才發現地球是一個橢球形的。
比如元素周期表,是對化學元素的模組化,它的表現形式是一個表,暗含不同的元素規律。
再比如說實體上的質點,可以把質點看成一個模型,經過中學到大學,你會學習到質點不能再表示的東西可能展現為一種剛體。
這些所謂的模型就是一種對某個事物的抽象,同時這個模型自身也在不斷的進行完善修正。
02 從經驗、模式到模型
作為個人,我們如何認識客觀世界呢?
第一階段就是從經驗層面。這裡引入一個最常見的問題。什麼是鳥?我們小的時候會去看很多識圖卡片,學習什麼是鳥。通常一開始學到的是鳥會飛,有一天大人告訴我們雞不會飛,但它也是鳥。這些就是通過學習總結經驗得出的(母雞是鳥,麻雀也是鳥)。我們認識客觀世界的第一個層面就是經驗。這些經驗就像數學歸納法,要總結歸納一些現象和數學規律。
第二個階段是模式。那什麼是模式?個人的經驗是有限的,但是我們可以通過大量經驗總結提煉出一套模式或者規則,比如這裡,結合母雞和麻雀的例子,我們就會糾正經驗認識,可能會覺得隻要長羽毛的就是鳥,這就是一種模式。
第三個階段是通過數學模型或者實體模型。假設鳥有一種特定的DNA片段,通過這個DNA片段,我們就能識别出一個未知物種是不是鳥。
第四個階段就是人工智能。人工智能怎麼去識别鳥呢?這其實是一個圖像識别問題。對于人工智能模型,它得到一張圖檔,他就會去學習這個圖檔的特征,我們可能也不清楚他到底看的是羽毛還是嘴巴還是腳,但他就是能捕獲這個圖檔及特征,你隻需要告訴他有這樣的圖檔就是鳥,那樣的圖檔不是鳥,通過大量的圖檔訓練,他就能夠把握其中的規律。
(比如上圖中的深色區域就是人工智能模型在識别判斷“下方四種鳥是不是左側那種特定類型的鳥”時,所重點關注的區域,可以看出人工智能模型主要抓住了左側鳥的喙部特征)
是以,我們通過人工智能模型,可以不去挖掘特定的模式,不用指定規律或者規則,直接把資料放進去,讓它自己去學習探索客觀世界。
Part.2 入門級機器學習基本原理
01 機器學習簡單原理
機器學習是人工智能的一個分支,而在很多時候,幾乎成為人工智能的代名詞。目前在業界使用機器學習比較突出的領域很多,例如:計算機視覺、自然語言處理、推薦系統等等。
機器學習算法利用統計學的技巧,能夠自動學習并識别資料内的規律。憑着這些規律,算法便能作出高度準确的預測。
通俗地講,通過算法模型使計算機在資料中學習進而進行預測。
為什麼選擇使用機器學習?“與其把經驗和知識總結了告訴計算機,不如讓計算機自主地學習經驗和知識。”
比如判斷橘子口味,普通計算機算法需要人為窮舉所有可能性,并判斷哪種可能性組合會導緻橘子是甜的。
機器學習算法則是把問題抛給計算機,讓計算機學習哪些組合會導緻橘子是甜的。
若含有顔色,尺寸,産地,降雨量,天氣,季節等大量特征時,普通算法便難以适用。
02 人工智能的基本流程
人工智能的基本流程可包括訓練和預測兩個階段。
訓練階段
首先要訓練資料,專業名詞叫做訓練集。模型通過訓練資料進行學習,并挖掘内部規律,不斷調整以提高學習效果。
例如,提供特定圖檔和标簽資料,模型會自動建構并學習,形成經驗知識并挖掘内部規律。如果判斷錯誤,可通過提供更多資料來調整模型。
預測階段
訓練完成後,進入預測/測試階段,與學生學習後考試同理。已經訓練好的模型預測的值需與真實值進行比較,如有差異則需要調整模型并提供新資料進行學習。其中的核心在于模型自主學習資料和特征。
需要強調的是,訓練資料和測試資料應來源于同一個總體,即獨立同分布。例如,若提供鳥的圖檔進行訓練,則測試時應提供同類别的圖檔。
接下來将詳細闡述這些模型具體是什麼。
03 基于統計的機器學習
線性回歸
例如,選取人工智能中比較簡單的線性回歸模型,其本質在于利用數理統計中的回歸分析,來确定兩種或兩種以上變量間互相依賴的定量關系。其表達形式為y = w'x+e,e為誤差服從均值為0的正态分布。
此時,模型是一個數學表達式,表現在圖像上,就是一條直線(如下圖所示)。試想,如果這個表達式由一次表達式變成更高階的高次表達式(高次表達式可以拟合得更加精确),将會呈現為曲線。下方另一個圖展現的是用logistic回歸做分類問題,其表現在圖像上,直覺的展現形式就是一條logistic曲線。
SVM
SVM(Support Vector Machine)指的是支援向量機,是常見的一種判别方法。在機器學習領域,是一個有監督的學習模型,通常用來進行模式識别、分類以及回歸分析。
有時,模型不僅可以是一條直線或曲線,還可能是一個空間中的高維超平面。下圖是一個示意圖(僅為示意),兩種顔色的點代表着不同類别,兩個類交錯混雜,單是一條普通的高階曲線,已經無法分隔開,此時可以通過SVM模型,可以找到一個更複雜的空間高維平面(可以想象一個高維的空間曲面)來把兩個顔色分隔開。
此時,在SVM模型中,模型在數學上,本質上就是優化問題的方程(目标函數、限制條件),模型是平面上無法繪制的一個超平面。
決策樹
決策樹是在已知各種情況發生機率的基礎上,通過層層判斷、構成決策樹,來求取淨現值的期望值大于等于零的機率,是直覺運用機率分析,模拟人類階層化決策判定過程的一種模型建構方法。
此時,模型在邏輯形式上是一系列判斷的規則,模型形象化的展現形式就是一顆樹(也可以是多棵樹,例如随機森林、Xgboost等)。
神經網絡
神經網絡是通過對人腦的基本單元——神經元的模組化和聯接,探索模拟人腦神經系統功能的模型,并研制一種具有學習、聯想、記憶和模式識别等智能資訊處理功能的人工系統。神經網絡的一個重要特性是它能夠從環境中學習。神經網絡的核心在于:在輸入和輸出之間,建構了複雜的連接配接網絡,以實作對抽象資料(如典型的圖像、文本等)高次元特征的自動抽取和表征。
此時,模型在數學上,本質是一個優化問題(如上圖所示的高維空間中基于梯度下降尋找最優解),模型表現在可視化的圖形上,就是一個網絡。
(該圖展現了機器學習中的更多模型)
Part.3機器學習相關拓展
01 人工智能的基本特點
- 大資料量
- 大量标注
- 複雜的模型結構
- 和資料強相關
綜上,我們可以知道,為什麼大家常說人工智能技術三大核心要素是資料、模型和算力。資料是基礎,沒有足夠的資料,就無法進行深度學習,無法進行模型訓練。模型是最重要的決定因素,模型直接決定了人工智能技術在特定應用場景下解決問題時的準确程度。算力是性能效果的瓶頸,算力決定了人工智能技術的計算速度和處理能力。
另外,相信大家可能還有另一個問題,那就是機器學習、深度學習和資料挖掘之間到底有什麼差別呢?
大家可以從這張圖中看出,盡管不同的人有不同的了解方式,但是總的來說,業内公認的了解都是傳統的資料挖掘,以及機器學習、深度學習之間,本質上是互相交叉重疊的!
而對于機器學習和深度學習之間的關系,這個問題非常有意思,将在下一節重點分析。
02 機器學習的發展
下面将從基礎理論、工程實作、資料場景3個層面,展現筆者對機器學習發展曆程的了解。
從這張圖中可以看出,機器學習的理論不斷拓展,包括內建學習、強化學習、遷移學習等。這些基礎理論極其重要,是機器學習能夠不斷創新發展的核心。
與此同時,在機器學習方法的應用過程中,面對資料擷取、特征提取、模型建構、模型部署等多個環節的相應難題(如少資料、特征提取構造困難、傳統模型表征刻畫不充分、模型太大在一些場景部署困難等),又發展出相應的解決手段,如下圖所示。
需要特别指出強調的,在特征提取和模型建構方面,由于神經網絡方法的應用,模型可以做到高維特征的自動抽取和表征,而且模型可以建構得更加複雜、靈活。
特别是在圖像、文本等領域大獲成功後,蓬勃發展,最終發展為一個特殊的分支:深度學習。(看到這裡,你是否已經明白機器學習和深度學習的差別了呢?)
随着神經網絡、強化學習的引入,深度學習蓬勃發展,那麼下一個突破點在哪裡呢?未來,值得期待!(還記得前文的觀點麼?機器學習的基礎理論,如強化學習、遷移學習、主動學習等将是未來人工智能不斷創新蓬勃發展的基石和不竭源泉)
最後,我們展現面向特定資料場景難題時,機器學習方法的拓展,在實際問題中,資料是複雜多樣的,因而機器學習方法針對特定場景的資料難題發展了一系列技巧方法。
03 機器學習的局限性
資料分布問題
必須保證資料獨立同分布,模型學習的資料和考察的資料要是同一個分布。
模型結果的可靠性
多次結果的穩定性,預測結果的推理可靠性。
安全性問題
如何保證人工智能模型的安全性?例如基于對抗樣本的模型攻擊等。
其他
- 可推理性(例如模型如何給出因果層面的推理,模型如何輔助決策)
- 可解釋性(模型是否是無偏好、公正的?模型的方法是否是可靠的)
- 大模型的挑戰(例如大模型所需的更多訓練資料,更高算力需求,更複雜不可知的模型結構)
- 标注量的挑戰(例如少标注,少負樣本,不确定的正樣本,品質不好的标注等)
關于作者
阿珂&Luoling
數之聯算法研究中心
*本文部分圖檔源于網絡,來源見水印,侵删