TW202215303A - 使用基於自我注意之神經網路處理影像 - Google Patents

使用基於自我注意之神經網路處理影像 Download PDF

Info

Publication number
TW202215303A
TW202215303A TW110136934A TW110136934A TW202215303A TW 202215303 A TW202215303 A TW 202215303A TW 110136934 A TW110136934 A TW 110136934A TW 110136934 A TW110136934 A TW 110136934A TW 202215303 A TW202215303 A TW 202215303A
Authority
TW
Taiwan
Prior art keywords
image
neural network
network
input
output
Prior art date
Application number
TW110136934A
Other languages
English (en)
Inventor
尼爾 馬修 丁摩斯 哈爾斯比
希爾文 蓋利
雅各布 D 烏斯克爾特
翟曉華
格爾奧 希伊戈爾德
盧卡斯 克勞斯 拜耳
亞歷山大 柯列斯尼科夫
迪爾克 魏森博恩
馬蒂亞斯 約翰尼斯 勞倫茲 明德爾
穆斯塔發 德赫尼
阿列克謝 杜梭維特斯基
湯瑪士 安特新納
Original Assignee
美商谷歌有限責任公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商谷歌有限責任公司 filed Critical 美商谷歌有限責任公司
Publication of TW202215303A publication Critical patent/TW202215303A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本發明係關於用於使用基於自我注意之神經網路來處理影像之方法、系統及設備,其包含經編碼於電腦儲存媒體上之電腦程式。該等方法之一者包含:獲得包括複數個像素之一或多個影像;針對該一或多個影像之各影像,判定該影像之複數個影像圖塊,其中各影像圖塊包括該影像之該等像素之一不同子集;針對該一或多個影像之各影像,處理該對應複數個影像圖塊以產生包括複數個輸入位置之各者處之一各自輸入元素的一輸入序列,其中複數個該等輸入元素對應於各自不同影像圖塊;及使用一神經網路來處理該等輸入序列以產生特性化該一或多個影像之一網路輸出,其中該神經網路包括一或多個自我注意神經網路層。

Description

