亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么在簡單的 2 輸出 2 輸入網絡中,我在 Keras 中得到 6 個參數?

為什么在簡單的 2 輸出 2 輸入網絡中,我在 Keras 中得到 6 個參數?

素胚勾勒不出你 2023-03-08 14:36:46
我正在學習 keras 中的神經網絡。我在合成數據上指定了一個簡單的模型。model=tf.keras.models.Sequential()model.add(tf.keras.layers.Dense(2, input_dim=2))model.compile(optimizer='sgd', loss='mean_squared_error')我有兩個屬性來預測兩個值。這是我初始化數據的地方:x=[]y=[]for x1 in range (6):    x2=int(random.random()*10)    x.append([x1,x2])    y.append([2*x1+x2**2-2, x1*x2])xs = np.array(x, dtype=float)xs=xs.reshape(6,2)ys = np.array(y, dtype=float)ys=ys.reshape(6,2)model.fit(xs, ys, epochs=500)請注意,我僅將這些數據用于學習目的。在我嘗試觀察模型之后。我跑model.summary()和model.get_weights()。Model: "sequential"_________________________________________________________________Layer (type)                 Output Shape              Param #   =================================================================dense (Dense)                (None, 2)                 6         =================================================================Total params: 6Trainable params: 6Non-trainable params: 0_________________________________________________________________Nonemodel weights  [array([[0.5137405, 5.477211 ],       [8.750836 , 1.6910588]], dtype=float32), array([-5.701193, -7.874653], dtype=float32)]我不明白為什么有 6 個參數和 6 個權重。根據我的理解,每個輸入應該有兩個,或者我應該在某個地方專門定義輸出層?
查看完整描述

2 回答

?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

您定義的模型架構如下圖所示

http://img1.sycdn.imooc.com//64082d1b0001264604400357.jpg

你有一個包含兩個神經元的致密層。為什么是兩個神經元?因為第一個參數Denseunits表示神經元的數量。每個神經元對 進行線性運算X.W + b,然后對其應用激活函數。神經元中的可學習參數是Wb。

由于的大小X為 2(2 個特征),因此大小為W(=2) + b= 3。因此在這種情況下,每個神經元將具有 3 個參數,而 2 個這樣的神經元將具有 6 個參數。


查看完整回答
反對 回復 2023-03-08
?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

您有一個包含兩個神經元的輸出層,這些神經元中的每一個都必須有兩個權重(因為輸入是 2 維的)和另一個稱為“偏差”的權重。所以每個神經元有 3 個權重。

總之,您有 2 個神經元,每個神經元有 3 個權重或可訓練參數,因此您的網絡中總共有 6 個可訓練參數。


查看完整回答
反對 回復 2023-03-08
  • 2 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號