无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

分享到微博請遵守國家法律
湖州市| 乡宁县| 新和县| 上高县| 亚东县| 诸暨市| 望谟县| 奉贤区| 交口县| 怀远县| 防城港市| 铜陵市| 漳州市| 玛沁县| 建昌县| 榆树市| 太仓市| 高清| 呼图壁县| 瑞丽市| 东莞市| 桐城市| 安乡县| 盱眙县| 内黄县| 江华| 淄博市| 裕民县| 靖安县| 台州市| 察隅县| 平潭县| 讷河市| 望谟县| 东山县| 南丰县| 平利县| 崇明县| 吴江市| 泾川县| 北京市|