使用基於自我注意之神經網路處理影像
本說明書係關於使用神經網路處理影像。
神經網路係採用非線性單元之一或多個層來預測一經接收輸入之一輸出的機器學習模型。除一輸出層之外,一些神經網路亦包含一或多個隱藏層。各隱藏層之輸出用作至網路中之下一層(即,下一隱藏層或輸出層)之輸入。網路之各層根據一組各自參數之當前值自一經接收輸入產生一輸出。
本說明書描述一種在一或多個位置中之一或多個電腦上實施為電腦程式之執行一基於自我注意之神經網路的系統,該基於自我注意之神經網路已透過訓練進行組態,以處理一或多個影像而產生特性化該一或多個影像之一網路輸出。
基於自我注意之神經網路可經組態以藉由跨表示一影像之一輸入序列之元素應用一自我注意機制而處理該輸入序列,從而產生一輸出序列。該輸入序列之至少一些元素可對應於輸入影像之各自圖塊(patch)。即,系統可將影像分割成圖塊,且處理各圖塊之像素以產生輸入序列之一各自元素。藉由將一自我注意機制應用於此等元素,基於自我注意之神經網路可注意(attend over)整個影像,從而利用局部及全域資訊兩者來產生輸出序列。
本說明書中所描述之標的可在特定實施例中實施以實現以下優點之一或多者。
一些現有系統使用基於自我注意之神經網路用於自然語言處理(NLP)用例,從而處理一文字序列以產生關於該文字序列之一預測。NLP領域中之基於自我注意之神經網路之一優點係可擴縮性;一般而言,一基於自我注意之神經網路之效能隨著神經網路之大小之增長而改良。然而,在將基於自我注意之神經網路應用於影像之現有系統中,情況並非如此;一般而言,基於自我注意之神經網路一直無法按比例調整至更大架構,且因此表現不如其他電腦視覺系統,例如,卷積(convolutional)神經網路。例如,一些此等現有系統並未跨一整個輸入影像應用自我注意,而是代替性地將自我注意應用於輸入影像之局部鄰域。因此,影像之一第一局部鄰域無法注意到(attend to)該影像之一第二局部鄰域。
使用本說明書中所描述之技術,一種系統可使用一基於自我注意之神經網路直接處理影像,且甚至在神經網路之大小增長時仍享有高效能。特定而言,本說明書中所描述之技術利用使用基於自我注意之神經網路可行之並行化以允許大規模訓練,從而導致影像處理任務之經改良準確度。作為一特定實例,本說明書中所描述之系統可關於包括1400萬至3億個影像之資料集進行訓練。此外,本說明書中所描述之例示性實施方案將全域自我注意應用於全尺寸影像。即,基於自我注意之神經網路跨一整個輸入影像應用自我注意,且因此影像之任何區可注意到該影像之任何其他區。
如本說明書中所描述,經組態以處理影像之一基於自我注意之神經網路可能需要遠更少之運算以達成相同於一最先進技術卷積神經網路之效能。即,針對一固定運算預算,基於自我注意之神經網路表現得比卷積神經網路更好。此係因為應用自我注意大體上比跨一整個影像對一核心進行卷積更具運算效率,因為自我注意機制能夠以少於卷積之運算注意到影像之不同區。作為一特定實例,如本說明書中所描述之一基於自我注意之神經網路可達成相當的或優於大規模卷積神經網路之效能,同時需要少2倍、5倍、10倍、100倍或1000倍之運算。
在隨附圖式及下文描述中闡述本說明書之標的之一或多項實施例之細節。標的之其他特徵、態樣及優點將從描述、圖式及發明申請專利範圍變得顯而易見。
本說明書描述一種在一或多個位置中之一或多個電腦上實施為電腦程式之經組態以執行一基於自我注意之神經網路的系統,該基於自我注意之神經網路經組態以處理一或多個影像,即,處理一或多個影像之像素之強度值,以產生特性化該一或多個影像之一網路輸出。
圖1係一例示性神經網路系統100之一圖。神經網路系統100係在一或多個位置中之一或多個電腦上實施為電腦程式的一系統之一實例,可在其中實施下文描述之系統、組件及技術。
神經網路系統100經組態以處理一影像102且產生表示關於該影像之一預測的一網路輸出152。神經網路系統100可經組態以使用影像102執行任何適當機器學習任務。下文論述例示性機器學習任務。
影像可為任何適當類型之影像。例如,影像可為二維影像,例如具有多個通道之二維影像(例如,一RGB影像)。作為另一實例,影像102可為例如藉由針對影像102中之各像素識別一連續波長光譜上之一分佈來表示該光譜的一高光譜影像。作為另一實例,影像102可為包含多個點之點雲,其中各點例如具有在一個三維或一更高維座標空間中之一各自座標;作為一特定實例,影像102可為由一LIDAR感測器產生之點雲。作為另一實例,影像102可為由一醫學成像裝置產生之一醫學影像;作為特定實例,影像102可為一電腦斷層掃描(CT)影像、一磁共振成像(MRI)影像、一超音波影像、一X射線影像、一乳房X光攝影影像、一螢光攝影(fluoroscopy)影像或一正子發射斷層掃描(PET)影像。
儘管下文描述涉及產生影像102之影像圖塊(其等各自包含影像102之各自「像素」),但應理解,神經網路系統100可產生包含影像102之具任何適當類型之分量的影像圖塊。例如,若影像102係點雲,則影像102之各影像圖塊可包含點雲中之點之一子集。作為另一實例,若影像102係包含一個三維體素網格中之多個體素的一MRI影像,則影像102之各影像圖塊可包含體素網格中之體素之一子集。
神經網路系統100包含一影像圖塊產生系統110、一影像圖塊嵌入系統120及一神經網路130。如下文更詳細地描述,神經網路130係包含一基於自我注意之子網路140之一基於自我注意之神經網路。
一基於自我注意之神經網路係包含一或多個自我注意神經網路層之一神經網路。一自我注意神經網路層經組態以接收一序列層輸入元素作為一輸入,且將一注意機制應用於該序列層輸入元素上以產生一序列層輸出元素。特定而言,針對各層輸入元素,自我注意神經網路層使用自層輸入元素導出之一或多個查詢來將注意機制應用於該序列層輸入元素中之層輸入元素上以產生一各自輸出元素。
在圖1中所描繪之實例中,神經網路130經組態以使用基於自我注意之子網路140處理包含表示影像102之各自圖塊之輸入元素的一輸入序列。因此,神經網路130可將一注意機制應用於輸入序列以便注意到影像102中之不同位置處之不同圖塊。將理解,影像102之圖塊可藉由基於自我注意之子網路140使用並行處理來處理,即,處理之至少部分可並行執行。
影像圖塊產生系統110經組態以處理影像102且產生影像102之 n個不同圖塊112a至112n。在本說明書中,一影像之一影像圖塊係影像之像素之一嚴格子集。一般而言,各影像圖塊112a至112n包含影像102之多個連續像素。即,針對各特定影像圖塊112a至112n及特定影像圖塊112a至112n中之任何像素對,存在自該對之第一像素至該對之第二像素之一路徑,其中該路徑僅包含特定影像圖塊112a至112n中之像素。
在一些實施方案中,影像102中之各像素包含於影像圖塊112a至112n之恰好一者中。在一些其他實施方案中,一或多個影像圖塊112a至112n可包含來自影像102之相同像素,即,影像圖塊之兩者或更多者可能重疊。代替性地或另外,來自影像102之一或多個像素可被影像圖塊112a至112n之各者排除在外,即,一或多個像素未包含於影像圖塊之任何者中。
影像圖塊112a至112n可以任何適當方式表示。例如,各影像圖塊112a至112n可被表示為包含影像圖塊112a至112n之像素之二維影像,例如,維持影像圖塊112a至112n中之像素之空間關係的一影像。
作為另一實例,各影像圖塊112a至112n可被表示為影像圖塊112a至112n之像素之一維序列。作為一特定實例,若影像圖塊112a至112n係影像102之一個二維區,則影像圖塊112a至112n可為二維區之一經平坦化版本,如下文更詳細地描述。作為另一特定實例,若影像圖塊112a至112n僅包含共用影像102之相同行或列之像素(即,若影像圖塊112a至112n係影像102之一維區),則影像圖塊112a至112n可被表示為維持像素之相對位置之一維序列。
作為另一實例,各影像圖塊112a至112n可被表示為影像圖塊112a至112n之一組無序像素。
下文參考圖3更詳細地描述例示性影像圖塊。
影像圖塊嵌入系統120經組態以獲得影像10之 n個影像圖塊112a至112n,且產生 n個影像圖塊112a至112n之各者之一各自嵌入122a至122n。各影像圖塊嵌入122a至122n表示對應影像圖塊112a至112n之像素,且可藉由處理對應影像圖塊112a至112n之像素來產生。在本說明書中,一嵌入係數值之一有序集合,其表示一特定嵌入空間中之一輸入。例如,一嵌入可為具有一固定維數之浮點或其他數值之一向量。
在其中各影像圖塊112a至112n被表示為影像102之二維子影像之一些實施方案中,各影像圖塊嵌入122a至122n係對應影像圖塊112a至112n之一經重塑版本。例如,影像圖塊嵌入系統120可「平坦化」各影像圖塊112a至112n以產生一影像圖塊嵌入122a至122n,影像圖塊嵌入122a至122n係包含影像圖塊112a至112n中之各像素的一維張量。作為一特定實例,若各影像圖塊112a至112n具有維數
Figure 02_image001
,其中 C表示影像之通道之數目(例如,針對一RGB影像,
Figure 02_image002
),則影像圖塊嵌入122a至122n可產生具有維數
Figure 02_image003
之一影像圖塊嵌入122a至122n。
在一些其他實施方案中,影像圖塊嵌入系統120可處理包含影像圖塊112a至112n之像素的一維張量(例如,影像圖塊112a至112n之一經平坦化版本)以產生對應影像圖塊嵌入122a至122n。如下文更詳細地描述,影像圖塊嵌入122a至122n待藉由神經網路130處理,神經網路130已透過訓練進行組態以接受具有一特定格式(例如,一特定大小及形狀)之輸入。因此,影像圖塊嵌入系統120可將各影像圖塊112a至112n投影至具有神經網路130所需之維數之一座標空間中。
例如,影像圖塊嵌入系統120可使用一線性投影處理各影像圖塊112a至112n:
Figure 02_image004
其中
Figure 02_image006
係第 i影像圖塊嵌入122a至122n, D係神經網路130所需之輸入維數,
Figure 02_image008
係包含第 i影像圖塊112a至112n之一維張量, N係第 i影像圖塊112a至112n中之像素之數目,
Figure 02_image010
係一投影矩陣,且
Figure 02_image012
係一線性偏項(bias term)。
在一些實施方案中,影像圖塊嵌入系統120使用一各自不同投影矩陣
Figure 02_image014
來產生各影像圖塊嵌入122a至122n;在一些其他實施方案中,影像圖塊嵌入系統120使用相同投影矩陣 E來產生各影像圖塊嵌入122a至122n。類似地,在一些實施方案中,影像圖塊嵌入系統120使用一各自不同偏項
Figure 02_image015
來產生各影像圖塊嵌入122a至122n;在一些其他實施方案中,影像圖塊嵌入系統120使用相同偏項
Figure 02_image015
來產生各影像圖塊嵌入122a至122n。
在一些實施方案中,線性投影係機器學習的。例如,在神經網路130之訓練期間,一訓練系統可同時更新線性投影之參數(例如,投影矩陣
Figure 02_image016
及偏項
Figure 02_image017
之參數)。作為一特定實例,訓練系統可藉由將神經網路130之一訓練誤差反向傳播通過神經網路130且至影像圖塊嵌入系統120,且使用隨機梯度下降判定關於經反向傳播誤差之更新來更新線性投影之參數。下文參考圖4更詳細地論述用於訓練神經網路130之例示性技術。
代替或補充運用一線性投影處理對應於影像圖塊112a至112n之一維張量,影像圖塊嵌入系統120可使用一嵌入神經網路來處理一維張量。例如,嵌入系統120可被視為神經網路130之一組件。即,嵌入系統120可為神經網路130之一嵌入子網路,其包含經組態以處理一維張量且產生影像圖塊嵌入122a至122n的一或多個神經網路層。
例如,嵌入神經網路可包含經組態以處理對應於影像圖塊112a至112n之一維張量的一或多個前饋神經網路層。
作為另一實例,嵌入神經網路可包含經組態以使用一自我注意機制同時處理對應於一各自影像圖塊112a至112n之各一維張量的一或多個自我注意神經網路層。下文更詳細地論述自我注意。
作為另一實例,嵌入神經網路可包含經組態以使用一卷積濾波器處理一影像圖塊112a至112n之一或多個卷積神經網路層。作為一特定實例,若影像圖塊112a至112n被表示為二維影像,則影像圖塊嵌入系統120可使用一或多個卷積神經網路層處理各(未平坦化)影像圖塊112a至112n以產生影像圖塊112a至112n之一特徵圖。接著,影像圖塊嵌入系統120可平坦化特徵圖且使用一線性投影處理經平坦化特徵圖,如上文所描述,以產生對應影像圖塊嵌入122a至122n。
作為另一特定實例,影像圖塊嵌入系統120可使用一或多個卷積神經網路層處理整個影像102以產生影像102之一特徵圖。特徵圖可為二維的(或如同像影像102,可為二維的,其中各元素具有多個通道)。接著,神經網路系統100可判定影像102之特徵圖之 n個圖塊,其中各圖塊包含特徵圖之一或多個元素。即,代替將影像102本身分割成影像圖塊112a至112n,影像圖塊產生系統110可分割由影像圖塊嵌入系統120之嵌入神經網路產生之影像102的特徵圖。作為一特定實例,各圖塊可包含特徵圖之一單一元素。接著,影像圖塊嵌入系統120可例如藉由將一線性投影應用於特徵圖之圖塊而自特徵圖之 n個圖塊產生影像圖塊嵌入122a至122n,如上文所描述。
在影像圖塊嵌入系統120產生影像圖塊嵌入122a至122n之後,神經網路系統100可自影像圖塊嵌入122a至122n產生待作為輸入提供至神經網路130的輸入序列。一般而言,輸入序列包含對應於各自影像圖塊嵌入122a至122n之一或多個輸入元素。例如,輸入序列可包含對應於 n個影像圖塊嵌入122a至122n之各者的一各自輸入元素。作為一特定實例,對應於 n個影像圖塊嵌入122a至122n之輸入元素可依對應影像圖塊112a至112n之光柵順序排序於輸入序列中。
在一些實施方案中,輸入序列中之對應於一影像圖塊嵌入122a至122n之輸入元素等於影像圖塊嵌入122a至122n本身。
在一些其他實施方案中,為了產生輸入序列之對應於一影像圖塊嵌入122a至122n之輸入元素,神經網路系統100可組合(i)影像圖塊嵌入122a至122n及(ii)表示對應於影像圖塊嵌入122a至122n之影像圖塊112a至112n之影像102內之位置的一位置嵌入。例如,神經網路系統100可將位置嵌入附加至影像圖塊嵌入122a至122n。藉由併入位置嵌入,神經網路系統100可對可由神經網路130利用以產生網路輸出152之空間資訊(例如,影像中之各影像圖塊之相對定位)進行編碼。
在一些實施方案中,對應於影像102之各影像圖塊112a至112n之位置嵌入係一整數。例如,影像102之左上角處之一第一影像圖塊可具有「1」之一位置嵌入,緊靠第一影像圖塊之右側之一第二影像圖塊可具有「2」之一位置嵌入,依此類推。
在一些其他實施方案中,位置嵌入係機器學習的。例如,在神經網路130之訓練期間,一訓練系統可藉由將神經網路130之一訓練誤差反向傳播通過神經網路130且至位置嵌入而同時學習位置嵌入。在一些此等實施方案中,訓練系統可針對各影像圖塊產生一各自不同位置嵌入(例如,假定由神經網路系統100接收之每一影像102被分割成相同數目之圖塊)。
在一些其他實施方案中,訓練系統可藉由針對影像102之兩個維度學習沿著該維度之各座標之一各自位置嵌入而將二維資訊併入至位置嵌入中。例如,若影像102被分割成影像圖塊112a至112n之二維網格,則訓練系統可產生兩組位置嵌入:包含沿著網格之垂直軸線之各索引之一各自位置嵌入的一第一組,及包含沿著網格之一水平軸線之各索引之一各自嵌入的一第二組。為了產生一特定影像圖塊112a至112n之位置嵌入,神經網路系統可例如藉由序連(concatenating)來組合(i)對應於沿著垂直軸線之特定影像圖塊112a至112n之索引的位置嵌入,及(ii)對應於沿著水平軸線之特定影像圖塊112a至112n之索引的位置嵌入。
在一些實施方案中,輸入序列中之輸入元素之一或多者不對應於影像102之任何影像圖塊112a至112n。例如,輸入序列可包含針對所有經接收影像102相同之一類別嵌入124。例如,類別嵌入124可為具有相同於影像圖塊嵌入122a至122n之維數之一張量。作為一特定實例,類別嵌入124可為全「0」或全「1」之一張量。
類別嵌入124可插入於輸入序列中之任何位置處;例如,類別嵌入124可為輸入序列之第一輸入元素,或輸入序列之最後一個輸入元素。
在一些實施方案中,類別嵌入124係機器學習的。例如,在神經網路130之訓練期間,一訓練系統可藉由將神經網路130之一訓練誤差反向傳播通過神經網路130且至類別嵌入124而同時學習類別嵌入124之參數。
在其中對應於各影像圖塊112a至112n之輸入元素包含對應於影像圖塊112a至112n之一位置嵌入的實施方案中,神經網路系統100亦可將一位置嵌入附加至類別嵌入124,例如,一機器學習之位置嵌入或一預定位置嵌入(例如,全「0」或全「1」之一位置嵌入)。
在產生輸入序列之後,神經網路系統130可將輸入序列作為輸入提供至神經網路130。神經網路130可處理輸入序列以產生網路輸出152。
特定而言,神經網路130可使用基於自我注意之子網路140處理輸入序列以產生一輸出序列。在一些實施方案中,神經網路130產生長度相同於輸入序列之一輸出序列,即,其包含輸入序列中之各輸入元素的一各自輸出元素。特定而言,輸出序列可包含自類別嵌入124產生之一類別輸出144及對應於輸入序列中之各影像圖塊嵌入122a至122n的一各自影像圖塊輸出142a至142n。
基於自我注意之子網路140可包含各自接收一層輸入序列且將一自我注意機制應用於層輸入序列以產生一層輸出序列的一或多個自我注意神經網路層。在一些此等實施方案中,基於自我注意之子網路130包含一序列之多個網路區塊,其等各自經組態以接收包含對應於輸入序列中之各輸入元素之一各自元素的一各自區塊輸入序列,且處理區塊輸入序列以產生包含輸入序列中之各輸入元素之一各自元素的一各自區塊輸出序列。各網路區塊可包含一或多個自我注意神經網路層。下文參考圖2更詳細地描述一例示性基於自我注意之神經網路。
在基於自我注意之子網路140產生輸出序列之後,神經網路130可將輸出序列之一或多個元素提供至一頭端子網路(head subnetwork) 150。
例如,頭端子網路150可經組態以處理 n個影像圖塊輸出142a至142n。作為一特定實例,頭端子網路150可組合 n個影像圖塊輸出142a至142n (例如,使用全域平均池化(average pooling))以產生一經組合圖塊輸出,接著,處理經組合圖塊輸出以產生網路輸出152。例如,頭端子網路150可使用一或多個前饋神經網路層及/或一線性分類器來處理經組合圖塊輸出。
作為另一實例,頭端子網路150可經組態以僅處理類別輸出144以產生網路輸出152。即,類別輸出144可表示影像102之一最終表示,且頭端子網路150可處理類別輸出144以產生表示關於影像102之預測的網路輸出152。例如,頭端子網路150可包含具有一或多個前饋神經網路層之一個多層感知器。
在一些實施方案中,基於自我注意之子網路140及頭端子網路150已關於一單一機器學習任務同時端對端地進行訓練。例如,一訓練系統可使用包含多個訓練實例之一訓練資料集執行一監督式訓練程序,該多個訓練實例各自包含一訓練輸入序列(其表示各自訓練影像)及一對應實況(ground-truth)網路輸出,即,表示神經網路130應回應於處理訓練輸入序列而產生之網路輸出152的一輸出。訓練系統可使用神經網路130處理訓練輸入序列以產生各自之經預測網路輸出,且根據(i)經預測網路輸出與(ii)對應實況網路輸出之間之一誤差來判定對頭端子網路150及基於自我注意之子網路140的一參數更新。例如,訓練系統可藉由將誤差反向傳播通過頭端子網路150及基於自我注意之子網路140兩者且執行隨機梯度下降而判定參數更新。
在一些其他實施方案中,基於自我注意之子網路130已使用轉移學習、使用不同於頭端子網路150之一或多個其他頭端子網路進行訓練,例如,該一或多個其他頭端子網路經組態以執行不同於頭端子網路150之各自機器學習任務。例如,一訓練系統可同時訓練基於自我注意之子網路130及一或多個其他頭端子網路,接著,移除一或多個其他頭端子網路且用頭端子網路150替換其等以產生神經網路130。接著,訓練系統可微調神經網路130以產生頭端子網路150之經訓練參數。下文參考圖4更詳細地論述用於使用轉移學習訓練神經網路130的例示性技術。
在一些實施方案中,神經網路包含一或多個額外子網路,例如,直接在基於自我注意之子網路140之前的一或多個子網路(例如,包含經組態以處理輸入序列之一或多個遞迴神經網路層的一子網路),或直接在基於自我注意之子網路130之後的一或多個子網路(例如,包含經組態以處理輸入序列之一或多個遞迴神經網路層的一子網路)。
在一些實施方案中,神經網路130不包含頭端子網路150。例如,神經網路系統100可經組態以產生影像102之一嵌入,其中嵌入包含(或產生自)影像圖塊輸出142a至142n及/或類別輸出144之一或多者。接著,神經網路系統100可將影像102之嵌入提供至一下游系統以供例如一或多個其他神經網路儲存或進一步處理。
例如,神經網路系統可經組態以自一外部系統接收影像102,且例如藉由將影像圖塊輸出142a至142n及/或類別輸出144提供回至外部系統而將影像102之嵌入提供回至系統。外部系統可經組態以針對各影像,使用一神經網路處理影像之嵌入以產生關於影像之一預測;例如,外部系統可包含頭端子網路150。作為一特定實例,神經網路系統100可經組態以自邊緣裝置(例如,行動電話、平板電腦或自動駕駛車輛)接收影像。接著,邊緣裝置可執行頭端子網路150以產生關於影像之預測。
如下文參考圖4更詳細地描述,在一些實施方案中,基於自我注意的子網路140包含比頭端子網路150多得多的參數,且因此執行起來可能在運算上更昂貴。因此,一邊緣裝置可能不具有運算資源以執行基於自我注意之子網路140。因此,神經網路系統100可經組態以執行基於自我注意之子網路140 (例如,使用諸如GPU或TPU之一或多個並行處理裝置),而邊緣裝置可執行實行頭端子網路150之相對運算廉價的任務。例如,神經網路系統100可被部署於雲端上且可經通信地連接至多個不同邊緣裝置。
神經網路系統100可經組態以執行關於影像102之任何適當的機器學習任務,例如,一分類任務、一回歸任務,或其等之一組合。
作為一特定實例,神經網路系統100可經組態以產生包含對應於多個種類之各者之一各自分數的一分類輸出。一種類之分數指示影像屬於該種類之可能性。在一些情況中,種類可為物件(例如,狗、貓、人及類似者)之類別,且若影像描繪經包含在對應於一種類之物件類別中的一物件,則該影像可屬於該種類。在一些情況中,種類可表示全域影像性質(例如,影像是否描繪白天或夜晚之一場景,或影像是否描繪夏天或冬天之一場景),且若影像具有對應於種類之全域性質,則其可屬於該種類。
作為另一特定實例,神經網路系統100可經組態以產生一像素級分類輸出,該像素級分類輸出針對影像中之各像素包含對應於多個種類之各者之一各自分數。針對一給定像素,一種類之分數指示像素屬於該種類之可能性。在一些情況中,種類可為物件之類別,且若一像素係經包含在對應於一種類之物件類別中之一物件上的部分,則該像素可屬於該種類。即,像素級分類輸出可為語義分割輸出。
作為另一特定實例,神經網路系統100可經組態以產生估計特性化影像之一或多個連續變數(即,其可假定無限多之可能數值)的一回歸輸出。在一特定實例中,回歸輸出可估計包圍影像中所描繪之各自物件之定界框的座標。一定界框之座標可係由定界框之頂點之(x, y)座標定義。例如,系統可輸出定界框之座標之兩者的(x, y)座標,或可輸出定界框之中心的座標以及定界框的高度及寬度。
在一些實施方案中,神經網路系統100可經組態以執行一視訊分析任務。例如,神經網路系統100可接收作為一視訊之視訊圖框之多個影像102,且可如上文所描述般處理各視訊圖框以例如藉由特性化視訊圖框是否描繪執行一特定動作之一人而產生特性化視訊圖框的一輸出。
在一些此等實施方案中,神經網路系統100在各自不同時間點處理各視訊圖框以產生各視訊圖框之一各自網路輸出152,各自網路輸出152特性化對該視訊圖框之一預測。例如,神經網路系統100可產生預測視訊圖框之一分類之一網路輸出152。在一些此等實施方案中,神經網路系統100組合對應於各自視訊圖框之多個網路輸出152以產生特性化視訊之一最終網路輸出。例如,神經網路系統100可使用一下游神經網路(例如,一遞迴神經網路)來處理各自網路輸出152。
在一些其他實施方案中,神經網路系統100同時處理各視訊圖框以產生特性化視訊之一單一網路輸出152。即,神經網路系統100可經組態以同時處理多個影像102。例如,神經網路系統100可針對神經網路130產生對應於各影像102之一各自輸入序列,如上文所描述。接著,神經網路系統100可例如藉由序連輸入序列而將多個輸入序列組合成一單一經組合輸入序列,且接著使用神經網路130來處理經組合輸入序列。
圖2係一例示性基於自我注意之神經網路200之一圖。基於自我注意之神經網路200可為經組態以處理一影像且產生關於影像之一預測的一神經網路系統(例如,上文關於圖1所描述之神經網路系統100)之一組件。特定而言,基於自我注意之神經網路可為經組態以產生表示關於影像之預測之一網路輸出的一神經網路(例如,上文關於圖1所描述之神經網路130)之一子網路。
基於自我注意之神經網路200經組態以處理表示一影像且包含多個輸入位置之各者處之一各自輸入元素的一輸入序列202。例如,輸入序列202可包含表示影像之多個影像圖塊之各者的各自輸入元素,如上文關於圖1所描述。基於自我注意之神經網路200經組態以處理輸入序列202,以產生具有相同於輸入序列202之長度之一輸出序列204,即,具有數目相同於輸入序列202中之輸入元素的輸出元素。
基於自我注意之神經網路200包含一序列之 M個網路區塊210a至210m,
Figure 02_image018
。各網路區塊210a至210m經組態以接收包含輸入序列202中之各輸入位置之一各自區塊輸入元素的一區塊輸入序列;即,各區塊輸入元素對應於輸入序列202之一各自輸入元素。各網路區塊210a至210m經組態以處理區塊輸入序列且產生包含輸入序列中之多個輸入位置之各者之一各自區塊輸出元素的一區塊輸出序列。即,在藉由神經網路200處理輸入序列時,各區塊輸入序列212保留輸入序列202中之元素之數目。
序列中之第一網路區塊210a可接收輸入序列202。序列中之各後續網路區塊210a至210m可接收由序列中之先前網路區塊210a至210m產生之各自區塊輸出序列作為區塊輸入序列。第 M及最後一個網路區塊210m之區塊輸出序列可為輸出序列204。
各網路區塊210a至210m包含一或多個自我注意神經網路層。參考第 k網路區塊210k,網路區塊210k包含一單一自我注意神經網路層220。在一些實施方案中,自我注意神經網路層220經組態以獲得區塊輸入序列212中之各自區塊輸入元素,且將一注意機制應用於區塊輸入元素上。在一些其他實施方案中,自我注意神經網路層220經組態以獲得區塊輸入序列212中之區塊輸入元素之各自經處理版本,且將注意機制應用於經處理區塊輸入元素上。例如,如圖2中所描繪,網路區塊210k可在將一個層正規化層之輸出提供至自我注意神經網路層220之前,首先將該層正規化層應用於區塊輸入序列212。代替性地或另外,網路區塊210k可在自我注意神經網路層220 (例如,一或多個逐元素前饋神經網路層)之前將一或多個其他神經網路層應用於區塊輸入序列212。
特定而言,針對對應於各特定輸入位置之各自區塊輸入元素(或其之經處理版本),自我注意神經網路層220經組態以使用自特定輸入位置處之區塊輸入元素導出之一或多個查詢來將一注意機制應用於輸入位置(即,其他區塊輸入位置,且在一些實施方案中其本身)處之區塊輸入元素上,以產生特定位置之一各自輸出。自我注意神經網路層220之輸出係包含對應於各輸入位置之一各自層輸出元素的一層輸出序列。
在一些實施方案中,基於自我注意之神經網路200中之一些或所有自我注意神經網路層(例如,圖2中所描繪之自我注意神經網路層220)係多頭(multi-head)自我注意神經網路層。多頭自我注意神經網路層並行應用 h個不同注意機制以產生層各自序列之輸出元素,且接著組合多個序列之層輸出元素以產生層輸出元素之一最終序列。
在一些實施方案中,基於自我注意之神經網路200之一些或所有自我注意神經網路層(例如,圖2中所描繪之自我注意神經網路層220)將區塊輸入序列中之各自區塊輸入元素之位置資訊併入至注意機制中。
例如,當關於一特定區塊輸入元素應用注意時(即,當產生對應於特定區塊輸入元素之各自層輸出元素時),自我注意神經網路層可識別表示對應於影像內之特定區塊輸入元素之影像圖塊之位置的一注意位置嵌入。例如,對應於各影像圖塊之注意位置嵌入可相同於併入至輸入序列202中之位置嵌入。
如此,當產生對應於特定區塊輸入元素之各自層輸出元素時,自我注意神經網路層可例如循序地或並行地執行兩個不同注意運算:(i)一第一注意運算,其中自特定區塊輸入元素產生之一查詢注意到自各自區塊輸入元素產生之一組關鍵點(key) (即,上文所描述之注意機制);及(ii)一第二注意運算,其中自特定區塊輸入元素之注意位置嵌入產生之一查詢注意到自各自區塊輸入元素之注意位置嵌入產生之一組關鍵點。接著,自我注意神經網路層可組合兩個注意運算之輸出,以例如藉由判定兩個注意運算之輸出之總和而產生特定區塊輸入元素之一最終層輸出元素。
作為另一實例,當關於一特定區塊輸入元素應用注意時,自我注意神經網路層可判定(i)特定區塊輸入元素與(ii)各其他區塊輸入元素之間之各自偏移。例如,在區塊輸入序列內相鄰之區塊輸入元素可具有「1」之一偏移,等等。
自我注意神經網路層可識別對應於各偏移之一各自偏移嵌入。例如,可在神經網路200之訓練期間機器學習對應於各偏移之偏移嵌入,例如,如上文關於併入至輸入序列202中之位置嵌入所描述。
如此,自我注意神經網路層可執行如上文所描述之兩個注意運算,惟在第二注意運算期間使用偏移嵌入而非注意位置嵌入除外。
在一些實施方案中,網路區塊210a至210m之一或多者包含組合一自我注意神經網路層之輸出與自我注意神經網路層之輸入的一殘差連接層。代替性地或另外,一或多個網路區塊210a至210m可包含將層正規化應用於一自我注意神經網路層之輸入及/或輸出的一個層正規化層。此等層在圖1中被稱為「正規化(Norm)」操作。
在一些實施方案中,一或多個網路區塊210a至210m包含一或多個逐位置前饋神經網路層。例如,第 k網路區塊210k包含前饋神經網路層230。前饋層230經組態以針對輸入序列202之各輸入位置接收該位置處之一輸入元素,且將一序列變換應用於該位置處之輸入元素以產生該位置之一輸出元素。例如,該序列變換可包含各自藉由一激勵函數(activation function) (例如,一非線性逐元素激勵函數,例如,一ReLU激勵函數)分開之兩個或更多個經學習線性變換。作為一特定實例,前饋神經網路可為包含一個、兩個或更多個前饋神經網路層之多層感知器。由逐位置前饋層230接收之輸入元素可為在自我注意神經網路層220之後之一個層正規化層的輸出,或在不存在層正規化層時,由逐位置前饋層230接收之輸入元素可為自我注意神經網路層220本身之輸出。
在一些實施方案中,網路區塊210a至210m之一或多者包含組合一逐位置前饋神經網路層之輸出與至逐位置前饋神經網路層之輸入的一殘差連接層。
如上文所描述,在一些實施方案中,輸入序列202之各輸入元素包含或已產生自一各自位置嵌入。代替或補充將一位置嵌入併入至輸入序列202之輸入元素,基於自我注意之神經網路200可將位置嵌入併入至網路區塊210a至210m之一或多者之各自區塊輸入序列212的區塊輸入元素。例如,在處理各網路區塊210a至210m之各自區塊輸入序列212之前,基於自我注意之神經網路可將一各自位置嵌入附加至區塊輸入序列212之各區塊輸入元素,例如,一機器學習之位置嵌入。在一些實施方案中,各網路區塊210a至210m使用一組各自不同之經學習位置嵌入。在一些其他實施方案中,各網路區塊210a至210m使用相同組之經學習位置嵌入。
在產生輸出序列204之後,基於自我注意之神經網路200可將輸出序列204提供至一或多個下游系統。例如,自我注意神經網路200可將輸出序列204提供至一或多個頭端神經網路以產生對各自機器學習任務之預測,如上文關於圖1所描述。作為另一實例,基於自我注意之神經網路200可將輸出序列204 (其可表示對應於輸入序列202之影像之一嵌入)提供至一資料庫或一或多個下游機器學習模型以進行進一步處理。
圖3繪示分割成影像圖塊之例示性影像310、320、330、340、350及360。
影像310至360可作為輸入提供至經組態以處理影像310至360以產生關於影像310至360之一預測的一神經網路系統,例如上文關於圖1所描述之神經網路系統100。神經網路系統可包含將影像310至360分割成多個影像圖塊之一影像圖塊產生系統,例如上文關於圖1所描述之影像圖塊產生系統110。接著,可藉由一基於自我注意之神經網路處理影像圖塊或自影像圖塊產生之一網路輸入以產生關於影像之預測。
影像310、320、330、340、350及360描繪將影像分割成影像圖塊之不同可能性。特定而言,在圖3中,各影像310被描繪為分割成各自在視覺上不同,即,使用不同陰影或影線之一組多個影像圖塊。一般而言,一影像產生系統將經組態以根據相同方案(schema)分割所有經接收影像。即,相同影像產生系統不一定如所描繪般分割影像310、320、330、340、350及360之各者,因為影像已根據不同方案進行分割。
如第一影像310中所描繪,在一些實施方案中,影像圖塊產生系統可產生各自具有相同大小及形狀之影像圖塊,例如,各影像圖塊可為一矩形。此外,在一些實施方案中,影像圖塊產生系統可分割第一影像310使得每一像素係恰好一個影像圖塊之一成員。作為一特定實例,如圖3中所描繪,影像圖塊可表示相同大小矩形之一網格。作為另一特定實例,影像圖塊可表示相同大小六邊形之一網格。
如第二影像320中所描繪,在一些實施方案中,影像圖塊產生系統可產生具有不同大小之影像圖塊。
如第二影像330中所描繪,在一些實施方案中,影像圖塊產生系統可分割第三影像330使得一些像素係多個不同影像圖塊之成員。
如第四影像340中所描繪,在一些實施方案中,影像圖塊產生系統可分割第四影像340使得一些像素並非任何影像圖塊之成員。例如,影像產生系統可使用一機器學習模型處理第四影像340以識別一或多個所關注區,且影像圖塊產生系統可針對各經識別之所關注區產生一各自圖塊。例如,機器學習模型可經組態以識別一或多個像素,且影像圖塊產生系統可產生以各經識別像素為中心之一各自圖塊。
如第五影像350中所描繪,在一些實施方案中,影像圖塊產生系統可產生任意形狀之影像圖塊。即,不要求影像圖塊為矩形。例如,影像產生系統可使用一機器學習模型處理第五影像350,該機器學習模型經組態以例如藉由為第五影像350中之各像素指派一各自類別而分割第五影像350。接著,影像圖塊產生系統可針對已被機器學習模型指派相同類別之各組連續像素產生一各自圖塊。
如第六影像360中所描繪,在一些實施方案中,影像圖塊產生系統可產生包含影像之各像素之一維空間填充曲線。接著,影像圖塊產生系統可分割一維空間填充曲線以產生一組一維影像圖塊。作為一特定實例,影像圖塊產生系統可將影像之各行或列分割成該行或列之像素的 n個子序列,使得各子序列表示一影像圖塊。
儘管影像310至360在圖3中被描繪為二維影像(或為二維之具有多個通道之影像,例如,RGB影像),但一般而言,神經網路系統可經組態以產生對任何類型之影像之預測,如上文關於圖1所描述。
圖4係一例示性訓練系統400之一圖。訓練系統400係在一或多個位置中之一或多個電腦上實施為電腦程式的一系統之一實例,可在其中下文描述之系統、組件及技術。
訓練系統400經組態以訓練一基礎神經網路420以執行一第一機器學習任務,且訓練一或多個任務神經網路450以執行不同於第一機器學習任務之各自第二機器學習任務。特定而言,訓練系統400可使用來自基礎神經網路420之經訓練參數來產生一或多個任務神經網路450之參數。
基礎神經網路420及一或多個任務神經網路450各自經組態以處理表示影像之輸入序列,其中輸入序列包含對應於對應影像之各自影像圖塊之一或多個元素,如上文所描述。第一機器學習任務及一或多個第二機器學習任務各自可為任何適當機器學習任務。例如,第一機器學習任務及一或多個第二機器學習任務可包含上文關於圖1所論述之任務之一或多者。
在一些實施方案中,第一機器學習任務(即,基於自我注意之子網路430關於其進行預訓練之機器學習任務)係一自監督式機器學習任務。即,訓練系統400可使用不包含實況標籤之一訓練資料集,而非使用該訓練資料集之一部分、該訓練資料集之其餘部分之實況標籤來訓練基礎神經網路420。作為一特定實例,第一機器學習任務可為一經遮蔽影像預測任務,其中基礎神經網路420處理表示各自影像(即,其中一或多個像素已被「遮蔽」之影像)之部分的輸入序列412,且產生表示影像之經遮蔽部分之內容之一預測的一基礎網路輸出422。例如,訓練系統400可產生包含完整未經遮蔽影像中之各影像圖塊之一各自元素的一初始輸入序列,接著移除元素之一或多者或使用識別已從影像遮蔽對應影像圖塊之相同「遮罩」符記替換元素之一或多者。
神經網路之各者包含一各自基於自我注意之子網路及一各自頭端子網路。特定而言,基礎神經網路420包含一基於自我注意之子網路430及一基礎頭端子網路440,且任務神經網路450之各者包含一各自基於自我注意之子網路460及一各自任務頭端子網路470。各基於自我注意之子網路及各頭端子網路440可如上文分別關於圖1中所描繪之基於自我注意之子網路140及頭端子網路150所描述般組態。
基於自我注意之子網路430及460之各者可彼此類似地組態,例如,可具有具相同數目及大小之神經網路層的相同網路架構。然而,基礎頭端子網路440及470之各者可專門經組態用於對應機器學習任務。即,基礎頭端子網路440可專門經組態用於第一機器學習任務,且各任務頭端子網路470可專門經組態用於對應第二機器學習任務。例如,各頭端子網路440及470可經組態以產生具有對應機器學習任務所需之格式之一各自網路輸出。因此,不同頭端子網路可具有不同網路架構。作為一特定實例,頭端子網路之一或多者可為包含一個、兩個或更多個前饋神經網路層之多層感知器。
訓練系統400包含一訓練資料儲存區,該訓練資料儲存區經組態以維持第一機器學習任務及一或多個第二機器學習任務之一各自訓練資料集。在一些實施方案中,第二機器學習任務之訓練資料集小於第一機器學習任務之訓練資料集,且因此,訓練系統400可經組態以利用使用較大訓練資料集訓練之基礎神經網路420之經訓練參數來增補任務神經網路450之訓練(其可能因訓練資料之相對缺乏而受阻)。
各訓練資料集可自一組各自訓練影像產生;即,一特定訓練資料集中之各訓練實例可自來自該組訓練影像之對應於訓練資料集的一各自訓練影像產生。在一些實施方案中,各訓練資料集已自相同組之影像產生;在一些其他實施方案中,不同訓練資料集可自不同組之影像產生。
訓練系統可將來自訓練資料集之對應於第一機器學習任務的一輸入序列412提供至基礎神經網路420。訓練系統400可使用基於自我注意之子網路430及基礎頭端子網路440來處理輸入序列以產生一基礎網路輸出422。
訓練系統400包含一訓練引擎480,訓練引擎480經組態以獲得基礎網路輸出422,判定基礎網路輸出422之一誤差,且根據誤差產生基礎神經網路420之一參數更新482。訓練引擎480可使用任何適當訓練技術產生參數更新482。例如,訓練引擎480可使用監督式學習、無監督式學習、半監督式學習、自監督式學習、精華學習(distillation learning) (其中基礎神經網路420經訓練以產生與一「教師(teacher)」神經網路之輸出匹配的基礎網路輸出422)或對抗性學習(其中基礎神經網路420經訓練以產生由一鑑別器神經網路預測為並非藉由基礎神經網路420產生的基礎網路輸出422)之一或多者。
作為一特定實例,在其中訓練系統400使用包含實況網路輸出之一訓練資料集執行監督式學習的實施方案中,訓練引擎480可判定基礎網路輸出422與對應於輸入序列412之實況網路輸出之間的一差異。訓練引擎480可藉由將誤差反向傳播通過基礎神經網路420且執行隨機梯度下降而產生參數更新482。參數更新482可包含基於自我注意之子網路430及基礎頭端子網路440兩者之參數的一各自更新。
在完成基礎神經網路420之訓練之後,訓練系統100可使用基礎神經網路420之經訓練參數來產生一或多個任務神經網路450。
特定而言,訓練系統400可獲得基於自我注意之子網路之經訓練參數432且將經訓練參數應用於基於自我注意之子網路460,即,將基於自我注意之子網路460之參數設定為相同於經訓練參數432。如上文所描述,基於自我注意之子網路430及460之各者可彼此類似地組態,且因此子網路430之訓練可轉移至子網路460之各者。
在基礎神經網路420之訓練期間,基於自我注意之子網路430可學習以產生對關於對應輸入影像之資訊進行編碼之輸入序列的表示,該資訊對於執行多個不同機器學習任務(包含第一機器學習任務及一或多個第二機器學習任務)有用。即,由基於自我注意之子網路430編碼成表示之資訊可對於第二機器學習任務有用,即使自我注意子網路430未使用第二機器學習任務進行訓練。
然而,代替獲得基礎頭端子網路440之經訓練參數且將其等應用於任務頭端子網路470,訓練系統100可例如藉由對任務子網路470之經初始化參數472進行隨機取樣而產生該等經初始化參數。因為頭端子網路440及470之各者專門經組態用於其等各自之機器學習任務,所以基礎頭端子網路440之訓練無法轉移至任務頭端子網路470。
換言之,為了產生任務神經網路450之一者,訓練系統400可從基礎神經網路440丟棄基礎頭端子網路440,且用一新初始化之任務頭端子網路470替換基礎頭端子網路440。
在一些實施方案中,基於自我注意之子網路430及460比頭端子網路440及470大(例如,具有更多網路參數)。作為特定實例,基於自我注意之子網路可包含數百萬個、數億個、數十億個或數千億個參數,而頭端子網路可包含數百個、數千個或數十萬個參數。因此,藉由預先訓練基於自我注意之子網路430及使用經預訓練之子網路430來判定一或多個任務頭端子網路470之參數,訓練系統400可比從頭端開始訓練各任務神經網路450之情況明顯更有效率地訓練任務神經網路450。訓練任務神經網路450之大多數時間及運算成本可在基於自我注意之子網路430之預先訓練期間「預先」完成。即,訓練基於自我注意之子網路430之成本可平攤在多個任務神經網路450上。
訓練系統可訓練任務神經網路以產生新任務頭端子網路470之經訓練參數。
特定而言,針對各任務神經網路450,訓練系統100可使用任務神經網路450來處理來自訓練資料集之對應於任務神經網路450之第二機器學習任務的一輸入序列414,從而產生一任務網路輸出452。在一些實施方案中,輸入序列414具有不同於輸入序列412之一形式(例如,不同數目或大小之元素)。在此等實施方案中,任務神經網路450可包含在基於自我注意之子網路460之前的一或多個輸入神經網路層,該一或多個輸入神經網路層經組態以將輸入序列414投影至基於自我注意之子網路460經組態以處理之維度中。
在其中將機器學習之位置嵌入併入至輸入序列414之元素中之一些實施方案中,訓練系統400在任務神經網路450之訓練期間微調位置嵌入。在一些其他此等實施方案中,訓練系統400未微調位置嵌入。
在一些實施方案中,用來產生基礎神經網路420之訓練資料集之訓練影像之組包含具有不同於用來產生任務神經網路450之訓練資料集之訓練影像之組之一解析度的影像。即,輸入序列414可表示具有不同於由輸入序列412表示之影像之一解析度的一影像。
作為一特定實例,輸入序列414可表示解析度高於輸入序列412之一影像;即,基於自我注意之子網路可關於比其原始訓練期間大之一影像進行微調。在其中各影像圖塊係相同大小且各影像之各像素被包含於恰好一個影像圖塊中的一些實施方案中,輸入序列412及輸入序列414可具有相同數目之元素;即,輸入序列414之各元素表示大於輸入序列412之各元素的一影像圖塊。
在一些其他此等實施方案中,輸入序列412及輸入序列414之元素可表示相同大小之影像圖塊;即,輸入序列414可長於輸入序列412。此可在將機器學習之位置嵌入(例如,在基礎神經網路420之訓練期間學習之位置嵌入,如上文所描述)併入至輸入序列412及414之元素中的實施方案中造成一問題,因為輸入序列414之額外元素沒有經學習位置嵌入。
因此,在一些實施方案中,訓練系統400可使用針對基礎神經網路420之輸入序列學習之位置嵌入來判定額外元素之位置嵌入。例如,訓練系統400可初始化額外元素之位置嵌入(例如,藉由將各位置嵌入初始化為零或藉由隨機地初始化位置嵌入),且在任務神經網路450之訓練期間訓練位置嵌入。
作為另一實例,訓練系統400可根據額外影像圖塊在訓練影像中之位置來對針對基礎神經網路420學習之位置嵌入執行二維內插。僅舉幾個特定實例,訓練系統400可使用二維線性內插、二維雙三次內插或二維蘭佐斯(Lanczos)內插。
訓練引擎480可獲得任務網路輸出452,判定任務網路輸出452之一誤差,且根據誤差來產生任務神經網路450之一參數更新484。
在一些實施方案中,參數更新484包含對基於自我注意之子網路460及基礎頭端子網路470兩者之參數的一各自更新。即,訓練系統400可進一步微調基於自我注意之子網路460的參數,即使已在基礎神經網路420之訓練期間訓練該等參數。
在一些其他實施方案中,參數更新484僅包含對任務頭端子網路470之參數之一更新。即,訓練系統100可在任務神經網路450之訓練期間「凍結」基於自我注意之子網路460的參數。
在一些實施方案中,代替預訓練基礎神經網路420,訓練系統400可自一外部系統獲得基於自我注意之子網路430的經訓練參數432。
在一些實施方案中,如上文關於圖1所描述,在已訓練一或多個任務神經網路450之後,可(例如)在通信連接之各別運算裝置上分開部署基於自我注意之子網路460、一各自任務頭端子網路470。例如,基於自我注意之子網路460可被部署於一資料中心處,而任務頭端子網路470可被部署於具有有限運算資源之一邊緣裝置上。如此,邊緣裝置可將一影像提供至資料中心,該資料中心可使用基於自我注意之子網路460來處理影像以產生影像之一嵌入。接著,資料中心可將嵌入提供回至邊緣裝置,該邊緣裝置可使用各自任務頭端子網路470處理嵌入以產生影像之一預測。
圖5係用於使用一基於自我注意之神經網路來產生關於一或多個影像之一預測之一例示性程序500之一流程圖。為方便起見,程序500將被描述為藉由經定位於一或多個位置中之一或多個電腦之一系統來執行。例如,根據本說明書來適當程式化之一神經網路系統(例如,圖1中所描繪之神經網路系統100)可執行程序500。
基於自我注意之神經網路可包含一或多個自我注意神經網路層。例如,基於自我注意之神經網路可為上文關於圖1所描述之神經網路130。
系統獲得一或多個影像(步驟502)。各影像包含多個像素。
系統針對一或多個影像之各影像,判定影像之一組多個影像圖塊(步驟504)。各影像圖塊包含影像之像素之一不同子集。
系統針對一或多個影像之各影像,處理對應組之影像圖塊以產生一輸入序列(步驟506)。輸入序列可包含多個輸入位置之各者處之一各自元素,其中輸入元素之一或多者對應於影像之各自圖塊。
在一些實施方案中,針對各影像圖塊,系統可產生包含影像圖塊之像素的一各自一維初始輸入元素。例如,初始輸入元素可為影像圖塊之一經平坦化版本。接著,系統可使用初始輸入元素產生對應於影像圖塊之輸入元素。例如,系統可藉由使用一第二神經網路處理初始輸入元素來產生輸入元素。第二神經網路可為作為一影像圖塊嵌入系統(例如,上文關於圖1所描述之影像圖塊嵌入系統120)之一組件的一嵌入神經網路。作為一特定實例,嵌入神經網路可包含一或多個全連接神經網路層。
在一些實施方案中,系統可處理影像圖塊以產生各自之中間輸入元素。例如,中間輸入元素可為影像圖塊之經平坦化版本或其之一經處理版本(例如,如由如上文所描述之一嵌入神經網路產生)。接著,系統可組合各中間輸入元素與表示對應影像圖塊在影像中之一位置的一各自位置嵌入。例如,各位置嵌入可為一整數。作為另一實例,各位置嵌入可為機器學習的。
在一些實施方案中,對應於一特定影像之輸入序列亦包含除對應於該影像之影像圖塊之輸入元素之外的一或多個輸入元素。例如,輸入序列可包含一機器學習之張量,例如上文關於圖1所描述之類別嵌入124。
系統使用基於自我注意之神經網路處理輸入序列以產生特性化一或多個影像之一網路輸出(步驟508)。
例如,系統可使用基於自我注意之神經網路之一基於自我注意之子網路(例如,上文關於圖1所描述之基於自我注意之子網路140)來處理輸入序列以產生輸入序列之各輸入元素的一各自輸出元素。
接著,系統可使用一第三神經網路處理一或多個輸出元素以產生網路輸出。例如,第三神經網路可為基於自我注意之神經網路之另一子網路,例如,類似於上文關於圖1所描述之頭端子網路150組態之一頭端子網路。作為一特定實例,頭端子網路可經組態以僅處理對應於機器學習之張量(例如,類別嵌入124)之輸出元素以產生網路輸出。
在一些此等實施方案中,頭端子網路經組態以產生一第一類型之網路輸出(例如,對應於一第一機器學習任務),且基於自我注意之子網路已與一第四神經網路同時進行訓練以產生不同於第一類型之一第二類型之網路輸出(例如,一第二機器學習任務)。第四神經網路可為一不同頭端子網路,例如,上文關於圖4所描述之基礎頭端子網路440。
本說明書結合系統及電腦程式組件使用術語「經組態」。一或多個電腦之一系統經組態以執行特定操作或動作意謂該系統已在其上安裝在操作中引起系統執行該等操作或動作之軟體、韌體、硬體或其等之一組合。一或多個電腦程式經組態以執行特定操作或動作意謂一或多個程式包含在藉由資料處理設備執行時引起該設備執行該等操作或動作的指令。
本說明書中所描述之標的及功能操作之實施例可在數位電子電路系統中、在有形體現之電腦軟體或韌體中、在電腦硬體(包含本說明書中所揭示之結構及其等結構等效物)中或在其等之一或多者之組合中實施。本說明書中所描述之標的之實施例可實施為一或多個電腦程式,即,編碼於一有形非暫時性儲存媒體上以藉由資料處理設備執行或控制資料處理設備之操作之電腦程式指令的一或多個模組。電腦儲存媒體可為一機器可讀儲存裝置、一機器可讀儲存基板、一隨機或串列存取記憶體裝置,或其等之一或多者之一組合。替代地或另外,程式指令可編碼於一人工產生之傳播信號(例如,一機器產生之電氣、光學或電磁信號)上,該人工產生之傳播信號經產生以對資訊進行編碼以傳輸至適合接收器設備以供一資料處理設備執行。
術語「資料處理設備」指代資料處理硬體且涵蓋用於處理資料之所有種類之設備、裝置及機器,包含例如一可程式化處理器、一電腦,或多個處理器或電腦。設備亦可為或進一步包含專用邏輯電路系統,例如,一FPGA (場可程式化閘陣列)或一ASIC (特定應用積體電路)。除硬體之外,設備亦可視情況包含為電腦程式建立一執行環境之程式碼,例如,構成處理器韌體、一協定堆疊、一資料庫管理系統、一作業系統或其等之一或多者之一組合的程式碼。
一電腦程式(其亦可被稱為或描述為一程式、一軟體、一軟體應用程式、一應用程式(app)、一模組、一軟體模組、一指令檔或程式碼)可以任何形式之程式設計語言(包含經編譯或經解譯語言,或宣告式或程序式語言)撰寫;且其可以任何形式部署,包含作為一獨立程式或作為一模組、組件、副常式或適於在一運算環境中使用之其他單元。一程式可(但不必)對應於一檔案系統中之一檔案。一程式可儲存於保存其他程式或資料之一檔案(例如,儲存於一標記語言文件中之一或多個指令檔)之一部分中,在專用於討論中之程式之一單一檔案中,或在多個協調檔案(例如,儲存一或多個模組、子程式或程式碼之部分的檔案)中。一電腦程式可經部署以在一個電腦上或在定位於一個位點處或跨多個位點分佈且由一資料通信網路互連的多個電腦上執行。
在本說明書中,術語「資料庫」廣泛地用來指代任何資料集合:資料不需要以任何特定方式結構化或完全不需要結構化,且其可在儲存裝置上儲存於一或多個位置中。因此,例如,索引資料庫可包含多個資料集合,該等資料集合之各者可被不同地組織及存取。
類似地,在本說明書中,術語「引擎」廣泛地用來指代經程式化以執行一或多個特定功能之一基於軟體之系統、子系統或程序。一般而言,一引擎將實施為一或多個軟體模組或組件,安裝於一或多個位置中之一或多個電腦上。在一些情況中,一或多個電腦將專用於一特定引擎;在其他情況中,可在一或若干相同電腦上安裝及運行多個引擎。
本說明書中所描述之程序及邏輯流程可藉由執行一或多個電腦程式以藉由對輸入資料進行操作且產生輸出而執行功能的一或多個可程式化電腦來執行。程序及邏輯流程亦可藉由專用邏輯電路系統(例如,一FPGA或一ASIC)或專用邏輯電路系統及一或多個經程式化電腦之一組合來執行。
適於執行一電腦程式之電腦可基於通用或專用微處理器或兩者,或任何其他種類之中央處理單元。一般而言,一中央處理單元將自一唯讀記憶體或一隨機存取記憶體或兩者接收指令及資料。一電腦之基本元件係用於執行或實行指令之一中央處理單元以及用於儲存指令及資料之一或多個記憶體裝置。中央處理單元及記憶體可藉由專用邏輯電路系統增補或併入於專用邏輯電路系統中。一般而言,一電腦亦將包含用於儲存資料之一或多個大容量儲存裝置(例如,磁碟、磁光碟或光碟),或經可操作地耦合以自一或多個大容量儲存裝置接收資料或將資料傳送至一或多個大容量儲存裝置,或兩者。然而,一電腦不必具有此等裝置。此外,一電腦可嵌入於另一裝置中,例如一行動電話、一個人數位助理(PDA)、一行動音訊或視訊播放器、一遊戲機、一全球定位系統(GPS)接收器或一可攜式儲存裝置(例如,一通用串列匯流排(USB)快閃隨身碟),僅舉幾例。
適於儲存電腦程式指令及資料之電腦可讀媒體包含所有形式之非揮發性記憶體、媒體及記憶體裝置,包含例如半導體記憶體裝置,例如,EPROM、EEPROM及快閃記憶體裝置;磁碟,例如,內部硬碟機或可移除磁碟;磁光碟;以及CD ROM及DVD-ROM磁碟。
為了提供與一使用者之互動,本說明書中所描述之標的之實施例可在一電腦上實施,該電腦具有:一顯示裝置,例如一CRT (陰極射線管)或LCD (液晶顯示器)監視器,其用於向使用者顯示資訊;以及一鍵盤及一指向裝置,例如,一滑鼠或一軌跡球,使用者可藉由其等將輸入提供至電腦。亦可使用其他種類之裝置來提供與一使用者之互動;例如,提供至使用者之回饋可為任何形式之感覺回饋,例如,視覺回饋、聽覺回饋或觸覺回饋;且可以任何形式接收來自使用者之輸入,包含聲學、語音或觸覺輸入。另外,一電腦可藉由將文件發送至由一使用者使用之一裝置及自該裝置接收文件而與該使用者進行互動;例如,藉由回應於自一使用者裝置上之一網路瀏覽器接收之請求而將網頁發送至該網路瀏覽器。再者,一電腦可藉由將文字訊息或其他形式之訊息發送至一個人裝置(例如,運行一訊息傳遞應用程式之一智慧型電話)及作為回報自一使用者接收回應訊息而與該使用者進行互動。
用於實施機器學習模型之資料處理設備亦可包含例如用於處理機器學習訓練或產生(即,推理)工作負荷之共同且運算密集之部分的專用硬體加速器單元。
機器學習模型可使用一機器學習框架(例如,一TensorFlow框架、一Microsoft Cognitive Toolkit框架、一Apache Singa框架或一Apache MXNet框架)來實施及部署。
本說明書中所描述之標的之實施例可在一運算系統中實施,該運算系統包含一後端組件(例如,作為一資料伺服器),或包含一中介軟體組件(例如,一應用程式伺服器),或包含一前端組件(例如,具有一圖形使用者介面、一網路瀏覽器或一應用程式之一用戶端電腦,一使用者可透過其與本說明書中所描述之標的之一實施方案進行互動),或一或多個此等後端、中介軟體或前端組件之任何組合。系統之組件可藉由數位資料通信之任何形式或媒體(例如,一通信網路)互連。通信網路之實例包含一區域網路(LAN)及一廣域網路(WAN),例如,網際網路。
運算系統可包含用戶端及伺服器。一用戶端及伺服器大體上彼此遠離且通常透過一通信網路進行互動。用戶端及伺服器之關係憑藉在各自電腦上運行且彼此之間具有一用戶端-伺服器關係的電腦程式而產生。在一些實施例中,一伺服器將資料(例如,一HTML頁面)傳輸至一使用者裝置,例如,用於向與裝置(其充當一用戶端)進行互動之一使用者顯示資料及自該使用者接收使用者輸入之目的。可在伺服器處自使用者裝置接收在該裝置處產生之資料,例如,使用者互動之一結果。
除上文所描述之實施例之外,以下實施例亦具有創新性: 實施例1係一種方法,其包括: 獲得包括複數個像素之一或多個影像; 針對該一或多個影像之各影像,判定該影像之複數個影像圖塊,其中各影像圖塊包括該影像之該等像素之一不同子集; 針對該一或多個影像之各影像,處理該對應複數個影像圖塊以產生包括複數個輸入位置之各者處之一各自輸入元素的一輸入序列,其中複數個該等輸入元素對應於各自不同影像圖塊;及 使用一神經網路處理該等輸入序列以產生特性化該一或多個影像之一網路輸出,其中該神經網路包括一或多個自我注意神經網路層。 實施例2係如實施例1之方法,其中處理對應於一影像之該複數個影像圖塊以產生一輸入序列包括針對各影像圖塊: 產生包含該影像圖塊之該等像素的一各自一維初始輸入元素;及 使用該各自初始輸入元素產生一各自輸入元素。 實施例3係如實施例2之方法,其中各影像圖塊具有維數
Figure 02_image019
,其中C表示該影像之通道之一數目,且其中各初始輸入元素具有維數
Figure 02_image020
。 實施例4係如實施例2或3中任一項之方法,其中使用該各自初始輸入元素產生一各自輸入元素包括:使用一第二神經網路處理該初始輸入元素。 實施例5係如實施例4之方法,其中該第二神經網路包括一或多個全連接神經網路層。 實施例6係如實施例1至5中任一項之方法,其中處理對應於一影像之該複數個影像圖塊以產生一輸入序列包括: 處理該複數個影像圖塊以產生各自之中間輸入元素;及 針對各中間輸入元素,組合該中間輸入元素與表示該對應影像圖塊在該影像中之一位置的一位置嵌入以產生一各自輸入元素。 實施例7係如實施例6之方法,其中各位置嵌入係一整數。 實施例8係如實施例6之方法,其中各位置嵌入係機器學習的。 實施例9係如實施例1至8中任一項之方法,其中該輸入序列中之一特定輸入元素係一機器學習之張量。 實施例10係如實施例1至9中任一項之方法,其中使用該神經網路處理一輸入序列以產生特性化該影像之一網路輸出包括: 使用該神經網路處理該輸入序列以針對該輸入序列中之各輸入元素產生一各自輸出元素;及 使用一第三神經網路處理該等輸出元素之一或多者以產生該網路輸出。 實施例11係如實施例10之方法,其中: 該第三神經網路經組態以產生一第一類型之網路輸出;及 該神經網路已與一第四神經網路同時進行訓練以產生不同於該第一類型之一第二類型之網路輸出。 實施例12係如實施例11之方法,其中已在該第三神經網路之訓練期間更新該神經網路之複數個網路參數。 實施例13係如實施例10至12中任一項之方法,其中該第三神經網路係一個多層感知器。 實施例14係如實施例10至13中任一項之方法,其中針對一各自輸入序列: 該輸入序列中之一特定輸入元素係一機器學習之張量;及 使用該第三神經網路處理一或多個輸出元素包括:使用該第三神經網路處理對應於該特定輸入元素之該輸出元素以產生該影像之預測。 實施例15係如實施例1至14中任一項之方法,其中該等自我注意神經網路層之一或多者係多頭自我注意神經網路層。 實施例16係如實施例1至15中任一項之方法,其中該神經網路包括一序列之一或多個子網路,各子網路經組態以接收該複數個輸入位置之各者之一各自子網路輸入,且產生該複數個輸入位置之各者之一各自子網路輸出,其中各子網路包括一自我注意神經網路層及一逐位置前饋神經網路層。 實施例17係如實施例16之方法,其中各子網路進一步包括以下之一或多者: 一第一層正規化層,其將層正規化應用於該複數個輸入位置之各者之該等子網路輸入; 一第一殘差連接層,其組合該自我注意神經網路層之一輸出與該複數個輸入位置之各者之該等子網路輸入; 一第二層正規化層,其將層正規化應用於該第一殘差連接層之一輸出;或 一第二殘差連接層,其組合該逐位置前饋神經網路層之一輸出與該第一殘差連接層之該輸出。 實施例18係如實施例1至17中任一項之方法,其中: 該網路輸出包括包含對應於多個種類之各者之一各自分數的一分類輸出,一種類之一分數指示該影像屬於該種類之可能性; 該網路輸出包括一像素級分類輸出,該像素級分類輸出針對該影像中之各像素,包含對應於多個種類之各者之一各自分數,其中一種類之該分數指示該像素屬於該種類之可能性; 該網路輸出包括包圍該影像中所描繪之各自物件之一或多個定界框的座標,或 該神經網路接收作為一視訊之視訊圖框之多個影像,且該網路輸出包括特性化該等視訊圖框之一輸出。 實施例19係如實施例18之方法,其中特性化該等視訊圖框之該輸出包括特性化該等視訊圖框是否描繪執行一特定動作之一人的一輸出。 實施例20係一種系統,其包括:一或多個電腦及儲存指令之一或多個儲存裝置,該等指令在藉由該一或多個電腦執行時可操作以引起該一或多個電腦執行如實施例1至19中任一項之方法。 實施例21係一種編碼有一電腦程式之電腦儲存媒體,該程式包括指令,該等指令在藉由資料處理設備執行時可操作以引起該資料處理設備執行如實施例1至19中任一項之方法。
雖然本說明書含有許多特定實施細節,但此等不應被解釋為對任何發明之範疇或可主張之內容之範疇的限制,而是作為對可特定於特定發明之特定實施例之特徵的描述。本說明書中在單獨實施例之內容背景中所描述之某些特徵亦可在一單一實施例中組合地實施。相反地,在一單一實施例之內容背景中所描述之各種特徵亦可在多項實施例中單獨地或以任何適合子組合實施。此外,儘管上文可將特徵描述為以特定組合起作用且甚至最初如此主張,但在一些情況中,可自該組合剔除來自一所主張組合之一或多個特徵,且所主張組合可關於一子組合或一子組合之變動。
類似地,雖然在圖式中描繪且在發明申請專利範圍中以一特定順序敘述操作,但此不應被理解為要求此等操作以所展示特定順序或以循序順序執行,或要求執行所有所繪示操作,以達成所要結果。在特定情境中,多任務及並行處理可為有利的。此外,上文所描述之實施例中之各種系統模組及組件之分開不應被理解為在所有實施例中要求此分開,且應理解,所描述程式組件及系統大體上可一起整合於一單一軟體產品中或封裝至多個軟體產品中。
已描述標的之特定實施例。其他實施例在以下發明申請專利範圍之範疇內。例如,發明申請專利範圍中所敘述之動作可以一不同順序執行且仍達成所要結果。作為一項實例,附圖中所描繪之程序不一定要求所展示之特定順序或循序順序以達成所要結果。在一些情況中,多任務及並行處理可為有利的。
100:神經網路系統 102:影像 110:影像圖塊產生系統 112a至112n:影像圖塊 120:影像圖塊嵌入系統 122a至122n:影像圖塊嵌入 124:類別嵌入 130:神經網路 140:基於自我注意之子網路 142a至142n:影像圖塊輸出 144:類別輸出 150:頭端子網路 152:網路輸出 200:基於自我注意之神經網路 202:輸入序列 204:輸出序列 210a至210m:網路區塊 212:區塊輸入序列 220:自我注意神經網路層 230:前饋神經網路層/前饋層/逐位置前饋層 310:第一影像 320:第二影像 330:第三影像 340:第四影像 350:第五影像 360:第六影像 400:訓練系統 412:輸入序列 414:輸入序列 420:基礎神經網路 422:基礎網路輸出 430:基於自我注意之子網路/自我注意子網路 432:經訓練參數 440:基礎頭端子網路 450:任務神經網路 452:任務網路輸出 460:基於自我注意之子網路 470:任務頭端子網路/任務子網路 472:經初始化參數 480:訓練引擎 482:參數更新 484:參數更新 500:程序 502:步驟 504:步驟 506:步驟 508:步驟
圖1係一例示性神經網路系統之一圖。 圖2係一例示性基於自我注意之神經網路之一圖。 圖3繪示分割成影像圖塊之例示性影像。 圖4係一例示性訓練系統之一圖。 圖5係用於使用一基於自我注意之神經網路產生關於一或多個影像之一預測的一例示性程序之一流程圖。 在各個圖式中,相同元件符號及標示指示相同元件。
100:神經網路系統
102:影像
110:影像圖塊產生系統
112a至112n:影像圖塊
120:影像圖塊嵌入系統
122a至122n:影像圖塊嵌入
124:類別嵌入
130:神經網路
140:基於自我注意之子網路
142a至142n:影像圖塊輸出
144:類別輸出
150:頭端子網路
152:網路輸出

