KR20230167086A - 공간과 시간에 따른 어텐션을 이용한 비디오 시퀀스에서 객체 표현에 대한 비지도 학습 - Google Patents
공간과 시간에 따른 어텐션을 이용한 비디오 시퀀스에서 객체 표현에 대한 비지도 학습 Download PDFInfo
- Publication number
- KR20230167086A KR20230167086A KR1020237038087A KR20237038087A KR20230167086A KR 20230167086 A KR20230167086 A KR 20230167086A KR 1020237038087 A KR1020237038087 A KR 1020237038087A KR 20237038087 A KR20237038087 A KR 20237038087A KR 20230167086 A KR20230167086 A KR 20230167086A
- Authority
- KR
- South Korea
- Prior art keywords
- neural network
- latent
- latent variables
- attention
- frame
- Prior art date
Links
- 230000002123 temporal effect Effects 0.000 title 1
- 238000013528 artificial neural network Methods 0.000 claims abstract description 162
- 238000009826 distribution Methods 0.000 claims abstract description 131
- 238000005070 sampling Methods 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims description 74
- 238000012545 processing Methods 0.000 claims description 52
- 230000007246 mechanism Effects 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 35
- 238000012549 training Methods 0.000 claims description 25
- 238000000605 extraction Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 17
- 230000009471 action Effects 0.000 claims description 15
- 230000004931 aggregating effect Effects 0.000 claims description 11
- 230000009466 transformation Effects 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 9
- 230000003750 conditioning effect Effects 0.000 claims description 8
- 239000000203 mixture Substances 0.000 claims description 6
- 238000011176 pooling Methods 0.000 claims description 6
- 238000002156 mixing Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims 3
- 238000000844 transformation Methods 0.000 claims 1
- 230000026676 system process Effects 0.000 abstract 1
- 239000003795 chemical substances by application Substances 0.000 description 14
- 238000004590 computer program Methods 0.000 description 12
- 238000010801 machine learning Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000003068 static effect Effects 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000001143 conditioned effect Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000002787 reinforcement Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 230000001667 episodic effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000009334 Singa Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 238000013383 initial experiment Methods 0.000 description 1
- 229910052740 iodine Inorganic materials 0.000 description 1
- 239000011630 iodine Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/771—Feature selection, e.g. selecting representative features from a multi-dimensional feature space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
컴퓨터로 구현된 비디오 생성 신경망 시스템은 객체 잠재 변수에 대한 각각의 이전 객체 잠재 분포로부터 샘플링함으로써 객체 잠재 변수 세트 각각에 대한 값을 결정하도록 구성된다. 시스템은 각각의 생성된 이미지 프레임의 각 픽셀과 각각의 생성된 이미지 프레임 시간 단계에 대해, 객체 잠재 변수 각각에 대한 픽셀 분포의 파라미터를 결정하기 위해 상기 결정된 객체 잠재 변수의 값을 처리하고, 결합된 픽셀 분포를 결정하기 위해 각각의 객체 잠재 변수에 대한 픽셀 분포를 결합하고, 픽셀과 시간 단계에 대한 값을 결정하기 위해 상기 결합된 픽셀 분포로부터 샘플링하도록 구성된다.
Description
본 명세서는 비디오 프레임에 있는 객체뿐만 아니라 뷰포인트(viewpoint, 관점)과 같은 전역 시변(global time-varying) 요소를 특징화하기 위한 기계 학습 모델을 트레이닝하는 것에 관한 것이다.
기계 학습 모델은 입력을 수신하고 그 수신된 입력 및 모델의 파라미터 값에 기초하여 출력, 예를 들어 예측 출력을 생성한다.
신경망은 수신된 입력에 대한 출력을 예측하기 위해 하나 이상의 비선형 단위 계층을 사용하는 기계 학습 모델이다. 일부 신경망에는 출력 계층 외에 하나 이상의 은닉 계층이 포함되어 있다. 각 은닉 계층의 출력은 네트워크에 있는 다음 계층, 즉 다음 은닉 계층 또는 출력 계층의 입력으로 사용된다. 네트워크의 각 계층은 개별 파라미터 세트의 현재 값에 따라 수신된 입력으로부터 출력을 생성한다.
본 명세서는 일반적으로 비디오 객체 표현 신경망 시스템을 트레이닝하는 하나 이상의 물리적 위치에 있는 하나 이상의 컴퓨터상의 하나 이상의 컴퓨터 프로그램으로 구현되는 시스템 및 방법을 설명한다. 트레이닝된 시스템의 인코더 부분은 비디오 시퀀스의 다수의 상이한 객체의 속성을 결정하거나 비디오 시퀀스에 대한 뷰포인트의 위치를 결정하거나 둘 다를 결정하는데 사용될 수 있다. 트레이닝된 시스템의 디코더 부분은 새로운 비디오 시퀀스를 생성하는데 사용될 수 있다. 인코더와 디코더는 함께 비디오 시퀀스를 수정하는데 사용될 수 있다.
일 양태에서, 비디오 객체 표현 신경망 시스템을 트레이닝하는 컴퓨터 구현 방법이 제공된다. 비디오 객체 표현 신경망 시스템은 각각이 계층 입력에 대해 셀프-어텐션 메커니즘을 적용하도록 구성되고 복수의 셀프-어텐션 신경망 파라미터를 갖는 하나 이상의 셀프-어텐션 계층(예를 들어, 트랜스포머 신경망 계층)을 포함하는 셀프-어텐션 신경망을 포함한다.
방법은 연속된 시간마다 하나씩, T개의 이미지 프레임의 시퀀스를 포함하는 비디오 시퀀스를 획득하는 단계 및 T개의 이미지 프레임 각각에 대한 S개의 공간 인코딩 세트를 생성하기 위해 각각의 이미지 프레임을 처리하는 단계를 포함한다. 방법은 이에 의해 비디오 시퀀스에 대한 S×T 공간 인코딩 그룹을 획득한다. 각각의 공간 인코딩은 이미지 프레임의 개별 영역 또는 패치의 인코딩을 포함한다. 비디오는 예를 들어 카메라 또는 라이다(LIDAR) 센서로부터 얻을 수 있다(즉, 이미지 프레임은 포인트 클라우드를 포함할 수 있다).
방법은 특히 선택적으로 추가 셀프-어텐션 처리 단계 후에 변환된 공간 인코딩 그룹을 생성하기 위해 S×T 공간 인코딩 그룹을 포함하는 계층 입력에 셀프-어텐션 메커니즘을 적용함으로써 셀프-어텐션 신경망을 사용하여 S×T 공간 인코딩 그룹을 처리하는 단계를 더 포함한다. 변환된 공간 인코딩 각각은 이미지 프레임 시간과 이미지 프레임 영역에 해당한다. 변환된 공간 인코딩 그룹은 동일하거나 다를 수 있다. 예를 들어 더 낮은 해상도, 즉 S×T 이하의 변환된 공간 인코딩이 있을 수 있다. 구현에서, 계층 입력에 셀프-어텐션 메커니즘을 적용하는 것은 상이한 이미지 프레임의 공간 인코딩, 즉 연속된 시간 중 다른 시간의 이미지 프레임에 셀프-어텐션 메커니즘을 적용하는 것을 포함한다.;
방법은 전형적으로 벡터인 객체 잠재 변수 세트 각각에 대해, 객체 잠재 변수의 객체 잠재 분포를 파라미터화하는 하나 이상의 값, 예를 들어 분포의 평균 또는 표준 편차(또는 분산)를 결정하는 단계를 추가로 포함한다. 이것은 이미지 프레임의 시간에 따라 상기 변환된 공간 인코딩의 그룹을 집계함으로써 수행된다. 방법은 또한 프레임 잠재 변수 세트 각각에 대해, 이미지 프레임의 영역에 걸쳐 상기 변환된 공간 인코딩의 그룹을 집계함으로써 프레임 잠재 변수의 프레임 잠재 분포를 파라미터화하는 하나 이상의 값을 결정할 수 있다. 방법은 객체 잠재 변수에 대한 객체 잠재 분포로부터 샘플링함으로써 객체 잠재 변수 세트 각각에 대한 값을 결정한다. 방법은 또한 프레임 잠재 변수에 대한 프레임 잠재 분포로부터 샘플링함으로써 프레임 잠재 변수 세트 각각에 대한 값을 결정할 수 있다.
방법은 이미지 프레임의 디코딩된 시퀀스를 생성하기 위해 상기 결정된 객체 잠재 변수의 값을 처리한다(그리고 결정된 프레임 잠재 변수의 결정된 값을 처리할 수도 있음). 잠재 변수 세트로부터 이미지를 생성할 수 있는 디코더에는 여러 유형이 있으며 이들 중 하나가 사용될 수 있다. 예시적인 디코더는 차후에 설명된다.
그런 다음 방법은 i) T개의 이미지 프레임 시퀀스와 이미지 프레임의 디코딩된 시퀀스 사이의 차이의 측정값 및 ii) 각 객체 잠재 분포와 이전 객체 잠재 분포 사이의 차이에 따라 목적 함수를 최적화하기 위해 적어도 셀프-어텐션 신경망 파라미터의 값을 조정함으로써 시스템을 트레이닝하는 단계를 포함한다. 결정된 경우, 목적 함수는 iii) 각각의 프레임 잠재 분포와 이전 프레임 잠재 분포 사이의 차이에 따라 최적화될 수 있다. 이전 객체 잠재 분포와 이전 프레임 잠재 분포는 동일한 분포(예를 들어, 단위 가우스)일 수 있다.
위에 설명된 방법의 구현은 트레이닝된 비디오 객체 표현 신경망 시스템을 제공한다.
일부 애플리케이션에서는 일단 트레이닝되면 시스템의 인코더 부분만, 즉 선택적으로 이러한 분포로부터 샘플링하도록 구성된 부분을 비롯하여(다른 구현에서는 정보가 예를 들어 이러한 분포의 평균으로부터 파생될 수 있음), 비디오 시퀀스 입력으로부터 객체 및 (선택적으로) 프레임 잠재 분포를 결정하도록 구성된 부분까지의 시스템 부분만 필요할 수 있다. 일부 애플리케이션에서는 일단 트레이닝되면 나중에 설명되는 바와 같이 2D 또는 3D 이미지의 비디오 시퀀스를 생성하기 위해 시스템의 훈련된 디코더 부분만 필요할 수 있다.
트레이닝된 시스템의 구현은 객체 잠재 변수 세트에 객체 정보를 제공한다. 예를 들어, 구현에서 이들은 상이한 객체 잠재 변수가 장면의 객체 변화와 크기, 색상, 예를 들어 각 차원에서의 위치 및 모션과 같은 속성의 다양한 인자(factor)에 대응하도록 할 수 있도록 실질적으로 풀릴(disentangled) 수 있다. 마찬가지로 구현에서 상이한 프레임 잠재 변수는 예를 들어 각 차원에서 뷰포인트 위치와 같은 비디오 시퀀스 프레임의 서로 다른 전역 속성을 풀 수 있다. 방법 및 시스템의 추가 장점은 나중에 설명된다.
구현에서 각각의 공간 인코딩은 이미지 프레임의 "패치" 또는 개별 영역의 특징 맵, 즉 시각적 특징의 맵을 포함한다. 공간 인코딩 세트를 생성하기 위해 이미지 프레임을 처리하는 것은 이미지 프레임의 각 영역에 대한 특징 맵을 생성하기 위해 복수의 특징 추출 신경망 파라미터를 갖는 특징 추출 신경망(예를 들어, 컨볼루션 신경망)을 사용할 수 있다. 시스템을 트레이닝하는 단계는 특징 추출 신경망 파라미터의 값을 조정하는 단계를 포함할 수 있다.
구현에서 객체 잠재 변수(및 선택적으로 프레임 잠재 변수)의 결정된 값은 복수의 이미지 프레임 디코더 신경망 파라미터를 갖는 이미지 프레임 디코더 신경망을 사용하여 처리되어 이미지 프레임의 디코딩된 시퀀스를 생성한다. 시스템을 트레이닝하는 단계는 이미지 프레임 디코더 신경망 파라미터의 값을 조정하는 단계를 포함할 수 있다.
일부 구현에서, 이미지 프레임의 디코딩된 시퀀스는 연속적인 디코딩된 이미지 프레임 시간 단계 각각에 대한 이미지 프레임을 포함한다. 이미지 프레임의 디코딩된 시퀀스를 생성하는 것은 각각의 디코딩된 이미지 프레임 픽셀 및 각각의 디코딩된 이미지 프레임 시간 단계에 대해, 각 객체 잠재 변수에 대한 픽셀 분포의 파라미터를 생성하기 위해 이미지 프레임 디코더 신경망을 사용한다. 특히 이미지 프레임 디코더 신경망은 각 객체 잠재 변수에 대한 픽셀 분포(μ)의 파라미터를 결정하기 위해 객체(및 선택적으로 프레임 잠재 변수)의 결정된 값과 픽셀의 위치를 지정하는 정보 및 시간 단계를 지정하는 정보를 처리한다. 그런 다음 각각의 객체 잠재 변수에 대한 픽셀 분포가 결합되어 결합된 픽셀 분포를 결정한다. 그런 다음 픽셀과 시간 단계의 값을 결정하기 위해 샘플링된다. 예를 들어, 일 구현에서 (이미지 프레임 디코딩을 위한) 프레임 잠재 변수는 객체 잠재 변수 각각과 연결 (concatenate)되어 이미지 프레임 디코더 신경망에 입력, 보다 상세하게는 입력 세트를 제공한다.
이미지 프레임의 디코딩된 시퀀스를 생성하는 단계는 각각의 객체 잠재 변수, 각각의 픽셀 및 각각의 시간 단계에 대한 혼합 가중치를 결정하는 단계를 포함할 수 있다. 그런 다음 객체 잠재 변수 각각에 대한 픽셀 분포는 선택적으로 정규화되는 각각의 혼합 가중치에 따라 결합될 수 있다. 이러한 구현에서, 각 객체 잠재 변수에 대한 픽셀당 혼합 가중치는 예를 들어, 각 이미지 프레임을 이미지 프레임내의 상이한 객체를 나타내는 영역으로 분할하기 위해 객체 잠재 변수에 해당하는 객체에 대한 소프트 분할 마스크를 제공한다.
이미지 프레임의 시퀀스와 이미지 프레임의 디코딩된 시퀀스 사이의 차이에 대한 임의의 적절한 척도, 예를 들어 교차 엔트로피 손실, 제곱 오류 손실, 또는 휴버(Huber) 손실이 사용될 수 있다. 분포 간의 차이를 측정하기 위해 임의의 적절한 척도, 예를 들어 KL 또는 젠슨-섀넌(Jensen-Shannon) 발산 또는 분포 사이의 거리에 대한 다른 척도가 사용될 수 있다.
일부 구현에서 방법은 비디오 시퀀스의 하나 이상의 객체 또는 하나 이상의 객체에 대한 객체 속성을 정의하는 조건화 입력을 획득하는 단계 또는 뷰포인트 위치 또는 방향(예를 들어, 포즈)을 정의하는 단계를 포함할 수 있다. 조건화 입력은 트레이닝 동안 셀프-어텐션 신경망과 이미지 프레임 디코더 신경망에 제공될 수 있다. 이러한 방식으로, 시스템은 예를 들어 생성된 비디오 이미지 시퀀스에 포함될 객체 또는 객체의 속성을 정의하는 조건화 입력 또는 그 생성된 비디오 시퀀스에 대해 선택적으로 변경되는 뷰포인트에 대해 조건부로 비디오 이미지 시퀀스를 생성하도록 트레이닝될 수 있다.
이전에 설명된 바와 같이, 셀프-어텐션 계층은 트랜스포머 신경망 계층일 수 있다. 트랜스포머 신경망 아키텍처를 컴퓨터 비전에 적용하는 방법은 arXiv:2010.11929에 설명되어 있다.
구현에서, 어텐션 신경망을 사용하여 S×T 공간 인코딩 그룹을 처리하는 단계는 이미지 프레임의 개별 영역과 이미지 프레임 시간을 정의하는 S×T 공간 인코딩 각각에 위치 정보를 추가(add)하는 단계를 포함할 수 있다. 위치 정보는 예를 들어 위치 임베딩, 즉 이미지 프레임 영역 및 시간의 임베딩을 포함할 수 있다. 임베딩은 공간 인코딩과 동일한 차원의 벡터를 포함할 수 있으며, 이는 개별 공간 인코딩에 추가될 수 있다. 임베딩은 학습되거나 사전 정의될 수 있다.
구현에서, 어텐션 신경망을 사용하여 S×T 공간 인코딩 그룹을 처리하는 단계는 각 공간 인코딩에 대한 쿼리 및 키-값 쌍을 생성하기 위해 하나 이상의 셀프-어텐션 계층 중 하나를 사용하여 S×T 공간 인코딩 그룹을 포함하는 계층 입력을 처리하는 단계를 포함한다. 그런 다음 셀프-어텐션 메커니즘은 변환된 공간 인코딩 그룹을 결정하기 위해 예를 들어 각각의 키, 더 구체적으로는 키-값 쌍에 예를 들어 각각의 쿼리를 적용하는데 사용될 수 있다. 셀프-어텐션은 마스킹된 셀프-어텐션을 포함할 수 있으며, 이 경우 모든 쿼리가 적용되지 않을 수 있다. 셀프-어텐션 메커니즘은 다중-헤드 어텐션 메커니즘일 수 있다. 구현에서 셀프-어텐션 신경망 파라미터는 쿼리와 키-값 쌍을 생성하기 위해 계층 입력에 적용되는 학습된 변환의 파라미터를 구성된다.
일반적으로 어텐션 메커니즘은 쿼리와 키-값 쌍 세트를 출력에 매핑하며 여기서 쿼리, 키 및 값은 모두 벡터이다. 출력은 값들의 가중 합으로 계산되고 여기서 각 값에 할당된 가중치는 해당 키에 대한 쿼리의 호환성 함수에 의해 계산된다. 적용되는 정확한 셀프-어텐션 메커니즘은 어텐션 신경망의 구성에 따라 달라진다. 예를 들어 각 어텐션 계층은 내적 어텐션 메커니즘, 예를 들어 스케일링된 내적 어텐션 메커니즘을 적용할 수 있다. 스케일링된 내적 어텐션에서, 주어진 쿼리에 대해, 어텐션 계층은 모든 키를 사용하여 쿼리의 내적을 계산하고, 각 내적을 스케일링 인자(예를 들어, 쿼리 및 키 차원의 제곱근)로 나눈 다음 스케일링된 내적에 소프트맥스 함수를 적용하여 값들에 대한 가중치를 획득한다. 그런 다음 어텐션 계층은 이러한 가중치에 따라 값들의 가중 합을 계산한다.
일부 구현에서, 어텐션 신경망을 사용하여 S×T 공간 인코딩 그룹을 처리하는 단계는 제1 셀프-어텐션 계층 출력을 생성하기 위해 어텐션 신경망의 제1 셀프-어텐션 계층에 대한 계층 입력으로 S×T 공간 인코딩 그룹을 제공하는 단계와, 변환된 공간 인코딩 그룹을 생성하기 위해 어텐션 신경망의 제2 셀프-어텐션 계층에 제1 셀프-어텐션 계층 출력을 제공하는 단계를 포함한다. 구현에서, 여기에는 공간 인코딩 수를 S×T 공간 인코딩으로부터 K×T 공간 인코딩으로 감소시키는 단계가 포함되며 여기서 K < S는 숫자 객체 잠재 변수이다. 따라서 구현에는 객체 잠재성 또는 동일한 수보다 더 많은 특징 맵이 있을 수 있다. 이러한 감소시키는 단계는 예를 들어 (패치 타일링의) 수평 및/또는 수직 방향으로 풀링하고 선택적으로 정규화함으로써 제1 셀프-어텐션 계층 이후 또는 제2 셀프-어텐션 계층 이후에 수행될 수 있다.
다른 양태에서, 컴퓨터로 구현된 비디오 처리 신경망 시스템이 제공되며, 이는 연속된 시간마다 하나씩, T개의 이미지 프레임의 시퀀스를 포함하는 비디오 시퀀스를 수신하고, T개의 이미지 프레임 각각에 대한 S개의 공간 인코딩 세트를 생성하여 비디오 시퀀스에 대한 S×T개의 공간 인코딩 그룹을 획득하기 위해 각각의 이미지 프레임을 처리하도록 구성된 (트레이닝된) 특징 추출 신경망을 포함한다. 각각의 공간 인코딩은 이미지 프레임의 개별 영역의 인코딩을 포함할 수 있다. 컴퓨터로 구현된 비디오 처리 신경망 시스템은 또한 각각이 계층 입력에 셀프-어텐션 메커니즘을 적용하도록 구성된 하나 이상의 셀프-어텐션 계층을 포함하는 (트레이닝된) 셀프-어텐션 신경망을 포함한다. 구현에서 셀프-어텐션 신경망은 이미지 프레임 시간 및 이미지 프레임 영역에 각각 대응하는 변환된 공간 인코딩 그룹을 생성하기 위해 S×T 공간 인코딩 그룹을 포함하는 계층 입력에 셀프-어텐션 메커니즘을 적용함으로써 셀프-어텐션 신경망을 사용하여 S×T 공간 인코딩 그룹을 처리하도록 구성된다. 계층 입력에 셀프-어텐션 메커니즘을 적용하는 것은 상이한 이미지 프레임의 공간 인코딩에 셀프-어텐션 메커니즘을 적용하는 것을 포함한다.
비디오 처리 신경망 시스템은 객체 잠재 변수 세트 각각에 대해, 이미지 프레임의 시간에 따라 상기 변환된 공간 인코딩의 그룹을 집계함으로써 객체 잠재 변수의 객체 잠재 분포를 파라미터화하는 하나 이상의 값을 결정하고, 선택적으로 객체 잠재 변수에 대한 객체 잠재 분포로부터 샘플링함으로써 객체 잠재 변수 세트 각각에 대한 값을 결정하도록 구성된다.
비디오 처리 신경망 시스템은 또한 프레임 잠재 변수 세트 각각에 대해, 이미지 프레임의 영역에 걸쳐 변환된 공간 인코딩 그룹을 집계함으로써 프레임 잠재 변수의 프레임 잠재 분포를 파라미터화하는 하나 이상의 값을 결정하고, 선택적으로 프레임 잠재 변수에 대한 프레임 잠재 분포로부터 샘플링함으로써 프레임 잠재 변수 세트 각각에 대한 값을 결정하도록 구성될 수 있다.
비디오 처리 신경망 시스템은 또한 i) 객체 잠재 분포를 파라미터화하는 값으로부터, 즉 객체 잠재 변수 또는 객체 잠재 분포를 파라미터화하는 값으로부터 비디오 시퀀스에 묘사된 하나 이상의 객체의 하나 이상의 속성; ii) 프레임 잠재 분포를 파라미터화하는 값으로부터, 즉 프레임 잠재 변수 또는 프레임 잠재 분포를 파라미터화하는 값으로부터 비디오 시퀀스에 대한 뷰포인트의 위치 또는 방향; 또는 둘 모두를 결정하도록 구성된다.
다른 양태에서 컴퓨터로 구현된 비디오 생성 신경망 시스템이 제공되며, 이것은 객체 잠재 변수에 대한 각각의 이전 객체 잠재 분포로부터 샘플링함으로써 객체 잠재 변수 세트 각각에 대한 값을 결정하도록(및 선택적으로 프레임 잠재 변수에 대한 각각의 이전 프레임 잠재 분포로부터 샘플링함으로써 프레임 잠재 변수 세트 각각에 대한 값을 결정하도록) 구성된다.
시스템은 연속적인 시간 단계에서 생성된 이미지 프레임의 시퀀스를 포함하는 비디오 시퀀스를 생성하기 위해 결정된 객체 잠재 변수의 값(및 선택적으로 프레임 잠재 변수의 결정된 값)을 처리하는 (트레이닝된) 이미지 프레임 디코더 신경망을 포함한다. 이미지 프레임 디코더 신경망은 각각의 생성된 이미지 프레임의 각 픽셀과 각각의 생성된 이미지 프레임 시간 단계에 대해: 셀 및 시간 단계에 대해, 객체 잠재 변수 각각에 대한 픽셀 분포의 파라미터를 결정하기 위해 상기 결정된 객체 잠재 변수의 값(및 선택적으로 프레임 잠재 변수의 결정된 값), 픽셀의 위치를 지정하는 정보 및 시간 단계를 지정하는 정보를 처리하고; 결합된 픽셀 분포를 결정하기 위해 각각의 객체 잠재 변수에 대한 픽셀 분포를 결합하고; 픽셀과 시간 단계에 대한 값을 결정하기 위해 상기 결합된 픽셀 분포로부터 샘플링하도록 구성된다.
본 명세서에 설명된 주제의 특정 실시예는 다음 장점 중 하나 이상을 실현하도록 구현될 수 있다.
비디오 객체 표현 신경망 시스템, 특히 특징 추출 신경망과 셀프-어텐션 신경망을 포함하는 시스템의 인코더 부분은 3D 장면의 비디오 시퀀스를 처리하고 다수의 객체를 동시에 풀고 식별, 즉 특징화할 수 있다. 시스템은 뷰포인트나 카메라 포즈에 관한 정보를 명시적으로 제공하지 않고도 뷰포인트(예를 들어, 카메라 포즈)가 변경되는 경우에도 이를 수행할 수 있다. 이 시스템의 구현은 많은 객체와 복잡한 배경이 있는 장면을 처리할 수 있다.
따라서 시스템은 많은 태스크에 중요한 표현, 즉 동종중심적인(allocentric) 개체 잠재 변수나 그 분포의 세트를 결정할 수 있다. 예를 들어 뷰포인트를 인식하지 못하는 시스템은 뷰포인트로부터 객체까지의 거리와 그 크기를 융합할 수 있으며, 시스템의 실시예는 이 문제를 극복할 수 있다.
시스템의 실시예에서, 객체 잠재 변수 세트 또는 그 분포는 카메라 포즈와 관련하여 장면 내 객체의 안정적인 표현을 제공한다. 시스템 구현에서 이는 비디오 시퀀스의 다양한 이미지 프레임에 걸쳐 공간과 시간에 대한 어텐션을 사용하여 카메라 포즈와 같은 비디오 시퀀스의 전역적 또는 동적 속성으로부터 정적, 즉 실질적으로 시불변인 개체 속성을 분리하는 인수분해된 잠재 공간과 결합하여 달성된다. 이를 통해 시스템은 객체 궤적 요약과 같은 정적 객체 모션 특성을 결정할 수도 있다.
시스템은 또한 프레임 잠재 변수 세트의 뷰포인트 또는 그들의 분포와 같은 전역적이고 시간에 따라 변하는 장면 속성의 표현을 결정한다. 뷰포인트를 결정하는 기능을 통해 시스템은 예를 들어 카메라나 다른 비디오 캡처 디바이스가 장착된 모바일 기계 에이전트의 위치를 결정하는데 사용할 수 있다.
시스템의 일부 구현은 또한 일부 이전 시스템에 비해 아키텍처가 단순하지만 성능은 떨어진다.
시스템의 구현은 또한 예를 들어 특정 뷰포인트에서 본 것처럼 기존 장면의 비디오 시퀀스 또는 하나 이상의 객체를 포함하는 새 장면이나 수정된 장면의 비디오 시퀀스를 생성하는데 사용될 수 있다. 이는 예를 들어 기존 장면으로부터 또는 사전 분포로부터 샘플링함으로써 잠재 변수에 대한 값을 결정한 다음 이를 비디오 객체 표현 신경망 시스템, 특히 시스템의 디코더 부분에 제공함으로써 수행될 수 있다. 이것은 예를 들어 뷰포인트 보간 또는 외삽에 사용될 수 있으며, 태스크를 수행하기 위해 로봇과 같은 기계 에이전트를 제어할 때 계획을 세우는 데에도 사용될 수 있다. 이전에 트레이닝된 특정 장면에 대해 이를 수행할 수 있는 일부 이전 시스템과 달리, 시스템의 실시예는 상이한 장면에 대해 트레이닝한 다음 이전에 볼 수 없었던 새로운 장면에 대해 이를 수행할 수 있다.
예를 들어, 트레이닝되지 않거나 트레이닝된 비디오 객체 표현 신경망 시스템의 인코더는 에이전트가 태스크를 수행하도록 제어하는 강화 학습 시스템뿐만 아니라 에이전트가 작동하는 환경의 이미지 대신 강화 학습 시스템이 더 빠르고 효과적으로 학습할 수 있도록 하는데 사용될 수 있다. 또는 트레이닝되지 않거나 트레이닝된 비디오 객체 표현 신경망 시스템의 디코더는 에이전트 제어를 위한 액션 선택 정책을 학습할 때 모델 기반 강화 학습 시스템을 사용하여 환경의 미래 상태를 예측할 수 있다.
본 명세서의 주제에 대한 하나 이상의 실시예의 세부사항은 첨부 도면 및 아래 설명에서 설명된다. 주제의 다른 특징, 측면 및 이점은 설명, 도면 및 청구범위로부터 명백해질 것이다.
도 1은 비디오 객체 표현 신경망 시스템을 도시한다.
도 2는 비디오 객체 표현 신경망 시스템의 인코더 신경망을 도시한다.
도 3은 잠재 변수를 픽셀 값으로 디코딩하도록 구성된 비디오 객체 표현 신경망 시스템의 이미지 프레임 디코더 신경망을 도시한다.
도 4는 비디오 객체 표현 신경망 시스템의 디코더에 의해 수행되는 디코딩 프로세스의 개략도이다.
도 5는 시스템을 사용하여 비디오 객체 신경망을 트레이닝하기 위한 예시적인 프로세스의 흐름도이다.
도 6은 비디오 객체 표현 신경망 시스템의 트레이닝된 인코더 부분을 사용하여 객체 속성을 획득하기 위한 프로세스의 흐름도이다.
도 7은 비디오 객체 표현 신경망 시스템의 트레이닝된 디코더 부분을 사용하여 이미지 시퀀스를 생성하기 위한 프로세스의 흐름도이다.
도 8은 비디오 객체 표현 신경망 시스템과 두 개의 다른 신경망 모델에 의해 수행되는 뷰 합성 태스크의 비교를 도시한다.
다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 요소를 나타낸다.
도 2는 비디오 객체 표현 신경망 시스템의 인코더 신경망을 도시한다.
도 3은 잠재 변수를 픽셀 값으로 디코딩하도록 구성된 비디오 객체 표현 신경망 시스템의 이미지 프레임 디코더 신경망을 도시한다.
도 4는 비디오 객체 표현 신경망 시스템의 디코더에 의해 수행되는 디코딩 프로세스의 개략도이다.
도 5는 시스템을 사용하여 비디오 객체 신경망을 트레이닝하기 위한 예시적인 프로세스의 흐름도이다.
도 6은 비디오 객체 표현 신경망 시스템의 트레이닝된 인코더 부분을 사용하여 객체 속성을 획득하기 위한 프로세스의 흐름도이다.
도 7은 비디오 객체 표현 신경망 시스템의 트레이닝된 디코더 부분을 사용하여 이미지 시퀀스를 생성하기 위한 프로세스의 흐름도이다.
도 8은 비디오 객체 표현 신경망 시스템과 두 개의 다른 신경망 모델에 의해 수행되는 뷰 합성 태스크의 비교를 도시한다.
다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 요소를 나타낸다.
도 1은 하나 이상의 위치에 있는 하나 이상의 컴퓨터에 의해 구현될 수 있는 비디오 객체 표현 신경망 시스템(100)을 개략적으로 도시한다. 비디오 객체 표현 신경망 시스템(100)은 이미지의 입력 시퀀스(H×W 픽셀 크기를 갖는 프레임)로부터 잠재(latent) 변수를 추론하도록 트레이닝된 추론 네트워크(인코더(102))와 인코더(102)에 의해 생성된 잠재 변수를 디코딩하여 픽셀 값(즉, 이미지)을 생성하도록 트레이닝된 생성형 모델(디코더(120))을 포함한다. 인코더(102)는 안정적인 객체 추적을 허용하는 시공간 어텐션 기반 추론을 사용한다. 디코더(120)는 완전히 다른 뷰포인트(관점)에서 동일한 장면 컨텐츠(즉, 객체 및 해당 속성, 상대 재배열 및 분할 할당)의 일관된 렌더링을 생성하기 위해 주어진 시퀀스의 객체 잠재 변수를 다른 시퀀스의 프레임 잠재 변수와 결합할 수 있다.
특히, 인코더(102)는 입력 이미지 시퀀스를 처리하고 이미지 시퀀스에 묘사된 컨텐츠를 나타내는 K개의 객체(또는 슬롯) 잠재 변수() 세트를 생성하도록 트레이닝된다. 구현에서, 객체 잠재 변수는 입력(104)의 모든 프레임에서 불변이다. 즉, 그 분포는 시간이 지나도 일정하며 전체 시퀀스에 걸쳐 정보를 요약할 것으로 예상된다.
인코더(102)는 또한 입력 시퀀스의 각 프레임(t)에 대한 프레임 잠재 변수를 포함하는 T개의 프레임 잠재 변수() 세트를 출력한다. 프레임 잠재 변수는 입력 이미지 시퀀스 전체 걸쳐 시간에 따라 변하는(시변) 전역 컨텐츠/뷰 컨텐츠를 나타낸다. 중요한 것은 인코더(102)가 지도 없이 장면 시퀀스를 객체 잠재 변수와 프레임 잠재 변수로 분해하고 인수분해한다는 점이다.
잠재 공간을 K개의 객체 잠재 변수와 T개의 프레임 잠재 변수로 인수분해함으로써, 비디오 시퀀스를 표현하는데 필요한 잠재 변수의 수는 에서 K+T로 줄일 수 있다. 잠재 변수에 대한 사전 분포(prior)는 객체 잠재 변수, 프레임 잠재 변수 및 특징 차원 간의 독립성을 가정할 수 있고, 예를 들어 이것은 로 정의될 수 있으며 N(0,I)는 가우스 단위를 나타낸다.
인코더(102)는 입력(104)으로서 T개의 이미지 프레임(x1-xt)(각각은 H×W 픽셀 크기를 가짐)의 시퀀스(X)를 수신한다. 시퀀스는 다수의 뷰포인트에서 촬영된 장면의 이미지 시퀀스일 수 있다. 전술한 바와 같이, 입력(104)은 대응하는 객체(또는 슬롯) 잠재 변수(O) 및 프레임 잠재 변수(F)를 결정하기 위해 처리된다. 가우스 근사 사후(posterior)(q(O,F|X))는 인코더(104)의 출력()(여기서 는 인코더의 파라미터를 나타냄)으로 파라미터화되며, 이는 입력 시퀀스(104)가 주어진 모든 잠재 변수에 대해 예를 들어 로그 스케일(log-scale)로 평균 및 분산(예를 들어, 표준 편차)을 정의하는 값을 출력한다.
더 상세하게는, 프레임(104)의 시퀀스는 처리되어 T개의 이미지 프레임 각각에 대한 S개의 공간 인코딩 세트를 포함하는 출력(107)을 얻는다. 출력(107)의 S개의 공간 인코딩 각각은 특정 이미지 프레임(x)과 연관되어 있으며 이미지 프레임의 각 영역에 대한 인코딩이다. S는 H×W와 동일할 수 있다. 즉, 각 영역은 개별 픽셀일 수 있다.
예를 들어, T개의 이미지 프레임 각각에 대한 S개의 공간 인코딩 세트를 생성하기 위해 프레임 시퀀스(104)를 처리하는 것은, 복수의 특징 추출 신경망 파라미터를 갖고 이미지 프레임을 입력으로 수신하고 해당 이미지 프레임에 대한 S개의 공간 인코딩 세트를 출력으로 제공하도록 트레이닝된 특징 추출 신경망(106)에 의해 이미지 프레임 각각을 처리하는 것을 포함할 수 있다. 예를 들어, 특징 추출 신경망(106)은 각 시간 단계에서 S개의 공간 특징 맵을 출력하도록 트레이닝된 하나 이상의 컨벌루션 신경망 계층을 갖는 컨벌루션 신경망을 포함할 수 있다. 각 특징 맵에는 C개의 채널이 포함될 수 있다. S는 객체 잠재 변수(K)의 수보다 클 수 있다.
S×T 공간 인코딩의 출력(107)은 하나 이상의 셀프-어텐션 계층을 포함하는 셀프-어텐션 신경망(108)에 입력으로 제공된다. 어텐션 신경망(108)은 셀프-어텐션 메커니즘을 적용함으로써 S×T 공간 인코딩 그룹을 처리하여 K개의 변환된 공간 인코딩 그룹을 포함하는 출력(109)을 생성하도록 트레이닝된다. 예를 들어, S×T 공간 인코딩 그룹은 계층 입력으로서 하나 이상의 셀프-어텐션 계층 중의 제1 계층에 대한 입력으로 제공되고 해당 계층에 의해 처리되어 공간 인코딩 각각에 대한 쿼리(질의) 및 키-값 쌍을 생성할 수 있다. 그런 다음 셀프-어텐션 메커니즘은 키-값 쌍에 쿼리를 적용하여 변환된 공간 인코딩 그룹을 결정할 수 있다. 셀프-어텐션 신경망 파라미터는 쿼리와 키-값 쌍을 생성하기 위해 계층 입력에 적용되는 학습된 변환의 파라미터라는 것이 이해될 것이다.
각각의 변환된 공간 인코딩은 이미지 프레임 시간(t) 및 이미지 프레임 영역에 해당한다. 어텐션 신경망(108)의 출력(109)은 로 표시될 수 있다.
출력(109)은 잠재 분포 생성기(110)에 제공된다. 잠재 분포 생성기(110)는 T개의 프레임 및 K개의 객체 사후 파라미터를 얻기 위해 별도의 축을 따라 출력(109)을 집계하도록 구성된다. 특히, K개의 객체 잠재 변수(O)의 세트 각각에 대해, 객체 잠재 변수의 객체 잠재 분포를 파라미터화하는 하나 이상의 값은 이미지 프레임의 시간에 따라 어텐션 신경망(108)의 출력(109)을 집계함으로써 결정된다. 유사하게, T개의 프레임 잠재 변수(F)의 세트 각각에 대해, 프레임 잠재 변수의 프레임 잠재 분포를 파라미터화하는 하나 이상의 값은 이미지 프레임의 영역에 걸쳐 어텐션 신경망(108)의 출력(109)을 집계함으로써 결정된다.
분포 생성기는 다층 퍼셉트론(MLP)과 같은 하나 이상의 신경망을 포함할 수 있다. 예를 들어, 제1 MLP(mlpo)는 출력(109)을 처리하여 이미지의 시간에 따라 집계된 출력(109)을 입력으로서 수신하고 객체 잠재 분포()를 출력하도록 트레이닝될 수 있다. 마찬가지로, 제2 MLP(mlpf)는 출력(109)을 처리하여 이미지 영역에 걸쳐 집계된 출력(109)을 입력으로서 수신하고 프레임 잠재 분포()를 출력하도록 트레이닝될 수 있다.
잠재 분포 생성기(110)는 객체 잠재 변수에 대한 객체 잠재 분포로부터 샘플링함으로써 객체 잠재 변수 세트 각각에 대한 값을 결정하고 K개의 객체 잠재 변수() 세트을 포함하는 출력(112)을 생성하도록 구성되는데 여기서 는 객체 잠재 평균을 나타내고 는 객체 잠재 표준 편차를 나타낸다. 잠재 분포 생성기(110)는 또한 프레임 잠재 변수에 대한 프레임 잠재 분포로부터 샘플링함으로써 프레임 객체 변수 세트 각각에 대한 값을 결정하고 T개의 객체 잠재 변수() 세트를 포함하는 출력(114)을 생성하도록 구성되며 여기서 는 프레임 잠재 평균을 나타내고 는 프레임 잠재 표준 편차를 나타낸다.
어텐션 신경망(108)은 하나 이상의 제1 셀프-어텐션 계층(T1) 및 하나 이상의 제2 셀프-어텐션 계층(T2)을 포함할 수 있다. 하나 이상의 제1 셀프-어텐션 계층(T1)과 하나 이상의 제2 셀프-어텐션 계층(T2)은 트랜스포머 신경망 서브시스템을 포함할 수 있다. 일반적으로 트랜스포머 신경망 서브시스템은 연속적인 셀프-어텐션 신경망 계층을 갖는 특징으로 하는 서브시스템일 수 있다. 셀프-어텐션 신경망 계층은 각 입력 요소(element)에 대한 어텐션 계층 입력을 가지며, 각 입력 요소에 대한 어텐션 계층 출력을 생성하기 위해 어텐션 계층 입력에 걸쳐 어텐션 메커니즘을 적용하도록 구성된다. 사용될 수 있는 어텐션 메커니즘은 다양하다.
일반적으로, 어텐션 계층은 학습된 쿼리 선형 변환을 현재 입력 시퀀스의 각 입력 위치의 각각의 은닉 상태에 적용하여 각 입력 위치에 대한 개별 쿼리를 생성하고, 학습된 키 선형 변환을 (i) 각 입력 위치의 각 은닉 상태와 (ii) 에피소드 및 압축 메모리 내의 각 슬롯의 각각의 은닉 상태에 적용하여 각 입력 위치와 각 메모리 슬롯에 대한 개별 키를 생성하고, 학습된 값 선형 변환을 (i) 각 입력 위치의 각각의 은닉 상태와 (ii) 에피소드 및 압축 메모리 내 각 슬롯의 각각의 은닉 상태에 적용하여 각 입력 위치와 각 메모리 슬롯에 대한 해당 값을 생성하도록 구성된다. 그런 다음 어텐션 계층은 이러한 쿼리, 키 및 값을 사용하여 위에 설명된 어텐션 메커니즘을 적용하여 계층 입력 시퀀스에 대한 출력 시퀀스를 결정한다. 출력 시퀀스는 일반적으로 각 입력 위치의 각각의 은닉 상태 입력에 대한 개별 적용된(attended) 벡터를 포함한다. 일반적으로, 쿼리, 키, 값은 모두 벡터이다. 본 명세서에 사용된 바와 같이, "학습된"이라는 용어는 시스템의 트레이닝 중에 목적 함수의 기울기(gradients) 역전파 등에 의해 연산이나 값이 조정되었음을 의미한다.
일부 구현에서, 어텐션 계층이 상이한 위치에 있는 상이한 표현 하위 공간의 정보에 공동으로 주의를 기울일 수 있도록 허용하기 위해, 어텐션 계층은 다중 헤드(multi-head) 어텐션을 사용한다.
다중 헤드 어텐션를 구현하기 위해, 어텐션 계층은 h개의 상이한 어텐션 메커니즘을 병렬로 적용한다. 즉, 어텐션 계층은 h개의 상이한 어텐션 서브계층을 포함하며, 동일한 어텐션 계층 내의 각 어텐션 서브계층은 동일한 원본(original) 쿼리, 원본 키 및 원본 값을 수신한다.
각 어텐션 서브계층은 학습된 선형 변환을 사용하여 원본 쿼리, 키 및 값을 변환한 다음 그 변환된 쿼리, 키 및 값에 어텐션 메커니즘을 적용하도록 구성된다. 각 어텐션 서브계층은 일반적으로 동일한 어텐션 계층에 있는 각각의 다른 어텐션 서브계층으로부터 서로 다른 변환을 학습한다.
특히, 각 어텐션 서브계층은 학습된 쿼리 선형 변환을 각 원본 쿼리에 적용하여 각 원본 쿼리에 대한 계층별 쿼리를 생성하고, 학습된 키 선형 변환을 각 원본 키에 적용하여 각 원본 키에 대한 계층별 키를 생성하고, 학습된 값 선형 변환을 각 원본 값에 적용하여 각 원본 값에 대한 계층별 값을 생성하도록 구성된다. 그런 다음 어텐션 서브계층은 이러한 계층별 쿼리, 키 및 값을 사용하여 위에 설명된 어텐션 메커니즘을 적용하여 어텐션 서브계층에 대한 초기 출력을 생성한다.
T1은 S×T 공간 인코딩을 입력으로 수신하고 S×T개의 변환된 공간 인코딩을 출력할 수 있다. 각각의 S×T 공간 인코딩은 다른 모든 S×T 공간 인코딩에 적용(attend)된다. S×T가 K보다 큰 경우, S×T 변환 공간 인코딩은 K×T 변환 공간 인코딩으로 감소될 수 있다. 예를 들어, T1에서 출력된 S×T개의 변환된 공간 인코딩은 그 출력에 대해 풀링 연산을 수행하는 풀링 계층의 입력일 수 있다. T1의 출력(또는 감소된 출력)은 출력(109)으로 트레이닝된 T2에 대한 입력으로서 제공된다. T2의 출력은 T2에 입력되는 것과 동일한 수의 슬롯을 포함할 수 있다. 예를 들어, T1의 출력이 풀링 이전에 S개의 슬롯을 포함하고 풀링 이후에 K개의 슬롯을 포함하는 경우, T2의 출력은 K개의 슬롯을 포함할 수 있다.
T1 및 T2 각각은 절대 위치 임베딩을 사용할 수 있다. 위치 임베딩은 각 슬롯의 시공간 위치를 나타내기 위해 3차원일 수 있다. 대안적인 구현에서, T1 및 T2는 상대 위치 임베딩을 사용할 수 있다.
디코더(120)는 복수의 디코더 신경망 파라미터를 포함하고 객체 잠재 변수(O) 및 프레임 잠재 변수(F)를 포함하는 입력을 처리하고 생성된 이미지 시퀀스를 출력으로 생성하도록 트레이닝된다.
이미지는 디코더(120)에 "질의(querying)"함으로써 디코딩/생성된다. 디코더(120)는 객체 잠재 변수 및 프레임 잠재 변수(예를 들어 샘플링된 잠재 변수(112, 114))를 포함하는 입력(122)을 수신하고 그 입력(122)을 처리하여 하나 이상의 시간 단계에 대해 생성된 이미지 프레임의 디코딩된 시퀀스를 포함하는 출력(124)을 생성한다. 예를 들어, 출력(124)은 연속적인 디코딩된 이미지 프레임 시간 단계 각각에 대한 이미지 프레임을 포함할 수 있다.
잠재 변수 세트로부터 이미지를 생성할 수 있는 많은 유형의 디코더가 있으며 이들 중 임의의 것이 사용될 수 있다. 일 예에서, 디코더(120)는 신경망으로서, 다층 퍼셉트론 또는 컨볼루션 신경망일 수 있다. 객체 및 프레임 잠재 변수에 추가하여, 입력(122)은 생성될 이미지의 영역 및 디코딩되는 시간 단계를 더 포함할 수 있다.
디코딩된 영역은 예를 들어 개별 픽셀일 수 있다. 이미지 프레임의 시퀀스를 디코딩하는 것은 각각의 디코딩된 이미지 프레임의 각 픽셀에 대해 그리고 각각의 디코딩된 이미지 프레임 시간 단계에 대해, 디코더가 객체 잠재 변수의 값, 프레임 잠재 변수의 값, 픽셀의 위치를 지정하는 정보, 및 시간 단계를 지정하는 정보를 포함하는 입력을 처리하는 것을 포함할 수 있다. 디코더는 입력의 객체 잠재 변수 각각의 픽셀 분포의 픽셀 및 시간 단계 파라미터를 결정한다. 디코더는 또한 객체 잠재 변수 각각에 대한 픽셀 분포를 결합하여 결합된 픽셀 분포를 결정할 수 있고 결합된 픽셀 분포로부터 샘플링하여 픽셀에 대한 값과 시간 단계에 대한 값을 결정할 수 있다.
예를 들어, 각 픽셀은 K개의 구성요소를 갖는 가우스 혼합 모델로 모델링될 수 있다. 모든 영역과 모든 프레임이 독립적이라고 가정하면, 임의의 RGB 픽셀(xt,i)(1≤i≤HW)에 대한 혼합 가중치는 어떤 객체(k)가 해당 픽셀을 "설명(explain)"하는지 캡처(포착)할 수 있다. 해당 혼합 가중치() 및 픽셀 재구성 수단(μk,t,i)은 디코더(120)를 사용하여 특정 시간 단계(t) 및 특정 픽셀 위치(li)에서 모든 슬롯(k)에 대해 계산될 수 있다.
개별 픽셀에 대해 작동하도록 디코더(120)를 제한함으로써, 이는 전체 이미지가 아닌 픽셀의 서브세트를 트레이닝 대상으로 사용하여 메모리와 계산을 유리하게 절약할 수 있다. 일단 픽셀들이 디코딩되면, 혼합 가중치()는 예를 들어 K개의 슬롯 (에 걸쳐 마스크 로짓(mask logits)의 소프트맥스를 취함으로써 얻어질 수 있다.
방정식 (2)는 전체 픽셀 우도(likelihood)를 지정하며, 여기서 σx는 스칼라 하이퍼파라미터이다.
시간(t)에 대한 입력(124)을 생성할 때, 시간(t) 동안 단일 이미지 프레임을 디코딩하는 프로세스를 개략적으로 도시하는 도 4에 개략적으로 도시된 바와 같이, 객체 잠재 변수(O)는 디코딩되는 시간 단계에 대한 프레임 잠재 변수(ft)와 연결(concatenate)될 수 있다. 도 4에서, 프레임 잠재 변수(ft)는 각 프레임 잠재 변수(o1…k)와 연결된다. 연결된 잠재 변수는 각 위치(li)에 대해 샘플링되어 각 픽셀을 렌더링하고 픽셀 혼합 모델을 생성한다. 객체 잠재 변수와 연결된 프레임 잠재 변수는 객체 잠재 변수가 추론되었던 것과 동일한 입력 시퀀스로부터 추론될 수 있다. 대안적으로, 프레임 잠재 변수는 다른 입력 시퀀스로부터 나온 것일 수 있다. 이러한 방식으로, 하나의 입력 시퀀스로부터의 전역/뷰 컨텐츠(예를 들어, 조명 및 카메라 포즈)가 다른 입력 시퀀스로 전달될 수 있다.
예시적인 구현에서, 시스템(100)은 새로운 표현을 생성하는데 사용될 수 있다. 예를 들어, 시스템(100)은 비디오 시퀀스(104)내의 하나 이상의 객체에 대한 하나 이상의 객체 또는 객체 속성을 정의할 수 있는 조건화(conditioning) 입력에 따라 조건부로 비디오 이미지 시퀀스를 생성하도록 트레이닝될 수 있다. 예를 들어, 조건화 입력은 생성된 비디오 이미지 시퀀스(124)에 포함될 객체를 정의할 수 있고 및/또는 객체의 속성을 정의할 수 있다. 대안적으로 또는 추가적으로, 조건화 입력은 정적이거나 변화하는 뷰포인트 위치 또는 방향을 정의할 수 있다. 장면의 객체에 대해 조건부 사전 분포(priors)가 학습될 수 있다. 예를 들어, 신경망(예를 들어, 순환 신경망)은 장면의 객체와 연속 프레임 잠재성에 대한 조건부 사전 분포를 학습하는데 사용될 수 있다.
추가적으로, 위에서 설명한 예시적인 구현은 객체 잠재 변수와 프레임 잠재 변수를 모두 결정하지만, 객체 및 프레임 잠재 변수를 모두 결정 및/또는 출력할 필요는 없다는 점을 이해해야 한다. 예를 들어, 프레임 잠재 변수를 인코딩/추론하는 대신, 인코더(102) 및 디코더(120)는 실측(ground-truth) 뷰포인트/카메라 포즈에 대해 직접적으로 조건화될 수 있다. 즉, 신경망(100)은 완전히 비지도로 작동하는 것이 아니라 "뷰-지도형(view-supervised)"일 수 있다. 이러한 뷰-지도형 접근 방식과 다른 뷰-지도형 모델의 비교는 도 7에 도시되어 있으며 아래에서 더 자세히 설명된다. 뷰 지도형 시스템에서는, 디코딩하는 동안, 보이지 않는 뷰포인트에서 뷰를 생성하도록 새로운 뷰포인트(즉, 트레이닝 중에 시스템에 제공되지 않았던 뷰포인트)가 디코더에 제공될 수 있다.
도 5는 비디오 객체 표현 신경망 시스템(100)에 따라 배열될 수 있는 비디오 객체 표현 신경망 시스템을 트레이닝하기 위한 예시적인 방법의 흐름도이다.
제1 단계(502)에서, (비디오 시퀀스(104)와 같은) 비디오 시퀀스가 획득된다. 비디오 시퀀스는 연속된 시간(t)마다 하나씩 T개의 이미지 프레임 시퀀스로 구성된다. 단계(504)에서, 비디오 시퀀스의 각 이미지 프레임은 (예를 들어 특징 추출 네트워크(106)에 의해) 처리되어 T개의 이미지 프레임 각각에 대해 S개의 공간 인코딩 세트를 생성하고, 그에 따라 비디오 시퀀스에 대한 S×T개의 공간 인코딩 그룹을 생성한다.
단계(506)에서, S×T 공간 인코딩 그룹은 S×T 공간 인코딩 그룹(예를 들어, 계층 입력(107))을 포함하는 계층 입력에 (예를 들어, 셀프-어텐션 네트워크(108)에 의해) 셀프-어텐션 메커니즘을 적용하여 변환된 공간 인코딩 그룹을 포함하는 출력(예를 들어, 출력(109))을 생성함으로써 셀프-어텐션 신경망에 의해 처리된다. 각각의 변환된 공간 인코딩은 획득된 비디오 시퀀스의 이미지 프레임 및 이미지 프레임 영역에 해당한다. 계층 입력에 셀프-어텐션 메커니즘을 적용하는 것은 획득된 비디오 시퀀스의 서로 다른 이미지 프레임의 공간 인코딩에 셀프-어텐션 메커니즘을 적용하는 것을 포함한다.
단계(508)에서, 객체 잠재 변수(O) 세트 각각에 대해, 이미지 프레임의 시간에 따라 변환된 공간 인코딩 그룹을 집계함으로써 객체 잠재 변수의 객체 잠재 분포를 파라미터화하는 하나 이상의 값이 결정된다.
비디오 객체 표현 신경망 시스템이 프레임 잠재 변수를 추론하는 경우, 선택적인 단계(510)에서, 프레임 잠재 변수(F) 세트 각각에 대해, 이미지 프레임의 영역에 걸쳐 변환된 공간 인코딩의 그룹을 집계함으로써 프레임 잠재 변수의 프레임 잠재 변수의 프레임 잠재 분포를 파라미터화하는 하나 이상의 값이 결정될 수 있다. 대안적으로, 위에서 설명된 바와 같이, 인코더는 대신 뷰포인트에 대해 직접적으로 조건화될 수 있다.
단계(512)에서는 객체 잠재 변수에 대한 객체 잠재 분포로부터 샘플링함으로써 객체 잠재 변수 세트 각각에 대한 값이 결정된다.
비디오 객체 표현 신경망 시스템이 프레임 잠재 변수를 추론하는 경우, 선택적 단계(514)에서, 프레임 잠재 변수에 대한 프레임 잠재 분포로부터 샘플링함으로써 프레임 잠재 변수 세트 각각에 대한 값이 결정될 수 있다. 대안적으로, 전술한 바와 같이, 인코더는 프레임 잠재 변수를 추론하지 않을 수 있으며, 이 경우 프레임 잠재 분포는 추론되지 않는다.
단계(516)에서는 이미지 프레임의 디코딩된 시퀀스가 생성된다. 즉, 결정된 객체 잠재 변수의 값(및 적절한 경우 프레임 잠재 변수의 임의의 결정된 값)이 (예를 들어 디코더(120)에 의해) 처리되어 이미지 프레임의 디코딩된 시퀀스(예를 들어 출력(124))를 생성한다.
구현에서 시스템은 이미지 프레임 디코더 신경망, 셀프-어텐션 신경망 및 특징 추출 신경망을 통해 목적 함수의 기울기를 역전파함으로써 트레이닝된다. 샘플링 단계를 통한 역전파에는 소위 재파라미터화 트릭이 포함될 수 있다(Kingma 등의 arXiv1312.6114).
단계(518)에서, 시스템은 i) T개의 이미지 프레임의 시퀀스와 이미지 프레임의 디코딩된 시퀀스 사이의 차이 측정값, ii) 각 객체 잠재 분포와 이전 객체 잠재 분포 사이의 차이, 및 선택적으로(즉, 프레임 잠재 변수가 생성되는 경우) iii) 각 프레임 잠재 분포와 이전 프레임 잠재 분포 사이의 차이에 따라 목적 함수를 최적화하기 위해 적어도 셀프-어텐션 신경망 파라미터의 값을 조정함으로써 트레이닝된다.
트레이닝은 역전파를 포함할 수 있다. 특히, 트레이닝은 이미지 프레임의 디코딩된 시퀀스를 생성하는 디코더 신경망(예를 들어, 출력(124)을 생성하는 디코더(120)) 및 셀프-어텐션 신경망(예를 들어, 셀프-어텐션 네트워크(108))을 통해 목적 함수의 기울기를 역전파하는 것을 포함할 수 있다. 목적 함수의 기울기는 공간 인코딩 세트를 생성하는 특징 추출 신경망(예를 들어 특징 추출 네트워크(106))을 통해 추가로 역전파될 수 있다. 그러나 (예를 들어, 특징 추출 신경망과 같은) 시스템(100)의 네트워크는 별도로 트레이닝될 수 있다는 것이 인식될 것이다.
(최소화하기 위한) 목적 함수는 음의 하한, 예를 들어 식(3)에 정의된 증거 하한(ELBO)일 수 있다.
여기서 α, βo 및 βf는 개별 가중치이고, q는 인코더(102)를 나타내고, p는 디코더(120)를 나타내고, DKL은 쿨백-라이블리(Kullback-Leibler) 발산과 같은 분포의 차이에 대한 메트릭이다.
즉, 데이터 로그 우도(log-likelihood)는 디코딩된 픽셀의 수(Td Hd Wd)로 정규화되어 모든 입력 픽셀보다 적은 수의 디코딩을 허용할 수 있다. 이는 인접 픽셀 사이에 널리 퍼져 있는 상관 관계로 인해 학습 신호를 줄이지 않고 디코더의 크기를 확장하는데 도움이 된다는 이점이 있다. 1/Td Hd Wd로 정규화하면 디코딩되는 픽셀 수의 선택에 관계없이 일관된 학습 역학(learning dynamics)을 촉진하는 것으로 밝혀졌다. α는 1로 설정될 수 있지만 예를 들어 βo 및 βf의 척도(scale)가 너무 작아서 수치적으로 안정적이지 않은 경우 조정될 수도 있다. 예시 구현에서는 βo = βf를 사용했다.
단계(518)에서 시스템을 트레이닝하는 것은 또한 특징 추출 신경망(106)과 같은 특징 추출 신경망의 특징 추출 신경망 파라미터의 값을 조정하는 것을 포함할 수 있다. 단계(518)에서 시스템을 트레이닝하는 것은 또한 디코더 신경망(120)과 같은 디코더 신경망의 디코더 신경망 파라미터의 값을 조정하는 것을 포함할 수 있다.
일단 트레이닝되면, 시스템의 디코더 부분 또는 인코더 부분은 독립적으로 사용될 수 있다. 예를 들어, 시스템의 인코더 부분은 객체 잠재 변수로부터 또는 객체 잠재 분포를 파라미터화하는 값으로부터(예를 들어, 배포 수단으로부터) 비디오 시퀀스에 묘사된 하나 이상의 객체의 하나 이상의 속성을 획득하는데 사용될 수 있다. 객체 크기, 색상, 질감, 1D, 2D 또는 3D의 위치 또는 모션과 같은 속성이 획득될 수 있다. 마찬가지로, 일단 트레이닝되면, 비디오 객체 표현 신경망 시스템, 특히 인코더 부분은 프레임 잠재 변수로부터 또는 프레임 잠재 분포, 예를 들어 비디오 시퀀스에 대한 (변경되는) 뷰포인트의 위치 또는 방향(예를 들어, 포즈)를 파라미터화하는 값으로부터 비디오 시퀀스 프레임의 하나 이상의 전역 속성을 획득하는데 사용될 수 있다.
도 6은 비디오 시퀀스에 묘사된 하나 이상의 객체의 하나 이상의 속성을 획득하기 위한 예시적인 프로세스를 도시하는 흐름도이다. 단계(602)에서 (비디오 시퀀스(104)와 같은) 비디오 시퀀스가 획득된다. 비디오 시퀀스는 연속된 시간(t)마다 하나씩 T개의 이미지 프레임 시퀀스로 구성된다.
단계(604)에서, 비디오 시퀀스의 각 이미지 프레임은 예를 들어 트레이닝된 특징 추출 네트워크(106)에 의해 처리되어 T개의 이미지 프레임 각각에 대해 S개의 공간 인코딩 세트를 생성함으로써 비디오 시퀀스에 대한 S×T개의 공간 인코딩 그룹이 생성된다.
단계(606)에서 S×T 공간 인코딩 그룹은 트레이닝된 셀프-어텐션 신경망에 의해 S×T 공간 인코딩 그룹을 포함하는 계층 입력(예를 들어, 계층 입력(107)에 (예를 들어 셀프-어텐션 네트워크(108)에 의한) 셀프-어텐션 메커니즘을 적용함으로써 처리되어, 변환된 공간 인코딩의 그룹을 포함하는 출력(예를 들어, 출력 (109))을 생성한다. 각각의 변환된 공간 인코딩은 획득된 비디오 시퀀스의 이미지 프레임 및 이미지 프레임 영역에 해당한다. 계층 입력에 셀프-어텐션 메커니즘을 적용하는 것은 획득된 비디오 시퀀스의 상이한 이미지 프레임의 공간 인코딩에 셀프-어텐션 메커니즘을 적용하는 것을 포함한다.
단계(608)에서, 객체 잠재 변수(O) 세트 각각에 대해, 이미지 프레임의 시간에 걸쳐 변환된 공간 인코딩 그룹을 집계함으로써 객체 잠재 변수의 객체 잠재 분포를 파라미터화하는 하나 이상의 값이 결정된다.
단계(610)에서, 객체 잠재 변수에 대한 객체 잠재 분포로부터 샘플링함으로써 객체 잠재 변수 세트 각각에 대한 값이 결정된다.
단계(612)에서, 객체 잠재 변수 세트 각각에 대한 결정된 값은 비디오 시퀀스에 묘사된 하나 이상의 객체의 하나 이상의 속성을 획득하는데 사용된다.
비디오 객체 표현 신경망 시스템이 프레임 잠재 변수를 추론하는 경우, 선택적 단계(614)에서, 프레임 잠재 변수에 대한 프레임 잠재 분포로부터 샘플링함으로써 프레임 잠재 변수 세트 각각에 대한 값이 결정될 수 있다. 대안적으로, 전술한 바와 같이, 인코더는 프레임 잠재 변수를 추론하지 않을 수 있으며, 이 경우 프레임 잠재 분포는 추론되지 않는다.
도 6은 대상 잠재 변수를 결정하는 측점에서 설명되지만, 방법은 대안적으로 또는 추가적으로 비디오 시퀀스 프레임의 하나 이상의 전역 속성을 결정하기 위해 프레임 잠재 변수를 결정하는 단계를 포함할 수 있다.
다른 예에서, 시스템의 디코더 부분, 즉 비디오 시퀀스 입력부터 객체(및 선택적으로 프레임) 잠재 분포를 결정하도록 구성된 부분까지의 시스템 부분만 필요할 수 있다. 인코더 부분은 선택적으로 이러한 분포로부터 샘플링하도록 구성된 부분을 포함할 수 있다(다른 구현에서는 정보가 예를 들어 이러한 분포의 평균으로부터 추론될 수 있음). 일부 애플리케이션에서는 일단 트레이닝되면, 예를 들어 2D 또는 3D 이미지의 비디오 시퀀스를 생성하기 위해 시스템의 트레이닝된 디코더 부분만 필요할 수 있다. 도 7은 트레이닝된 비디오 생성 신경망 시스템을 사용하여 비디오 시퀀스를 생성하는 프로세스의 예를 설명하는 흐름도이다. 단계(702)에서, 객체 잠재 변수 세트 각각에 대한 값은 객체 잠재 변수에 대한 각각의 이전 객체 잠재 분포로부터 샘플링함으로써 결정된다. 단계(702) 후에, 각각의 생성된 이미지 프레임의 각 픽셀에 대해 그리고 각각의 생성된 이미지 프레임 시간 단계에 대해 단계(704, 706 및 708)가 수행된다. 단계(704)에서, 트레이닝된 디코더 신경망은 결정된 객체 잠재 변수의 값, 픽셀의 위치를 지정하는 정보, 시간 단계를 지정하는 정보를 처리하여, 픽셀 및 시간 단계에 대해, 각 객체 잠재 변수에 대한 픽셀 분포의 파라미터를 결정한다. 단계(706)에서, 트레이닝된 디코더 신경망은 객체 잠재 변수 각각에 대한 픽셀 분포를 결합하여 결합된 픽셀 분포를 결정한다. 단계(706)에서의 처리는 픽셀과 시간 단계에 대해, 각 객체 잠재 변수에 대한 혼합 가중치를 결정하기 위해 결정된 객체 잠재변수의 값, 픽셀의 위치를 지정하는 정보, 시간 단계를 지정하는 정보를 처리하는 단계와, 결합된 픽셀 분포를 결정하기 위해 개별 혼합 가중치에 의해 가중된 각 객체 잠재 변수에 대한 픽셀 분포를 결합하는 단계를 더 포함한다. 단계(708)에서, 트레이닝된 디코더 신경망은 결합된 픽셀 분포로부터 샘플링하여 시간 단계에서 픽셀에 대한 값을 결정한다.
뷰-지도형 비디오 객체 표현 신경망의 예는 유사한 모델인 GQN(Eslami SMA의 신경 장면 표현 및 렌더링. 사이언스. 2018. 8. 15;360(6394):1204-1210. doi: 10.1126/science.aar6170. PMID: 29903970) 및 NeRF(arXiv:2003.08934)와 실험적으로 비교되었다.
도 7은 비디오 객체 표현 신경망(도 7에 SIMONe로 표시됨)의 뷰 지도형 버전, NeRF-VAE 및 GQN 간의 장면 표현과 뷰 보간 기능의 비교를 도시한다. 모든 모델은 주어진 프레임 시퀀스로부터 절차적으로 생성된 "놀이방" 데이터 세트를 부분적으로 관찰한다(모델에 공급된 16개의 입력 프레임 중 4개가 시각화됨). 새로운 뷰는 방 주위의 원형 궤적에서 디코딩되며 요(yaw)는 [-π, π] 단위로 선형 간격으로 배치된다. NeRF-VAE는 객체 구조를 거의 유지하지 않아 장면내의 거의 모든 객체가 흐려지는(blur) 것을 볼 수 있다. NeRF는 생성된 방의 기하학적 구조를 이해하고 벽 색상을 추론할 수 있다. GQN은 보다 상세한 재구성을 생성하지만 특정 뷰에 과도하게 맞춰져 원활하게 보간되지 않는다. GQN은 컨텐츠를 환각시킨다. 반면에 SIMONe은 미세한 객체 구조를 선명하게 재구성한다. 멀리 있거나 가까이 있는 객체를 관찰할 때에도 완전히 새로운 시각으로 객체를 정확하게 배치하고 크기를 조정한다. 이로 인해 다양한 사례에 걸쳐 장면 구조를 캡처하는 것이 우선순위인 경우 SIMONe는 NeRF-VAE 및 GQN 스타일 모델보다 강력한 선택이 된다. SIMONe은 또한 장면을 분할한다.
입력 시퀀스를 처리하여 객체 잠재 변수 또는 프레임 잠재 변수만 결정하여 출력하는 비디오 객체 표현 신경망이 제공될 수 있다는 것이 이해될 것이다.
다른 실험에서는, (객체와 프레임 잠재 변수를 모두 추론하는) 비지도형 비디오 객체 표현 신경망이 다른 뷰포인트 미인식(unaware) 비지도형 접근 방식과 비교되었다. 표 1은 도 1(표 2에서 SIMONe로 표시됨)을 참조하여 설명한 비디오 객체 표현 신경망의 분할 성능(전경 객체에 대한 조정된 랜드(land) 인덱스(ARI-F) 기준)을 MONet, SA(Slot Attention)(arXiv:2006.15055) 및 비디오 모델(S-IODINE)과 비교하여 도시한다. 정적(S) 및 비디오(S) ARI-F 스코어는 별도로 계산되었다. 정적 ARI-F의 경우, 모델은 정지(still) 이미지별로 평가되었다. 비디오 ARI-F의 경우, 객체의 전체 궤적을 단일 클래스로 사용하여 공간과 시간에 걸쳐 모델을 평가했다. 따라서 비디오 ARI-F는 객체를 안정적으로 추적하지 못하는 모델에 패널티를 준다. 이것은 각 프레임에 대해 임의의 순서로 객체를 출력하는 경향이 있기 때문에 슬롯(Slot) 어텐션의 경우 특히 그렇다.
[표 1]
표 2는 시스템(100)에 대한 두 가지 가능한 아키텍처의 예를 제공한다. 표 1에 도시된 아키텍처는 제한하려는 의도가 아니며 단지 가능한 아키텍처의 예시로서 제공된다는 점을 인식할 것이다. 표 1에서, c는 채널 수이고, k는 커널 크기이고, s는 스트라이드(Pos)이다. MPL은 위치 인코딩에 적용되는 다층 퍼셉트론이다. MLP([m, n])은 각 계층에 각각 m 및 n 단위가 있는 2계층 MLP를 나타내며, GRU는 게이트형(gated) 순환 유닛이다.
[표 2] 예시적인 아키텍쳐
실험에서, 더 나은 픽셀 재구성을 가능하게 하기 위해 객체 및 프레임 잠재 변수를 사용하는 다양한 방법이 탐색되었다. 초기 실험에서, 샘플링된 객체 잠재 변수(ok) 및 프레임 잠재 변수(ft)는 디코더(실험에서는 컨볼루션 디코더)에 제공되기 전에 모든 픽셀과 시간 지점에 걸쳐 공간적으로 복사되고 타일링되었다. 그러나, 컨벌루션 디코더 스택을 적용하기 전에 디코더의 제1 단계를 시드하기 위해 독립적인 샘플을 취하는 것이 가능하다는 것이 밝혀졌다. 또한, 적절한 경우 시간에 따라 독립적으로 샘플링하는 것이 유익한 것으로 밝혀졌다. 요약하면, (모든 픽셀(I = 64·64)과 시간 프레임(T)에 대해 독립적으로) 샘플()이 취해지고, (모든 슬롯(K)과 모든 픽셀(I = 64·64)에 대해 독립적으로) 가 취해졌다. 이것은 특히 트레이닝 초기에 성능이 향상되는 것으로 나타났다.
이론에 얽매이지 않고, 이는 시퀀스의 모든 공간/시간에 걸쳐 동일한 샘플(ok 및 ft)을 복사하는 것과 관련된 기울기 평향*gradient bias)의 감소로 인한 것일 수 있다. 다수의 독립적인 샘플을 취하는 것은 정규화 역할을 한다.
(트레이닝된) 비디오 객체 표현 신경망 시스템, 특히 인코더 부분은 객체 잠재 변수로부터 또는 객체 잠재 분포를 파라미터화하는 값, 예를 들어, 배포 수단으로부터 비디오 시퀀스에 묘사된 하나 이상의 객체의 하나 이상의 속성을 획득하는데 사용될 수 있다. 객체 크기, 색상, 질감, 1D, 2D 또는 3D 위치, 모션과 같은 속성이 획득될 수 있다. 마찬가지로 (트레이닝된) 비디오 객체 표현 신경망 시스템, 특히 인코더 부분은 프레임 잠재 변수로부터 또는 프레임 잠재 분포를 파라미터화하는 값(예를 들어, 비디오 시퀀스의 특정 프레임에서의 포즈)으로부터 비디오 시퀀스의 프레임의 하나 이상의 전역 속성을 획득하는데 사용될 수 있다.
(트레이닝된) 비디오 객체 표현 신경망 시스템, 특히 인코더 부분은 결정된 잠재 변수를 이용한 이미지 분류에 사용될 수 있다. 예를 들어, 결정된 객체 잠재 변수 중 하나 이상 또는 객체 잠재 분포를 파라미터화하는 값은 하나 이상의 분류기 신경망 계층에 대한 입력으로 제공될 수 있다. 많은 이미지 분류기가 있으며 임의의 적절한 모델이 사용될 수 있다. 보다 일반적으로, 비디오 객체 표현 신경망 시스템은 개체를 특징짓는 임의의 적절한 신경망 출력을 생성하도록 구성될 수 있다. 예를 들어, 신경망 출력은 분류 출력(예를 들어, 가능한 카테고리 세트의 각 카테고리에 대한 스코어를 정의함), 회귀 출력, 시퀀스 출력(즉, 출력 요소 시퀀스를 포함함), 분할 출력 또는 그의 조합일 수 있다.
(트레이닝된 시스템의) 결정된 잠재 변수는 예를 들어 네트워크 입력에 대한 기계 학습 태스크를 수행하는데 사용하기 위해 다른 시스템에 입력을 제공할 수 있다. 예시적인 태스크에는 특징 기반 검색, 클러스터링, 유사 중복(near duplicate) 탐지, 검증, 특징 매칭, 도메인 적응, 비디오 기반 약한 지도 학습이 포함될 수 있고, 비디오의 경우, 예를 들어 비디오 프레임 전반에 걸친 객체 추적, 비디오에 묘사된 개체에 의해 수행되는 제스처의 제스처 인식이 포함될 수 있다.
(트레이닝된) 비디오 객체 표현 신경망 시스템, 특히 디코더 부분은 새로운 이미지 프레임의 디코딩된 시퀀스를 포함하는 새로운 비디오 시퀀스를 생성하는데 사용될 수 있다. 이것은 객체 잠재 변수에 대한 이전 객체 잠재 분포로부터 샘플링함으로써 객체 잠재 변수 세트 각각에 대한 값을 결정하고, (이전 객체 잠재 분포와 동일할 수 있는) 프레임 잠재 변수에 대한 이전 프레임 잠재 분포로부터 샘플링함으로써 프레임 잠재 변수 세트 각각에 대한 값을 결정하고, 새로운 이미지 프레임의 디코딩된 시퀀스를 생성하기 위해 특히 위에서 설명한 이미지 프레임 디코더 신경망을 사용하여 상기 결정된 값을 처리함으로써 달성될 수 있다. 선택적으로, 이미지 프레임 디코더 신경망은 전술한 바와 같이 이미지 프레임 디코더 신경망에 대한 조건화 입력에 따라 조건화될 수 있다. 즉, 이에 따라 이미지 프레임을 생성할 수 있다.
비디오 객체 표현 신경망 시스템의 (트레이닝된) 인코더 부분은 객체 및 프레임 잠재 변수 세트에 대한 값을 결정하는데 사용될 수 있고, 이들 중 하나 이상은 수정되어 비디오 객체 표현 신경망의 디코더에 제공되어 입력 비디오 시퀀스의 수정된 버전을 생성할 수 있다.
일부 구현에서 일단 프레이닝되면 비디오 객체 표현 신경망 시스템, 특히 인코더 부분은 에이전트가 환경과 상호 작용하는 동안 특정 태스크를 수행하도록 제어하는데 사용될 수 있다. 에이전트는 로봇이나 자율주행 차량과 같은 기계적 에이전트일 수 있으며 환경은 실제 환경일 수 있다. 이러한 사용 방법은 예를 들어 연속적인 시간 단계에 대해, 환경의 현재 상태를 특징짓는 관찰을 획득하는 것을 포함할 수 있으며, 관찰은 예를 들어 비디오 시퀀스의 연속적인 이미지 프레임을 획득함으로써 관찰 비디오 시퀀스를 포함한다. 그런 다음 트레이닝된 비디오 객체 표현 신경망 시스템은 객체 잠재 분포를 파라미터화하는 값과 프레임 잠재 분포를 파라미터화하는 값, 그리고 선택적으로 객체 잠재 변수와 프레임 잠재 변수를 획득하기 위해 관찰 비디오 시퀀스를 처리하는데 사용될 수 있다. 그런 다음 이들은 제어 출력을 생성하기 위해 제어 시스템을 사용하여 처리될 수 있으며, 제어 시스템은 그에 따라 관찰로부터 데이터를 처리한다. 관찰은 잠재 변수 또는 그 분포와 함께 제어 시스템에 제공될 수 있다. 제어 시스템은 예를 들어 강화 학습 시스템에서 액션 선택 정책 신경망을 포함할 수 있고, 제어 출력은 액션 선택 정책 출력을 포함할 수 있다. 그러면 에이전트에 의해 수행될 액션이 관찰에 응답하여 선택될 수 있다. 액션은 제어 출력을 사용하여 에이전트에 의해 구현될 수도 있고, 에이전트가 액션을 구현하도록 제어 출력이 제공될 수도 있다.
이는 액션 및/또는 제어 신호 또는 전자 제어 데이터(예를 들어, 모터 제어 데이터)를 수행하기 위해 에이전트에 액션 데이터를 제공하는 것을 포함할 수 있다. 즉, 제어 출력은 액션 데이터, 제어 신호 등을 포함할 수 있다. 예를 들어 제어 출력은 기계 에이전트(예를 들어, 로봇)의 물리적 거동을 제어하기 위한 제어 신호(예를 들어, 로봇의 관절에 대한 토크 또는 더 높은 레벨의 제어 명령), 또는 자율 차량을 제어하기 위한 제어 신호(예를 들어, 차량의 제어 요소에 대한 토크 또는 더 높은 레벨의 제어 명령)을 포함할 수 있다. 선택된 액션은 예를 들어 로봇의 하나 이상의 관절이나 다른 기계 에이전트의 부품에 대한 위치, 속도 또는 힘/토크/가속도 데이터를 정의할 수 있다.
본 명세서는 시스템 및 컴퓨터 프로그램 구성 요소와 관련하여 "구성된"이라는 용어를 사용한다. 하나 이상의 컴퓨터로 구성된 시스템이 특정 동작이나 액션을 수행하도록 구성된다는 것은 시스템이 작동시 동작이나 액션을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합이 시스템에 설치되어 있음을 의미한다. 하나 이상의 컴퓨터 프로그램이 특정 동작 또는 애션을 수행하도록 구성된다는 것은 하나 이상의 프로그램이 데이터 처리 장치에 의해 실행될 때 그 장치가 동작 또는 액션을 수행하게 하는 명령을 포함한다는 것을 의미한다.
본 명세서에 기술된 주제 및 기능적 동작의 실시예는 디지털 전자 회로, 유형으로 구현된 컴퓨터 소프트웨어 또는 펌웨어, 본 명세서에 개시된 구조 및 그 구조적 등가물을 포함하는 컴퓨터 하드웨어, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 설명된 주제의 실시예는 하나 이상의 컴퓨터 프로그램, 즉 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하기 위해 유형의 비-일시적 저장 매체에 인코딩된 컴퓨터 프로그램 명령의 하나 이상의 모듈로 구현될 수 있다. 컴퓨터 저장 매체는 기계 판독 가능 저장 디바이스, 기계 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다. 대안적으로 또는 추가적으로, 프로그램 명령은 데이터 처리 장치에 의한 실행을 위해 적절한 수신기 장치로 전송하기 위한 정보를 인코딩하기 위해 생성된 인공적으로 생성된 전파 신호, 예를 들어 기계 생성 전기, 광학 또는 전자기 신호에 인코딩될 수 있다.
"데이터 처리 장치"라는 용어는 데이터 처리 하드웨어를 지칭하며, 예를 들어 프로그래밍 가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 비롯하여 데이터를 처리하기 위한 모든 종류의 장치, 디바이스 및 기계를 포함한다. 장치는 또한 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그램 가능 게이트 어레이) 또는 주문형 집적회로(ASIC)일 수 있거나 이를 더 포함할 수 있다. 장치는 하드웨어에 추가하여 컴퓨터 프로그램의 실행 환경을 생성하는 코드(예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 또는 이들 중 하나 이상의 조합을 구성하는 코드)를 선택적으로 포함할 수 있다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱, 모듈, 소프트웨어 모듈, 스크립트 또는 코드라고도 지칭되거나 설명될 수 있는 컴퓨터 프로그램은 컴파일된 언어나 해석된 언어, 선언적 언어나 절차적 언어를 포함한 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램, 모듈, 구성 요소, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 유닛을 포함하여 모든 형태로 배포될 수 있다. 프로그램은 파일 시스템의 파일에 해당할 수 있지만 반드시 그럴 필요는 없다. 프로그램은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트), 해당 프로그램 전용 단일 파일 또는 다수의 조정된 파일(예를 들어, 하나 이상의 모듈, 하위 프로그램 또는 코드 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치하거나 다수의 사이트에 걸쳐 분산되고 데이터 통신 네트워크로 상호 연결된 다수의 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에서, "데이터베이스"라는 용어는 임의의 데이터 모음(collection)을 지칭하는데 광범위하게 사용되며, 데이터는 특정 방식으로 구성되거나 전혀 구성될 필요가 없으며 하나 이상의 위치에 있는 저장 디바이스에 저장될 수 있다. 따라서, 예를 들어 인덱스 데이터베이스에는 다수의 데이터 모음이 포함될 수 있으며, 각 데이터 모음은 다르게 구성되고 액세스될 수 있다.
마찬가지로, 본 명세서에서 "엔진"이라는 용어는 하나 이상의 특정 기능을 수행하도록 프로그래밍된 소프트웨어 기반 시스템, 서브시스템 또는 프로세스를 지칭하는데 광범위하게 사용된다. 일반적으로, 엔진은 하나 이상의 위치에 있는 하나 이상의 컴퓨터에 설치된 하나 이상의 소프트웨어 모듈 또는 구성 요소로 구현된다. 일부 경우, 하나 이상의 컴퓨터는 특정 엔진 전용으로 사용되고 다른 경우에서는 다수의 엔진이 동일한 컴퓨터 또는 컴퓨터들에 설치되어 실행될 수 있다.
본 명세서에 설명된 프로세스 및 논리 흐름은 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행하는 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능한 컴퓨터에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 FPGA 또는 ASIC과 같은 특수 목적 논리 회로에 의해 수행되거나 특수 목적 논리 회로와 하나 이상의 프로그래밍된 컴퓨터의 조합에 의해 수행될 수도 있다.
컴퓨터 프로그램 실행에 적합한 컴퓨터는 범용 또는 특수 목적의 마이크로프로세서 또는 둘 다를 기반으로 하거나 다른 종류의 중앙 처리 장치를 기반으로 할 수 있다. 일반적으로, 중앙 처리 장치는 판독 전용 메모리나 랜덤 액세스 메모리 또는 둘 다로부터 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하거나 실행하는 중앙 처리 장치와 명령 및 데이터를 저장하는 하나 이상의 메모리 디바이스이다. 중앙 처리 장치와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어 자기, 광자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 전송하거나 둘 모두를 포함하거나 작동 가능하게 결합될 것이다. 그러나, 컴퓨터에 이러한 디바이스들이 있을 필요는 없다. 더욱이, 컴퓨터는 다른 디바이스, 예를 들어 휴대폰, PDA(Personal Digital Assistant), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS(Global Positioning System) 수신기, 또는 휴대용 저장 디바이스(예를 들어, USB(범용 직렬 버스) 플래시 드라이브) 등에 내장될 수 있다.
컴퓨터 프로그램 명령 및 데이터를 저장하는데 적합한 컴퓨터 판독 가능 매체에는 예를 들어 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스); 자기 디스크(예를 들어, 내부 하드 디스크 또는 이동식 디스크); 광자기 디스크; CD ROM 및 DVD-ROM 디스크를 비롯하여 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스가 포함된다. .
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 설명된 주제의 실시예는 정보를 표시하기 위한 디스플레이 디바이스(예를 들어, CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터)와 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖춘 컴퓨터에서 구현될 수 있다. 사용자와의 상호작용을 제공하기 위해 다른 종류의 장치도 사용될 수 있는데, 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 더욱이, 컴퓨터는 사용자가 사용하는 디바이스와 문서를 주고받는 방식으로 사용자와 상호 작용할 수 있는데, 예를 들어, 웹 브라우저에서 받은 요청에 대한 응답으로 사용자 디바이스의 웹 브라우저로 웹 페이지를 보낸다. 또한, 컴퓨터는 문자 메시지 또는 다른 형태의 메시지를 개인 디바이스(예를 들어, 메시징 애플리케이션을 실행하는 스마트폰)로 전송하고 그 대가로 사용자로부터 응답 메시지를 수신함으로써 사용자와 상호 작용할 수 있다.
기계 학습 모델을 구현하기 위한 데이터 처리 장치는 또한 예를 들어, 기계 학습 트레이닝 또는 생산의 공통적이고 컴퓨팅 집약적인 부분, 즉 추론, 워크로드를 처리하기 위한 특수 목적 하드웨어 가속기 유닛을 포함할 수 있다.
기계 학습 모델은 기계 학습 프레임워크 예를 들어, TensorFlow 프레임워크, Microsoft Cognitive Toolkit 프레임워크, Apache Singa 프레임워크 또는 Apache MXNet 프레임워크를 사용하여 구현 및 배포될 수 있다.
본 명세서에 설명된 주제의 실시예는 백엔드 구성요소(예를 들어, 데이터 서버)를 포함하거나, 미들웨어 구성 요소(예를 들어, 애플리케이션 서버)를 포함하거나, 프런트엔드 구성 요소(예를 들어, 사용자가 본 명세서에 설명된 주제의 구현과 상호 작용할 수 있는 그래픽 사용자 인터페이스, 웹 브라우저 또는 앱을 갖춘 클라이언트 컴퓨터)를 포함하거나, 또는 백엔드, 미들웨어 또는 프런트엔드 구성 요소 중 하나 이상의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 구성 요소는 통신 네트워크와 같은 디지털 데이터 통신의 모든 형태나 매체를 통해 상호 연결될 수 있다. 통신 네트워크의 예로는 근거리 통신망(LAN) 및 광역 통신망(WAN), 예를 들어 인터넷이 포함된다.
컴퓨팅 시스템에는 클라이언트와 서버가 포함될 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생한다. 일부 실시예에서, 서버는 예를 들어 클라이언트 역할을 하는 장치와 상호 작용하는 사용자에게 데이터를 디스플레이하고 사용자 입력을 수신할 목적으로 데이터(예를 들어, HTML 페이지)를 사용자 디바이스로 전송한다. 사용자 디바이스에서 생성된 데이터(예를 들어, 사용자 상호 작용의 결과)는 디바이스로부터 서버에 수신될 수 있다.
본 명세서에는 많은 구체적인 구현 세부 정보가 포함되어 있지만, 이는 임의의 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로 해석되어서는 안 되며, 오히려 특정 발명의 특정 실시예에 특정할 수 있는 특징들에 대한 설명으로 해석되어야 한다. 별도의 실시예와 관련하여 본 명세서에 설명된 특정 특징은 단일 실시예에서 조합하여 구현될 수도 있다. 반대로, 단일 실시예의 맥락에서 설명된 다양한 특징은 다수의 실시예에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수도 있다. 더욱이, 위에서는 특징들이 특정 조합으로 작용하는 것으로 설명될 수 있고 심지어 처음에는 그렇게 주장되었을 수도 있지만, 청구된 조합의 하나 이상의 특징은 경우에 따라 조합에서 삭제될 수 있으며, 청구된 조합은 하위 조합 또는 하위 조합의 변형과 관련될 수 있다.
유사하게, 동작들은 특정 순서로 도면에 묘사되고 청구범위에 기재되어 있지만, 이는 원하는 결과를 달성하기 위해 그러한 동작들이 표시된 특정 순서 또는 순차적 순서로 수행되거나 모든 설명된 동작이 수행되어야 한다고 요구하는 것으로 이해되어서는 안 된다. 특정 상황에서는 멀티태스킹과 병렬 처리가 유리할 수 있다. 더욱이, 전술한 실시예에서 다양한 시스템 모듈 및 구성요소의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안 되며, 설명된 프로그램 구성 요소 및 시스템은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품에 패키지될 수 있다는 점을 이해해야 한다.
주제의 특정 실시예들이 설명되었다. 다른 실시예는 다음 청구범위의 범위 내에 있다. 예를 들어, 청구범위에 인용된 동작들은 다른 순서로 수행될 수 있으며 여전히 원하는 결과를 얻을 수 있다. 일 예로서, 첨부 도면에 도시된 프로세스는 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 필요로 하는 것은 아니다. 일부 경우에는 멀티태스킹과 병렬 처리가 유리할 수 있다.
Claims (24)
- 비디오 객체 표현 신경망 시스템을 트레이닝하는 컴퓨터 구현 방법으로서, 비디오 객체 표현 신경망 시스템은, 각각이 계층 입력에 대해 셀프-어텐션 메커니즘을 적용하도록 구성되고 복수의 셀프-어텐션 신경망 파라미터를 갖는, 하나 이상의 셀프-어텐션 계층을 포함하는 셀프-어텐션 신경망을 포함하고, 상기 방법은,
연속된 시간마다 하나씩, T개의 이미지 프레임의 시퀀스를 포함하는 비디오 시퀀스를 획득하는 단계와;
T개의 이미지 프레임 각각에 대한 S개의 공간 인코딩 세트를 생성함으로써 비디오 시퀀스에 대한 S×T개의 공간 인코딩 그룹을 획득하도록 각각의 이미지 프레임을 처리하는 단계와, 상기 이미지 프레임의 각 공간 인코딩은 이미지 프레임의 개별 영역의 인코딩을 포함하고;
이미지 프레임 시간 및 이미지 프레임 영역에 각각 대응하는 변환된 공간 인코딩 그룹을 생성하기 위해 S×T 공간 인코딩 그룹을 포함하는 계층 입력에 셀프-어텐션 메커니즘을 적용함으로써 셀프-어텐션 신경망을 사용하여 S×T 공간 인코딩 그룹을 처리하는 단계와, 상기 계층 입력에 셀프-어텐션 메커니즘을 적용하는 것은 상이한 이미지 프레임의 공간 인코딩에 셀프-어텐션 메커니즘을 적용하는 것을 포함하고;
객체 잠재 변수 세트 각각에 대해, 이미지 프레임의 시간에 걸쳐 상기 변환된 공간 인코딩의 그룹을 집계함으로써 객체 잠재 변수의 객체 잠재 분포를 파라미터화하는 하나 이상의 값을 결정하는 단계와;
객체 잠재 변수에 대한 객체 잠재 분포로부터 샘플링함으로써 객체 잠재 변수 세트 각각에 대한 값을 결정하는 단계와;
이미지 프레임의 디코딩된 시퀀스를 생성하기 위해 상기 결정된 객체 잠재 변수의 값을 처리하는 단계와; 그리고
i) T개의 이미지 프레임의 시퀀스와 이미지 프레임의 디코딩된 시퀀스 사이의 차이의 측정값 및 ii) 각 객체 잠재 분포와 이전 객체 잠재 분포 사이의 차이에 따라 목적 함수를 최적화하기 위해 적어도 셀프-어텐션 신경망 파라미터의 값을 조정함으로써 시스템을 트레이닝하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 제1항에 있어서,
프레임 잠재 변수 세트 각각에 대해, 이미지 프레임 영역에 걸쳐 상기 변환된 공간 인코딩 그룹을 집계함으로써 프레임 잠재 변수의 프레임 잠재 변수 분포를 파라미터화하는 하나 이상의 값을 결정하는 단계와;
프레임 잠재 변수에 대한 프레임 잠재 분포로부터 샘플링함으로써 프레임 잠재 변수 세트 각각에 대한 값을 결정하는 단계를 더 포함하고,
상기 이미지 프레임의 디코딩된 시퀀스를 생성하는 단계는 이미지 프레임의 디코딩된 시퀀스를 생성하기 위해 상기 결정된 프레임 잠재 변수의 값을 처리하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 제2항에 있어서,
상기 시스템을 트레이닝하는 단계는,
각 프레임 잠재 분포와 이전 프레임 잠재 분포 사이의 차이에 따라 목적 함수를 최적화하기 위해 적어도 셀프-어텐션 신경망 파라미터의 값을 조정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 임의의 선행하는 항에 있어서,
각 공간 인코딩은 이미지 프레임의 개별 영역의 특징 맵을 포함하고,
상기 T개의 이미지 프레임 각각에 대한 S개의 공간 인코딩 세트를 생성하기 위해 각각의 이미지 프레임을 처리하는 단계는,
이미지 프레임의 각 영역에 대한 특징 맵을 생성하기 위해 복수의 특징 추출 신경망 파라미터를 갖는 특징 추출 신경망을 사용하여 이미지 프레임 각각을 처리하는 단계를 포함하고,
상기 시스템을 트레이닝하는 단계는 특징 추출 신경망 파라미터의 값을 조정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 임의의 선행하는 항에 있어서,
이미지 프레임의 디코딩된 시퀀스를 생성하기 위해 복수의 이미지 프레임 디코더 신경망 파라미터를 갖는 이미지 프레임 디코더 신경망을 사용하여 상기 결정된 객체 잠재 변수의 값을 처리하는 단계를 포함하고, 그리고
상기 시스템을 트레이닝하는 단계는 이미지 프레임 디코더 신경망 파라미터의 값을 조정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 제5항에 있어서,
상기 이미지 프레임의 디코딩된 시퀀스는 연속적인 디코딩된 이미지 프레임 시간 단계 각각에 대한 이미지 프레임을 포함하고, 그리고
상기 이미지 프레임의 디코딩된 시퀀스를 생성하기 위해 이미지 프레임 디코더 신경망을 사용하는 것은,
각 디코딩된 이미지 프레임의 각 픽셀과 각 디코딩된 이미지 프레임 시간 단계에 대해:
이미지 프레임 디코더 신경망을 사용하여, 픽셀 및 시간 단계에 대해, 객체 잠재 변수 각각에 대한 픽셀 분포의 파라미터를 결정하기 위해 결정된 객체 잠재 변수의 값, 픽셀의 위치를 지정하는 정보 및 시간 단계를 지정하는 정보를 처리하는 것;
결합된 픽셀 분포를 결정하기 위해 객체 잠재 변수 각각에 대한 픽셀 분포를 결합하는 것; 및
픽셀과 시간 단계에 대한 값을 결정하기 위해 상기 결합된 픽셀 분포로부터 샘플링하는 것을 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 제6항에 있어서,
각 디코딩된 이미지 프레임의 각 픽셀과 각 디코딩된 이미지 프레임 시간 단계에 대해:
이미지 프레임 디코더 신경망을 사용하여, 픽셀 및 시간 단계에 대해, 객체 잠재 변수 각각에 대한 혼합 가중치를 결정하기 위해, 객체 잠재변수의 결정된 값, 픽셀의 위치를 지정하는 정보 및 시간 단계를 지정하는 정보를 처리하는 단계를 더 포함하고, 그리고
상기 결합된 픽셀 분포를 결정하기 위해 객체 잠재 변수 각각에 대한 픽셀 분포를 결합하는 것은 개별 혼합 가중치에 의해 가중된 각각의 객체 잠재 변수에 대한 픽셀 분포를 결합하는 것을 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 제5항, 제6항 또는 제7항에 있어서,
비디오 시퀀스의 하나 이상의 객체 또는 하나 이상의 객체에 대한 객체 속성을 정의하거나 뷰포인트 위치 또는 방향을 정의하는 조건화 입력을 획득하는 단계와; 그리고
셀프-어텐션 신경망과 이미지 프레임 디코더 신경망에 조건화 입력을 제공하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 임의의 선행하는 항에 있어서,
상기 어텐션 신경망을 사용하여 S×T 공간 인코딩 그룹을 처리하는 단계는,
각 공간 인코딩에 대한 쿼리 및 키-값 쌍을 생성하기 위해 하나 이상의 셀프-어텐션 계층 중 하나를 사용하여 S×T 공간 인코딩 그룹을 포함하는 계층 입력을 처리하는 단계와, 그리고 변환된 공간 인코딩 그룹을 결정하기 위해 키-값 쌍에 쿼리를 적용하도록 셀프-어텐션 메커니즘을 사용하는 단계를 포함하고, 그리고
상기 셀프-어텐션 신경망 파라미터는 쿼리 및 키-값 쌍을 생성하기 위해 계층 입력에 적용된 학습된 변환의 파라미터를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 임의의 선행하는 항에 있어서,
상기 어텐션 신경망을 사용하여 S×T 공간 인코딩 그룹을 처리하는 단계는,
제1 셀프-어텐션 계층 출력을 생성하기 위해 어텐션 신경망의 제1 셀프-어텐션 계층에 대한 계층 입력으로 S×T 공간 인코딩 그룹을 제공하는 단계와; 그리고
변환된 공간 인코딩 그룹을 생성하기 위해 어텐션 신경망의 제2 셀프-어텐션 계층에 제1 셀프-어텐션 계층 출력을 제공하는 단계로서,
S×T 공간 인코딩으로부터 K×T 공간 인코딩으로 공간 인코딩 수를 감소시키는 단계를 포함하고, 여기서 K는 객체 잠재 변수의 수이고 K는 S보다 작은 것을 특징으로 하는 컴퓨터 구현 방법. - 제10항에 있어서,
상기 감소시키는 단계는,
제1 셀프-어텐션 계층 출력에 풀링 연산을 적용하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 임의의 선행하는 항에 있어서,
상기 시스템을 트레이닝하는 단계는,
이미지 프레임의 디코딩된 시퀀스를 생성하는 이미지 프레임 디코더 신경망, 셀프-어텐션 신경망, 및 공간 인코딩 세트를 생성하는 특징 추출 신경망을 통해 목적 함수의 기울기를 역전파하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 제1항 내지 제12항 중 어느 한 항에 있어서,
객체 잠재 변수로부터 또는 객체 잠재 분포를 파라미터화하는 값으로부터 비디오 시퀀스에 묘사된 하나 이상의 객체의 하나 이상의 속성을 획득하기 위해 상기 트레이닝된 비디오 객체 표현 신경망 시스템을 사용하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 제2항에 종속된 제2항 내지 제13항 중 어느 한 항에 있어서,
프레임 잠재 변수로부터 또는 프레임 잠재 분포를 파라미터화하는 값으로부터, 비디오 시퀀스에 대한 뷰포인트의 위치 또는 방향을 획득하기 위해 상기 트레이닝된 비디오 객체 표현 신경망 시스템을 사용하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 제1항 내지 제12항 중 어느 한 항에 있어서,
새로운 이미지 프레임의 디코딩된 시퀀스를 포함하는 새로운 비디오 시퀀스를 생성하기 위해 상기 트레이닝된 비디오 객체 표현 신경망 시스템을 사용하는 단계를 더 포함하며, 이 단계는,
객체 잠재 변수에 대한 이전 객체 잠재 분포로부터 샘플링함으로써 객체 잠재 변수 세트 각각에 대한 값을 결정하는 단계; 및
새로운 이미지 프레임의 디코딩된 시퀀스를 생성하기 위해 상기 결정된 객체 잠재 변수의 값을 처리하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 제2항에 종속된 제15항에 있어서,
프레임 잠재 변수에 대한 이전 프레임 잠재 분포로부터 샘플링함으로써 프레임 잠재 변수 세트 각각에 대한 값을 결정하는 단계와; 그리고
새로운 이미지 프레임의 디코딩된 시퀀스를 생성하기 위해 상기 결정된 객체 잠재 변수의 값과 상기 결정된 프레임 잠재 변수의 값을 처리하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 제1항 내지 제12항 중 어느 한 항에 있어서,
수정된 이미지 프레임의 디코딩된 시퀀스를 포함하는 수정된 비디오 시퀀스를 생성하기 위해 상기 트레이닝된 비디오 객체 표현 신경망 시스템을 사용하는 단계를 더 포함하며, 이 단계는,
입력 이미지 프레임의 시퀀스를 포함하는 입력 비디오 시퀀스를 획득하는 단계;
입력 비디오 시퀀스에 대한 공간 인코딩 그룹을 획득하기 위해 입력 이미지 프레임 각각을 처리하는 단계;
변환된 공간 인코딩 그룹을 생성하기 위해 어텐션 신경망을 사용하여 입력 비디오 시퀀스에 대한 공간 인코딩 그룹을 처리하는 단계;
변환된 공간 인코딩 그룹으로부터 결정된 객체 잠재 분포로부터 샘플링함으로써 객체 잠재 변수 세트에 대한 값을 결정하는 단계;
수정된 잠재 변수 세트를 획득하기 위해 상기 결정된 객체 잠재 변수 세트에 대한 값을 수정하는 단계; 및
수정된 이미지 프레임의 디코딩된 시퀀스를 생성하기 위해 상기 수정된 잠재 변수 세트를 처리하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 제2항에 종속된 제17항에 있어서,
변환된 공간 인코딩 그룹으로부터 결정된 프레임 잠재 분포로부터 샘플링함으로써 프레임 잠재 변수 세트에 대한 값을 결정하는 단계;
수정된 잠재 변수 세트를 획득하기 위해 상기 결정된 프레임 잠재 변수 세트에 대한 값을 수정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 제1항 내지 제10항 중 어느 한 항에 있어서,
환경과 상호작용하는 동안 태스크를 수행하도록 에이전트를 제어하기 위해 상기 트레이닝된 비디오 객체 표현 신경망 시스템을 사용하는 단계를 더 포함하고, 상기 방법은,
환경의 현재 상태를 특징짓는 관찰을 획득하는 단계와, 상기 관찰은 관찰 비디오 시퀀스를 포함하고;
객체 잠재 분포를 파라미터화하는 값을 획득하기 위해 관찰 비디오 시퀀스를 처리하도록 상기 트레이닝된 비디오 객체 표현 신경망 시스템을 사용하는 단계와;
제어 시스템을 사용하여, 제어 출력을 생성하기 위해 객체 잠재 분포를 파라미터화하는 값으로부터의 데이터를 처리하는 것을 포함하여 관찰로부터 데이터를 처리하는 단계와; 그리고
제어 출력을 사용한 관찰에 응답하여 에이전트에 의해 수행될 액션을 선택하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 하나 이상의 컴퓨터에 의해 실행될 때 하나 이상의 컴퓨터로 하여금 제1항 내지 제19항 중 어느 한 항의 방법의 개별 동작을 수행하게 하는 명령들을 저장한 하나 이상의 컴퓨터 판독 가능 저장 매체.
- 하나 이상의 컴퓨터 및 하나 이상의 컴퓨터에 의해 실행될 때 하나 이상의 컴퓨터로 하여금 제1항 내지 제19항 중 어느 한 항의 개별 동작을 수행하게 하는 명령들을 저장한 하나 이상의 저장 디바이스를 포함하는 시스템.
- 컴퓨터로 구현된 비디오 처리 신경망 시스템으로서,
연속된 시간마다 하나씩, T개의 이미지 프레임의 시퀀스를 포함하는 비디오 시퀀스를 수신하고,
T개의 이미지 프레임 각각에 대한 S개의 공간 인코딩 세트를 생성함으로써 비디오 시퀀스에 대한 S×T개의 공간 인코딩 그룹을 획득하기 위해 각각의 이미지 프레임을 처리하도록 구성된,
트레이닝된 특징 추출 신경망과, 각각의 공간 인코딩은 이미지 프레임의 개별 영역의 인코딩을 포함하고;
각각이 계층 입력에 셀프-어텐션 메커니즘을 적용하도록 구성된 하나 이상의 셀프-어텐션 계층을 포함하는 트레이닝된 셀프-어텐션 신경망과, 상기 셀프-어텐션 신경망은,
이미지 프레임 시간 및 이미지 프레임 영역에 각각 대응하는 변환된 공간 인코딩 그룹을 생성하기 위해 S×T 공간 인코딩 그룹을 포함하는 계층 입력에 셀프-어텐션 메커니즘을 적용함으로써 셀프-어텐션 신경망을 사용하여 S×T 공간 인코딩 그룹을 처리하도록 구성되고, 상기 계층 입력에 셀프-어텐션 메커니즘을 적용하는 것은 상이한 이미지 프레임의 공간 인코딩에 셀프-어텐션 메커니즘을 적용하는 것을 포함하고; 그리고
상기 비디오 처리 신경망 시스템은,
객체 잠재 변수 세트 각각에 대해, 이미지 프레임의 시간에 걸쳐 상기 변환된 공간 인코딩 그룹을 집계함으로써 객체 잠재 변수의 객체 잠재 분포를 파라미터화하는 하나 이상의 값을 결정하고, 그리고 객체 잠재 분포를 파라미터화하는 값으로부터 비디오 시퀀스에 묘사된 하나 이상의 객체의 하나 이상의 속성을 결정하도록 구성되는 것을 특징으로 하는 컴퓨터로 구현된 비디오 처리 신경망 시스템. - 컴퓨터로 구현된 비디오 생성 신경망 시스템으로서,
객체 잠재 변수에 대한 각각의 이전 객체 잠재 분포로부터 샘플링함으로써 객체 잠재 변수 세트 각각에 대한 값을 결정하도록 구성되고;
상기 시스템은,
연속적인 시간 단계에서 생성된 이미지 프레임의 시퀀스를 포함하는 비디오 시퀀스를 생성하기 위해 상기 결정된 객체 잠재 변수의 값을 처리하는 트레이닝된 이미지 프레임 디코더 신경망을 포함하고, 상기 이미지 프레임 디코더 신경망은,
각각의 생성된 이미지 프레임의 각 픽셀과 각각의 생성된 이미지 프레임 시간 단계에 대해:
셀 및 시간 단계에 대해, 객체 잠재 변수 각각에 대한 픽셀 분포의 파라미터를 결정하기 위해 상기 결정된 객체 잠재 변수의 값, 픽셀의 위치를 지정하는 정보, 및 시간 단계를 지정하는 정보를 처리하고;
결합된 픽셀 분포를 결정하기 위해 각각의 객체 잠재 변수에 대한 픽셀 분포를 결합하고; 그리고
픽셀과 시간 단계에 대한 값을 결정하기 위해 상기 결합된 픽셀 분포로부터 샘플링하도록 구성되는 것을 특징으로 하는 컴퓨터로 구현된 비디오 생성 신경망 시스템. - 제23항에 있어서,
상기 이미지 프레임 디코더 신경망은,
각각의 디코딩된 이미지 프레임의 각 픽셀과 각각의 디코딩된 이미지 프레임 시간 단계에 대해:
픽셀 및 시간 단계에 대해, 객체 잠재 변수 각각에 대한 혼합 가중치를 결정하기 위해 상기 결정된 객체 잠재 변수의 값, 픽셀의 위치를 지정하는 정보, 시간 단계를 지정하는 정보를 처리하고; 그리고
결합된 픽셀 분포를 결정하기 위해 개별 혼합 가중치에 의해 가중된 각각의 객체 잠재 변수에 대한 픽셀 분포를 결합하도록 구성되는 것을 특징으로 하는 컴퓨터로 구현된 비디오 생성 신경망 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163194849P | 2021-05-28 | 2021-05-28 | |
US63/194,849 | 2021-05-28 | ||
PCT/EP2022/064484 WO2022248712A1 (en) | 2021-05-28 | 2022-05-27 | Unsupervised learning of object representations from video sequences using attention over space and time |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230167086A true KR20230167086A (ko) | 2023-12-07 |
Family
ID=82258288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237038087A KR20230167086A (ko) | 2021-05-28 | 2022-05-27 | 공간과 시간에 따른 어텐션을 이용한 비디오 시퀀스에서 객체 표현에 대한 비지도 학습 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20240221362A1 (ko) |
EP (1) | EP4315171A1 (ko) |
JP (1) | JP2024521645A (ko) |
KR (1) | KR20230167086A (ko) |
CN (1) | CN117255998A (ko) |
WO (1) | WO2022248712A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116400426B (zh) * | 2023-06-06 | 2023-08-29 | 山东省煤田地质局第三勘探队 | 基于电磁法的数据勘测系统 |
-
2022
- 2022-05-27 EP EP22734118.7A patent/EP4315171A1/en active Pending
- 2022-05-27 JP JP2023568562A patent/JP2024521645A/ja active Pending
- 2022-05-27 KR KR1020237038087A patent/KR20230167086A/ko unknown
- 2022-05-27 US US18/289,171 patent/US20240221362A1/en active Pending
- 2022-05-27 CN CN202280032841.3A patent/CN117255998A/zh active Pending
- 2022-05-27 WO PCT/EP2022/064484 patent/WO2022248712A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP4315171A1 (en) | 2024-02-07 |
CN117255998A (zh) | 2023-12-19 |
JP2024521645A (ja) | 2024-06-04 |
WO2022248712A1 (en) | 2022-12-01 |
US20240221362A1 (en) | 2024-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7295906B2 (ja) | ニューラルネットワークを使用したシーンの理解および生成 | |
US11481869B2 (en) | Cross-domain image translation | |
Insafutdinov et al. | Unsupervised learning of shape and pose with differentiable point clouds | |
US10949649B2 (en) | Real-time tracking of facial features in unconstrained video | |
CN113039563A (zh) | 学习生成用于训练神经网络的合成数据集 | |
Bhattad et al. | View generalization for single image textured 3d models | |
CN118202391A (zh) | 从单二维视图进行对象类的神经辐射场生成式建模 | |
US20220327730A1 (en) | Method for training neural network, system for training neural network, and neural network | |
Ardino et al. | Semantic-guided inpainting network for complex urban scenes manipulation | |
CN117576248B (zh) | 基于姿态引导的图像生成方法和装置 | |
US20220101122A1 (en) | Energy-based variational autoencoders | |
KR20230167086A (ko) | 공간과 시간에 따른 어텐션을 이용한 비디오 시퀀스에서 객체 표현에 대한 비지도 학습 | |
RU2755396C1 (ru) | Нейросетевой перенос выражения лица и позы головы с использованием скрытых дескрипторов позы | |
Shih et al. | Video interpolation and prediction with unsupervised landmarks | |
US20230040793A1 (en) | Performance of Complex Optimization Tasks with Improved Efficiency Via Neural Meta-Optimization of Experts | |
CN116959109A (zh) | 人体姿态图像的生成方法、装置、设备和存储介质 | |
Zhou et al. | SD-GAN: Semantic Decomposition for Face Image Synthesis with Discrete Attribute | |
Tabejamaat et al. | Improving texture integrity through second-order constraints on warping maps | |
Pardyl et al. | AdaGlimpse: Active Visual Exploration with Arbitrary Glimpse Position and Scale | |
CN117876430B (zh) | 一种全景图像及视频中的扫视路径预测方法、设备及介质 | |
Mathieu | Unsupervised learning under uncertainty | |
US20240193412A1 (en) | Multi-dimensional generative framework for video generation | |
US20240169662A1 (en) | Latent Pose Queries for Machine-Learned Image View Synthesis | |
Lu et al. | Cdvae: Co-embedding deep variational auto encoder for conditional variational generation | |
Johnston | Single View 3D Reconstruction using Deep Learning |