人類的進(jìn)化發(fā)展史就是一部人類制造和使用工具的歷史,不同的工具代表了人類的進(jìn)化水平。從石器時(shí)代、鐵器時(shí)代、蒸汽時(shí)代、電氣時(shí)代再到現(xiàn)在的信息時(shí)代,我們使用更加先進(jìn)便捷的工具來改變生產(chǎn)和生活。
工具的目的是延伸和拓展人類的能力,我們跑得不快,但可以借助騎馬和開車日行千里,跳得不高,更不會(huì)飛,但是借助飛機(jī)火箭上天入地。工具總體來看可以分為兩類:拓展人類體力的工具和拓展人類腦力的工具。
在計(jì)算機(jī)發(fā)明之前,人類制造的大多數(shù)工具都是前者,它可以幫助我們減少體力勞動(dòng)。比如使用?;蛘咄侠瓩C(jī)來耕地的效率更高。
當(dāng)然也有少量的減少腦力勞動(dòng)的工具,比如算盤,也包括文字——它可以極大的擴(kuò)充人類的記憶容量,現(xiàn)在很多機(jī)械的腦力勞動(dòng)都可以由計(jì)算機(jī)完成。但傳統(tǒng)的計(jì)算機(jī)程序只能幫我們擴(kuò)充記憶和完成簡單機(jī)械的計(jì)算,我們有容量更大速度更快的存儲(chǔ)器,可以編制財(cái)務(wù)軟件來幫助進(jìn)行財(cái)務(wù)核算。
我們無法實(shí)現(xiàn)需要“智能”才能來完成的事情,比如無法讓計(jì)算機(jī)進(jìn)行汽車駕駛,計(jì)算機(jī)目前也無法像人類一樣用自然語言和人類進(jìn)行日常溝通,而人工智能的目標(biāo)就是讓計(jì)算機(jī)能夠像人類一樣“智能”的解決這些復(fù)雜問題。
現(xiàn)在的人工智能系統(tǒng)已經(jīng)能夠在圍棋上戰(zhàn)勝人類世界冠軍,現(xiàn)在的語音識(shí)別系統(tǒng)已經(jīng)能在某些特定場景下達(dá)到人類的識(shí)別準(zhǔn)確率,無人駕駛的汽車也已經(jīng)在某些地方實(shí)驗(yàn)性的上路了。
未來,人工智能會(huì)有更多的應(yīng)用場景,我們的終極目標(biāo)是制造和人類一樣甚至超越人類智能的機(jī)器。
人工智能發(fā)展簡史
人工智能最早的探索也許可以追溯到萊布尼茨,他試圖制造能夠進(jìn)行自動(dòng)符號(hào)計(jì)算的機(jī)器,但現(xiàn)代意義上人工智能這個(gè)術(shù)語誕生于1956年的達(dá)特茅斯會(huì)議。
關(guān)于人工智能有很多的定義,它本身就是很多學(xué)科的交叉融合,不同的人關(guān)注它的不同方面,因此很難給出一個(gè)大家都認(rèn)可的一個(gè)定義。我們下面通過時(shí)間的脈絡(luò)來了解AI的反正過程。
黃金時(shí)期(1956-1974)
這是人工智能的一個(gè)黃金時(shí)期,大量的資金用于支持這個(gè)學(xué)科的研究和發(fā)展。這一時(shí)期有影響力的研究包括通用問題求解器(General Problem Solver),以及最早的聊天機(jī)器人ELIZA。很多人都以為與其聊天的ELIZA是一個(gè)真人,但它只是簡單的基于匹配模板的方式來生成回復(fù)(我們現(xiàn)在很多市面上的聊天機(jī)器人其實(shí)也使用了類似的技術(shù))。
當(dāng)時(shí)人們非常樂觀,比如H. A. Simon在1958年斷言不出10年計(jì)算機(jī)將在下(國際)象棋上擊敗人類。他在1965年甚至說“二十年后計(jì)算機(jī)將可以做所有人類能做的事情”。
第一次寒冬(1974-1980)
到了這一時(shí)期,之前的斷言并沒有兌現(xiàn),因此各種批評之聲涌現(xiàn)出來,國家(美國)也不再投入更多經(jīng)費(fèi),人工智能進(jìn)入第一次寒冬。這個(gè)時(shí)期也是聯(lián)結(jié)主義(connectionism)的黑暗時(shí)期。1958年Frank Rosenblatt提出了感知機(jī)(Perception),這可以認(rèn)為是最早的神經(jīng)網(wǎng)絡(luò)的研究。但是在之后的10年聯(lián)結(jié)主義沒有太多的研究和進(jìn)展。
興盛期(1980-1989)
這一時(shí)期的興盛得益于專家系統(tǒng)的流行。聯(lián)結(jié)主義的神經(jīng)網(wǎng)絡(luò)也有所發(fā)展,包括1982年John Hopfield提出了Hopfield網(wǎng)絡(luò),以及同時(shí)期發(fā)現(xiàn)的反向傳播算法,但主流的方法還是基于符號(hào)主義的專家系統(tǒng)。
第二次寒冬(1989-1993)
之前成功的專家系統(tǒng)由于成本太高以及其它的原因,商業(yè)上很難獲得成功,人工智能再次進(jìn)入寒冬期。
發(fā)展期(1993-2006)
這一期間人工智能的主流是機(jī)器學(xué)習(xí)。統(tǒng)計(jì)學(xué)習(xí)理論的發(fā)展和SVM這些工具的流行,使得機(jī)器學(xué)習(xí)進(jìn)入穩(wěn)步發(fā)展的時(shí)期。
爆發(fā)期(2006-現(xiàn)在)
這一次人工智能的發(fā)展主要是由深度學(xué)習(xí),也就是深度神經(jīng)網(wǎng)絡(luò)帶動(dòng)的。上世紀(jì)八九十年度神經(jīng)網(wǎng)絡(luò)雖然通過非線性激活函數(shù)解決了理論上的異或問題,而反向傳播算法也使得訓(xùn)練淺層的神經(jīng)網(wǎng)絡(luò)變得可能。
不過,由于計(jì)算資源和技巧的限制,當(dāng)時(shí)無法訓(xùn)練更深層的網(wǎng)絡(luò),實(shí)際的效果并不比傳統(tǒng)的“淺度”的機(jī)器學(xué)習(xí)方法好,因此并沒有太多人關(guān)注這個(gè)方向。
直到2006年,Hinton提出了Deep Belief Nets (DBN),通過pretraining的方法使得訓(xùn)練更深的神經(jīng)網(wǎng)絡(luò)變得可能。2009年Hinton和DengLi在語音識(shí)別系統(tǒng)中首次使用了深度神經(jīng)網(wǎng)絡(luò)(DNN)來訓(xùn)練聲學(xué)模型,最終系統(tǒng)的詞錯(cuò)誤率(Word Error Rate/WER)有了極大的降低。
讓深度學(xué)習(xí)在學(xué)術(shù)界名聲大噪的是2012年的ILSVRC評測。在這之前,最好的top5分類錯(cuò)誤率在25%以上,而2012年AlexNet首次在比賽中使用了深層的卷積網(wǎng)絡(luò),取得了16%的錯(cuò)誤率。之后每年都有新的好成績出現(xiàn),2014年是GoogLeNet和VGG,而2015年是ResNet殘差網(wǎng)絡(luò),目前最好系統(tǒng)的top5分類錯(cuò)誤率在5%以下了。
真正讓更多人(尤其是中國人)了解深度學(xué)習(xí)進(jìn)展的是2016年Google DeepMind開發(fā)的AlphaGo以4比1的成績戰(zhàn)勝了人類世界冠軍李世石。因此人工智能進(jìn)入了又一次的興盛期,各路資本競相投入,甚至國家層面的人工智能發(fā)展計(jì)劃也相繼出臺(tái)。
2006年到現(xiàn)在分領(lǐng)域的主要進(jìn)展
下面我們來回顧一下從2006年開始深度學(xué)習(xí)在計(jì)算機(jī)視覺、聽覺、自然語言處理和強(qiáng)化學(xué)習(xí)等領(lǐng)域的主要進(jìn)展,根據(jù)它的發(fā)展過程來分析未來可能的發(fā)展方向。因?yàn)樽髡咚胶团d趣點(diǎn)的局限,這里只是列舉作者了解的一些文章,所以肯定會(huì)遺漏一些重要的工作。
計(jì)算機(jī)視覺
無監(jiān)督預(yù)訓(xùn)練
雖然”現(xiàn)代”深度學(xué)習(xí)的很多模型,比如DNN、CNN和RNN(LSTM)很早就提出來了,但在2006年之前,大家沒有辦法訓(xùn)練很多層的神經(jīng)網(wǎng)絡(luò),因此在效果上深度學(xué)習(xí)和傳統(tǒng)的機(jī)器學(xué)習(xí)并沒有顯著的差別。
2006年,Hinton等人在論文《A fast learning algorithm for deep belief nets》里提出了通過貪心的、無監(jiān)督的Deep Belief Nets(DBN)逐層Pretraining的方法和最終有監(jiān)督fine-tuning的方法首次實(shí)現(xiàn)了訓(xùn)練多層(五層)的神經(jīng)網(wǎng)絡(luò)。此后的研究熱點(diǎn)就是怎么使用各種技術(shù)訓(xùn)練深度的神經(jīng)網(wǎng)絡(luò),這個(gè)過程大致持續(xù)到2010年。主要的想法是使用各種無監(jiān)督的Pretraining的方法,除了DBN,Restricted Boltzmann Machines(RBM), Deep Boltzmann Machines(DBM)還有Denoising Autoencoders等模型也在這一期間提出。
代表文章包括Hinton等人的《Reducing the dimensionality of data with neural networks》發(fā)表在Nature上)、Bengio等人在NIPS 2007上發(fā)表的《Greedy layer-wise training of deep networks》,Lee等人發(fā)表在ICML 2009上的《Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations》,Vincent等人2010年發(fā)表的《Stacked denoising autoencoders: Learning useful representations in a deep network with a local denoising criterion》。
那個(gè)時(shí)候要訓(xùn)練較深的神經(jīng)網(wǎng)絡(luò)是非常tricky的事情,因此也有類似Glorot等人的《Understanding the difficulty of training deep feedforward neural networks》,大家在使用深度學(xué)習(xí)工具時(shí)可能會(huì)遇到Xavier初始化方法,這個(gè)方法的作者正是Xavier Glorot。那個(gè)時(shí)候能把超參數(shù)選好從而能夠訓(xùn)練好的模型是一種”黑科技”,我記得還有一本厚厚的書《Neural Networks: Tricks of the Trade》,專門介紹各種tricks。
深度卷積神經(jīng)網(wǎng)絡(luò)
深度學(xué)習(xí)受到大家的關(guān)注很大一個(gè)原因就是Alex等人實(shí)現(xiàn)的AlexNet在LSVRC-2012 ImageNet這個(gè)比賽中取得了非常好的成績。此后,卷積神經(jīng)網(wǎng)絡(luò)及其變種被廣泛應(yīng)用于各種圖像相關(guān)任務(wù)。從2012年開始一直到2016年,每年的LSVRC比賽都會(huì)產(chǎn)生更深的模型和更好的效果。
Alex Krizhevsky在2012年的論文《ImageNet classification with deep convolutional neural networks》開啟了這段”深度”競爭之旅。
2014年的冠軍是GoogleNet,來自論文《Going deeper with convolutions》,它提出了Inception的結(jié)構(gòu),通過這種結(jié)構(gòu)可以訓(xùn)練22層的深度神經(jīng)網(wǎng)絡(luò)。它同年的亞軍是VGGNet,它在模型結(jié)構(gòu)上并沒有太多變換,只是通過一些技巧讓卷積網(wǎng)絡(luò)變得更深(18層)。
2015年的冠軍是ResNet,來自何愷明等人的論文《Deep residual learning for image recognition》,通過引入殘差結(jié)構(gòu),他們可以訓(xùn)練152層的網(wǎng)絡(luò),2016年的文章《Identity Mappings in Deep Residual Networks》對殘差網(wǎng)絡(luò)做了一些理論分析和進(jìn)一步的改進(jìn)。
2016年Google的Szegedy等人在論文《Inception-v4, inception-resnet and the impact of residual connections on learning》里提出了融合殘差連接和Incpetion結(jié)構(gòu)的網(wǎng)絡(luò)結(jié)構(gòu),進(jìn)一步提升了識(shí)別效果。
下圖是這些模型在LSVRC比賽上的效果,我們可以看到隨著網(wǎng)絡(luò)的加深,分類的top-5錯(cuò)誤率在逐漸下降。
目標(biāo)檢測和實(shí)例分割
前面的模型主要考慮的是圖片分類任務(wù),目標(biāo)檢測和實(shí)例分割也是計(jì)算機(jī)視覺非常常見的任務(wù)。把深度卷積神經(jīng)網(wǎng)絡(luò)用到這兩個(gè)任務(wù)上是非常自然的事情,但是這個(gè)任務(wù)除了需要知道圖片里有什么物體,還需要準(zhǔn)確的定位這些物體。為了把卷積神經(jīng)網(wǎng)絡(luò)用于這類任務(wù),需要做很多改進(jìn)工作。
當(dāng)然把CNN用于目標(biāo)檢測非常自然,最簡單的就是先對目標(biāo)使用傳統(tǒng)的方法進(jìn)行定位,但是定位效果不好。Girshick等人在2014年在論文《Rich feature hierarchies for accurate object detection and semantic segmentation》提出了R-CNN模型,使用Region Proposal來產(chǎn)生大量的候選區(qū)域,最后用CNN來判斷是否是目標(biāo),但因?yàn)樾枰獙λ械暮蜻x進(jìn)行分類判斷,因此它的速度非常慢。
2015年,Girshick等人提出了Fast R-CNN,它通過RoI Pooling層通過一次計(jì)算同時(shí)計(jì)算所有候選區(qū)域的特征,從而可以實(shí)現(xiàn)快速計(jì)算。
但是Regional Proposal本身就很慢,Ren等人在同年的論文《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》提出了Faster R-CNN,通過使用Region Proposal Networks(RPN)這個(gè)網(wǎng)絡(luò)來替代原來的Region Proposal算法,從而實(shí)現(xiàn)實(shí)時(shí)目標(biāo)檢測算法。
為了解決目標(biāo)物體在不同圖像中不同尺寸(scale)的問題,Lin等人在論文《Feature Pyramid Networks for Object Detection》里提出了Feature Pyramid Networks(FPN)。
圖:Fast R-CNN
因?yàn)镽-CNN在目標(biāo)檢測任務(wù)上很好的效果,把Faster R-CNN用于實(shí)例分割是很自然的想法。但是RoI Pooling在用于實(shí)例分割時(shí)會(huì)有比較大的偏差,原因在于Region Proposal和RoI Pooling都存在量化的舍入誤差。因此何愷明等人在2017年提出了Mask R-CNN模型。
從這一系列文章我們可以看到深度學(xué)習(xí)應(yīng)用于一個(gè)更復(fù)雜場景的過程:首先是在一個(gè)復(fù)雜的過程中部分使用深度神經(jīng)網(wǎng)絡(luò),最后把所有的過程End-to-End的用神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)。
此外,Redmon等人《You only look once: Unified, real-time object detection》提出了YOLO模型(包括后續(xù)的YOLOv2和YOLOv3等),Liu等人也提出的SSD: Single Shot MultiBox Detector模型,這些模型的目的是為了保持準(zhǔn)確率不下降的條件下怎么加快檢測速度。
生成模型
如果要說最近在計(jì)算機(jī)視覺哪個(gè)方向最火,生成模型絕對是其中之一。要識(shí)別一個(gè)物體不容易,但是要生成一個(gè)物體更難(三歲小孩就能識(shí)別貓,但是能畫好一只貓的三歲小孩并不多)。而讓生成模型火起來的就是Goodfellow在2014年提出的Generative Adversarial Nets(簡稱GAN)。
因?yàn)檫@個(gè)領(lǐng)域比較新,而且研究的”范圍”很廣,也沒有圖像分類這樣的標(biāo)準(zhǔn)任務(wù)和ImageNet這樣的標(biāo)準(zhǔn)數(shù)據(jù)集,很多時(shí)候評測的方法非常主觀。很多文章都是找到某一個(gè)應(yīng)用點(diǎn),然后生成(也可能是精心挑選)了一些很酷的圖片或者視頻,”有圖有真相”,大家一看圖片很酷,內(nèi)容又看不懂,因此不明覺厲。
要說解決了什么實(shí)際問題,也很難說。但是不管怎么說,這個(gè)方向是很吸引眼球的,比如DeepFake這樣的應(yīng)用一下就能引起大家的興趣和討論。我對這個(gè)方向了解不多,下面只列舉一些應(yīng)用。
style-transfer
最早的《A Neural Algorithm of Artistic Style》發(fā)表于2015年,這還是在GAN提出之前,不過我還是把它放到生成模型這里了。它當(dāng)年可是火過一陣,還因此產(chǎn)生了一個(gè)爆款的App叫Prisma。如下圖所示,給定一幅風(fēng)景照片和一幅畫(比如c是梵高的畫),使用這項(xiàng)技術(shù)可以在風(fēng)景照片里加入梵高的風(fēng)格。
朱俊彥等人在《Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks》提出的CycleGAN是一個(gè)比較有趣其的模型,它不需要Paired的數(shù)據(jù)。所謂Paired數(shù)據(jù),就是需要一張普通馬的照片,還需要一張斑馬的照片,而且要求它們內(nèi)容是完全匹配的。
要獲得配對的數(shù)據(jù)是非常困難的,我們拍攝的時(shí)候不可能找到外形和姿勢完全相同的斑馬和普通馬,包括相同的背景。另外給定一張梵高的作品,我們怎么找到與之配對的照片?或者反過來,給定一張風(fēng)景照片,去哪找和它內(nèi)容相同的藝術(shù)作品?
本文介紹的Cycle GAN不要求有配對的訓(xùn)練數(shù)據(jù),而只需要兩個(gè)不同Domain的未標(biāo)注數(shù)據(jù)集就行了。比如要把普通馬變成斑馬,我們只需要準(zhǔn)備很多普通馬的照片和很多斑馬的照片,然后把所有斑馬的照片放在一起,把所有的普通馬照片放到一起就行了,這顯然很容易。風(fēng)景畫變梵高風(fēng)格也很容易——我們找到很多風(fēng)景畫的照片,然后盡可能多的找到梵高的畫作就可以了。它的效果如下圖所示。
text-to-image
text-to-image是根據(jù)文字描述來生成相應(yīng)的圖片,這和Image Captioning正好相反。Zhang等人2016年的《StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks》是這個(gè)方向較早的一篇文章,其效果如下圖最后一行所示。
super-resolution
super-resolution是根據(jù)一幅低分辨率的圖片生成對應(yīng)高分辨率的圖片,和傳統(tǒng)的插值方法相比,生成模型因?yàn)閺拇罅康膱D片里學(xué)習(xí)到了其分布,因此它”猜測”出來的內(nèi)容比插值效果要好很多。
《Enhanced Super-Resolution Generative Adversarial Networks》是2018年的一篇文章,它的效果如下圖中間所示。
image inpainting
image inpainting是遮擋掉圖片的一部分,比如打了馬賽克,然后用生成模型來”修補(bǔ)”這部分內(nèi)容。下圖是Generative Image Inpainting with Contextual Attention的效果。
《EdgeConnect: Generative Image Inpainting with Adversarial Edge Learning》這篇文章借鑒人類繪畫時(shí)先畫輪廓(線)后上色的過程,通過把inpainting分成edge generator和image completion network兩個(gè)步驟,如下面是它的效果。
最新熱點(diǎn):自動(dòng)優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)和半監(jiān)督學(xué)習(xí)
最近有兩個(gè)方向我覺得值得關(guān)注:一個(gè)是自動(dòng)優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu);另一個(gè)是半監(jiān)督的學(xué)習(xí)。
自動(dòng)網(wǎng)絡(luò)優(yōu)化最新的文章是Google研究院的《EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks》,它希望找到一個(gè)神經(jīng)網(wǎng)絡(luò)擴(kuò)展方法可以同時(shí)提高網(wǎng)絡(luò)的準(zhǔn)確率和效率(減少參數(shù))。要實(shí)現(xiàn)這點(diǎn),一個(gè)很關(guān)鍵的步驟便是如何平衡寬度、深度和分辨率這三個(gè)維度。
作者發(fā)現(xiàn),可以使用一種固定比例的縮放操作簡單地實(shí)現(xiàn)對三者的平衡。最終,作者提出了一種簡單卻有效的compound scaling method。如果想使用 2??倍的計(jì)算資源,只需要對網(wǎng)絡(luò)寬度增加????,深度增加????和增加????倍的圖像大小。其中??,??,??是固定的系數(shù),最優(yōu)的值通常使用小范圍的grid search得到。
通過這種方法他們實(shí)現(xiàn)了EfficientNet模型,這個(gè)模型使用非常少的參數(shù)就達(dá)到了很好的效果,如下圖所示。
我們可以看到,EfficientNet比之前最好的模型GPipe要小8.4倍,但是效果比它還要好。
半監(jiān)督學(xué)習(xí)這里指的是通過未標(biāo)注的圖片來預(yù)訓(xùn)練學(xué)習(xí)特征,然后用少量監(jiān)督的數(shù)據(jù)進(jìn)行學(xué)習(xí)。最新的文章是Google DeepMind的《Data-Efficient Image Recognition with Contrastive Predictive Coding》。
這篇文章通過Contrastive Predictive Coding的方法來從大量未標(biāo)注的數(shù)據(jù)量提取特征。在這些特征上簡單的加上一個(gè)線性的softmax層,在ImageNet上就可以超過使用AlexNet有監(jiān)督學(xué)習(xí)的模型。
如果每個(gè)類的訓(xùn)練數(shù)據(jù)只有13個(gè),則本文的方法比只用13個(gè)數(shù)據(jù)訓(xùn)練的模型的Top-5準(zhǔn)確率要高20%,比之前最好的半監(jiān)督模型高10%。傳統(tǒng)的很多無監(jiān)督的特征在少量數(shù)據(jù)會(huì)比較好,但是當(dāng)數(shù)據(jù)量足夠多的時(shí)候會(huì)比完全的監(jiān)督學(xué)習(xí)要差,但是本文的方法得到的特征使用全部的ImageNet數(shù)據(jù)訓(xùn)練,也可以達(dá)到和完全監(jiān)督學(xué)習(xí)類似的效果,這說明它學(xué)到的特征足夠好。
語音識(shí)別
語音識(shí)別系統(tǒng)是一個(gè)非常復(fù)雜的系統(tǒng),在深度學(xué)習(xí)技術(shù)之前的主流系統(tǒng)都是基于HMM模型。它通常時(shí)候HMM-GMM來建模subword unit(比如triphone),通過發(fā)音詞典來把subword unit的HMM拼接成詞的HMM,最后解碼器還要加入語言模型最終來融合聲學(xué)模型和語言模型在巨大的搜索空間里尋找最優(yōu)的路徑。
Hinton一直在嘗試使用深度神經(jīng)網(wǎng)絡(luò)來改進(jìn)語音識(shí)別系統(tǒng),最早(2006年后)的工作是2009年發(fā)表的《Deep belief networks for phone recognition》,這正是Pretraining流行的時(shí)期,把DBN從計(jì)算機(jī)視覺用到語音識(shí)別是非常自然的想法。
類似的工作包括2010年的《Phone Recognition using Restricted Boltzmann Machines》。但是這些工作只是進(jìn)行最簡單的phone分類,也就是判斷每一幀對應(yīng)的phone,這距離連續(xù)語音識(shí)別還相差的非常遠(yuǎn)。
真正把深度神經(jīng)網(wǎng)絡(luò)用于語音識(shí)別的重要文章是Hinton等人2012年《Deep Neural Networks for Acoustic Modeling in Speech Recognition》的文章,這篇文章使用DNN替代了傳統(tǒng)HMM-GMM聲學(xué)模型里的GMM模型,從此語音識(shí)別的主流框架變成了HMM-DNN的模型。接著在2013年Sainath等人在《Deep convolutional neural networks for LVCSR》用CNN替代普通的全連接網(wǎng)絡(luò)。
從George等人的文章《Improving deep neural networks for LVCSR using rectified linear units and dropout》也可以發(fā)現(xiàn)在計(jì)算機(jī)視覺常用的一些技巧也用到了語音識(shí)別上。
前面的HMM-DNN雖然使用了深度神經(jīng)網(wǎng)絡(luò)來替代GMM,但是HMM和后面的N-gram語言模型仍然存在,而且DNN本身的訓(xùn)練還需要使用HMM-GMM的強(qiáng)制對齊來提供幀級(jí)別的訓(xùn)練數(shù)據(jù)。
怎么構(gòu)建一個(gè)End-to-end的語音識(shí)別系統(tǒng)一直是學(xué)術(shù)界關(guān)注的重點(diǎn)。RNN我們現(xiàn)在處理時(shí)序數(shù)據(jù)的有力武器,2013年的時(shí)候Graves等人在論文《Speech Recognition with Deep Recurrent Neural Networks》里把RNN用于了語音識(shí)別。這篇文章使用了RNN加上CTC損失函數(shù),CTC是后來的Deep Speech的核心。
雖然”真正”把CTC用于語音識(shí)別是在2013年,但是Graves卻是早在2006年的時(shí)候就在論文《Connectionist temporal classification: labelling unsegmented sequence data with recurrent neural networks》提出了CTC。
Hannun等人在2014年提出的《Deep Speech: Scaling up end-to-end speech recognition》是首個(gè)效果能和HMM-DNN媲美的End-to-end系統(tǒng),包括后續(xù)的《Deep Speech 2: End-to-End Speech Recognition in English and Mandarin》。Deep Speech的系統(tǒng)非常簡單,輸入是特征序列,輸出就是字符序列,沒有HMM、GMM、發(fā)音詞典這些模塊,甚至沒有phone的概念。
除了基于CTC損失函數(shù)的End-to-end系統(tǒng),另外一類End-to-end系統(tǒng)借鑒了機(jī)器翻譯等系統(tǒng)常用的seq2seq模型。
這包括最早的《Listen, attend and spell: A neural network for large vocabulary conversational speech recognition》,Google的《State-of-the-art Speech Recognition With Sequence-to-Sequence Models》總結(jié)了用于語音識(shí)別的SOTA的一些Seq2Seq模型,并且稱他們在實(shí)際的系統(tǒng)中使用了這個(gè)模型之后詞錯(cuò)誤率從原來的6.7%下降到5.6%。
這是首個(gè)在業(yè)界真正得到應(yīng)用的End-to-end的語音識(shí)別系統(tǒng)(雖然Andrew Ng領(lǐng)導(dǎo)的百度IDL提出了Deep Speech和Deep Speech2,但是在百度的實(shí)際系統(tǒng)中并沒有使用它)。
下圖是常見數(shù)據(jù)集上的效果,拿SwitchBoard為例,在2006年之前的進(jìn)展是比較緩慢的,但是在使用了深度學(xué)習(xí)之后,詞錯(cuò)誤率持續(xù)下降,圖中是2017年的數(shù)據(jù),微軟的系統(tǒng)已經(jīng)降到了6.3%的詞錯(cuò)誤率。
自然語言處理
和語音識(shí)別不同,自然語言處理是一個(gè)很”龐雜”的領(lǐng)域,語音識(shí)別就一個(gè)任務(wù)——把聲音變成文字,即使加上相關(guān)的語音合成、說話人識(shí)別等任務(wù),也遠(yuǎn)遠(yuǎn)無法和自然語言處理任務(wù)數(shù)量相比。自然語言處理的終極目標(biāo)是讓機(jī)器理解人類的語言,理解是一個(gè)很模糊的概念。相對論的每個(gè)詞的含義我都可能知道,但是并不代表我理解了相對論。
因?yàn)檫@個(gè)原因,在這里我關(guān)注的是比較普適性的方法,這些方法能用到很多的子領(lǐng)域而不是局限于某個(gè)具體的任務(wù)。
自然語言和連續(xù)的語音與圖像不同,它是人類創(chuàng)造的離散抽象的符號(hào)系統(tǒng)。傳統(tǒng)的特征表示都是離散的稀疏的表示方法,其泛化能力都很差。
比如訓(xùn)練數(shù)據(jù)中出現(xiàn)了很多”北京天氣”,但是沒有怎么出現(xiàn)”上海天氣”,那么它在分類的時(shí)候預(yù)測的分?jǐn)?shù)會(huì)相差很大。但是”北京”和”上?!焙芸赡芙?jīng)常在相似的上下文出現(xiàn),這種表示方法無法利用這樣的信息。
在2003年到時(shí)候,Bengio在論文《A Neural Probabilistic Language Model》就提出了神經(jīng)網(wǎng)絡(luò)的語言模型,通過Embedding矩陣把一個(gè)詞編碼成一個(gè)低維稠密的向量,這樣實(shí)現(xiàn)相似上下文的共享——比如”北京”和”上海”經(jīng)常在相似的上下文出現(xiàn),則它們會(huì)被編碼成比較相似的向量,這樣即使”上海天氣”在訓(xùn)練數(shù)據(jù)中不怎么出現(xiàn),也能通過”北京天氣”給予其較大的概率。
不過2003年的時(shí)候大家并不怎么關(guān)注神經(jīng)網(wǎng)絡(luò),因此這篇文章當(dāng)時(shí)并沒有太多后續(xù)的工作。到了2012年之后,深度神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺和語音識(shí)別等領(lǐng)域取得了重大的進(jìn)展,把它應(yīng)用到自然語言處理領(lǐng)域也是非常自然的事情。但是這個(gè)時(shí)候面臨一個(gè)問題——沒有大量有監(jiān)督的標(biāo)注數(shù)據(jù)。這其實(shí)也是前面提到的自然語言處理是很”龐雜”的有關(guān)。
自然語言處理的任務(wù)太多了,除了機(jī)器翻譯等少數(shù)直接面向應(yīng)用并且有很強(qiáng)實(shí)際需求的任務(wù)有比較多的數(shù)據(jù)外,大部分任務(wù)的標(biāo)注數(shù)據(jù)非常有限。和ImageNet這種上百萬的標(biāo)注數(shù)據(jù)集或者語音識(shí)別幾千小時(shí)的標(biāo)注數(shù)據(jù)集相比,很多自然語言處理的標(biāo)注數(shù)據(jù)都是在幾萬最多在幾十萬這樣的數(shù)量級(jí)。
這是由自然語言處理的特點(diǎn)決定的,因?yàn)樗歉唧w業(yè)務(wù)相關(guān)的。因此自然語言處理領(lǐng)域一直急需解決的就是怎么從未標(biāo)注的數(shù)據(jù)里學(xué)習(xí)出有用的知識(shí),這些知識(shí)包括語法的、語義的和世界知識(shí)。
Mikolov等人2013年在《Efficient estimation of word representations in vector space》和《Distributed representations of words and phrases and their compositionality》開始了這段征程。他們提出的Word2Vec可以簡單高效的學(xué)習(xí)出很好的詞向量,如下圖所示。
從上圖我們可以發(fā)現(xiàn)它確實(shí)學(xué)到了一些語義知識(shí),通過向量計(jì)算可以得到類似”man-woman=king-queen”。
我們可以把這些詞向量作為其它任務(wù)的初始值。如果下游任務(wù)數(shù)據(jù)量很少,我們甚至可以固定住這些預(yù)訓(xùn)練的詞向量,然后只調(diào)整更上層的參數(shù)。Pennington等人在2014年的論文《Glove: Global vectors for word representation》里提出了GloVe模型。
但是Word2Vec無法考慮上下文的信息,比如”bank”有銀行和水邊的意思。但是它無法判斷具體在某個(gè)句子里到底是哪個(gè)意思,因此它只能把這兩個(gè)語義同時(shí)編碼進(jìn)這個(gè)向量里。
但是在下游應(yīng)用中的具體某個(gè)句子里,只有一個(gè)語義是需要的。當(dāng)然也有嘗試解決多義詞的問題,比如Neelakantan等人在2014年的《Efficient Non-parametric Estimation of Multiple Embeddings per Word in Vector Space》,但都不是很成功。
另外一種解決上下文的工具就是RNN。但是普通的RNN有梯度消失的問題,因此更常用的是LSTM。LSTM早在1997年就被Sepp Hochreiter和Jürgen Schmidhuber提出了。
在2016年前后才大量被用于自然語言處理任務(wù),成為當(dāng)時(shí)文本處理的”事實(shí)”標(biāo)準(zhǔn)——大家認(rèn)為任何一個(gè)任務(wù)首先應(yīng)該就使用LSTM。當(dāng)然LSTM的其它變體以及新提出的GRU也得到廣泛的應(yīng)用。RNN除了能夠?qū)W習(xí)上下文的語義關(guān)系,理論上還能解決長距離的語義依賴關(guān)系(當(dāng)然即使引入了門的機(jī)制,實(shí)際上太長的語義關(guān)系還是很難學(xué)習(xí))。
很多NLP的輸入是一個(gè)序列,輸出也是一個(gè)序列,而且它們之間并沒有嚴(yán)格的順序和對應(yīng)關(guān)系。為了解決這個(gè)問題,seq2seq模型被提了出來。最終使用seq2seq的是機(jī)器翻譯。Sutskever等人在2014年的論文《Sequence to Sequence Learning with Neural Networks》首次使用了seq2seq模型來做機(jī)器翻譯,Bahdanau等人在論文《Neural Machine Translation by Jointly Learning to Align and Translate》里首次把Attention機(jī)制引入了機(jī)器翻譯,從而可以提高長句子的翻譯效果。
而Google在論文里《Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation》介紹了他們實(shí)際系統(tǒng)中使用神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯的一些經(jīng)驗(yàn),這是首次在業(yè)界應(yīng)用的神經(jīng)網(wǎng)絡(luò)翻譯系統(tǒng)。
seq2seq加Attention成為了解決很多問題的標(biāo)準(zhǔn)方法,包括摘要、問答甚至對話系統(tǒng)開始流行這種End-to-End的seq2seq模型。
Google2017年在《Attention is All You Need》更是把Attention機(jī)制推向了極致,它提出了Transformer模型。因?yàn)锳ttention相對于RNN來說可以更好的并行,而且它的Self-Attention機(jī)制可以同時(shí)編碼上下文的信息,它在機(jī)器翻譯的WMT14數(shù)據(jù)上取得了第一的成績。
不過其實(shí)和Attention同時(shí)流行的還包括”Memory”,這大概是2015年的時(shí)候,當(dāng)時(shí)流行”Reason, Attention and Memory”(簡稱RAM),我記得當(dāng)年NIPS還有個(gè)RAM的workshop。
Memory就是把LSTM的Cell進(jìn)一步抽象,變成一種存儲(chǔ)機(jī)制,就行計(jì)算機(jī)的內(nèi)存,然后提出了很多復(fù)雜的模型,包括Neural Turing Machine(NTM)等等,包括讓神經(jīng)網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)出排序等算法。當(dāng)時(shí)也火過一陣,但最終并沒有解決什么實(shí)際問題。
雖然RNN/Transformer可以學(xué)習(xí)出上下文語義關(guān)系,但是除了在機(jī)器翻譯等少量任務(wù)外,大部分任務(wù)的訓(xùn)練數(shù)據(jù)都很少。因此怎么能夠使用無監(jiān)督的語料學(xué)習(xí)出很好的上下文語義關(guān)系就成為非常重要的課題。這個(gè)方向從2018年開始一直持續(xù)到現(xiàn)在,包括Elmo、OpenAI GPT、BERT和XLNet等,這些模型一次又一次的刷榜,引起了極大的關(guān)注。
ELMo是Embeddings from Language Models的縮寫,意思就是語言模型得到的(句子)Embedding。另外Elmo是美國兒童教育電視節(jié)目芝麻街(Sesame Street)里的小怪獸的名字。原始論文是《Deep contextualized word representations》,這個(gè)標(biāo)題是很合適的,也就是用深度的Transformer模型來學(xué)習(xí)上下文相關(guān)的詞表示。
這篇論文的想法其實(shí)非常非常簡單,但取得了非常好的效果。它的思路是用深度的雙向RNN(LSTM)在大量未標(biāo)注數(shù)據(jù)上訓(xùn)練語言模型,如下圖所示。然后在實(shí)際的任務(wù)中,對于輸入的句子,我們使用這個(gè)語言模型來對它處理,得到輸出的向量,因此這可以看成是一種特征提取。但是和普通的Word2Vec或者GloVe的pretraining不同,ELMo得到的Embedding是有上下文的。
比如我們使用Word2Vec也可以得到詞”bank”的Embedding,我們可以認(rèn)為這個(gè)Embedding包含了bank的語義。但是bank有很多意思,可以是銀行也可以是水邊,使用普通的Word2Vec作為Pretraining的Embedding,只能同時(shí)把這兩種語義都編碼進(jìn)向量里,然后靠后面的模型比如RNN來根據(jù)上下文選擇合適的語義——比如上下文有money,那么它更可能是銀行;而如果上下文是river,那么更可能是水邊的意思。
但是RNN要學(xué)到這種上下文的關(guān)系,需要這個(gè)任務(wù)有大量相關(guān)的標(biāo)注數(shù)據(jù),這在很多時(shí)候是沒有的。而ELMo的特征提取可以看成是上下文相關(guān)的,如果輸入句子有money,那么它就(或者我們期望)應(yīng)該能知道bank更可能的語義,從而幫我們選擇更加合適的編碼。
ELMo學(xué)到的語言模型參數(shù)是固定的,下游的任務(wù)把它的隱狀態(tài)作為特征。而來自論文《Improving Language Understanding by Generative Pre-Training》的OpenAI GPT模型會(huì)根據(jù)特定的任務(wù)進(jìn)行調(diào)整(通常是微調(diào)),這樣得到的句子表示能更好的適配特定任務(wù)。
它的思想其實(shí)也很簡單,使用Transformer來學(xué)習(xí)一個(gè)語言模型,對句子進(jìn)行無監(jiān)督的Embedding,然后根據(jù)具體任務(wù)對Transformer的參數(shù)進(jìn)行微調(diào)。因?yàn)橛?xùn)練的任務(wù)語言模型的輸入是一個(gè)句子,但是下游的很多任務(wù)的輸入是兩個(gè),因此OpenAI GPT通過在兩個(gè)句子之前加入特殊的分隔符來處理兩個(gè)輸入,如下圖所示。
OpenAI GPT取得了非常好的效果,在很多任務(wù)上遠(yuǎn)超之前的第一。
ELMo和GPT最大的問題就是傳統(tǒng)的語言模型是單向的——我們是根據(jù)之前的歷史來預(yù)測當(dāng)前詞。但是我們不能利用后面的信息。比如句子”The animal didn’t cross the street because it was too tired”。
我們在編碼it的語義的時(shí)候需要同時(shí)利用前后的信息,因?yàn)樵谶@個(gè)句子中,it可能指代animal也可能指代street。根據(jù)tired,我們推斷它指代的是animal,因?yàn)閟treet是不能tired。但是如果把tired改成wide,那么it就是指代street了。
傳統(tǒng)的語言模型,不管是RNN還是Transformer,它都只能利用單方向的信息。比如前向的RNN,在編碼it的時(shí)候它看到了animal和street,但是它還沒有看到tired,因此它不能確定it到底指代什么。
如果是后向的RNN,在編碼的時(shí)候它看到了tired,但是它還根本沒看到animal,因此它也不能知道指代的是animal。Transformer的Self-Attention理論上是可以同時(shí)attend to到這兩個(gè)詞的,但是根據(jù)前面的介紹,由于我們需要用Transformer來學(xué)習(xí)語言模型,必須用Mask來讓它看不到未來的信息,因此它也不能解決這個(gè)問題。
那它是怎么解決語言模型只能利用一個(gè)方向的信息的問題?答案是它的pretraining訓(xùn)練的不是普通的語言模型,而是Mask語言模型。這個(gè)思路是在Google的論文《Pre-training of Deep Bidirectional Transformers for Language Understanding》里提出了,也就是我們現(xiàn)在熟知的BERT模型。
BERT一出來就橫掃了各種NLP的評測榜單,引起了極大的關(guān)注。就在媒體都在用”最強(qiáng)NLP模型”之類的詞贊美BERT的時(shí)候,最近又出現(xiàn)了XLNet,又一次橫掃了各大榜單。
它認(rèn)為BERT有兩大問題:它假設(shè)被Mask的詞之間在給定其它非Mask詞的條件下是獨(dú)立的,這個(gè)條件并不成立;Pretraining的時(shí)候引入了特殊的[MASK],但是fine-tuing又沒有,這會(huì)造成不匹配。XLNet通過Permutation語言模型來解決普通語言模型單向信息流的問題,同時(shí)借鑒Transformer-XL的優(yōu)點(diǎn)。通過Two-Stream Self-Attention解決target unaware的問題,最終訓(xùn)練的模型在很多任務(wù)上超過BERT創(chuàng)造了新的記錄。
強(qiáng)化學(xué)習(xí)
強(qiáng)化學(xué)習(xí)和視覺、聽覺和語言其實(shí)不是一個(gè)層面上的東西,它更多的是和監(jiān)督學(xué)習(xí)、非監(jiān)督學(xué)習(xí)并行的一類學(xué)習(xí)機(jī)制(算法),但是我認(rèn)為強(qiáng)化學(xué)習(xí)是非常重要的一種學(xué)習(xí)機(jī)制。
監(jiān)督學(xué)習(xí)的特點(diǎn)是有一個(gè)“老師”來“監(jiān)督”我們,告訴我們正確的結(jié)果是什么。在我們在小的時(shí)候,會(huì)有老師來教我們,本質(zhì)上監(jiān)督學(xué)習(xí)是一種知識(shí)的傳遞,但不能發(fā)現(xiàn)新的知識(shí)。
對于人類整體而言,真正(甚至唯一)的知識(shí)來源是實(shí)踐——也就是強(qiáng)化學(xué)習(xí)。比如神農(nóng)嘗百草,最早人類并不知道哪些草能治病,但是通過嘗試,就能學(xué)到新的知識(shí)。學(xué)到的這些知識(shí)通過語言文字記錄下來,一代一代的流傳下來,從而人類社會(huì)作為整體能夠不斷的進(jìn)步。
與監(jiān)督學(xué)習(xí)不同,沒有一個(gè)“老師”會(huì)“監(jiān)督“我們。比如下圍棋,不會(huì)有人告訴我們當(dāng)前局面最好的走法是什么,只有到游戲結(jié)束的時(shí)候我們才知道最終的勝負(fù),我們需要自己復(fù)盤(學(xué)習(xí))哪一步是好棋哪一步是臭棋。自然界也是一樣,它不會(huì)告訴我們是否應(yīng)該和別人合作,但是通過優(yōu)勝劣汰,最終”告訴”我們互相協(xié)助的社會(huì)會(huì)更有競爭力。
和前面的監(jiān)督、非監(jiān)督學(xué)習(xí)相比有一個(gè)很大的不同點(diǎn):在強(qiáng)化學(xué)習(xí)的Agent是可以通過Action影響環(huán)境的——我們的每走一步棋都會(huì)改變局面,有可能變好也有可能變壞。
它要解決的核心問題是給定一個(gè)狀態(tài),我們需要判斷它的價(jià)值(Value)。價(jià)值和獎(jiǎng)勵(lì)(Reward)是強(qiáng)化學(xué)習(xí)最基本的兩個(gè)概念。對于一個(gè)Agent(強(qiáng)化學(xué)習(xí)的主體)來說,Reward是立刻獲得的,內(nèi)在的甚至與生俱來的。比如處于饑餓狀態(tài)下,吃飯會(huì)有Reward。而Value是延遲的,需要計(jì)算和慎重考慮的。比如饑餓狀態(tài)下去偷東西吃可以有Reward,但是從Value(價(jià)值觀)的角度這(可能)并不是一個(gè)好的Action。
為什么不好?
雖然人類的監(jiān)督學(xué)習(xí),比如先賢告訴我們這是不符合道德規(guī)范的,不是好的行為。但是我們之前說了,人類最終的知識(shí)來源是強(qiáng)化學(xué)習(xí),先賢是從哪里知道的呢?有人認(rèn)為來自上帝或者就是來自人的天性,比如“人之初性本善”。
如果從進(jìn)化論的角度來解釋,人類其實(shí)在玩一場”生存”游戲,有遵循道德的人群和有不遵循的人群,大自然會(huì)通過優(yōu)勝劣汰”告訴”我們最終的結(jié)果,最終我們的先賢“學(xué)到”了(其實(shí)是被選擇了)這些道德規(guī)范,并且把這些規(guī)范通過教育(監(jiān)督學(xué)習(xí))一代代流傳下來。
因?yàn)閺?qiáng)化學(xué)習(xí)只是一種方法,它在很多領(lǐng)域都有應(yīng)用,機(jī)器人、控制和游戲是其最常見的應(yīng)用領(lǐng)域,但是其它領(lǐng)域包括自然語言處理的對話系統(tǒng),也經(jīng)常會(huì)用到強(qiáng)化學(xué)習(xí)技術(shù)。
強(qiáng)化學(xué)習(xí)和機(jī)器學(xué)習(xí)一樣有很多方法:根據(jù)是否對環(huán)境建??梢苑譃镸odel based和Mode free的方法;按照是否有Value函數(shù)又分為Value based方法和Policy Gradient,但是又可以把兩者結(jié)合得到Actor-Critic方法……
我們這里重點(diǎn)關(guān)注深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)結(jié)合的一些方法。
Google DeepMind在Nature發(fā)表的文章《Human-level Control through Deep Reinforcement Learning》首次實(shí)現(xiàn)了End-to-End的深度強(qiáng)化學(xué)習(xí)模型Deep Q-Networks,它的輸入是游戲畫面的像素值,而輸出是游戲的控制命令,它的原理如下圖所示。
通過Experience Replay來避免同一個(gè)trajectory數(shù)據(jù)的相關(guān)性,同時(shí)使用引入了一個(gè)Target Network ????′來解決target不穩(wěn)定的問題,Deep Q-Networks在Atari 2600的49個(gè)游戲中,有29個(gè)游戲得分達(dá)到了人類的75%以上,而其中23個(gè)游戲中的得分超過了人類選手,如下圖所示。
Deep Q-Networks的后續(xù)改進(jìn)工作包括《Prioritized Experience Replay》、《Deep Reinforcement Learning with Double Q-learning》和《Rainbow: Combining Improvements in Deep Reinforcement Learning》等。
而Policy Gradient類的工作包括《Trust Region Policy Optimization》(TRPO)、Deterministic Policy Gradient Algorithms》(DPG)、《Expected Policy Gradients for Reinforcement Learning》、《Proximal Policy Optimization Algorithms》(PPO)等。
而在游戲方面,Google DeepMind發(fā)表的大家耳熟能詳?shù)腁lphaGo、AlphaGoZero和AlphaZero系列文章。
圍棋解決了之后,大家也把關(guān)注點(diǎn)放到了即時(shí)戰(zhàn)略游戲上,包括DeepMind的《AlphaStar: An Evolutionary Computation Perspective》和OpenAI Five在星際爭霸2和Dota2上都取得了很大的進(jìn)展。
此外,在Meta Learning、Imitation Learning和Inverse Reinforcement Learning也出現(xiàn)了一些新的進(jìn)展,我們這里就不一一列舉了。
未來展望
最近一個(gè)比較明顯的趨勢就是非監(jiān)督(半監(jiān)督)學(xué)習(xí)的進(jìn)展,首先是在自然語言處理領(lǐng)域,根據(jù)前面的分析,這個(gè)領(lǐng)域的任務(wù)多、監(jiān)督數(shù)據(jù)少的特點(diǎn)一直期望能在這個(gè)方向有所突破。
在計(jì)算機(jī)視覺我們也看到了Google DeepMind的最新進(jìn)展,我覺得還會(huì)有更多的突破。相對而言,在語音識(shí)別領(lǐng)域這方面的進(jìn)展就慢了一些,先不說無監(jiān)督,就連從一個(gè)數(shù)據(jù)集(應(yīng)用場景)Transfer到另一個(gè)數(shù)據(jù)集(場景)都很難。
比如我們有大量普通話的數(shù)據(jù),怎么能夠使用少量的數(shù)據(jù)就能在其它帶方言的普通話上進(jìn)行很好的識(shí)別。雖然有很多Adaptation的技術(shù),但是總體看起來還是很難達(dá)到預(yù)期。
另外一個(gè)就是End-to-End的系統(tǒng)在業(yè)界(除了Google聲稱使用)還并沒有得到廣泛應(yīng)用,當(dāng)然這跟語音領(lǐng)域的玩家相對很少有關(guān),況且目前的系統(tǒng)效果也不錯(cuò),完全推倒重來沒有必要(除非計(jì)算機(jī)視覺領(lǐng)域一樣深度學(xué)習(xí)的方法遠(yuǎn)超傳統(tǒng)的方法)。
原來的HMM-GMM改造成HMM-DNN之后再加上各種Adaptation和sequence discriminative training,仍然可以得到SOTA的效果,所以相對來講使用End-to-end的動(dòng)力就更加不足。雖然學(xué)術(shù)界大力在往這個(gè)方向發(fā)展,但是老的語音玩家(Google之外)并不怎么買賬。
從長遠(yuǎn)來講,要“真正”實(shí)現(xiàn)人工智能,我認(rèn)為還得結(jié)合視覺、聽覺(甚至味覺和觸覺等)和語言,使用無監(jiān)督、監(jiān)督和強(qiáng)化學(xué)習(xí)的方法,讓”機(jī)器”有一個(gè)可以自己控制的身體,像三歲小孩一樣融入”真正”的物理世界和人類社會(huì),才有可能實(shí)現(xiàn)。這除了需要科技上的進(jìn)步,還需要我們?nèi)祟愒谒枷肷系木薮笸黄撇庞锌赡軐?shí)現(xiàn)。