簡單易懂的講解深度學習(入門系列之一)

2021-10-11 03:05:15 字數 3624 閱讀 7034

摘要: 當你和女朋友在路邊手拉手一起約會的時候,你可曾想,你們之間早已碰撞出了一種神秘的智慧型–深度學習。戀愛容易,相處不易,不斷磨合,打造你們的默契,最終才能決定你們是否在一起。深度學習也一樣,輸入各種不同的引數,進行訓練擬合,最後輸出擬合結果。 戀愛又不易,且學且珍惜!

導言: 目前人工智慧非常火爆,而深度學習則是引領這一火爆現場的「火箭」。於是,有關「深度學習」的**、書籍和網路部落格汗牛充棟,但大多數這類文章都具備「高不成低不就」的特徵。對於高手來說,自然是沒有問題,他們本身已經具備非常「深度」的學習能力,如果他們想學習有關深度學習的技術,直接找來最新的研究**閱讀就好了。但是,對於低手(初學者)而言,就沒有那麼容易了,因為他們基礎相對薄弱,通常看不太懂。

於是,我們推出深度學習的入門系列。在這個系列文章中,我們力圖用最為通俗易懂、**並茂的方式,帶你入門深度學習。我們都知道,高手從來都是自學出來的。所以,這個深度學習的入門系列,能帶給你的是「從入門到精通」,還是「從入門到放棄」,一切都取決你個人的認知。成就你自己的,永遠都是你自己,是吧?

好了,言歸正傳,下面開始我們的正題。

說到深度學習,我們首先需要知道,什麼是學習。

著名學者赫伯特·西蒙教授(herbert simon,2023年圖靈獎獲得者、2023年諾貝爾經濟學獎獲得者)曾對「學習」給了乙個定義:「如果乙個系統,能夠通過執行某個過程,就此改進了它的效能,那麼這個過程就是學習」。

大牛就是大牛,永遠都是那麼言簡意賅,一針見血。從西蒙教授的觀點可以看出,學習的核心目的,就是改善效能

其實對於人而言,這個定義也是適用的。比如,我們現在正在學習「深度學習」的知識,其本質目的就是為了「提公升」自己在機器學習上的認知水平。如果我們僅僅是低層次的重複性學習,而沒有達到認知公升級的目的,那麼即使表面看起來非常勤奮,其實我們也僅僅是個「偽學習者」, 因為我們沒有改善效能。

遵循西蒙教授的觀點,對於計算機系統而言,通過運用資料及某種特定的方法(比如統計的方法或推理的方法),來提公升機器系統的效能,就是機器學習。

英雄所見略同。卡內基梅隆大學的tom mitchell教授,在他的名作《機器學習》一書中,也給出了更為具體(其實也很抽象)的定義:

對於某類任務(task,簡稱t)和某項效能評價準則(performance,簡稱p),如果乙個電腦程式在t上,以p作為效能的度量,隨著很多經驗(experience,簡稱e)不斷自我完善,那麼我們稱這個電腦程式在從經驗e中學習了。

比如說,對於學習圍棋的程式alphago,它可以通過和自己下棋獲取經驗,那麼它的任務t就是「參與圍棋對弈」;它的效能p就是用「贏得比賽的百分比」來度量。「類似地,學生的任務t就是「上課看書寫作業」;它的效能p就是用「期末成績」來度量」

因此,mitchell教授認為,對於乙個學習問題,我們需要明確三個特徵:任務的型別,衡量任務效能提公升的標準以及獲取經驗的**

在前面的文章中,我們已提到,一般說來,人類的知識在兩個維度上可分成四類。即從可統計與否上來看,可分為:是可統計的和不可統計的。從能否推理上看,可分為可推理的和不可推理的

在哲學上講,這種非線性狀態,是具備了整體性的「複雜系統」,屬於複雜性科學範疇。複雜性科學認為,構成複雜系統的各個要素,自成體系,但阡陌縱橫,其內部結構難以分割。簡單來說,對於複雜系統,1+1≠2,也就是說,乙個簡單系統,加上另外乙個簡單系統,其效果絕不是兩個系統的簡單累加效應,而可能是大於部分之和。因此,我們必須從整體上認識這樣的複雜系統。於是,在認知上,就有了從乙個系統或狀態(end)直接整體變遷到另外乙個系統或狀態(end)的形態。這就是深度學習背後的方**。

與之對應的是「divide and conquer(分而治之)」,其理念正好相反,在哲學它屬於「還原主義(reductionism,或稱還原論)」。在這種方**中,有一種「追本溯源」的蘊意包含其內,即乙個系統(或理論)無論多複雜,都可以分解、分解、再分解,直到能夠還原到邏輯原點。

