損失函式
神經網路裡的標準和人腦標準相比較 相差多少的定量表達。
最小二乘法
首先要搞明白兩個概率模型是怎麼比較的。有三種思路,最小二乘法、極大似然估計,交叉熵
當一張圖片人腦判斷的結果是 \(x1\),神經網路判斷的結果是 \(y1\),直接把它們相減 \(\left|x_{1}-y_{1}\right|\) 就是他們相差的範圍。我們將多張圖片都拿過來判斷加起來,當最終值最小的時候,\(\min \sum_{i=1}^{n}\left|x_{i}-y_{i}\right|\) 就可以認定兩個模型近似。
但是絕對值在定義域內不是全程可導的,所以可以求平方 \(\min \sum_{i=1}^{n}\left(x_{i}-y_{i}\right)^{2}\)
就這是最小二乘法,但是隻用它判斷兩個概率模型差別有多少,去作為損失函式會比較困難。所以引入極大似然估計
極大似然估計
似然值是真實的情況已經發生,我們假設它有很多模型,在這個概率模型下,發生這種情況的可能性就叫似然值。
挑出似然值最大的,那可能性也就越高,此時的概率模型應該是與標準模型最接近的。
\(\theta\) 是拋硬幣的概率模型,\(W,b\) 是神經網路的概率模型。前者結果是硬幣是正還是反,後者結果是圖片到底是不是貓。
在神經網路是這樣的引數下,輸入的照片如果是貓概率是多少、如果不是貓概率是多少,所有圖片判斷後,相乘得到的值就是似然值。取到極大似然值就是最接近的值。
但在訓練的時候 \(W、b\) 無論輸入什麼樣的照片都是固定的值,如果我們都用貓的照片來確定的話標籤都是\(1\),那就沒有辦法進行訓練,理論可行卻沒有操作性。但是我們還可以利用條件,訓練神經網路的時候既可以得到 \(x_{i}\) 也可以得到 \(y_{i}\), \(y_{i}\) 的輸出結果依賴 \(W,b\) 。每次輸入照片不一樣,\(y_{i}\) 的結果也就不一樣。
\(x_{i}\) 的取值是 \(0、1\) ,符合二項伯努利分佈,概率分佈表示式為
\(x=1\) 就是圖片為貓的概率。而 \(p\) 就是 \(y_{i}\) (神經網路認定是貓的概率),將其帶入替換 $ P\left(x_{i} \mid y_{i}\right)$
我們更喜歡連加,在前面加 \(log\) ,並化簡
所以,求極大似然值,就是求如下公式
複習一下對數
- $\log _{a}(1)=0 $
- $ \log _{a}(a)=1 $
- \(負數與零無對數\)
- \(\log _{a} b * \log _{b} a=1\)
- $ \log _{a}(M N)=\log _{a} M+\log _{a} N $
- $\log _{a}(M / N)=\log _{a} M-\log _{a} N $
- $ \log _{a} M^{n}=n \log _{a} M(\mathrm{M}, \mathrm{N} \in \mathrm{R}) $
- $ \log _{a^{n}} M=\frac{1}{n} \log _{a} M $
- $a^{\log _{a} b}=b $
交叉熵
要想直接比較兩個模型,前提是兩個模型型別是同一種,否則就不能公度。概率模型如果想要被統一衡量,我們需要引入熵(一個系統裡的混亂程度)。
資訊量
我們想獲取資訊量的函式,就要進行定義。並找尋能讓體系自洽的公式。
將上面的第四條公式帶入第三條得到如下第二條。為了使資訊量定義能讓體系自洽,我們給定定義 \(log\),這樣符合相乘變相加的形式。
為了符合我們最直觀的感覺,因為概率越小,資訊量越大。而 \(log\) 函式單調遞增,我們轉換方向。
看計算機裡多少位資料,給計算機輸入一個16位資料,輸入之前隨便取的值是 \(1/2^{16}\) 的概率 ,輸入之後的概率直接變為了 \(1\) 。資訊量就是 \(16\) 位元。
資訊量可以理解為一個事件從原來不確定到確定它的難度有多大,資訊量大,難度高。
熵不是衡量某個具體事件,而是整個系統的事件,一個系統的從不確定到確定難度有多大
它們都是衡量難度,單位也可以一樣都是位元。
系統熵的定義
將上方對系統貢獻的資訊量可以看成是期望的計算。
KL散度
KL散度絕對是大於等於\(0\)的,當\(Q、P\)相等的時候等於\(0\),不相等的時候一定大於\(0\)
為了讓\(Q、P\)兩個模型接近,所以必須使交叉熵最小
交叉熵中 \(m\) 是兩個概率模型裡事件更多的那個,換成 \(n\) 是圖片數量。
對\(m\)選擇的解釋:假如\(p\)的事件數量是\(m\),\(q\)的事件數量是\(n\),\(m>n\),那麼寫成\(∑\)求和,用較大的\(m\)做上標。就可以分解為,\(∑1到n+∑n+1到m\),那麼對於\(q\)來說,因為\(q\)的數量只有\(n\),那麼對應的\(q\)的部分\(∑n+1到m\)都等於\(0\)。
\(P\) 是基準,要被比較的概率模型,我們要比較的人腦模型,要麼完全是貓要麼不是貓。
\(x_{i}\) 有兩種情況,而 \(y_{i}\) 只判斷圖片有多像貓,並沒有去判斷相反的這個貓有多不像貓,而公式裡的 \(x_{i}\) 與 \(q_{i}\) 要對應起來,當 \(x_{i}\) 為 \(1\) ,要判斷多像貓,當 \(x_{i}\) 為 \(0\) 的時候,要判斷不像貓的概率。
最後我們推匯出來,公式跟極大似然推匯出來的是一樣的。但是從物理角度去看兩者是有很大不同的,只是形式上的一樣。
- 極大似然法裡的 \(log\) 使我們按習慣引入的,把連乘換成相加。而交叉熵的 \(log\) 是寫在資訊量定義裡的,以 \(2\) 為底,計算出來的單位是位元,是有量綱的。
- 極大似然法求的是最大值,我們按習慣求最小值。而交叉熵負號是寫在定義裡的。