作者:Rockelbel膝昆,兩年互聯(lián)網(wǎng)PM荚孵,AI轉型學習中收叶,偏好NLP方向
這是AI產(chǎn)品經(jīng)理系列的第一篇文章,約6千字哆致,主要內容為機器學習的幾大分類及其基本內涵摊阀,后續(xù)我會補充關于AI的應用場景臣咖、相關技術領域(如計算機視覺夺蛇、自然語言處理等)的總結刁赦。由于目前正在學習甚脉,比較嚴謹?shù)牟糠治叶加谜男问讲⒆⒚髁藖碓础?/p>
一、AI的前世今生
1.AI的誕生
1936年墩剖,阿蘭圖靈發(fā)表《論數(shù)字計算在決斷難題中的應用》岭皂,提出一種抽象的計算模型——圖靈機爷绘,論文英文標題為《On Computable Numbers, with an Application to the Entscheidungsproblem》
1950年,圖靈發(fā)表論文《計算機器與智能》背捌,提出著名的“圖靈測試”坑赡,不僅如此毅否,其論文中提到的“機器學習”、“遺傳算法”然爆、“強化學習”等理論曾雕,成為了日后人工智能領域的重要分支。
(圖靈的這兩篇文章都可以在網(wǎng)上找到原文揩环,感興趣的可以去讀讀肯污,對圖靈感興趣的推薦《圖靈的秘密:他的生平、思想及論文解讀》以及電影《模擬游戲》柬唯。
關于圖靈測試,《科學的極致:漫談人工智能》中給了一個非常有意思的描述拘央。)
1956年達特茅斯會議:AI概念誕生灰伟,1956被稱為人工智能元年栏账。參與會議的幾人如John McCarthy、Marvin Minsky甚垦,他們的研究對人工智能的發(fā)展有著深遠的影響。
2.AI的三大門派
符號主義:計算機始于數(shù)理邏輯,使用符號的方式來研究智能推理男杈。代表成果是1957年的數(shù)學定理證明程序LT(證明了38條數(shù)學定理)旺垒,隨后相繼出現(xiàn)了啟發(fā)式算法->專家系統(tǒng)->知識工程理論與技術先蒋。其中專家系統(tǒng)的成功開發(fā)與應用竞漾,為人工智能走向工程應用和實現(xiàn)理論聯(lián)系實際具有特別重要的意義业岁。
連接主義:基于神經(jīng)元網(wǎng)絡和深度學習,仿照人類的神經(jīng)元允耿,用計算機來呈現(xiàn)人的神經(jīng)模型從而仿造智能较锡,包括現(xiàn)在很火的神經(jīng)網(wǎng)絡、深度學習积糯。首先出現(xiàn)了以感知機(perceptron)為代表的腦模型研究的短暫熱潮,隨著多層網(wǎng)絡中的反向傳播算法(即BP算法)的提出川慌,連接主義開始爆發(fā)梦重,目前所經(jīng)歷的這場AI熱潮正是連接主義的主場降瞳。
行為主義:核心是控制論,而控制論的核心是負反饋調節(jié)沛膳,其認為可以通過不斷的反饋-調整實現(xiàn)進化計算從而達到智能短荐。早期的研究工作重點是模擬人在控制過程中的智能行為和作用忍宋,如自尋優(yōu)讶踪、自適應乳讥、自鎮(zhèn)定、自組織和自學習等控制論系統(tǒng)汹忠,并進行“控制論動物”的研制。
3.AI的第一次發(fā)展熱潮(1956-1976)
關鍵詞:符號主義铅乡、早期推理系統(tǒng)花履、早期神經(jīng)網(wǎng)絡(連接主義)挚赊、專家系統(tǒng)
這次浪潮的核心是符號主義妹卿,圖靈提出圖靈測試的概念后纽帖,數(shù)學證明系統(tǒng)举反、知識推理系統(tǒng)懊直、專家系統(tǒng)相繼取得較大的突破,然而受限于計算機性能和算法理論火鼻,無法取得更大的突破室囊。
連接主義Minsky發(fā)表了文章《K-lines: A Theory of Memory》基本上否定了神經(jīng)網(wǎng)絡大規(guī)模學習的能力。在這篇文章影響下魁索,符號主義和連接主義基本上陷入消沉融撞。
4.AI的第二次熱潮(1976-2006)
關鍵詞:統(tǒng)計學派、機器學習粗蔚、神經(jīng)網(wǎng)絡
符號主義沒有再興起当辐,連接主義重獲新生。幾個重要的進展:自組織網(wǎng)絡袖裕、感知機(最簡單的神經(jīng)元網(wǎng)絡)赖临、反向傳播網(wǎng)絡(BackPropagation吵聪,即著名的BP網(wǎng)絡,可以說這次人工智能浪潮的奠基石)
5.AI的第三次熱潮
關鍵詞:大數(shù)據(jù)庞呕、深度學習、AlphaGo
連接主義盛行,數(shù)據(jù)、算法和算力多方面的進步蹦掐,深度學習取得突破。第二次和第三次浪潮都是以連接主義為核心标沪,區(qū)別是深度學習的成功漠畜。此外有兩個重要的因素——硬件的進步(CPU/GPU參考摩爾定律)、卷積神經(jīng)網(wǎng)絡模型和參數(shù)調整技巧的進步(合適的參數(shù)與神經(jīng)模型可以大大增大收斂速度碟摆,縮小模型訓練時間)。
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的不同層次:弱人工智能废亭、強人工智能、超人工智能
7.AI的社會影響
產(chǎn)業(yè)變革、失業(yè)和社會保障問題、貧富差距問題跛溉、地區(qū)發(fā)展不均衡問題咕晋、產(chǎn)業(yè)結構問題、服務業(yè)變革站玄、教育慷荔、人機協(xié)同時代的個人成長盒使。
二腿倚、AI的技術體系
1.數(shù)學基礎
關鍵詞:微積分、線性代數(shù)胧洒、概率論菲饼、信息論、集合論和圖論、博弈論
相信很多人開始想學習AI,網(wǎng)上都會推薦吳恩達教授的機器學習視頻,看過視頻的會知道秉氧,其中涉及到的數(shù)學知識其實很有限眷昆,主要是線性代數(shù)的知識。
在上面解釋AI定義的一張圖中汁咏,展示了與AI相關聯(lián)的眾多學科亚斋,不過從產(chǎn)品的角度來說,并不是要求每一個領域都要精通攘滩,知其然即可帅刊,當然知識是多多益善啦。
2.計算機基礎
關鍵詞:計算機原理漂问、程序設計語言赖瞒、操作系統(tǒng)、分布式系統(tǒng)蚤假、算法原理
這部分屬于“產(chǎn)品經(jīng)理需要懂的技術知識”栏饮,前面幾點不論是互聯(lián)網(wǎng)PM還是AI PM都應該有一定的了解。對于算法勤哗,AI PM可能需要有更深的理解,因為它的角色定位很不僅是產(chǎn)品的跟進管理等等掩驱,可能需要根據(jù)實際的目標效果去優(yōu)化算法模型芒划。不一定要會敲代碼去實現(xiàn)算法,但是要知道算法是如何運作的欧穴,比如CNN的幾個層分別起什么作用民逼、最大值池化和均值池化有什么區(qū)別?
關于算法這部分涮帘,推薦幾本書拼苍,《終極算法》、《算法圖解》(介紹了比較常見的一些算法调缨,語言主要是容易理解)疮鲫、《算法神探》(用小說的口吻去介紹算法,略牽強弦叶,易理解)俊犯、《算法導論》(經(jīng)典,看完需要毅力)
3.機器學習
提到機器學習伤哺,那么肯定繞不過吳恩達教授的教學視頻燕侠,不多說者祖,去看吧!(這個視頻不是必經(jīng)之路绢彤,了解機器學習有很多其他途徑七问,只是這個視頻覆蓋算比較全,偏實際應用茫舶,適合初學者)
3.1 什么是機器學習械巡?
以下是機器學習幾個定義:
百度百科:專門研究計算機怎樣模擬或實現(xiàn)人類的學習行為,以獲取新的知識或技能奇适,重新組織已有的知識結構使之不斷改善自身的性能坟比。它是人工智能的核心,是使計算機具有智能的根本途徑嚷往,其應用遍及人工智能的各個領域葛账,它主要使用歸納、綜合而不是演繹皮仁。
維基百科: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)
通俗的說籍琳,機器學習就是讓機器自己去學習,通過學習到的知識來指導進一步的判斷贷祈。我們用大量的帶標簽的樣本數(shù)據(jù)來讓機器進行運算趋急,并設計損失函數(shù),通過不斷的迭代势誊,計算機可以學會如何分類使得損失函數(shù)最小呜达。這些學習到的分類可以用來進行預測,具體應用覆蓋了從通用人工智能應用到專業(yè)人工智能應用的大多數(shù)領域粟耻。(極客研報)
我們常用的Exel中利用散點圖來進行回歸預測查近,這實際上就是一種機器學習。
3.2 機器學習的分類
關于機器學習的分類霜威,目前主流的幾類如下:
(1)監(jiān)督學習(Supervised Learning)
從已標注的訓練數(shù)據(jù)集中學習出一個模型,輸入一組未標注的數(shù)據(jù)時册烈,可以根據(jù)訓練好的模型預測結果戈泼。監(jiān)督學習的訓練集要包括輸入和預期輸出,預期輸出由人手動通過標簽進行標注赏僧,也就是“監(jiān)督”大猛。
監(jiān)督學習算法分為兩大類——回歸分析、分類淀零。處理離散型數(shù)值時胎署,選擇分類算法;處理連續(xù)性數(shù)值窑滞,則選擇回歸算法琼牧。
回歸分析任務(Regression Analysis)
回歸是一種統(tǒng)計學的數(shù)據(jù)分析方法恢筝,目的在于了解兩個或多個變量間是否相關、相關強度巨坊,并建立數(shù)學模型進行預測撬槽。回歸任務包括線性回歸趾撵、多項式回歸侄柔、嶺回歸等。
舉例說明占调,數(shù)據(jù)集二維平面上的一系列點暂题,訓練得到數(shù)學模型Y=f(X),則函數(shù)Y即為數(shù)據(jù)的標簽究珊,對于測試集內的數(shù)據(jù)薪者,通過模型運算即可得到標簽Y。
分類學習(Classification)
輸入:一組已標注的訓練數(shù)據(jù)剿涮,標簽為這些數(shù)據(jù)所屬的類別(2個或多個)
輸出:根據(jù)訓練集數(shù)據(jù)言津,訓練出合適模型參數(shù),學習出一個適合這些數(shù)據(jù)與對應分類的分類器取试,使用這個分類器即可對未知的數(shù)據(jù)進行類別判斷悬槽。
一般來說,我們要訓練一個機器學習模型前瞬浓,首先要有一定量的已標注的數(shù)據(jù)初婆,為了評估訓練模型的學習能力,數(shù)據(jù)集通常會分為兩個部分猿棉,訓練集和測試集磅叛。訓練集(training set)是用來訓練模型的已標注數(shù)據(jù)(隨機抽選約70%),剩下的已標注數(shù)據(jù)作為測試集铺根,用來評估模型的好壞宪躯。通常先隱藏標簽乔宿,把測試集數(shù)據(jù)傳給訓練好的模型進行分類位迂,將分類的結果與真實標簽對比即可。
那么详瑞,如何評價分類模型的成果呢掂林?召回率(Recall)+準確率(Precision)。
下面這張圖坝橡,相信很多人看到過泻帮。解釋一下,矩形區(qū)域是樣本计寇,有標注為正類和負類兩種數(shù)據(jù)锣杂,圓形區(qū)域為預測為正類的區(qū)域脂倦,顯然綠色區(qū)域是預測正確的,簡稱TP元莫;紅色區(qū)域預測錯誤赖阻,簡稱FP;圓形外的區(qū)域即為預測為負類的數(shù)據(jù)踱蠢,F(xiàn)N和TN也同理火欧。
精確率,又稱查準率茎截,是針對預測結果而言苇侵,表示預測為正的樣本中有多少是預測正確的。
精確率= TP/(TP+FP)
召回率企锌,又稱查全率榆浓,是針對全部樣本而言,表示樣本中的正類有多少是預測正確的霎俩。
召回率= TP/(TP+FN)
(注意:預測為正類和預測正確容易混淆)
理想情況下哀军。希望模型精確率和召回率均越高越好,但某些情況下這兩個數(shù)值時有矛盾的打却。
因此實際還會需要參考一些其他的指標:F值(F-Measure)杉适、ROC、AUC柳击。感興趣的可以去查閱一下猿推。點擊跳轉
監(jiān)督學習常用算法:K-近鄰算法(KNN,分類數(shù)據(jù)最簡單最有效的算法)捌肴、樸素貝葉斯算法(基于概率論的分類法)蹬叭、支持向量機(SVM)、決策樹状知、人工神經(jīng)網(wǎng)絡(ANN)
(2)無監(jiān)督學習(Unsupervised Learning)
與監(jiān)督學習相比秽五,無監(jiān)督學習最大的特點是訓練樣本是沒有標簽的(或者有著相同的標簽),機器需要自己發(fā)現(xiàn)數(shù)據(jù)集內在的結構性知識饥悴。無監(jiān)督學習中常見的應用是聚類和降維坦喘,此外還有異常檢測和自編碼網(wǎng)絡(AutoEncoder)。
聚類(Clustering)
聚類指面對大量未標注的數(shù)據(jù)西设,根據(jù)其內在“相關性”把數(shù)據(jù)分為幾個不同的類別瓣铣,目標是使類別內的相關性大,類別間的相關性小贷揽。度量其“相關性”常見的幾種標準:歐氏距離(空間中兩點的距離)棠笑、曼哈頓距離、馬氏距離禽绪、夾角余弦蓖救。
衡量聚類算法優(yōu)劣的標準(摘自知乎清華大學數(shù)據(jù)科學研究院):
1)處理大的數(shù)據(jù)集的能力洪规;
2)處理任意形狀,包括有間隙的嵌套的數(shù)據(jù)的能力循捺;
3)算法處理的結果與數(shù)據(jù)輸入的順序是否相關淹冰,也就是說算法是否獨立于數(shù)據(jù)輸入順序;
4)處理數(shù)據(jù)噪聲的能力巨柒;
5)是否需要預先知道聚類個數(shù)樱拴,是否需要用戶給出領域知識;
6)算法處理有很多屬性數(shù)據(jù)的能力洋满,也就是對數(shù)據(jù)維數(shù)是否敏感晶乔。
無監(jiān)督學習或者聚類算法有著廣泛的應用,它可以用于組織大型計算機集群(識別適合協(xié)同工作的機器)牺勾、社交網(wǎng)絡的分析(自動給出朋友分組)正罢、市場分割(把顧客劃分到不同的細分市場)、天文數(shù)據(jù)分析等等驻民。
聚類算法有很多種翻具,層次式聚類方法、劃分式聚類方法(K-means)回还、基于密度裆泳、基于網(wǎng)絡等等,關于具體實現(xiàn)柠硕,這里不贅述工禾。推薦一個python第三方庫sklearn,里面包含了多種聚類算法的實現(xiàn)蝗柔。
降維(DimensionReduction)
大家可能聽過一個名詞——維數(shù)災難(Curse of Dimensionality)闻葵,即在涉及到向量的計算的問題中,隨著維數(shù)的增加癣丧,計算量會呈指數(shù)倍增長槽畔。在機器學習中,一些多維信號的處理胁编,若直接用于識別的計算厢钧,計算量極大。如圖像的處理掏呼,每個像素就是一個維度坏快,直接計算難度極大铅檩,因此需要對數(shù)據(jù)進行降維處理憎夷。
上圖所示的降維算法,像LDA是屬于監(jiān)督學習的范疇昧旨,PCA拾给、MDS等屬于非監(jiān)督學習祥得,其中PCA(主成分分析)應該是最著名的一個降維算法了。
降維和聚類并不是獨立分開的蒋得,對大量的數(shù)據(jù)進行聚類時级及,第一步常常是進行降維,然后進行后續(xù)的步驟额衙。此外為了數(shù)據(jù)的可視化饮焦,常常也需要降維操作氧卧。
異常檢測(Anomaly Detection)
異常檢測主要用于無監(jiān)督學習宴卖,用于發(fā)現(xiàn)可能不應該屬于一個已定義的組中的數(shù)據(jù)。(實際上悼瓮,監(jiān)督的異常檢測和半監(jiān)督的異常檢測也是有的伟件,可以看下這篇文章:點擊跳轉)
常用異常檢測算法類型:基于模型的統(tǒng)計學方法硼啤、基于鄰近度的離群點檢測、基于密度的離群點檢測斧账、基于聚類的技術谴返。
異常檢測主要的難點或挑戰(zhàn)(參考文章):
1)難以定義一個涵蓋所有正常行為的規(guī)則
2)某些異常行為為了不被發(fā)現(xiàn)常常表現(xiàn)得和正常行為很像
3)在許多領域正常行為也是不斷變化的,現(xiàn)在的正常行為不代表以后也是正常的
4)用于訓練的標記數(shù)據(jù)的可用性是一個重要因素
5)數(shù)據(jù)異常難以檢測和區(qū)分
異常檢測這部分我沒有仔細去了解咧织,先留下兩篇文章供參考:
生成對抗網(wǎng)絡(Generative Adversarial Networks)
大概16年7月份的時候嗓袱,一款國外的app火便了全世界——Prisma。Prisma可以按照你提供的圖片內容和指定的風格习绢,生成一副指定風格的照片索抓,其背后的技術就是GAN。
GAN是無監(jiān)督中最有前景的發(fā)展之一毯炮,目前多應用在圖像生成領域逼肯,關于它的應用前景,可參考這個知乎問題:生成式對抗網(wǎng)絡GAN有哪些最新的發(fā)展
(3)半監(jiān)督學習(Semi-supervised Learning)
半監(jiān)督學習桃煎,顧名思義就是在監(jiān)督學習和無監(jiān)督學習之間的領域篮幢,其目標是解決監(jiān)督學習中未標注數(shù)據(jù)和無監(jiān)督學習中已標注數(shù)據(jù)的使用問題,使數(shù)據(jù)最大化被利用为迈。
前面說到在監(jiān)督學習中三椿,需要大量帶人工標注的數(shù)據(jù),無標注的數(shù)據(jù)是不可用的葫辐。但是在很多實際問題中搜锰,只有少量數(shù)據(jù)是帶標簽的,對剩余的數(shù)據(jù)進行標注往往成本太高耿战。不過未標注和已標注的數(shù)據(jù)都是從同樣的數(shù)據(jù)源獨立分布采樣而來蛋叼,可以首先對數(shù)據(jù)做一個假設,聚類假設或流形假設。
聚類假設(Cluster Assumption)
聚類假設是指處在相同聚類中的示例有較大的可能擁有相同的標記狈涮。根據(jù)該假設狐胎,決策邊界就應該盡量通過數(shù)據(jù)較為稀疏的地方,從而避免把稠密的聚類中的數(shù)據(jù)點分到?jīng)Q策邊界兩側歌馍。在這一假設下握巢,大量未標記示例的作用就是幫助探明示例空間中數(shù)據(jù)分布的稠密和稀疏區(qū)域,從而指導學習算法對利用有標記示例學習到的決策邊界進行調整松却,使其盡量通過數(shù)據(jù)分布的稀疏區(qū)域暴浦。
流形假設(Manifold Assumption)
流形假設是指處于一個很小的局部鄰域內的示例具有相似的性質,因此晓锻,其標記也應該相似肉渴。這一假設反映了決策函數(shù)的局部平滑性。和聚類假設著眼整體特性不同带射,流形假設主要考慮模型的局部特性同规。在該假設下,大量未標記示例的作用就是讓數(shù)據(jù)空間變得更加稠密窟社,從而有助于更加準確地刻畫局部區(qū)域的特性券勺,使得決策函數(shù)能夠更好地進行數(shù)據(jù)擬合
相關閱讀:淺談流行假設
(4)強化學習(Reinforcement Learning)
從Alpha Go到Alpha Zero,其核心就是深度學習和強化學習灿里,強化學習在控制和游戲領域應用十分廣泛关炼。
強化學習就是程序或智能體(agent)通過與環(huán)境不斷地進行交互學習一 個從環(huán)境到動作的映射,學習的目標就是使累計回報最大化匣吊。(關于智能Agent的描述儒拂,強烈推薦閱讀《人工智能:一種現(xiàn)代方法》第三版,后續(xù)我也會總結一篇文章)
監(jiān)督學習可以學習從輸入到輸出之間的一個映射社痛,學習數(shù)據(jù)之間的結構關系,非監(jiān)督學習學習的是從輸入到輸出的模式命雀。強化學習同樣是學習從輸入到輸出的映射蒜哀,不同的是強化學習模型輸出的是獎勵函數(shù)(reward function),判斷這個行為是優(yōu)是劣吏砂。需要注意的是撵儿,獎勵函數(shù)是一種強化信號,強化信號是對機器行為的好壞的一種評價狐血,而不是告訴強化學習系統(tǒng)如何去產(chǎn)生正確的動作淀歇。
基本原理:如果Agent的某個行為策略導致環(huán)境正的獎賞(強化信號),那么Agent以后產(chǎn)生這個行為策略的趨勢便會加強匈织。Agent的目標是在每個離散狀態(tài)發(fā)現(xiàn)最優(yōu)策略以使期望的折扣獎賞和最大浪默。
常用算法:馬爾可夫決策過程(Markov Decision Process) 、蒙特卡洛強化學習、Q-learning算法
更多內容可以閱讀這篇文章:一文了解強化學習
(5)深度學習(Deep Learning)
深度學習的概念源于人工神經(jīng)網(wǎng)絡的研究浴鸿。含多隱層的多層感知機是一種深度學習結構。深度學習通過組合低層特征形成更加抽象的高層表示屬性類別或特征弦追,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示岳链。
深度學習的幾個基本概念:激活函數(shù)、卷積劲件、pooling掸哑、dropout、BP神經(jīng)網(wǎng)絡零远、CNN苗分、RNN、LSTM牵辣、前饋神經(jīng)網(wǎng)絡摔癣、正則化、最大似然估計和貝葉斯統(tǒng)計纬向、過擬合择浊、KNN和SVM
關于深度學習如CNN和RNN,這里先不詳細描述逾条,后續(xù)會結合具體的應用技術再詳細介紹琢岩,如人臉識別中CNN的應用。
感謝閱讀师脂,文中不嚴謹或疏漏之處還請見諒担孔,歡迎討論。
有共同興趣的可以加我的微信(ID:Bernando2014)或者關注我的簡書主頁:蒲公英
轉載請注明文章來源吃警,本文首次發(fā)布于簡書-蒲公英糕篇。