iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
AI & Data

30天深度學習-從零到英雄系列 第 12

回顧深度學習模型

  • 分享至 

  • xImage
  •  

我們今天來回顧前面架構出來的建議深度學習模型(手寫數字辨識),只要在構建好的模型後寫上「model.summary()」就可以印出模型摘要,如下圖
https://ithelp.ithome.com.tw/upload/images/20230924/20161909M9VhZ5EsR2.png

  • layer(type):各神經層的名稱與類型,可以發現我們有兩個密集層,一個是dense_1,這是預設名稱,因為我們在寫程式的時候並沒有指定名稱
  • Output Shape:各神經層的維度,可以看出每一層有幾個神經元,第一層有64個,第二層有10個,前面的None表示每次訓練神經網路所使用到的資料數目
  • Param #:該神經層的參數(包括權重)

那這時候你可能會好奇應該也要有輸入層還有輸出層啊?那其實輸入層只是單純接收資料並傳入隱藏層,沒有做任何的計算功能,因此我們的摘要沒有顯示,此外輸出層則是因為第二個隱藏層兼具輸出層所以才沒有。

這次的輸入層接收784個神經元(28 * 28個像素值),然後我們設定第一個隱藏層有64個神經元,所以輸入層與第一隱藏層之間有50176個權重(784 * 64),忘記的人可以回去複習是否為垃圾郵件的那張圖,這時候你可能會發現這與Param出現的數字不一樣,沒錯!那是因為我們還需要加上一個值b,這個b值我們稱為偏值,在第一隱藏層中每個神經元都會加上一個偏值,因為有64個神經元,所以公式會長這樣x(784神經元) * w(64權重) +b(64偏值)=50240

依照這樣的概念大家可以試著想想看第二隱藏的邏輯是怎麼運行的呢?
答案是64 * 10 +10=650,是不是很容易就能理解呢?

那50176與650代表什麼意思呢?
就是要訓練出50176+650=50890個參數的最佳值!


上一篇
密集神經網路
下一篇
損失了什麼?損失函數(Loss Function)
系列文
30天深度學習-從零到英雄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言