iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0
Mobile Development

iOS 菜雞的開發日記系列 第 20

鐵人賽 [Day 20] Core ML 教學(5)

  • 分享至 

  • xImage
  •  

今天要教大家怎麼訓練一個模型喔!

如何訓練一個模型

放置資料

我們在下面這個界面會發現正中央有一個 "Data" 的欄位,且分成三個格子,聰明的你們應該知道他們分別要放進哪些資料的對嗎!?

https://ithelp.ithome.com.tw/upload/images/20231005/20151391lkKz8CrEGC.png

我們要分別拿出在 Day 4 切分好的
"訓練資料集" 以及 "驗證資料集"(如果有切分的話就放,沒有的話也可以讓系統自動分離出訓練資料集的資料)和 "測試資料集"

調整參數

https://ithelp.ithome.com.tw/upload/images/20231005/20151391b8tpkli7we.png

我們要調整的參數很簡單,依照剛剛在介面上介紹的,大多只需要調整 leterations 和 Augmentations 就行了。

這裡再做一下兩個參數詳細的介紹!

  • lterations: 訓練數據集上迭代的次數。迭代次數越多,模型就越有可能學習到數據中的模式。但是,迭代次數太多也會導致過擬合,即模型過於貼合訓練數據,而無法泛化到新數據。

    • 以下是 Core ML 中 iterations 的一些最佳實踐:
      • 從較小的 iterations 數量開始,然後根據需要增加。
      • 使用自動調節功能來幫助您找到最佳 iterations 數量。
      • 監測模型的準確性和泛化性能,以避免過擬合。
  • Augmentations: 通過對訓練數據集中的圖像或其他數據進行隨機變換來實現。這些變換可以包括旋轉、縮放、剪裁、翻轉、添加噪聲等。
    幫助模型學習到數據中的更廣泛的模式,從而提高模型的準確性和泛化性能。在某些情況下,Augmentations 甚至可以使模型在沒有額外數據的情況下提高準確性

    • 以下是 Core ML 中 Augmentations 的一些最佳實踐:

      • 使用多種 Augmentations 來增加數據集的多樣性。
      • 使用隨機 Augmentations 來防止模型學習到特定的數據模式
      • 監測模型的準確性和泛化性能,以避免過擬合。
    • Augmentations 項目介紹:

      • Add Noise: 在圖片中添加隨機雜訊,可以使模型更具魯棒性,不受現實世界中噪聲的影響。
      • Blur: 對圖片進行模糊處理,可以去除圖片中的細節,使模型更難過擬合訓練資料。
      • Crop: 隨機裁剪圖片的大小和/或位置,可以增加模型在訓練過程中看到的圖片種類。
      • Expose: 改變圖片的亮度和對比度,可以使圖片更具挑戰性,讓模型更難分類。
      • Flip: 水平或垂直翻轉圖片,可以使模型更具魯棒性,不受圖片中物體方向的影響。
      • Rotate: 隨機旋轉圖片,可以使模型更具魯棒性,不受圖片中物體視角的影響。

以上參數調整好之後就可以直接訓練了!每次訓練可以藉由慢慢調整這些參數,訓練出準確率越來越高的模型!


上一篇
鐵人賽 [Day 19] Core ML 教學(4)
下一篇
鐵人賽 [Day 21] Core ML 教學 (6)
系列文
iOS 菜雞的開發日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言