Claims (21)

  1. 一或多種儲存指令之非暫時性電腦儲存媒體,該等指令在由一或多個電腦執行時引起該多一個電腦執行包括以下之操作: 獲得包括複數個像素之一或多個影像; 針對該一或多個影像之各影像,判定該影像之複數個影像圖塊,其中各影像圖塊包括該影像之該等像素之一不同子集; 針對該一或多個影像之各影像,處理該對應複數個影像圖塊以產生包括複數個輸入位置之各者處之一各自輸入元素的一輸入序列,其中複數個該等輸入元素對應於各自不同影像圖塊;及 使用一神經網路來處理該等輸入序列以產生特性化該一或多個影像之一網路輸出,其中該神經網路包括一或多個自我注意神經網路層。
  2. 如請求項1之非暫時性電腦儲存媒體,其中處理對應於一影像之該複數個影像圖塊以產生一輸入序列包括針對各影像圖塊: 產生包含該影像圖塊之該等像素之一各自一維初始輸入元素;及 使用該各自初始輸入元素來產生一各自輸入元素。
  3. 如請求項2之非暫時性電腦儲存媒體,其中各影像圖塊具有維數
    Figure 03_image021
    ,其中 C表示該影像之通道之一數目,且其中各初始輸入元素具有維數
    Figure 03_image022
  4. 如請求項2或3中任一項之非暫時性電腦儲存媒體,其中使用該各自初始輸入元素來產生一各自輸入元素包括:使用一第二神經網路來處理該初始輸入元素。
  5. 如請求項4之非暫時性電腦儲存媒體,其中該第二神經網路包括一或多個全連接神經網路層。
  6. 如請求項1至5中任一項之非暫時性電腦儲存媒體,其中處理對應於一影像之該複數個影像圖塊以產生一輸入序列包括: 處理該複數個影像圖塊以產生各自之中間輸入元素;及 針對各中間輸入元素,組合該中間輸入元素與表示該對應影像圖塊於該影像中之一位置之一位置嵌入,以產生一各自輸入元素。
  7. 如請求項6之非暫時性電腦儲存媒體,其中各位置嵌入係一整數。
  8. 如請求項6之非暫時性電腦儲存媒體,其中各位置嵌入係機器學習的。
  9. 如請求項1至8中任一項之非暫時性電腦儲存媒體,其中該輸入序列中之一特定輸入元素係一機器學習之張量。
  10. 如請求項1至9中任一項之非暫時性電腦儲存媒體,其中使用該神經網路來處理一輸入序列以產生特性化該影像之一網路輸出包括: 使用該神經網路來處理該輸入序列,以針對該輸入序列中之各輸入元素產生一各自輸出元素;及 使用一第三神經網路來處理該等輸出元素之一或多者以產生該網路輸出。
  11. 如請求項10之非暫時性電腦儲存媒體,其中: 該第三神經網路經組態以產生一第一類型之網路輸出;及 該神經網路已與一第四神經網路同時進行訓練,以產生不同於該第一類型之一第二類型之網路輸出。
  12. 如請求項11之非暫時性電腦儲存媒體,其中已在該第三神經網路之訓練期間更新該神經網路之複數個網路參數。
  13. 如請求項10至12中任一項之非暫時性電腦儲存媒體,其中該第三神經網路係一個多層感知器。
  14. 如請求項10至13中任一項之非暫時性電腦儲存媒體,其中針對一各自輸入序列: 該輸入序列中之一特定輸入元素係一機器學習之張量;及 使用該第三神經網路來處理一或多個輸出元素包括:使用該第三神經網路來處理對應於該特定輸入元素之該輸出元素以產生該影像之預測。
  15. 如請求項1至14中任一項之非暫時性電腦儲存媒體,其中該等自我注意神經網路層之一或多者係多頭自我注意神經網路層。
  16. 如請求項1至15中任一項之非暫時性電腦儲存媒體,其中該神經網路包括一序列之一或多個子網路,各子網路經組態以接收該複數個輸入位置之各者之一各自子網路輸入,且產生該複數個輸入位置之各者之一各自子網路輸出,其中各子網路包括一自我注意神經網路層及一逐位置前饋神經網路層。
  17. 如請求項16之非暫時性電腦儲存媒體,其中各子網路進一步包括以下之一或多者: 一第一層正規化層,其將層正規化應用於該複數個輸入位置之各者之該等子網路輸入; 一第一殘差連接層,其組合該自我注意神經網路層之一輸出與該複數個輸入位置之各者之該等子網路輸入; 一第二層正規化層,其將層正規化應用於該第一殘差連接層之一輸出;或 一第二殘差連接層,其組合該逐位置前饋神經網路層之一輸出與該第一殘差連接層之該輸出。
  18. 如請求項1至17中任一項之非暫時性電腦儲存媒體,其中: 該網路輸出包括包含對應於多個種類之各者之一各自分數之一分類輸出,一種類之一分數指示該影像屬於該種類之一可能性; 該網路輸出包括一像素級分類輸出,該像素級分類輸出針對該影像中之各像素,包含對應於多個種類之各者之一各自分數,其中一種類之該分數指示該像素屬於該種類之一可能性; 該網路輸出包括包圍該影像中所描繪之各自物件之一或多個定界框的座標,或 該神經網路接收作為一視訊之視訊圖框的多個影像,且該網路輸出包括特性化該等視訊圖框之一輸出。
  19. 如請求項18之非暫時性電腦儲存媒體,其中特性化該等視訊圖框之該輸出包括特性化該等視訊圖框是否描繪執行一特定動作之一人的一輸出。
  20. 一種系統,其包括一或多個電腦及儲存指令之一或多個儲存裝置,該等指令在由該一或多個電腦執行時引起該多一個電腦執行如請求項1至19中任一項之非暫時性電腦儲存媒體的操作。
  21. 一種方法,其包括如請求項1至19中任一項之非暫時性電腦儲存媒體的操作。
