iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 16
0
AI & Data

AI+Line系列 第 16

Day16 CNN卷積神經網路程式(4):訓練模型

  • 分享至 

  • twitterImage
  •  

model.fit(x_train, y_train, epochs=1, batch_size=64)
fit將訓練集的x_train(資料,也就是圖片)與y_train(標籤,也就是正確答案)
epochs=1:訓練1個世代,也就是所有的訓練集資料訓練一遍,考慮到大家電腦效能不一,我們先選擇盡快看到結果
batch_size=64,資料的抽取是隨機的,每次抽64個資料出來。batch_size經驗上64、128都是不錯的;數值太小會讓訓練震盪太大;數值太大會沒有效率。

如圖,訓練的目標,通常來說是讓Loss越接近0越好,Accuracy正確率越接近1越好(100%)。這個過程像是讓考生大量閱讀資料與正確答案,或是想像成從算法的宇宙中找出最接近你要的那個。
https://imgur.com/jPMxrVK.png

影像識別在機器學習領域算是比較成熟的,能達到9x%以上正確率很普遍。
但也要注意,如果訓練不夠,會有欠擬合的現象,就像是考前讀書不足,正確率在訓練集、驗證集都會偏低。
如果訓練過度,會有過擬合的現象,變得只會答考古題,新的題目反而答不好;此時就算訓練集正確率很高,在驗證集裡正確率反而變低很多。

當發現訓練好幾個epoch之後,正確率還是很低,而且沒有上升的跡象,同時Loss也是沒有下降的跡象,就要檢查一下神經網路有沒有架設正確、資料是否正確、資料量是否足夠等等問題。


上一篇
Day15 CNN卷積神經網路程式(3):建構模型
下一篇
Day17 CNN卷積神經網路程式(5):儲存模型、讀取模型
系列文
AI+Line30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言