聽說你了解深度學習最常用的學習算法:Adam優化算法?

2020-12-05 機器之心Pro

  By蔣思源2017年7月12日

  深度學習常常需要大量的時間和機算資源進行訓練,這也是困擾深度學習算法開發的重大原因。雖然我們可以採用分布式並行訓練加速模型的學習,但所需的計算資源並沒有絲毫減少。而唯有需要資源更少、令模型收斂更快的最優化算法,才能從根本上加速機器的學習速度和效果,Adam算法正為此而生!

  Adam優化算法是隨機梯度下降算法的擴展式,近來其廣泛用於深度學習應用中,尤其是計算機視覺和自然語言處理等任務。本文分為兩部分,前一部分簡要介紹了Adam優化算法的特性和其在深度學習中的應用,後一部分從Adam優化算法的原論文出發,詳細解釋和推導了它的算法過程和更新規則。我們希望讀者在讀完兩部分後能了解掌握以下幾點:

  Adam算法是什麼,它為優化深度學習模型帶來了哪些優勢。

  Adam算法的原理機制是怎麼樣的,它與相關的AdaGrad和RMSProp方法有什麼區別。

  Adam算法應該如何調參,它常用的配置參數是怎麼樣的。

  Adam的實現優化的過程和權重更新規則

  Adam的初始化偏差修正的推導

  Adam的擴展形式:AdaMax

  什麼是Adam優化算法?

  Adam是一種可以替代傳統隨機梯度下降過程的一階優化算法,它能基於訓練數據迭代地更新神經網絡權重。Adam最開始是由OpenAI的DiederikKingma和多倫多大學的JimmyBa在提交到2015年ICLR論文(Adam:AMethodforStochasticOptimization)中提出的。本文前後兩部分都基於該論文的論述和解釋。

  首先該算法名為「Adam」,其並不是首字母縮寫,也不是人名。它的名稱來源於適應性矩估計(adaptivemomentestimation)。在介紹這個算法時,原論文列舉了將Adam優化算法應用在非凸優化問題中所獲得的優勢:

  直截了當地實現

  高效的計算

  所需內存少

  梯度對角縮放的不變性(第二部分將給予證明)

  適合解決含大規模數據和參數的優化問題

  適用於非穩態(non-stationary)目標

  適用於解決包含很高噪聲或稀疏梯度的問題

  超參數可以很直觀地解釋,並且基本上只需極少量的調參

  Adam優化算法的基本機制

  Adam算法和傳統的隨機梯度下降不同。隨機梯度下降保持單一的學習率(即alpha)更新所有的權重,學習率在訓練過程中並不會改變。而Adam通過計算梯度的一階矩估計和二階矩估計而為不同的參數設計獨立的自適應性學習率。

  Adam算法的提出者描述其為兩種隨機梯度下降擴展式的優點集合,即:

  適應性梯度算法(AdaGrad)為每一個參數保留一個學習率以提升在稀疏梯度(即自然語言和計算機視覺問題)上的性能。

  均方根傳播(RMSProp)基於權重梯度最近量級的均值為每一個參數適應性地保留學習率。這意味著算法在非穩態和在線問題上有很有優秀的性能。

  Adam算法同時獲得了AdaGrad和RMSProp算法的優點。Adam不僅如RMSProp算法那樣基於一階矩均值計算適應性參數學習率,它同時還充分利用了梯度的二階矩均值(即有偏方差/uncenteredvariance)。具體來說,算法計算了梯度的指數移動均值(exponentialmovingaverage),超參數beta1和beta2控制了這些移動均值的衰減率。

  移動均值的初始值和beta1、beta2值接近於1(推薦值),因此矩估計的偏差接近於0。該偏差通過首先計算帶偏差的估計而後計算偏差修正後的估計而得到提升。如果對具體的實現細節和推導過程感興趣,可以繼續閱讀該第二部分和原論文。

  Adam算法的高效性

  Adam在深度學習領域內是十分流行的算法,因為它能很快地實現優良的結果。經驗性結果證明Adam算法在實踐中性能優異,相對於其他種類的隨機優化算法具有很大的優勢。

  在原論文中,作者經驗性地證明了Adam算法的收斂性符合理論性的分析。Adam算法可以在MNIST手寫字符識別和IMDB情感分析數據集上應用優化logistic回歸算法,也可以在MNIST數據集上應用於多層感知機算法和在CIFAR-10圖像識別數據集上應用於卷積神經網絡。他們總結道:「在使用大型模型和數據集的情況下,我們證明了Adam優化算法在解決局部深度學習問題上的高效性。」

  

  Adam優化算法和其他優化算法在多層感知機模型中的對比

  事實上,Insofar、RMSprop、Adadelta和Adam算法都是比較類似的優化算法,他們都在類似的情景下都可以執行地非常好。但是Adam算法的偏差修正令其在梯度變得稀疏時要比RMSprop算法更快速和優秀。Insofar和Adam優化算法基本是最好的全局選擇。同樣在CS231n課程中,Adam算法也推薦作為默認的優化算法。

  雖然Adam算法在實踐中要比RMSProp更加優秀,但同時我們也可以嘗試SGD+Nesterov動量來作為Adam的替代。即我們通常推薦在深度學習模型中使用Adam算法或SGD+Nesterov動量法。

  Adam的參數配置

  alpha:同樣也稱為學習率或步長因子,它控制了權重的更新比率(如0.001)。較大的值(如0.3)在學習率更新前會有更快的初始學習,而較小的值(如1.0E-5)會令訓練收斂到更好的性能。

  beta1:一階矩估計的指數衰減率(如0.9)。

  beta2:二階矩估計的指數衰減率(如0.999)。該超參數在稀疏梯度(如在NLP或計算機視覺任務中)中應該設置為接近1的數。

  epsilon:該參數是非常小的數,其為了防止在實現中除以零(如10E-8)。

  另外,學習率衰減同樣可以應用到Adam中。原論文使用衰減率alpha=alpha/sqrt(t)在logistic回歸每個epoch(t)中都得到更新。

  Adam論文建議的參數設定:

  測試機器學習問題比較好的默認參數設定為:alpha=0.001、beta1=0.9、beta2=0.999和epsilon=10E8。

  我們也可以看到流行的深度學習庫都採用了該論文推薦的參數作為默認設定。

  TensorFlow:learning_rate=0.001,beta1=0.9,beta2=0.999,epsilon=1e-08.

  Keras:lr=0.001,beta_1=0.9,beta_2=0.999,epsilon=1e-08,decay=0.0.

  Blocks:learning_rate=0.002,beta1=0.9,beta2=0.999,epsilon=1e-08,decay_factor=1.

  Lasagne:learning_rate=0.001,beta1=0.9,beta2=0.999,epsilon=1e-08

  Caffe:learning_rate=0.001,beta1=0.9,beta2=0.999,epsilon=1e-08

  MxNet:learning_rate=0.001,beta1=0.9,beta2=0.999,epsilon=1e-8

  Torch:learning_rate=0.001,beta1=0.9,beta2=0.999,epsilon=1e-8

  在第一部分中,我們討論了Adam優化算法在深度學習中的基本特性和原理:

  Adam是一種在深度學習模型中用來替代隨機梯度下降的優化算法。

  Adam結合了AdaGrad和RMSProp算法最優的性能,它還是能提供解決稀疏梯度和噪聲問題的優化方法。

  Adam的調參相對簡單,默認參數就可以處理絕大部分的問題。

  而接下來的第二部分我們可以從原論文出發具體展開Adam算法的過程和更新規則等。

  論文:Adam:AMethodforStochasticOptimization

  

  我們提出了Adam算法,即一種對隨機目標函數執行一階梯度優化的算法,該算法基於適應性低階矩估計。Adam算法很容易實現,並且有很高的計算效率和較低的內存需求。Adam算法梯度的對角縮放(diagonalrescaling)具有不變性,因此很適合求解帶有大規模數據或參數的問題。該算法同樣適用於解決大噪聲和稀疏梯度的非穩態(non-stationary)問題。超參數可以很直觀地解釋,並只需要少量調整。本論文還討論了Adam算法與其它一些相類似的算法。我們分析了Adam算法的理論收斂性,並提供了收斂率的區間,我們證明收斂速度在在線凸優化框架下達到了最優。經驗結果也展示了Adam算法在實踐上比得上其他隨機優化方法。最後,我們討論了AdaMax,即一種基於無窮範數(infinitynorm)的Adam變體。

  

  如上算法所述,在確定了參數α、β1、β2和隨機目標函數f(θ)之後,我們需要初始化參數向量、一階矩向量、二階矩向量和時間步。然後當參數θ沒有收斂時,循環迭代地更新各個部分。即時間步t加1、更新目標函數在該時間步上對參數θ所求的梯度、更新偏差的一階矩估計和二階原始矩估計,再計算偏差修正的一階矩估計和偏差修正的二階矩估計,然後再用以上計算出來的值更新模型的參數θ。

  2.算法

  上圖偽代碼為展現了Adam算法的基本步驟。假定f(θ)為噪聲目標函數:即關於參數θ可微的隨機標量函數。我們對怎樣減少該函數的期望值比較感興趣,即對於不同參數θ,f的期望值E[f(θ)]。其中f1(θ),...,,fT(θ)表示在隨後時間步1,...,T上的隨機函數值。這裡的隨機性來源於隨機子樣本(小批量)上的評估和固有的函數噪聲。而

  

  表示ft(θ)關於θ的梯度,即在實踐步驟t下ft對θ的偏導數向量。

  該算法更新梯度的指數移動均值(mt)和平方梯度(vt),而參數β1、β2∈[0,1)控制了這些移動均值(movingaverage)指數衰減率。移動均值本身使用梯度的一階矩(均值)和二階原始矩(有偏方差)進行估計。然而因為這些移動均值初始化為0向量,所以矩估計值會偏差向0,特別是在初始時間步中和衰減率非常小(即β接近於1)的情況下是這樣的。但好消息是,初始化偏差很容易抵消,因此我們可以得到偏差修正(bias-corrected)的估計mthat和vthat。

  注意算法的效率可以通過改變計算順序而得到提升,例如將偽代碼最後三行循環語句替代為以下兩個:

  

  2.1Adam的更新規則

  Adam算法更新規則的一個重要特徵就是它會很謹慎地選擇步長的大小。假定ε=0,則在時間步t和參數空間上的有效下降步長為

  

  有效下降步長有兩個上確界:即在

  

  情況下,有效步長的上確界滿足

  

  和其他情況下滿足|t|≤α。第一種情況只有在極其稀疏的情況下才會發生:即梯度除了當前時間步不為零外其他都為零。而在不那麼稀疏的情況下,有效步長將會變得更小。當

  

  時,我們有

  

  因此可以得出上確界|t|<α。在更通用的場景中,因為|E[g]/pE[g^2]|≤1,我們有

  

  每一個時間步的有效步長在參數空間中的量級近似受限於步長因子α,即

  

  這個可以理解為在當前參數值下確定一個置信域,因此其要優於沒有提供足夠信息的當前梯度估計。這正可以令其相對簡單地提前知道α正確的範圍。

  對於許多機器學習模型來說,我們知道好的最優狀態是在參數空間內的集合域上有極高的概率。這並不罕見,例如我們可以在參數上有一個先驗分布。因為α確定了參數空間內有效步長的量級(即上確界),我們常常可以推斷出α的正確量級,而最優解也可以從θ0開始通過一定量的迭代而達到。我們可以將

  

  稱之為信噪比(signal-to-noiseratio/SNR)。如果SNR值較小,那麼有效步長t將接近於0,目標函數也將收斂到極值。這是非常令人滿意的屬性,因為越小的SNR就意味著算法對方向

  

  是否符合真實梯度方向存在著越大的不確定性。例如,SNR值在最優解附近趨向於0,因此也會在參數空間有更小的有效步長:即一種自動退火(automaticannealing)的形式。有效步長t對於梯度縮放來說仍然是不變量,我們如果用因子c重縮放(rescaling)梯度g,即相當於用因子c重縮放

  

  和用因子c^2縮放

  

  ,而在計算信噪比時縮放因子會得到抵消:

  

  3初始化偏差修正

  正如本論文第二部分算法所述,Adam利用了初始化偏差修正項。本部分將由二階矩估計推導出這一偏差修正項,一階矩估計的推導完全是相似的。首先我們可以求得隨機目標函數f的梯度,然後我們希望能使用平方梯度(squaredgradient)的指數移動均值和衰減率β2來估計它的二階原始矩(有偏方差)。令g1,...,gT為時間步序列上的梯度,其中每個梯度都服從一個潛在的梯度分布gtp(gt)。現在我們初始化指數移動均值v0=0(零向量),而指數移動均值在時間步t的更新可表示為:

  

  其中gt^2表示Hadamard積gt⊙gt,即對應元素之間的乘積。同樣我們可以將其改寫為在前面所有時間步上只包含梯度和衰減率的函數,即消去v:

  

  我們希望知道時間步t上指數移動均值的期望值E[vt]如何與真實的二階矩

  

  相關聯,所以我們可以對這兩個量之間的偏差進行修正。下面我們同時對表達式(1)的左邊和右邊去期望,即如下所示:

  

  如果真實二階矩E[g2i]是靜態的(stationary),那麼ζ=0。否則ζ可以保留一個很小的值,這是因為我們應該選擇指數衰減率β1以令指數移動均值分配很小的權重給梯度。所以初始化均值為零向量就造成了只留下了(1βt^2)項。我們因此在算法1中除以了ζ項以修正初始化偏差。

  在稀疏矩陣中,為了獲得一個可靠的二階矩估計,我們需要選擇一個很小的β2而在許多梯度上取均值。然而正好是這種小β2值的情況導致了初始化偏差修正的缺乏,因此也就令初始化步長過大。

  4.收斂性分析

  本論文使用了Zinkevich2003年提出的在線學習框架分析了Adam算法的收斂性。

  5.相關研究工作

  與Adam算法有直接聯繫的優化方法是RMSProp(Tieleman&Hinton,2012;Graves,2013)和AdaGrad(Duchietal.,2011)。

  6試驗

  

  圖1:在MNIST圖片集和有1萬條詞袋(BoW)特徵向量的IMDB電影評論數據集上訓練帶有負對數似然函數的Logistic回歸。

  

  圖2:在MNIST圖片數據集上訓練多層神經網絡。(a)圖是使用了dropout隨機正則化的神經網絡。(b)圖是使用確定性損失函數的神經網絡。

  

  圖3:卷積神經網絡的訓練損失。左圖表示前三個epoch的訓練損失,右圖表示所有45個epoch上的訓練損失。

 

  圖4:在變分自編碼器(VAE)中帶偏差修正項(紅色)和沒有偏差修正項(綠色)的損失對比。

  7擴展

  7.1ADAMAX

  在Adam中,單個權重的更新規則是將其梯度與當前和過去梯度的L^2範數(標量)成反比例縮放。而我們可以將基於L^2範數的更新規則泛化到基於L^p範數的更新規則中。雖然這樣的變體會因為p的值較大而在數值上變得不穩定,但是在特例中,我們令p→∞會得出一個極其穩定和簡單的算法(見算法2)。現在我們將推導這個算法,在使用L^p範數情況下,時間t下的步長和vt^(1/p)成反比例變化。

  

 

  注意這裡的衰減項等價地為β2^p,而不是β2。現在令p→∞,並定義

  

  然後有:

  

  該表達式就對應相當於極其簡單的迭代公式:

  

  其中初始值u0=0。注意這裡十分便利,在該情況下我們不需要修正初始化偏差。同樣AdaMax參數更新的量級要比Adam更簡單,即|t|≤α。