TW110136934A 2020-10-02 2021-10-04 使用基於自我注意之神經網路處理影像 TW202215303A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202063087135P 2020-10-02 2020-10-02
US63/087,135 2020-10-02

Publications (1)

Publication Number Publication Date
TW202215303A true TW202215303A (zh) 2022-04-16

Family

ID=78414760

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110136934A TW202215303A (zh) 2020-10-02 2021-10-04 使用基於自我注意之神經網路處理影像

Country Status (11)

Country Link
US (2) US20220108478A1 (zh)
EP (1) EP4196917A1 (zh)
JP (1) JP2023533907A (zh)
KR (1) KR20230004710A (zh)
CN (1) CN115605878A (zh)
AU (2) AU2021354030B2 (zh)
BR (1) BR112023005490A2 (zh)
CA (1) CA3193958A1 (zh)
MX (1) MX2023003531A (zh)
TW (1) TW202215303A (zh)
WO (1) WO2022072940A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112287978B (zh) * 2020-10-07 2022-04-15 武汉大学 一种基于自注意力上下文网络的高光谱遥感图像分类方法
US11983920B2 (en) * 2021-12-20 2024-05-14 International Business Machines Corporation Unified framework for multigrid neural network architecture
WO2023229094A1 (ko) * 2022-05-27 2023-11-30 주식회사 엔씨소프트 행동 예측 방법 및 장치
CN114972897A (zh) * 2022-06-06 2022-08-30 京东科技控股股份有限公司 图像特征处理方法、装置、产品、介质及设备
CN114862881A (zh) * 2022-07-11 2022-08-05 四川大学 一种基于pet-ct的跨模态注意力肿瘤分割方法、系统
KR102663467B1 (ko) * 2022-11-09 2024-05-09 국민대학교산학협력단 포인트 클라우드의 고해상화 장치 및 방법
CN115457042B (zh) * 2022-11-14 2023-03-24 四川路桥华东建设有限责任公司 一种基于蒸馏学习的螺纹套丝表面缺陷检测的方法及系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US7006881B1 (en) * 1991-12-23 2006-02-28 Steven Hoffberg Media recording device with remote graphic user interface
US6058190A (en) * 1997-05-27 2000-05-02 Pitney Bowes Inc. Method and system for automatic recognition of digital indicia images deliberately distorted to be non readable
US7966078B2 (en) * 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
JP4098021B2 (ja) 2002-07-30 2008-06-11 富士フイルム株式会社 シーン識別方法および装置ならびにプログラム
JP5258694B2 (ja) * 2009-07-27 2013-08-07 富士フイルム株式会社 医用画像処理装置および方法並びにプログラム
ITRM20130022A1 (it) * 2013-01-11 2014-07-12 Natural Intelligent Technologies S R L Procedimento e apparato di riconoscimento di scrittura a mano
US9536293B2 (en) * 2014-07-30 2017-01-03 Adobe Systems Incorporated Image assessment using deep convolutional neural networks
US10803143B2 (en) * 2015-07-30 2020-10-13 Siemens Healthcare Gmbh Virtual biopsy techniques for analyzing diseases
EP3267368B1 (en) * 2016-07-06 2020-06-03 Accenture Global Solutions Limited Machine learning image processing
KR102559202B1 (ko) * 2018-03-27 2023-07-25 삼성전자주식회사 3d 렌더링 방법 및 장치
US10853725B2 (en) 2018-05-18 2020-12-01 Deepmind Technologies Limited Neural networks with relational memory
CA3109571A1 (en) * 2018-07-16 2020-01-23 Accel Robotics Corporation Autonomous store tracking system
EP3932318A4 (en) 2019-02-28 2022-04-20 FUJIFILM Corporation LEARNING METHOD, LEARNING SYSTEM, LEARNED MODEL, PROGRAM AND DEVICE FOR GENERATION OF SUPER RESOLUTION IMAGES
US10825221B1 (en) * 2019-04-23 2020-11-03 Adobe Inc. Music driven human dancing video synthesis
US20230103737A1 (en) 2020-03-03 2023-04-06 Nec Corporation Attention mechanism, image recognition system, and feature conversion method

