關於對深度學習的理解


首先要明白什么是深度學習?

深度學習是用於建立、模擬人腦進行分析學習的神經網絡,並模仿人腦的機制來解釋數據的一種機器學習技術。

它的基本特點是試圖模仿大腦的神經元之間傳遞,處理信息的模式。最顯著的應用是計算機視覺和自然語言處理(NLP)領域。顯然,“深度學習”是與機器學習中的“神經網絡”是強相關,“神經網絡”也是其主要的算法和手段;或者我們可以將“深度學習”稱之為“改良版的神經網絡”算法。

深度學習又分為卷積神經網絡(Convolutional neural networks,簡稱CNN)和深度置信網(Deep Belief Nets,簡稱DBN)。其主要的思想就是模擬人的神經元,每個神經元接受到信息,處理完后傳遞給與之相鄰的所有神經元即可。所以看起來的處理方式有點像下圖(想深入了解的同學可以自行google)。

神經網絡的計算量非常大,事實上在很長時間里由於基礎設施技術的限制進展並不大。而GPU的出現讓人看到了曙光,也造就了深度學習的蓬勃發展,“深度學習”才一下子火熱起來。擊敗李世石的Alpha go即是深度學習的一個很好的示例。Google的TensorFlow是開源深度學習系統一個比較好的實現,支持CNN、RNN和LSTM算法,是目前在圖像識別、自然語言處理方面最流行的深度神經網絡模型。事實上,提出“深度學習”概念的Hinton教授加入了google,而Alpha go也是google家的。

機器學習是人工智能的一個子集,深度學習又是機器學習的一個子集。機器學習與深度學習都是需要大量數據支撐的,是大數據技術上的一個應用,同時深度學習還需要更高的運算能力支撐,如GPU。——《來自於知乎》

如果想要了解深度學習到底是在干什么,可以參考這篇博客https://blog.csdn.net/vucndnrzk8iwx/article/details/78559510

Deep learning 的基本思想

  假設我們有一個系統S,它有n層(S1,…Sn),它的輸入是I,輸出是O,形象地表示為: I =>S1=>S2=>…..=>Sn => O,如果輸出O等於輸入I,即輸入I經過這個系統變化之后沒有任何的信息損失(呵呵,大牛說,這是不可能的。信息論中有個“信息逐層丟失”的說法(信息處理不等式),設處理a信息得到b,再對b處理得到c,那么可以證明:a和c的互信息不會超過a和b的互信息。這表明信息處理不會增加信息,大部分處理會丟失信息。當然了,如果丟掉的是沒用的信息那多好啊),保持了不變,這意味着輸入I經過每一層Si都沒有任何的信息損失,即在任何一層Si,它都是原有信息(即輸入I)的另外一種表示。現在回到我們的主題Deep Learning,我們需要自動地學習特征,假設我們有一堆輸入I(如一堆圖像或者文本),假設我們設計了一個系統S(有n層),我們通過調整系統中參數,使得它的輸出仍然是輸入I,那么我們就可以自動地獲取得到輸入I的一系列層次特征,即S1,…, Sn。

       對於深度學習來說,其思想就是對堆疊多個層,也就是說這一層的輸出作為下一層的輸入。通過這種方式,就可以實現對輸入信息進行分級表達了。

       另外,前面是假設輸出嚴格地等於輸入,這個限制太嚴格,我們可以略微地放松這個限制,例如我們只要使得輸入與輸出的差別盡可能地小即可,這個放松會導致另外一類不同的Deep Learning方法。上述就是Deep Learning的基本思想。

深度學習框架  

  在開始深度學習之前,選擇一個學習框架是非常重要的,因為選擇一個好的學習框架可以達到事半功倍的效果。研究者們使用各種不同的框架來達到他們的研究目的,側面印證出深度學習領域百花齊放。在深度學習初始階段,每個深度學習研究者都需要寫大量的重復代碼。為了提高工作效率,這些研究者就將這些代碼寫成了一個框架放到網上讓所有研究者一起使用。接着,網上就出現了不同的框架。隨着時間的推移,最為好用的幾個框架被大量的人使用從而流行了起來。 全世界最為流行的深度學習框架有PaddlePaddle、Tensorflow、Caffe、Theano、MXNet、Torch和PyTorch。我開始學習深度學習之時我的老師就一直要求我學習的tensorflow。

  Google 開源的Tensorflow是一款使用C++語言開發的開源數學計算軟件,使用數據流圖(Data Flow Graph)的形式進行計算。圖中的節點代表數學運算,而圖中的線條表示多維數據數組(tensor)之間的交互。Tensorflow靈活的架構可以部署在一個或多個CPU、GPU的台式及服務器中,或者使用單一的API應用在移動設備中。Tensorflow最初是由研究人員和Google Brain 團隊針對機器學習和深度神經網絡進行研究而開發,開源之后幾乎可以在各個領域適用。
  Tensorflow是全世界使用人數最多、社區最為龐大的一個框架,因為Google公司出品,所以維護與更新比較頻繁,並且有着Python和C++的接口,教程也非常完善,同時很多論文復現的第一個版本都是基於Tensorflow寫的,所以是深度學習界框架默認的老大。
  這里推薦tensorflow的官方文檔,有興趣學習的小伙伴可以去看一下 https://www.w3cschool.cn/tensorflow_python/?
 
  看到這里我相信有些暈了,所以我覺得可以梳理一下以上所講內容了,請看這篇博客 https://baijiahao.baidu.com/s?id=1618523948331231188&wfr=spider&for=pc,推薦新手必看!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM