偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

機器學(xué)習(xí)難在哪

人工智能 機器學(xué)習(xí)
機器學(xué)習(xí)難,并不是因為數(shù)學(xué)難,而是因為選擇什么工具及Debug難??焖儆行ebug是現(xiàn)代機器學(xué)習(xí)中的必備技能,但機器學(xué)習(xí)的Debug相比普通程序要難很多:候選錯誤空間大、調(diào)試周期長。

[[187791]]

機器學(xué)習(xí)已經(jīng)被廣泛應(yīng)用,教程、文章、開源代碼到處都是,有些時候只需要你對機器學(xué)習(xí)算法稍有了解就可以在實際中很好的應(yīng)用。

但是機器學(xué)習(xí)還是非常難:

  • 推動機器學(xué)習(xí)研究進步的科學(xué)本身很困難,需要創(chuàng)新、實驗和堅持;
  • 把已知的機器學(xué)習(xí)模型應(yīng)用到實際工作中也是一件困難的事情;
  • 市場上的機器學(xué)習(xí)工程師比普通的軟件工程師也要昂貴一些。

困難并不是來自于數(shù)學(xué),因為機器學(xué)習(xí)的相關(guān)實現(xiàn)并不要求很高的數(shù)學(xué)基礎(chǔ)。困難來自于:

1.選擇什么樣的機器學(xué)習(xí)工具

這要求對每個算法和模型的優(yōu)劣勢都了如指掌,這個技能可以通過學(xué)過這些模型(課程、教程、Paper等)來獲得。當(dāng)然這類知識構(gòu)建的困難是計算機所有領(lǐng)域都存在的,不僅僅是機器學(xué)習(xí)。

2.機器學(xué)習(xí)很難調(diào)試

這種困難表現(xiàn)在兩方面:

1)算法不work;

2)算法work,但并未足夠好。

機器學(xué)習(xí)獨有的特征是:查找上面問題的原因是“指數(shù)”難度的。通常,機器學(xué)習(xí)算法的Debug都需要很長的時間,很多bug用小數(shù)據(jù)量很難重現(xiàn),而且往往在迭代的后期才能出現(xiàn)。很少有算法可以一次成功,所以更多的時間花在調(diào)模型上。

指數(shù)級困難的調(diào)試

在標(biāo)準(zhǔn)的軟件工程范疇中,當(dāng)一個解決方案不如期望時,通常考慮兩個方面的出錯:算法和實現(xiàn)。

用以下簡單的遞歸算法為例:

  1. def recursion(input): 
  2.   if input is endCase: 
  3.     return transform(input) 
  4.   else
  5.     return recursion(transform(input)) 

當(dāng)算法不如預(yù)期好時,我們可以枚舉所有失敗的case,這個例子中的網(wǎng)格搜索(Grid Search)如下圖所示:

橫軸是一些算法設(shè)計可能出問題的case,縱軸是算法實現(xiàn)上可能出問題的case。接下來的debug過程就是組合你對這個bug收集到的信號,比如編譯器錯誤、程序輸出以及你的直觀認(rèn)識等。這些信號和先驗知識幫助在上圖上進行剪枝。

在機器學(xué)習(xí)范疇中,還有額外兩個維度:真正適用的模型、數(shù)據(jù)。為了圖示這兩個維度,使用隨機梯度下降(Stochastic Gradient Descent,SGD)訓(xùn)練邏輯回歸(Logistic Regression,LR)是最簡單的例子:

  1. 算法的正確性包括梯度下降更新等式;
  2. 實現(xiàn)的正確性包括特征和參數(shù)更新的正確計算;
  3. 數(shù)據(jù)中的bug包括噪聲標(biāo)注,預(yù)處理中的錯誤,沒有選對特征,或者沒有足夠的數(shù)據(jù)。
  4. 模型中的bug可能是模型的描述能力不足,例如你選擇了線性分類器來處理非線性問題。

