elm加速訓練過程

2021-08-15 15:00:09 字數 2995 閱讀 6460

當今研究領域的一項事實就是,前向神經網路(feed-forward neural networks)的訓練速度比人們所期望的速度要慢很多。並且,在過去的幾十年中,前向神經網路在應用領域存在著很大的瓶頸。導致這一現狀的兩個關鍵因素就是:

而在2023年,由南洋理工學院黃廣斌教授所提出的極限學習機器(extreme learning machine,elm)理論可以改善這種情況。最初的極限學習機是對單隱層前饋神經網路(single-hidden layer feed-forward neural networks,slfns)提出的一種新型的學習演算法。它隨機選取輸入權重,並分析以決定網路的輸出權重。在這個理論中,這種演算法試圖在學習速度上提供極限的效能。 

elm是一種新型的快速學習演算法,對於單隱層神經網路,elm 可以隨機初始化輸入權重和偏置並得到相應的隱節點輸出: 

對於乙個單隱層神經網路(結構如上圖所示),假設有

n 個任意的樣本(x

j,tj

) ,其中, x

j=[x

j1,x

j2,.

..,x

jn]t

∈rn,

tj=[

tj1,

tj2,

...,

tjm]

t∈rm

對於乙個有l

個隱層節點的單隱層神經網路可以表示為∑i

=1lβ

ig(w

i⋅xj

+bi)

=oj,

j=1,

2,..

.,n

其中,g(

x)為啟用函式,wi

=[wi

1,wi

2,..

.,wi

n]t

是第i個隱層單元的輸入權重,bi

是第i

個隱層單元的偏置,βi

=[βi

1,βi

2,..

.,βi

m]t

是第i個隱層單元的輸出權重。wi

⋅xj

表示wi

和xj

的內積。

單隱層神經網路學習的目標是使得輸出的誤差最小,可以表示為  ∑

j=1n

||oj

−tj|

|=0

即存在wi

、xj和bi

使得: ∑i

=1lβ

ig(w

i⋅xj

+bi)

=tj,

j=1,

2,..

.,n

可以矩陣表示: h⋅

β=t

其中,h

是隱層節點的輸出,β

為輸出權重,t

為期望輸出。 h(

w1,.

..,w

l,b1

,...

,bl,

x1,.

..,x

n)=⎡

⎣⎢⎢g

(w1⋅

x1+b

1)⋮g

(w1⋅

xn+b

1)⋯⋯

⋯g(w

l⋅x1

+bl)

⋮g(w

l⋅xn

+bl)

⎤⎦⎥⎥

n×lβ

=⎡⎣⎢

⎢β1t

⋮βlt

⎤⎦⎥⎥

l×mt

=⎡⎣⎢

⎢t1t

⋮tnt

⎤⎦⎥⎥

n×m

為了能夠訓練單隱層神經網路,我們希望得到wi

^ ,b

i^ 和

βi^

,使得 ||

h(wi

^,bi

^)⋅β

^−t|

|=mi

nw,b

,β||

h(wi

,bi)

⋅β−t

||

其中,i=1

,2,.

..,l

,這等價於最小化損失函式 e=

∑j=1

n||∑

i=1l

βi⋅g

(wi⋅

xj+b

i)−t

j||2

2 傳統的一些基於梯度下降法的演算法,可以用來求解這樣的問題,但是基本的基於梯度的學習演算法需要在迭代的過程中調整所有引數。而在elm演算法中, 一旦輸入權重wi

和隱層的偏置bi

被隨機確定,隱層的輸出矩陣

h 就被唯一確定。訓練單隱層神經網路可以轉化為求解乙個線性系統:h⋅

β=t 。並且輸出權重可以被確定 β

^=h†

⋅t

其中,h†

是矩陣h 的

moor

e−pe

nros

e 廣義逆矩陣。且可證明求得的解β^

的範數是最小的並且唯一。

輸入的訓練資料,格式為乙個n×

(1+n

) 矩陣,其中每行代表乙個樣本(共有

n 行)。每行的第乙個元素為該樣本的「回歸的期望值」或「分類的類別號」(對應於tj

),後面的n個元素為該樣本的輸入資料(對應於xj

∈rn )。測試資料的格式也類似。

對於回歸應用,乙個例子為:

[trainingtime, testingtime, trainingaccuracy, testingaccuracy] = elm('sinc_train', 'sinc_test', 0, 20, 'sig')
對於分類應用,乙個例子為:

elm('diabetes_train', 'diabetes_test', 1, 20, 'sig')

訓練過程 GPU訓練

為什麼y2b的8m,8張普通tt為啥要跑幾個月?因為gpu其實有60 的時間都是在等待資料填充完成,簡直蠢。1 換個固態硬碟試試?沒用。問題出在系統匯流排上,一幀的資料量入視訊記憶體後有1.58g 當前最優的分布式訓練方式是通過引數伺服器 parameter server 執行的同步隨機梯度下降演算...

Adaboost 訓練過程

每個haar特徵對應看乙個弱分類器,但並不是任伺乙個haar特徵都能較好的描述人臉灰度分布的某一特點,如何從大量的haar特徵中挑選出最優的haar特徵並製作成分類器用於人臉檢測,這是adaboost演算法訓練過程所要解決的關鍵問題。paul viola和michael jones於2001年將ad...

Q learning訓練過程

下面的偽 說明了我們如何訓練,來得到乙個盡量完美的q 初始化 q while q 未收斂 初始化小鳥的位置s,開始新一輪遊戲 while s 死亡狀態 使用策略 獲得動作a s 使用動作a進行遊戲,獲得小鳥的新位置s 與獎勵r s,a q s,a 1 q s,a r s,a max q s a 更新...