人工智能中的機器學習核心領域、流程與分支(基礎入門篇)

1 評論 1214 瀏覽 12 收藏 20 分鐘

人工智能作為當下新質(zhì)生產(chǎn)力的代表,其技術更新已經(jīng)歷過很多個版本,隨著ChatGPT的火熱,AI逐漸進入大眾視野,并在衣食住行方方面面影響著人們。AI 是讓計算機模擬人類智能的技術,它包括機器學習、自然語言處理、計算機視覺、語音識別等多個領域,通過使用大量的數(shù)據(jù)和算法,AI 可以讓計算機學會像人類一樣思考、學習和解決問題。機器學習作為人工智能領域的核心,是使計算機擁有智能的基石,本文對機器學習的核心領域、術語和深度學習與強化學習作簡單介紹,不涉及復雜的數(shù)學模型,通俗地講解AI底層知識原理。

一、機器學習

機器學習是人工智能核心,是使計算機具有智能的根本途徑,最早可追溯到17世紀,貝葉斯、拉普拉斯關于最小二乘法的推導和馬爾可夫鏈,這些構成了機器學習的使用工具和基礎。

可以簡單地說AI主要是讓計算機去認識我們的數(shù)據(jù),我們畫一幅畫,大家能認識,但是在計算機眼中,這是一個像素點所形成的矩陣,計算機視覺是把我們的圖像數(shù)據(jù)和視頻數(shù)據(jù),轉(zhuǎn)換成計算機能認識的一些特征或者向量;自然語言處理就是我們把文本數(shù)據(jù)交給計算機,讓計算機能夠讀懂去認識我們的文本,所以自然語言處理是把文本數(shù)據(jù)轉(zhuǎn)成計算機所認識的特征;語音識別是把我們的語音信號數(shù)據(jù)轉(zhuǎn)換成計算機所認識的特征;同樣,數(shù)據(jù)挖掘是把工業(yè)當中各個設備,記錄的一些傳感器的數(shù)據(jù)轉(zhuǎn)換成計算機所認識的特征。

但是不能把這個四個領域孤立去看,計算機視覺就是解決圖像問題,自然語處理解決文本問題,語音識別解決語音數(shù)據(jù)問題,AI領域被我們分成這么多分支,就是由于輸入的數(shù)據(jù),即它們的載體是不同的,但是目標一樣,就是不論以什么形式作為載體的,人工智能都要把數(shù)據(jù)轉(zhuǎn)換成一個計算機可計算、可去推理的一個特征、一個向量或者說一個矩陣。

AI領域范圍很大,應用也很多,但核心都是機器學習,機器學習里邊的核心就叫深度學習了,目前深度學習落地的項目比較多。

1. 機器學習中三大核心領域

機器學習解決的主要問題可分為分類、回歸和聚類三個領域。

  1. 分類:在有限的類別當中選擇一個固定的類別。
  2. 回歸:在一個有限的區(qū)間當中,預測出來一個值,但這個值并不是固定的一些類別。
  3. 聚類:在沒有標簽的時候,做分類。

分類和回歸既有數(shù)據(jù)又有標簽,聚類只有數(shù)據(jù),目前分類和回歸是做得比較多的領域。

2. 機器學習中的有監(jiān)督與無監(jiān)督

有監(jiān)督問題:給定標簽,大部分算法事先給出標簽。

無監(jiān)督問題:在沒有標簽的情況下也能完成建模任務。

來舉個例子,我們上學的時候做練習冊,做完要對答案,看看錯了什么好下回改,這就是有監(jiān)督,既有數(shù)據(jù)—我們的練習冊,也有標簽—我們的答案,就像計算機,它在學的時候知道哪里學對了,哪里學錯了,對了的下次就不太注意,錯了的會重點修正一下,這叫有監(jiān)督。

什么叫無監(jiān)督呢?大家做練習冊,做完就拉倒,也沒有答案,結果什么樣不用管,這就叫無監(jiān)督。在有監(jiān)督問題中,需要給數(shù)據(jù)打標簽,相當于告訴計算機標準答案,但打標簽是非常耗時間和精力的事,無監(jiān)督比較節(jié)省人力,但是效果遠沒有有監(jiān)督的好。

二、機器學習流程

機器學習流程可簡單分為四個步驟:

  1. 數(shù)據(jù)獲取
  2. 特征工程
  3. 建立模型
  4. 評估與應用