我們的Debug過程從二維網(wǎng)格擴展到了四維超立方體(上圖為了清晰,只畫了其中三維),第四維數(shù)據(jù)維可以可視化為下面的立體序列(注:一個正確的解答只有一個立方體)。

指數(shù)級難度的說法是指在2D空間,可能的錯誤方式數(shù)量是,而在4D空間,則為。因此根據(jù)手頭已有信息分析哪里出錯的直覺成為機器學(xué)習(xí)基本功。幸運的是,機器學(xué)習(xí)算法有更多的信息可供使用,例如:訓(xùn)練集合和測試集合上的Loss分析,應(yīng)用數(shù)據(jù)上的真實輸出,算法中間輸出的統(tǒng)計分析。

延遲的Debug周期

機器學(xué)習(xí)Debug難的第二個因素是Debug周期很長。通常需要花費幾十個小時甚至幾十天來實現(xiàn)一個潛在的bug fix以及通過實際的輸出判斷是否成功。自動更新在機器學(xué)習(xí)領(lǐng)域往往不太現(xiàn)實,因為在訓(xùn)練集上跑一次的時間很長,Deep Learning模型尤其如此。Debug周期太長使得機器學(xué)習(xí)不得不采用并行模式,從而需要接觸軟件開發(fā)者并不熟悉的指令并行之類。

機器學(xué)習(xí)***目標(biāo)往往落在建立直覺上,這種直覺是說根據(jù)現(xiàn)有信息能很快判斷哪里出了問題,有什么辦法可以改進等。這是你不斷參與機器學(xué)習(xí)項目實踐積累的最關(guān)鍵技術(shù):你開始將一些信息與Debug空間中的疑似問題建立關(guān)聯(lián)。

在原作的工作中,有很多這樣的例子,例如,訓(xùn)練神經(jīng)網(wǎng)絡(luò)時碰到的早期問題周期性地反映在Loss函數(shù)中,Loss本來應(yīng)該下降,但每次都跳回到一個更高的值,經(jīng)過反復(fù)實驗,最終學(xué)到這是因為數(shù)據(jù)集沒有很好隨機化,當(dāng)你使用小batch SGD時這是個問題。

總之,快速有效Debug是現(xiàn)代機器學(xué)習(xí)中的必備技能。

責(zé)任編輯:武曉燕 來源: 我愛機器學(xué)習(xí)
相關(guān)推薦

2011-11-08 10:15:47

Scala

2018-03-23 12:54:45

機器學(xué)習(xí)研究重現(xiàn)TensorFlow

2019-10-23 09:41:12

機器學(xué)習(xí)人工智能計算機

2016-09-01 14:47:56

人工智能機器學(xué)習(xí)深度學(xué)習(xí)

2010-01-07 10:30:26

80后

2018-05-28 09:09:00

機器學(xué)習(xí)深度學(xué)習(xí)

2018-11-06 09:22:17

5G機器學(xué)習(xí)運營商

2017-02-06 14:12:57

機器停車使用

2021-01-20 15:46:11

機器學(xué)習(xí)人工智能無服務(wù)

2019-07-29 20:00:29

人工智能AI

2023-06-27 17:30:13

數(shù)字化

2013-12-04 09:33:15

軟件成本

2023-11-03 07:47:12

機器資源大模型:

2018-09-10 15:24:23

分詞方案算法

2021-03-15 11:35:28

人工智能機器學(xué)習(xí)

2021-04-12 10:46:15

人工智能機器學(xué)習(xí)

2015-04-14 10:40:31

云計算機器學(xué)習(xí)

2020-12-02 09:51:06

C++語言學(xué)習(xí)

2017-05-05 09:56:08

神經(jīng)網(wǎng)絡(luò)模型繪畫

2020-12-16 15:56:26

機器學(xué)習(xí)人工智能Python
點贊
收藏

51CTO技術(shù)棧公眾號