在意象上,還原主義就是「1+1=2」,也就是說,乙個複雜的系統,都可以由簡單的系統簡單疊加而成(可以理解為線性系統),如果各個簡單系統的問題解決了,那麼整體的問題也就得以解決。比如說,很多的經典力學問題,不論形式有多複雜,通過不斷的分解和還原,最後都可以通過牛頓的三大定律得以解決。

經典機器學習(位於第ⅱ象限),在哲學上,在某種程度上,就可歸屬於還原主義。傳統的機器學習方式,通常是用人類的先驗知識,把原始資料預處理成各種特徵(feature),然後對特徵進行分類。

然而,這種分類的效果,高度取決於特徵選取的好壞。傳統的機器學習專家們,把大部分時間都花在如何尋找更加合適的特徵上。因此,早期的機器學習專家們非常苦逼,故此,傳統的機器學習,其實可以有個更合適的稱呼——特徵工程(feature engineering)

但這種苦逼,也是有好處的。這是因為,這些特徵是由人找出來的,自然也就為人所能理解,效能好壞,機器學習專家們可以「冷暖自知」,靈活調整。

法國科技哲學家伯納德﹒斯蒂格勒(bernard stiegler)認為,人們以自己的技術和各種物化的工具,作為自己「額外」的器官,不斷的成就自己。按照這個觀點,其實,在很多場景下,計算機都是人類思維的一種物化形式。換句話說,計算機的思維(比如說各種電子演算法),都能找到人類生活實踐的影子。

比如說,現在火熱的深度學習,與人們的戀愛過程也有相通之處。在知乎上,就有人(jacky yang)以戀愛為例來說明深度學習的思想,倒也非常傳神。我們知道,男女戀愛大致可分為三個階段:

第一階段初戀期,相當於深度學習的輸入層。妹子吸引你,肯定是有很多因素,比如說臉蛋、身高、身材、性格、學歷等等,這些都是輸入層的引數。對不同喜好的人,他們對輸出結果的期望是不同的,自然他們對這些引數設定的權重也是不一樣的。比如,有些人是奔著結婚去的,那麼他們對妹子的性格可能給予更高的權重。否則,臉蛋的權重可能會更高。

第二階段熱戀期,對應於深度學習的隱藏層。在這個期間,戀愛雙方都要經歷各種歷練和磨合。清朝湖南湘潭人張燦寫了一首七絕:

書畫琴棋詩酒花,當年件件不離他。

而今七事都更變,柴公尺油鹽醬醋茶。

這首詩說的就是,在過日子的洗禮中,各種生活瑣事的變遷。戀愛是過日子的一部分,其實也是如此,也需要雙方不斷磨合。這種磨合中的權重取捨平衡,就相等於深度學習中隱藏層的引數調整,它們需要不斷地訓練和修正!戀愛雙方相處,磨合是非常重要的。要怎麼磨合呢?光說「520(我愛你)」,是廉價的。這就給我們程式猿(媛)提個醒,愛她(他),就要多陪陪她(他)。陪陪她(他),就增加了引數調整的機會。引數調整得好,輸出的結果才能是你想要的。

第三階段穩定期,自然相當於深度學習的輸出層。輸出結果是否合適,是否達到預期,高度取決於「隱藏層」的引數 「磨合」得怎麼樣。

在本小節,我們回顧了「機器學習」的核心要素,那就是通過對資料運用,依據統計或推理的方法,讓計算機系統的效能得到提公升。而深度學習,則是把由人工選取物件特徵,變更為通過神經網路自己選取特徵,為了提公升學習的效能,神經網路的表示學習的層次較多(較深)。

以上僅僅給出機器學習和深度學習的概念性描述,在下乙個小結中,我們將給出機器學習的形式化表示,傳統機器學習和深度學習的不同之處在**,以及到底什麼是神經網路等。

深度學習入門系列一 Python入門

1.1 python安裝 安裝完成後可以在命令列輸入python version檢查版本,然後輸入python可啟動直譯器。1.2 python直譯器 我們可以在python直譯器中輸入簡單的python ctrl d退出python直譯器 簡易樓梯 type 布林值變數 列表字典 if語句 for...

深度學習超簡單入門

線性 當存在w ww和b bb使得式子 f x x w bx rdi n,w rdin dou tand b rd ou tf x x cdot w b quad x in mathbb w in mathbb times d and quad b in mathbb f x x w b x rd ...

深度學習 MATLAB 入門系列(二)

本系列來自 mathworks load a pre trained,deep,convolutional network alex alexnet layers alex.layers modify the network to use five categories layers 23 full...