Alan Tsai 的學習筆記


學而不思則罔,思而不學則殆,不思不學則“網貸” 為現任微軟最有價值專家 (MVP)、微軟認證講師 (MCT) 、Blogger、Youtuber:記錄軟體開發的點點滴滴 著重於微軟技術、C#、ASP .NET、Azure、DevOps、Docker、AI、Chatbot、Data Science

[chatbot + AI = 下一代操作模式][29]維護Custon Vision Model - 使用歷史查詢記錄做訓練以及如何版控

[chatbot + AI = 下一代操作模式][29]維護Custon Vision Model - 使用歷史查詢記錄做訓練以及如何版控.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([28]整合Custom Vision到chatbot - 拍照就可以識別價錢)把Custom Vision Training好的Model和Chatbot結合達到了拍照就可以辨識飲料價錢的功能。

這一篇來看看如何透過歷史查詢的圖片持續精進Model,讓他的準確度越來越高,并且透過Iteration做版控避免更糟糕的Model不小心上綫。

加入歷史查詢圖片到Training Image裡面

和LUIS一樣,Custom Vision會記錄那些圖片有被送過來做辨識,并且會把辨識的結果留下來。

因此,作爲管理者,一段時間就應該看一下這個Model在識別上面有沒有什麽問題,有的話把他調整過了。

首先,登入到Custom Vision裡面了之後,找到要看的專案,選擇上面最後一個tab,Predictions

chrome_2018-08-09_15-02-08.png
找到Prediction的tab

點下去了之後會看到測試時候的照片都在了這邊。這個時候把滑鼠移動到某一張圖片的時候,會顯示這張圖片在決定各個tag裡面的幾率是多少:

chrome_2018-08-09_15-03-06.png
看圖片識別的幾率

如果想要看大一點的圖片,可以點下去,看到的畫面類似用Quick Test的到的結果畫面一樣。

如果要把這些圖片加入training的圖片清單的話,只需要把相同的用勾勾選起來,然後選擇上面的Tag images來決定是哪個tag,確定了之後按下save and close即可:

chrome_2018-08-09_15-07-08.png
圖片加入training集合裡面

儲存完了之後,再去看Training Images會看到多了剛剛那兩張,這個時候記得要做Training:

chrome_2018-08-09_15-09-27.png
剛剛設定的進入了training image裡面

Iteration的介紹 - 管理好Model的版本

當在執行一次Train的時候,在Peformance那邊會發現多了一個Iteration 2:

chrome_2018-08-09_16-00-42.png
多出了Iteration 2

還記得在上一篇取得Prediction Url之前,我把Iteration 1變成了Default。這樣做的原因是會影響到產生的Prediction Url

以Iteration 2來説,點下他的Prediction Url,會發現裡面有一段的參數是?iterationId={guid}。如果說沒有這個參數,那麽Default的iteration將會被使用。

這代表什麽意思呢?當Model在做調整的時候,結果可能好,也有可能壞。因此,Production使用的應該是Default的Iteration,也就是Predication URL沒有加入iterationId的版本。

只有當確認好了某個iteration model符合需求,這個時候在透過Make Default來切換成爲預設的Iteration。

以剛剛的例子來看,在Iteration 2只是在sprite類型加了兩張圖片,但是整個的Precision和Recall和Iteration 1差很多:

2018-08-09_16-07-14.png
左邊是Iteration 1,右邊是Iteration 2

從截圖可以看到,不止整體的Precision和Recall掉了,在個別項目來説coke和pepsi都往下掉了。換句話説,加入了兩張圖片的training比不加入的效果還來的糟。換句話説,iteration 1比iteration 2好多了。

這個時候就不應該把iteration 2改成default。

結語

這篇對於如何使用歷史的查詢來持續Training Model以及透過Iteration的概念達到版控的效果做了一些介紹。

不過還留了一個問題,怎麽樣才知道目前的Iteration Model是好還是壞?這邊就牽扯到了兩個數字:Precision以及Recall

這兩個數字是classifier model用來衡量好不好的數字,牽涉比較多,因此在下一篇([30]Confusion Matrix - 用來衡量Classifier Model的方式 Precision和Recall)將介紹這兩個數字的含義以及怎麽看。


如果文章對您有幫助,就請我喝杯飲料吧
街口支付QR Code
街口支付QR Code
台灣 Pay QR Code
台灣 Pay QR Code
Line Pay 一卡通 QR Code
Line Pay 一卡通 QR Code
街口支付QR Code
支付寶QR Code
街口支付QR Code
微信支付QR Code
comments powered by Disqus