日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

朗之萬(wàn)方程,機(jī)器學(xué)習(xí)與液體中的粒子運(yùn)動(dòng),一個(gè)意想不到的聯(lián)系

 老胡說(shuō)科學(xué) 2021-05-10
梯度下降算法是機(jī)器學(xué)習(xí)中最流行的優(yōu)化技術(shù)之一。它有三種類型:批量梯度下降(GD)、隨機(jī)梯度下降(SGD)和小批量梯度下降(在每次迭代中用于計(jì)算損失函數(shù)梯度的數(shù)據(jù)量不同)。
本文的目標(biāo)是描述基于朗格文動(dòng)力學(xué)(LD)的全局優(yōu)化器的研究進(jìn)展,LD是一種分子運(yùn)動(dòng)的建模方法,它起源于20世紀(jì)初阿爾伯特·愛(ài)因斯坦和保羅·朗之萬(wàn)關(guān)于統(tǒng)計(jì)力學(xué)的著作。
我將從理論物理學(xué)的角度提供一個(gè)優(yōu)雅的解釋,為什么梯度下降的變種是有效的全局優(yōu)化器。

奇跡的一年

沒(méi)有跡象表明一場(chǎng)革命即將發(fā)生。1904年,如果阿爾伯特·愛(ài)因斯坦放棄了物理學(xué),他的科學(xué)家同行們可能甚至都不會(huì)注意到。幸運(yùn)的是,這并沒(méi)有發(fā)生。1905年,這位年輕的專利職員發(fā)表了四篇革命性的論文。
  • 阿爾伯特·愛(ài)因斯坦

流體中的隨機(jī)運(yùn)動(dòng)

在其中一篇論文中,愛(ài)因斯坦推導(dǎo)出了所謂的布朗運(yùn)動(dòng)模型,即液體中懸浮粒子的隨機(jī)運(yùn)動(dòng),由與更小、快速運(yùn)動(dòng)的分子(例如在水中運(yùn)動(dòng)的花粉顆粒)的碰撞引起。
  • 布朗運(yùn)動(dòng):塵埃粒子與氣體分子的碰撞
在這篇論文中,他證實(shí)了原子和分子的存在,由此誕生了物理學(xué)的一個(gè)新的分支——分子動(dòng)力學(xué),創(chuàng)造了應(yīng)用數(shù)學(xué)的一個(gè)嶄新領(lǐng)域——隨機(jī)微積分。

朗之萬(wàn)動(dòng)力學(xué)

1908年,在愛(ài)因斯坦發(fā)表他的里程碑式論文三年后,法國(guó)物理學(xué)家保羅·朗之萬(wàn)發(fā)表了另一篇開(kāi)創(chuàng)性的文章,他在文中概括了愛(ài)因斯坦的理論,并發(fā)展了一個(gè)描述布朗運(yùn)動(dòng)的新微分方程,即今天的朗之萬(wàn)方程(LE):
其中x是運(yùn)動(dòng)粒子的位置,m是它的質(zhì)量,R表示一個(gè)(隨機(jī)的)力產(chǎn)生與較小的,快速移動(dòng)的流體分子的碰撞(見(jiàn)上面的動(dòng)畫(huà)),F(xiàn)表示任何其他外力。隨機(jī)力R是一個(gè)delta相關(guān)的平穩(wěn)高斯過(guò)程,其均值和方差如下:
  • R是一個(gè)正常的過(guò)程。
術(shù)語(yǔ)“delta相關(guān)”意味著兩個(gè)不同時(shí)間的力是零相關(guān)的。LE是第一個(gè)描述不平衡熱力學(xué)的數(shù)學(xué)方程。
  • 法國(guó)物理學(xué)家保羅·朗之萬(wàn)
如果粒子的質(zhì)量足夠小,我們可以把左邊設(shè)為零。此外,我們可以用某個(gè)勢(shì)能的導(dǎo)數(shù)來(lái)表示一個(gè)(保守)力。我們得到:
  • 小質(zhì)量的朗之萬(wàn)方程
