AI產品經理知識系列(1)——AI的背景知識及機器學習

作者:Rockelbel,兩年互聯網PM,AI轉型學習中,偏好NLP方向

這是AI產品經理系列的第一篇文章,約6千字,主要內容為機器學習的幾大分類及其基本內涵,後續我會補充關於AI的應用場景、相關技術領域(如計算機視覺、自然語言處理等)的總結。由於目前正在學習,比較嚴謹的部分我都用摘抄的形式並註明了來源。

一、AI的前世今生

1.AI的誕生

1936年,阿蘭圖靈發表《論數字計算在決斷難題中的應用》,提出一種抽象的計算模型——圖靈機,論文英文標題為《On Computable Numbers, with an Application to the Entscheidungsproblem

1950年,圖靈發表論文《計算機器與智能》,提出著名的「圖靈測試」,不僅如此,其論文中提到的「機器學習」、「遺傳演算法」、「強化學習」等理論,成為了日後人工智慧領域的重要分支。

(圖靈的這兩篇文章都可以在網上找到原文,感興趣的可以去讀讀,對圖靈感興趣的推薦《圖靈的秘密:他的生平、思想及論文解讀》以及電影《模擬遊戲》。

關於圖靈測試,《科學的極致:漫談人工智慧》中給了一個非常有意思的描述。)

1956年達特茅斯會議:AI概念誕生,1956被稱為人工智慧元年。參與會議的幾人如John McCarthy、Marvin Minsky,他們的研究對人工智慧的發展有著深遠的影響。

AI產品經理知識系列(1)——AI的背景知識及機器學習

達特茅斯會議與會者50年後重聚


2.AI的三大門派

符號主義:計算機始於數理邏輯,使用符號的方式來研究智能推理。代表成果是1957年的數學定理證明程序LT(證明了38條數學定理),隨後相繼出現了啟髮式演算法->專家系統->知識工程理論與技術。其中專家系統的成功開發與應用,為人工智慧走向工程應用和實現理論聯繫實際具有特別重要的意義。

連接主義:基於神經元網路和深度學習,仿照人類的神經元,用計算機來呈現人的神經模型從而仿造智能,包括現在很火的神經網路、深度學習。首先出現了以感知機(perceptron)為代表的腦模型研究的短暫熱潮,隨著多層網路中的反向傳播演算法(即BP演算法)的提出,連接主義開始爆發,目前所經歷的這場AI熱潮正是連接主義的主場。

行為主義:核心是控制論,而控制論的核心是負反饋調節,其認為可以通過不斷的反饋-調整實現進化計算從而達到智能。早期的研究工作重點是模擬人在控制過程中的智能行為和作用,如自尋優、自適應、自鎮定、自組織和自學習等控制論系統,並進行「控制論動物」的研製。

3.AI的第一次發展熱潮(1956-1976)

關鍵詞:符號主義、早期推理系統、早期神經網路(連接主義)、專家系統

這次浪潮的核心是符號主義,圖靈提出圖靈測試的概念后,數學證明系統、知識推理系統、專家系統相繼取得較大的突破,然而受限於計算機性能和演算法理論,無法取得更大的突破。

連接主義Minsky發表了文章《K-lines: A Theory of Memory》基本上否定了神經網路大規模學習的能力。在這篇文章影響下,符號主義和連接主義基本上陷入消沉。

4.AI的第二次熱潮(1976-2006)

關鍵詞:統計學派、機器學習、神經網路

符號主義沒有再興起,連接主義重獲新生。幾個重要的進展:自組織網路、感知機(最簡單的神經元網路)、反向傳播網路(BackPropagation,即著名的BP網路,可以說這次人工智慧浪潮的奠基石)

AI產品經理知識系列(1)——AI的背景知識及機器學習

1986年提出的一個兩層神經元網路(BP網路)


5.AI的第三次熱潮

關鍵詞:大數據、深度學習、AlphaGo

連接主義盛行,數據、演算法和算力多方面的進步,深度學習取得突破。第二次和第三次浪潮都是以連接主義為核心,區別是深度學習的成功。此外有兩個重要的因素——硬體的進步(CPU/GPU參考摩爾定律)、卷積神經網路模型和參數調整技巧的進步(合適的參數與神經模型可以大大增大收斂速度,縮小模型訓練時間)。

6.AI的內涵

什麼是AI?很多書籍、很多名人大牛都給過他們的見解,我這幾摘抄幾句。

維基百科對AI的解釋:Artificial intelligence (AI, also machine intelligence, MI) is intelligence demonstrated by machines, in contrast to the natural intelligence(NI) displayed by humans and other animals.

AI產品經理知識系列(1)——AI的背景知識及機器學習

人工智慧的定義


AI的不同層次:弱人工智慧、強人工智慧、超人工智慧

