神經網路最佳化技術



迭代梯度下降技術

梯度下降,也稱為最速下降,是一種迭代最佳化演算法,用於尋找函式的區域性最小值。在最小化函式時,我們關注的是要最小化的成本或誤差(記住旅行商問題)。它廣泛用於深度學習,這在各種情況下都很有用。這裡需要記住的是,我們關注的是區域性最佳化,而不是全域性最佳化。

主要工作原理

我們可以藉助以下步驟來理解梯度下降的主要工作原理:

  • 首先,從一個初始的解猜測開始。

  • 然後,在該點計算函式的梯度。

  • 之後,透過沿梯度的負方向移動解來重複該過程。

透過遵循上述步驟,演算法最終將收斂到梯度為零的位置。

Optimization

數學概念

假設我們有一個函式f(x),我們試圖找到該函式的最小值。以下是找到f(x)最小值的步驟。

  • 首先,為x賦予某個初始值$x_{0}$

  • 現在計算函式的梯度$\nabla f$,其直覺是梯度將在該x處給出曲線的斜率,並且其方向將指向函式的增加,以找出最小化它的最佳方向。

  • 現在按如下方式更改x:

    $$x_{n\:+\:1}\:=\:x_{n}\:-\:\theta \nabla f(x_{n})$$

這裡,θ > 0是訓練率(步長),它迫使演算法採取小步跳躍。

估計步長

實際上,錯誤的步長θ可能無法達到收斂,因此仔細選擇步長非常重要。在選擇步長時必須記住以下幾點

  • 不要選擇太大的步長,否則會產生負面影響,即它會發散而不是收斂。

  • 不要選擇太小的步長,否則它需要很長時間才能收斂。

關於選擇步長的一些選項:

  • 一種選擇是選擇一個固定的步長。

  • 另一種選擇是為每次迭代選擇不同的步長。

模擬退火

模擬退火(SA)的基本概念受到固體退火過程的啟發。在退火過程中,如果我們將金屬加熱到其熔點以上並將其冷卻下來,則結構特性將取決於冷卻速率。我們也可以說SA模擬了金屬退火過程。

在ANN中的使用

SA是一種隨機計算方法,受退火類比的啟發,用於近似給定函式的全域性最佳化。我們可以使用SA來訓練前饋神經網路。

演算法

步驟1 - 生成一個隨機解。

步驟2 - 使用某個成本函式計算其成本。

步驟3 - 生成一個隨機的鄰近解。

步驟4 - 使用相同的成本函式計算新解的成本。

步驟5 - 將新解的成本與舊解的成本進行比較,如下所示:

如果Cost新解 < Cost舊解,則移動到新解。

步驟6 - 測試停止條件,該條件可能是達到最大迭代次數或獲得可接受的解。

Hopfield網路技術

Hopfield神經網路是由John J. Hopfield博士於1982年發明的。它由一個單層組成,該單層包含一個或多個完全連線的迴圈神經元。Hopfield網路通常用於自動關聯和最佳化任務。

閱讀更多:使用Hopfield網路進行最佳化

廣告

© . All rights reserved.