相關焦點

  • 使用Numpy進行深度學習中5大反向傳播優化算法的性能比較
    在本文中,我們將通過計算二次凸函數的最優點來數值比較主要的深度學習優化算法的性能。簡介深度學習被稱為人工智慧的未來。現在,神經網絡被稱為通用函數逼近器,也就是說,它們有能力表示這個宇宙中任何複雜的函數。計算這個具有數百萬個參數的通用函數的想法來自優化的基本數學。優化可以通過多種方式完成,但在本文中,我們將重點討論基於梯度下降的優化技術。
  • 深度學習優化入門:Momentum、RMSProp 和 Adam
    原標題:深度學習優化入門:Momentum、RMSProp 和 Adam 雷鋒網 AI 研習社按:本文為雷鋒網字幕組編譯的技術博客,原標題 Intro to optimization in deep learning: Momentum, RMSProp
  • Adam 優化算法詳解
    據牛津字典的定義,優化是指最好或最有效地利用一種情況或資源,或者簡單地使自己的事物達到最佳狀態的行為。 通常,如果可以對某事進行數學建模,則很有可能可以對其進行優化。 這在深度學習領域起著至關重要的作用(可能是整個人工智慧),因為您選擇的優化算法可能是在數分鐘,數小時或數天(有時甚至是數周)內獲得高質量結果的區別。
  • 技術| 深度解讀最流行的優化算法:梯度下降
    > 梯度下降法,是當今最流行的優化(optimization)算法,亦是至今最常用的優化神經網絡的方法。梯度噪聲(Gradient noise) 梯度下降法,是當今最流行的優化(optimization)算法,亦是至今最常用的優化神經網絡的方法。
  • 【乾貨】機器學習最常用優化之一——梯度下降優化算法綜述
    原標題:【乾貨】機器學習最常用優化之一——梯度下降優化算法綜述 1新智元獲授權轉載 【新智元導讀】梯度下降算法是機器學習中使用非常廣泛的優化算法,也是眾多機器學習算法中最常用的優化方法。幾乎當前每一個先進的(state-of-the-art)機器學習庫或者深度學習庫都會包括梯度下降算法的不同變種實現。
  • 前沿| 利用遺傳算法優化神經網絡:Uber提出深度學習訓練新方式
    許多人認為,SGD 算法有效計算梯度的能力對於這種訓練能力而言至關重要。但是,Uber 近日發布的五篇論文表明,神經進化(neuroevolution)這種利用遺傳算法的神經網絡優化策略,也是訓練深度神經網絡解決強化學習(RL)問題的有效方法。
  • 機器學習算法盤點:人工神經網絡、深度學習
    在機器學習或者人工智慧領域,人們首先會考慮算法的學習方式。在機器學習領域,有幾種主要的學習方式。將算法按照學習方式分類是一個不錯的想法,這樣可以讓人們在建模和算法選擇的時候考慮能根據輸入數據來選擇最合適的算法來獲得最好的結果。   監督式學習:
  • 聯邦學習算法綜述
    從3個層面系統闡述聯邦學習算法。首先通過聯邦學習的定義、架構、分類以及與傳統分布式學習的對比來闡述聯邦學習的概念;然後基於機器學習和深度學習對目前各類聯邦學習算法進行分類比較和深入分析;最後分別從通信成本、客戶端選擇、聚合方式優化的角度對聯邦學習優化算法進行分類,總結了聯邦學習的研究現狀,並提出了聯邦學習面臨的通信、系統異構、數據異構三大難題和解決方案,以及對未來的期望。
  • 帶你從不同角度了解強化學習算法的分類
    :unsplash本文將介紹強化學習算法的分類法,從多種不同角度學習幾種分類法。話不多說,大家深呼吸,一起來學習RL算法的分類吧!兩種算法都各有優缺點,如下表所示:基於價值VS 基於政策RL算法的另一種分類方法是考慮算法優化了價值函數還是策略。在深入了解之前,我們先了解策略和價值功能。
  • 機器學習算法匯總:人工神經網絡、深度學習及其它
    將算法按照學習方式分類是一個不錯的想法,這樣可以讓人們在建模和算法選擇的時候考慮能根據輸入數據來選擇最合適的算法來獲得最好的結果。應用場景包括分類和回歸,算法包括一些對常用監督式學習算法的延伸,這些算法首先試圖對未標識數據進行建模,在此基礎上再對標識的數據進行預測。如圖論推理算法(Graph Inference)或者拉普拉斯支持向量機(Laplacian SVM.)等。
  • 推薦算法系統/人臉識別/深度學習對話機器人高級實戰課
    二、課程簡介把目前網際網路最熱門、最前沿的項目實戰匯聚一堂,通過真實的項目實戰課程,讓你快速成為項目總監或負責人!!!推薦系統是偏算法的策略系統,但要達到一個非常好的推薦效果,只有算法是不夠的。比如做算法依賴於訓練數據,數據質量不好,或者數據處理沒做好,再好的算法也發揮不出價值。算法上線了,如果不知道效果怎麼樣,後面的優化工作就無法進行。所以AB測試是評價推薦效果的關鍵,它指導著系統該何去何從。為了能夠快速切換和優化策略,推薦位管理平臺起著舉足輕重的作用。
  • 史丹福大學馬騰宇:無法理解現有的深度學習算法?那就設計一個能...
    他指出,現在用來理解深度學習的常用方法是隱式的正則化方法,然而他們在研究中發現,顯式的正則化方法可能是更好的選擇。同時,他強調,計算機科學跟物理、生物等傳統科學的不同之處在於:可以不斷地設計新的算法。「雖然我們無法理解現有的深度學習算法,但我們可以設計我們既能理解又能保證有效的新算法。」我們下面來看馬騰宇的報告內容:一、為什麼過參數化的深度學習模型能實現泛化?深度學習是馬騰宇研究組的重要研究方向,他們的主要研究思路是從方法論層面,通過一些數學或理論的分析從技術的角度提高深度學習模型的性能。
  • 深度學習:神經網絡算法的昨天、今天和明天
    而這些應用背後的核心算法就是深度學習(Deep Learning),也是機器學習(Machine Learning)領域最火熱的一個分支。和其他機器學習算法有很大不同,深度學習依賴大量數據的迭代訓練,進而發現數據中內在的特徵(Feature),然後給出結果。這些特徵中,有很多已經超越了人為定義的特徵的表達能力,因此得以讓深度學習在很多任務的表現上大大超越了其他機器學習算法,甚至超越了人類自己。
  • 「大咖來解惑」機器學習、深度學習算法防止過擬合的方法?
    @z_zeee:#我要提問段立新老師#機器學習、深度學習算法防止過擬合的方法?段立新老師:機器學習和深度學習都會採用不同的方法來防止模型的過擬合問題。就傳統機器學習而言,常用的方法是在損失函數中加入正則項。通過引入L1或L2正則,控制模型中參數值的大小。根據龍格現象,模型中參數的數值越小,理解為模型的複雜度越小,在預測時效果更穩定。
  • 深度學習算法,加快新興科技產業材料發現
    相反,研究人員已經開發出一種基於深度學習的智能算法,該算法使用一種稱為生成對抗網絡(GAN)模型的技術,大幅提高材料搜索效率,高達兩個數量級。它有可能大大加快新型功能材料的發現。這項研究發表在NPJ計算材料上,是南卡羅來納大學工程與計算學院的研究人員和位於中國貴陽的研究大學貴州大學合作出版的。
  • Adam 或許不是最佳的深度學習優化器
    事實上,這個理論是薄弱的:對於一種應該處理非凸函數隨機優化的算法給出了 regret guarantee。這些實驗也很弱:在這些日子裡,同樣的實驗肯定會遭到拒絕。晚些時候人們還在證明中發現了一個錯誤以及該算法不收斂於某些一維隨機凸函數的事實。儘管如此,現在 Adam 被認為是優化算法之王。
  • 一文看懂各種神經網絡優化算法:從梯度下降到Adam方法
    原標題:一文看懂各種神經網絡優化算法:從梯度下降到Adam方法 王小新 編譯自 Medium 量子位 出品 | 公眾號 QbitAI 在調整模型更新權重和偏差參數的方式時,你是否考慮過哪種優化算法能使模型產生更好且更快的效果?
  • 17個機器學習的常用算法!
    在機器學習或者人工智慧領域,人們首先會考慮算法的學習方式。在機器學習領域,有幾種主要的學習方式。將算法按照學習方式分類是一個不錯的想法,這樣可以讓人們在建模和算法選擇的時候考慮能根據輸入數據來選擇最合適的算法來獲得最好的結果。1. 監督式學習:
  • Pedro Domingos深度解析機器學習五大流派中主算法精髓
    通過後續的神經元向前序神經元進行反饋,一層一層向後直到得到的值接近真實值,這就是反向傳播算法(也是深度學習的核心所在)。儘管最佳鄰近算法是如此簡單,但是在學習階段,這種算法甚至於不能起到任何作用,這一點是令人驚奇的。這個問題中所涉及的一些推理過程不是理想化的,其中之一便是,所得出得這條邊界線可能不是最正確的,因為真正的邊界線可能更為平滑。第二,倘若你仔細觀察這幅地圖,你可能捨棄一些城市,但是這一舉動不會對最終結果產生太大影響。倘若捨棄這個城市,它將併入其他兩個城市,最終的邊界線不會發生變化。
  • 流行的機器學習算法總結,幫助你開啟機器學習算法學習之旅
    這個算法可以對數據進行分類和分組,以識別一些隱藏或未發現的類別,通常用作監督學習的初步步驟。無監督學習強化學習強化學習算法旨在在探索和開發之間找到完美的平衡,而無需標記數據或用戶幹預。這些算法通過選擇一個動作並觀察結果來工作,在此基礎上,它了解結果的準確程度。 反覆重複此過程,直到算法選擇正確的策略為止。