AI產品經理知識系列(1)——AI的背景知識及機器學習

AI的不同層次


7.AI的社會影響

產業變革、失業和社會保障問題、貧富差距問題、地區發展不均衡問題、產業結構問題、服務業變革、教育、人機協同時代的個人成長。

二、AI的技術體系

1.數學基礎

關鍵詞:微積分、線性代數、概率論、資訊理論、集合論和圖論、博弈論

相信很多人開始想學習AI,網上都會推薦吳恩達教授的機器學習視頻,看過視頻的會知道,其中涉及到的數學知識其實很有限,主要是線性代數的知識。

在上面解釋AI定義的一張圖中,展示了與AI相關聯的眾多學科,不過從產品的角度來說,並不是要求每一個領域都要精通,知其然即可,當然知識是多多益善啦。

2.計算機基礎

關鍵詞:計算機原理、程序設計語言、操作系統、分散式系統、演算法原理

這部分屬於「產品經理需要懂的技術知識」,前面幾點不論是互聯網PM還是AI PM都應該有一定的了解。對於演算法,AI PM可能需要有更深的理解,因為它的角色定位很不僅是產品的跟進管理等等,可能需要根據實際的目標效果去優化演算法模型。不一定要會敲代碼去實現演算法,但是要知道演算法是如何運作的,比如CNN的幾個層分別起什麼作用、最大值池化和均值池化有什麼區別?

關於演算法這部分,推薦幾本書,《終極演算法》、《演算法圖解》(介紹了比較常見的一些演算法,語言主要是容易理解)、《演算法神探》(用小說的口吻去介紹演算法,略牽強,易理解)、《演算法導論》(經典,看完需要毅力)

3.機器學習

提到機器學習,那麼肯定繞不過吳恩達教授的教學視頻,不多說,去看吧!(這個視頻不是必經之路,了解機器學習有很多其他途徑,只是這個視頻覆蓋算比較全,偏實際應用,適合初學者)

AI產品經理知識系列(1)——AI的背景知識及機器學習

機器學習是做什麼的

3.1 什麼是機器學習?

以下是機器學習幾個定義:

百度百科:專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。它是人工智慧的核心,是使計算機具有智能的根本途徑,其應用遍及人工智慧的各個領域,它主要使用歸納、綜合而不是演繹。

維基百科:Machine learning is a field of computer science that gives computer systems the ability to "learn" (i.e. progressively improve performance on a specific task) with data, without being explicitly programmed.——ArthurSamuel (1959)

通俗的說,機器學習就是讓機器自己去學習,通過學習到的知識來指導進一步的判斷。我們用大量的帶標籤的樣本數據來讓機器進行運算,並設計損失函數,通過不斷的迭代,計算機可以學會如何分類使得損失函數最小。這些學習到的分類可以用來進行預測,具體應用覆蓋了從通用人工智慧應用到專業人工智慧應用的大多數領域。(極客研報)

我們常用的Exel中利用散點圖來進行回歸預測,這實際上就是一種機器學習。

AI產品經理知識系列(1)——AI的背景知識及機器學習

機器學習與人腦思考的對比,圖片來自網路


3.2 機器學習的分類

關於機器學習的分類,目前主流的幾類如下:

AI產品經理知識系列(1)——AI的背景知識及機器學習

機器學習分類


(1)監督學習(Supervised Learning)

從已標註的訓練數據集中學習出一個模型,輸入一組未標註的數據時,可以根據訓練好的模型預測結果。監督學習的訓練集要包括輸入和預期輸出,預期輸出由人手動通過標籤進行標註,也就是「監督」。

監督學習演算法分為兩大類——回歸分析、分類。處理離散型數值時,選擇分類演算法;處理連續性數值,則選擇回歸演算法。

回歸分析任務(Regression Analysis)

回歸是一種統計學的數據分析方法,目的在於了解兩個或多個變數間是否相關、相關強度,並建立數學模型進行預測。回歸任務包括線性回歸、多項式回歸、嶺回歸等。

舉例說明,數據集二維平面上的一系列點,訓練得到數學模型Y=f(X),則函數Y即為數據的標籤,對於測試集內的數據,通過模型運算即可得到標籤Y。

分類學習(Classification)

輸入:一組已標註的訓練數據,標籤為這些數據所屬的類別(2個或多個)

輸出:根據訓練集數據,訓練出合適模型參數,學習出一個適合這些數據與對應分類的分類器,使用這個分類器即可對未知的數據進行類別判斷。

一般來說,我們要訓練一個機器學習模型前,首先要有一定量的已標註的數據,為了評估訓練模型的學習能力,數據集通常會分為兩個部分,訓練集和測試集。訓練集(training set)是用來訓練模型的已標註數據(隨機抽選約70%),剩下的已標註數據作為測試集,用來評估模型的好壞。通常先隱藏標籤,把測試集數據傳給訓練好的模型進行分類,將分類的結果與真實標籤對比即可。

