国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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í)筆記)的評論 (共 條)

分享到微博請遵守國家法律
临湘市| 青岛市| 马山县| 如皋市| 故城县| 额济纳旗| 荆门市| 马公市| 故城县| 刚察县| 涿鹿县| 资溪县| 石狮市| 霍邱县| 克东县| 闻喜县| 盖州市| 谷城县| 仁布县| 抚顺县| 乐业县| 门源| 邳州市| 镇沅| 玛沁县| 海原县| 且末县| 阿克苏市| 新晃| 富蕴县| 梁河县| 永德县| 田林县| 马关县| 泽普县| 榕江县| 孟州市| 昔阳县| 师宗县| 常德市| 灯塔市|