深度學習的數學基礎筆記(1)

2020-08-11 22:23:41

深度學習的數學

第一章  神經網路的思想

1.神經網路(Neural Network  NN)

a)深度學習是人工智慧的一種具有代表性的實現方法,深度學習是以神經網路爲出發點的。

b)深度學習可以實現影象識別,從視訊中識別貓,蘋果公司將siri語音識別系統變更爲使用深度學習的系統,谷歌公司利用深度學習技術AlphaGo與世界級棋手對決取得勝利,可以運用於汽車的自動駕駛中.....

c)用神經網路實現的人工智慧能夠自己學習過去的數據(自學習):對於用神經網路實現的人工智慧,人們只需要簡單地提供數據即可,神經網路接收數據後,會從網路的關係中自己學習並理解。

d)」人教導機器「型別的人工智慧--無法勝任影象、語音的模式識別,因爲要把所有東西都教給計算機是不現實的。

2.神經元

a)樹突 -a->  細胞體 -b-> 軸突

b)由樹突傳遞的信號之和(權重之和)超過神經元固有閾值,則點火(進行傳遞)

c)神經元輸出的信號可以用數位信號0或1來表示。即使有多個輸出端,其值也是同一個。

d)數學化表示:

單位階躍函數  u(z)= 0  z<0

                                1  z>0

點火式   y=u(w1x1+w2x2+w3x3-m)   (m爲閾值,w爲對應輸入信號的權重,x爲輸入信號,其中z=w1x1+w2x2+w3x3-m稱爲加權輸入,輸出y爲0/1)

3.神經單元(將神經元簡化、抽象後)

a)將點火式一般化:y=a(w1x1+w2x2+w3x3-m)   (a是啓用函數,y不限於0/1)

b)啓用函數的代表性例子是Sigmoid函數 6(z)=1/(1+e的-z次方):輸出值爲大於0小於1的任意值,且可導。

c)標準式:

y=a(w1x1+w2x2+w3x3+b)  (b稱爲偏置)   

z=w1x1+w2x2+w3x3+b爲加權輸入

改寫加權輸入:

z=w1x1+w2x2+w3x3+b*1----------等價於兩個向量的內積(w1,w2,w3,b)(x1.x2.x3.1)

4.神經網路---將神經單元連線爲網路狀

a)網路的基本連線方法:階層型神經網路、折積神經網路

b)階層型神經網路--按照層劃分神經單元(輸入層,隱藏層(中間層),輸出層),各層分別執行特定的信號處理操作。

c)深度學習--疊加了很多層的神經網路。疊加層的方法最著名的是折積神經網路。

d)全連線層--前一層的神經單元與下一層的所有神經單元都有箭頭連線

e)隱藏層--提取輸入影象特徵的作用(特徵提取)

思路:由神經元之間的關係強度給出答案

5.網路自學習的神經網路--利用網路自學習演算法來確定權重大小(神經網路的權重允許出現負數)

a)神經網路的參數確定方法分爲有監督學習和無監督學習。有監督學習是指爲了確定神經網路的權重和偏置,事先給與數據,這些數據稱爲學習數據,根據給定的學習數據確定權重和偏置稱爲學習。(學習數據也稱爲訓練數據)

b)神經網路是怎樣學習的呢?---計算神經網路得出的預測值和正解的誤差,確定使得誤差總和達到最小的權重和偏置,稱爲模型的最佳化。

c)針對全部學習數據,計算預測值與正解的誤差的平方(稱爲平方誤差),然後相加,這個誤差總和稱爲代價函數,用符號CT表示。

d)利用平方誤差確定參數的方法在數學上稱爲最小二乘法,它在統計學是迴歸分析的常規手段。

e)奇點(singularity)被用來表示人工智慧超過人類智慧的時間點。

 

第二章  神經網路的數學基礎

1.所需函數

a)一次函數--神經單元的加權輸入可以表示爲一次函數關係

b)二次函數--y=ax*x+b*x+c   a>0時開口向上,有最小值

c)單位階躍函數--在原點處不連續,不可導。由於不可導性質,單位階躍函數不能稱爲主要的啓用函數。

d)指數函數與Sigmoid函數--e=2.71828....   6(x)=1/(1+exp(-x))處處可導