1. 數(shù)據(jù)獲取

1)數(shù)據(jù)獲取方式

除開openAI或者Google等世界頂尖AI科技公司,數(shù)據(jù)相對于算法和開源的項目更重要且有價值,我們?nèi)ソ佑|一些實際項目的時候,跟企業(yè)合作課題做過最多一件事就是簽保密協(xié)議。

很多有資源的大廠都會有專門數(shù)據(jù)的標注員,或者外包出去,但是創(chuàng)業(yè)型公司會讓大家一起標注數(shù)據(jù)。數(shù)據(jù)的來源包括但不限于企業(yè)的業(yè)務數(shù)據(jù)、購買的數(shù)據(jù)、攝像機拍的圖片數(shù)據(jù)、由機器傳感器獲取上傳到服務器的數(shù)據(jù)、后臺的日志、爬蟲等,但無論什么方式獲取,在有監(jiān)督學習中都需要打標簽。

我們一般把數(shù)據(jù)分成三個部分,分別為:訓練集、驗證集和測試集。

訓練集是給模型提供、讓它學習的數(shù)據(jù),驗證集是優(yōu)化模型性能的數(shù)據(jù)集,它不參與學習確定參數(shù)的過程,測試集用于驗證模型的最終效果。舉個例子,我們學習的時候,需要做海量的練習冊,這些練習冊就是訓練集,驗證集就是平時期中期末考試的時候看看學習的效果怎么樣,有哪些知識點需要彌補或調(diào)整,測試集就是最終的高考。通常三者的比例訓練集最高,取7:2;1或者6:2:2,按照實際情況來調(diào)整,三個數(shù)據(jù)集不能重疊。

2)數(shù)據(jù)預處理

我們獲取到數(shù)據(jù)一般都是雜亂無章,沒有規(guī)律可循,怎樣讓計算機更好地識別呢?

讓我們看看計算機適合處理什么樣的數(shù)據(jù),舉個例子,有個標準化的公式:(x-μ)/θ,μ是均值,下圖中,左邊是原始數(shù)據(jù),中間是減μ去均值,可以發(fā)現(xiàn)原始數(shù)據(jù)的圖像并不以原點為中心對稱,但是在各個維度去掉均值之后必然以原點為中心對稱,右圖再進行縮放來減少需要的算力等資源,在計算機眼中對稱的數(shù)據(jù)是能更好地學習的,就像在人眼中,對稱的更容易讓大腦記住識別。

以上就是一種簡單的數(shù)據(jù)預處理的方法,直白地說就是將雜亂無章的數(shù)據(jù)通過一些數(shù)學公式的變換盡可能地將原始數(shù)據(jù)達到比較有結構或?qū)ΨQ的效果,讓計算機學起來容易些。一般數(shù)據(jù)決定了項目的一個上限,算法和模型只是讓我們?nèi)ケ平谶@個上限,所以數(shù)據(jù)處理是整個AI領域必不可少且非常重要的一環(huán)。

在計算機看來,數(shù)據(jù)一般會服從某種分布或規(guī)律,我們希望模型能從中學到這種規(guī)律或分布,以便有新數(shù)據(jù)的時候能預測新數(shù)據(jù)屬于什么類別等。

但機器學習并不是萬能的,比如在股票行情當中,由于人、市場、政策等諸多因素一直在變,而機器學習的本質(zhì)是學習歷史數(shù)據(jù)當中分布及規(guī)律,用這個規(guī)律處理新的數(shù)據(jù),我們期望新的數(shù)據(jù)跟歷史數(shù)據(jù)有幾乎一樣的特征,這樣對于從歷史數(shù)據(jù)中訓練的模型能更有效地分辨新數(shù)據(jù),而彩票是隨機的,如果它服從于某一種分布或規(guī)律,那人人都可以輕松中獎。

2. 特征工程

簡單地說,特征工程就是計算機從一個預處理后的數(shù)據(jù)中提取它能理解的特征的過程,這些特征可以很好的表示已經(jīng)有的數(shù)據(jù),比如我們看到的圖像、視頻、聲音等,從而去預測未知的數(shù)據(jù),在實際應用中,特征通常按照業(yè)務需要來提取。