Also Published As

Publication number Publication date
MX2023003531A (es) 2023-04-19
US20240062426A1 (en) 2024-02-22
US11983903B2 (en) 2024-05-14
AU2021354030A1 (en) 2022-11-24
JP2023533907A (ja) 2023-08-07
KR20230004710A (ko) 2023-01-06
CA3193958A1 (en) 2022-04-07
AU2024201361A1 (en) 2024-03-21
US20220108478A1 (en) 2022-04-07
EP4196917A1 (en) 2023-06-21
CN115605878A (zh) 2023-01-13
WO2022072940A1 (en) 2022-04-07
AU2021354030B2 (en) 2023-11-30
BR112023005490A2 (pt) 2023-04-25

Similar Documents

Publication Publication Date Title
TW202215303A (zh) 使用基於自我注意之神經網路處理影像
CN110168560B (zh) 用于场景理解和生成的方法、系统和介质
CN109997168B (zh) 用于生成输出图像的方法和系统
WO2022116856A1 (zh) 一种模型结构、模型训练方法、图像增强方法及设备
US11929174B2 (en) Machine learning method and apparatus, program, learned model, and discrimination apparatus using multilayer neural network
CN110570426A (zh) 使用深度学习的图像联合配准和分割
CN110728295B (zh) 半监督式的地貌分类模型训练和地貌图构建方法
US10740901B2 (en) Encoder regularization of a segmentation model
DE102022105471A1 (de) Generieren von modifizierten Digitalbildern unter Einsatz von tiefen visuellen angeleiteten Patchabgleichsmodellen zur Bildwiederherstellung
Emek Soylu et al. Deep-learning-based approaches for semantic segmentation of natural scene images: A review
CN114418030A (zh) 图像分类方法、图像分类模型的训练方法及装置
DE102023101265A1 (de) Objekterfassung bei Bildstromverarbeitung unter Verwendung von optischem Fluss mit dynamischen Regionen von Interesse
EP4295274A1 (en) Generating high-resolution images using self-attention
CN117593702B (zh) 远程监控方法、装置、设备及存储介质
Karavarsamis et al. A survey of deep learning-based image restoration methods for enhancing situational awareness at disaster sites: the cases of rain, snow and haze
Xiao et al. SR-DeblurUGAN: An end-to-end super-resolution and deblurring model with high performance
Chen et al. Robust face super-resolution via position relation model based on global face context
WO2019219949A1 (en) Image processing using generative graphical models
Gupta et al. A robust and efficient image de-fencing approach using conditional generative adversarial networks
KR20230144597A (ko) 엑스퍼트의 혼합을 사용한 이미지 프로세싱
JP2014149788A (ja) 物体領域境界推定装置、物体領域境界推定方法及び物体領域境界推定プログラム
CN113537359A (zh) 训练数据的生成方法及装置、计算机可读介质和电子设备
Bhadra et al. MFEMANet: an effective disaster image classification approach for practical risk assessment
US20240233134A1 (en) Weakly-Supervised 3D Medical Image Segmentation using Geometric Prior and Contrastive Similarity
Hussein et al. Deep Learning in Distance Awareness Using Deep Learning Method