寫(xiě)作:
其中δt是一個(gè)小時(shí)間間隔,并有移動(dòng)項(xiàng),我們得到了小質(zhì)量粒子的離散朗之萬(wàn)方程:
  • 小慣性粒子的離散朗之萬(wàn)方程。
用這種方式表示,朗之萬(wàn)方程描述了經(jīng)歷布朗運(yùn)動(dòng)的粒子的增量位移。

布朗運(yùn)動(dòng)的Python代碼

為了模擬二維離散布朗過(guò)程,采用了兩種一維過(guò)程。步驟如下:
  • 首先,選擇時(shí)間步數(shù)“steps”。
  • 坐標(biāo)x和y是隨機(jī)跳躍的累積和(函數(shù)np.cumsum()用于計(jì)算它們)。
  • 中間點(diǎn)X和Y通過(guò)使用np.interp()插值計(jì)算。
  • 然后使用plot()函數(shù)繪制布朗運(yùn)動(dòng)。
代碼是:
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inlinesteps = 5000
random.seed(42)
x,y = np.cumsum(np.random.randn(steps)), np.cumsum(np.random.randn(steps))points = 10
ip = lambda x, steps, points: np.interp(np.arange(steps*points),
np.arange(steps)*points,
x)
X, Y = ip(x, steps, points), ip(y, steps, points)fig, ax = plt.subplots(1, 1, figsize=(10, 10))
ax.set_title('Brownian Motion')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.plot(X, Y, color='blue',
marker='o', markersize=1)
  • 布朗運(yùn)動(dòng)圖解

朗之萬(wàn)動(dòng)力學(xué)與全局極小值

朗之萬(wàn)動(dòng)力學(xué)的一個(gè)重要性質(zhì)是隨機(jī)過(guò)程x(t)(其中x(t)服從上面給出的Langevin方程)的擴(kuò)散分布p(x)收斂于平穩(wěn)分布,即普遍存在的波爾茲曼分布(BD)。
  • 波爾茲曼分布
它集中在勢(shì)能E(x)的全局最小值附近(從它的函數(shù)形式,我們可以很容易地看到BD峰在勢(shì)能E(x)的全局最小值上)。更準(zhǔn)確地說(shuō),如果溫度按照離散步驟緩慢降至零:
那么p(x)在n的大值時(shí)收斂于玻爾茲曼分布(x收斂于E(x)的全局最小值)。朗之萬(wàn)方程的時(shí)變溫度通常被解釋為描述亞穩(wěn)態(tài)物理狀態(tài)的衰減到系統(tǒng)的基態(tài)(這是能量的全局最小值)。因此,我們可以使用朗之萬(wàn)動(dòng)力學(xué)來(lái)設(shè)計(jì)算法,使其成為潛在非凸函數(shù)的全局最小化。
這一原理是模擬退火技術(shù)的基礎(chǔ),用于獲得近似的全局最優(yōu)函數(shù)。
  • 模擬退火在尋找極大值中的應(yīng)用。

梯度下降算法

現(xiàn)在我將轉(zhuǎn)到機(jī)器學(xué)習(xí)優(yōu)化算法。
梯度下降是一個(gè)簡(jiǎn)單的迭代優(yōu)化算法最小化(或最大化)函數(shù)。在機(jī)器學(xué)習(xí)的背景下,這些函數(shù)是損失函數(shù)。為具體起見(jiàn),考慮一個(gè)多元損失函數(shù)L(w),定義了一些不動(dòng)點(diǎn)p周圍的所有點(diǎn)w。GD算法基于一個(gè)簡(jiǎn)單的性質(zhì),即從任何點(diǎn)p開(kāi)始,函數(shù)L(w)在其負(fù)梯度方向上衰減最快:
  • 損失函數(shù)的負(fù)梯度。