那麼,如何評價分類模型的成果呢?召回率(Recall)+準確率(Precision)。

下面這張圖,相信很多人看到過。解釋一下,矩形區域是樣本,有標註為正類和負類兩種數據,圓形區域為預測為正類的區域,顯然綠色區域是預測正確的,簡稱TP;紅色區域預測錯誤,簡稱FP;圓形外的區域即為預測為負類的數據,FN和TN也同理。

AI產品經理知識系列(1)——AI的背景知識及機器學習

召回率和準確率的概念


精確率,又稱查准率,是針對預測結果而言,表示預測為正的樣本中有多少是預測正確的。

精確率= TP/(TP+FP)

召回率,又稱查全率,是針對全部樣本而言,表示樣本中的正類有多少是預測正確的。

召回率= TP/(TP+FN)

(注意:預測為正類和預測正確容易混淆)

理想情況下。希望模型精確率和召回率均越高越好,但某些情況下這兩個數值時有矛盾的。

因此實際還會需要參考一些其他的指標:F值(F-Measure)、ROC、AUC。感興趣的可以去查閱一下。點擊跳轉

監督學習常用演算法:K-近鄰演算法(KNN,分類數據最簡單最有效的演算法)、樸素貝葉斯演算法(基於概率論的分類法)、支持向量機(SVM)、決策樹、人工神經網路(ANN)

(2)無監督學習(Unsupervised Learning)

與監督學習相比,無監督學習最大的特點是訓練樣本是沒有標籤的(或者有著相同的標籤),機器需要自己發現數據集內在的結構性知識。無監督學習中常見的應用是聚類和降維,此外還有異常檢測和自編碼網路(AutoEncoder)。

聚類(Clustering)

聚類指面對大量未標註的數據,根據其內在「相關性」把數據分為幾個不同的類別,目標是使類別內的相關性大,類別間的相關性小。度量其「相關性」常見的幾種標準:歐氏距離(空間中兩點的距離)、曼哈頓距離、馬氏距離、夾角餘弦。

衡量聚類演算法優劣的標準(摘自知乎清華大學數據科學研究院):

1)處理大的數據集的能力;

2)處理任意形狀,包括有間隙的嵌套的數據的能力;

3)演算法處理的結果與數據輸入的順序是否相關,也就是說演算法是否獨立於數據輸入順序;

4)處理數據雜訊的能力;

5)是否需要預先知道聚類個數,是否需要用戶給出領域知識;

6)演算法處理有很多屬性數據的能力,也就是對數據維數是否敏感。

無監督學習或者聚類演算法有著廣泛的應用,它可以用於組織大型計算機集群(識別適合協同工作的機器)、社交網路的分析(自動給出朋友分組)、市場分割(把顧客劃分到不同的細分市場)、天文數據分析等等。

聚類演算法有很多種,層次式聚類方法、劃分式聚類方法(K-means)、基於密度、基於網路等等,關於具體實現,這裡不贅述。推薦一個python第三方庫sklearn,裡面包含了多種聚類演算法的實現。

降維(DimensionReduction)

大家可能聽過一個名詞——維數災難(Curse of Dimensionality),即在涉及到向量的計算的問題中,隨著維數的增加,計算量會呈指數倍增長。在機器學習中,一些多維信號的處理,若直接用於識別的計算,計算量極大。如圖像的處理,每個像素就是一個維度,直接計算難度極大,因此需要對數據進行降維處理。

AI產品經理知識系列(1)——AI的背景知識及機器學習

降維演算法的分類


上圖所示的降維演算法,像LDA是屬於監督學習的範疇,PCA、MDS等屬於非監督學習,其中PCA(主成分分析)應該是最著名的一個降維演算法了。

降維和聚類並不是獨立分開的,對大量的數據進行聚類時,第一步常常是進行降維,然後進行後續的步驟。此外為了數據的可視化,常常也需要降維操作。

異常檢測(Anomaly Detection)

異常檢測主要用於無監督學習,用於發現可能不應該屬於一個已定義的組中的數據。(實際上,監督的異常檢測和半監督的異常檢測也是有的,可以看下這篇文章:點擊跳轉

常用異常檢測演算法類型:基於模型的統計學方法、基於鄰近度的離群點檢測、基於密度的離群點檢測、基於聚類的技術。

異常檢測主要的難點或挑戰(參考文章):

1)難以定義一個涵蓋所有正常行為的規則

2)某些異常行為為了不被發現常常表現得和正常行為很像

3)在許多領域正常行為也是不斷變化的,現在的正常行為不代表以後也是正常的

4)用於訓練的標記數據的可用性是一個重要因素

5)數據異常難以檢測和區分

異常檢測這部分我沒有仔細去了解,先留下兩篇文章供參考:

