2.9 什么是端到端的深度学习-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
| 2.8 多任務(wù)學(xué)習(xí) | 回到目錄 | 2.10 是否要使用端到端的深度學(xué)習(xí) |
什么是端到端的深度學(xué)習(xí) (What is end-to-end deep learning?)
深度學(xué)習(xí)中最令人振奮的最新動(dòng)態(tài)之一就是端到端深度學(xué)習(xí)的興起,那么端到端學(xué)習(xí)到底是什么呢?簡(jiǎn)而言之,以前有一些數(shù)據(jù)處理系統(tǒng)或者學(xué)習(xí)系統(tǒng),它們需要多個(gè)階段的處理。那么端到端深度學(xué)習(xí)就是忽略所有這些不同的階段,用單個(gè)神經(jīng)網(wǎng)絡(luò)代替它。
我們來(lái)看一些例子,以語(yǔ)音識(shí)別為例,你的目標(biāo)是輸入 xxx ,比如說(shuō)一段音頻,然后把它映射到一個(gè)輸出 yyy ,就是這段音頻的聽寫文本。所以傳統(tǒng)上,語(yǔ)音識(shí)別需要很多階段的處理。首先你會(huì)提取一些特征,一些手工設(shè)計(jì)的音頻特征,也許你聽過MFCC,這種算法是用來(lái)從音頻中提取一組特定的人工設(shè)計(jì)的特征。在提取出一些低層次特征之后,你可以應(yīng)用機(jī)器學(xué)習(xí)算法在音頻片段中找到音位,所以音位是聲音的基本單位,比如說(shuō)“Cat”這個(gè)詞是三個(gè)音節(jié)構(gòu)成的,Cu-、Ah-和Tu-,算法就把這三個(gè)音位提取出來(lái),然后你將音位串在一起構(gòu)成獨(dú)立的詞,然后你將詞串起來(lái)構(gòu)成音頻片段的聽寫文本。
所以和這種有很多階段的流水線相比,端到端深度學(xué)習(xí)做的是,你訓(xùn)練一個(gè)巨大的神經(jīng)網(wǎng)絡(luò),輸入就是一段音頻,輸出直接是聽寫文本。AI的其中一個(gè)有趣的社會(huì)學(xué)效應(yīng)是,隨著端到端深度學(xué)習(xí)系統(tǒng)表現(xiàn)開始更好,有一些花了大量時(shí)間或者整個(gè)事業(yè)生涯設(shè)計(jì)出流水線各個(gè)步驟的研究員,還有其他領(lǐng)域的研究員,不只是語(yǔ)言識(shí)別領(lǐng)域的,也許是計(jì)算機(jī)視覺,還有其他領(lǐng)域,他們花了大量的時(shí)間,寫了很多論文,有些甚至整個(gè)職業(yè)生涯的一大部分都投入到開發(fā)這個(gè)流水線的功能或者其他構(gòu)件上去了。而端到端深度學(xué)習(xí)就只需要把訓(xùn)練集拿過來(lái),直接學(xué)到了 xxx 和 yyy 之間的函數(shù)映射,直接繞過了其中很多步驟。對(duì)一些學(xué)科里的人來(lái)說(shuō),這點(diǎn)相當(dāng)難以接受,他們無(wú)法接受這樣構(gòu)建AI系統(tǒng),因?yàn)橛行┣闆r,端到端方法完全取代了舊系統(tǒng),某些投入了多年研究的中間組件也許已經(jīng)過時(shí)了。
事實(shí)證明,端到端深度學(xué)習(xí)的挑戰(zhàn)之一是,你可能需要大量數(shù)據(jù)才能讓系統(tǒng)表現(xiàn)良好,比如,你只有3000小時(shí)數(shù)據(jù)去訓(xùn)練你的語(yǔ)音識(shí)別系統(tǒng),那么傳統(tǒng)的流水線效果真的很好。但當(dāng)你擁有非常大的數(shù)據(jù)集時(shí),比如10,000小時(shí)數(shù)據(jù)或者100,000小時(shí)數(shù)據(jù),這樣端到端方法突然開始很厲害了。所以當(dāng)你的數(shù)據(jù)集較小的時(shí)候,傳統(tǒng)流水線方法其實(shí)效果也不錯(cuò),通常做得更好。你需要大數(shù)據(jù)集才能讓端到端方法真正發(fā)出耀眼光芒。如果你的數(shù)據(jù)量適中,那么也可以用中間件方法,你可能輸入還是音頻,然后繞過特征提取,直接嘗試從神經(jīng)網(wǎng)絡(luò)輸出音位,然后也可以在其他階段用,所以這是往端到端學(xué)習(xí)邁出的一小步,但還沒有到那里。
這張圖上是一個(gè)研究員做的人臉識(shí)別門禁,是百度的林元慶研究員做的。這是一個(gè)相機(jī),它會(huì)拍下接近門禁的人,如果它認(rèn)出了那個(gè)人,門禁系統(tǒng)就自動(dòng)打開,讓他通過,所以你不需要刷一個(gè)RFID工卡就能進(jìn)入這個(gè)設(shè)施。系統(tǒng)部署在越來(lái)越多的中國(guó)辦公室,希望在其他國(guó)家也可以部署更多,你可以接近門禁,如果它認(rèn)出你的臉,它就直接讓你通過,你不需要帶RFID工卡。
那么,怎么搭建這樣的系統(tǒng)呢?你可以做的第一件事是,看看相機(jī)拍到的照片,對(duì)吧?我想我畫的不太好,但也許這是相機(jī)照片,你知道,有人接近門禁了,所以這可能是相機(jī)拍到的圖像 xxx 。有件事你可以做,就是嘗試直接學(xué)習(xí)圖像 xxx 到人物 yyy 身份的函數(shù)映射,事實(shí)證明這不是最好的方法。其中一個(gè)問題是,人可以從很多不同的角度接近門禁,他們可能在綠色位置,可能在藍(lán)色位置。有時(shí)他們更靠近相機(jī),所以他們看起來(lái)更大,有時(shí)候他們非常接近相機(jī),那照片中臉就很大了。在實(shí)際研制這些門禁系統(tǒng)時(shí),他不是直接將原始照片喂到一個(gè)神經(jīng)網(wǎng)絡(luò),試圖找出一個(gè)人的身份。
相反,迄今為止最好的方法似乎是一個(gè)多步方法,首先,你運(yùn)行一個(gè)軟件來(lái)檢測(cè)人臉,所以第一個(gè)檢測(cè)器找的是人臉位置,檢測(cè)到人臉,然后放大圖像的那部分,并裁剪圖像,使人臉居中顯示,然后就是這里紅線框起來(lái)的照片,再喂到神經(jīng)網(wǎng)絡(luò)里,讓網(wǎng)絡(luò)去學(xué)習(xí),或估計(jì)那人的身份。
研究人員發(fā)現(xiàn),比起一步到位,一步學(xué)習(xí),把這個(gè)問題分解成兩個(gè)更簡(jiǎn)單的步驟。首先,是弄清楚臉在哪里。第二步是看著臉,弄清楚這是誰(shuí)。這第二種方法讓學(xué)習(xí)算法,或者說(shuō)兩個(gè)學(xué)習(xí)算法分別解決兩個(gè)更簡(jiǎn)單的任務(wù),并在整體上得到更好的表現(xiàn)。
順便說(shuō)一句,如果你想知道第二步實(shí)際是怎么工作的,我這里其實(shí)省略了很多。訓(xùn)練第二步的方式,訓(xùn)練網(wǎng)絡(luò)的方式就是輸入兩張圖片,然后你的網(wǎng)絡(luò)做的就是將輸入的兩張圖比較一下,判斷是否是同一個(gè)人。比如你記錄了10,000個(gè)員工ID,你可以把紅色框起來(lái)的圖像快速比較……也許是全部10,000個(gè)員工記錄在案的ID,看看這張紅線內(nèi)的照片,是不是那10000個(gè)員工之一,來(lái)判斷是否應(yīng)該允許其進(jìn)入這個(gè)設(shè)施或者進(jìn)入這個(gè)辦公樓。這是一個(gè)門禁系統(tǒng),允許員工進(jìn)入工作場(chǎng)所的門禁。
為什么兩步法更好呢?實(shí)際上有兩個(gè)原因。一是,你解決的兩個(gè)問題,每個(gè)問題實(shí)際上要簡(jiǎn)單得多。但第二,兩個(gè)子任務(wù)的訓(xùn)練數(shù)據(jù)都很多。具體來(lái)說(shuō),有很多數(shù)據(jù)可以用于人臉識(shí)別訓(xùn)練,對(duì)于這里的任務(wù)1來(lái)說(shuō),任務(wù)就是觀察一張圖,找出人臉?biāo)诘奈恢?#xff0c;把人臉圖像框出來(lái),所以有很多數(shù)據(jù),有很多標(biāo)簽數(shù)據(jù) (x,y)(x,y)(x,y) ,其中 xxx 是圖片, yyy 是表示人臉的位置,你可以建立一個(gè)神經(jīng)網(wǎng)絡(luò),可以很好地處理任務(wù)1。然后任務(wù)2,也有很多數(shù)據(jù)可用,今天,業(yè)界領(lǐng)先的公司擁有,比如說(shuō)數(shù)百萬(wàn)張人臉照片,所以輸入一張裁剪得很緊湊的照片,比如這張紅色照片,下面這個(gè),今天業(yè)界領(lǐng)先的人臉識(shí)別團(tuán)隊(duì)有至少數(shù)億的圖像,他們可以用來(lái)觀察兩張圖片,并試圖判斷照片里人的身份,確定是否同一個(gè)人,所以任務(wù)2還有很多數(shù)據(jù)。相比之下,如果你想一步到位,這樣 (x,y)(x,y)(x,y) 的數(shù)據(jù)對(duì)就少得多,其中 xxx 是門禁系統(tǒng)拍攝的圖像, yyy 是那人的身份,因?yàn)槟銢]有足夠多的數(shù)據(jù)去解決這個(gè)端到端學(xué)習(xí)問題,但你卻有足夠多的數(shù)據(jù)來(lái)解決子問題1和子問題2。
實(shí)際上,把這個(gè)分成兩個(gè)子問題,比純粹的端到端深度學(xué)習(xí)方法,達(dá)到更好的表現(xiàn)。不過如果你有足夠多的數(shù)據(jù)來(lái)做端到端學(xué)習(xí),也許端到端方法效果更好。但在今天的實(shí)踐中,并不是最好的方法。
我們?cè)賮?lái)看幾個(gè)例子,比如機(jī)器翻譯。傳統(tǒng)上,機(jī)器翻譯系統(tǒng)也有一個(gè)很復(fù)雜的流水線,比如英語(yǔ)機(jī)翻得到文本,然后做文本分析,基本上要從文本中提取一些特征之類的,經(jīng)過很多步驟,你最后會(huì)將英文文本翻譯成法文。因?yàn)閷?duì)于機(jī)器翻譯來(lái)說(shuō)的確有很多(英文,法文)的數(shù)據(jù)對(duì),端到端深度學(xué)習(xí)在機(jī)器翻譯領(lǐng)域非常好用,那是因?yàn)樵诮裉炜梢允占?x?yx-yx?y 對(duì)的大數(shù)據(jù)集,就是英文句子和對(duì)應(yīng)的法語(yǔ)翻譯。所以在這個(gè)例子中,端到端深度學(xué)習(xí)效果很好。
最后一個(gè)例子,比如說(shuō)你希望觀察一個(gè)孩子手部的X光照片,并估計(jì)一個(gè)孩子的年齡。你知道,當(dāng)我第一次聽到這個(gè)問題的時(shí)候,我以為這是一個(gè)非常酷的犯罪現(xiàn)場(chǎng)調(diào)查任務(wù),你可能悲劇的發(fā)現(xiàn)了一個(gè)孩子的骨架,你想弄清楚孩子在生時(shí)是怎么樣的。事實(shí)證明,這個(gè)問題的典型應(yīng)用,從X射線圖估計(jì)孩子的年齡,是我想太多了,沒有我想象的犯罪現(xiàn)場(chǎng)調(diào)查腦洞那么大,結(jié)果這是兒科醫(yī)生用來(lái)判斷一個(gè)孩子的發(fā)育是否正常。
處理這個(gè)例子的一個(gè)非端到端方法,就是照一張圖,然后分割出每一塊骨頭,所以就是分辨出那段骨頭應(yīng)該在哪里,那段骨頭在哪里,那段骨頭在哪里,等等。然后,知道不同骨骼的長(zhǎng)度,你可以去查表,查到兒童手中骨頭的平均長(zhǎng)度,然后用它來(lái)估計(jì)孩子的年齡,所以這種方法實(shí)際上很好。
相比之下,如果你直接從圖像去判斷孩子的年齡,那么你需要大量的數(shù)據(jù)去直接訓(xùn)練。據(jù)我所知,這種做法今天還是不行的,因?yàn)闆]有足夠的數(shù)據(jù)來(lái)用端到端的方式來(lái)訓(xùn)練這個(gè)任務(wù)。
你可以想象一下如何將這個(gè)問題分解成兩個(gè)步驟,第一步是一個(gè)比較簡(jiǎn)單的問題,也許你不需要那么多數(shù)據(jù),也許你不需要許多X射線圖像來(lái)切分骨骼。而任務(wù)二,收集兒童手部的骨頭長(zhǎng)度的統(tǒng)計(jì)數(shù)據(jù),你不需要太多數(shù)據(jù)也能做出相當(dāng)準(zhǔn)確的估計(jì),所以這個(gè)多步方法看起來(lái)很有希望,也許比端對(duì)端方法更有希望,至少直到你能獲得更多端到端學(xué)習(xí)的數(shù)據(jù)之前。
所以端到端深度學(xué)習(xí)系統(tǒng)是可行的,它表現(xiàn)可以很好,也可以簡(jiǎn)化系統(tǒng)架構(gòu),讓你不需要搭建那么多手工設(shè)計(jì)的單獨(dú)組件,但它也不是靈丹妙藥,并不是每次都能成功。在下一個(gè)視頻中,我想與你分享一個(gè)更系統(tǒng)的描述,什么時(shí)候你應(yīng)該使用或者不應(yīng)該使用端到端的深度學(xué)習(xí),以及如何組裝這些復(fù)雜的機(jī)器學(xué)習(xí)系統(tǒng)。
課程板書
| 2.8 多任務(wù)學(xué)習(xí) | 回到目錄 | 2.10 是否要使用端到端的深度學(xué)習(xí) |
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀
總結(jié)
以上是生活随笔為你收集整理的2.9 什么是端到端的深度学习-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.8 多任务学习-深度学习第三课《结构
- 下一篇: 2.10 是否要使用端到端的深度学习-深