2017年2月16日,Google正式對(duì)外發(fā)布Google TensorFlow 1.0版本,并保證本次的發(fā)布版本API接口完全滿(mǎn)足生產(chǎn)環(huán)境穩(wěn)定性要求。這是TensorFlow的一個(gè)重要里程碑,標(biāo)志著它可以正式在生產(chǎn)環(huán)境放心使用。在國(guó)內(nèi),從InfoQ的判斷來(lái)看,TensorFlow仍處于創(chuàng)新傳播曲線的創(chuàng)新者使用階段,大部分人對(duì)于TensorFlow還缺乏了解,社區(qū)也缺少幫助落地和使用的中文資料。InfoQ期望通過(guò)深入淺出TensorFlow系列文章能夠推動(dòng)Tensorflow在國(guó)內(nèi)的發(fā)展。歡迎加入QQ群(群號(hào):183248479)深入討論和交流。
本文是整個(gè)系列的第一篇文章,將會(huì)介紹深度學(xué)習(xí)的發(fā)展歷史以及深度學(xué)習(xí)目前成熟的應(yīng)用,同時(shí)也會(huì)介紹目前主流的深度學(xué)習(xí)工具,以及TensorFlow相比于其他工具的優(yōu)勢(shì)。
從計(jì)算機(jī)發(fā)明之初,人們就希望它能夠幫助甚至代替人類(lèi)完成重復(fù)性勞作。利用巨大的存儲(chǔ)空間和超高的運(yùn)算速度,計(jì)算機(jī)已經(jīng)可以非常輕易地完成一些對(duì)于人類(lèi)非常困難,但對(duì)計(jì)算機(jī)相對(duì)簡(jiǎn)單的問(wèn)題。比如統(tǒng)計(jì)一本書(shū)中不同單詞出現(xiàn)的次數(shù),存儲(chǔ)一個(gè)圖書(shū)館中所有的藏書(shū)或是計(jì)算非常復(fù)雜的數(shù)學(xué)公式都可以輕松通過(guò)計(jì)算機(jī)解決。然而,一些人類(lèi)通過(guò)直覺(jué)可以很快解決的問(wèn)題,目前卻很難通過(guò)計(jì)算機(jī)解決。人工智能領(lǐng)域需要解決的問(wèn)題就是讓計(jì)算機(jī)能像人類(lèi)一樣,甚至超越人類(lèi)完成類(lèi)似圖像識(shí)別、語(yǔ)音識(shí)別等問(wèn)題。
計(jì)算機(jī)要像人類(lèi)一樣完成更多智能的工作需要夠掌握人類(lèi)的經(jīng)驗(yàn)。比如我們需要判斷一封郵件是否為垃圾郵件,會(huì)綜合考慮郵件發(fā)出的地址、郵件的標(biāo)題、郵件的內(nèi)容以及郵件收件人的長(zhǎng)度,等等。這是我們受到無(wú)數(shù)垃圾郵件騷擾之后總結(jié)出來(lái)的經(jīng)驗(yàn)。這個(gè)經(jīng)驗(yàn)很難以固定的方式表達(dá)出來(lái),而且不同人對(duì)垃圾郵件的判斷也會(huì)不一樣。如何讓計(jì)算機(jī)可以跟人類(lèi)一樣從歷史的經(jīng)驗(yàn)中獲取新的知識(shí)呢?這就是機(jī)器學(xué)習(xí)需要解決的問(wèn)題。
什么是深度學(xué)習(xí)?
對(duì)許多機(jī)器學(xué)習(xí)問(wèn)題來(lái)說(shuō),特征提取不是一件簡(jiǎn)單的事情。在一些復(fù)雜問(wèn)題上,要通過(guò)人工的方式設(shè)計(jì)有效的特征集合需要很多的時(shí)間和精力,有時(shí)甚至需要整個(gè)領(lǐng)域數(shù)十年的研究投入。例如,假設(shè)想從很多照片中識(shí)別汽車(chē)?,F(xiàn)在已知的是汽車(chē)有輪子,所以希望在圖片中抽取“圖片中是否出現(xiàn)了輪子”這個(gè)特征。但實(shí)際上,要從圖片的像素中描述一個(gè)輪子的模式是非常難的。雖然車(chē)輪的形狀很簡(jiǎn)單,但在實(shí)際圖片中,車(chē)輪上可能會(huì)有來(lái)自車(chē)身的陰影、金屬車(chē)軸的反光,周?chē)锲芬部赡軙?huì)部分遮擋車(chē)輪。實(shí)際圖片中各種不確定的因素讓我們很難直接抽取這樣的特征。
圖1 傳統(tǒng)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)流程對(duì)比
圖2 深度學(xué)習(xí)在圖像分類(lèi)問(wèn)題上的算法流程樣例
人工智能、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的關(guān)系
總的來(lái)說(shuō),人工智能、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)是非常相關(guān)的幾個(gè)領(lǐng)域。圖3總結(jié)了它們之間的關(guān)系。人工智能是一類(lèi)非常廣泛的問(wèn)題,機(jī)器學(xué)習(xí)是解決這類(lèi)問(wèn)題的一個(gè)重要手段,深度學(xué)習(xí)則是機(jī)器學(xué)習(xí)的一個(gè)分支。在很多人工智能問(wèn)題上,深度學(xué)習(xí)的方法突破了傳統(tǒng)機(jī)器學(xué)習(xí)方法的瓶頸,推動(dòng)了人工智能領(lǐng)域的發(fā)展。
圖3 人工智能、機(jī)器學(xué)習(xí)以及深度學(xué)習(xí)之間的關(guān)系圖
圖4展示了“deep learning”(深度學(xué)習(xí))這個(gè)詞在最近十年谷歌搜索的熱度趨勢(shì)。從圖中可以看出,從2012年之后,深度學(xué)習(xí)的熱度呈指數(shù)上升,到2016年時(shí),深度學(xué)習(xí)已經(jīng)成為了谷歌上最熱門(mén)的搜索詞。深度學(xué)習(xí)這個(gè)詞并不是最近才創(chuàng)造出來(lái)的,它基本就是深層神經(jīng)網(wǎng)絡(luò)的代名詞。受到人類(lèi)大腦結(jié)構(gòu)的啟發(fā),神經(jīng)網(wǎng)絡(luò)的計(jì)算模型于1943年首次提出。之后感知機(jī)的發(fā)明使得神經(jīng)網(wǎng)絡(luò)成為真正可以從數(shù)據(jù)中“學(xué)習(xí)”的模型。但由于感知機(jī)的網(wǎng)絡(luò)結(jié)構(gòu)過(guò)于簡(jiǎn)單,導(dǎo)致無(wú)法解決線性不可分問(wèn)題。再加上神經(jīng)網(wǎng)絡(luò)所需要的計(jì)算量太大,當(dāng)時(shí)的計(jì)算機(jī)無(wú)法滿(mǎn)足計(jì)算需求,使得神經(jīng)網(wǎng)絡(luò)的研究進(jìn)入了第一個(gè)寒冬。
圖4 “deep learning”最近十年在谷歌搜索的熱度趨勢(shì)。
到20世紀(jì)80年代,深層神經(jīng)網(wǎng)絡(luò)和反向傳播算法的提出很好地解決了這些問(wèn)題,讓神經(jīng)網(wǎng)絡(luò)進(jìn)入第二個(gè)快速發(fā)展期。不過(guò),在這一時(shí)期中,以支持向量機(jī)為主的傳統(tǒng)機(jī)器學(xué)習(xí)算法也在飛速發(fā)展。在90年代中期,在很多機(jī)器學(xué)習(xí)任務(wù)上,傳統(tǒng)機(jī)器學(xué)習(xí)算法超越了神經(jīng)網(wǎng)絡(luò)的精確度,使得神經(jīng)網(wǎng)絡(luò)領(lǐng)域再次進(jìn)入寒冬。直到2012年前后,隨著云計(jì)算和海量數(shù)據(jù)的普及,神經(jīng)網(wǎng)絡(luò)以“深度學(xué)習(xí)”的名字再次進(jìn)入大家的視野。2012年,深度學(xué)習(xí)算法AlexNet贏得圖像分類(lèi)比賽ILSVRC(ImageNet Large Scale Visual Recognition Challenge)冠軍,深度學(xué)習(xí)從此開(kāi)始受到學(xué)術(shù)界廣泛的關(guān)注。
深度學(xué)習(xí)的應(yīng)用
圖5展示了歷年ILSVRC比賽的情況,從圖中可以看到,在深度學(xué)習(xí)被使用之前,傳統(tǒng)計(jì)算機(jī)視覺(jué)的方法在ImageNet數(shù)據(jù)集上最低的Top5錯(cuò)誤率為26%。從2010年到2011年,基于傳統(tǒng)機(jī)器學(xué)習(xí)的算法并沒(méi)有帶來(lái)正確率的大幅提升。在2012年時(shí),Geoffrey Everest Hinton教授的研究小組利用深度學(xué)習(xí)技術(shù)將ImageNet圖像分類(lèi)的錯(cuò)誤率大幅下降到了16%。而且,從2012年到2015年間,通過(guò)對(duì)深度學(xué)習(xí)算法的不斷研究,ImageNet圖像分類(lèi)的錯(cuò)誤率以每年4%的速度遞減。這說(shuō)明深度學(xué)習(xí)完全打破了傳統(tǒng)機(jī)器學(xué)習(xí)算法在圖像分類(lèi)上的瓶頸,讓圖像分類(lèi)問(wèn)題得到了更好的解決。如圖5所示,到2015年時(shí),深度學(xué)習(xí)算法的錯(cuò)誤率為4%,已經(jīng)成功超越了人工標(biāo)注的錯(cuò)誤率(5%),實(shí)現(xiàn)了計(jì)算機(jī)視覺(jué)研究領(lǐng)域的一個(gè)突破。
圖5 歷年ILSVRC圖像分類(lèi)比賽最佳算法的錯(cuò)誤率
在技術(shù)革新的同時(shí),工業(yè)界也將圖像分類(lèi)、物體識(shí)別應(yīng)用于各種產(chǎn)品中了。在谷歌,圖像分類(lèi)、物體識(shí)別技術(shù)已經(jīng)被廣泛應(yīng)用于谷歌無(wú)人駕駛車(chē)、YouTube、谷歌地圖、谷歌圖像搜索等產(chǎn)品中。谷歌通過(guò)圖像處理技術(shù)可以歸納出圖片中的主要內(nèi)容并實(shí)現(xiàn)以圖搜圖的功能。這些技術(shù)在國(guó)內(nèi)的百度、阿里、騰訊等科技公司也已經(jīng)得到了廣泛的應(yīng)用。
在物體識(shí)別問(wèn)題中,人臉識(shí)別是一類(lèi)應(yīng)用非常廣泛的技術(shù)。它既可以應(yīng)用于娛樂(lè)行業(yè),也可以應(yīng)用于安防、風(fēng)控行業(yè)。在娛樂(lè)行業(yè)中,基于人臉識(shí)別的相機(jī)自動(dòng)對(duì)焦、自動(dòng)美顏基本已經(jīng)成為每一款自拍軟件的必備功能。在安防、風(fēng)控領(lǐng)域,人臉識(shí)別應(yīng)用更是大大提高了工作效率并節(jié)省了人力成本。
比如在互聯(lián)網(wǎng)金融行業(yè),為了控制貸款風(fēng)險(xiǎn),在用戶(hù)注冊(cè)或者貸款發(fā)放時(shí)需要驗(yàn)證本人信息。個(gè)人信息驗(yàn)證中一個(gè)很重要的步驟是驗(yàn)證用戶(hù)提供的證件和用戶(hù)是同一個(gè)人。通過(guò)人臉識(shí)別技術(shù),這個(gè)過(guò)程可以被更加高效地實(shí)現(xiàn)。
深度學(xué)習(xí)在語(yǔ)音識(shí)別領(lǐng)域取得的成績(jī)也是突破性的。2009年深度學(xué)習(xí)的概念被引入語(yǔ)音識(shí)別領(lǐng)域,并對(duì)該領(lǐng)域產(chǎn)生了巨大的影響。在短短幾年時(shí)間內(nèi),深度學(xué)習(xí)的方法在TIMIT數(shù)據(jù)集上將基于傳統(tǒng)的混合高斯模型(gaussian mixture model,GMM)的錯(cuò)誤率從21.7%降低到了使用深度學(xué)習(xí)模型的17.9%。
如此大的提高幅度很快引起了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。從2010年到2014年間,在語(yǔ)音識(shí)別領(lǐng)域的兩大學(xué)術(shù)會(huì)議IEEE-ICASSP和Interspeech上,深度學(xué)習(xí)的文章呈現(xiàn)出逐年遞增的趨勢(shì)。在工業(yè)界,包括谷歌、蘋(píng)果、微軟、IBM、百度等在內(nèi)的國(guó)內(nèi)外大型IT公司提供的語(yǔ)音相關(guān)產(chǎn)品,比如谷歌的Google Now,蘋(píng)果的Siri、微軟的Xbox和Skype等,都是基于深度學(xué)習(xí)算法。
深度學(xué)習(xí)在自然語(yǔ)言處理領(lǐng)域的應(yīng)用也同樣廣泛。在過(guò)去的幾年中,深度學(xué)習(xí)已經(jīng)在語(yǔ)言模型(language modeling)、機(jī)器翻譯、詞性標(biāo)注(part-of-speech tagging)、實(shí)體識(shí)別(named entity recognition,NER)、情感分析(sentiment analysis)、廣告推薦以及搜索排序等問(wèn)題上取得了突出成就。
在機(jī)器翻譯問(wèn)題上,根據(jù)谷歌的實(shí)驗(yàn)結(jié)果,在主要的語(yǔ)言對(duì)上,使用深度學(xué)習(xí)可以將機(jī)器翻譯算法的質(zhì)量提高55%到85%。表1對(duì)比了不同算法翻譯同一句話(huà)的結(jié)果。從表中可以直觀地看到深度學(xué)習(xí)算法帶來(lái)翻譯質(zhì)量的提高。在2016年9月,谷歌正式上線了基于深度學(xué)習(xí)的中譯英軟件?,F(xiàn)在在谷歌翻譯產(chǎn)品中,所有從中文到英文的翻譯請(qǐng)求都是由基于深度學(xué)習(xí)的翻譯算法完成的。
表1 不同翻譯算法的翻譯效果對(duì)比表
TensorFlow:來(lái)自Google的深度學(xué)習(xí)框架
要將深度學(xué)習(xí)更快且更便捷地應(yīng)用于新的問(wèn)題中,選擇一款深度學(xué)習(xí)工具是必不可少的步驟。
TensorFlow是谷歌于2015年11月9日正式開(kāi)源的計(jì)算框架。TensorFlow計(jì)算框架可以很好地支持深度學(xué)習(xí)的各種算法,但它的應(yīng)用也不限于深度學(xué)習(xí)。
TensorFlow是由Jeff Dean領(lǐng)頭的谷歌大腦團(tuán)隊(duì)基于谷歌內(nèi)部第一代深度學(xué)習(xí)系統(tǒng)DistBelief改進(jìn)而來(lái)的通用計(jì)算框架。DistBelief是谷歌2011年開(kāi)發(fā)的內(nèi)部深度學(xué)習(xí)工具,這個(gè)工具在谷歌內(nèi)部已經(jīng)獲得了巨大的成功。
基于DistBelief的ImageNet圖像分類(lèi)系統(tǒng)Inception模型贏得了ImageNet2014年的比賽(ILSVRC)。通過(guò)DistBelief,谷歌在海量的非標(biāo)注YouTube視屏中習(xí)得了“貓”的概念,并在谷歌圖片中開(kāi)創(chuàng)了圖片搜索的功能。使用DistBelief訓(xùn)練的語(yǔ)音識(shí)別模型成功將語(yǔ)音識(shí)別的錯(cuò)誤率降低了25%。在一次BBC采訪中,當(dāng)時(shí)的谷歌首席執(zhí)行官Eric Schmidt表示這個(gè)提高比率相當(dāng)于之前十年的總和。
-
人工智能
+關(guān)注
關(guān)注
1796文章
47666瀏覽量
240276 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8438瀏覽量
133080
原文標(biāo)題:深度學(xué)習(xí)及TensorFlow簡(jiǎn)介
文章出處:【微信號(hào):C_Expert,微信公眾號(hào):C語(yǔ)言專(zhuān)家集中營(yíng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論