專題(一)優化演算法

2021-09-11 06:09:49 字數 1844 閱讀 6782

2. 動量(momentum)演算法

2.2 nag 演算法(nesterov 動量)

3. 自適應學習率的優化演算法

3.2 rmsprop

3.3 adadelta

3.4 adam

4. 如何選擇優化演算法

5. 基於二階梯度的優化演算法

微積分中使用梯度表示函式增長最快的方向;因此,神經網路中使用負梯度來指示目標函式下降最快的方向。

負梯度中的每一項可以認為傳達了兩個資訊:

基本的梯度下降法每次使用所有訓練樣本平均損失來更新引數;

在訓練集上抽取指定大小 bat

chsi

zebatchsize

batchs

ize 的一批資料 (x,

y)(x,y

)前向傳播將這批資料送入網路,得到這批資料的**值 ypr

edy_yp

red​

計算網路在這批資料上的損失,用於衡量 ypr

edy_yp

red​

和 yy

y 之間的距離

反向傳播計算損失相對於所有網路中可訓練引數的梯度 g

gg將引數沿著負梯度的方向移動,即 w−=

lr∗g

w -= lr * g

w−=lr∗

g當批的大小為2 的冪時能充分利用矩陣運算操作,所以批的大小一般取 32、64、128、256 等。

例如:訓練詞向量的例子

從形式上看, 動量演算法引入了變數v充當速度角色,以及相相關的超引數α

原始 sgd 每次更新的步長只是梯度乘以學習率;現在,步長還取決於歷史梯度序列的大小和排列;當許多連續的梯度指向相同的方向時,步長會被不斷增大;

- 如果動量演算法總是觀測到梯度g,那麼它會在−g方向上不斷加速,直到達到最終速度。

- 在實踐中,α的一般取0.5, 0.9, 0.99,分別對應最大2 倍、10 倍、100 倍的步長

- 和學習率一樣,α也可以使用某種策略在訓練時進行自適應調整;一般初始值是乙個較小的值,隨後會慢慢變大。

偏差修正

缺點

演算法優化專題 C POJ 2777

題目大意 長度為l的板被分成l段,每段長乙個單位長度 1 l 100000 有o個操作 1 o 100000 操作分兩種 c a b c 表示將區間 a,b 染成顏色c 1 c 30 p a b 輸出 a,b 有多少種不同的顏色 開始時 1,l 的顏色為1 解題思路 觀察顏色的種數最多為30種。因此...

演算法優化專題E POJ 2528

題目大意 有一塊長度為x的板 1 x 10000000 均分成x份,每份長乙個單位長度。現在有n張海報 1 n 10000 每張海報有個區間 li,ri 表示這張海報會占用 li,ri 的位置,若區間 li,ri 有其他海報,那麼這些海報會被新貼的覆蓋,按照輸入的順序貼這n張海報。問最後能看見多少張...

演算法優化一

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...