圖是一種數(shù)據(jù)結構,它對一組對象(節(jié)點)及其關系(邊)進行建模。近年來,由于圖結構的強大表現(xiàn)力,用機器學習方法分析圖的研究越來越受到重視。圖神經(jīng)網(wǎng)絡(GNN)是一類基于深度學習的處理圖域信息的方法。由于其較好的性能和可解釋性,GNN最近已成為一種廣泛應用的圖分析方法。
循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network, RNN)是一類以序列(sequence)數(shù)據(jù)為輸入,在序列的演進方向進行遞歸(recursion)且所有節(jié)點(循環(huán)單元)按鏈式連接的遞歸神經(jīng)網(wǎng)絡(recursive neural network)。對循環(huán)神經(jīng)網(wǎng)絡的研究始于二十世紀80-90年代,并在二十一世紀初發(fā)展為深度學習(deep learning)算法之一,其中雙向循環(huán)神經(jīng)網(wǎng)絡(Bidirectional RNN, Bi-RNN)和長短期記憶網(wǎng)絡(Long Short-Term Memory networks,LSTM)是常見的循環(huán)神經(jīng)網(wǎng)絡。
AutoEncoder的基本思想是利用神經(jīng)網(wǎng)絡來做無監(jiān)督學習,就是把樣本的輸入同時作為神經(jīng)網(wǎng)絡的輸入和輸出。本質上是希望學習到輸入樣本的表示(encoding)。早期AutoEncoder的研究主要是數(shù)據(jù)過于稀疏、數(shù)據(jù)高維導致計算復雜度高。比較早用神經(jīng)網(wǎng)絡做AutoEncoder的可以追溯到80年代的BPNN和MLP以及當時Hinton推崇的RBM。后來到了2000年以后還堅持在做的只剩下Hinton的RBM了。從2000年以后,隨著神經(jīng)網(wǎng)絡的快速興起,AutoEncoder也得到快速發(fā)展,基本上有幾條線:稀疏AutoEncoder、噪音容忍AutoEncoder、卷積AutoEncoder、變分AutoEncoder。最新的進展是結合對抗思想的對抗AutoEncoder。
卷積神經(jīng)網(wǎng)絡的發(fā)展,最早可以追溯到1962年,Hubel和Wiesel對貓大腦中的視覺系統(tǒng)的研究。1980年,一個日本科學家福島邦彥(Kunihiko Fukushima)提出了一個包含卷積層、池化層的神經(jīng)網(wǎng)絡結構。在這個基礎上,Yann Lecun將BP算法應用到這個神經(jīng)網(wǎng)絡結構的訓練上,就形成了當代卷積神經(jīng)網(wǎng)絡的雛形。
深度學習是近10年機器學習領域發(fā)展最快的一個分支,由于其重要性,三位教授(Geoffrey Hinton、Yann Lecun、Yoshua Bengio)因此同獲圖靈獎。深度學習模型的發(fā)展可以追溯到1958年的感知機(Perceptron)。1943年神經(jīng)網(wǎng)絡就已經(jīng)出現(xiàn)雛形(源自NeuroScience),1958年研究認知的心理學家Frank發(fā)明了感知機,當時掀起一股熱潮。后來Marvin Minsky(人工智能大師)和Seymour Papert發(fā)現(xiàn)感知機的缺陷:不能處理異或回路等非線性問題,以及當時存在計算能力不足以處理大型神經(jīng)網(wǎng)絡的問題。于是整個神經(jīng)網(wǎng)絡的研究進入停滯期。
有一些特定的標準可用于分類模型解釋方法。Christoph Molnar在2018年“可解釋的機器學習,制作黑箱模型可解釋指南”中提到了一個很好的指南。
在工業(yè)界中,數(shù)據(jù)科學或機器學習的主要焦點是更偏“應用”地解決復雜的現(xiàn)實世界至關重要的問題,而不是理論上有效地應用這些模型于正確的數(shù)據(jù)。機器學習模型本身由算法組成,該算法試圖從數(shù)據(jù)中學習潛在模式和關系,而無需硬編碼固定規(guī)則。因此,解釋模型如何對業(yè)務起作用總是會帶來一系列挑戰(zhàn)。有一些領域的行業(yè),特別是在保險或銀行等金融領域,數(shù)據(jù)科學家通常最終不得不使用更傳統(tǒng)的機器學習模型(線性或基于樹的)。原因是模型可解釋性對于企業(yè)解釋模型所采取的每個決策非常重要。
可解釋性是指人類能夠理解決策原因的程度。機器學習模型的可解釋性越高,人們就越容易理解為什么做出某些決定或預測。模型可解釋性指對模型內部機制的理解以及對模型結果的理解。其重要性體現(xiàn)在:建模階段,輔助開發(fā)人員理解模型,進行模型的對比選擇,必要時優(yōu)化調整模型;在投入運行階段,向業(yè)務方解釋模型的內部機制,對模型結果進行解釋。比如基金推薦模型,需要解釋:為何為這個用戶推薦某支基金。
學習器模型中一般有兩類參數(shù),一類是可以從數(shù)據(jù)中學習估計得到,還有一類參數(shù)時無法從數(shù)據(jù)中估計,只能靠人的經(jīng)驗進行設計指定,后者成為超參數(shù)。比如,支持向量機里面的C,Kernal,game;樸素貝葉斯里面的alpha等。
自動機器學習(AutoML)旨在通過讓一些通用步驟(如數(shù)據(jù)預處理、模型選擇和調整超參數(shù))自動化,來簡化機器學習中生成模型的過程。AutoML是指盡量不通過人來設定超參數(shù),而是使用某種學習機制,來調節(jié)這些超參數(shù)。這些學習機制包括傳統(tǒng)的貝葉斯優(yōu)化,進化算法,還有比較新的強化學習。當我們提起AutoML時,我們更多地是說自動化數(shù)據(jù)準備(即數(shù)據(jù)的預處理,數(shù)據(jù)的生成和選擇)和模型訓練(模型選擇和超參數(shù)調優(yōu))。這個過程的每一步都有非常多的選項,根據(jù)我們遇到的問題,需要設定各種不同的選項。
對抗機器學習是一個機器學習與計算機安全的交叉領域。對抗機器學習旨在給惡意環(huán)境下的機器學習技術提供安全保障。由于機器學習技術一般研究的是同一個或較為穩(wěn)定的數(shù)據(jù)分布,當部署到現(xiàn)實中的時候,由于惡意用戶的存在,這種假設并不一定成立。比如研究人員發(fā)現(xiàn),一些精心設計的對抗樣本(adversarial example)可以使機器學習模型不能成功地輸出正確的結果。針對模型的攻擊問題,我們主要分為兩大類,就是從訓練階段和推理(inference)階段來進行討論。
生成對抗網(wǎng)絡(Generative Adversarial Networks,GAN)是用于無監(jiān)督學習的機器學習模型,由Ian Goodfellow等人在2014年提出。由神經(jīng)網(wǎng)絡構成判別器和生成器構成,通過一種互相競爭的機制組成的一種學習框架,GAN在深度學習領域掀起了一場革命,這場革命產生了一些重大的技術突破,學術界和工業(yè)界都開始接受并歡迎GAN的到來。GAN最厲害的地方是它的學習性質是無監(jiān)督的,GAN也不需要標記數(shù)據(jù),這使得GAN功能強大,因為數(shù)據(jù)標記的工作非??菰?。
從1990到2012年,機器學習逐漸走向成熟和應用,在這20多年里機器學習的理論和方法得到了完善和充實,可謂是百花齊放的年代。代表性的重要成果有:支持向量機(SVM,1995)、AdaBoost算法(1997)、循環(huán)神經(jīng)網(wǎng)絡和LSTM(1997)、流形學習(2000)、隨機森林(2001)。
1980年機器學習作為一支獨立的力量登上了歷史舞臺。在這之后的10年里出現(xiàn)了一些重要的方法和理論,典型的代表是:分類與回歸樹(CART,1984)、反向傳播算法(1986)、卷積神經(jīng)網(wǎng)絡(1989)。
機器學習算法可以按照不同的標準來進行分類。按照訓練樣本提供的信息以及反饋方式的不同,將機器學習算法分為監(jiān)督學習、無監(jiān)督學習和強化學習。