Stanford機器學習---第十一講.異常檢測

機器學習之異常檢測

生成對抗網路(Generative Adversarial Networks)

大概16年7月份的時候,一款國外的app火便了全世界——Prisma。Prisma可以按照你提供的圖片內容和指定的風格,生成一副指定風格的照片,其背後的技術就是GAN。

AI產品經理知識系列(1)——AI的背景知識及機器學習

Prisma app轉換圖像風格


GAN是無監督中最有前景的發展之一,目前多應用在圖像生成領域,關於它的應用前景,可參考這個知乎問題:生成式對抗網路GAN有哪些最新的發展

(3)半監督學習(Semi-supervised Learning)

半監督學習,顧名思義就是在監督學習和無監督學習之間的領域,其目標是解決監督學習中未標註數據和無監督學習中已標註數據的使用問題,使數據最大化被利用。

前面說到在監督學習中,需要大量帶人工標註的數據,無標註的數據是不可用的。但是在很多實際問題中,只有少量數據是帶標籤的,對剩餘的數據進行標註往往成本太高。不過未標註和已標註的數據都是從同樣的數據源獨立分佈採樣而來,可以首先對數據做一個假設,聚類假設或流形假設。

聚類假設(Cluster Assumption)

聚類假設是指處在相同聚類中的示例有較大的可能擁有相同的標記。根據該假設,決策邊界就應該盡量通過數據較為稀疏的地方,從而避免把稠密的聚類中的數據點分到決策邊界兩側。在這一假設下,大量未標記示例的作用就是幫助探明示例空間中數據分佈的稠密和稀疏區域,從而指導學習演算法對利用有標記示例學習到的決策邊界進行調整,使其盡量通過數據分佈的稀疏區域。

流形假設(Manifold Assumption)

流形假設是指處於一個很小的局部鄰域內的示例具有相似的性質,因此,其標記也應該相似。這一假設反映了決策函數的局部平滑性。和聚類假設著眼整體特性不同,流形假設主要考慮模型的局部特性。在該假設下,大量未標記示例的作用就是讓數據空間變得更加稠密,從而有助於更加準確地刻畫局部區域的特性,使得決策函數能夠更好地進行數據擬合

相關閱讀:淺談流行假設

(4)強化學習(Reinforcement Learning)

從Alpha Go到Alpha Zero,其核心就是深度學習和強化學習,強化學習在控制和遊戲領域應用十分廣泛。

強化學習就是程序或智能體(agent)通過與環境不斷地進行交互學習一 個從環境到動作的映射,學習的目標就是使累計回報最大化。(關於智能Agent的描述,強烈推薦閱讀《人工智慧:一種現代方法》第三版,後續我也會總結一篇文章)

AI產品經理知識系列(1)——AI的背景知識及機器學習

強化學習、監督和半監督的區別


監督學習可以學習從輸入到輸出之間的一個映射,學習數據之間的結構關係,非監督學習學習的是從輸入到輸出的模式。強化學習同樣是學習從輸入到輸出的映射,不同的是強化學習模型輸出的是獎勵函數(reward function),判斷這個行為是優是劣。需要注意的是,獎勵函數是一種強化信號,強化信號是對機器行為的好壞的一種評價,而不是告訴強化學習系統如何去產生正確的動作。

基本原理:如果Agent的某個行為策略導致環境正的獎賞(強化信號),那麼Agent以後產生這個行為策略的趨勢便會加強。Agent的目標是在每個離散狀態發現最優策略以使期望的折扣獎賞和最大。

常用演算法:馬爾可夫決策過程(Markov Decision Process) 、蒙特卡洛強化學習、Q-learning演算法

更多內容可以閱讀這篇文章:一文了解強化學習

(5)深度學習(Deep Learning)

深度學習的概念源於人工神經網路的研究。含多隱層的多層感知機是一種深度學習結構。深度學習通過組合低層特徵形成更加抽象的高層表示屬性類別或特徵,以發現數據的分散式特徵表示。

AI產品經理知識系列(1)——AI的背景知識及機器學習

一個簡單的神經網路模型


深度學習的幾個基本概念:激活函數、卷積、pooling、dropout、BP神經網路、CNN、RNN、LSTM、前饋神經網路、正則化、最大似然估計和貝葉斯統計、過擬合、KNN和SVM

關於深度學習如CNN和RNN,這裡先不詳細描述,後續會結合具體的應用技術再詳細介紹,如人臉識別中CNN的應用。

  • 感謝閱讀,文中不嚴謹或疏漏之處還請見諒,歡迎討論。
  • 有共同興趣的可以加我的微信(ID:Bernando2014)或者關注我的簡書主頁:蒲公英
  • 轉載請註明文章來源,本文首次發佈於簡書-蒲公英
← 返回文章列表