『壹』 安海兵:人工智慧神經網路在訓練的過程中,訓練的是什麼
訓練的目的是使神經網路能夠以最小的錯誤率來對輸入和輸出之間的關系進行建模。根據查詢相關公開信息顯示,神經網路在訓練的過程中,訓練的是權重和偏置,權重和偏置是神經網路的參數,它們代表著神經網路中神經元之間的連接強度,訓練的目的是使神經網路能夠以最小的錯誤率來對輸入和輸出之間的關系進行建模。
『貳』 什麼是神經網路中的訓練樣本
指對人工神經網路訓練。向網路足夠多的樣本,通過一定演算法調整網路的結構(主要是調節權值),使網路的輸出與預期值相符,這樣的過程就是神經網路訓練。根據學習環境中教師信號的差異,神經網路訓練大致可分為二分割學習、輸出值學習和無教師學習三種。
『叄』 神經網路的訓練,究竟在訓練什麼
前面我們已經了解到神經網路進行預測的過程,但是仍然留下許多疑問,比如權重值如何獲得,如何訓練神經網路等,這些問題我們將在本文展開。
權重值也就是前文所提到的小蜘蛛的道具,沒有看過的朋友可以先看看我的上一個博客。
權重值該如何獲得呢?
我們以最簡單的三個神經元的神經網路舉例子:
最左邊的神經元是起點,最右邊的是終點,只有中間的神經元有權重值。
我們先來 離散 的獲得一部分點:
我們可以隱約地看到這些點大約分布在一條直線附近, 我們把這條直線畫出來
那我們如何通過這幾個點來獲得這條紅色的線呢?
這十個已知的點分別是什麼?
第一列表示x軸的坐標,第二列表示y軸的坐標
其實思路就是用最小二乘法,先假設隨便畫一條線
我畫了一條 y=0.1x+0.1 的線如圖所示
顯然我們畫的線差距很大,此時使用最小二乘法,就是每個點到直線的距離加起來,再用梯度下降法來優化!
好的,如果我這么說,肯定和每說一樣,那麼我 一步一步 來
第一個點的坐標是(1, 0.16375502570787515),我們把x=1帶入y=0.1x+0.1這個函數,得到y=0.2
顯然我們正確的y應該是0.163,那麼正確的y,和我們在y=0.1x+0.1得到的y值差距是多大呢?差距是:(0.163-0.2)^2
我們要想辦法減小這個差距
差距是怎麼得到的? 預測值減去真實值再平方 ,用數學語言就是(0.1*1+0.1-0.2)^2 ==> (wx+b-2)^2
就是說我們要對函數 (y - wx+b)^2 獲得的值最小,也就是求這個函數的 最小值 ,高中數學就講到求函數最小值的方法就是 求導 ,這是二元函數,就是高考最喜歡做的題目!!!求導之後畫出導數函數的圖像,然後與0相交的點就是極小值點!大家應該很熟悉這個步驟。
不過
這個函數有w和b兩個未知數,我們的思路是正確的,只是不能通過這種方式獲得最小值,所以這里我們求的是對w和對b的偏導數,( 這里需要微積分學歷 )對w的偏導數就是 2w(wx+b-y) 。對b的偏導數就是 2(wx+b-y) 。
此時我們把第一個點的數據代入 x=1, y=0.163, w=0.1, b=0.1
對w的偏導數等於 0.0326
對b的偏導數等於 0.326
此時,我們設定一個步長,也叫學習率,假設等於0.2吧,
那麼,
我們已經更新了w和b的值,只要重復這個步驟足夠多的次數,那麼就可以得到很接近紅色的線。
其實,這就是神經網路的訓練過程。
先把我們已經有的值傳入網路,網路一開始的權重值是隨機的,傳入網路得到一個預測值,這個預測值會和真實值有一定的差距,那麼我們優化這個差距,讓這個差距變小,其實這就是一個反向傳播的過程,我們用數學計算來更新了w和b的值,那麼下一次傳入網路得到的預測值與真實值之間的距離就會減小,周而復始,這個距離不斷減小,我們就可以得到一個預測能力比較好的w和b,也就是擬合能力比較強的網路,就可以對未知的數據得到較為准確的結果。