幼教網
全國站
您現(xiàn)在的位置:幼教 > 家庭教育 > 幼兒家庭教育 > 智力開發(fā) > 正文

普通程序員如何入門深度學習(2)

來源:玉剛說 作者:Anymake 2018-06-14 11:34:12

說兩句


  通常,我們拿到的數(shù)據(jù)和最終想要的結果相差甚遠。例如,想知道照片中的人是不是開心,我們希望有一個模型,能將成千上萬的低級特征(像素值),轉化為高度抽象的輸出(開心程度)。選擇正確模型并不簡單,不同的模型適合不同的數(shù)據(jù)集。在這本書中,我們會主要聚焦于深度神經網絡模型。這些模型包含了自上而下聯(lián)結的數(shù)據(jù)多層連續(xù)變換,因此稱之為深度學習。在討論深度神經網絡之前,我們也會討論一些簡單、淺顯的模型。

  損失函數(shù)(Loss Functions)

  我們需要對比模型的輸出和真實值之間的誤差。損失函數(shù)可以衡量輸出結果對比真實數(shù)據(jù)的好壞。例如,我們訓練了一個基于圖片預測病人心率的模型。如果模型預測某個病人的心率是100bpm,而實際上僅有60bpm,這時候,我們就需要某個方法來提點一下這個的模型了。

  類似的,一個模型通過給電子郵件打分來預測是不是垃圾郵件,我們同樣需要某個方法判斷模型的結果是否準確。典型的機器學習過程包括將損失函數(shù)最小化。通常,模型包含很多參數(shù)。我們通過最小化損失函數(shù)來“學習”這些參數(shù)?上,將損失降到最小,并不能保證我們的模型在遇到(未見過的)測試數(shù)據(jù)時表現(xiàn)良好。由此,我們需要跟蹤兩項數(shù)據(jù):

  訓練誤差(training error):這是模型在用于訓練的數(shù)據(jù)集上的誤差。類似于考試前我們在模擬試卷上拿到的分數(shù)。有一定的指向性,但不一定保證真實考試分數(shù)。

  測試誤差(test error):這是模型在沒見過的新數(shù)據(jù)上的誤差,可能會跟訓練誤差很不一樣(統(tǒng)計上稱之為過擬合)。類似于考前?即未文酶叻,但實際考起來卻失誤了。

  優(yōu)化算法(Optimization Algorithms)

  最后,我們需要算法來通盤考慮模型本身和損失函數(shù),對參數(shù)進行搜索,從而逐漸最小化損失。最常見的神經網絡優(yōu)化使用梯度下降法作為優(yōu)化算法。簡單地說,輕微地改動參數(shù),觀察訓練集的損失將如何移動。然后將參數(shù)向減小損失的方向調整。

  什么是深度學習

  這是機器學習的一個子領域,近年來表現(xiàn)出了很大的潛力。它涉及到大腦中神經元結構和功能的算法。Andrew Ng曾用下圖對比說明傳統(tǒng)機器學習算法和深度學習算法的特點。從圖中可以看出,隨著數(shù)據(jù)的增多,到達一定量后,深度學習算法的表現(xiàn)會明顯優(yōu)于傳統(tǒng)的機器學習算法。

  深度學習中最令人激動的特性之一是它在特征學習上的表現(xiàn)。該算法在從原始數(shù)據(jù)中檢測特征方面表現(xiàn)地特別好。有一個很好的例子,就是通過深度學習技術來識別汽車圖片中的車輪。下圖說明了典型機器學習與深度學習之間的區(qū)別:

  在機器學習中特征選擇部分一般需要人的先驗知識的介入來設計好的特征提取方法,比如人知道輪子一般是圓的,一般出現(xiàn)在交通工具上,有輪胎、輪轂等部件,基于先驗知識,人可以選取適合提取輪子特征的方法,再設計分類器以識別輪子。而深度學習通常由多個層組成。它們通常將更簡單的模型組合在一起,通過將數(shù)據(jù)從一層傳遞到另一層來構建更復雜的模型。通過大量數(shù)據(jù)的訓練自動得到一個能識別輪子的模型,不需要人工設計特征提取環(huán)節(jié)。這是深度學習隨著數(shù)據(jù)量的增加而優(yōu)于其他學習算法的主要原因之一。

  隨著深度學習的發(fā)展,為了方便算法人員訓練模型,調整參數(shù)等,很多公司開源了優(yōu)秀的深度學習框架,到目前為止,主要的深度學習框架如下圖所示。目前工業(yè)界用的比較多的是Caffe和TensorFlow,Caffe主要在計算機視覺上用的較多,TensorFlow由谷歌開源,相關文檔較好,適用范圍廣,基于Python語音,入門簡單,建議新手入門可以選擇TensorFlow。但是這些只是深度學習的平臺框架而已,真正重要的還是學習好深度學習的理論,有了理論各種平臺都不是問題。

  TensorFlow簡介

  TensorFlow是專門為機器學習而設計的快速數(shù)值計算Python庫,它由谷歌開源,旨在讓世界各地更多的研究人員和開發(fā)人員掌握深度學習。為了加速深度學習領域的發(fā)展,2015年11月9日,Google發(fā)布深度學習框架TensorFlow并宣布開源。在短短的一年時間內,在GitHub上,TensorFlow就成為了最流行的深度學習項目。

  TensorFlow在計算機視覺、語音識別、推薦系統(tǒng)和自然語言處理等場景下都有豐富的應用。雖然Tenforflow開源時間剛滿一年,但是它正在以迅猛的速度滲入到我們的尋常生活中。它支持Linux平臺,Windows平臺,Mac平臺,甚至還宣稱要發(fā)布相應的移動端平臺。其次,TensorFlow提供了非常豐富的深度學習相關的API,可以說目前所有深度學習框架里,提供的API最全的,包括基本的向量矩陣計算、各種優(yōu)化算法、各種卷積神經網絡和循環(huán)神經網絡基本單元的實現(xiàn)、以及可視化的輔助工具、等等。

  你可以按照官方的教程安裝TensorFlow,安裝好之后,你就可以用它提供的多個API來訓練機器學習模型了。具體的教程可以參考TensorFlow官網,不想看英文的也可以參考TensorFlow中文社區(qū)。

  雖然TensorFlow是最受歡迎的機器學習庫,不過也有其他幾個很棒的選擇,如Torch(Facebook使用)、Caffe(出自Berkeley AI研究所的深度學習框架)等等。其中Caffe是第一個在工業(yè)上得到廣泛應用的開源深度學習框架,也是第一代深度學習框架里最受歡迎的框架,目前也有很多企業(yè)和科研人員在使用。

  學習資料

  一旦對基礎知識有了一定的了解,你應該知道自己對機器學習的哪些方面比較感興趣,你想在應用程序中使用機器學習,還是想研究機器學習。下面是一些優(yōu)秀的參考資料,可以幫助你系統(tǒng)的學習。

  書籍:

  深度學習技術發(fā)展迅速,各種平臺框架也迭代很快,推薦相關的書籍其實不太好推薦。在這里我只推薦兩本書:

  第一本是《白話深度學習與TensorFlow》,這本書寫的非常通俗易懂,沒有太多理論知識介紹,基本是深度學習的基礎知識和TensorFlow的相關例程,適合沒有深度學習基礎,想入門深度學習的人看。

  第二本是美國Ian,Goodfellow 寫的《Deep Learning》,這本書有中文翻譯版《深度學習》,但是這本書基本是講深度學習理論的,沒有基礎的話很難看懂,但是翻譯者提供了PDF在GitHub上,想看的可以去下載:https://github.com/exacity/deeplearningbook-chinese

  網絡資源:

  對于新手入門個人覺得很多網上的手冊、教程和博客都很不錯。這篇文章主要面向零基礎的想了解DeepLearning的人員,太復雜專業(yè)的暫時就不推薦了,以下是一些基礎的入門資源。

  1.吳恩達的深度學習在線課程:這是吳恩達成立DeepLearning.ai在線教育網站后的第一個課程,網易云課堂引進了,偏工程可以學習一下,還有相關證書,吳恩達給你的人工智能第一課.

  2.莫煩Python:這是一個在澳大利亞讀博的中國人,他會講Python和深度學習的教程,有視頻。Python基本是現(xiàn)在做深度學習的必會語言了,喜歡的可以去這里學習https://morvanzhou.github.io/about/。

  3.臺灣李宏毅教授的在線課程:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html,還有一個300多頁的ppt,比較系統(tǒng),也最通俗易懂的:http://www.slideshare.net/tw_dsconf/ss-62245351?qid=108adce3-2c3d-4758-a830-95d0a57e46bc&v=&b=&from_search=3

  4.TensorFlow中文社區(qū):http://www.tensorfly.cn

  5.想學習caffe框架的,也可以參考徐其華的博客:http://www.cnblogs.com/denny402/tag/caffe/

  結語

  “整個世界就是一個大數(shù)據(jù)問題” - Andrew McAfee

  掌握機器學習就像是馴服一頭野獸。但是,如果你已經吃透它,那么它就是你身邊一個非常有價值的資源。暫時想到的就這么多,愿大家一同進步……
 

  相關推薦:

