隨著我們設(shè)計(jì)越來越深的網(wǎng)絡(luò),了解添加層如何增加網(wǎng)絡(luò)的復(fù)雜性和表現(xiàn)力變得勢在必行。更重要的是設(shè)計(jì)網(wǎng)絡(luò)的能力,其中添加層使網(wǎng)絡(luò)嚴(yán)格更具表現(xiàn)力而不僅僅是不同。為了取得一些進(jìn)展,我們需要一點(diǎn)數(shù)學(xué)知識(shí)。
import torch
from torch import nn
from torch.nn import functional as F
from d2l import torch as d2l
import tensorflow as tf
from d2l import tensorflow as d2l
8.6.1. 函數(shù)類
考慮F,特定網(wǎng)絡(luò)架構(gòu)(連同學(xué)習(xí)率和其他超參數(shù)設(shè)置)可以達(dá)到的功能類別。也就是說,對于所有 f∈F存在一些參數(shù)集(例如,權(quán)重和偏差),可以通過在合適的數(shù)據(jù)集上進(jìn)行訓(xùn)練來獲得。讓我們假設(shè)f?是我們真正想要找到的“真實(shí)”功能。如果它在F,我們的狀態(tài)很好,但通常我們不會(huì)那么幸運(yùn)。相反,我們將嘗試找到一些fF?這是我們最好的選擇 F. 例如,給定一個(gè)具有特征的數(shù)據(jù)集 X和標(biāo)簽y,我們可以嘗試通過解決以下優(yōu)化問題來找到它:
我們知道正則化 (Morozov,1984 年,Tikhonov 和 Arsenin,1977 年)可以控制復(fù)雜度F并實(shí)現(xiàn)一致性,因此更大的訓(xùn)練數(shù)據(jù)通常會(huì)帶來更好的效果fF?. 唯一合理的假設(shè)是,如果我們設(shè)計(jì)一個(gè)不同的、更強(qiáng)大的架構(gòu)F′我們應(yīng)該取得更好的結(jié)果。換句話說,我們期望fF′? 比“更好”fF?. 然而,如果 F?F′甚至不能保證這會(huì)發(fā)生。實(shí)際上,fF′?可能會(huì)更糟。如圖 8.6.1所示,對于非嵌套函數(shù)類,較大的函數(shù)類并不總是向“真實(shí)”函數(shù)靠攏f?. 例如,在圖 8.6.1的左側(cè),雖然F3更接近f?比F1,F6 遠(yuǎn)離并且不能保證進(jìn)一步增加復(fù)雜性可以減少距離f?. 對于嵌套函數(shù)類,其中 F1?…?F6在圖 8.6.1右側(cè),我們可以從非嵌套函數(shù)類中避免上述問題。
因此,只有當(dāng)較大的函數(shù)類包含較小的函數(shù)類時(shí),我們才能保證增加它們會(huì)嚴(yán)格增加網(wǎng)絡(luò)的表達(dá)能力。對于深度神經(jīng)網(wǎng)絡(luò),如果我們可以將新添加的層訓(xùn)練成恒等函數(shù) f(x)=x,新模型將與原始模型一樣有效。由于新模型可能會(huì)得到更好的解決方案來擬合訓(xùn)練數(shù)據(jù)集,因此添加的層可能更容易減少訓(xùn)練錯(cuò)誤。
這是He等人提出的問題。( 2016 )在處理非常深的計(jì)算機(jī)視覺模型時(shí)考慮。他們提出的殘差網(wǎng)絡(luò)( ResNet )的核心思想是,每個(gè)附加層都應(yīng)該更容易地包含身份函數(shù)作為其元素之一。這些考慮相當(dāng)深刻,但它們導(dǎo)致了一個(gè)非常簡單的解決方案,即殘差塊。憑借它,ResNet 在 2015 年贏得了 ImageNet 大規(guī)模視覺識(shí)別挑戰(zhàn)賽。該設(shè)計(jì)對如何構(gòu)建深度神經(jīng)網(wǎng)絡(luò)產(chǎn)生了深遠(yuǎn)的影響。例如,殘差塊已添加到循環(huán)網(wǎng)絡(luò)中 (Kim等人,2017 年,普拉卡什等。, 2016 年)。同樣,Transformers (
評論
查看更多