比如我想預測某位同學的學習成績,但是我有這位同學特別多的指標,比如游戲的段位等級、學習時間、身高年齡體重家庭住址等等,這些指標不一定跟他成績都相關,我們需要在所有的數(shù)據(jù)當中選擇一些最重要的特征。

再比如,某新能源科技公司給每個車間流水線上都安裝了自動化設備,這些設備去捕捉傳感器每個流水線上的一些運行指標,如果他們的需求是想提升工廠的運行效率,該選哪些特征呢?整條生產(chǎn)線上總共有1000多條特征,在這么多特征中選擇是件很困難的事,跟業(yè)務非常掛鉤。

程序員們要實現(xiàn)一個功能,通常不用自己去寫源碼,會套用現(xiàn)成源碼,俗稱“調(diào)包”,但是在調(diào)包之前要先把數(shù)據(jù)做好,做好數(shù)據(jù)不是件容易的事,需要非常多的業(yè)務知識儲備,這些是做好特征工程的前置條件,很多業(yè)務的瓶頸就卡在這一步。

3. 建立模型

我們先引入一個簡單的公式:y=wx+b,在這個任務當中,y代表實際的值,x代表輸入的數(shù)據(jù),w是權重參數(shù),b是偏置參數(shù)。其中x-輸入數(shù)據(jù)和y-實際值是已知的數(shù)據(jù),基于這兩個已知條件,我們需要找出什么樣的權重參數(shù)w和偏置參數(shù)b正好符合于目前這個等式,建模就是給定輸入數(shù)據(jù)以及對應的結果,來得出能達到這樣的擬合結果的參數(shù)的過程,如果已知了權重參數(shù)和偏置參數(shù),我們就可以預測以后需要的值。

在十年前,權重參數(shù)可達到千萬級別的一個量級,而現(xiàn)在chatgpt的權重參數(shù)已達千億級,模型就像是一個黑盒子,我們給一個輸入傳到盒子里邊,它給出一個預測,但是對于千億級被的盒子究竟做了什么,目前我們?nèi)祟愡€不能理解它,所以模型是不一定可解釋的。

4. 評估模型

模型不可解釋,所以我們對于預測出來的結果不能保證,但我們可以把實際數(shù)據(jù)拿到模型中去驗證,這就是模型的評估。在不同的業(yè)務場景中,評估的方法是不同的,最常用的評估指標有準確率、召回率、損失值等。

  • 準確率:預測出正確的結果占總樣本的百分比。
  • 召回率:又叫查全率,是指正確預測出樣本占實際這個樣本的百分比。
  • 損失值:指預測的結果跟真實值比,損失值越小,則模型效果越好。

為了理解這幾個指標來舉個簡單的例子,某塊地里面有一堆土豆和西紅柿,其中有990個土豆和10個西紅柿,現(xiàn)在我們的任務是要把土豆從這一堆里面識別出來,如果按照準確率的指標,計算機準確地識別出了900個土豆和5個西紅柿,那準確率也是90.5%,但是顯然這么高的準確率并不能反映我們的任務情況,所以使用召回率指標更能說明問題,即在990個土豆里面準確識別出土豆的能力,而不考慮識別出了多少西紅柿。

上圖中,隨著模型訓練迭代次數(shù)的增加,驗證集和測試集的損失值越來越小(左),預測準確度越來越高(右)。我們希望模型能100%正確,但這肯定達不到。

5. 調(diào)參

我們通過訓練集和測試集來驗證模型的準確度,為了使模型更好地擬合數(shù)據(jù),需要對模型的參數(shù)進行調(diào)整,調(diào)參很多時候是靠經(jīng)驗或者一些技巧,谷歌曾經(jīng)提出自動調(diào)參的方法,這需要用大量的算力去擬合和嘗試,調(diào)參對于普通的科技公司來說是很有挑戰(zhàn)的一件事。

通過一個例子來說明,我們需要調(diào)五個參數(shù),每個參數(shù)有五個可能的值,需要5的5次方組實驗才能包含所有的結果,那么訓練一個模型需要多長時間呢?假如是單卡單GPU,即便是非常強的算力,一般都得以天為單位,而不是以分鐘或以小時,假如一天能訓練好一個參數(shù)的一個可能的值,這已經(jīng)屬于極快了,那訓練完參數(shù)每個參數(shù)五種可能性需要3125天,但是我們不可能過八九年之后再回來看訓練好的這個模型,所以說很多時候就是通過經(jīng)驗來調(diào)參。

