深度学习资料汇总(满满的干货)
Deep Learning(深度學習),一個很火熱的研究方向,然而,它已經有很久的歷史,只不過由于當時沒有充足的數據和強大的計算能力,導致它此起彼伏了好幾次。如今,他為什么會這么火熱,最主要的原因有兩點:
1.大數據時代已經來臨,國內很多的公司每天可以收集到足夠多的信息,并將其存儲起來,對其經過預處理之后,將其作為深度學習的深入。總之,企業(yè)已經有了海量的數據,基本上可以滿足你的各種需求。除此之外,越來越多的數據集被開放了出來,但是主要用來進行“學術研究”,這些數據的貢獻者主要是國外的公司、大學、研究機構等,而國內在這方面做得不是很好。
2.計算機的計算能力已經大幅度提升,這主要還要歸功于這些硬件公司們的不懈努力,在這里給你們以崇高的敬意!主要的貢獻者包括Microsoft、NVIDIA、IBM、Google、ARM、TI、Xillion等眾多知名企業(yè)。雖然CPU的計算能力已經很強,但是明顯可以感覺到的是CPU的發(fā)展已經到了一個瓶頸階段。發(fā)展的速度比較緩慢。而對應的其他硬件廠商則發(fā)展迅速,主要的代表是NVIDIA,這個GPU提供商,由于GPU的高性能,使得它廣泛的應用到了深度學習領域中,用來訓練Model。但是它的致命缺點是“功耗太高”,需要耗費好大的電力資源,同時需要認真的考慮散熱。這就給Xillion–這個FPGA提供商創(chuàng)造了一個良好的機會,因為FPGA最大的特點就是“可編程、低功耗,高速率”,這使得它成為了一種候選硬件,但是當前FPGA在深度學習領域的應用并不多,主要還是GPU。這可能是因為它對編程人員有一定的要求,需要你懂得一定的硬件架構知識,即門檻相對會比較高一些。當然除了這兩者之外,還有一個競爭對手,那就是TPU – 由谷歌主導的一種專門用于深度學習的處理器,這實質上是一種集成電路(ASIC)。它的優(yōu)點是“高速”,但是缺點是“只能應用于特定領域,而且成本極高。”谷歌在近日已經發(fā)表論文并聲稱自己的TPU可以比GPU快幾十倍!但是經過很多專家和學者的討論,一致認為TPU更多的會作為“深度學習中的一部分,不可能完全使用TPU”。即更好的一種趨勢會是“用GPU進行訓練,用TPU進行測試”,即不同的初始干自己適合干的事,共同協(xié)作起來,從而從本質上加速整個流程。我本人很贊同這個觀點。
正是由于這兩個主要的原因導致又重新復活了起來。
好啦,開始我們的正題。
1.首先要推薦的是“Github”,這個開源平臺,為什么要推薦它呢,原因有以下幾點:
1)它里面收集了大量最新的技術成果,主要包括“論文” “項目”等;
2)許多知名的國際或者國內的大公司、研究機構、知名學者和大牛們都會有自己的Github。便于發(fā)布或者開源一些框架或者代碼。
3)它可以作為你自己的一個“數據倉庫”,你可以免費的在它上面存儲大量的數據,上傳一些自己的工程或者項目。這樣不僅不需要大量的硬盤資源,同時可以和全球的頂尖大牛們分享經驗一起探討和學習。這是一個難得的好機會。
4)其實,它也是一個尋找“代碼Bug的解決方案的好地方” – Bug解決利器。在這里有眾多的項目和代碼,許多人可能都會遇到這樣或者那樣的問題,他們會提出問題并探討問題,找出合適的解決方案。如果你有一個“code方面的問題”,一般都可以在它里面找到一個“完美的解決方案”。讓我感受最為深刻的是,我在學習Linux的過程中在Github中解決了很多的問題,并且學到了好多實用的知識或者技巧。這一點是很多人都會忽略掉的一個地方。如果你沒有解決問題,你可以去stackoverflow stackoverflow尋找解決方案。
6)當然它也是一個學習新技術的平臺,因為這里面有來自全球的知名學者和大牛們,他們大多都會分享自己的項目。你可以通過學習他們的項目,慢慢的積累一些方法和技巧。比如:“編寫整潔的代碼 – 代碼風格” “如何使用具體的函數” “學習他們的項目布局以及代碼” “優(yōu)化代碼的效率” “結合多個工具高效的開發(fā)自己的代碼”等等。一個簡單的例子就是“你可以通過學習tensorflow官方提供的標準樣例代碼去深入的學習tensorflow,在此期間你很塊就會知道tensorflow中有那些常用的模塊,如何使用具體的某個函數,通常需要配置哪些參數,如何優(yōu)化代碼的結構,項目的構成等,同時,你可以通過代碼的注釋學到一些有用的方法,如FLAGS的使用;除此之外,你會學會使用CNN、RNN、LSTM并通過實踐來理解它們的原理;當然,你也會看到它的應用領域和前景。”
7)你可以通過Github交到一些志同道合的朋友,認識一些大牛,一起成長,一起學習,一起進步。相信當你長時間使用Github之后,你可以深深的感受到這一點!
總之,它有很多的優(yōu)點,有待我們自己去深入的發(fā)掘和分析。以上只是我個人的見解。就憑以上的原因就值得你去注冊一個Github賬號啦!
Github官網鏈接
你可以通過以下的界面開始你的Github之旅。
2.接下來我要推薦的是“arXiv” – 一個深度學習的經典論文集,在它里面會收錄一些預發(fā)表的論文,你可以提前了解你當前方向的發(fā)展動態(tài)。更早的了解別人的現(xiàn)狀。這里面的論文質量相當高,都是深度學習領域的一些泰斗或者頂尖的公司或者團隊預發(fā)表的高質量論文。一般都是被“CVPR” “ECCV” “ICCV” “NLP” “ACM”等一流的國際會議所收錄的一些論文。這些論文不僅會有詳細的講解,同時大多都會發(fā)布開源的代碼,你可以借助他們發(fā)布的代碼更好的去驗證算法的性能,更快的開發(fā)出自己的新算法或者新代碼。
原因如下所述:
1)首先,可以使用它來把握“深度學習的最新成果”,這對一個搞科研的人來說極其重要;
2)其次,你可以進行高級檢索,類似谷歌的高級檢索功能;
3)你可以下載到免費的PDF論文,即不用花錢,同時能學到最新的技術;
4)你可以為這些論文添加BookMark,這里支持多種軟件;
這是它的主頁:在這里你可以看到一些最新的論文。
這是檢索AI后的結果:這里會選擇有關A方面最新的論文,并進行排序。
高級檢索功能:
論文界面:你可以下載免費的PDF等多個版本的論文。
3.接下來推薦的是一些開源框架的官方網站
原因如下:
注:
1) 以上列出了一些最常用的深度學習框架,并沒有列全,感興趣的同學可以自己搜索。
2) 可悲的一件事是,國內基本上除了PaddlePaddle沒有好的深度學習框架,而國內的眾多大牛卻是許多框架的開發(fā)者!中國需要有自己的深度學習框架!BAT,你們必須努力!中國的大牛們,我們需要努力!
1)http://cs231n.github.io/
這個“李飛飛”教授有關CNN的資料,講解的特別清晰。
2)http://videolectures.net/Top/Computer_Science/Machine_Learning/Deep_Learning/
這個國外一個有關“深度學習”的視頻鏈接,里面有很多精彩的視頻。有CNN、RNN、LSTM、GAN、RL等。
3)http://deeplearning.net/
這是一個網站,里面含有有關“深度學習”的“數據集” “軟件” “研究小組” “demo” “tutorials”以及“深度學習領域最新動態(tài)”等很多實用的內容。
4)https://cn.udacity.com/course/deep-learning--ud730
這是一個視頻平臺,里面有許多高質量的視頻,包括很多領域,當然也有“深度學習” “機器學習” “智能駕駛” “tensorflow”等一些新技術。大多數的視頻都是免費的。而且任課教師都是該領域的一些大牛。分為“初階” “中階” “高階”課程,你需要根據自己的實際情況進行選擇。
5)https://www.coursera.org/learn/machine-learning/home/welcome
這是深度學習大牛 – 吳恩達在斯坦福講授的“深度學習課程”。內容講解的很全面,也很清楚,可以作為一個深度學習的入門教程,值的你去仔細品味。這個教程應該是很多人入門必看的視頻。
6)https://web.stanford.edu/class/cs20si/
這個一個有關NLP的經典視頻,由斯坦福大學提供。對于NLP領域的人來說,是一個必看的教程。隨著NLP與CV領域不斷的融合,我建議CV領域的我們也應該了解了解,這樣才能更好的促進NLP與CV的高效融合。
這是吳恩達出的一本新書的中文翻譯版,可以在閑暇時間看一看,可以加深你對深度學習中某些知識的理解,使你更加高效的進行項目開發(fā)和實踐。
8)http://www.open-open.com/lib/view/open1476758313725.html
這個某位大牛整理的一些資料,里面含有很多內容,包括“基本的模型” “數據集” “案例” “強化學習”等
9)http://blog.csdn.net/songrotek/article/details/50572935
這是一個有關DRL即深度強化學習的資料,作為一個較新的技術,網上的資料極少,很難得。適合高階水平的學者進行研究。
10)http://mp.sohu.com/profile?xpt=YWlfZXJhQHNvaHUuY29t
這一一個國內的收集有關深度學習方面最新研究的網站 – 新智元,里面會對最新發(fā)表的一些高質量論文進行簡要的總結,并提供下載鏈接,可以作為你的“今日頭條”。在閑暇之余了解一下最新動態(tài)。每天它都會更新一部分內容,值的你去關注。很專業(yè)的一個網站!
11)https://github.com/muupan/deep-reinforcement-learning-papers
這個一位大牛在Github上收集的“有關深度學習領域的經典論文集”。這個主要是“針對DL(強化學習)”的,因為這也是一個比較新的研究方向,網上的資料很少,值的收藏!
這也是在Github上的“RL論文集”,和上一個相比,有更多的論文,內容更加充足,更加全面。如果你對這方面的內容感興趣,值的進行收藏,閑暇之時可以理解理解里面的論文。學習學習“強化學習”,這在許多大公司里面有著很多的用處。
13)https://github.com/google/seq2seq
這是Google開源的一個“seq2seq”的庫,seq2seq有很多用途,例如“翻譯系統(tǒng)” “給圖像、視頻添加標題” “文本轉換為圖像”。有著很好的應用前景,利用這個庫你可以更快的開發(fā)自己的seq2seq模型。
14)http://210.28.132.67/weixs/project/CNNTricks/CNNTricks.html
這是一篇有關DNN使用技巧的一篇文章。
15)https://github.com/tensorflow/models/tree/master/slim#pre-trained-models
這是tensorflow的一個Model庫,里面有很多預訓練好的Model,可以用來初始化你餓新的Model,從而獲得更好的效果。包括LeNet、AlexNet、GoogleNet等經典模型;
16)https://github.com/BVLC/caffe/wiki/Model-Zoo
這是一個Caffe的Model庫,里面包含了多個經典的Model,你可以用它們初始化你自己的Model。
17)https://github.com/yusugomori/DeepLearning
這是一個利用多種語言來學習深度學習的庫,包括C、C++、Go、Java、Python等,同時含有許多基本的網絡CNN、AE、DBN等。
18)https://github.com/Piyush3dB/awesome-deep-computation
這是一些有關“深度學習硬件相關的一些資料”,包括“內存/周期優(yōu)化”等。如果想用硬件加速DNN,可以參考這里面的一些內容。
19)https://github.com/fengbintu/Neural-Networks-on-Silicon
這也是一個有關DNN硬件實現(xiàn)的資料,包括利用FPGA實現(xiàn)等。包括各種網絡的實現(xiàn)以及加速的硬件實現(xiàn)。
20)https://www.analyticsvidhya.com/blog/2016/08/deep-learning-path/
這是一個利用Python進行深度學習的簡單案例,深度學習開發(fā)語言有很多種,但是使用的最為廣泛的一種語言是“Python”,許多的深度學習框架都提供了相應的python接口,即便是剛開始不支持Python,后期都可能會有新的支持python接口的版本退出。一個具體的例子就是Torch,最后退出了pytorch。Python十分簡單,使用起來非常方便,可以大大加速項目的開發(fā)。但是與C和C++相比,它的執(zhí)行效率比較低。基于這個原因,很多深度學習框架將C++和Python結合起來,利用Python快速的構建Model,而運行時卻使用C++在后臺運行。這樣更加完美,tensorflow就是一個案例。
21)https://github.com/ty4z2008/Qix/blob/master/dl.md
這是一個大牛收集的有關深度學習的資料,里面用中文解釋,包括“書籍” “文獻” “機器學習” “統(tǒng)計學”等,內容非常的豐富,有各種各樣的資料,可以滿足不同人的不同需求。“只有你想不到,沒有大牛做不到的,哈哈”。
22)http://deeplearning.stanford.edu/tutorial/
這是一個UFLDL提供的關于“無監(jiān)督學習和深度學習”的理論教材,里面介紹了深度學習中一些非常基礎的概念和知識,例如“MLP” “Pooling”等,可以作為一個入門資料,也可以作為一個加強理解的資料,在你編寫了一部分代碼之后,重新來理解這些概念,你會有一些全新的理解。可以真正的加深你對這些內容的理解。
23)http://work.caltech.edu/library/
這是一個“機器學習”的視頻庫。
24)https://paperswithcode.com/sota
這是一個很好的網站,收集這很多方向的state-of-art算法,而且還在不斷的實時更新,包含的范圍很廣,深度也很廣。
5.下面介紹一些深度學習領域大牛的主頁,你可以通過瀏覽他們的主頁,來把握深度學習最近的動態(tài),以及該領域的一些熱點,一般大牛都走在科技前沿,他們的研究方向的前景一般都不差。只要你有興趣,可以在他們的研究領域做一些基礎的研究。
1)lecun -- http://yann.lecun.com/ # 當前主要進行GAN(對抗神經網絡的研究)2) Yoshua Bengio http://www.iro.umontreal.ca/~bengioy/yoshua_en/index.html # 主要從事深度學習領域“基礎理論”的研究,目前仍在“學術界潛心研究”。3)Andrew Ng -- http://www.andrewng.org/ # 吳恩達,一個再深度學習領域赫赫有名的華人。在深度學習的部署方面很有造詣。有很強的項目經驗。不過,最近剛從百度辭職,不知如今身在何處?4)LiFeiFei http://vision.stanford.edu/feifeili/ # 李飛飛,深度學習領域的又一個“大牛華僑”,目前是斯坦福大學的教授。主要從事的是CV領域。5)Lan goodfellow -- http://www.iangoodfellow.com/ # 深度學習領域的一個新秀,目前的研究方向是GAN。目前在DeepMind工作。6)張潼 -- http://tongzhang-ml.org/research.html 又一個深度學習領域的“華人大牛”,目前在騰訊工作。主要研究DL(增強學習)。以下是他們的個人照片:
李飛飛
Yoshua Bengio
Lan goodfellow
張潼
吳恩達
lecun
注:如今,深度學習領域的大牛太多啦,我這里僅僅列舉了其中幾個“頂級大牛”,他們時真真正正的大牛,當之無愧的大牛,給深度學習領域做出了巨大的貢獻,在這里給他們致以崇高的敬意!
6.最后,我在這里給大家意見一些有用的公眾號,這絕對不是在打廣告,這些公眾號都有很多干貨,值的你去“關注”它。
1)新智元 – 在國內,我認為這是一個很權威的“深度學習資訊平臺”,每天都會更新內容,并且提供下載鏈接。這是我個人強烈推薦的,“不用不知道,用了呱呱叫”。
2)AI世代 – 這一個一個資訊平臺,也會不時的更新內容,但是相對來講,更新的內容較少,而且更新的速度比較慢。
3)AI科技評論 – 這也會一個資訊平臺,每天會定期更新內容,而且干貨很多,而且每天的問題都很有針對性,和新智元不相上下。值的你去關注一下!
4)深度學習世界 – 一個稍微小眾的平臺,更新速度比較慢,更新的數量也比較少,但是確實都是干貨,一些很實用的技術和方法。建議你去關注。
注:更多的咨訊平臺需要我們一起去挖掘,歡迎大家提出更多更好的資訊平臺,我們共同研究,共同學習。畢竟這是一個“需要共享學習的社會”。一個微不足道的共享可能會服務到很多的人。希望大家都能貢獻自己的一份力量。
好啦,這篇Blog暫時寫到這里,后續(xù)還會不斷的補充新的內容,有興趣的同學可以持續(xù)關注。
注:
1)由于個人的能力有限,只能收集到有限的資源,如果大家發(fā)現(xiàn)更好的資源,可以聯(lián)系我,我會隨時更新,讓更多的人看到這些有用的資料,大家一起學習,一起進步。
2)歡迎你提出你的寶貴意見,如果你有好的想法或者建議可以隨時聯(lián)系我,我會及時回復大家。謝謝。
3)由于本博客是我個人的原創(chuàng),如果你想要裝載,請給我發(fā)送信息,我會及時回復大家。
郵箱:1575262785@qq.com
總結
以上是生活随笔為你收集整理的深度学习资料汇总(满满的干货)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux16.04配置tensorfl
- 下一篇: 深度学习在CV领域的进展以及一些由深度学