e)正態分佈的概率密度函數--按照正態分佈產生的亂數稱爲正態分佈亂數。在神經網路的計算中,經常用到正態分佈亂數作爲初始值。

2.有助於理解神經網路的數列和遞推關係式--計算機擅長處理遞推關係式

a)在神經網路中,神經單元的加權輸入及其輸出可以看成數列。

b)所有神經單元的輸入和輸出都可以認爲是用聯立遞推式聯繫起來的。

c)∑符號可以簡潔地表示數列的總和。

     ∑符號具有線性性質,用於式子變形

3.有助於理解神經網路的向量基礎

a)柯西-施瓦茨不等式:-|a||b|<=a·b<=|a||b|

當兩個向量方向相反時,內積取得最小值。(梯度下降法的基本原理)

當兩個向量方向相同時,內積取得最大值。

當兩個向量不平行時,內積取平行時的中間值。

**可以認爲內積表示兩個向量在多大程度上指向相同方向。如果將方向相似判定爲「相似」,則兩個向量相似時內積變大。(折積神經網路思想)

b)張量--向固體施加張力時會在固體的截面產生力的作用,這個力稱爲應力,在不同的截面上大小和方向各不相同。作用在面上的力依次用向量表示並進行合併,該量稱爲應力張量。

4.導數基礎

Sigmoid函數求導--求導時使用下式會十分方便:6'(x)=6(x)(1-6(x))

函數f(x)最小值a處的條件  f'(a)=0

5.偏導數基礎----關於某個特定變數的導數就稱爲偏導數(多變數函數)

拉格朗日乘數法(有附加約束條件的求最值方法)

6.誤差反向傳播法必需的鏈式法則(複合函數求導)

單變數函數的複合函數求導公式--鏈式法則(同樣適用於多變數函數)

7.梯度下降法的基礎:多變數函數的近似公式

a)單變數函數的近似公式--f'(x)=f(x+^x)-f(x)/^x------f(x+^x)=f(x)+f'(x)^x

b)多變數函數的近似公式---f(x+^x,y+^y)=f(x,y)+(6f(x,y)/6x)*^x+(6f(x,y)/6y)*^y

變數z爲三個變數w,x,y的函數時,近似公式如下--^z=(6z/6w)*^w+(6z/6x)*^x+(6z/6y)*^y    (可以轉換爲兩個向量的內積)

8.梯度下降法的含義與公式

a)尋找最小值點的方法--梯度下降法:通過慢慢地移動影象上的點進行摸索,從而找出函數的最小值。(最速下降法--沿着影象上的最短路徑下降)

b)當兩個向量a,b滿足:b=-ka時,即倆向量方向相反,可以使內積取得最小值

二變數函數的梯度下降法的基本式

c)哈密頓運算元v

vf=(6f/6x1,6f/6x2,。。。。6f/6xn)

(^x1,^x2,....,^xn)=-n*vf  (n爲正的微小常數,左邊的式子稱爲位移向量,可以記爲^x)  

*n的含義--在神經網路中稱爲學習率

9.最佳化問題和迴歸分析

爲了分析數據而建立數學模型時,通常模型是由參數確定的。在數學世界中,最佳化問題就是如何確定這些參數。---確定神經網路的參數是一個最佳化問題,具體就是對神經網路的參數(權重與偏置)進行擬合,使得神經網路的輸出與實際數據相吻合。

a)迴歸分析--在由多個變數組成的數據中,着眼於其中一個特定的變數,用其餘的變數來解釋這個特定的變數,這樣的方法稱爲迴歸分析。

b)代價函數--誤差總和   利用平方誤差的總和進行最佳化的方法稱爲最小二乘法

 

第三章 神經網路的最佳化

1.神經網路的參數與變數

  a、w、b

2.變數關係式

計算機程式語言中都會有矩陣計算工具,所以將關係式變形爲矩陣形式會有助於程式設計。另外,用矩陣表示關係式容易推廣到一般情形。

3.學習數據和正解

學習--使得神經網路算出的預測值與學習數據的正解總體誤差達到最小

神經網路的預測值用輸出層神經單元的輸出變數來表示

4.代價函數

a)參數確定--對於全部數據,使得從數學模型得出的預測值與實際值的誤差達到最小

b)用模型參數表示的總體誤差的函數稱爲代價函數(損失函數/目的函數/誤差函數)

c)最佳化的基礎--代價函數的最小化