學(xué)貫中西(6):闡述ML分類器的工作流程
1 天字第一號ML模型:分類器
在上一期里,曾經(jīng)在Excel 畫面的幕后,設(shè)計了一個分類器(Classifier)模型,將各< 詩句> 歸類到各自所屬的< 作品>。此時,把一個作品名稱(如靜夜思),當(dāng)作一個類(Class)。于是,這種ML 模型,就通稱為:分類器。在ML(機(jī)器學(xué)習(xí))領(lǐng)域中,分類器就是天字第1 號模型。
在本專欄的前面幾期里,曾經(jīng)介紹過分類器的幕后實踐技術(shù)。在本期里,就來把去年介紹過的技術(shù),與華夏的藝術(shù)、文化創(chuàng)作,連結(jié)起來,讓您能夠貫通ML 的知識體系及其實現(xiàn)技術(shù),請您回憶上一期的范例(見圖1)。
圖1 基本范例示意
這是ML 模型的基本技能,它透過機(jī)器學(xué)習(xí)而記住了< 詩句> 與< 作品名稱> 之間的關(guān)系,也就是分類關(guān)系。于是我們就可以把某個< 詩句> 輸入給這模型,由它來預(yù)測(推論)出其所屬的< 作品名稱>(參見圖2)。
圖2 典型的ML分類器模型
這是典型的ML 分類器模型。我們可以建立更多這樣的模型,來表達(dá)各式各樣的事物之間的復(fù)雜關(guān)系。
2 分類器的學(xué)習(xí)流程
剛才已經(jīng)說明了,分類器是一種AI 模型。顧名思義,它經(jīng)過機(jī)器學(xué)習(xí),就能在人們的指引下,認(rèn)識不同種類的圖像,或其他事物。換句話說,它就具有分辨出不同種類事物的智慧能力?,F(xiàn)在來舉例說明其學(xué)習(xí)流程。
2.1 收集數(shù)據(jù)
于此,敘述分類器的工作(學(xué)習(xí))流程。例如,它就具有分辨出八大山人與畢加索,兩種不同畫作的風(fēng)格。首先,收集兩個類的畫作圖像,如圖3。
圖3 畫作圖像示意
這些圖像是用來訓(xùn)練一個分類器模型。訓(xùn)練完畢之后,它就具有分辨出八大山人與畢加索,兩種不同畫作的風(fēng)格。由于分類器是屬于監(jiān)督式學(xué)習(xí)(Supervised learning),我們先進(jìn)行分類,并且對各類來貼上標(biāo)簽(Label)。貼上類的標(biāo)簽:[1]代表<Picasso> 類,而以[0]代表< 八大山人> 類(見圖4)。
分類器是屬于監(jiān)督式學(xué)習(xí)(Supervised learning),我們先進(jìn)行分類,并且對各類來貼上標(biāo)簽(Label)。貼上類的標(biāo)簽:[1] 代表<Picasso> 類,而以[0]代表< 八大山人> 類。接下來,就來定義這個分類器的架構(gòu),包括它的各項參數(shù)來配合這些畫作圖像的大小(即多少像素)。
圖4 類標(biāo)簽及分類器
現(xiàn)在,訓(xùn)練數(shù)據(jù)(Training data)準(zhǔn)備好了,模型也定義好了,就可以展開< 機(jī)器學(xué)習(xí)> 了;也就是,開始訓(xùn)練這個分類器模型。
2.2 展開機(jī)器學(xué)習(xí)
● 步驟1:拿第1 筆數(shù)據(jù)來訓(xùn)練
首先從Picasso 類取出一筆數(shù)據(jù)(即一張畫作),以X 表示之,輸入給分類器。同時,把Picasso 類的標(biāo)簽,提供給分類器,做為目標(biāo)值(Target),簡稱:T 值(見圖5)。
圖5 目標(biāo)值設(shè)定
此時,分類器模型就進(jìn)行推論(Inference):從X計算出Z。并且計算出Z 與T 的誤差。也就是:T–Z =Error(見圖6)。
圖6 推論產(chǎn)生
圖7 分類器參數(shù)更新
然后,依據(jù)這項誤差值(即Error)來更新這分類器的參數(shù),如圖7 所示。于是,更新了分類器的參數(shù),讓分類器的智慧提升了。此時已經(jīng)輸入第1 筆數(shù)據(jù),并對分類器進(jìn)行1 次迭代(Iteration)的訓(xùn)練了。
● 步驟2:拿第2 筆數(shù)據(jù)來訓(xùn)練
現(xiàn)在從八大山人類取出一筆數(shù)據(jù)(即一張畫作),以X表示之,輸入給分類器。同時,把八大山人類的標(biāo)簽,提供給分類器,做為目標(biāo)值(T)。此時,分類器模型就進(jìn)行推論:從X 計算出Z,如圖8 所示。
圖8 推論Z的產(chǎn)生過程
接下來,就計算出Z 與T 的誤差。也就是:T–Z =Error。然后,依據(jù)這項誤差值(即Error)來更新這分類器的參數(shù)(見圖9)。
圖9 更新后的分類器參數(shù)
更新了分類器的參數(shù),讓分類器的智慧提升了。此時已經(jīng)輸入2 筆數(shù)據(jù),并對分類器進(jìn)行2 次迭代的訓(xùn)練了。
● 步驟3:繼續(xù)拿下一筆數(shù)據(jù)來訓(xùn)練
這是重復(fù)< 步驟1> 的學(xué)習(xí)流程,從Picasso 類取出另一筆數(shù)據(jù)(即另一張畫作),以X 表示之,輸入給分類器。同時,把Picasso 類的標(biāo)簽,提供給分類器,做為目標(biāo)值。此時,分類器模型就進(jìn)行推論,計算出Z和誤差值(Error)。最后,依據(jù)這項誤差值來更新這分類器的參數(shù)。更新了分類器的參數(shù),讓分類器的智慧提升了。此時已經(jīng)輸入3 筆數(shù)據(jù),并對分類器進(jìn)行3 次迭代的訓(xùn)練了。
● 步驟4:繼續(xù)拿下一筆數(shù)據(jù)來訓(xùn)練
這是重復(fù)< 步驟2> 的工作流程,但是從八大山人類別取出另一筆數(shù)據(jù)(即另一張畫作),來輸入給分類器。同時,把八大山人類的標(biāo)簽,提供給分類器,做為目標(biāo)值(T)。此時,分類器模型就進(jìn)行推論,計算出Z 和誤差值。最后,依據(jù)這項誤差值來更新這分類器的參數(shù),讓分類器的智慧提升了。此時已經(jīng)輸入4 筆數(shù)據(jù),并對分類器進(jìn)行4 次迭代的訓(xùn)練了。
● 步驟5:繼續(xù)重復(fù)循環(huán)下去
然后,重復(fù)循環(huán)下去,直到Error 趨近于0 為止。以上是典型的機(jī)器學(xué)習(xí)流程,其中每1 次迭代都各輸入1 筆數(shù)據(jù)給分類器去進(jìn)行學(xué)習(xí)(也是訓(xùn)練),也更新1 次模型參數(shù)。這樣地重復(fù)循環(huán)下去,就會逐一地把各筆數(shù)據(jù)(畫作)都輸入給分類器去學(xué)習(xí)了。當(dāng)我們把全部數(shù)據(jù)都輸入給模型去學(xué)習(xí)了,就稱為:學(xué)習(xí)一回合(Epoch)。
如果學(xué)習(xí)了一回合之后,發(fā)現(xiàn)其誤差值(Error)還蠻大的(不接近于0),表示學(xué)習(xí)得還不夠好。于是繼續(xù)重復(fù)下去,也就是進(jìn)行另一回合的學(xué)習(xí),重復(fù)循環(huán)下去,直到Error 趨近于0 為止。一般而言,機(jī)器學(xué)習(xí)都需要進(jìn)行數(shù)千或數(shù)萬,或更多回合的學(xué)習(xí)(訓(xùn)練)過程,Error 才會趨近于0。
3 學(xué)習(xí)的效果
于此,使用空間對應(yīng)(Space-mapping)的觀念來解釋之。輸入空間(即X 空間)包含全部數(shù)據(jù)(畫作),經(jīng)由推論(計算)之后,會對應(yīng)到輸出空間(即Z 空間)。這種對應(yīng)過程,就通稱為:模型推論,如圖10 所示。
圖10 模型推論
經(jīng)過數(shù)百或數(shù)千,或更多回合的學(xué)習(xí)之后,這分類器就能把這些畫作,對應(yīng)(Mapping)到它們各自所屬的類了。
圖11 關(guān)系的建立
一旦機(jī)器學(xué)習(xí)完成,圖11 里的關(guān)系建立起來了。計算機(jī)(ML 模型)就觀察畫作的風(fēng)格,而推論出該幅畫作是來自畢加索或是來自八大山人了。
4 結(jié)語
前面提到了,分類器是ML 領(lǐng)域的天字第一號模型。為什么它具有這樣重要的角色呢? 請您仔細(xì)領(lǐng)會一下圖11 里的X(空間)與Z(空間)的關(guān)系?;谶@項關(guān)系,ML 模型就觀察畫作的風(fēng)格(結(jié)果),而推論出該幅畫作是來自畢加索(原因)或是來自八大山人了。
于是,X 空間里的事物或其特征,是我們所觀察到的結(jié)< 果>。而Z 空間里所表達(dá)的卻是這些結(jié)果幕后隱藏的原< 因>。一旦能找到眼前(現(xiàn)實)結(jié)果幕后藏的真正的因,我們就能針對此< 因> 而對癥下藥,就可以改變眼前的< 果> 了。這稱為:溯因(Abductive reasoning)推理。君不見,許多人類的科學(xué)性創(chuàng)新,大多來自于這項溯因(又稱果因)推理能力。請您期待本專欄的繼續(xù)解說ML 的更多魅力。
(本文來源于《電子產(chǎn)品世界》雜志2022年4月期)
評論