深度學習入門(齋藤康毅)

第二章:感知機
1、什麼是感知機
    感知機就是一個算法,它可以接收多個輸入信號,只輸出一個信號.在神經元中,多個信號經過不同的權重輸入到一個神經元中,輸出的信號只有一個.當不同輸入信號經過加權求和之後,得到的總和超過閾值時,這個神經元纔會輸出信號.具體的說,w是控制輸入信號重要性的參數,而b是調整神經元倍激活的容易程度的參數。

2、感知機可以實現基本的與, 或, 與非門,但是感知機不能實現異或門。

3、單層感知機無法表示的東西,通過增加一層就可以解決。也就是說,通過增加層,感知機能夠進行更加靈活的表示。

4、2層感知機(激活函數使用了sigmoid函數的感知機)可以表示任意函數。

5、學習就是確定合適參數的過程,而人要做的就是思考感知機的構造(模型),並且把訓練數據交給計算機。

總結:
    (1)感知機是具有輸入和輸出的算法
    (2)感知機醬權重和偏置設定爲算法
    (3)使用感知機可以表示與門和或門等邏輯電路,但是異或門無法通過一層感知機實現,只能通過單層感知機實現
    (4)單層感知機只能表示線性空間,多層感知機可以表示非線性空間

第三章:神經網絡
(神經網絡解決的問題不就是多分類問題嗎,也就是多輸出,這個感知機有着異曲同工之妙)
1、感知機的優缺點:
    優點:即時對於複雜的函數,感知機也可能表示
    缺點:權重的確定還要通過人工進行
   但是神經網絡的出現,能夠彌補感知機存在的缺點。神經網絡一個非常重要的性質就是它可以自動地從數據中學習合適的參數。

2、激活函數的作用:
    (1)激活函數的作用在於決定如何來激活輸入信號的總和
    (2)“樸素感知機”是指單層神經網絡,指的就是激活函數使用了階躍函數的模型
    (3)“多層感知機”是指神經網絡,指的就是使用sigmoid函數等平滑的激活函數的多層網絡

3、感知機和神經網絡的聯繫和區別
    感知機的激活函數的階躍函數;神經網絡的激活函數是除了階躍函數的其他函數。神經網絡的激活函數常常是sigmoid或者是relu函數。

4、階躍函數和sigmoid函數的聯繫和區別:
    區別:
    (1)sigmoid函數是一個平滑的曲線,輸出隨着輸入發生連續性的變化。但是階躍函數的輸出隨着輸入發生着劇烈的變化。這是不利於神經網絡進行學習的。
    (2)感知機中的神經元之間流動着的是0或者1的二元信號,神經網絡中流動的是連續的實數值信號。
    聯繫:
    (1)當輸入信號是比較重要的信息時,階躍函數和sigmoid函數都會輸出較大的值;當輸入信號微不重要的信息時,兩者都會輸出比較小的值。而且,不管輸入信號有多小,或者有多大,輸出信號都在0和1之間。
    (2)階躍函數和sigmoid都是非線性的函數
    注意:神經網絡的激活函數必須要使用非線性神經網絡,也就是說,神經網絡的激活函數不能使用線性函數。這是因爲,如果激活函數選擇的是線性函數,不管有多少層,神經網絡都是在進行線性疊加,這樣是沒有任何意義的。

5、機器學習問題的步驟可以分爲“學習”和“推理”兩個階段:
    (1)學習:在學習階段進行模型的學習
    (2)推理:將學習到的模型對未知的數據進行推理(分類)

6、softmax函數:
    softmax函數的輸出和總是1,因次,我們可以把softmax函數的輸出解釋爲“概率”。我們取出這個概率列表中最大值的索引,作爲預測結果。需要用到的api是np.argmax(x)

7、爲什麼批處理會極大提高運算速度和效率?
    當數據傳送稱爲瓶頸的時候,批處理可以減輕數據總線的負荷,花更多的時間在計算上,而不是在數據傳送上。

總結:
    (1)神經網絡中的激活函數使用平滑變化的sigmoid函數或者是Relu函數
    (2)機器學習的問題大體上可以分爲迴歸問題和分類問題
    (3)關於輸出層的激活函數,迴歸問題一般使用恆等函數,分類分體一般使用softmax函數
    (4)分類問題中,輸出層的神經元的數量設置爲要分類的類別數
    (5)輸入數據的幾何稱爲批。通過以批爲單位進行推理處理,能夠實現高速的運算。

第四章:神經網絡的學習
1、機器學習中的“學習”就是指從訓練數據中自動獲取最優參數的過程;學習的目的就是尋找損失函數最小的參數。

2、泛化能力是指處理未被觀察過的數據的能力。

3、對權重參數的損失函數求導,表示的就是“如果稍微改變一下這個權重參數的值,損失函數的值將會如何變化”。如果導數的值爲負數,那麼表示參數的更新方向應該往正方向更新;反之,如果導數的參數爲正數,那麼表示參數的更新方向應該往負方向更新。(因爲我們的目標就是爲了是損失函數的值接近0)

4、我們不能需用識別精讀作爲指標,因爲識別精讀是離散的,數值是突變的,不利於神經網絡的學習。所以我們會選用一些連續的函數作爲我們的指標。

5、負梯度的方向是梯度法中變量更新的方向,梯度的方向是函數值變小最快的方向

總結:
    (1)機器學習中使用的數據集分爲訓練數據和測試數據
    (2)神經網絡使用訓練數據進行學習,使用測試數據檢測神經網絡的泛化能力
    (3)神經網絡的學習以損失函數爲指標,以損失函數的值最小微目標,不斷的更新參數
第五章:誤差反向傳播算法
1、爲何使用計算圖解題?
    (1)通過計算圖,我們可以把複雜的問題簡單化
    (2)利用計算圖,我們可以把中間的過程數據保存下載
    (3)最重要的就是,在計算圖中,可以通過反向傳播計算導數

總結:
    (1)計算圖的結點是由局部計算構成的,局部計算構成全局計算。
    (2)計算圖的正向傳播進行一般的計算,通過計算圖的反向傳播,可以計算各個節點的導數。
    (3)通過將神經網絡的組成元素實現成層,可以高效地計算梯度(反向傳播法)


第七章:卷積神經網絡
1、CNN中出現了卷積層(Convolution)和池化層(Pooling)
2、CNN層的連接順序是:卷積層 - relu - 池化層
3、全連接層存在的問題:數據的形狀被忽略了,所以全連接層無法利用形狀相關的信息;但是卷積層可以保持形狀不變,這樣可以保證CNN能夠正確理解圖像等具有形狀的數據
4、增大步幅,輸出大小變小;增大填充後,輸出大小變大
5、輸入數據和濾波器的通道數要設爲相同的值;池化的窗口大小和步幅設定爲相同的值
6、池化層的特點:沒有需要學習的參數;通道數不發生變化;對微小的位置變化具有魯棒性(健壯)
7、濾波器在學習什麼?答案就是在觀察邊緣(顏色變化的分界線)和斑塊(局部的塊狀區域)
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章