CN120218158A 用于從經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)中去除掩膜的技術(shù)(輝達(dá)公司)_第1頁
CN120218158A 用于從經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)中去除掩膜的技術(shù)(輝達(dá)公司)_第2頁
CN120218158A 用于從經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)中去除掩膜的技術(shù)(輝達(dá)公司)_第3頁
CN120218158A 用于從經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)中去除掩膜的技術(shù)(輝達(dá)公司)_第4頁
CN120218158A 用于從經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)中去除掩膜的技術(shù)(輝達(dá)公司)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

(19)國家知識(shí)產(chǎn)權(quán)局地址美國加利福尼亞州用于從經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)中去除掩膜的技術(shù)本公開涉及用于從經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)中去以確定所述張量的被所述掩膜歸零的部分。然后,所述去掩蔽引擎從所述張量中去除這些部所述密集張量可以更快地評(píng)估與所述節(jié)點(diǎn)關(guān)聯(lián)2使得至少部分地基于第一神經(jīng)網(wǎng)絡(luò)部分的掩蔽輸出來生成所述第一神經(jīng)網(wǎng)絡(luò)部分的未掩蔽輸出,其中所述未掩蔽輸出的維數(shù)小于所述掩蔽輸出的維數(shù);使得所述未掩蔽輸出替換所述掩蔽輸出;使得執(zhí)行分散操作以將所述未掩蔽輸出的維數(shù)擴(kuò)展為與所述掩蔽輸出相對應(yīng)的維數(shù)。2.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述未掩蔽輸出與第一張量相關(guān)聯(lián),并且所述掩蔽輸出與第二張量相關(guān)聯(lián)。3.根據(jù)權(quán)利要求2所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中使得生成所述未掩蔽輸出包括:確定所述第一張量的第一部分,所述第一張量的第一部分對應(yīng)于包括在第一掩膜中的一個(gè)或更多個(gè)零,其中所述掩蔽輸出是基于所述第一張量和所述第一掩膜導(dǎo)出的;基于所述第一張量的所述第一部分生成所述第二張量;以及基于所述第二張量評(píng)估第一函數(shù)以生成所述未掩蔽輸出。4.根據(jù)權(quán)利要求3所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述第一掩膜將所述第一張量的所述第一部分清零,并且其中基于所述第一張量來評(píng)估所述第一函數(shù),以產(chǎn)生獨(dú)立于所述第一張量的所述第一部分的第一結(jié)果。5.根據(jù)權(quán)利要求3所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述第二張量僅包括所述第一張量的第二部分。6.根據(jù)權(quán)利要求3所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中處理器基于所述第二張量評(píng)估所述第一函數(shù)的速度比所述處理器基于所述第一張量評(píng)估所述第一函數(shù)的速度更快。7.根據(jù)權(quán)利要求2所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,使得所述未掩蔽輸出替換所述掩蔽輸出包括:用所述第二張量替換所述第一張量,其中所述第二張量的維數(shù)小于所述第一張量的維數(shù)。8.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中使得執(zhí)行所述分散操作包括:將一個(gè)或更多個(gè)零插入到所述未掩蔽輸出中。9.一種非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),其存儲(chǔ)程序指令,當(dāng)所述程序指令由至少一個(gè)處理器執(zhí)行時(shí),使得所述至少一個(gè)處理器至少:使得至少部分地基于第一神經(jīng)網(wǎng)絡(luò)層的掩蔽輸出來生成所述第一神經(jīng)網(wǎng)絡(luò)層的未掩蔽輸出,其中所述未掩蔽輸出的維數(shù)不同于所述掩蔽輸出的維數(shù);使得所述未掩蔽輸出替換所述掩蔽輸出;使得執(zhí)行第一操作以將所述未掩蔽輸出的維數(shù)縮放為與所述掩蔽輸出相對應(yīng)的維數(shù)。處理器,所述處理器執(zhí)行所述指令以至少:使得至少部分地基于第一神經(jīng)網(wǎng)絡(luò)層的掩蔽輸出來生成所述第一神經(jīng)網(wǎng)絡(luò)層的未掩蔽輸出,其中所述未掩蔽輸出的維數(shù)小于所述掩蔽輸出的維數(shù),使得所述未掩蔽輸出替換所述掩蔽輸出,以及使得執(zhí)行分散操作以將所述未掩蔽輸出的維數(shù)擴(kuò)展為與所述掩蔽輸出相對應(yīng)的維數(shù)。3用于從經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)中去除掩膜的技術(shù)[0001]分案申請的相關(guān)信息[0002]本申請是于2020年01月20日提交的申請?zhí)枮椤?02010065865.1”、發(fā)明名稱為“用于從經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)中去除掩膜的技術(shù)”的中國發(fā)明專利申請的分案申請。技術(shù)領(lǐng)域[0003]本公開大體上涉及神經(jīng)網(wǎng)絡(luò),并且更具體地涉及用于從經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)中去除掩膜的技術(shù)。背景技術(shù)[0004]“張量”是通常在線性代數(shù)應(yīng)用(例如機(jī)器學(xué)習(xí)和人工智能)中量、向量和矩陣是張量的示例。神經(jīng)網(wǎng)絡(luò)通常包括一個(gè)或更多個(gè)張量,在神經(jīng)網(wǎng)絡(luò)的執(zhí)行期間對張量進(jìn)行處理以執(zhí)行一個(gè)或更多個(gè)操作。通過訓(xùn)練過程修改神經(jīng)網(wǎng)絡(luò)中包含的給定張量的值,以使神經(jīng)網(wǎng)絡(luò)的一個(gè)或更多個(gè)當(dāng)前輸出接近一個(gè)或更多個(gè)目標(biāo)輸出。訓(xùn)練完成后,神經(jīng)網(wǎng)絡(luò)中包含的部分或全部張量可能會(huì)很大。與大張量相關(guān)的操作通常無法快速執(zhí)行。發(fā)明內(nèi)容[0005]在一個(gè)方面,描述了一種計(jì)算機(jī)實(shí)現(xiàn)的方法。該方法包括:使得至少部分地基于第一神經(jīng)網(wǎng)絡(luò)部分的掩蔽輸出來生成所述第一神經(jīng)網(wǎng)絡(luò)部分的未掩蔽輸出,其中所述未掩蔽輸出的維數(shù)小于所述掩蔽輸出的維數(shù);使得所述未掩蔽輸出替換所述掩蔽輸出;使得執(zhí)行分散操作以將所述未掩蔽輸出的維數(shù)擴(kuò)展為與所述掩蔽輸出相對應(yīng)的維數(shù)。[0006]在另一個(gè)方面,描述了一種非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)。該非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲(chǔ)程序指令,當(dāng)所述程序指令由至少一個(gè)處理器執(zhí)行時(shí),使得所述至少一個(gè)處理器至少:使得至少部分地基于第一神經(jīng)網(wǎng)絡(luò)層的掩蔽輸出來生成所述第一神經(jīng)網(wǎng)絡(luò)層的未掩蔽輸出,其中所述未掩蔽輸出的維數(shù)不同于所述掩蔽輸出的維數(shù);使得所述未掩蔽輸出替換所述掩蔽輸出;使得執(zhí)行第一操作以將所述未掩蔽輸出的維數(shù)縮放為與所述掩蔽輸出相對應(yīng)的維數(shù)。[0007]在又一個(gè)方面,描述了一種系統(tǒng)。該系統(tǒng)包括:存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)一個(gè)或更多個(gè)指令;以及處理器,所述處理器執(zhí)行所述指令以至少:使得至少部分地基于第一神經(jīng)網(wǎng)絡(luò)層的掩蔽輸出來生成所述第一神經(jīng)網(wǎng)絡(luò)層的未掩蔽輸出,其中所述未掩蔽輸出的維數(shù)小于所述掩蔽輸出的維數(shù),使得所述未掩蔽輸出替換所述掩蔽輸出,以及使得執(zhí)行分散操作以將所述未掩蔽輸出的維數(shù)擴(kuò)展為與所述掩蔽輸出相對應(yīng)的維數(shù)。附圖說明[0008]為了可以詳細(xì)理解各個(gè)實(shí)施例的上述特征的方式,可以通過參考各個(gè)實(shí)施例來對以上簡要概述的發(fā)明構(gòu)思進(jìn)行更具體的描述,其中示出了一些實(shí)施例在附圖中。然而,應(yīng)注4意,附圖僅示出了本發(fā)明構(gòu)思的典型實(shí)施例,因此不應(yīng)視為以任何方式限制范圍,并且存在其他等效的實(shí)施例。[0009]圖1示出了被配置為實(shí)現(xiàn)各種實(shí)施例的一個(gè)或更多個(gè)方面的系統(tǒng)。[0010]圖2示出了根據(jù)各種實(shí)施例的神經(jīng)網(wǎng)絡(luò)的圖形表示。[0011]圖3示出了根據(jù)各種實(shí)施例的節(jié)點(diǎn)如何基于輸入張量來評(píng)估函數(shù)以生成輸出張量的示例。[0012]圖4示出了根據(jù)各種實(shí)施例的節(jié)點(diǎn)如何基于掩蔽的輸入張量來評(píng)估函數(shù)以生成輸出張量的示例。[0013]圖5示出了根據(jù)各種實(shí)施例的節(jié)點(diǎn)如何基于輸入張量的密集版本來評(píng)估函數(shù)的示例。[0014]圖6示出了根據(jù)各種實(shí)施例的可以在其上傳播分散操作的相鄰節(jié)點(diǎn)。[0015]圖7示出了根據(jù)各種實(shí)施例的分散操作如何在圖6的相鄰節(jié)點(diǎn)之間傳播。[0016]圖8是根據(jù)各種實(shí)施例的用于從神經(jīng)網(wǎng)絡(luò)去除掩膜的方法步驟的流程圖。[0017]圖9是示出了配置為實(shí)現(xiàn)各種實(shí)施例的一個(gè)或更多個(gè)方面的計(jì)算機(jī)系統(tǒng)的框圖。[0018]圖10是根據(jù)各種實(shí)施例的包括在圖9的并行處理子系統(tǒng)中的并行處理單元(PPU)的框圖。[0019]圖11是根據(jù)各種實(shí)施例的包括在圖10的并行處理單元(PPU)中的通用處理集群具體實(shí)施方式[0020]在以下描述中,闡述了許多具體細(xì)節(jié)以提供對各種實(shí)施例的更透徹的理解。然而,對于本領(lǐng)域技術(shù)人員將顯而易見的是,可以在沒有一個(gè)或更多個(gè)這些具體細(xì)節(jié)的情況下實(shí)踐本發(fā)明構(gòu)思。[0021]如上所述,神經(jīng)網(wǎng)絡(luò)可包括在人工神經(jīng)網(wǎng)絡(luò)的執(zhí)行期間被處理以執(zhí)行一個(gè)或更多個(gè)操作的一個(gè)或更多個(gè)張量。張量可能非常大,因此在某些情況下無法快速處理。為了解決這個(gè)問題,可以對人工神經(jīng)網(wǎng)絡(luò)進(jìn)行“修剪(prun[0022]修剪神經(jīng)網(wǎng)絡(luò)通常涉及生成一個(gè)或更多個(gè)掩膜,該掩膜將神經(jīng)網(wǎng)絡(luò)中包括的一個(gè)或更多個(gè)張量的元素清零。盡管修剪減少了神經(jīng)網(wǎng)絡(luò)的整體大小,但修剪神經(jīng)網(wǎng)絡(luò)并不能顯著地和/或可靠地加速神經(jīng)網(wǎng)絡(luò)的推理時(shí)間。尤其是,仍會(huì)執(zhí)行涉及經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)的張量(至少部分被掩膜清零)的操作,即使這些操作產(chǎn)生的結(jié)果不會(huì)影響神經(jīng)網(wǎng)絡(luò)的最終推理輸出。[0023]本文公開的各種實(shí)施例包括一種用于從經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)中去除掩膜的技術(shù),其中經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)由節(jié)點(diǎn)的圖表示。圖中的給定節(jié)點(diǎn)包括至少一個(gè)張量(W)和相應(yīng)的掩點(diǎn)的輸出張量X。輸出張量X作為輸入提供給圖中的一個(gè)或更多個(gè)后續(xù)節(jié)點(diǎn)。[0024]在一個(gè)實(shí)施例中,為了去除施加到給定節(jié)點(diǎn)的掩膜M,用w表示的張量W的密集版本替換M·W.張量w的維數(shù)比W小,因此,涉及w的操作比那些涉及張量W的操作執(zhí)行得快得多。特別地,基于w的第一函數(shù)的評(píng)估速度比基于M·W的第一函數(shù)的評(píng)估速度更快?;趶埩縲的第一函數(shù)的評(píng)估會(huì)生成較小的輸出張量,表示為x。因?yàn)樯窠?jīng)網(wǎng)絡(luò)中的后續(xù)節(jié)點(diǎn)期望給定5節(jié)點(diǎn)提供較大維數(shù)的張量X的輸出,所以在后續(xù)節(jié)點(diǎn)中插入了分散操作,以便將零添加到張量x中,從而擴(kuò)展張量x以產(chǎn)生張量X(或等效維數(shù)的張量)。由于可以處理較少的數(shù)據(jù),因此可以以快速的方式執(zhí)行與給定節(jié)點(diǎn)相關(guān)聯(lián)的操作。分散操作可以通過圖形向前傳播、向著輸出傳播以加速其他功能。分散操作也可以與其他分散操作合并和/或吸收到后續(xù)節(jié)點(diǎn)中。通過所公開的技術(shù),可以修改包括一個(gè)或更多個(gè)掩膜的經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)以產(chǎn)生優(yōu)化的神經(jīng)網(wǎng)絡(luò)。[0025]本文描述的技術(shù)的至少一個(gè)技術(shù)優(yōu)勢是,優(yōu)化的神經(jīng)網(wǎng)絡(luò)比原始經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)更快地執(zhí)行推理操作。因此,優(yōu)化的神經(jīng)網(wǎng)絡(luò)非常適合在實(shí)時(shí)應(yīng)用(例如自動(dòng)駕駛車輛)中使用。本文描述的技術(shù)的另一個(gè)優(yōu)勢是,與經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)相比,優(yōu)化的神經(jīng)網(wǎng)絡(luò)可以具有較小的內(nèi)存占用,從而節(jié)省了內(nèi)存資源。這些技術(shù)優(yōu)勢代表了相對于現(xiàn)有技術(shù)方法的多項(xiàng)技術(shù)進(jìn)步。[0026]系統(tǒng)總覽[0027]圖1示出了被配置為實(shí)現(xiàn)各種實(shí)施例的一個(gè)或更多個(gè)方面的系統(tǒng)。如圖所示,在一個(gè)實(shí)施例中,神經(jīng)網(wǎng)絡(luò)優(yōu)化管線100包括訓(xùn)練引擎110,修剪引擎120和去掩蔽(demasking)[0028]在一個(gè)實(shí)施例中,訓(xùn)練引擎110生成并訓(xùn)練初始神經(jīng)網(wǎng)絡(luò)102以生成經(jīng)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)112。在訓(xùn)練期間,訓(xùn)練引擎110基于訓(xùn)練數(shù)據(jù)迭代地調(diào)整初始神經(jīng)網(wǎng)絡(luò)102中包括的一個(gè)或更多個(gè)張量以引起初始神經(jīng)網(wǎng)絡(luò)102的輸出可以更緊密地匹配目標(biāo)輸出。當(dāng)訓(xùn)練完成時(shí),經(jīng)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)112包括從初始神經(jīng)網(wǎng)絡(luò)102中包括的一個(gè)或更多個(gè)張量導(dǎo)出的一個(gè)或更多個(gè)張量。訓(xùn)練引擎110可以實(shí)施任何技術(shù)上可行的訓(xùn)練過程以生成經(jīng)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)112,包括反向傳播和/或梯度下降等。經(jīng)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)112通常能夠執(zhí)行推理操作,以基于訓(xùn)練數(shù)據(jù)中未包括的輸入數(shù)據(jù)來生成輸出數(shù)據(jù)。[0029]在一個(gè)實(shí)施例中,修剪引擎120修剪經(jīng)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)112以生成被掩蔽(masked)的神經(jīng)網(wǎng)絡(luò)122。修剪期間,修剪引擎120識(shí)別經(jīng)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)112中所包含的一個(gè)或更多個(gè)張量內(nèi)的冗余元素,并且然后生成導(dǎo)致那些特定元素乘以零(置零)的一個(gè)或更多個(gè)掩膜標(biāo)識(shí)的元素是冗余的,所以可以將那些元素置零而不會(huì)不利地影響被掩蔽的神經(jīng)網(wǎng)絡(luò)122的功能特性。以這種方式將冗余元素置零可以減少與處理被掩蔽的神經(jīng)網(wǎng)絡(luò)122中包含的部分或全部張量相關(guān)聯(lián)的計(jì)算負(fù)荷。[0030]在一個(gè)實(shí)施例中,訓(xùn)練引擎110和修剪引擎120彼此互操作以同時(shí)訓(xùn)練初始神經(jīng)網(wǎng)絡(luò)102和修剪初始神經(jīng)網(wǎng)絡(luò)102。例如,訓(xùn)練引擎110可以執(zhí)行第一訓(xùn)練以修改初始神經(jīng)網(wǎng)絡(luò)102的一部分,然后修剪引擎120可以執(zhí)行修剪以將一個(gè)或更多個(gè)掩膜插入到初始神經(jīng)網(wǎng)絡(luò)102的至少部分已訓(xùn)練版本中。以這種方式,訓(xùn)練引擎110和修剪引擎120可以協(xié)調(diào)操作以生成被掩蔽的神經(jīng)網(wǎng)絡(luò)122。[0031]在一個(gè)實(shí)施例中,去掩蔽引擎130使用被掩蔽的神經(jīng)網(wǎng)絡(luò)122執(zhí)行去掩蔽過程以生成優(yōu)化的神經(jīng)網(wǎng)絡(luò)132。在去掩蔽過程期間,去掩蔽引擎130從被掩蔽的神經(jīng)網(wǎng)絡(luò)122中去除先前由修剪引擎120引入的一個(gè)或更多個(gè)掩膜,如上所述,將各種其他修改應(yīng)用于被掩蔽的神經(jīng)網(wǎng)絡(luò)122以產(chǎn)生優(yōu)化的神經(jīng)網(wǎng)絡(luò)132。優(yōu)化的神經(jīng)網(wǎng)絡(luò)132具有與被掩蔽的神經(jīng)網(wǎng)絡(luò)122相同或相似的功能特性。但是,優(yōu)化的神經(jīng)網(wǎng)絡(luò)132可以執(zhí)行各種處理操作,比被掩蔽的神6經(jīng)網(wǎng)絡(luò)122可以執(zhí)行那些處理操作的速度更快,包括推理操作等等。[0032]在一個(gè)實(shí)施例中,初始神經(jīng)網(wǎng)絡(luò)102、經(jīng)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)112、被掩蔽的神經(jīng)網(wǎng)絡(luò)122和優(yōu)化的神經(jīng)網(wǎng)絡(luò)132中的任何一個(gè)都可以由通過一組邊緣耦合在一起的節(jié)點(diǎn)圖來表示。每個(gè)節(jié)點(diǎn)可以與一個(gè)或更多個(gè)張量以及基于一個(gè)或更多個(gè)張量評(píng)估的一個(gè)或更多個(gè)函數(shù)相關(guān)聯(lián)。圖2示出了可以表示圖1中所示的任何神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)圖。[0033]神經(jīng)網(wǎng)絡(luò)的示例圖表示[0034]圖2示出了根據(jù)各個(gè)實(shí)施例的神經(jīng)網(wǎng)絡(luò)的圖形表示。如圖所示,在一個(gè)實(shí)施例中,圖形表示200包括輸入210、節(jié)點(diǎn)NO、N1和N2的集合以及輸出220。節(jié)點(diǎn)NO處理輸入210以生成提供給節(jié)點(diǎn)N1的輸出。節(jié)點(diǎn)N1處理接收到的輸入以生成提供給節(jié)點(diǎn)N2的輸出。節(jié)點(diǎn)N2處理接收到的輸入以生成輸出220。這里,圖形表示200僅是可以表示神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)圖的一個(gè)示例。[0035]在一個(gè)實(shí)施例中,包括在圖形表示200中的每個(gè)節(jié)點(diǎn)對應(yīng)于面向神經(jīng)網(wǎng)絡(luò)的函數(shù)數(shù)或整流線性單元(ReLU)函數(shù)等。此外,可以基于一個(gè)或更多個(gè)輸入張量來評(píng)估與節(jié)點(diǎn)NO相關(guān)聯(lián)的函數(shù),以生成一個(gè)或更多個(gè)輸出張量。在一個(gè)實(shí)施例中,給定輸入張量可以與給定節(jié)點(diǎn)的入站邊緣相關(guān)聯(lián),并且給定輸出張量可以與給定節(jié)點(diǎn)的出站邊緣相關(guān)聯(lián)。[0036]在一個(gè)實(shí)施例中,圖形表示200代表初始神經(jīng)網(wǎng)絡(luò)102,并且圖形表示200的一個(gè)或更多個(gè)節(jié)點(diǎn)產(chǎn)生與目標(biāo)輸出不匹配的輸出張量。在以上結(jié)合圖1討論的訓(xùn)練過程期間,訓(xùn)練引擎110迭代地調(diào)整與一個(gè)或更多個(gè)節(jié)點(diǎn)相關(guān)聯(lián)的一個(gè)或更多個(gè)輸入張量,以使輸出張量與目標(biāo)輸出更緊密地匹配。[0037]在一個(gè)實(shí)施例中,圖形表示200表示已訓(xùn)練的神經(jīng)網(wǎng)絡(luò)112,并且圖形表示的一個(gè)或更多個(gè)節(jié)點(diǎn)對應(yīng)于至少部分冗余的張量。如本文所提到的,張量的“冗余”元素是對基于張量評(píng)估的函數(shù)的輸出沒有貢獻(xiàn)的元素。在以上結(jié)合圖1討論的修剪過程期間,修剪引擎120將掩膜合并到一個(gè)或更多個(gè)節(jié)點(diǎn)中,以便將相關(guān)聯(lián)的張量的冗余元素清零,從而生成被掩蔽的神經(jīng)網(wǎng)絡(luò)122。圖3-圖4示出了修剪引擎120如何將掩膜合并到節(jié)點(diǎn)中的示例。[0038]在一個(gè)實(shí)施例中,如上所述,圖形表示200表示被掩蔽的神經(jīng)網(wǎng)絡(luò)122,并且圖形表示200的一個(gè)或更多個(gè)節(jié)點(diǎn)包括將與那些節(jié)點(diǎn)相關(guān)聯(lián)的輸入張量的元素清零的掩膜。在以上結(jié)合圖1討論的去掩蔽過程期間,去掩蔽引擎130去除這些掩膜,并對一些或所有節(jié)點(diǎn)進(jìn)行各種其他修改,以生成優(yōu)化的神經(jīng)網(wǎng)絡(luò)132。優(yōu)化的神經(jīng)網(wǎng)絡(luò)132包括張量,這些張量的大小小于被掩蔽的神經(jīng)網(wǎng)絡(luò)122所包括的相應(yīng)張量的大小。因此,與被掩蔽的神經(jīng)網(wǎng)絡(luò)122相比,優(yōu)化的神經(jīng)網(wǎng)絡(luò)132可以更快地執(zhí)行。圖5-圖7示出了去掩蔽引擎130如何對節(jié)點(diǎn)進(jìn)行去掩蔽并執(zhí)行各種其他優(yōu)化操作的示例。[0039]修剪和去掩蔽過程的示例[0040]圖3示出了根據(jù)各種實(shí)施例的節(jié)點(diǎn)如何基于輸入張量來評(píng)估函數(shù)以生成輸出張量在已訓(xùn)練的神經(jīng)網(wǎng)絡(luò)112的圖形表示中,等等。在以上結(jié)合圖1-圖2討論的訓(xùn)練過程期間,訓(xùn)以是配置成對一個(gè)或更多個(gè)輸入張量進(jìn)行操作以生成一個(gè)或更多個(gè)輸出張量的任何技術(shù)上可行的函數(shù)。7[0041]在一個(gè)實(shí)施例中,修剪引擎120可以對節(jié)點(diǎn)300進(jìn)行修改以簡化對函數(shù)f?的評(píng)估,如下面結(jié)合圖4所更詳細(xì)描述的。[0042]圖4示出了根據(jù)各種實(shí)施例的節(jié)點(diǎn)如何基于被掩蔽的輸入張量來評(píng)估函數(shù)以生成節(jié)點(diǎn)400可以被包括在已訓(xùn)練的神經(jīng)網(wǎng)絡(luò)112的圖形表示中。在上面結(jié)合圖1-圖2討論的修剪過程期間,修剪引擎120基于圖3所示的節(jié)點(diǎn)300生成節(jié)點(diǎn)400。特別地,修剪引擎120識(shí)別[0043]在一個(gè)實(shí)施例中,評(píng)估f?(W·M)可能比評(píng)估f?(W)在計(jì)算上更有效。但是,實(shí)際上,實(shí)現(xiàn)掩膜M以將張量W的冗余元素置零可能不會(huì)顯著提高計(jì)算效率,因?yàn)樵趂?(W·M)的評(píng)估過程期間仍然要處理這些被置零的元素。為了解決這個(gè)問題,去掩蔽引擎130可以執(zhí)行去除掩膜并執(zhí)行其他優(yōu)化的技術(shù),如下面結(jié)合圖5-圖7更詳細(xì)地描述的。[0044]圖5示出了根據(jù)各種實(shí)施例的節(jié)點(diǎn)如何基于輸入張量的密集版本來評(píng)估函數(shù)的示張量X。在上述結(jié)合圖1-圖2所討論的去掩蔽過程期間,去掩蔽引擎130基于圖4的節(jié)點(diǎn)400生且比張量W具有更小的維數(shù)。為生成張量w,去掩蔽引擎130識(shí)別張量W的部分,該部分通過圖4的掩膜M歸零,然后將張量W的這些部分去除以產(chǎn)生張量w。剩余的張量w的部分與張量W的歸零部分互補(bǔ),并且可以被稱為與其對應(yīng)。當(dāng)執(zhí)行節(jié)點(diǎn)500時(shí),將基于張量w而不是張量W評(píng)估函數(shù)f?。由于張量w的維數(shù)小于張量W,因此f?(w)的評(píng)估速度明顯快于f?(W)。[0045]在一個(gè)實(shí)施例中,評(píng)估f?(w)產(chǎn)生張量x,其維數(shù)小于圖3-圖4的張量X的維數(shù)。在某些情況下,位于節(jié)點(diǎn)500后面的節(jié)點(diǎn)可能會(huì)期望作為輸入的張量具有與張量X相同的維數(shù)。為解決此問題,去掩蔽引擎130生成分散操作S?,以擴(kuò)展張量x生成張量X(或等效維數(shù)的張量)。分散操作S?將零插入到張量x中,對應(yīng)于張量W中的之前通過掩膜M清零并隨后被去除的那些元素,從而將張量x的維數(shù)恢復(fù)為與張量X相關(guān)聯(lián)的維數(shù)。因此,位于節(jié)點(diǎn)500后面的節(jié)點(diǎn)接收具有張量X的預(yù)期維數(shù)的張量作為輸入。[0046]在一個(gè)實(shí)施例中,代替插入零或除了插入零之外,分散操作S?可以將任何技術(shù)上可行的值插入給定張量。例如,假設(shè)函數(shù)f?是一個(gè)S型函數(shù),它將張量W中包含的零映射到張量X中包含的零。分散操作S?可以將1插入張量x中,以補(bǔ)償從張量W中去除的零。[0047]在一個(gè)實(shí)施例中,去掩蔽引擎130對包括在圖形表示200中的每個(gè)節(jié)點(diǎn)執(zhí)行上述技術(shù),從而將一個(gè)或更多個(gè)分散操作合并到該圖形表示中。然后,如以下結(jié)合圖6-圖7更詳細(xì)地描述的,去掩蔽引擎130將這些分散操作中的一個(gè)或更多個(gè)迭代地傳播到圖形表示200的輸出。[0048]圖6示出了根據(jù)各種實(shí)施例的可以在其上傳播分散操作的相鄰節(jié)點(diǎn)。如圖所示,圖5的節(jié)點(diǎn)500與后續(xù)節(jié)點(diǎn)600相鄰。節(jié)點(diǎn)600包括函數(shù)f?和張量Y?;趶埩縓評(píng)估函數(shù)f?以產(chǎn)生張量Y。去掩蔽引擎130將分散操作S?從節(jié)點(diǎn)500傳播到節(jié)點(diǎn)600,以減輕評(píng)估函數(shù)f?(X)的計(jì)算負(fù)擔(dān),如下面結(jié)合圖7進(jìn)行更詳細(xì)的描述。[0049]圖7示出了根據(jù)各種實(shí)施例的分散操作如何在圖6的相鄰節(jié)點(diǎn)之間傳播。如圖所8分散操作S?向前傳播到節(jié)點(diǎn)710來生成分散操作S?。因此,可以基于張量x而不是較大的張量X來評(píng)估函數(shù)f?。由于張量x的維數(shù)小于輸出張量X的維數(shù),因此相比于f?(X)來說,可以更快地評(píng)估f?(x)。[0050]在一個(gè)實(shí)施例中,評(píng)估f?(x)產(chǎn)生輸出張量y,其具有比圖6的輸出張量Y更小的維數(shù)。不過,隨后的節(jié)點(diǎn)可能期望輸入具有Y的維數(shù)。為了解決這個(gè)問題,分散操作S?將張量y擴(kuò)展為輸出張量Y(或等效維數(shù)的張量)。分散操作S?將零插入張量y中,對應(yīng)于通過掩膜清零的W和/或X的任何元素。因此,位于節(jié)點(diǎn)710之后的節(jié)點(diǎn)接收具有與Y相關(guān)聯(lián)的預(yù)期維數(shù)的輸入張量。[0051]在一個(gè)實(shí)施例中,去掩蔽引擎130通過將分散操作S?與先前與節(jié)點(diǎn)710關(guān)聯(lián)的任何分散操作進(jìn)行組合,來將圖6的分散操作S?向前傳播到節(jié)點(diǎn)710。例如,節(jié)點(diǎn)710可以包括由去掩蔽引擎130以上面結(jié)合圖5所述的方式而引入的分散操作。去掩蔽引擎130將分散操作S?與節(jié)點(diǎn)710相關(guān)聯(lián)的任何這樣的預(yù)先存在的分散操作進(jìn)行組合。通常,當(dāng)通過那些分散操作插入的零值沿同一維數(shù)對齊時(shí),可以組合任意兩個(gè)或更多個(gè)分散操作。例如,可以將兩個(gè)沿不同行插入零的分散操作組合在一起,以形成一個(gè)沿兩個(gè)行都插入零的分散操作。[0052]在一個(gè)實(shí)施例中,去掩蔽引擎130將圖6的分散操作S?向前傳播至節(jié)點(diǎn)710,然后將分散操作S?與先前與節(jié)點(diǎn)710相關(guān)聯(lián)的任何分散操作一起堆疊。當(dāng)這兩個(gè)分散操作沿不同的維數(shù)插入零時(shí),去掩蔽引擎130可傳播該給定的分散操作,然后將其與另一個(gè)分散操作相鄰地堆疊。例如,分散操作S?可以向前傳播以將一行零插入到輸出張量y中,并且去掩蔽引擎130可以將分散操作S?與將一列零插入到輸出張量y中的另一分散操作相鄰地堆疊。[0053]在一個(gè)實(shí)施例中,去掩蔽引擎130向前傳播分散操作S?,并使節(jié)點(diǎn)710吸收該分散操作。例如,參考圖6,假設(shè)分散操作S?在張量x中插入一列零以生成張量X。還假定函數(shù)f?是將張量X與輸入張量相乘的矩陣乘法運(yùn)算。因?yàn)椴迦氲絏中的一列零乘以輸入張量的相應(yīng)行,所以分散操作S?可以刪除,只要輸入張量的相應(yīng)行也被刪除即可。這種方法不改變輸出張量的維數(shù),但是消除了對分散操作S?的需要。[0054]在一個(gè)實(shí)施例中,除生成分散操作之外,或代替生成分散操作,去掩蔽引擎130生成聚集(gather)操作。例如,去掩蔽引擎130可以生成聚集操作,該聚集操作駐留在節(jié)點(diǎn)之后,并且選擇該節(jié)點(diǎn)的輸出張量的子集以傳遞到后續(xù)節(jié)點(diǎn)。因?yàn)楹罄m(xù)節(jié)點(diǎn)僅接收輸出張量的子集,所以與使用該輸出張量執(zhí)行的等效計(jì)算相比,可以更快地執(zhí)行涉及該子集的計(jì)算。去掩蔽引擎130也可以朝著圖形表示200的輸入傳播聚集操作,并且類似于去掩蔽引擎130如何結(jié)合、堆疊和/或吸收分散操作來組合、堆疊和/或吸收聚集操作。[0055]大體上參考圖3-圖7,在各個(gè)實(shí)施例中,結(jié)合這些圖描述的技術(shù)可以有利地應(yīng)用于生成優(yōu)化的神經(jīng)網(wǎng)絡(luò)132。所公開的技術(shù)可以應(yīng)用于任何技術(shù)上可行的神經(jīng)網(wǎng)絡(luò)和/或任何其技術(shù)上可行的圖形表示。所公開的技術(shù)還可以應(yīng)用于神經(jīng)網(wǎng)絡(luò)的任何部分,包括一個(gè)或更多個(gè)層、組件或元素等等。優(yōu)化的神經(jīng)網(wǎng)絡(luò)132可以比被掩蔽的神經(jīng)網(wǎng)絡(luò)122顯著更快地執(zhí)行推理操作,同時(shí)保留被掩蔽的神經(jīng)網(wǎng)絡(luò)122的功能特征。因此,相比于不能在推理速度上提供類似的提升的現(xiàn)有技術(shù)來說,所公開的技術(shù)具有顯著的進(jìn)步。[0056]對被掩蔽的神經(jīng)網(wǎng)絡(luò)進(jìn)行去掩蔽的過程[0057]圖8是根據(jù)各種實(shí)施例的用于從神經(jīng)網(wǎng)絡(luò)去除掩膜的方法步驟的流程圖。盡管結(jié)9合圖1-圖7的系統(tǒng)描述了方法步驟,但是本領(lǐng)域技術(shù)人員將理解,配置成以任何順序執(zhí)行方法步驟的任何系統(tǒng)都落在本實(shí)施例的范圍內(nèi)。[0058]如圖所示,方法800從步驟802開始,在步驟802中,去掩蔽引擎130標(biāo)識(shí)包括在被掩蔽的神經(jīng)網(wǎng)絡(luò)的圖形表示中的第一節(jié)點(diǎn)。在一個(gè)實(shí)施例中,如圖4所示,被掩蔽的神經(jīng)網(wǎng)絡(luò)的圖形表示可以是配置有一組被掩蔽的張量的圖2的圖形表示200。[0059]在步驟804,去掩蔽引擎130確定包括在第一節(jié)點(diǎn)中的第一張量、第一掩膜和第一函數(shù)。在一個(gè)實(shí)施例中,去掩蔽引擎130逐個(gè)節(jié)點(diǎn)遍歷神經(jīng)網(wǎng)絡(luò)節(jié)點(diǎn)的圖形表示,并迭代地處理每個(gè)節(jié)點(diǎn)。去掩蔽引擎130可以通過解析與第一節(jié)點(diǎn)相關(guān)聯(lián)的程序代碼來分析第一節(jié)點(diǎn)以提取第一張量、第一掩膜和第一函數(shù)。[0060]在步驟806,去掩蔽引擎130從第一節(jié)點(diǎn)去除第一掩膜。在一個(gè)實(shí)施例中,第一掩膜將第一張量的對第一函數(shù)的輸出沒有貢獻(xiàn)的元素歸零。這些元素可以被認(rèn)為是冗余的,可以安全地刪除,而不會(huì)不利地影響第一函數(shù)的輸出。圖1的修剪引擎120可以經(jīng)由上述修剪過程來生成第一掩膜。[0061]在步驟808,去掩蔽引擎130用第一張量的密集版本代替第一張量。如本文所指,術(shù)語“密集的(densified)”是指張量的較密集的形式。在一個(gè)實(shí)施例中,去掩蔽引擎130通過分析與張量相關(guān)聯(lián)的掩膜并識(shí)別由掩膜清零的張量部分來生成給定張量的密集版本。然后,去掩蔽引擎130可以從該張量中去除這些部分以產(chǎn)生該張量的更小、更密集的版本。與基于原始的較大張量進(jìn)行評(píng)估的給定函數(shù)相比,可以更快地評(píng)估基于張量的更小、更密集的版本評(píng)估的給定函數(shù)。[0062]在步驟810,去掩蔽引擎130在第一函數(shù)之后的第一節(jié)點(diǎn)附近添加第一分散操作。因?yàn)榈谝缓瘮?shù)接收張量的密集版本作為輸入,所以當(dāng)評(píng)估第一函數(shù)時(shí),與基于原始的較大張量評(píng)估第一函數(shù)時(shí)產(chǎn)生的輸出相比,第一函數(shù)可能會(huì)產(chǎn)生更小、更密集的輸出。在各個(gè)實(shí)施例中,第一分散操作將那個(gè)更小、更密集的輸出擴(kuò)展為具有與第一函數(shù)的先前輸出相關(guān)聯(lián)的維數(shù)。因此,向期望具有特定維數(shù)的輸入的下游節(jié)點(diǎn)提供具有該維數(shù)的輸入數(shù)據(jù)。[0063]在步驟812,去掩蔽引擎130將第一分散操作向圖形表示的輸出傳播。去掩蔽引擎130可以經(jīng)由一種或更多種不同的技術(shù)來傳播第一分散操作。在一個(gè)實(shí)施例中,去掩蔽引擎130從第一節(jié)點(diǎn)之后的位置去除第一分散操作,并且在第二節(jié)點(diǎn)之后的位置產(chǎn)生第二分散操作。然后,第二節(jié)點(diǎn)接收第一函數(shù)的更小、更密集的輸出作為輸入,因此可以更快地進(jìn)行評(píng)估。第二分散操作擴(kuò)展第二函數(shù)的輸出,以使其與與后續(xù)節(jié)點(diǎn)關(guān)聯(lián)的預(yù)期維數(shù)一致。在另一個(gè)實(shí)施例中,當(dāng)那些分散操作沿著相同的軸插入零時(shí),去掩蔽引擎130將第一分散操作與至少一個(gè)其他分散操作進(jìn)行組合。在另一個(gè)實(shí)施例中,當(dāng)那些分散操作沿著不同的軸插入零時(shí),去掩蔽引擎130將第一分散操作與至少一個(gè)其他分散操作進(jìn)行堆疊。在又一個(gè)實(shí)施例中,去掩蔽引擎130通過修改由后續(xù)節(jié)點(diǎn)處理的輸入張量來使后續(xù)節(jié)點(diǎn)吸收分散操作。[0064]總體上參考圖1-圖8,本領(lǐng)域技術(shù)人員將理解,可以通過計(jì)算機(jī)硬件和/或軟件的任何技術(shù)上可行的組合來實(shí)現(xiàn)所公開的技術(shù)。下面結(jié)合圖9-圖11更詳細(xì)地描述配置為執(zhí)行神經(jīng)網(wǎng)絡(luò)優(yōu)化管線100和/或優(yōu)化的神經(jīng)網(wǎng)絡(luò)132的示例計(jì)算機(jī)系統(tǒng)。[0065]示例硬件架構(gòu)[0066]圖9是示出了配置成實(shí)現(xiàn)各種實(shí)施例的一個(gè)或更多個(gè)方面的計(jì)算機(jī)系統(tǒng)900的框圖。在一些實(shí)施例中,計(jì)算機(jī)系統(tǒng)900是在數(shù)據(jù)中心或云計(jì)算環(huán)境中操作的服務(wù)器機(jī)器,其通過網(wǎng)絡(luò)提供可擴(kuò)展的計(jì)算資源作為服務(wù)。在一個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)900的各種元件執(zhí)行圖1的神經(jīng)網(wǎng)絡(luò)優(yōu)化管線100和/或優(yōu)化的神經(jīng)網(wǎng)絡(luò)132。[0067]在各個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)900包括但不限于中央處理單元(CPU)902和系統(tǒng)存儲(chǔ)器904,該系統(tǒng)存儲(chǔ)器904經(jīng)由存儲(chǔ)器橋905和通信路徑913耦合到并行處理子系統(tǒng)912。存儲(chǔ)器橋905是還經(jīng)由通信路徑906耦合到I/0(輸入/輸出)橋907,并且I/0橋907又耦合到交換機(jī)916。[0068]在一個(gè)實(shí)施例中,I/0橋907被配置為從諸如鍵盤或鼠標(biāo)的可選輸入設(shè)備908接收用戶輸入信息,并且將輸入信息經(jīng)由通信路徑906和存儲(chǔ)器橋905轉(zhuǎn)發(fā)到CPU902以進(jìn)行處理。在一些實(shí)施例中,計(jì)算機(jī)系統(tǒng)900可以是云計(jì)算環(huán)境中的服務(wù)器機(jī)器。在這樣的實(shí)施例中,計(jì)算機(jī)系統(tǒng)900可以不具有輸入設(shè)備908.相反,計(jì)算機(jī)系統(tǒng)900可以通過接收通過網(wǎng)絡(luò)發(fā)送并經(jīng)由網(wǎng)絡(luò)適配器918接收的消息形式的命令來接收等效輸入信息。在一個(gè)實(shí)施例中,交換機(jī)916配置為在I/0橋907與計(jì)算機(jī)系統(tǒng)900的其他組件(例如網(wǎng)絡(luò)適配器918和各種插入卡920和921)之間提供連接。[0069]在一個(gè)實(shí)施例中,I/0橋907耦合到系統(tǒng)盤914,系統(tǒng)盤914可以被配置為存儲(chǔ)內(nèi)容以及應(yīng)用和數(shù)據(jù),以供CPU902和并行處理子系統(tǒng)912使用。在一個(gè)實(shí)施例中,系統(tǒng)盤914提供用于應(yīng)用程序和數(shù)據(jù)的非易失性存儲(chǔ),可以包括固定的或可移除的硬盤驅(qū)動(dòng)器、閃存設(shè)清晰度DVD)或其他磁性、光學(xué)或固態(tài)存儲(chǔ)設(shè)備。在各種實(shí)施例中,諸如通用串行總線或其他端口連接、光盤驅(qū)動(dòng)器、數(shù)字多功能磁盤驅(qū)動(dòng)器、電影記錄設(shè)備等的其他組件也可以連接至I/0橋907。[0070]在各個(gè)實(shí)施例中,存儲(chǔ)器橋905可以是北橋芯片,并且I/0橋907可以是南橋芯片。另外,通信路徑906和913以及計(jì)算機(jī)系統(tǒng)900內(nèi)的其他通信路徑可以使用任何技術(shù)上合適的協(xié)議來實(shí)現(xiàn),包括但不限于AGP(加速圖形端口)、超傳輸(HyperTransport)或本領(lǐng)域已知的任何其他總線或點(diǎn)到點(diǎn)通信協(xié)議。[0071]在一些實(shí)施例中,并行處理子系統(tǒng)912包括將像素傳送到可選顯示設(shè)備910的圖形子系統(tǒng),該可選顯示設(shè)備可以是任何常規(guī)的陰極射線管、液晶顯示器、發(fā)光二極管顯示器等。在這樣的實(shí)施例中,并行處理子系統(tǒng)912包括為圖形和視頻處理而優(yōu)化的電路,包括例如視頻輸出電路。如下面結(jié)合圖8和圖9更詳細(xì)地描述的,這樣的電路可以合并跨并行處理子系統(tǒng)912內(nèi)所包括的一個(gè)或更多個(gè)并行處理單元(PPU),在此也稱為并行處理器。在其他實(shí)施例中,并行處理子系統(tǒng)912包括為通用和/或計(jì)算處理而優(yōu)化的電路。再次,這種電路可以合并跨并行處理子系統(tǒng)912內(nèi)所包括的一個(gè)或更多個(gè)PPU,其被配置為執(zhí)行這種通用和/或計(jì)算操作。在其他實(shí)施例中,并行處理子系統(tǒng)912內(nèi)所包括的一個(gè)或更多個(gè)PPU可以被配置為執(zhí)行圖形處理、通用處理和計(jì)算處理操作。系統(tǒng)存儲(chǔ)器904包括至少一個(gè)設(shè)備驅(qū)動(dòng)器,其被配置為管理并行處理子系統(tǒng)912內(nèi)的一個(gè)或更多個(gè)PPU的處理操作。[0072]在各個(gè)實(shí)施例中,并行處理子系統(tǒng)912可以與圖9的一個(gè)或更多個(gè)其他元件集成在一起以形成單個(gè)系統(tǒng)。例如,并行處理子系統(tǒng)912可以與CPU902和其他連接電路集成在單[0073]在一個(gè)實(shí)施例中,CPU902是計(jì)算機(jī)系統(tǒng)900的主處理器,其控制和協(xié)調(diào)其他系統(tǒng)11路徑913是串行總線(PCIExpress)鏈路,如本領(lǐng)域所公知的,其中專用通道被分配給每個(gè)PPU。也可以使用其他通信路徑。PPU有利地實(shí)現(xiàn)了高度并行的處理架構(gòu)。PPU可以配備有任何數(shù)量的本地并行處理存儲(chǔ)器(PP存儲(chǔ)器)。[0074]將意識(shí)到,本文所示的系統(tǒng)是說明性的,并且可以進(jìn)行變化和修改??梢愿鶕?jù)需要修改連接拓?fù)?,包括橋的?shù)量和布置,CPU902的數(shù)量以及并行處理子系統(tǒng)912的數(shù)量。例如,在一些實(shí)施例中,系統(tǒng)存儲(chǔ)器904可以直接到CPU902而不再通過存儲(chǔ)器橋905連接,并且其他設(shè)備將經(jīng)由存儲(chǔ)器橋905和CPU902與系統(tǒng)存儲(chǔ)器904通信。在其他實(shí)施例中,并行處理子系統(tǒng)912可以被連接到I/0橋907或直接連接到CPU902,而不是連接到存儲(chǔ)器橋905。在其他實(shí)施例中,I/0橋907和存儲(chǔ)器橋905可以集成到單個(gè)芯片中,而不是以一個(gè)或更多個(gè)分立設(shè)備的形式存在。最后,在某些實(shí)施例中,可能不存在圖9中所示的如,可以省去交換機(jī)916,并且網(wǎng)絡(luò)適配器918和插入卡920、921將直接連接到I/0橋907。[0075]圖10是根據(jù)各種實(shí)施例的包括在圖9的并行處理子系統(tǒng)912中的并行處理單元(PPU)1002的框圖。盡管圖10描繪了一個(gè)PPU1002,但是如上所述,并行處理子系統(tǒng)912可以包括任意數(shù)量的PPU1002。如圖所示,PPU1002耦合到本地并行處理(PP1002和PP存儲(chǔ)器1004可以是使用一個(gè)或更多個(gè)集成電路設(shè)備(例如可編程處理器、專用集成電路(ASIC)或存儲(chǔ)設(shè)備)或以任何其他技術(shù)上可行的方式來實(shí)現(xiàn)。[0076]在一些實(shí)施例中,PPU1002包括圖形處理單元(GPU),其可以被配置為實(shí)現(xiàn)圖形渲染管線以基于由CPU902和/或系統(tǒng)存儲(chǔ)器904提供的圖形數(shù)據(jù)執(zhí)行與生成像素?cái)?shù)據(jù)有關(guān)的各種操作。當(dāng)處理圖形數(shù)據(jù)時(shí),PP存儲(chǔ)器1004可以用作圖形存儲(chǔ)器,其存儲(chǔ)一個(gè)或更多個(gè)常規(guī)幀緩沖器以及如果需要的話還存儲(chǔ)一個(gè)或更多個(gè)其他渲染目標(biāo)。其中,PP存儲(chǔ)器1004可用于存儲(chǔ)和更新像素?cái)?shù)據(jù),并將最終像素?cái)?shù)據(jù)或顯示幀傳送到可選的顯示設(shè)備910以進(jìn)行顯示。在一些實(shí)施例中,PPU1002也可以被配置用于通用處理操作和計(jì)算操作。在一些實(shí)施例中,計(jì)算機(jī)系統(tǒng)900可以是云計(jì)算環(huán)境中的服務(wù)器機(jī)器。在這樣的實(shí)施例中,計(jì)算機(jī)系統(tǒng)900可以不具有顯示設(shè)備910。相反,計(jì)算機(jī)系統(tǒng)900可以通過經(jīng)由網(wǎng)絡(luò)適配器918在網(wǎng)絡(luò)上發(fā)送消息形式的命令來生成等效的輸出信息。[0077]在一些實(shí)施例中,CPU902是計(jì)算機(jī)系統(tǒng)900的主處理器,其控制和協(xié)調(diào)其他系統(tǒng)CPU902將用于PPU1002的命令流寫入數(shù)據(jù)結(jié)構(gòu)(在圖9或圖10中未明確示出),該數(shù)據(jù)結(jié)構(gòu)可以位于系統(tǒng)存儲(chǔ)器904,PP存儲(chǔ)器1004或CPU902和PPU1002均可訪問的另一個(gè)存儲(chǔ)位置中。將指向數(shù)據(jù)結(jié)構(gòu)的指針寫入命令隊(duì)列,在此也稱為推緩沖區(qū)(pushbuffer),以啟動(dòng)對數(shù)據(jù)結(jié)構(gòu)中的命令數(shù)據(jù)流的處理。在一個(gè)實(shí)施例中,PPU1002從命令隊(duì)列中讀取命令流,然后相對于CPU902的操作異步地執(zhí)行命令。在生成多個(gè)推緩沖區(qū)的實(shí)施例中,應(yīng)用程序可以通過設(shè)備驅(qū)動(dòng)程序?yàn)槊總€(gè)推緩沖區(qū)指定執(zhí)行優(yōu)先級(jí),以控制不同的推緩沖區(qū)的調(diào)度。[0078]在一個(gè)實(shí)施例中,PPU1002包括I/0(輸入/輸出)單元1005,其經(jīng)由通信路徑913和存儲(chǔ)器橋905與計(jì)算機(jī)系統(tǒng)900的其余部分通信。在一個(gè)實(shí)施例中,I/0單元1005生成分組(或其他信號(hào))以在通信路徑913上傳輸,并且還從通信路徑913接收所有傳入的分組(或其他信號(hào)),將傳入的分組指向到PPU1002的適當(dāng)組件。例如,可以將與處理任務(wù)有關(guān)的命令指向到主機(jī)接口1006,而可以將與存儲(chǔ)器操作有關(guān)的命令(例如,從PP存儲(chǔ)器1004讀取的或?qū)懭氲絇P存儲(chǔ)器1004的)指向到交叉開關(guān)單元1010。在一個(gè)實(shí)施例中,主機(jī)接口1006讀取每些實(shí)施例中,包括至少一個(gè)PPU1002的并行處理子系統(tǒng)912[0080]在一個(gè)實(shí)施例中,前端1012將從主機(jī)接口1006接收到的處理任務(wù)發(fā)送到任務(wù)/工理任務(wù)包括與要處理的數(shù)據(jù)相關(guān)聯(lián)的索引以及定義如何處理數(shù)據(jù)的狀態(tài)參數(shù)和命令。例行地執(zhí)行大量的線程(例如數(shù)百或數(shù)千),其中每個(gè)線程都是程序的一個(gè)實(shí)例。在各種應(yīng)用區(qū)單元1015耦合到駐留在PPM存儲(chǔ)器1004內(nèi)的一個(gè)或更多個(gè)動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(D許分區(qū)單元1015并行地寫入每個(gè)渲染目標(biāo)的部分,以有效地使用PP存儲(chǔ)器1004的可用帶[0083]在一個(gè)實(shí)施例中,給定的GPC1008可以處理要寫入PP存儲(chǔ)器1004內(nèi)的叉開關(guān)單元1010與存儲(chǔ)器接口1014通信,以從各種DRAM1020讀取或?qū)懭氲礁鞣NDRAM與I/0單元1005連接。在各種實(shí)施例中,交叉開關(guān)單元1010可以使用虛擬通道來分離GPC[0084]在一個(gè)實(shí)施例中,GPC1008可以被編程為執(zhí)行與各種各樣的應(yīng)用有關(guān)的處理任務(wù),包括但不限于線性和非線性數(shù)據(jù)變換、視頻和/或音頻數(shù)據(jù)的過濾、建模操作(例如,應(yīng)用物理定律以確定對象的位置、速度和其他屬性)、圖像渲染操作(例如,曲面細(xì)分著色器、頂點(diǎn)著色器、幾何著色器和/或像素/片段著色器程序)、常規(guī)計(jì)算操作等。在操作中,PPU1002被配置為將數(shù)據(jù)從系統(tǒng)存儲(chǔ)器904和/或PP存儲(chǔ)器1004傳輸?shù)揭粋€(gè)或更多個(gè)片上存儲(chǔ)器單元,處理數(shù)據(jù),并將結(jié)果數(shù)據(jù)寫回到系統(tǒng)存儲(chǔ)器904和/或PP存儲(chǔ)器1004.然后可以由其他系統(tǒng)組件(包括CPU902、并行處理子系統(tǒng)912中的另一個(gè)PPU1002、或計(jì)算機(jī)系統(tǒng)900中的另一個(gè)并行處理子系統(tǒng)912)訪問。[0085]在一個(gè)實(shí)施例中,并行處理子系統(tǒng)912中可以包括任意數(shù)量的PPU1002。例如,可以在單個(gè)插入卡上提供多個(gè)PPU1002,或者可以將多個(gè)插入卡連接到通信路徑913,或者可以將一個(gè)或更多個(gè)PPU1002集成到橋接芯片中。多PPU系統(tǒng)中的PPU1002可以彼此相同或不同。例如,不同的PPU1002可能具有不同數(shù)量的處理核心和/或不同數(shù)量的PP存儲(chǔ)器1004.在存在多個(gè)PPU1002的實(shí)施例中,那些PPU可以并行運(yùn)行以以(比使用單個(gè)PPU1002可能的)更高的吞吐量處理數(shù)據(jù)。包含一個(gè)或更多個(gè)PPU1002的系統(tǒng)可以以多種配置和形[0086]圖11是根據(jù)各種實(shí)施例的包括在圖10的并行處理單元(PPU)1002中的通用處理集理單元1115、預(yù)光柵(preROP)單元1125、工作分配交叉開關(guān)1130和L1.5高速緩存1135。[0087]在一個(gè)實(shí)施例中,GPC1008可以被配置為并行執(zhí)行大量線程以執(zhí)行圖形、通用處理和/或計(jì)算操作。如本文所使用的,“線程”是指針對特定的的實(shí)例。在一些實(shí)施例中,單指令多數(shù)據(jù)(SIMD)指令發(fā)布技術(shù)用于支持大量線程的并行執(zhí)行而無需提供多個(gè)獨(dú)立指令單元。在其他實(shí)施例中,使用被配置為向GPC1008內(nèi)的一組處理引擎發(fā)布指令的公共指令單元,單指令多線程(SIMT)技術(shù)用于支持并行執(zhí)行大量一般同步的線程。不同于其中所有處理引擎通常執(zhí)行相同指令的SIMD執(zhí)行機(jī)制,SIMT執(zhí)行允許不同的線程更容易地通過給定程序遵循不同的執(zhí)行路徑。本領(lǐng)域普通技術(shù)人員將理解,SIMD處理機(jī)制代表SIMT處理機(jī)制的功能子集。[0088]在一個(gè)實(shí)施例中,經(jīng)由管線管理器1105控制GPC1008的操作,管線管理器1105將從任務(wù)/工作單元1007內(nèi)的工作分配單元(未示出)接收到的處理任務(wù)分配給一個(gè)或更多個(gè)流式多處理器(SM)1110。管線管理器1105還可被配置為通過指定SM1110輸出的處理數(shù)據(jù)的目的地來控制工作分配交叉開關(guān)1130。括一組功能執(zhí)行單元(未示出),諸如執(zhí)行單元和負(fù)載存儲(chǔ)單元??梢詫μ囟ㄓ谌魏喂δ軋?zhí)行單元的處理操作進(jìn)行流水線處理,這使得能夠在前一條指令完成執(zhí)行之前發(fā)出用于執(zhí)行的新指令。可以提供給定SM1110內(nèi)的功能執(zhí)行單元的任何組合。在各種實(shí)施例中,功能執(zhí)行單元可以被配置為支持各種不同的運(yùn)算,包括整數(shù)和浮點(diǎn)算術(shù)(例如,加法和乘法)、比較數(shù)、指數(shù)函數(shù)和對數(shù)函數(shù)等)。有利地,相同的功能執(zhí)行單元可以被配置為執(zhí)行不同的運(yùn)算。大量(例如128等)不同的處理核心。每個(gè)核心可以包括全流水線、單精度、雙精度和/或混合精度處理單元,其包括浮點(diǎn)算術(shù)邏輯單元和整數(shù)算術(shù)邏輯單元。在一個(gè)實(shí)施例中,浮點(diǎn)算術(shù)邏輯單元實(shí)現(xiàn)用于浮點(diǎn)算術(shù)的IEEE754-2008標(biāo)準(zhǔn)。在一個(gè)實(shí)施例中,核心包括64個(gè)單精度(32位)浮點(diǎn)核心、64個(gè)整數(shù)核心、32個(gè)雙精度(64位)浮點(diǎn)核心和8個(gè)張量核心。[0091]在一個(gè)實(shí)施例中,張量核心被配置為執(zhí)行矩陣運(yùn)算,并且在一個(gè)實(shí)施例中,一個(gè)或更多個(gè)張量核心被包括在這些核心中。特別是,張量核心被配置為執(zhí)行深度學(xué)習(xí)矩陣算術(shù),例如用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練和推理的卷積運(yùn)算。在一個(gè)實(shí)施例中,每個(gè)張量核對4×4矩陣進(jìn)行[0092]在一個(gè)實(shí)施例中,矩陣乘法輸入A和B是16位浮點(diǎn)矩陣,而累加矩陣C和D可以是16位浮點(diǎn)或32位浮點(diǎn)矩陣。張量核心使用32位浮點(diǎn)累加對16位浮點(diǎn)輸入數(shù)據(jù)進(jìn)行操作。16位浮點(diǎn)乘法需要64個(gè)運(yùn)算,并產(chǎn)生全精度乘積,然后使用32位浮點(diǎn)加法將該全精度乘積與其他中間乘積進(jìn)行累加,以進(jìn)行4×4×4矩陣乘法。實(shí)際上,張量核心用于執(zhí)行更大的二維或公開了專門的矩陣加載,矩陣乘法和累加以及矩陣存儲(chǔ)操作,以有效地使用來自CUDA-C++程序的張量核心。在CUDA級(jí)別上,線程束(warp)級(jí)別的接口假定16×16大小的矩陣跨越了線程束的所有32個(gè)線程。[0093]神經(jīng)網(wǎng)絡(luò)嚴(yán)重依賴于矩陣數(shù)學(xué)運(yùn)算,并且復(fù)雜的多層網(wǎng)絡(luò)需要大量的浮點(diǎn)性能和帶寬以提高效率和速度。在各個(gè)實(shí)施例中,SM1110具有數(shù)千個(gè)處理核心,針對矩陣數(shù)學(xué)運(yùn)算進(jìn)行了優(yōu)化,并提供了數(shù)十至數(shù)百TFLOP于深度神經(jīng)網(wǎng)絡(luò)的人工智能和機(jī)器學(xué)習(xí)應(yīng)用所需的性能。。方根等)的多個(gè)特殊功能單元(SFU)。在一個(gè)實(shí)施例中,SFU可以包括被配置為遍歷分層樹數(shù)據(jù)結(jié)構(gòu)的樹遍歷單元。在一個(gè)實(shí)施例中,SFU可以包括被配置為執(zhí)行紋理圖過濾操作的紋理單元。在一個(gè)實(shí)施例中,紋理單元被配置為從存儲(chǔ)器中加載紋理圖(例如,紋理像素的2D陣列)并對該紋理圖進(jìn)行采樣以產(chǎn)生采樣的紋理值,以在由SM執(zhí)行的著色器程序中使用。在各個(gè)實(shí)施例中,每個(gè)SM1110還包括多個(gè)加載/存儲(chǔ)單元(LSU),其實(shí)現(xiàn)共享存儲(chǔ)器/L1高速緩存和SM1110內(nèi)部的寄存器文件之間的加載和存儲(chǔ)操作。[0095]在一個(gè)實(shí)施例中,每個(gè)SM1110被配置為處理一個(gè)或更多個(gè)線程組。如本文所使用一個(gè)線程被分配給SM1110內(nèi)的不同執(zhí)行單元。線程組可以包括比SM1110內(nèi)的執(zhí)行單元的數(shù)量更少的線程,在這種情況下,某些執(zhí)行在處理該線程組的周期中可能是空閑的。線程組還可以包括比SM1110內(nèi)的執(zhí)行單元的數(shù)量更多的線程,在這種情況下,處理可以在連續(xù)的時(shí)鐘周期內(nèi)進(jìn)行。由于每個(gè)SM1110可以同時(shí)支持多達(dá)G個(gè)線程組,因此可以在任意給定時(shí)[0096]另外,在一個(gè)實(shí)施例中,多個(gè)相關(guān)線程組可以在SM1110中同時(shí)處于活動(dòng)狀態(tài)(在執(zhí)行的不同階段)。線程組的這種集合在本文中稱為“合作線程陣列”("CTA”)或“線程陣個(gè)SM1110可以同時(shí)支持多個(gè)CTA,其中這種CTA處于將工作分配給SM1110的粒度上。[0097]在一個(gè)實(shí)施例中,每個(gè)SM1110包含一級(jí)(L1)高速緩存,或者使用SM1110外部的對應(yīng)L1高速緩存中的空間來支持(或其他)由執(zhí)行單元執(zhí)行的加載和存儲(chǔ)操作。每個(gè)SM1110還可以訪問在PPU1002中的所有GPC1008之間共享的二級(jí)(L2)高速緩存(未示出)。L2可以包括PP存儲(chǔ)器1004和/或系統(tǒng)存儲(chǔ)器904.應(yīng)該理解,PPU1002外部的任何存儲(chǔ)器都可以用作全局存儲(chǔ)器。此外,如圖11所示,一點(diǎn)五級(jí)(L1.5)高速緩存1135可包含在GPC1008中,并被配置為接收和保存SM1110通過內(nèi)存接口1014從內(nèi)存中請求的數(shù)據(jù)。這些數(shù)據(jù)可以包括但不限于指令、統(tǒng)一數(shù)據(jù)和常量數(shù)據(jù)。在GPC1008內(nèi)具有多個(gè)SM1110的實(shí)施例中,多個(gè)SM1110可以有益地共享高速緩存在L1.5高速緩存1135中的公共指令和數(shù)據(jù)。[0098]在一個(gè)實(shí)施例中,每個(gè)GPC1008可以具有關(guān)聯(lián)的存儲(chǔ)器管理單元(MMU)1120,其被配置為將虛擬地址映射為物理地址。在各種實(shí)施例中,MMU1120可以駐留在GPC1008內(nèi)或存儲(chǔ)器接口1014內(nèi)。MMU1120包括一組頁表項(xiàng)(PTE),其用于將虛擬地址映射到瓦片(tile)或存儲(chǔ)器頁的物理地址,并且可選地映射到高速緩存行索引。MMU1120可以包括可以駐留在SM1110內(nèi),一個(gè)或更多個(gè)L1高速緩存內(nèi)或GPC1008內(nèi)的地址轉(zhuǎn)換后備緩沖器(TLB)或高速緩存。耦合到紋理單元1115,用于執(zhí)行紋理映射操作,諸如確定紋理樣本位置,讀取紋理數(shù)據(jù)以及過濾紋理數(shù)據(jù)。[0100]在一個(gè)實(shí)施例中,每個(gè)SM1110將處理后的任務(wù)發(fā)送到工作分配交叉開關(guān)1130,以便將處理后的任務(wù)提供給另一GPC1008以進(jìn)行進(jìn)一步處理,或?qū)⑻幚砗蟮娜蝿?wù)經(jīng)由交叉開關(guān)單元1010存儲(chǔ)在L2高速緩存(未示出)、并行處理存儲(chǔ)器1004或系統(tǒng)存儲(chǔ)器904中。此外,預(yù)光柵操作(preROP)單元1125被配置為從SM1110接收數(shù)據(jù),將數(shù)據(jù)引導(dǎo)至分區(qū)單元1015內(nèi)的一個(gè)或更多個(gè)光柵操作(ROP)單元,執(zhí)行顏色混合優(yōu)化、組織像素顏色數(shù)據(jù)以及執(zhí)行地址轉(zhuǎn)換。[0101]將意識(shí)到,本文描述的架構(gòu)是說明性的,并且可以進(jìn)行變化和修改。除其他事項(xiàng)1125。此外,如上面結(jié)合圖6所述,PPU1002可以包括被配置為在功能上彼此相似的任意數(shù)量的GPC1008,使得執(zhí)行行為不取決于哪個(gè)GPC1008接收到特定的處理任務(wù)。此外,每個(gè)GPC1008獨(dú)立于PPU1002中的其他GPC1008操作以執(zhí)行用于一個(gè)或更多個(gè)應(yīng)用程序的任[0102]總之,去掩蔽引擎從由節(jié)點(diǎn)圖表示的經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)中去除掩膜。去掩蔽引擎分析與節(jié)點(diǎn)圖中的給定節(jié)點(diǎn)關(guān)聯(lián)的張量和掩膜,以確定該張量的被該掩膜歸零的部分。然后,去掩蔽引擎從張量中去除這些部分,以生成維數(shù)小于原始張量的密集張量。與原始張量相比,基于密集張量可以更快地評(píng)估與節(jié)點(diǎn)關(guān)聯(lián)的函數(shù)。去掩蔽引擎在節(jié)點(diǎn)之后添加分散操作,以便將密集張量的維數(shù)縮放為與原始張量關(guān)聯(lián)的維數(shù)。[0103]本文描述的技術(shù)的至少一個(gè)技術(shù)優(yōu)勢是,優(yōu)化的神經(jīng)網(wǎng)絡(luò)比原始經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)執(zhí)行推理操作更快。因此,優(yōu)化的神經(jīng)網(wǎng)絡(luò)非常適合在實(shí)時(shí)應(yīng)用(例如自動(dòng)駕駛車輛)中使用。本文描述的技術(shù)的另一個(gè)優(yōu)勢是,與經(jīng)修剪的神經(jīng)網(wǎng)絡(luò)相比,優(yōu)化的神經(jīng)網(wǎng)絡(luò)可以具有較小的內(nèi)存占用,從而節(jié)省了內(nèi)存資源。這些技術(shù)優(yōu)勢代表了相對于現(xiàn)有技術(shù)方法的多項(xiàng)技術(shù)進(jìn)步。[0104]1.一些實(shí)施例包括一種計(jì)算機(jī)實(shí)現(xiàn)的方法,該方法包括:使得至少部分地基于第一神經(jīng)網(wǎng)絡(luò)部分的掩蔽輸出來生成第一神經(jīng)網(wǎng)絡(luò)部分的未掩蔽(unmasked)輸出,其中所述未掩蔽輸出具有維數(shù)小于所述掩蔽輸出的維數(shù),使得所述未掩蔽輸出替換所述掩蔽輸出,使得執(zhí)行分散操作以將所述未掩蔽輸出的維數(shù)擴(kuò)展為與所述掩蔽輸出相對應(yīng)的維數(shù)。[0105]2.根據(jù)條款1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述未掩蔽輸出與第一張量相關(guān)聯(lián),并且所述掩蔽輸出與第二張量相關(guān)聯(lián)。[0106]3.根據(jù)條款1-2中任一項(xiàng)所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中使得生成所述未掩蔽輸出包括:確定所述第一張量的第一部分,所述第一張量的第一部分對應(yīng)于包括在第一掩蔽中的一個(gè)或更多個(gè)零,其中所述掩蔽輸出是基于所述第一張量和所述第一掩膜導(dǎo)出的,基于所述第一張量的所述第一部分生成所述第二張量,以及基于所述第二張量評(píng)估第一函數(shù)以生成所述未掩蔽輸出。[0107]4.根據(jù)條款1-3中的任一項(xiàng)所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述第一掩膜將所述第一張量的所述第一部分清零,并且其中基于所述第一張量來評(píng)估所述第一函數(shù)以產(chǎn)生為獨(dú)立于所述第一張量的所述第一部分的第一結(jié)果。[0108]5.根據(jù)條款1-4中任一項(xiàng)所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述第二張量僅包括所述第一張量的第二部分。[0109]6.根據(jù)條款1-5中的任一項(xiàng)所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中處理器基于所述第二張量評(píng)估所述第一函數(shù)的速度比所述處理器基于所述第一張量評(píng)估所述第一函數(shù)的速度[0110]7.根據(jù)條款1-6中任一項(xiàng)所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中使所述未掩蔽輸出替換所述掩蔽輸出包括:用所述第二張量替換所述第一張量,其中所述第二張量的維數(shù)小于所述第一張量的維數(shù)。[0111]8.根據(jù)條款1-7中任一項(xiàng)所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中使得執(zhí)行所述分散操作包括:將一個(gè)或更多個(gè)零插入所述未掩蔽輸出中。[0112]9.根據(jù)條款1-8中的任一項(xiàng)所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,還包括:將所述分散操作與關(guān)聯(lián)于一個(gè)或更多個(gè)神經(jīng)網(wǎng)絡(luò)層的一個(gè)或更多個(gè)附加分散操作相結(jié)合。[0113]10.根據(jù)條款1-9中的任一項(xiàng)所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,還包括:將所述分散操作吸收到位于所述第一神經(jīng)網(wǎng)絡(luò)部分之后的第二神經(jīng)網(wǎng)絡(luò)部分中。[0114]11.一些實(shí)施例包括一種非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),其存儲(chǔ)程序指令,當(dāng)所述程序指令由至少一個(gè)處理器執(zhí)行時(shí),使所述至少一個(gè)處理器至少:使得至少部分地基于所述第一神經(jīng)網(wǎng)絡(luò)層的掩蔽輸出來生成所述第一神經(jīng)網(wǎng)絡(luò)層的未掩蔽輸出,其中未掩蔽輸出的維數(shù)與掩蔽輸出的維數(shù)不同,使得所述未掩蔽輸出替換所述掩蔽輸出,使得執(zhí)行第一操作以將未掩蔽輸出的維數(shù)縮放到與所述掩蔽輸出相對應(yīng)的維數(shù)。[0115]12.根據(jù)條款11所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),其中所述第一操作包括第一分散操作,所述第一分散操作被執(zhí)行以將所述未掩蔽輸出的維數(shù)擴(kuò)展到與所述掩蔽輸出相對應(yīng)的維數(shù)。[0116]13.根據(jù)條款11-12中的任一項(xiàng)所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),還包括將所述第一分散操作與關(guān)聯(lián)于第二神經(jīng)網(wǎng)絡(luò)層的第二分散操作合并,所述第二神經(jīng)網(wǎng)絡(luò)層在神經(jīng)網(wǎng)絡(luò)層的序列中位于第一神經(jīng)網(wǎng)絡(luò)層之后。[0117]14.根據(jù)條款11-13中的任一項(xiàng)所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),其中所述第一操作包括第一聚集操作,所述第一聚集操作被執(zhí)行以將所述未掩蔽輸出的維數(shù)減小為與所述掩蔽輸出相對應(yīng)的維數(shù)。[0118]15.根據(jù)條款11-14中的任一項(xiàng)所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),還包括:將所述第一聚集操作與關(guān)聯(lián)于第二神經(jīng)網(wǎng)絡(luò)層的第二聚集操作合并,所述第二神經(jīng)網(wǎng)絡(luò)層在神經(jīng)網(wǎng)絡(luò)層的序列中位于所述第一神經(jīng)網(wǎng)絡(luò)層之前。[0119]16.根據(jù)條款11-15中的任一項(xiàng)所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),其中使得生成所述未掩蔽輸出包括:確定第一張量的第一部分,所述第一張量的第一部分與第一掩膜中包括的一個(gè)或更多個(gè)零相對應(yīng),其中所述掩蔽輸出是基于所述第一張量和所述第一掩膜導(dǎo)出的,基于所述第一張量的所述第一部分生成第二張量,以及基于所述第二張量評(píng)估第一函數(shù)以生成未掩蔽輸出。[0120]17.根據(jù)條款11-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論