人工智能的學習算法大家庭
??人工智能 (Artificial Intelligence, AI) 浪潮正在席卷全球,在上一講中,我們給出了人工智能的定義、話題、四大技術(shù)分支、主要應(yīng)用領(lǐng)域和三種形態(tài):弱人工智能、強人工智能和超級人工智能,讓大家了解了人工智能這個耳熟能詳?shù)母拍?。其中,我們區(qū)別了弱人工智能和強人工智能的概念:前者讓機器具備觀察和感知的能力,可以做到一定程度的理解和推理;而強人工智能讓機器獲得自適應(yīng)能力,解決一些之前沒有遇到過的問題。電影里的人工智能多半都是在描繪強人工智能,而這部分在目前的現(xiàn)實世界里難以真正實現(xiàn);目前的科研工作主要集中在弱人工智能這部分,并且已經(jīng)取得了一系列的重大突破。
??在這一講中,我們打算理一下人工智能的發(fā)展歷史,以及各個歷史階段當中側(cè)重的不同算法。
??1956年,幾個計算機科學家相聚在達特茅斯會議,提出了“人工智能”的概念,夢想著用當時剛剛出現(xiàn)的計算機來構(gòu)造復(fù)雜的、擁有與人類智慧同樣本質(zhì)特性的機器。其后,人工智能就一直縈繞于人們的腦海之中,并在科研實驗室中慢慢孵化。之后的幾十年,人工智能一直在兩極反轉(zhuǎn),或被稱作人類文明耀眼未來的預(yù)言,或被當成技術(shù)瘋子的狂想扔到垃圾堆里。直到2012年之前,這兩種聲音還在同時存在。
??2012年以后,得益于數(shù)據(jù)量的上漲、運算力的提升和機器學習新算法——深度學習的出現(xiàn),人工智能開始大爆發(fā),研究領(lǐng)域也在不斷擴大,下圖展示了人工智能研究的各個分支,包括計劃調(diào)度、專家系統(tǒng)、多智能體系統(tǒng)、進化計算、模糊邏輯、機器學習、知識表示、計算機視覺、自然語言處理、推薦系統(tǒng)、機器感知等等。
??諸多媒體流行詞匯縈繞在我們耳邊,比如人工智能 (Artificial Intelligence)、機器學習 (Machine Learning)、深度學習 (Deep Learning)、強化學習 (Reinforcement Learning)。不少人對這些高頻詞匯的含義及其背后的關(guān)系感到困惑,這一講中,我們會從它們的發(fā)展歷程、概念、算法種類進行介紹,并且理清它們之間的關(guān)系和區(qū)別;具體的算法原理留到之后的推送當中詳解。
1. 機器學習
??弱人工智能是如何實現(xiàn)的,“智能”又從何而來呢?這主要歸功于一種實現(xiàn)人工智能的方法——機器學習。
機器學習的定義一:機器學習定義的第一類答案是
IBM提出的認知計算 (Cognitive Computing)。其目標是構(gòu)建不需要顯式編程的機器(計算機、軟件、機器人、網(wǎng)站、移動應(yīng)用、設(shè)備等)。這種機器學習觀點可追溯到
Arthur Samuel在1959年的定義,“機器學習:讓計算機無需顯式編程也能學習的研究領(lǐng)域”。Arthur Samuel 是機器學習的創(chuàng)始人之一,在IBM的時候,他開發(fā)了一個程序來學習如何在西洋棋棋藝上超過他。
機器學習的定義二:Samuel的定義很好,但可能有點太模糊。1998年,另一位著名的機器學習研究者
Tom Mitchell提出了一個更精確的定義,“正確提出的學習問題:如果計算機程序?qū)τ谌蝿?wù)T的性能度量P通過經(jīng)驗E得到了提高,則認為此程序?qū)?jīng)驗E進行了學習”。為了闡述清楚,我們舉一個例子:在下棋程序中,經(jīng)驗E指的就是程序的上萬次的自我聯(lián)系的經(jīng)驗,任務(wù)T就是下棋,性能度量P指的就是在比賽過程中取勝的概率,有了性能指標后,我們就能告訴系統(tǒng)是否學習該經(jīng)驗。
機器學習的算法分類:上述定義為機器學習設(shè)定了清晰的目標,但是,它們沒有告訴我們?nèi)绾螌崿F(xiàn)該目標,我們應(yīng)該讓定義更明確一些。這就需要第二類定義,這類定義描述了機器學習算法,以下是一些流行的定義。在每種情況下,都會為算法提供一組示例供其學習。
?(1) 監(jiān)督式學習:為算法提供訓(xùn)練數(shù)據(jù),數(shù)據(jù)中包含每個示例的“正確答案”;例如,一個檢測信用卡欺詐的監(jiān)督學習算法接受一組記錄的交易作為輸入,對于每筆交易,訓(xùn)練數(shù)據(jù)都將包含一個表明它是否存在欺詐的標記。
?(2) 無監(jiān)督學習:該算法在訓(xùn)練數(shù)據(jù)中尋找結(jié)構(gòu),比如尋找哪些示例彼此類似,并將它們分組到各個集群中。機器學習的問題分類:我們希望在機器學習算法分類的基礎(chǔ)上更具體一些,一種方法是通過分析機器學習任務(wù)能解決的問題類型,對任務(wù)進行細化:
?(1) 分類,一種監(jiān)督學習問題,其中要學習的答案是有限多個可能值之一;例如,在信用卡示例中,該算法必須學習如何在“欺詐”與“誠信”之間找到正確的答案,在僅有兩個可能的值時,我們稱之為二元分類問題;用于實現(xiàn)分類的常用算法包括:支持向量機 (SVM)、提升 (boosted) 決策樹和袋裝 (bagged) 決策樹、k-最近鄰、樸素貝葉斯 (Na?ve Bayes)、判別分析、邏輯回歸和神經(jīng)網(wǎng)絡(luò)。
?(2) 回歸,一種監(jiān)督學習問題,其中要學習的答案是一個連續(xù)值。例如,可為算法提供一條房屋銷售及其價格的記錄,讓它學習如何設(shè)定房屋價格;常用回歸算法包括:線性模型、非線性模型、規(guī)則化、逐步回歸、提升 (boosted) 和袋裝 (bagged) 決策樹、神經(jīng)網(wǎng)絡(luò)和自適應(yīng)神經(jīng)模糊學習。
?(3) 細分(聚類),一種無監(jiān)督學習問題,其中要學習的結(jié)構(gòu)是一些類似示例的集群。例如,市場細分旨在將客戶分組到有類似購買行為的人群中;用于執(zhí)行聚類的常用算法包括:k-均值和 k-中心點(k-medoids)、層次聚類、高斯混合模型、隱馬爾可夫模型、自組織映射、模糊c-均值聚類法和減法聚類。
?(4) 網(wǎng)絡(luò)分析,一種無監(jiān)督學習問題,其中要學習的結(jié)構(gòu)是有關(guān)網(wǎng)絡(luò)中的節(jié)點的重要性和作用的信息;例如,網(wǎng)頁排名算法會分析網(wǎng)頁及其超鏈接構(gòu)成的網(wǎng)絡(luò),并尋找最重要的網(wǎng)頁。谷歌等 Web 搜索引擎使用的就是這種算法,其他網(wǎng)絡(luò)分析問題包括社交網(wǎng)絡(luò)分析。機器學習工作流及定義三:上述兩個定義的問題在于,開發(fā)一個機器學習算法并不足以獲得一個能學習的系統(tǒng)。誠然,機器學習算法與學習系統(tǒng)之間存在著差距。我給出一個
機器學習工作流,如下圖所示;機器學習算法被用在工作流的“訓(xùn)練”步驟中,然后它的輸出(一個經(jīng)過訓(xùn)練的模型)被用在工作流的“預(yù)測”部分中。好的與差的機器算法之間的區(qū)別在于,我們在“預(yù)測”步驟中獲得的預(yù)測質(zhì)量。這就引出了機器學習的另一個定義:“機器學習的目的是從訓(xùn)練數(shù)據(jù)中學習,以便對新的、未見過的數(shù)據(jù)做出盡可能好的預(yù)測”。
2. 深度學習
??我們將從深度學習的發(fā)展歷程、深度學習的概念、深度神經(jīng)網(wǎng)絡(luò)的分類幾個方面來闡述。
深度學習發(fā)展歷史:
麥卡洛克
?(1) 1943年,由神經(jīng)科學家(W.S.McCilloch) 和數(shù)學家
皮茲(W.Pitts) 在《數(shù)學生物物理學公告》上發(fā)表論文《神經(jīng)活動中內(nèi)在思想的邏輯演算》(A Logical Calculus of the Ideas Immanent in Nervous Activity)。建立了神經(jīng)網(wǎng)絡(luò)和數(shù)學模型,稱為
MCP模型。所謂MCP模型,其實是按照生物神經(jīng)元的結(jié)構(gòu)和工作原理構(gòu)造出來的一個抽象和簡化了的模型,也就誕生了所謂的“模擬大腦”,人工神經(jīng)網(wǎng)絡(luò)的大門由此開啟。MCP當時是希望能夠用計算機來模擬人的神經(jīng)元反應(yīng)的過程,該模型將神經(jīng)元簡化為了三個過程:輸入信號線性加權(quán),求和,非線性激活(閾值法),如下圖所示:
羅森布拉特
?(2) 1958年,計算機科學家(Rosenblatt) 提出了兩層神經(jīng)元組成的神經(jīng)網(wǎng)絡(luò),稱之為“
感知器” (Perceptrons),第一次將MCP用于機器學習分類:“感知器”算法算法使用MCP模型對輸入的多維數(shù)據(jù)進行二分類,且能夠使用梯度下降法從訓(xùn)練樣本中自動學習更新權(quán)值。1962年,該方法被證明為能夠收斂,理論與實踐效果引起第一次神經(jīng)網(wǎng)絡(luò)的浪潮。
Marvin Minsky
?(3) 1969年,縱觀科學發(fā)展史,無疑都是充滿曲折的,深度學習也毫不例外。1969年,美國數(shù)學家及人工智能先驅(qū)在其著作中證明了感知器本質(zhì)上是一種
線性模型(Linear Model),只能處理
線性分類問題,就連最簡單的
亦或 (XOR) 問題都無法正確分類。這等于直接宣判了感知器的死刑,神經(jīng)網(wǎng)絡(luò)的研究也陷入了將近20年的停滯。
神經(jīng)網(wǎng)絡(luò)之父Geoffrey Hinton
?(4) 1986年,由在1986年發(fā)明了適用于
多層感知器(MLP) 的
反向傳播BP (Backpropagation) 算法,并采用
Sigmoid進行非線性映射,有效解決了
非線性分類和學習的問題。該方法引起了神經(jīng)網(wǎng)絡(luò)的第二次熱潮。
Geoffrey Hinton
?Sigmoid 函數(shù)是一個在生物學中常見的S型的函數(shù)(S型生長曲線)。在信息科學中,由于其單增以及反函數(shù)單增等性質(zhì),常被用作神經(jīng)網(wǎng)絡(luò)的閾值函數(shù),將變量映射到[0, 1]:Sigmoid(x)=1+e?x1
?(5) 90年代時期,1991年BP算法被指出存在梯度消失問題,也就是說在誤差梯度后項傳遞的過程中,后層梯度以乘性方式疊加到前層,由于Sigmoid函數(shù)的飽和特性,后層梯度本來就小,誤差梯度傳到前層時幾乎為0,因此無法對前層進行有效的學習,該問題直接阻礙了深度學習的進一步發(fā)展;此外90年代中期,支持向量機 (SVM) 算法誕生等各種淺層機器學習模型被提出,SVM也是一種有監(jiān)督的學習模型,應(yīng)用于模式識別,分類以及回歸分析等。支持向量機以統(tǒng)計學為基礎(chǔ),和神經(jīng)網(wǎng)絡(luò)有明顯的差異,支持向量機等算法的提出再次阻礙了深度學習的發(fā)展。
?(6) 2006年——2012年(發(fā)展期),2006年,加拿大多倫多大學教授、機器學習領(lǐng)域泰斗、神經(jīng)網(wǎng)絡(luò)之父——和他的學生
Ruslan Salakhutdinov在頂尖學術(shù)刊物《科學》上發(fā)表了一篇文章,該文章提出了深層網(wǎng)絡(luò)訓(xùn)練中梯度消失問題的解決方案:無監(jiān)督預(yù)訓(xùn)練對權(quán)值進行初始化+有監(jiān)督訓(xùn)練微調(diào)。斯坦福大學、紐約大學、加拿大蒙特利爾大學等成為研究深度學習的重鎮(zhèn),至此開啟了深度學習在學術(shù)界和工業(yè)界的浪潮。2011年,
修正線性單元 (Rectified Linear Unit, ReLU) 激活函數(shù)被提出,該激活函數(shù)能夠有效的抑制梯度消失問題:ReLU(x)=max(0,x)
深度神經(jīng)網(wǎng)絡(luò)
?2011年以來,微軟首次將深度學習應(yīng)用在語音識別上,取得了重大突破。微軟研究院和Google的語音識別研究人員先后采用(DNN) 技術(shù)降低語音識別錯誤率20%~30%,是語音識別領(lǐng)域十多年來最大的突破性進展。2012年,DNN技術(shù)在圖像識別領(lǐng)域取得驚人的效果,在ImageNet評測上將錯誤率從26%降低到15%。在這一年,DNN還被應(yīng)用于制藥公司的DrugeActivity預(yù)測問題,并獲得世界最好成績。
ImageNet圖像識別比賽
?(7) 2012年——2017年(爆發(fā)期),2012年,Hinton課題組為了證明深度學習的潛力,首次參加,其通過構(gòu)建的
卷積神經(jīng)網(wǎng)絡(luò) (CNN) AlexNet一舉奪得冠軍,且碾壓第二名(SVM方法)的分類性能。也正是由于該比賽,CNN吸引到了眾多研究者的注意。
DeepMind
?2016年,隨著谷歌 (Google) 旗下的公司基于深度學習開發(fā)的
AlphaGo以4 : 1的比分戰(zhàn)勝了國際頂尖圍棋高手
李世石,深度學習的熱度一時無兩。后來,AlphaGo又接連和眾多世界級圍棋高手過招,均取得了完勝。這也證明了在圍棋界,基于深度學習技術(shù)的機器人已經(jīng)超越了人。
Master
?2016年末2017年初,該程序在中國棋類網(wǎng)站上以“大師” () 為注冊賬號與中日韓數(shù)十位圍棋高手進行快棋對決,連續(xù)60局無一敗績;2017年5月,在中國烏鎮(zhèn)圍棋峰會上,它與排名世界第一的世界圍棋冠軍
柯潔對戰(zhàn),以3比0的總比分獲勝。圍棋界公認阿爾法圍棋的棋力已經(jīng)超過人類職業(yè)圍棋頂尖水平;同年,基于強化學習算法的AlphaGo升級版
AlphaGo Zero橫空出世,其采用“從零開始”、“無師自通”的學習模式,以100:0的比分輕而易舉打敗了之前的AlphaGo。除了圍棋,它還精通國際象棋等其它棋類游戲,可以說是真正的棋類“天才”。
醫(yī)療、金融、藝術(shù)、無人駕駛
?此外在這一年,深度學習的相關(guān)算法在等多個領(lǐng)域均取得了顯著的成果。所以,也有專家把2017年看作是深度學習甚至是人工智能發(fā)展最為突飛猛進的一年。
深度學習的定義:深度學習是機器學習中一種基于對數(shù)據(jù)進行
表征學習的算法。觀測值(例如一幅圖像)可以使用多種方式來表示,如每個像素強度值的向量,或者更抽象地表示一系列邊、特定形狀的區(qū)域等。而使用某些特定的表示方法更容易從實例中學習任務(wù)(例如人臉識別、面部表情識別)。深度學習的好處是用非監(jiān)督式或半監(jiān)督式的特征學習和分層特征提取高效算法來替代手工獲取特征。
深度神經(jīng)網(wǎng)絡(luò):深度學習的模型有很多,目前開發(fā)者最常用的深度學習模型與架構(gòu)包括卷積神經(jīng)網(wǎng)絡(luò) (CNN)、深度置信網(wǎng)絡(luò) (DBN)、受限玻爾茲曼機 (RBM)、遞歸神經(jīng)網(wǎng)絡(luò) (RNN & LSTM & GRU)、遞歸張量神經(jīng)網(wǎng)絡(luò) (RNTN)、自動編碼器 (AutoEncoder)、生成對抗網(wǎng)絡(luò) (GAN)等等,更多的模型可以參考下圖:
3. 強化學習
??強化學習在各個領(lǐng)域當中應(yīng)用十分廣泛,在這里主要給出它的定義、適用范圍、組成成分和交互過程。
強化學習的定義:強化學習 (Reinforcement learning, RL) 是機器學習中的一個領(lǐng)域,強調(diào)如何基于環(huán)境而行動,以取得最大化的預(yù)期利益;其靈感來源于
心理學中的行為主義理論,即有機體如何在環(huán)境給予的獎勵或懲罰的刺激下,逐步形成對刺激的預(yù)期,產(chǎn)生能獲得最大利益的習慣性行為。
強化學習適用范圍:盡管我們在機器學習社區(qū)中廣泛使用強化學習,但強化學習不僅僅是一個人工智能術(shù)語,它是許多領(lǐng)域中的一個中心思想,如下圖(強化學習的多個方面,Many Faces of Reinforcement Learning)所示。事實上,許多這些領(lǐng)域面臨著與機器學習相同的問題:如何優(yōu)化決策以實現(xiàn)最佳結(jié)果,這就是
決策科學(Science of Decision-Making);在
神經(jīng)科學中,人類研究人腦并發(fā)現(xiàn)了一種遵循著名的強化算法的獎勵系統(tǒng);在
心理學中,人們研究的經(jīng)典條件反射和操作性條件反射,也可以被認為是一個強化問題;類似的,在
經(jīng)濟學中我們研究理性博弈論;在
數(shù)學中我們研究運籌學;在
工程學中我們研究優(yōu)化控制;所有的這些問題都可以被認為一種強化學習問題——它們研究同一個主題,即為了實現(xiàn)最佳結(jié)果而優(yōu)化決策。
強化學習基本組成成分:強化學習主要由智能體 (Agent)、環(huán)境 (Environment)、狀態(tài) (State)、動作 (Action)、獎勵 (Reward)、策略 (Policy)、目標 (Objective) 組成。
智能體
?(1):強化學習的本體,作為學習者或者決策者;
環(huán)境
?(2):強化學習智能體以外的一切,主要由狀態(tài)集合組成;
狀態(tài)
?(3):一個表示環(huán)境的數(shù)據(jù),狀態(tài)集則是環(huán)境中所有可能的狀態(tài);
動作
?(4):智能體可以做出的動作,動作集則是智能體可以做出的所有動作;
獎勵
?(5):智能體在執(zhí)行一個動作后,獲得的正/負反饋信號,獎勵集則是智能體可以獲得的所有反饋信息;
策略
?(6):強化學習是從環(huán)境狀態(tài)到動作的映射學習,稱該映射關(guān)系為策略。通俗的理解,即智能體如何選擇動作的思考過程稱為策略;
目標
?(7):智能體自動尋找在連續(xù)時間序列里的最優(yōu)策略,而最優(yōu)策略通常指最大化長期累積獎勵。在此基礎(chǔ)上,智能體和環(huán)境通過狀態(tài)、動作、獎勵進行交互的方式為:智能體執(zhí)行了某個動作后,環(huán)境將會轉(zhuǎn)換到一個新的狀態(tài),對于該新的狀態(tài)環(huán)境會給出獎勵信號(正獎勵或者負獎勵)。隨后,智能體根據(jù)新的狀態(tài)和環(huán)境反饋的獎勵,按照一定的策略執(zhí)行新的動作。
?智能體通過強化學習,可以知道自己在什么狀態(tài)下,應(yīng)該采取什么樣的動作使得自身獲得最大獎勵;因此,強化學習實際上是智能體在與環(huán)境進行交互的過程中,學會最佳決策序列。由于智能體與環(huán)境的交互方式與人類與環(huán)境的交互方式類似,可以認為強化學習是一套通用的學習框架,可用來解決通用人工智能的問題。因此強化學習也被稱為通用人工智能的機器學習方法。
4. 遷移學習
??遷移學習 (Transfer Learning) 顧名思義就是就是把已學訓(xùn)練好的模型參數(shù)遷移到新的模型來幫助新模型訓(xùn)練??紤]到大部分數(shù)據(jù)或任務(wù)是存在相關(guān)性的,所以通過遷移學習我們可以將已經(jīng)學到的模型參數(shù)(也可理解為模型學到的知識)通過某種方式來分享給新模型從而加快并優(yōu)化模型的學習效率不用像大多數(shù)網(wǎng)絡(luò)那樣從零學習 (Starting From Scratch)。
遷移學習的定義:遷移學習是機器學習技術(shù)的一種,其中在一個任務(wù)上訓(xùn)練的模型被重新利用在另一個相關(guān)的任務(wù)上,定義一:“遷移學習和領(lǐng)域自適應(yīng)指的是將一個任務(wù)環(huán)境中學到的東西用來提升在另一個任務(wù)環(huán)境中模型的泛化能力” ——2016年“Deep Learning”,526頁;遷移學習也是一種優(yōu)化方法,可以在對另一個任務(wù)建模時提高進展速度或者是模型性能,定義二:“遷移學習就是通過從已學習的相關(guān)任務(wù)中遷移其知識來對需要學習的新任務(wù)進行提高?!薄?1章:轉(zhuǎn)移學習,機器學習應(yīng)用研究手冊,2009年;同在2009年,Sinno Jialin Pan和Qiang Yang發(fā)表了一篇遷移學習的《A Survey on Transfer Learning》,他們給出了遷移學習的數(shù)學定義三:Given a source domain DS={XS,fS(X)} and learning task TS, a target domain DT={XT,fT(X)} and learning task TT, transfer learning aims to help improve the learning of the target predictive function fT(?) in DT using the knowledge in DS and TS, where DS?=DT, or TS?=TT.
遷移學習在深度學習中的應(yīng)用:遷移學習還與
多任務(wù)學習和
概念漂移等問題有關(guān),它并不完全是深度學習的一個研究領(lǐng)域。盡管如此,由于訓(xùn)練深度學習模型所需耗費巨大資源,包括大量的數(shù)據(jù)集,遷移學習便成了深度學習是一種很受歡迎的方法。但是,只有當從第一個任務(wù)中學到的模型特征是容易泛化的時候,遷移學習才能在深度學習中起到作用。 “在遷移學習中,我們首先在基礎(chǔ)數(shù)據(jù)集和任務(wù)上訓(xùn)練一個基礎(chǔ)網(wǎng)絡(luò),然后將學習到的特征重新調(diào)整或者遷移到另一個目標網(wǎng)絡(luò)上,用來訓(xùn)練目標任務(wù)的數(shù)據(jù)集。如果這些特征是容易泛化的,且同時適用于基本任務(wù)和目標任務(wù),而不只是特定于基本任務(wù),那遷移學習就能有效進行?!薄疃壬窠?jīng)網(wǎng)絡(luò)中的特征如何遷移的?這種用于深度學習的遷移學習形式被稱為
推導(dǎo)遷移(Inductive Transfer)。就是通過使用合適但不完全相同的相關(guān)任務(wù)的模型,將模型的范圍(模型偏差)以有利的方式縮小。
牛津的VGG模型、谷歌的Inception模型、微軟的ResNet模型
舉個例子,使用圖像數(shù)據(jù)作為輸入的預(yù)測模型問題中進行遷移學習是很常見的,它可能是一個以照片或視頻數(shù)據(jù)作為輸入的預(yù)測任務(wù)。 對于這些類型的問題,通常會使用預(yù)先訓(xùn)練好的深度學習模型來處理大型的和具有挑戰(zhàn)性的圖像分類任務(wù),例如ImageNet 1000級照片分類競賽,我們可以下載以下模型,并合并到以自己圖像數(shù)據(jù)作為輸入的新模型中:。
遷移學習使用方法:我們可以在自己的預(yù)測模型問題上使用遷移學習,通常有兩種方法:開發(fā)模型方法和預(yù)訓(xùn)練模型方法。
開發(fā)模型方法
對于,分為四步:
預(yù)訓(xùn)練模型方法
?(1) 選擇源任務(wù):必須選擇一個與大量數(shù)據(jù)相關(guān)的預(yù)測模型問題,這個大量的數(shù)據(jù)需要與輸入數(shù)據(jù),輸出數(shù)據(jù)和/或從輸入到輸出數(shù)據(jù)映射過程中學習的概念之間存在某種關(guān)系。
?(2) 開發(fā)源模型:接下來,必須為這個第一項任務(wù)開發(fā)一個熟練的模型;該模型必須比原始模型更好,以確保一些特征學習已經(jīng)發(fā)揮了其作用。
?(3) 重用模型:然后可以將適合元任務(wù)的模型用作感興趣的另一個任務(wù)模型的起點;這取決于所使用的建模技術(shù),可能涉及到了全部或部分模型。
?(4) 調(diào)整模型:可選項,對感興趣任務(wù)的調(diào)整輸入—輸出配對數(shù)據(jù)或改進模型。
對于,分為三步:
?(1) 選擇源任務(wù):從可用的模型中選擇預(yù)訓(xùn)練的元模型,許多研究機構(gòu)會發(fā)布已經(jīng)在大量的且具有挑戰(zhàn)性的數(shù)據(jù)集上訓(xùn)練好的模型,在可用模型的模型池里面也能找到這些模型。
?(2) 重用模型:然后可以將預(yù)訓(xùn)練的模型用作感興趣的另一個任務(wù)模型的起點,這取決于所使用的建模技術(shù),可能涉及使用全部或部分模型。
?(3) 調(diào)整模型:可選項,對感興趣任務(wù)的調(diào)整輸入—輸出配對數(shù)據(jù)或改進模型。
其中,第二類遷移學習方法在深度學習領(lǐng)域是很常見的。
5. 機器學習 VS 深度學習 VS 強化學習 VS 遷移學習 VS 人工智能?
??以上我們分別介紹了機器學習、深度學習、強化學習、遷移學習算法,那么它們之前存在怎樣的關(guān)系呢?它們和人工智能又存在怎樣的關(guān)聯(lián)呢?
機器學習 VS 深度學習:機器學習是一種實現(xiàn)人工智能的方法,深度學習是一種實現(xiàn)機器學習的技術(shù),目前,學術(shù)界的各個人工智能研究方向(計算機視覺、自然語言處理等等),深度學習的效果都遠超過傳統(tǒng)的機器學習方法,再加上媒體對深度學習進行了大肆夸大的報道,有人甚至認為,“深度學習最終可能會淘汰掉其它所有機器學習算法”。這種看法是正確的嗎?
深度學習,作為目前最熱的機器學習方法,但并不意味著是機器學習的終點,目前存在以下問題:
?(1) 深度學習模型需要大量的訓(xùn)練數(shù)據(jù),才能展現(xiàn)出神奇的效果,但現(xiàn)實生活中往往會遇到小樣本問題,此時深度學習方法無法入手,傳統(tǒng)的機器學習方法就可以處理。
?(2) 有些領(lǐng)域,采用傳統(tǒng)簡單的機器學習方法,可以很好地解決,沒必要采用復(fù)雜的深度學習方法。
?(3) 深度學習的思想,來源于人腦的啟發(fā),但絕不是人腦的模擬,舉個例子:給一個三四歲的小孩看一輛自行車之后,再見到哪怕外觀完全不同的自行車,小孩也十有八九能做出那是一輛自行車的判斷,也就是說,人類的學習過程往往不需要大規(guī)模的訓(xùn)練數(shù)據(jù),目前深度學習方法顯然很難做到。
?(4) 目前在工業(yè)界,基于深度學習的人工智能項目落地非常困難。深度學習 VS 強化學習:深度學習和強化學習的主要區(qū)別在于:
?(1) 深度學習的訓(xùn)練樣本是有標簽的,強化學習的訓(xùn)練是沒有標簽的,它是通過環(huán)境給出的獎懲來學習。
?(2) 深度學習的學習過程是靜態(tài)的,強化學習的學習過程是動態(tài)的;這里靜態(tài)與動態(tài)的區(qū)別在于是否會與環(huán)境進行交互,深度學習是給什么樣本就學什么,而強化學習是要和環(huán)境進行交互,再通過環(huán)境給出的獎懲來學習。
?(3) 深度學習解決的更多是感知問題,強化學習解決的主要是決策問題;有監(jiān)督學習更像是”五官”,而強化學習更像“大腦”。機器學習 VS 深度學習 VS 強化學習:機器學習、深度學習、強化學習之間的關(guān)系如下:
?(1) 機器學習:一切通過優(yōu)化方法挖掘數(shù)據(jù)中規(guī)律的學科,多用于數(shù)據(jù)挖掘、數(shù)據(jù)分析和預(yù)測等領(lǐng)域。
?(2) 深度學習:一切運用了神經(jīng)網(wǎng)絡(luò)作為參數(shù)結(jié)構(gòu)進行優(yōu)化的機器學習算法,廣泛地應(yīng)用于是計算機視覺和自然語言處理領(lǐng)域。
?(3) 強化學習:不僅能利用現(xiàn)有數(shù)據(jù),還可以通過對環(huán)境的探索獲得新數(shù)據(jù),并利用新數(shù)據(jù)循環(huán)往復(fù)地更新迭代現(xiàn)有模型的機器學習算法;學習是為了更好地對環(huán)境進行探索,而探索是為了獲取數(shù)據(jù)進行更好的學習;目前實際應(yīng)用場景還比較窄,主要包括AI游戲 (Atari),推薦系統(tǒng)(阿里巴巴),機器人控制(如吳恩達的無人機)。
?(4) 深度強化學習:一切運用了神經(jīng)網(wǎng)絡(luò)作為參數(shù)結(jié)構(gòu)進行優(yōu)化的強化學習算法 (Google AlphaGo, Master)。機器學習 VS 深度學習 VS 遷移學習:當前的機器學習、深度學習存在一些局限性,我們采用遷移學習的方法可以解決這些痛點。
?(1) 我們可以在這個數(shù)據(jù)集上訓(xùn)練一個模型 A,并期望它在同一個任務(wù)和域A中的未知數(shù)據(jù)上表現(xiàn)良好;但是,當我們沒有足夠的來自于我們關(guān)心的任務(wù)或域的標簽數(shù)據(jù)時(新的標簽數(shù)據(jù)很難獲取、費時、昂貴),傳統(tǒng)的監(jiān)督學習方法會失靈——它往往無法得出一個可靠的模型。
?(2) 表達能力的限制:因為一個模型畢竟是一種現(xiàn)實的反映,等于是現(xiàn)實的鏡像,它能夠描述現(xiàn)實的能力越強就越準確,而機器學習和深度學習都是用變量來描述世界的,它們的變量數(shù)是有限的。
?(3) 模型復(fù)雜度高:隨著模型復(fù)雜度的提高,其參數(shù)個數(shù)和所需的數(shù)據(jù)量也是驚人的。
? 在NIPS 2016,吳恩達表示,“在繼深度學習之后,遷移學習將引領(lǐng)下一波機器學習技術(shù)”。總體關(guān)系:以上討論的算法和人工智能的關(guān)系如下圖所示,可以看出,提及的算法都是屬于人工智能的范疇,他們相互交叉卻不完全重合:機器學習是人工智能的算法基石,而其它算法都是機器學習的一個分支。
深度學習大佬Yoshua Bengio在 Quora 上有一段話講得特別好,這里引用一下:Science is NOT a battle, it is a collaboration. We all build on each other’s ideas. Science is an act of love, not war. Love for the beauty in the world that surrounds us and love to share and build something together. That makes science a highly satisfying activity, emotionally speaking! 這段話的大致意思是:科學不是戰(zhàn)爭而是合作,任何學科的發(fā)展從來都不是一條路走到黑,而是同行之間互相學習、互相借鑒、博采眾長、相得益彰,站在巨人的肩膀上不斷前行。機器學習的研究也是一樣,開放包容才是正道!