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