本公開大體上涉及神經網絡,并且更具體地涉及用于從經修剪的神經網絡中去除掩膜的技術。
背景技術:
1、“張量”是通常在線性代數應用(例如機器學習和人工智能)中使用的數學構造。標量、向量和矩陣是張量的示例。神經網絡通常包括一個或更多個張量,在神經網絡的執(zhí)行期間對張量進行處理以執(zhí)行一個或更多個操作。通過訓練過程修改神經網絡中包含的給定張量的值,以使神經網絡的一個或更多個當前輸出接近一個或更多個目標輸出。訓練完成后,神經網絡中包含的部分或全部張量可能會很大。與大張量相關的操作通常無法快速執(zhí)行。因此,傳統(tǒng)的神經網絡通常不適合用于實時、低延遲的應用,例如自動車輛控制等。
技術實現思路
1、在一個方面,描述了一種計算機實現的方法。該方法包括:使得至少部分地基于第一神經網絡部分的掩蔽輸出來生成所述第一神經網絡部分的未掩蔽輸出,其中所述未掩蔽輸出的維數小于所述掩蔽輸出的維數;使得所述未掩蔽輸出替換所述掩蔽輸出;使得執(zhí)行分散操作以將所述未掩蔽輸出的維數擴展為與所述掩蔽輸出相對應的維數。
2、在另一個方面,描述了一種非暫時性計算機可讀介質。該非暫時性計算機可讀介質存儲程序指令,當所述程序指令由至少一個處理器執(zhí)行時,使得所述至少一個處理器至少:使得至少部分地基于第一神經網絡層的掩蔽輸出來生成所述第一神經網絡層的未掩蔽輸出,其中所述未掩蔽輸出的維數不同于所述掩蔽輸出的維數;使得所述未掩蔽輸出替換所述掩蔽輸出;使得執(zhí)行第一操作以將所述未掩蔽輸出的維數縮放為與所述掩蔽輸出相對應的維數。
3、在又一個方面,描述了一種系統(tǒng)。該系統(tǒng)包括:存儲器,所述存儲器存儲一個或更多個指令;以及處理器,所述處理器執(zhí)行所述指令以至少:使得至少部分地基于第一神經網絡層的掩蔽輸出來生成所述第一神經網絡層的未掩蔽輸出,其中所述未掩蔽輸出的維數小于所述掩蔽輸出的維數,使得所述未掩蔽輸出替換所述掩蔽輸出,以及使得執(zhí)行分散操作以將所述未掩蔽輸出的維數擴展為與所述掩蔽輸出相對應的維數。
1.一種計算機實現的方法,包括:
2.根據權利要求1所述的計算機實現的方法,其中所述未掩蔽輸出與第一張量相關聯,并且所述掩蔽輸出與第二張量相關聯。
3.根據權利要求2所述的計算機實現的方法,其中使得生成所述未掩蔽輸出包括:
4.根據權利要求3所述的計算機實現的方法,其中所述第一掩膜將所述第一張量的所述第一部分清零,并且其中基于所述第一張量來評估所述第一函數,以產生獨立于所述第一張量的所述第一部分的第一結果。
5.根據權利要求3所述的計算機實現的方法,其中所述第二張量僅包括所述第一張量的第二部分。
6.根據權利要求3所述的計算機實現的方法,其中處理器基于所述第二張量評估所述第一函數的速度比所述處理器基于所述第一張量評估所述第一函數的速度更快。
7.根據權利要求2所述的計算機實現的方法,其中,使得所述未掩蔽輸出替換所述掩蔽輸出包括:用所述第二張量替換所述第一張量,其中所述第二張量的維數小于所述第一張量的維數。
8.根據權利要求1所述的計算機實現的方法,其中使得執(zhí)行所述分散操作包括:將一個或更多個零插入到所述未掩蔽輸出中。
9.一種非暫時性計算機可讀介質,其存儲程序指令,當所述程序指令由至少一個處理器執(zhí)行時,使得所述至少一個處理器至少:
10.一種系統(tǒng),包括: