最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

分享到微博請遵守國家法律
喜德县| 灵川县| 漯河市| 孟连| 崇阳县| 探索| 仁怀市| 永登县| 任丘市| 怀来县| 昌吉市| 台湾省| 霸州市| 岑巩县| 卢龙县| 楚雄市| 大安市| 通化县| 安西县| 漳平市| 盐源县| 贵州省| 井冈山市| 佳木斯市| 天台县| 海淀区| 宾川县| 郯城县| 景宁| 肥西县| 乳源| 青岛市| 监利县| 巴林右旗| 宁强县| 郸城县| 建湖县| 临汾市| 蓝田县| 额尔古纳市| 靖江市|