AI應用之深度學習演算法總覽
來自專欄 AlphaTree6 人贊了文章
近幾年來,隨著存儲能力、運算能力,AI技術爆髮式的增長,AI應用也到了重要的時刻,所有企業都開始宣傳AI+,希望對自有功能進行技術的迭代升級。但是無論是CEO,還是項目經理,產品經理,或是程序員或者工程師,都面臨著一個巨大的問題。如何自己團隊動手將傳說中各大比賽中佼佼者的演算法模型,與自己的數據結合,做出有用的產品。
看上去,數據自己有,演算法模型很多開源,但是給你一個問題,該如何解決,現在市面上最好的方法是什麼,最前沿的paper 又是啥,整個趨勢是怎樣,大家常常無從下手。 就像一位大廚想做一道滿漢全席,為啥不知道該拿什麼下鍋。 很多時候,是因為大家心中沒有這個菜譜。而菜譜就是基礎與前沿的演算法模型發展情況。
從AI研究的角度來說,AI的學習和跟進是有偏向性的,更多的精英是擅長相關的一到兩個領域,在這個領域做到更好。而從AI應用的角度來說,每一個工程都可能涉及很多個AI的方向,而他們需要了解掌握不同的方向才能更好的開發和設計。因此我們從應用的角度 提出一個 roadmap ,描述不同方向的經典演算法模型發展,以及應用上熱門的演算法。
第一個版本涉及的是 人,物 與藝術,三個大的部分。主要包括了圖像方向的十二個子方向,裡面列的模型除了商業化的部分外,其他大部分具有相關的開源演算法與模型。
詳細演算法,文章,開源代碼等具體可以參見網址,如果喜歡別忘記右上角star一下哦:
weslynn/AlphaTree-graphic-deep-neural-network
大圖鏈接
https://raw.githubusercontent.com/weslynn/graphic-deep-neural-network/master/map/mapclean_1.0.png物
成千上萬的物體是世界的組成,我們希望人工智慧能夠像我們一樣理解這個世界。也就有了物體相關的演算法發展。
最基礎的是物體分類。Object Classification。深度學習的發展證明它非常擅長解決分類問題。Object Classification 是所有發展的基礎,很多其他方向的模型都是基於這個主線來改進的。
為什麼演算法都從圖像領域發展而來?由於圖像的數據最為豐富,卷積神經網路在圖像上分類的穩定有效,1998年,LeNet,這個商用的手寫數字識別網路就做出了有力的證明。而到了2012年,Alex Krizhevsky 設計了AlexNet 在當年的ImageNet圖像分類競賽中下第一,開始了深度學習的黃金時代。
學術界發表的paper一般可以分為兩大類,一類是網路結構的改進,一類是訓練過程的改進,如droppath,loss改進等。而網路結構設計發展主要有兩條主線,一條是Inception系列(即上面說的複雜度),從GoogLeNet 到Inception V2 V3 V4,Inception ResNet。 Inception module模塊在不斷變化,一條是VGG系列(即深度),用簡單的結構,儘可能的使得網路變得更深。從VGG 發展到ResNet ,再到DenseNet ,DPN等。
最終Google Brain用500塊GPU訓練出了比人類設計的網路結構更優的網路NASNet。
此外,應用方面更注重的是,如何將模型設計得更小,這中間就涉及到很多卷積核的變換。這條路線則包括 SqueezeNet,MobileNet V1 V2 Xception shuffleNet等。ResNet的變種ResNeXt 和SENet 都是從小模型的設計思路發展而來。
Object Detection 與Object Segmentation
對世界的理解僅僅通過分類知道這張圖是關於什麼的,是遠遠不夠的,而物體檢測和物體分割才能夠達到對世界進行與人類似的理解。物體檢測和語義分割,以及分割加檢測結合的實例分割各發展了幾年,但是最終發展到MaskRCNN演算法對物體同時完成檢測與分割的任務,並且有更優的表現。
人類文明的傳承,離不開的是文字。文字的識別和理解在應用上有著特別的意義。傳統的文檔識別,早就有了相對穩定的解決方案,開源的Tesseract 是常用的方法,收費的ABBYY則一直效果處於世界前列。而複雜環境中的文字識別則隨著DL的發展有著不錯的進展。一方面是還是獨立的檢測與識別,一方面是也有了兩者聯合的端對端網路的探索。
人
能讓人工智慧像我們一樣理解我們自身,能夠認識他是誰,理解他表達的喜怒哀樂,能夠知道他在做什麼,一直就是讓人著迷的事情。一直以來,無數科研工作者都在相關方向上奮鬥。而DL模擬人類視覺系統,首先取得較好成績的也是在人臉相關的領域。
人臉相關領域在應用上的主要有:
1 人臉檢測與追蹤
2 人臉矯正與關鍵點檢測
3 表情,性別,年齡,種族分析
4 人臉像素基本解析
5 人臉識別
6 活體檢測與驗證
7 大規模人臉檢索
8 人臉的3D重建
其中 表情,性別,年齡,種族分析 就是基本分類問題,使用Object Classification中的方法就可以解決。而活體檢測與驗證一般通過增加其他設備,使用結構光,如紅外,iphonex的FaceID,或者增加活體行為來進行,如常用的點頭,眨眼,張嘴等。 而後者的基礎,還是在 2 人臉矯正和關鍵點檢測上。大規模人臉檢索是在人臉識別的基礎上更加工程化的工作。因此在這裡我們選擇了1 2 5 8 等四個方面來進行分析。
對於人的理解,還有一個關鍵,就是Pose Estimation 姿態估計
單人演算法發展,2016年 stacked hourglass 演算法的提出,是一個重要標誌,它結構簡單,可擴展性強,性能優越,當時就拿下了MPII姿態分析競賽 的冠軍。即便到今天(2018/05/30),這個比賽單人組現在的第一名也是在它的基礎上進行改進。
多人的演算法,分成兩個方向,一個自頂向下 top-down,主要關注RMPE/AlphaPose, 一個自底向上,bottom-up,主要關注OpenPose。
此外,基於Pose相關的Segment也在發展,從2D到3D則有DensePose-RCNN。
藝術
藝術是人類對世界的表達,以及我們對虛擬世界的創造。
用科技探索藝術是一件非常有意思的事情,而這些在應用上往往也能產生很好的產品。最知名的就是風格轉換 (Neural Style),而探索的方法 有的基於基本的DL網路,有的基於GAN對抗生成網路。因此在這裡用漸變色的綠色繪製了這個獨特的軌道。深綠色是各種應用,淺綠色則代表了GAN的發展路線。
關於AlphaTree計劃
AI中每一個領域都在日新月異的成長,而每一位研究人員寫paper的風格都不一樣,相似的模型,為了突出不同的改進點,他們對模型的描述和圖示都可能大不相同。
為了幫助更多的人在不同領域能夠快速跟進前沿技術,我們構建了「AlphaTree計劃」,對上面提到的文章會對應開源代碼,進行統一的圖示,便於大家對模型的理解。模型的繪製設計 受到Fjodor van Veen所作的A mostly complete chart of Neural Networks 和 FeiFei Li AI課程中對模型的畫法的啟發
將一個深度神經網路模型簡化成下圖:
裡面用到的圖標有:
其實 簡單來說 ,為了方便記憶,重要的結構只會選用七種彩虹色。 紅橙黃綠藍靛紫。 由於兼容Fjodor van Veen的設置,輸入和輸出暫時佔用了兩種顏色。 如果根據需求後期可能將輸入輸出改成其他不重要的顏色。紫色(這裡用的紫紅色)為卷積,紅色為pooling,綠色為全連接,藍色為Memory Cell,靛(深藍色)是反卷積。
現在Object Classificaiton部分裡面涉及到的模型都根據源代碼繪製完成了。
譬如LeNet結構如下:
下面一行是輸入的圖像 經過每一層後輸出的尺寸。每個模型也會有對應paper中的結構介紹。歡迎大家圍觀,也歡迎大家加入。
如果有幫助,記得右上角star哦~ ?( ′???` )比心
weslynn/AlphaTree-graphic-deep-neural-network
為什麼要畫這個?現在畫合適嗎?
其實 整理髮展趨勢,跟進論文的事情 一直在做,而圖示各種模型的想法也早就有了。但是之前演算法更新迭代非常迅速,很多發展方向都沒有穩定下來,所以這件事情一直也沒有著手去做。
平時溝通中,通過圖示模型的表達也幫助過一些人理解,包含CEO,產品經理,程序員,AI小白…… 總體反響還不錯,但是之前沒有完整系統的輸出。之前都是簡版的溝通,也擔心大家覺得看懂了圖示,但覺得和paper的表達會不會有差距,就乾脆圖示和paper,代碼做到了對應。
但是2017年年底 nasnet出來,機器設計的深度神經網路在性能上已經超越了人工設計的網路,在我看來,這是個很重要的信號。AI 從某種意義上來說,成為真正的AI。而以後人們常用的模型結構可能都是神經網路自我設計,或者teaching-student模型學習出來,裡面的結構再也不是人類所能理解的。而一個優秀的新模型的誕生,是巨頭們計算設備的比拼。
而對於很多公司,重心將轉移到如何利用現有的模型,結合自己的數據,設計出最適合自己的模型。全民AI的時代正在到來。
最後,無論是想撩一撩,想加入AlphaTree ,想得到更多資訊,都可以去公眾號找哦~
http://weixin.qq.com/r/5y2SisnEc5QMrY3p93j1 (二維碼自動識別)
推薦閱讀:
TAG:機器學習 | 深度學習DeepLearning | 人工智慧 | 人工智慧演算法 |