• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于手寫體數(shù)字識別的損失函數(shù)對比研究

      2022-07-07 01:55:44郝雅嫻孫艷蕊
      電子技術(shù)與軟件工程 2022年6期
      關(guān)鍵詞:對數(shù)交叉損失

      郝雅嫻 孫艷蕊

      (1.山西師范大學(xué) 山西省太原市 030000 2.東北大學(xué) 遼寧省沈陽市 110000)

      1 引言

      隨著科學(xué)水平的不斷提高,計(jì)算機(jī)視覺領(lǐng)域的不斷發(fā)展,我們進(jìn)入了智能化的時代。在計(jì)算機(jī)視覺中,圖像識別是核心的一部分,例如現(xiàn)如今比較流行的人臉識別算法,語義分割算法,行人識別等等計(jì)算機(jī)視覺任務(wù),在進(jìn)行圖像識別時,圖像識別算法設(shè)計(jì)選擇很重要,同樣重要的有損失函數(shù)的選擇。卷積神經(jīng)網(wǎng)絡(luò)在進(jìn)行訓(xùn)練時,樣本的真實(shí)值與預(yù)測值之間的差異除了與樣本自身信息有關(guān),還與損失函數(shù)的選擇有關(guān)。在機(jī)器學(xué)習(xí)算法中有很多損失函數(shù),但是沒有一個損失函數(shù)是可以做到完全適用于所有類型的數(shù)據(jù),因此損失函數(shù)的選擇尤為重要。本文首先介紹了兩種不同的損失函數(shù),交叉熵?fù)p失函數(shù)與負(fù)對數(shù)似然函數(shù)。分別對這兩個損失函數(shù)在公式上進(jìn)行了理論推導(dǎo),在數(shù)據(jù)上進(jìn)行了算法實(shí)驗(yàn),實(shí)驗(yàn)得出針對手寫體數(shù)據(jù)集交叉熵?fù)p失函數(shù)比負(fù)對數(shù)似然函數(shù)更優(yōu)。

      2 相關(guān)知識

      2.1 交叉熵?fù)p失函數(shù)

      由定義可知交叉熵描述的是兩個分布之間的差異,所以交叉熵的值越小表示兩個分布之間的差異越小。在神經(jīng)網(wǎng)絡(luò)的多分類問題中,交叉熵?fù)p失函數(shù)的公式定義為:

      其中用y表示樣本真實(shí)分布的概率,表示樣本預(yù)測概率,該公式描述了真實(shí)值與預(yù)測值之間的距離,交叉熵越小,預(yù)測越準(zhǔn)確,下面給出一個例子。

      舉例:有一個3分類問題:對手寫數(shù)字0-2進(jìn)行圖片分類,如果要對數(shù)字2進(jìn)行正確識別,在神經(jīng)網(wǎng)絡(luò)多分類問題中,樣本標(biāo)簽通常是經(jīng)過one-hot編碼,經(jīng)過編碼后樣本的真實(shí)值為(0,0,1),如果預(yù)測值的輸出越接近真實(shí)輸出,模型的效果就越好。假設(shè)現(xiàn)在有2個模型進(jìn)行預(yù)測,第一個模型的輸出為(0.5,0.5,0.8),第二個模型的輸出為(0.2,0.1,0.7),直觀上看第一個模型的預(yù)測更好,以為對數(shù)字2的預(yù)測第一個模型比第二個模型更接近真實(shí)預(yù)測值1,現(xiàn)在通過計(jì)算這兩個模型的交叉熵來對比哪個模型預(yù)測更加準(zhǔn)確:

      通過對以上例子交叉熵的計(jì)算,可以看出第一個模型所得的交叉熵?fù)p失函數(shù)值為0.097,第二個模型的交叉熵?fù)p失函數(shù)值為0.15,因此第二個的預(yù)測更加準(zhǔn)確。

      由于樣本的真實(shí)分布值為1,即y=1,所以以上交叉熵公式又可以簡化為:

      2.2 負(fù)對數(shù)似然損失函數(shù)

      對上式求最大似然估計(jì)即求最小化負(fù)對數(shù)似然估計(jì)

      通過觀察可知,交叉熵?fù)p失函數(shù)與負(fù)對數(shù)似然損失函數(shù)在公式的定義上是等價的:

      但是不同的是,對于交叉熵?fù)p失函數(shù),可以經(jīng)過onehot編碼后的樣本數(shù)據(jù),也可以處理不經(jīng)過one-hot編碼的數(shù)據(jù)。而極大似然函數(shù)只能處理不經(jīng)過one-hot編碼的數(shù)據(jù)。

      在pytorch中,nn.NLLLoss()函數(shù)表示負(fù)對數(shù)似然函數(shù), nn.CrossEntropyLoss()函數(shù)表示交叉熵?fù)p失函數(shù)。nn.NLLLoss()損失函數(shù)在使用one-hot編碼后會報錯,nn.CrossEntropyLoss()在使用one-hot編碼后不會報錯。

      3 基于手寫體數(shù)據(jù)集的對比研究

      3.1 數(shù)據(jù)集

      本文所用的MNIST數(shù)據(jù)集是在美國國家標(biāo)準(zhǔn)和技術(shù)研究所(NIST)提供的手寫數(shù)字字符NIST 數(shù)據(jù)庫基礎(chǔ)上發(fā)展而來的。數(shù)據(jù)集由包括60000*785個數(shù)值的訓(xùn)練集圖像樣本和包含10000 *785個數(shù)值的測試集樣本兩個部分組成。第一列為標(biāo)簽也就是0~9的手寫阿拉伯?dāng)?shù)字的圖像,第2列到第785列是第1列手寫阿拉伯?dāng)?shù)字的像素值。其中,訓(xùn)練集(training set)由來自250個不同的人手寫的數(shù)字構(gòu)成,其中50%是高中學(xué)生,50%是人口普查局的工作人員,測試集(test set)也是由同樣比例的手寫數(shù)字構(gòu)成現(xiàn)在我們來看訓(xùn)練集,它由785列構(gòu)成。每張圖像的分辨率是28×28。因此,784列表示對應(yīng)每個數(shù)字的所有像素,最后一列表明這些像素實(shí)際表示的數(shù)字。我們來看看圖像和數(shù)據(jù)集的預(yù)覽效果(參見圖1)。

      圖1:MNIST數(shù)據(jù)集

      3.2 實(shí)驗(yàn)結(jié)果分析

      首先建立一個卷積神經(jīng)網(wǎng)絡(luò)模型對手寫體數(shù)據(jù)進(jìn)行分類,本文定義的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,包含兩個卷積層conv1和conv2,每個層均包含卷積層與激活函數(shù)層、池化層。fc層包含兩個全連接層和激活函數(shù)層,out層由一個全連接層構(gòu)成,卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)圖如圖2所示。

      圖2:卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖

      本文實(shí)驗(yàn)對手寫體數(shù)據(jù)集訓(xùn)練Epoch=5輪,每輪進(jìn)行100次迭代之后輸出損失值,并同時計(jì)算出算法在測試集合上的精度值。

      圖3中的左圖是損失函數(shù)為交叉熵?fù)p失函數(shù)時所得到的訓(xùn)練集損失函數(shù)曲線,由圖可知,當(dāng)損失函數(shù)為交叉熵?fù)p失函數(shù)的時候,收斂曲線在剛開始的Epoch中進(jìn)行迭代時,損失值下降較快,隨著迭代此時與Epoch的次數(shù)增加,逐漸下降速度趨于平穩(wěn),在小幅波動情況下近似趨于收斂,總體呈下凸函數(shù)。

      圖3右圖是損失函數(shù)為負(fù)對數(shù)似然函數(shù)時所得到的訓(xùn)練集損失函數(shù)曲線,由圖可知,當(dāng)損失函數(shù)為負(fù)對數(shù)似然函數(shù)的時候,收斂曲線整體呈上凸函數(shù),在最開始的幾輪Epoch中,訓(xùn)練集的損失值變化不大,但隨著迭代次數(shù)的增加,訓(xùn)練集的損失值一直在下降,通過觀察損失函數(shù)值,可知其損失函數(shù)值為負(fù)值,說明在利用負(fù)對數(shù)似然函數(shù)作為損失值時,樣本x分到y(tǒng)類的預(yù)測概率值 大于1,雖然在理論上,我們知道 得值時不應(yīng)該大于1的,但是在樣本的訓(xùn)練中,因?yàn)?的取值是來源于樣本本身的標(biāo)簽屬性,所以在實(shí)際訓(xùn)練中, 的值是可以取到大于1的。

      圖3:交叉熵?fù)p失函數(shù)與負(fù)對數(shù)似然損失函數(shù)在訓(xùn)練集上的訓(xùn)練損失收斂曲線

      因此在對比了交叉熵?fù)p失函數(shù)于負(fù)對數(shù)似然損失函數(shù)在訓(xùn)練集上的損失值,我們可以得出結(jié)論:在進(jìn)行手寫體數(shù)字識別時,采用交叉熵?fù)p失函數(shù)比負(fù)對數(shù)似然函數(shù)更好一些,圖4所描述的測試集的精度值也說明這一點(diǎn)。

      圖4:交叉熵?fù)p失函數(shù)與負(fù)對數(shù)似然損失函數(shù)在測試集上的訓(xùn)練精度曲線

      圖4中藍(lán)色的曲線表示的是損失函數(shù)為交叉熵?fù)p失函數(shù)時所得到得在測試集上得精度曲線,綠色得曲線是損失函數(shù)為負(fù)對數(shù)似然函數(shù)時所得到得在測試集上得精度曲線,由圖可知,當(dāng)損失函數(shù)為交叉熵?fù)p失函數(shù)時,算法得在測試集上得精度隨著訓(xùn)練次數(shù)得增加不斷升高,聯(lián)系圖3得訓(xùn)練集損失圖像可知,卷積神經(jīng)網(wǎng)絡(luò)算法選擇損失函數(shù)為交叉熵?fù)p失函數(shù)時,算法對數(shù)據(jù)得擬合度較好。反之,在損失函數(shù)為負(fù)對數(shù)似然函數(shù)時,測試集上得精度值一直不增長,說明算法在數(shù)據(jù)集上得擬合程度不好,因此我們可以得出結(jié)論:在進(jìn)行數(shù)據(jù)分析時,損失函數(shù)得選擇尤為重要,直接影響算法整體效率

      4 總結(jié)

      本文針對兩種不同的損失函數(shù)進(jìn)行分析,即交叉熵?fù)p失函數(shù)與負(fù)對數(shù)似然函數(shù),雖然這兩個函數(shù)在公式上的定義是一致的,但是在實(shí)際多分類問題中,損失函數(shù)不同直接影響算法在數(shù)據(jù)集上的擬合效果。因此我們得出,數(shù)據(jù)集在進(jìn)行訓(xùn)練時候,樣本的真實(shí)值與預(yù)測值之間的差異除了與樣本自身信息有關(guān),還與損失函數(shù)的選擇有關(guān)。在機(jī)器學(xué)習(xí)算法中,我們定義過很多損失函數(shù),但是沒有一個損失函數(shù)是可以做到完全適用于所有類型的數(shù)據(jù),因此損失函數(shù)的選擇尤為重要。損失函數(shù)的選擇有多種因素構(gòu)成,最常見的是判斷數(shù)據(jù)是否具有離群點(diǎn),以及機(jī)器學(xué)習(xí)算法的選擇,在進(jìn)行梯度下降訓(xùn)練時候的時間效率,這也是今后進(jìn)一步的研究方向。

      猜你喜歡
      對數(shù)交叉損失
      少問一句,損失千金
      含有對數(shù)非線性項(xiàng)Kirchhoff方程多解的存在性
      指數(shù)與對數(shù)
      胖胖損失了多少元
      指數(shù)與對數(shù)
      “六法”巧解分式方程
      玉米抽穗前倒伏怎么辦?怎么減少損失?
      對數(shù)簡史
      連一連
      一般自由碰撞的最大動能損失
      抚远县| 涪陵区| 北流市| 绥阳县| 文成县| 六盘水市| 文水县| 漠河县| 略阳县| 蚌埠市| 资源县| 房山区| 徐州市| 广水市| 定州市| 吴江市| 江津市| 海晏县| 大悟县| 会同县| 钟祥市| 建始县| 海南省| 瓮安县| 蓝田县| 石河子市| 黑河市| 洮南市| 大城县| 天气| 奉贤区| 同德县| 阳泉市| 洛隆县| 广元市| 南平市| 淮南市| 木里| 昭苏县| 温州市| 毕节市|