小升初試題、期中期末題、小學奧數(shù)題

盡在奧數(shù)網公眾號

   歡迎使用手機、平板等移動設備訪問幼教網,幼兒教育我們一路陪伴同行!>>點擊查看

  • 歡迎掃描二維碼
    關注幼教網微信
    gh_5735a1f9f07c

  • 歡迎掃描二維碼
    關注奧數(shù)網微信
    ID:aoshu_2003

熱點專題

  • 幼兒園教學課件:奇特的建筑
  • 幼兒教學課件:小魚的夢
  • 河頭幼兒園“幫水寶寶搬家”

[幼兒園英語課件]幼兒園英語課件:認識時間

[幼兒園英語課件]幼兒園英語課件:A Apple

幼升小

幼升小資訊

幼升小政策

幼升小擇校

幼升小指導

學區(qū)房

幼升小真題

重點小學

上海小學

廣州小學

深圳小學

成都小學

武漢小學

南京小學

北京一類幼兒園

海淀區(qū)幼兒園

西城區(qū)幼兒園

東城區(qū)幼兒園

朝陽區(qū)幼兒園

其他區(qū)幼兒園

幼兒園資訊

教師園地

幼兒園說課稿

幼兒園教案

教學論文

幼兒園課件

幼兒園教師心得

幼兒園評語

少兒教育

胎教

早期教育

入園必讀

潛能開發(fā)

藝術培養(yǎng)

家庭教育

兒童樂園

科普知識

圖書推薦

睡前故事

成語故事

童話故事

唐詩宋詞

孕育指南

時尚媽咪

健康寶貝

美食廚房

趣味數(shù)學

健康飲食

專家答疑

-->