天天看點

關于深度學習在圖像識别上應用的學習筆記

關于深度學習在圖像識别上應用的學習筆記2

僅是關于我在深度學習基礎知識的學習過程中的一些整理,有錯漏之處需要大家指出,謝謝

二、深度學習的大體流程

機器學習是将輸入(比如圖像)映射到目标(比如标簽“貓”),這一過程是通過觀察許多輸入和目标的示例來完成的。深度神經網絡通過一系列簡單的資料變換(層)來實作這種輸入到目标的映射,而這些資料變換都是通過觀察示例學習到的。

神經網絡中每層對輸入資料所做的具體操作儲存在該層的權重(weight)中,其本質是一串數字。用術語來說,每層實作的變換由其權重來參數化(parameterize)。權重有時也被稱為該層的參數(parameter)。在這種語境下,學習的意思是為神經網絡的所有層找到一組權重值,使得該網絡能夠将每個示例輸入與其目标正确地一一對應。但重點來了:一個深度神經網絡可能包含數千萬個參數。找到所有參數的正确取值可能是一項非常艱巨的任務,特别是 考慮到修改某個參數值将會影響其他所有參數的行為。(引自python深度學習 美 弗朗索瓦肖萊)

關于深度學習在圖像識别上應用的學習筆記

關于權重,如果還是不能了解其存在的意義的話,我們可以類比生物上的神經元的工作模式。學習高中生物我們可以知道,神經元傳導興奮是需要電位改變量達到一個門檻值的,造成的電位改變超過門檻值,才會沿着神經元傳導到神經中樞産生興奮。當我們的輸入到達經過與權重運算後到達一定程度的時候,超過了預先設定的門檻值,通過激活函數産生輸出。

當然,實際的神經網絡工作,并沒有生物學那樣神秘,簡單來說,這就是一系列的運算,通過特定的模式。所謂生物神經元和它的聯系,隻能算作是一種類比,如若将其完全代入,反而不易了解。

一定要明确我們學習的目的,是為神經網絡的所有層找到一組權重值,使得該網絡能将整個示例輸入與其目标正确地一一對應。

上圖非常明朗地表達了一個深度神經網絡的工作流程圖。

現在開始解釋上圖的工作原理。我們讓機器學會判斷,就像老師教我們做題一樣,首先要根據一道老師講解過答案并且知道解題過程的例題,來深化我們的學習效果。同樣,我們通過一系列“例題”,即訓練集,就是知道答案的題目,來訓練機器這個學生。機器比較笨拙,隻會根據我們預設的值,可以了解為一些基本的解題方法,來解決難題。一開始得到的答案,一定是與真實相差甚遠的,但是機器可以通過比較差距來調整自己的解題方法和解題步驟,一次一次地試錯,直到最終的答案和預期值一樣,或者極其接近。

預測值與實際值通過損失函數衡量損失值,通過優化器使用反向傳播算法(深度學習的核心算法),進而更新權重。經過足夠多次數的訓練,最終損失值會降到我們滿意的值。這時候,學習的過程就完成了。

深度學習從資料中進行學習時有兩個基本特征:第一,通過漸進的、逐層的方式形成越來 越複雜的表示;第二,對中間這些漸進的表示共同進行學習,每一層的變化都需要同時考慮上下兩層的需要。總之,這兩個特征使得深度學習比先前的機器學習方法更加成功。

繼續閱讀