五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

softmax手動實現(xiàn)+詳細注釋(動手學(xué)深度學(xué)習(xí)筆記)

2023-07-31 03:53 作者:風(fēng)神ねこ  | 我要投稿

訓(xùn)練結(jié)果(20個epoch 學(xué)習(xí)率0.1)

可以看出在10epoch的時候就基本開始過擬合了

過于硬核的手動實現(xiàn)

由于李沐老師的softmax手動實現(xiàn)部分較為硬核,自己剛?cè)腴T不久啃起來有些麻煩,過程中嘗試自己寫時也踩了不少坑,因此加了十分詳盡的注釋,幫助大家一起理解代碼,共同學(xué)習(xí)!

此外還重寫了一些方法,沒有使用到老師的d2l庫,個人感覺主要難點還是將python語法與算法實現(xiàn)相結(jié)合,一方面關(guān)注算法本身的邏輯,另一方面也要注意如何使用python實現(xiàn)

老師的代碼封裝的比較好,但很多地方的實現(xiàn)過于抽象,需要深入理解

讀取數(shù)據(jù)集并創(chuàng)建dataloader

展平圖像與初始化參數(shù)

視為28*28=784的向量,故輸入是784,由于數(shù)據(jù)集有10個類別,所以網(wǎng)絡(luò)輸出維度是10

定義softmax算符

這里要掌握張量計算的方法

當調(diào)?sum運算符時,我們可以指定保持在原始張量的軸數(shù),?不折疊求和的維度,如對(3,2)進行按列求和,會得到(2,),設(shè)置keepdim為True就是(1,2)即一行,分別是兩列的和

定義模型

1. 例如batch_size=256,則X這里是(256,784)代表256張圖片 每個圖片有28x28個像素(被展平成784)

2. 權(quán)重矩陣為(784,10)代表對每種輸出的各特征權(quán)重

3. 因此256x784@784x10==256x10 即每張圖片會輸出十個類別的置信度,如衣服20% T恤60%……大衣5%,對十個輸出會加上一個bias,通過廣播機制作用到所有圖片

定義交叉熵損失

交叉熵只在意真實值的預(yù)測概率,因此這里是抽取每一行對應(yīng)是真實類別的預(yù)測概率的那個值,拿出來求負對數(shù)

例如第一個樣本應(yīng)該是2類(設(shè)共三類,從0-2),并預(yù)測概率是0.7,第二個樣本應(yīng)該是1類,預(yù)測是1類概率為0.5,則交叉熵損失為

-log(0.5)%20%E4%B8%8E-log(0.7)

計算accuracy

(accuracy無法作為損失函數(shù)所以我們引入交叉熵,但最后還是通過accuracy來看我們預(yù)測如何)

1. argmin/argmax 可以指定axis 返回最小或最大元素的索引下標(從0開始)

2. type 更改張量的dtype類型

3. sum將True相加(因為True代表1,求和相當于計算是True的個數(shù))

評估在任意模型上的準確率

回歸訓(xùn)練

分類預(yù)測

結(jié)果

最后

后續(xù)會考慮邊跟老師課多發(fā)筆記,希望可以降低大家debug的時間,和大家共同進步!

softmax手動實現(xiàn)+詳細注釋(動手學(xué)深度學(xué)習(xí)筆記)的評論 (共 條)

分享到微博請遵守國家法律
黔南| 贵定县| 仁化县| 林口县| 扎兰屯市| 柞水县| 吐鲁番市| 东乡族自治县| 炉霍县| 璧山县| 汕头市| 喜德县| 南江县| 洛阳市| 罗源县| 如皋市| 双城市| 灵寿县| 水城县| 岳阳县| 绥芬河市| 岢岚县| 乌鲁木齐县| 瑞昌市| 南郑县| 牙克石市| 扎赉特旗| 盈江县| 西贡区| 建平县| 浑源县| 宾阳县| 新营市| 内黄县| 和林格尔县| 广灵县| 邵阳县| 多伦县| 六盘水市| 呼和浩特市| 茌平县|