人們首先猜測(cè)最小值的初始值,然后計(jì)算序列:
遵循迭代過(guò)程:
  • 梯度下降法遞歸。
其中,γ為學(xué)習(xí)率,允許在每次迭代n時(shí)改變學(xué)習(xí)率。如果損失函數(shù)L及其梯度具有一定的性質(zhì),按照一定的協(xié)議選擇學(xué)習(xí)率變化,保證局部收斂(只有當(dāng)L是凸函數(shù)時(shí)才保證收斂到全局最小值,因?yàn)閷?duì)于凸函數(shù),任何局部最小值也是全局最小值)。

隨機(jī)梯度下降(SGD)和小批量梯度下降

基本的GD算法在每次迭代時(shí)都掃描完整的數(shù)據(jù)集,而SGD和小批量GD只使用訓(xùn)練數(shù)據(jù)的一個(gè)子集。SGD在每次迭代中使用單個(gè)訓(xùn)練數(shù)據(jù)樣本更新梯度,即在掃描訓(xùn)練數(shù)據(jù)時(shí),對(duì)每個(gè)訓(xùn)練示例執(zhí)行上述w的更新。小批量GD使用小批量的訓(xùn)練示例執(zhí)行參數(shù)更新。
讓我們用數(shù)學(xué)的方式來(lái)解釋。用于一般訓(xùn)練集:
  • n個(gè)樣本的訓(xùn)練集。
損失函數(shù)的一般形式為:
  • 一般損失函數(shù)。
在小批梯度下降的情況下,總和僅在批內(nèi)的訓(xùn)練示例。特別是SGD只使用一個(gè)樣本。與普通的GD相比,這些過(guò)程有兩個(gè)主要優(yōu)勢(shì):它們速度更快,并且可以處理更大的數(shù)據(jù)集。
定義G和g如下所示,在這種情況下我們有:
在下面的動(dòng)畫(huà)中,SGD的收斂和其他方法一起展示了(這些其他方法,本文沒(méi)有提到,是SGD的最新改進(jìn))。

機(jī)器學(xué)習(xí)與物理,作為朗之萬(wàn)過(guò)程的梯度下降

下一個(gè)步驟對(duì)于論證是至關(guān)重要的。為了讓讀者理解主要思想,我省略了一些較為嚴(yán)格的細(xì)節(jié)。
我們可以把小批量梯度寫(xiě)成全梯度和正態(tài)分布的η之間的和:
現(xiàn)在將這個(gè)表達(dá)式代入GD迭代表達(dá)式中,我們得到:
  • 小批量梯度下降迭代步驟

一個(gè)優(yōu)雅的聯(lián)系

將小批量梯度下降迭代的表達(dá)式與朗之萬(wàn)方程進(jìn)行比較,我們可以立即注意到它們的相似性。更準(zhǔn)確地說(shuō),它們通過(guò)以下方式變得相同:
用γ代入δt,我們發(fā)現(xiàn):
因此,SGD或小批量梯度下降算法形式上類似于朗之萬(wàn)過(guò)程,這就解釋了為什么如果學(xué)習(xí)率按照前面提到的協(xié)議變化,它們有非常高的概率選擇全局最小值。
這個(gè)結(jié)果并不新鮮。事實(shí)上,有許多證據(jù)表明,在通常的梯度下降遞歸中添加一個(gè)噪聲項(xiàng)會(huì)使算法收斂到全局最小值。

結(jié)論

在這篇文章中,我展示了將隨機(jī)或小批量梯度下降看作是朗之萬(wàn)隨機(jī)過(guò)程,并通過(guò)學(xué)習(xí)率包括額外的隨機(jī)化級(jí)別,我們可以理解為什么這些算法可以作為全局優(yōu)化器工作得如此好。這是一個(gè)很好的結(jié)果,它表明從多個(gè)角度檢查一個(gè)問(wèn)題通常是非常有用的。



    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多