有些規(guī)模大的科技公司,比如谷歌facebook用分布式計算方法,2016年谷歌專門為了AI訓練而推出了TPU處理器,它采用矩陣乘法的計算方式,為訓練節(jié)省大量的時間和精力,但這種級別的處理器只有世界龍頭企業(yè)才能負擔得起。

三、深度學習

如果說傳統(tǒng)的機器學習從獲取數(shù)據(jù)到評估的每一步都需要人工參與,深度學習只要把數(shù)據(jù)交給模型就行,兩者要解決的問題依舊是分類和回歸兩大核心任務,但深度學習中間過程不用人為去干涉,相當于找了“一條龍”的服務,深度學習模擬人腦的神經(jīng)網(wǎng)絡結構,把很多問題簡單化,節(jié)省了很多時間和人力成本,可以說,深度學習就是神經(jīng)網(wǎng)絡專場

深度學習網(wǎng)絡結構:

深度學習需要大量的數(shù)據(jù)和算力,由于目前算力、傳輸速度等因素,深度學習還不能完全取代傳統(tǒng)機器學習。對于計算資源有限、數(shù)據(jù)規(guī)模小的公司來說,機器學習是一種性價比最高的算法,我們??吹亩桃曨l特效,如果把這些特效放在本地機器去跑,大部分機器都跑的非常慢,達不到實時性的要求,可能再過幾年,隨著硬件設備和通信技術的發(fā)展,算力和傳輸速度達到一定程度后,傳統(tǒng)機器學習算法沒有存在的意義,深度學習會完全取代傳統(tǒng)機器學習。

目前深度學習主要應用在計算機視覺、NLP、語音識別領域。

四、強化學習

也許大家都聽說過2016年谷歌的人工智能產(chǎn)品AlphaGo與韓國棋手李世石進行的一場圍棋比賽事件,AlphaGo獲得比賽的勝利,一時間強化學習成為很多公司追捧的熱點。

不同于機器學習,強化學習不需要預先給定任何數(shù)據(jù),而是通過接收環(huán)境對動作的反饋獲得學習信息并更新模型的參數(shù),如果說機器學習是輸入樣本數(shù)據(jù)-模型-輸出數(shù)據(jù)的鏈路,強化學習則并不關注某一個樣本的結果,而是看全局的結果。

舉個例子,我們讓一個機器人在一個房間找出口,這個機器人撞門上、踢著人等等給它扣十分,最后走出這個門,給它加100分,它經(jīng)過了大量嘗試之后,最終成功地找到出口,這就叫全局的結果。

強化學習需要大量的模擬數(shù)據(jù)來訓練,通過與環(huán)境的交互獲得經(jīng)驗,從而讓全局收益最大,雖然這個機器人一開始會撞玻璃,但是它撞的時候發(fā)現(xiàn)會越扣分,那以后就不會去撞玻璃,當它發(fā)現(xiàn)只要走出門就能加很多分,那他會朝著走出門這個結果,將收益最大化。

強化學習的過程需要設計獎勵和懲罰機制,是需要監(jiān)督學習的,并且規(guī)則越清晰明確效果越好,由于它不關注訓練過程和依賴規(guī)則的局限,很多場景無法用強化學習來訓練完成,比如自動駕駛,我們可以在訓練的時候用假人,遇到撞人、壓線、闖紅燈等情況給它扣分,按規(guī)則正常行駛的時候加分。但是在實際當中,如果出現(xiàn)一些在訓練當中沒有的突發(fā)狀況,就不是懲罰扣分的事了,所以目前來看,強化學習在規(guī)則明確的游戲領域比較適用,比如游戲當中使用技能會掉多少血等等,這些都是可以量化的指標。

以上簡單地介紹了機器學習核心領域、一些術語、機器學習流程與深度學習和強化學習,這只是人工智能領域最基本的要素,之后我還會持續(xù)分享AI的有關算法、模型和應用領域。

本文由 @Deii_薇 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自 Unsplash,基于CC0協(xié)議。

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務。

更多精彩內(nèi)容,請關注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 機器學習就像是教電腦“打游戲”,讓它從菜鳥變高手,不過有時候它也會“卡關”哦!

    來自四川 回復