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