KR102597787B1 - 멀티스케일 딥 평형 모델들을 위한 시스템 및 방법 - Google Patents
멀티스케일 딥 평형 모델들을 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR102597787B1 KR102597787B1 KR1020210073546A KR20210073546A KR102597787B1 KR 102597787 B1 KR102597787 B1 KR 102597787B1 KR 1020210073546 A KR1020210073546 A KR 1020210073546A KR 20210073546 A KR20210073546 A KR 20210073546A KR 102597787 B1 KR102597787 B1 KR 102597787B1
- Authority
- KR
- South Korea
- Prior art keywords
- computer
- resolution
- input
- implemented method
- neural network
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000013528 artificial neural network Methods 0.000 claims abstract description 54
- 238000012549 training Methods 0.000 claims abstract description 35
- 239000013598 vector Substances 0.000 claims abstract description 22
- 230000004044 response Effects 0.000 claims abstract description 13
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 16
- 238000010606 normalization Methods 0.000 claims description 14
- 238000005070 sampling Methods 0.000 claims description 9
- 230000004927 fusion Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 2
- 239000002356 single layer Substances 0.000 claims 3
- 239000010410 layer Substances 0.000 claims 1
- 230000006870 function Effects 0.000 description 26
- 238000003860 storage Methods 0.000 description 23
- 238000013500 data storage Methods 0.000 description 19
- 238000004422 calculation algorithm Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 238000004519 manufacturing process Methods 0.000 description 14
- 230000003287 optical effect Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 8
- 230000004913 activation Effects 0.000 description 6
- 238000001994 activation Methods 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 230000009466 transformation Effects 0.000 description 4
- 238000005406 washing Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000002604 ultrasonography Methods 0.000 description 3
- 230000002547 anomalous effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000009183 running Effects 0.000 description 2
- 239000007921 spray Substances 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000002940 Newton-Raphson method Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000009189 diving Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000009187 flying Effects 0.000 description 1
- 230000037308 hair color Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000009184 walking Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
- G06T3/4069—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution by subpixel displacements
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/251—Fusion techniques of input or preprocessed data
-
- 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
-
- 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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/776—Validation; Performance evaluation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Image Analysis (AREA)
Abstract
분류 및 뉴럴 네트워크의 트레이닝을 위한 컴퓨터에 의해 구현되는 방법은 뉴럴 네트워크에서 입력을 수신하는 단계 - 입력은 가변 해상도들의 복수의 해상도 입력을 포함함 - , 복수의 해상도 입력의 각각 대응하는 해상도에 대한 복수의 피처 텐서를 출력하는 단계, 가변 해상도들에 대한 업 샘플링 또는 다운 샘플링을 이용하여 복수의 피처 텐서를 융합하는 단계, 복수의 피처 텐서로부터 하나 이상의 예측 벡터를 식별하기 위해 평형 솔버를 이용하는 단계, 및 하나 이상의 예측 벡터에 응답하여 손실을 출력하는 단계를 포함한다.
Description
본 개시는 뉴럴 네트워크들을 포함하는, 인공 지능을 위한 능력을 갖는 컴퓨터 시스템들에 관한 것이다.
딥 평형(Deep Equilibrium)(DEQ) 모델은 네트워크의 포워드 패스가 우선 평형점()을 해결함으로써 주어지도록 일부 포워드 함수(f)를 정의할 수 있다. 백워드 패스는 야코비안()의 승산에 크게 대응할 수 있으며, 이는 그것의 정확한 형태에서 선형 시스템들의 솔루션을 필요로 한다. DEQ 모델을 개발할 시에 3개의 주요 도전이 있다. 하나는 고정점(z*)이 존재하고 이상적으로 고유하도록 f를 정의하고 있을 수 있다. 두번째는 포워드 패스에서 고정점(z*)을 발견할 수 있는 근 발견 절차를 정의하고 있을 수 있다. 세번째는 야코비안()에 의한 승산을 해결하기 위해 백 패스를 정의하고 있을 수 있다.
컴퓨터 비전 작업들을 위한 과거 딥 러닝 방법들은 특정 해상도들에서 피처들을 조합하고 이미지를 점진적으로 다운 샘플링하는 층들을 가짐으로써 제1 성질을 충족시키지만, 이러한 층들은 명시적으로 정의되어, 메모리 요건들은 층들의 수에 따라 증가한다. 다른 한편, DEQ 모델들은 작은 메모리 풋프린트로 더 큰 네트워크들을 시뮬레이션할 수 있지만, 계층 방식으로 러닝되지 않는다. DEQ 모델들은 포워드 & 백워드 패스 도처에서 동일한 해상도를 유지할 수 있고, 다수의 층을 명시적으로 정의하지 않으므로, DEQ 모델들은 네트워크 내의 중간점들에서 다운 샘플링하는 데 곤란을 겪을 수 있다.
일 실시예에 따르면, 분류 및 뉴럴 네트워크의 트레이닝을 위한 컴퓨터에 의해 구현되는 방법은 뉴럴 네트워크에서 입력을 수신하는 단계 - 입력은 가변 해상도들의 복수의 해상도 입력을 포함함 - , 복수의 해상도 입력의 각각 대응하는 해상도에 대한 복수의 피처 텐서를 출력하는 단계, 가변 해상도들에 대한 업 샘플링 또는 다운 샘플링을 이용하여 복수의 피처 텐서를 융합하는 단계, 복수의 피처 텐서로부터 하나 이상의 예측 벡터를 식별하기 위해 평형 솔버를 이용하는 단계, 및 하나 이상의 예측 벡터에 응답하여 손실을 출력하는 단계를 포함한다.
제2 실시예에 따르면, 뉴럴 네트워크에 대한 입력의 분류를 위한 컴퓨터에 의해 구현되는 방법은 뉴럴 네트워크에서 입력을 수신하는 단계 - 입력은 복수의 해상도 입력을 포함함 - , 복수의 해상도 입력의 각각 대응하는 해상도에 대한 피처 텐서들을 식별하는 단계, 각각 대응하는 해상도에 대한 피처 텐서들을 대응하는 잔차 블록에 입력하는 단계, 및 입력의 분류를 출력하기 위해 복수의 피처 텐서로부터 하나 이상의 예측 벡터를 식별하도록 평형 솔버를 이용하는 단계를 포함한다.
제3 실시예에 따르면, 뉴럴 네트워크를 트레이닝하기 위한 시스템은 뉴럴 네트워크에 대한 입력 데이터에 액세스하기 위한 입력 인터페이스 및 입력 인터페이스와 통신하는 프로세서를 포함한다. 프로세서는 뉴럴 네트워크에서 입력 데이터를 수신하고 - 입력은 가변 해상도들의 복수의 해상도 입력을 포함함 - , 복수의 해상도 입력의 각각 대응하는 해상도에 대한 복수의 피처 텐서를 출력하고, 가변 해상도들에 대한 업 샘플링 또는 다운 샘플링을 이용하여 복수의 피처 텐서를 융합하고, 복수의 피처 텐서에 응답하여 예측 벡터를 식별하기 위해 평형 솔버를 이용하고 - 예측 벡터는 복수의 피처 텐서 각각과 연관되는 피처들을 포함함 - , 예측 벡터를 입력 데이터의 분류로서 출력하도록 프로그램된다.
도 1은 뉴럴 네트워크를 트레이닝하기 위한 시스템(100)을 도시한다.
도 2는 뉴럴 네트워크를 트레이닝하기 위한 컴퓨터에 의해 구현되는 방법(200)을 도시한다.
도 3은 MDEQ 모델의 일반적 구조를 예시한다.
도 4는 잔차 블록을 포함하는 시스템(400)의 내부 구조를 도시한다.
도 5는 컴퓨터-제어식 머신(10)과 제어 시스템(12) 사이의 상호작용의 개략도를 도시한다.
도 6은 차량을 제어하도록 구성되는 도 1의 제어 시스템의 개략도를 도시하며, 차량은 부분 자율주행 차량 또는 부분 자율 로봇일 수 있다.
도 7은 생산 라인의 일부와 같은, 제조 시스템의 펀치 커터, 커터 또는 건 드릴과 같은, 제조 기계를 제어하도록 구성되는 도 1의 제어 시스템의 개략도를 도시한다.
도 8은 적어도 부분 자율 모드를 갖는, 전동 드릴 또는 드라이버와 같은, 전동 공구를 제어하도록 구성되는 도 1의 제어 시스템의 개략도를 도시한다.
도 9는 자동화된 개인 보조원을 제어하도록 구성되는 도 1의 제어 시스템의 개략도를 도시한다.
도 10은 제어 액세스 시스템 또는 감독 시스템과 같은, 감시 시스템을 제어하도록 구성되는 도 1의 제어 시스템의 개략도를 도시한다.
도 11은 이미징 시스템, 예를 들어 MRI 장치, x-선 이미징 장치 또는 초음파 장치를 제어하도록 구성되는 도 1의 제어 시스템의 개략도를 도시한다.
도 2는 뉴럴 네트워크를 트레이닝하기 위한 컴퓨터에 의해 구현되는 방법(200)을 도시한다.
도 3은 MDEQ 모델의 일반적 구조를 예시한다.
도 4는 잔차 블록을 포함하는 시스템(400)의 내부 구조를 도시한다.
도 5는 컴퓨터-제어식 머신(10)과 제어 시스템(12) 사이의 상호작용의 개략도를 도시한다.
도 6은 차량을 제어하도록 구성되는 도 1의 제어 시스템의 개략도를 도시하며, 차량은 부분 자율주행 차량 또는 부분 자율 로봇일 수 있다.
도 7은 생산 라인의 일부와 같은, 제조 시스템의 펀치 커터, 커터 또는 건 드릴과 같은, 제조 기계를 제어하도록 구성되는 도 1의 제어 시스템의 개략도를 도시한다.
도 8은 적어도 부분 자율 모드를 갖는, 전동 드릴 또는 드라이버와 같은, 전동 공구를 제어하도록 구성되는 도 1의 제어 시스템의 개략도를 도시한다.
도 9는 자동화된 개인 보조원을 제어하도록 구성되는 도 1의 제어 시스템의 개략도를 도시한다.
도 10은 제어 액세스 시스템 또는 감독 시스템과 같은, 감시 시스템을 제어하도록 구성되는 도 1의 제어 시스템의 개략도를 도시한다.
도 11은 이미징 시스템, 예를 들어 MRI 장치, x-선 이미징 장치 또는 초음파 장치를 제어하도록 구성되는 도 1의 제어 시스템의 개략도를 도시한다.
본 개시의 실시예들은 본원에 설명된다. 그러나, 개시된 실시예들은 예들일 뿐이고 다른 실시예들은 다양하고 대안적 형태들을 취할 수 있다는 점이 이해되어야 한다. 도면들은 반드시 축척을 따르는 것은 아니고; 일부 특징들은 특정 구성요소들의 상세들을 나타내기 위해 과장되거나 최소화될 수 있다. 따라서, 본원에 개시되는 특정 구조 및 기능 상세들은 제한적인 것으로 해석되는 것이 아니라, 실시예들을 다양하게 이용하기 위해 본 기술분야의 통상의 기술자를 교시하기 위한 대표적 기초로서 해석될 뿐이다. 본 기술분야의 통상의 기술자들이 이해하는 바와 같이, 도면들 중 어느 하나를 참조하여 예시되고 설명되는 다양한 특징들은 명시적으로 예시 또는 설명되지 않은 실시예들을 생성하기 위해 하나 이상의 다른 도면에 예시되는 특징들과 조합될 수 있다. 예시되는 특징들의 조합들은 전형적 적용들을 위한 대표적 실시예들을 제공한다. 그러나, 이러한 개시의 교시들과 일치하는 특징들의 다양한 조합들 및 수정들은 특정 적용들 또는 구현들을 위해 요구될 수 있다.
이전 DEQ 모델들에서, 고정점을 갖는 함수를 정의하는 것은 안정된 고정점들을 경험적으로 생성할 것 같은 네트워크 구조들을 사용함으로써 발견적으로 행해질 수 있다. 이것은 기존 트랜스포머 스타일 아키텍처들, 또는 기존 콘벌루션 아키텍처들을 사용하는 것을 포함할 수 있으며, 적절한 층 정규화는 안정된 시스템을 제공하려고 시도한다. 그러나, 그러한 층들은 고정점의 존재에 대해 어떠한 형식적 보증들도 따르지 않는다. 근 발견 절차에 대해, DEQ는 비선형 브로이덴 방법을 사용할 수 있으며, 이는 또한 (근 또는 고정점이 존재할지라도) 근을 발견하도록 보증되지 않는다. 부가적으로, 백워드 패스는 선형 해결을 위해 유사한 브로이덴 방법을 사용할 수 있으며, 이는 그것이 존재하면 적절한 역을 승산하도록 보증될 수 있지만, 야코비안은 고정점이 존재하지 않으면 또는 포워드 패스가 수렴되지 않으면 유의미 도함수에 대응하지 않을 것이다.
딥 뉴럴 네트워크는 i=0, 1, 2, ..., L에 대해 이도록 히든 층들(z) 및 활성화들(f)을 가지며 가중치들(θi) 및 이전 층 입력들(c(x))은 층들에 걸쳐 둘 다 고정되고, 예를 들어, 이다. 이러한 활성화들(f)의 일부는 어트랙터 성질을 나타낼 수 있으며, 예를 들어, 이고 이도록 고정점(z*)이 존재하며, 즉, 초기 활성화()가 고정점(z*)에 수렴될 때까지 f의 반복된 적용이 존재한다. 만일 이 경우라면, 반복된 함수 적용은 고정점을 직접 발견하도록 수치 방법에 의해 동등하게 대체될 수 있다. 이것은 다수의 층에 대한 포워드 및 백워드 패스들을 계산하는 것으로부터 수치 방법들을 통해 직접 고정점을 계산하고 최적화하는 것으로 문제를 시프트시킨다. 이것은 (층들 내의 어떠한 중간 값들이 저장될 필요가 없으므로) 메모리 풋프린트를 감소시킬 수 있고 최적의 수의 층들(L)을 발견하는 문제를 해결한다.
멀티스케일 딥 평형 모델(multiscale deep equilibrium model)(MDEQ)은 그것의 이전 모델(predecessor) 상에 딥 평형 모델(DEQ)을 구축한다. DEQ에 대한 입력이 단일 해상도이지만, MDEQ에 대한 입력은 다수의 해상도에서 공급되며, 이는 범위가 아주 세밀한 피처들(고해상도)에서 글로벌 피처들(저해상도)까지 이르는 해상도들의 스펙트럼으로부터 러닝되는 것을 허용한다. MDEQ는 또한 상이한 스케일들 중에 정보를 혼합 및 조합하기 위해 프로세스를 지정한다. 또한, DEQ로부터의 출력은 그것의 입력과 동일한 해상도인 한편, MDEQ는 출력을 입력 스케일들 각각에 제공한다. 이것은 상이한 해상도들에서의 출력이 단일 트레이닝 작업에 관한 보조 손실들을 러닝하거나, 수개의 작업들을 동시에 러닝하거나(즉, 의미적 세그먼트화를 위해 고해상도 출력들을 사용하고, 이미지 분류를 위해 저해상도 출력들을 사용함), 러닝된 모델을 하나의 작업으로부터 다른 작업으로 더 용이하게 전달하기 위해 사용될 수 있으므로 MDEQ 모델을 공동 러닝 및 전달에 대해 더 유연하게 한다.
MDEQ 모델은 계층 방식으로 러닝되며, 예를 들어 하나는 다수의 스케일 또는 해상도들에서 데이터를 고려하고, 이는 다수의 작업(예를 들어, 컴퓨터 비전 작업들)에서의 러닝에 필수적이다. MDEQ 모델들은 모델을 저장하고 트레이닝하는 비교적 작은 메모리 풋프린트를 유지하면서 훨씬 더 큰 네트워크들을 내재적으로 시뮬레이션할 수 있다.
도 1은 뉴럴 네트워크를 트레이닝하기 위한 시스템(100)을 도시한다. 시스템(100)은 뉴럴 네트워크에 대한 트레이닝 데이터(192)에 액세스하기 위한 입력 인터페이스를 포함할 수 있다. 예를 들어, 도 1에 예시된 바와 같이, 입력 인터페이스는 데이터 스토리지(190)로부터의 트레이닝 데이터(192)에 액세스할 수 있는 데이터 저장 인터페이스(180)에 의해 구성될 수 있다. 예를 들어, 데이터 저장 인터페이스(180)는 메모리 인터페이스 또는 영구 저장 인터페이스, 예를 들어, 하드 디스크 또는 SSD 인터페이스이지만, 또한 개인, 근거리 또는 광역 네트워크 인터페이스 예컨대 블루투스, 지그비 또는 Wi-Fi 인터페이스 또는 이더넷 또는 광섬유 인터페이스일 수 있다. 데이터 스토리지(190)는 시스템(100)의 내부 데이터 스토리지, 예컨대 하드 드라이브 또는 SSD이지만, 또한 외부 데이터 스토리지, 예를 들어, 네트워크 액세스가능 데이터 스토리지일 수 있다.
일부 실시예들에서, 데이터 스토리지(190)는 데이터 스토리지(190)로부터 시스템(100)에 의해 액세스될 수 있는 뉴럴 네트워크의 비트레이닝된 버전의 데이터 표현(194)을 추가로 포함할 수 있다. 그러나, 비트레이닝된 뉴럴 네트워크의 트레이닝 데이터(192) 및 데이터 표현(194)은 또한 상이한 데이터 스토리지로부터, 예를 들어, 데이터 저장 인터페이스(180)의 상이한 서브시스템을 통해 각각 액세스될 수 있다는 점이 이해될 것이다. 각각의 서브시스템은 데이터 저장 인터페이스(180)에 대해 상술된 바와 같은 유형일 수 있다. 다른 실시예들에서, 비트레이닝된 뉴럴 네트워크의 데이터 표현(194)은 뉴럴 네트워크에 대한 디자인 파라미터들의 기초로 시스템(100)에 의해 내부적으로 발생될 수 있고, 따라서 데이터 스토리지(190) 상에 명시적으로 저장되지 않을 수 있다. 시스템(100)은 시스템(100)의 동작 동안, 트레이닝될 뉴럴 네트워크의 층들의 스택을 위한 대체로서 반복 함수를 제공하도록 구성될 수 있는 프로세서 서브시스템(160)을 추가로 포함할 수 있다. 여기서, 대체되는 층들의 스택의 각각의 층들은 상호 공유된 가중치들을 가질 수 있고 입력으로서, 이전 층의 출력을 수신하거나, 층들의 스택의 제1 층을 위해, 초기 활성화, 및 층들의 스택의 입력의 일부를 수신할 수 있다. 프로세서 서브시스템(160)은 트레이닝 데이터(192)를 사용하여 뉴럴 네트워크를 반복적으로 트레이닝하도록 추가로 구성될 수 있다. 여기서, 프로세서 서브시스템(160)에 의한 트레이닝의 반복은 포워드 전파 부분 및 백워드 전파 부분을 포함할 수 있다. 프로세서 서브시스템(160)은 수행될 수 있는 포워드 전파 부분을 정의하는 다른 동작들 중에서, 반복 함수가 고정점에 수렴되는 반복 함수의 평형점을 결정함으로써 - 평형점을 결정하는 단계는 반복 함수 마이너스 그것의 입력에 대한 근 솔루션을 발견하기 위해 수치 근 발견 알고리즘을 사용하는 단계를 포함함 - , 그리고 뉴럴 네트워크 내의 층들의 스택의 출력을 위한 대체로서 평형점을 제공함으로써 포워드 전파 부분을 수행하도록 구성될 수 있다. 시스템(100)은 트레이닝된 뉴럴 네트워크의 데이터 표현(196)을 출력하기 위한 출력 인터페이스를 추가로 포함할 수 있으며, 이러한 데이터는 또한 트레이닝된 모델 데이터(196)로 지칭될 수 있다. 예를 들어, 또한 도 1에 예시된 바와 같이, 출력 인터페이스는 데이터 저장 인터페이스(180)에 의해 구성될 수 있으며, 상기 인터페이스는 이러한 실시예들에서 입력/출력("IO") 인터페이스이고, 그것을 통해 트레이닝된 모델 데이터(196)는 데이터 스토리지(190) 내에 저장될 수 있다. 예를 들어, '비트레이닝된' 뉴럴 네트워크를 정의하는 데이터 표현(194)은 뉴럴 네트워크들의 가중치들, 하이퍼파라미터들 및 다른 유형들의 파라미터들과 같은, 뉴럴 네트워크의 파라미터들이 트레이닝 데이터(192)에 트레이닝을 반영하도록 적응될 수 있다는 점에서, 트레이닝 동안에 또는 트레이닝 후에, 트레이닝된 뉴럴 네트워크의 데이터 표현(196)에 의해 적어도 부분적으로 대체될 수 있다. 이것은 또한 데이터 스토리지(190) 상의 동일한 데이터 레코드를 지칭하는 참조 번호들(194, 196)에 의해 도 1에 예시된다. 다른 실시예들에서, 데이터 표현(196)은 '비트레이닝된' 뉴럴 네트워크를 정의하는 데이터 표현(194)과 별도로 저장될 수 있다. 일부 실시예들에서, 출력 인터페이스는 데이터 저장 인터페이스(180)로부터 분리될 수 있지만, 일반적으로 데이터 저장 인터페이스(180)에 대해 상술된 바와 같은 유형일 수 있다.
도 2는 뉴럴 네트워크를 트레이닝하기 위한 컴퓨터에 의해 구현되는 방법(200)을 도시한다. 방법(200)은 그것이 또한 다른 유형의 시스템, 장치 또는 디바이스의 동작에 대응할 수 있거나 컴퓨터 프로그램에 대응할 수 있다는 점에서, 도 1의 시스템(100)의 동작에 대응할 수 있지만, 그럴 필요는 없다.
방법(200)은 명칭이 "PROVIDING DATA REPRESENTATION OF NEURAL NETWORK"인 단계에서, 뉴럴 네트워크를 제공하는 단계(210)를 포함하는 것으로 제시되며, 뉴럴 네트워크의 제공은 뉴럴 네트워크의 층들의 스택을 위한 대체로서 반복 함수를 제공하는 단계를 포함하고, 대체되는 층들의 스택의 각각의 층들은 상호 공유된 가중치들을 갖고 입력으로서 이전 층의 출력을 수신하거나, 층들의 스택의 제1 층을 위해, 초기 활성화, 및 층들의 스택의 입력의 일부를 수신한다. 방법(200)은 명칭이 "ACCESSING TRAINING DATA"인 단계에서, 뉴럴 네트워크에 대한 트레이닝 데이터에 액세스하는 단계(220)를 포함하는 것으로 추가로 제시된다. 방법(200)은 명칭이 "ITERATIVELY TRAINING NEURAL NETWORK USING TRAINING DATA"인 단계에서, 트레이닝 데이터를 사용하여 뉴럴 네트워크를 반복적으로 트레이닝하는 단계(230)를 포함하는 것으로 추가로 제시되며, 트레이닝(230)은 포워드 전파 부분 및 백워드 전파 부분을 포함할 수 있다. 방법(200)에 의해 포워드 전파 부분을 수행하는 단계는 명칭이 "DETERMINING EQUILIBRIUM POINT USING ROOT-FINDING ALGORITHM"인 단계에서, 반복 함수가 고정점에 수렴되는 반복 함수의 평형점을 결정하는 단계(240) - 평형점을 결정하는 단계는 반복 함수 마이너스 그것의 입력에 대한 근 솔루션을 발견하기 위해 수치 근 발견 알고리즘을 사용하는 단계를 포함함 - , 및 명칭이 "PROVIDING EQUILIBRIUM POINT AS SUBSTITUTE FOR OUTPUT OF STACK OF LAYERS"인 단계에서, 뉴럴 네트워크 내의 층들의 스택의 출력을 위한 대체로서 평형점을 제공하는 단계(250)를 포함할 수 있다. 방법(200)은 트레이닝 후에 그리고 명칭이 "OUTPUTTING TRAINED NEURAL NETWORK"인 단계에서, 트레이닝된 뉴럴 네트워크를 출력하는 단계(260)를 추가로 포함할 수 있다. 딥 평형(DEQ) 뉴럴 네트워크는 명칭이 "DEEP NEURAL NETWORK WITH EQUILIBRIUM SOLVER"이고, 출원 번호 X,XXX,XXX를 갖는 특허 출원에 추가로 설명될 수 있으며, 이 특허 출원은 본원에 전체적으로 참조로 포함된다.
도 3은 MDEQ 모델(300)의 일반적 구조를 예시한다. 이전 DEQ 모델에서와 같이, fθ는 시스템이 관심있는 고정점의 변환을 나타낼 수 있고, x는 모델의 내부 상태를 위해 fθ 및 z에 제공되는 사전 계산된 입력 표현일 수 있다.
맥락에 대해, 원래 DEQ 모델에서, 포워드 패스(추론) 시퀀스에서의 DEQ는 입력( 및 )을 포함할 수 있다. 하이퍼파라미터들은 베이스 층 함수()를 포함할 수 있다. 알고리즘은 이하를 할 수 있다:
1. 메모리()를 초기화한다.
2. 함수()를 정의한다.
3. 서브루틴()을 호출한다.
DEQ 모델은 을 출력할 수 있다. 구체적으로, 근 발견은 임의의 근 파인더 방법을 통해 계산될 수 있다. 비제한 방식으로, 이것은 임의의 뉴턴의 방법 변형, 예를 들어 고전 뉴턴-랩슨 방법, 브로이덴의 방법, 스티픈슨의 방법 등을 포함할 수 있다.
DEQ 백워드 패스 트레이닝 시퀀스 동안, 시스템은 포워드 패스로부터 역 전파된 에러 뿐만 아니라 , 를 입력들로서 이용할 수 있다. 백워드 패스에 대한 알고리즘은 이하의 단계들을 실행할 수 있다:
1. 함수()를 정의한다.
2. 편도함수들( 및 )을 계산한다.
3. A) 및 를 계산하거나,
B) 적절한 서브루틴을 통해 선형 시스템()을 해결한다.
추가로 후술되는 MDEQ 모델은 상기 알고리즘들에 사용되는 함수()를 지정함으로써 이하에 포워드 패스 시퀀스 및 백워드 패스 시퀀스를 구축한다. MDEQ 모델에서의 하이퍼파라미터들은 n, 즉 해상도들의 수를 포함할 수 있다. 입력들(예를 들어, 입력)은 x = [x1, ..., xn](각각의 스케일에서의 입력, 해상도들은 감소적으로 순서화됨) 및 z = [z1, ..., zn](히든 상태, zi는 xn과 동일한 크기임)을 포함할 수 있다. 알고리즘은 각각의 해상도(i=1, ..., n)에 대해 이하일 수 있다:
놈(norm)은 그룹 정규화 연산(배치 정규화와 유사함)으로서 정의될 수 있다.
그 다음, 각각의 해상도(i=1, ..., n)에 대해, MDEQ 모델은 다른 스케일들로부터 피처들을 혼합하는 멀티 해상도 융합 단계를 적용할 수 있다:
여기서, 하나 이상의 2-스트라이드 3x3 콘벌루션(들)(예를 들어, StridedConv2d는 하나 이상임)은 더 높은 해상도들에 적용되고, 1x1 콘벌루션 후에 이중선형 보간은 더 낮은 해상도들에 적용된다.
f의 출력은 세트의 히든 상태들()이다. 그러나, 이러한 단계들은 제1 단계가 그들의 형상을 보유하는 각각의 해상도에 개별적으로 적용되는 변환이고, 제2 단계가 상이한 해상도들 중에 정보를 혼합하는 변환이기만 하면, 수정될 수 있다.
그 다음, 이러함 함수()는 상기 포워드 및 백워드 패스들에서 사용될 수 있다. 포워드 패스 후에, 모델은 의 근(z*)을 획득할 수 있으며, 이는 MDEQ 경우에 해상도들의 세트 이고, 그 중 어느 것은 가까운 장래에 러닝 작업에 대한 그들의 관련에 따라, 예측 또는 트레이닝에 이용될 수 있다.
MDEQ의 주요 개념들 중 하나는 평형으로 추진되는 fθ의 변환이다. 시스템은 상이한 해상도들(303)에서의 피처들이 우선 잔차 블록들(307)을 통해 취해지는 그러한 디자인을 사용할 수 있다. 피처들은 도 3에 도시된 바와 같이, 가변 해상도들(303) 또는 해상도 이미지(303)를 갖는 입력 이미지(301)로부터 유도될 수 있다. 각각의 해상도(303)는 그 자체의 대응하는 잔차 블록(307)을 가질 수 있다. 잔차 블록들(307)은 얕고 구조가 동일할 수 있다. 상이한 해상도 스트림들은 나란히 또는 동시에 처리될 수 있다. 해상도(i)에서, 잔차 블록은 입력 표현(xi)과 함께 내부 상태(zi)를 수신할 수 있고, 동일한 해상도에서 변환된 피처 텐서(305)()를 출력한다.
입력(301)은 x 303을 형성하기 위해 일련의 변환들을 거칠 수 있으며, 이는 fθ에 제공될 것이다. 시퀀스에 작용하고 입력의 단일 표현이 제공되는 원래 DEQ 모델과 대조적으로, MDEQ에는 n 해상도(예를 들어, n = 4)에서 입력 표현들이 제공될 수 있다. 각각의 해상도에서의 변환은 그 자체의 입력 표현을 수신한다,
i = 1, ..., n에 대해서는 이다. 더 낮은 해상도 입력 표현들은 원래(고해상도) 입력으로부터 2-스트라이드 콘벌루션을 통해 유도될 수 있다.
원래 DEQ가 단일 텐서(z)를 가진 내부 상태를 갖지만, MDEQ 상태는 n 해상도에서 텐서들(305)의 집합을 포함한다:
z = [z1, ..., zn]이다(히든 상태, zi는 xn과 동일한 크기임)
상이한 텐서들(305) 각각은 상이한 치수들 및 상이한 해상도들을 갖는다. 그와 같이, 평형 솔버(311)는 다른 DEQ 모델들의 이전 접근법에 기초할 수 있다. 시스템은 모든 스케일들(i)에 대해 을 설정함으로써 내부 상태들을 초기화할 수 있다. 시스템이 근 발견을 수행하고 있기 때문에, 시스템은 멀티 해상도 텐서들을 벡터화할 필요가 없다. 텐서들(z = [z1, ..., zn])의 집합은 각각의 평형 상태들이 해결될 수 있는 n 텐서의 집합으로서 유지될 수 있고 동시에 역전파되며, 각각의 해상도는 그 자체의 기울기를 유도한다.
솔버(311)는 또한 이전 DEQ 모델과 비교하여 수정될 수 있다. 이미지들의 높은 차원은 그들의 로우 랭크에도 불구하고, 그러한 업데이트들을 저장하는 것을 극히 비싸게 할 수 있다. 이것에 대처하기 위해, 시스템은 포워드 및 백워드 패스들의 메모리 효율을 개선한다. 새로운 솔버는 임의의 단계에서 최근의 m 로우 랭크 업데이트를 유지할 수 있고 더 이른 것들을 폐기한다. 솔버(311)는 모든 해상도들에 대한 단일 예측 벡터(313)를 출력할 수 있다. 예측 벡터(313)는 대응하는 해상도에 대한 벡터들 각각의 피처들을 포함할 수 있다.
이전 내재적 모델들은 손실(317)이 균일한 입력 및 출력 형상을 갖는 내재적 히든 상태들의 단일 스트림 상에 정의되는 것을 가정하며, 따라서, 그러한 모델이 구조적으로 상이한 작업들(예를 들어, 이미지 분류에 관한 사전 트레이닝 및 의미적 세그먼트화에 관한 미세 조정)에 걸쳐 어떻게 전달될 수 있는지는 분명하지 않다. 더욱이, 어떠한 "층들"도 없고 전진 및 후진 계산 궤적이 분리되기 때문에 보조 손실들을 정의하는 어떠한 자연적 방식도 없다. MDEQ 모델에서의 손실(317)은 MDEQ 모델이 손실을 벡터들 중 하나 초과에 할당할 수 있으므로, 예측 벡터들 각각과 연관될 수 있다. 그와 같이, 벡터들은 그들 중 적어도 하나와 연관되는 손실을 항상 가질 수 있다.
MDEQ 모델은 다수의 해상도에서 편리한 "인터페이스들"을 그것의 상태들에 노출시킬 수 있다. 하나의 해상도(가장 높음)는 입력의 해상도와 동일할 수 있고, 의미적 세그먼트화와 같은, 치밀한 예측 작업들에 대한 손실들을 정의하기 위해 사용될 수 있다. 예를 들어, 이것은 얼굴 인식, 눈 인식, 머리 색깔 등과 같은, 이미지에서 식별되는 객체들의 연관된 부분들의 특정 분류를 유도하는 것을 포함할 수 있다. 다른 해상도(예를 들어, 가장 낮음)는 공간 차원들이 붕괴되는 벡터일 수 있고, 이미지 분류와 같은, 이미지 레벨 라벨링 작업들에 대한 손실들을 정의하기 위해 사용될 수 있다. 이것은 상이한 작업들에 대한 동일한 모델을 트레이닝하기 위한 클린 프로토콜들을, 공동으로(예를 들어, 구조적으로 상이한 슈퍼비전이 다수의 헤드를 통해 흐르는 멀티 작업 러닝) 또는 시퀀스로(예를 들어, 하나의 헤드를 통한 이미지 분류를 위한 사전 트레이닝 및 다른 헤드를 통한 의미적 세그먼트화를 위한 미세 조정) 제안할 수 있다.
배치 정규화가 내재적 모델들에 직접 적절하지 않을 수 있기 때문에 그것이 층들에 기초하여 모집단 정역학을 추정하므로, 이는 MDEQ 설정에 내재적이고, 변환(fθ)의 야코비안 행렬은 나쁘게 스케일링되어 고정점을 해결하기에 상당히 더 어렵게 할 수 있다. 따라서, MDEQ는 그룹 정규화를 이용할 수 있으며, 이는 입력 채널들을 그룹화하고 각각의 그룹(예를 들어, 각각의 해상도) 내에서 정규화를 수행한다. 그룹 정규화는 배치 크기에 독립적일 수 있고 더 자연적 지원을 전이 러닝(예를 들어, 구조적으로 상이한 작업에 관한 사전 트레이닝 및 미세 조정)에 제공한다. MDEQ는 안정성을 위해 그룹 정규화의 러닝가능 아핀 파라미터들을 이용하지 않을 수 있다.
네트워크 내의 주어진 층들에 대한 랜덤 마스크에 적용되는 설명 비전 모델들에 의해 사용되는 종래의 공간 드롭아웃을 이용하는 것보다는 오히려, MDEQ는 회귀 뉴럴 네트워크들(Recurrent Neural Networks)(RNNs)에서 발견되는 변분 드롭아웃 기술을 채택할 수 있으며 정확히 동일한 마스크는 fθ의 모든 호출들에서 적용될 수 있고 모든 트레이닝 반복의 시작에서 리셋된다.
멀티스케일 피처들은 모든 해상도들(i)에 대해 으로 초기화될 수 있다. 그러나, 이것은 MDEQ를 트레이닝할 때, 특히 그것의 시작 위상 동안 특정 불안정성들을 야기할 수 있으며, 이는 원점에서 ReLU 비선형성의 경사의 급격한 변화로 인한 것일 수 있고, 여기서 도함수는 정의되어 있지 않다. 이것을 방지하기 위해, MDEQ 모델은 잔차 블록 및 멀티스케일 융합 둘 다에서의 마지막 ReLU를 트레이닝의 초기 위상에서의 소프트플러스로 대체할 수 있다. 이들은 ReLU로 나중에 되돌아갈 수 있다. 소프트플러스는 매끄러운 근사를 ReLU에 제공하지만, 경사()를 갖는다(여기서, β는 곡률을 제어함).
MDEQ 모델들은 잠재적으로 매우 큰 이미지들(예를 들어, 2048 X 1024 이미지들) 상에 작은 수용 필드들을 갖는 콘벌루션들(예를 들어, fθ의 잔차 블록 내의 2개의 3 X 3 콘벌루션 필터)을 적용할 수 있다. 예를 들어, MDEQ는 메가픽셀 레벨 이미지들 상에서 의미적 세그먼트화 모델들을 최종적으로 평가할 수 있다. 실제로, 이것은 전형적으로 시스템이 정확한 평형에 수렴되도록 더 높은 수의 근 발견 반복들을 필요로 할 수 있는 것을 의미할 수 있다. 이것은 도전을 제기하지만, MDEQ 모델은 동시 업 및 다운 샘플링을 멀티스케일하고 준-뉴턴 근 발견을 이용하여 적정한 수의 근 발견 반복들 내에서 평형에 가까운 모델을 추진할 수 있다.
도 4는 잔차 블록을 포함하는 시스템(400)의 내부 구조를 개시한다. 잔차 블록은 배치 정규화보다는 오히려 그룹 정규화(413)를 이용할 수 있다. 해상도 i에서의 잔차 블록은 이하와 같이 형식적으로 표현될 수 있으며, 의 출력은 각각의 해상도(i=1, ... , n)에 대한 것이다:
따라서, 그룹 정규화를 갖는 2차원(2D) 콘벌루션 층(405)은 출력들의 텐서를 생성하는 것을 돕기 위해 층들로 작동되는(wind) 콘벌루션 커널을 출력할 수 있다. 교정기(407)는 블록(405)으로부터 출력되는 콘벌루션 커널 상에 이용될 수 있다. 활성화 함수는 교정 선형 유닛(Rectified Linear Unit)(ReLU)(407, 411)을 포함할 수 있다. 그룹 정규화를 갖는 제2 2D 콘벌루션 층(409)은 상기 식에 지정된 바와 같이, 입력 표현(xi)과 함께 내부 상태(zi)를 수신할 수 있고, 동일한 해상도에서 변환된 피처 텐서()를 출력한다. 잔차 블록은 2-스트라이드 3x3 콘벌루션을 더 높은 해상도들에 적용하고, 1x1 콘벌루션 후에 이중선형 보간을 더 낮은 해상도들에 적용할 수 있다.
이러한 블록들 후에, fθ의 제2 부분은 상이한 스케일들에 걸쳐 피처 맵들을 혼합하는 멀티 해상도 융합 단계이다. 변환된 피처들()은 현재 스케일(i)로부터 i와 같지 않은 각각의 다른 스케일(j)로의 업 샘플링 또는 다운 샘플링을 겪는다. MDEQ 구성에서, 다운 샘플링은 (하나 이상의) 2-스트라이드 3 X 3 Conv2d에 의해 수행될 수 있는 반면, 업 샘플링은 1 X 1 콘벌루션 후에 이중선형 보간에 의해 수행된다. 최종 출력 스케일(j)은 (와 함께) 모든 착신 스케일들(i)로부터 제공되는 변환된 피처 맵들을 통해 합산함으로써 형성될 수 있다. 따라서, 각각의 스케일에서의 출력 피처 텐서는 모든 스케일들로부터의 변환된 피처들의 혼합이다. 이것은 모든 스케일들에서의 피처들이 일관되게 할 수 있고 전체 시스템을 스케일들에 걸쳐 표현을 조화시키는 조정된 평형으로 추진한다.
도 5는 컴퓨터-제어식 머신(10)과 제어 시스템(12) 사이의 상호작용의 개략도를 도시한다. 컴퓨터-제어식 머신(10)은 도 1 내지 도 4에 도시된 바와 같이 뉴럴 네트워크를 포함할 수 있다. 컴퓨터-제어식 머신(10)은 액추에이터(14) 및 센서(16)를 포함한다. 액추에이터(14)는 하나 이상의 액추에이터를 포함할 수 있고 센서(16)는 하나 이상의 센서를 포함할 수 있다. 센서(16)는 컴퓨터-제어식 머신(10)의 조건을 감지하도록 구성된다. 센서(16)는 감지된 조건을 센서 신호들(18)로 인코딩하고 센서 신호들(18)을 제어 시스템(12)에 송신하도록 구성될 수 있다. 센서(16)의 비제한 예들은 비디오, 레이더, 라이더, 초음파 및 모션 센서들을 포함한다. 일 실시예에서, 센서(16)는 컴퓨터-제어식 머신(10)에 근접한 환경의 광학 이미지들을 감지하도록 구성되는 광학 센서이다.
제어 시스템(12)은 컴퓨터-제어식 머신(10)으로부터 센서 신호들(18)을 수신하도록 구성된다. 아래에 제시되는 바와 같이, 제어 시스템(12)은 센서 신호들에 따라 액추에이터 제어 커맨드들(20)을 계산하고 액추에이터 제어 커맨드들(20)을 컴퓨터-제어식 머신(10)의 액추에이터(14)에 송신하도록 추가로 구성될 수 있다.
도 5에 도시된 바와 같이, 제어 시스템(12)은 수신 유닛(22)을 포함한다. 수신 유닛(22)은 센서(16)로부터 센서 신호들(18)을 수신하고 센서 신호들(18)을 입력 신호들(x)로 변환하도록 구성될 수 있다. 대안적 실시예에서, 센서 신호들(18)은 수신 유닛(22) 없이 입력 신호들(x)로서 직접 수신된다. 각각의 입력 신호(x)는 각각의 센서 신호(18)의 일부일 수 있다. 수신 유닛(22)은 각각의 입력 신호(x)를 생성하기 위해 각각의 센서 신호(18)를 처리하도록 구성될 수 있다. 입력 신호(x)는 센서(16)에 의해 레코딩되는 이미지에 대응하는 데이터를 포함할 수 있다.
제어 시스템(12)은 분류기(24)를 포함한다. 분류기(24)는 상기 설명된 뉴럴 네트워크와 같은, 머신 러닝(machine learning)(ML) 알고리즘을 사용하여 입력 신호들(x)을 하나 이상의 라벨로 분류하도록 구성될 수 있다. 분류기(24)는 상기 설명된 것들(예를 들어, 파라미터(θ))과 같은, 파라미터들에 의해 파라미터화되도록 구성된다. 파라미터들(θ)은 비휘발성 스토리지(26) 내에 저장되고 이 스토리지에 의해 제공될 수 있다. 분류기(24)는 입력 신호들(x)로부터 출력 신호들(y)을 결정하도록 구성된다. 각각의 출력 신호(y)는 하나 이상의 라벨을 각각의 입력 신호(x)에 할당하는 정보를 포함한다. 분류기(24)는 출력 신호들(y)을 변환 유닛(28)에 송신할 수 있다. 변환 유닛(28)은 출력 신호들(y)을 액추에이터 제어 커맨드들(20)로 변환하도록 구성된다. 제어 시스템(12)은 액추에이터 제어 커맨드들(20)을 액추에이터(14)에 송신하도록 구성되며, 액추에이터는 액추에이터 제어 커맨드들(20)에 응답하여 컴퓨터-제어식 머신(10)을 작동시키도록 구성된다. 다른 실시예에서, 액추에이터(14)는 출력 신호들(y)에 직접 기초하여 컴퓨터-제어식 머신(10)을 작동시키도록 구성된다.
액추에이터(14)에 의한 액추에이터 제어 커맨드들(20)의 수신 시에, 액추에이터(14)는 관련된 액추에이터 제어 커맨드(20)에 대응하는 액션을 실행하도록 구성된다. 액추에이터(14)는 액추에이터 제어 커맨드들(20)을 제2 액추에이터 제어 커맨드로 변환하도록 구성되는 제어 로직을 포함할 수 있으며, 이는 액추에이터(14)를 제어하기 위해 이용된다. 하나 이상의 실시예에서, 액추에이터 제어 커맨드들(20)은 액추에이터 대신에 또는 이에 더하여 디스플레이를 제어하기 위해 이용될 수 있다.
다른 실시예에서, 제어 시스템(12)은 센서(16)를 포함하는 컴퓨터-제어식 머신(10) 대신에 또는 이에 더하여 센서(16)를 포함한다. 제어 시스템(12)은 또한 액추에이터(14)를 포함하는 컴퓨터-제어식 머신(10) 대신에 또는 이에 더하여 액추에이터(14)를 포함할 수 있다.
도 5에 도시된 바와 같이, 제어 시스템(12)은 또한 프로세서(30) 및 메모리(32)를 포함한다. 프로세서(30)는 하나 이상의 프로세서를 포함할 수 있다. 메모리(32)는 하나 이상의 메모리 디바이스를 포함할 수 있다. 하나 이상의 실시예의 분류기(24)(예를 들어, ML 알고리즘들)는 제어 시스템(12)에 의해 구현될 수 있으며, 제어 시스템은 비휘발성 스토리지(26), 프로세서(30) 및 메모리(32)를 포함한다.
비휘발성 스토리지(26)는 정보를 영구적으로 저장할 수 있는 하드 드라이브, 광학 드라이브, 테이프 드라이브, 비휘발성 고체 상태 디바이스, 클라우드 스토리지 또는 임의의 다른 디바이스와 같은 하나 이상의 영구 데이터 스토리지 디바이스를 포함할 수 있다. 프로세서(30)는 메모리(32) 내에 상주하는 컴퓨터 실행가능 명령어들에 기초하여 신호들(아날로그 또는 디지털)을 조작하는 고성능 코어들, 마이크로프로세서들, 마이크로컨트롤러들, 디지털 신호 프로세서들, 마이크로컴퓨터들, 중앙 처리 유닛들, 필드 프로그램가능 게이트 어레이들, 프로그램가능 로직 디바이스들, 상태 머신들, 로직 회로들, 아날로그 회로들, 디지털 회로들, 또는 임의의 다른 디바이스들을 포함하는 고성능 컴퓨팅(high-performance computing)(HPC) 시스템들로부터 선택되는 하나 이상의 디바이스를 포함할 수 있다. 메모리(32)는 정보를 저장할 수 있는 랜덤 액세스 메모리(random access memory)(RAM), 휘발성 메모리, 비휘발성 메모리, 정적 랜덤 액세스 메모리(static random access memory)(SRAM), 동적 랜덤 액세스 메모리(dynamic random access memory)(DRAM), 플래시 메모리, 캐시 메모리, 또는 임의의 다른 디바이스를 포함하지만, 이들에 제한되지 않는 단일 메모리 디바이스 또는 다수의 메모리 디바이스를 포함할 수 있다.
프로세서(30)는 메모리(32)에서 판독하고 비휘발성 스토리지(26) 내에 상주하고 하나 이상의 실시예의 하나 이상의 ML 알고리즘 및/또는 방법을 구체화하는 컴퓨터 실행가능 명령어들을 실행하도록 구성될 수 있다. 비휘발성 스토리지(26)는 하나 이상의 운영 시스템 및 애플리케이션을 포함할 수 있다. 비휘발성 스토리지(26)는 자바, C, C++, C#, 오브젝티브 C, 포트란, 파스칼, 자바 스크립트, 파이썬, 펄, 및 PL/SQL을 제한 없이, 그리고 단독으로 또는 조합하여 포함하는 다양한 프로그래밍 언어들 및/또는 기술들을 사용하여 생성되는 컴퓨터 프로그램들로부터 컴파일되고/되거나 해석되어 저장할 수 있다.
프로세서(30)에 의한 실행 시에, 비휘발성 스토리지(26)의 컴퓨터 실행가능 명령어들은 제어 시스템(12)이 본원에 개시되는 바와 같이 ML 알고리즘들 및/또는 방법들 중 하나 이상을 구현하게 할 수 있다. 비휘발성 스토리지(26)는 또한 본원에 설명되는 하나 이상의 실시예의 기능들, 특징들, 및 프로세스들을 지원하는 ML 데이터(데이터 파라미터들을 포함함)를 포함할 수 있다.
본원에 설명되는 알고리즘들 및/또는 방법들을 구체화하는 프로그램 코드는 여러가지 상이한 형태들로 프로그램 제품으로서 개별적으로 또는 집합적으로 분산될 수 있다. 프로그램 코드는 프로세서가 하나 이상의 실시예의 양태들을 수행하게 하기 위해 컴퓨터 판독가능 프로그램 명령어들을 갖는 컴퓨터 판독가능 저장 매체를 사용하여 분산될 수 있다. 내재적으로 비일시적인 컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터와 같은, 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 및 제거식 및 비제거식 유형의 매체를 포함할 수 있다. 컴퓨터 판독가능 저장 매체는 원하는 정보를 저장하기 위해 사용될 수 있고 컴퓨터에 의해 판독될 수 있는 RAM, ROM, 소거가능 프로그램가능 판독 전용 메모리(erasable programmable read-only memory)(EPROM), 전기적 소거가능 프로그램가능 판독 전용 메모리(electrically erasable programmable read-only memory)(EEPROM), 플래시 메모리 또는 다른 고체 상태 메모리 기술, 휴대용 콤팩트 디스크 판독 전용 메모리(compact disc read-only memory)(CD-ROM), 또는 다른 광학 스토리지, 자기 카세트들, 자기 테이프, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 임의의 다른 매체를 추가로 포함할 수 있다. 컴퓨터 판독가능 프로그램 명령어들은 컴퓨터 판독가능 저장 매체로부터 컴퓨터, 다른 유형의 프로그램가능 데이터 처리 장치, 또는 다른 디바이스로 또는 네트워크를 통해 외부 컴퓨터 또는 외부 저장 디바이스로 다운로드될 수 있다.
컴퓨터 판독가능 매체 내에 저장되는 컴퓨터 판독가능 프로그램 명령어들은 컴퓨터, 다른 유형들의 프로그램가능 데이터 처리 장치, 또는 다른 디바이스들에 특정 방식으로 기능하도록 명령하기 위해 사용될 수 있어, 컴퓨터 판독가능 매체 내에 저장되는 명령어들은 흐름도들 또는 도해들에 지정되는 기능들, 액트들, 및/또는 동작들을 구현하는 명령어들을 포함하는 제조의 물품을 생성한다. 특정 대안적 실시예들에서, 흐름도들 및 도해들에 지정되는 기능들, 액트들, 및/또는 동작들은 하나 이상의 실시예와 일치하여 재순서화되고, 직렬로 처리되고/되거나, 동시에 처리될 수 있다. 더욱이, 흐름도들 및/또는 도해들 중 어느 것은 하나 이상의 실시예와 일치하여 예시된 것들보다 더 많거나 더 적은 노드들 또는 블록들을 포함할 수 있다.
프로세스들, 방법들, 또는 알고리즘들은 적절한 하드웨어 구성요소들, 예컨대 주문형 집적 회로들(Application Specific Integrated Circuits)(ASICs), 필드 프로그램가능 게이트 어레이들(Field-Programmable Gate Arrays)(FPGAs), 상태 머신들, 컨트롤러들 또는 다른 하드웨어 구성요소들 또는 디바이스들, 또는 하드웨어, 소프트웨어 및 펌웨어 구성요소들의 조합을 사용하여 전체적으로 또는 부분적으로 구체화될 수 있다.
도 6은 차량(50)을 제어하도록 구성되는 제어 시스템(12)의 개략도를 도시하며, 차량은 적어도 부분 자율주행 차량 또는 적어도 부분 자율 로봇일 수 있다. 도 5에 도시된 바와 같이, 차량(50)은 액추에이터(14) 및 센서(16)를 포함한다. 센서(16)는 하나 이상의 비디오 센서, 레이더 센서들, 초음파 센서들, 라이더 센서들, 및/또는 위치 센서들(예를 들어, GPS)을 포함할 수 있다. 하나 이상의 특정 센서 중 하나 이상은 차량(50)으로 통합될 수 있다. 상기 식별된 하나 이상의 특정 센서에 대안적으로 또는 이에 더하여, 센서(16)는 실행 시에, 액추에이터(14)의 상태를 결정하도록 구성되는 소프트웨어 모듈을 포함할 수 있다. 소프트웨어 모듈의 하나의 비제한 예는 차량(50) 또는 다른 위치에 근접하여 날씨의 현재 또는 장래 상태를 결정하도록 구성되는 날씨 정보 소프트웨어 모듈을 포함한다.
차량(50)의 제어 시스템(12)의 분류기(24)는 입력 신호들(x)에 따라 차량(50)의 부근에서 객체들을 검출하도록 구성될 수 있다. 그러한 실시예에서, 출력 신호(y)는 차량(50)에 대한 객체들의 부근을 특징으로 하는 정보를 포함할 수 있다. 액추에이터 제어 커맨드(20)는 이러한 정보에 따라 결정될 수 있다. 액추에이터 제어 커맨드(20)는 검출된 객체들과의 충돌들을 회피하기 위해 사용될 수 있다.
차량(50)이 적어도 부분 자율주행 차량인 실시예들에서, 액추에이터(14)는 차량(50)의 브레이크, 추진 시스템, 엔진, 구동렬, 또는 스티어링에서 구체화될 수 있다. 액추에이터 제어 커맨드들(20)은 액추에이터(14)가 제어되어 차량(50)이 검출된 객체들과의 충돌들을 회피하도록 결정될 수 있다. 검출된 객체들은 또한 분류기(24)가 보행자들 또는 나무들과 같이, 가능성이 가장 많다고 생각하는 것에 따라 분류될 수 있다. 액추에이터 제어 커맨드들(20)은 분류에 따라 결정될 수 있다.
차량(50)이 적어도 부분 자율 로봇인 다른 실시예들에서, 차량(50)은 비행, 수영, 다이빙 및 보행과 같은, 하나 이상의 기능을 수행하도록 구성되는 이동 로봇일 수 있다. 이동 로봇은 적어도 부분 자율 잔디 깎기 기계 또는 적어도 부분 자율 청소 로봇일 수 있다. 그러한 실시예들에서,액추에이터 제어 커맨드(20)는 이동 로봇의 추진 유닛, 조향 유닛 및/또는 제동 유닛이 제어될 수 있어 이동 로봇이 식별된 객체들과의 충돌들을 회피할 수 있도록 결정될 수 있다.
다른 실시예에서, 차량(50)은 정원 로봇의 형태인 적어도 부분 자율 로봇이다. 그러한 실시예에서, 차량(50)은 차량(50)에 근접한 환경에서 식물들의 상태를 결정하기 위해 센서(16)로서 광학 센서를 사용할 수 있다. 액추에이터(14)는 화학물질들을 분무하도록 구성되는 노즐일 수 있다. 식물들의 식별된 종들 및/또는 식별된 상태에 따라, 액추에이터 제어 커맨드(20)는 액추에이터(14)가 적절한 양의 적절한 화학물질들을 식물들에 분무하게 하도록 결정될 수 있다.
차량(50)은 백색 가전의 형태인 적어도 부분 자율 로봇일 수 있다. 백색 가전들의 비제한 예들은 세탁기, 스토브, 오븐, 마이크로웨이브, 또는 식기 세척기를 포함한다. 그러한 차량(50)에서, 센서(16)는 가정 용품에 의한 처리를 겪는 것인 객체의 상태를 검출하도록 구성되는 광학 센서일 수 있다. 예를 들어, 백색 가전이 세탁기인 경우에, 센서(16)는 세탁기 내부의 세탁물의 상태를 검출할 수 있다. 액추에이터 제어 커맨드(20)는 세탁물의 검출된 상태에 기초하여 결정될 수 있다.
도 7은 생산 라인의 일부와 같은, 제조 시스템(102)의 펀치 커터, 커터 또는 건 드릴과 같은, 시스템(100)(예를 들어, 제조 기계)을 제어하도록 구성되는 제어 시스템(12)의 개략도를 도시한다. 제어 시스템(12)은 액추에이터(14)를 제어하도록 구성될 수 있으며, 액추에이터는 시스템(100)(예를 들어, 제조 기계)을 제어하도록 구성된다.
시스템(100)(예를 들어, 제조 기계)의 센서(16)는 제조품(104)의 하나 이상의 성질을 캡처하도록 구성되는 광학 센서일 수 있다. 분류기(24)는 캡처된 성질들 중 하나 이상으로부터 제조품(104)의 상태를 결정하도록 구성될 수 있다. 액추에이터(14)는 제조품(104)의 후속 제조 단계 동안 제조품(104)의 결정된 상태에 따라 시스템(100)(예를 들어, 제조 기계)을 제어하도록 구성될 수 있다. 액추에이터(14)는 제조품(104)의 결정된 상태에 따라 시스템(100)(예를 들어, 제조 기계)의 후속 제조품(106) 상에서 시스템(100)(예를 들어, 제조 기계)의 기능들을 제어하도록 구성될 수 있다.
도 8은 적어도 부분 자율 모드를 갖는, 전동 드릴 또는 드라이버와 같은, 전동 공구(150)를 제어하도록 구성되는 제어 시스템(12)의 개략도를 도시하다. 제어 시스템(12)은 액추에이터(14)를 제어하도록 구성될 수 있으며, 이는 전동 공구(150)를 제어하도록 구성된다.
전동 공구(150)의 센서(16)는 작업 표면(152) 및/또는 작업 표면(152) 내로 추진되는 파스너(154)의 하나 이상의 성질을 캡처하도록 구성되는 광학 센서일 수 있다. 분류기(24)는 캡처된 성질들 중 하나 이상으로부터 작업 표면(152) 및/또는 작업 표면(152)에 대한 파스너(154)의 상태를 결정하도록 구성될 수 있다. 상태는 파스너(154)가 작업 표면(152)과 동일 평면인 것일 수 있다. 상태는 대안적으로 작업 표면(152)의 경도일 수 있다. 액추에이터(14)는 전동 공구(150)의 구동 기능이 작업 표면(152)에 대한 파스너(154)의 결정된 상태 또는 작업 표면(152)의 하나 이상의 캡처된 성질에 따라 조정되기 위해 전동 공구(150)를 제어하도록 구성될 수 있다. 예를 들어, 액추에이터(14)는 파스너(154)의 상태가 작업 표면(152)에 대해 동일 평면이면 구동 기능을 중단할 수 있다. 다른 비제한 예로서, 액추에이터(14)는 작업 표면(152)의 경도에 따라 부가 또는 더 적은 토크를 인가할 수 있다.
도 9는 자동화된 개인 보조원(900)을 제어하도록 구성되는 제어 시스템(12)의 개략도를 도시한다. 제어 시스템(12)은 액추에이터(14)를 제어하도록 구성될 수 있으며, 이는 자동화된 개인 보조원(900)을 제어하도록 구성된다. 자동화된 개인 보조원(900)은 세탁기, 스토브, 오븐, 마이크로웨이브 또는 식기 세척기와 같은, 백색 가전을 제어하도록 구성될 수 있다.
센서(16)는 광학 센서 및/또는 오디오 센서일 수 있다. 광학 센서는 사용자(902)의 제스처들(904)의 비디오 이미지들을 수신하도록 구성될 수 있다. 오디오 센서는 사용자(902)의 음성 커맨드를 수신하도록 구성될 수 있다.
자동화된 개인 보조원(900)의 제어 시스템(12)은 시스템(12)을 제어하도록 구성되는 액추에이터 제어 커맨드들(20)을 결정하도록 구성될 수 있다. 제어 시스템(12)은 센서(16)의 센서 신호들(18)에 따라 액추에이터 제어 커맨드들(20)을 결정하도록 구성될 수 있다. 자동화된 개인 보조원(900)은 센서 신호들(18)을 제어 시스템(12)에 송신하도록 구성된다. 제어 시스템(12)의 분류기(24)는 제스처 인식 알고리즘을 실행하여 사용자(902)에 의해 이루어지는 제스처(904)를 식별하고, 액추에이터 제어 커맨드들(20)을 결정하고, 액추에이터 제어 커맨드들(20)을 액추에이터(14)에 송신하도록 구성될 수 있다. 분류기(24)는 제스처(904)에 응답하여 비휘발성 스토리지로부터 정보를 검색하고 검색된 정보를 사용자(902)에 의한 수신에 적절한 형태로 출력하도록 구성될 수 있다.
도 10은 감시 시스템(250)을 제어하도록 구성되는 제어 시스템(12)의 개략도를 도시한다. 감시 시스템(250)은 문(252)을 통해 액세스를 물리적으로 제어하도록 구성될 수 있다. 센서(16)는 액세스가 승인되는지를 결정할 시에 적절한 장면을 검출하도록 구성될 수 있다. 센서(16)는 이미지 및/또는 비디오 데이터를 발생 및 송신하도록 구성되는 광학 센서일 수 있다. 그러한 데이터는 사람의 얼굴을 검출하도록 제어 시스템(12)에 의해 사용될 수 있다.
감시 시스템(250)의 제어 시스템(12)의 분류기(24)는 비휘발성 스토리지(26) 내에 저장되는 알려진 사람들의 아이덴티티들과 매칭하고, 그것에 의해 사람의 아이덴티티를 결정함으로써 이미지 및/또는 비디오 데이터를 해석하도록 구성될 수 있다. 분류기(24)는 이미지 및/또는 비디오 데이터의 해석에 응답하여 액추에이터 제어 커맨드(20)를 발생시키도록 구성될 수 있다. 제어 시스템(12)는 액추에이터 제어 커맨드(20)를 액추에이터(14)에 송신하도록 구성된다. 이러한 실시예에서, 액추에이터(14)는 액추에이터 제어 커맨드(20)에 응답하여 문(252)을 잠그거나 잠금 해제하도록 구성될 수 있다. 다른 실시예들에서, 비물리적, 논리적 액세스 제어가 또한 가능하다.
감시 시스템(250)은 또한 감독 시스템일 수 있다. 그러한 실시예에서, 센서(16)는 감독 하에 있는 장면을 검출하도록 구성되는 광학 센서일 수 있고 제어 시스템(12)은 디스플레이(254)를 제어하도록 구성된다. 분류기(24)는 장면의 분류, 예를 들어 센서(16)에 의해 검출되는 장면이 의심스러운지를 결정하도록 구성된다. 제어 시스템(12)은 분류에 응답하여 액추에이터 제어 커맨드(20)를 디스플레이(254)에 송신하도록 구성된다. 디스플레이(254)는 액추에이터 제어 커맨드(20)에 응답하여 디스플레이된 콘텐츠를 조정하도록 구성될 수 있다. 예를 들어, 디스플레이(254)는 분류기(24)에 의해 의심스러운 것으로 생각되는 객체를 강조할 수 있다.
도 11은 이미징 시스템(1100), 예를 들어 MRI 장치, x-선 이미징 장치 또는 초음파 장치를 제어하도록 구성되는 제어 시스템(12)의 개략도를 도시한다. 센서(16)는 예를 들어, 이미징 센서일 수 있다. 분류기(24)는 감지된 이미지의 전부 또는 일부의 분류를 결정하도록 구성될 수 있다. 분류기(24)는 트레이닝된 뉴럴 네트워크에 의해 획득되는 분류에 응답하여 액추에이터 제어 커맨드(20)를 결정 또는 선택하도록 구성될 수 있다. 예를 들어, 분류기(24)는 잠재적으로 변칙적일 감지된 이미지의 영역을 해석할 수 있다. 이러한 경우에, 액추에이터 제어 커맨드(20)는 디스플레이(302)가 이미징을 디스플레이하고 잠재적으로 변칙적인 영역을 강조하게 하도록 결정 또는 선택될 수 있다.
본원에 개시되는 프로세스들, 방법들, 또는 알고리즘들은 처리 디바이스, 컨트롤러, 또는 컴퓨터에 전달가능하고, 이에 의해 구현될 수 있으며, 이는 임의의 기존 프로그램가능 전자 제어 유닛 또는 전용 전자 제어 유닛을 포함할 수 있다. 유사하게, 프로세스들, 방법들, 또는 알고리즘들은 ROM 디바이스들과 같은 기입불가능 저장 매체 상에 영구적으로 저장되는 정보 및 플로피 디스크들, 자기 테이프들, CD들, RAM 디바이스들, 및 다른 자기 및 광학 매체와 같은 기입가능 저장 매체 상에 변경가능하게 저장되는 정보를 포함하지만, 이들에 제한되지 않는 많은 형태들로 컨트롤러 또는 컴퓨터에 의해 실행가능한 데이터 및 명령어들로서 저장될 수 있다. 프로세스들, 방법들, 또는 알고리즘들은 또한 소프트웨어 실행가능 객체에서 구현될 수 있다. 대안적으로, 프로세스들, 방법들, 또는 알고리즘들은 적절한 하드웨어 구성요소들, 예컨대 주문형 집적 회로들(ASICs), 필드 프로그램가능 게이트 어레이들(FPGAs), 상태 머신들, 컨트롤러들 또는 다른 하드웨어 구성요소들 또는 디바이스들, 또는 하드웨어, 소프트웨어 및 펌웨어 구성요소들의 조합을 사용하여 전체적으로 또는 부분적으로 구체화될 수 있다.
예시적 실시예들이 상술되었지만, 이러한 실시예들은 청구항들에 의해 포함되는 모든 가능한 형태들을 설명하는 것으로 의도되지 않는다. 명세서에 사용되는 단어들은 제한보다는 오히려 설명의 단어들이고, 다양한 변경들은 개시의 사상 및 범위로부터 벗어나는 것 없이 이루어질 수 있다는 점이 이해된다. 이전에 설명된 바와 같이, 다양한 실시예들의 특징들은 명시적으로 설명 또는 예시되지 않을 수 있는 본 발명의 추가 실시예들을 형성하기 위해 조합될 수 있다. 다양한 실시예들이 장점들을 제공하거나 하나 이상의 원하는 특성에 대한 다른 실시예들 또는 선행 기술 구현들에 비해 바람직하는 것으로 설명될 수 있었지만, 본 기술분야의 통상의 기술자들은 하나 이상의 특징 또는 특성이 특정 적용 및 구현에 의존하는, 원하는 전체 시스템 속성들을 달성하기 위해 절충될 수 있는 것을 인식한다. 이러한 속성들은 비용, 강도, 내구성, 수명 주기 비용, 시장성, 외관, 패키징, 크기, 편리성, 중량, 제조가능성, 조립의 용이성 등을 포함할 수 있지만, 이들에 제한되지 않는다. 그와 같이, 임의의 실시예들이 하나 이상의 특성에 대해 다른 실시예들 또는 선행 기술 구현들보다 덜 바람직한 것으로 설명되는 범위까지, 이러한 실시예들은 개시의 범위 밖에 있지 않고 특정 적용들에 바람직할 수 있다.
Claims (20)
- 분류 및 뉴럴 네트워크의 트레이닝을 위한 컴퓨터에 의해 구현되는 방법으로서,
상기 뉴럴 네트워크에서 입력을 수신하는 단계 - 상기 입력은 가변 해상도들의 복수의 해상도 입력을 포함함 - ;
상기 복수의 해상도 입력의 각각 대응하는 해상도에 대한 복수의 피처 텐서를 출력하는 단계;
상기 대응하는 해상도들의 업 샘플링 또는 다운 샘플링을 이용하여 상기 복수의 피처 텐서를 융합하는 단계;
상기 복수의 피처 텐서로부터 하나 이상의 예측 벡터를 식별하기 위해 평형 솔버를 이용하는 단계; 및
상기 하나 이상의 예측 벡터에 응답하여 손실을 출력하는 단계
를 포함하는, 컴퓨터에 의해 구현되는 방법. - 제1항에 있어서, 상기 손실을 출력하는 단계는 단일 층만을 이용하는 백워드 전파 시퀀스에 응답하는, 컴퓨터에 의해 구현되는 방법.
- 제1항에 있어서, 상기 복수의 해상도 입력은 그러한 특정 해상도에 대한 대응하는 잔차 블록에 각각 입력되는, 컴퓨터에 의해 구현되는 방법.
- 제1항에 있어서, 입력은 상이한 크기의 픽셀 이미지들을 포함하는 복수의 해상도 입력을 포함하는, 컴퓨터에 의해 구현되는 방법.
- 제1항에 있어서, 상기 방법은 상기 복수의 해상도 입력의 각각 대응하는 해상도에 대한 피처 텐서를 출력하기 위해 복수의 잔차 블록을 이용하는 단계를 포함하는, 컴퓨터에 의해 구현되는 방법.
- 제1항에 있어서, 상기 복수의 해상도 입력 중의 가장 높은 해상도에 대응하는 피처 텐서들 중 하나는 단지 다운 샘플링만 되는, 컴퓨터에 의해 구현되는 방법.
- 제1항에 있어서, 상기 복수의 해상도 입력 중의 가장 낮은 해상도에 대응하는 피처 텐서들 중 하나는 단지 업 샘플링만 되는, 컴퓨터에 의해 구현되는 방법.
- 제1항에 있어서, 상기 복수의 피처 텐서의 융합은 단일 층에서 행해지는, 컴퓨터에 의해 구현되는 방법.
- 제1항에 있어서, 상기 다운 샘플링은 2-스트라이드 3x3 2차원 콘벌루션 층에 의해 수행되는, 컴퓨터에 의해 구현되는 방법.
- 제1항에 있어서, 상기 업 샘플링은 1x1 콘벌루션 후에 이중선형 보간에 의해 수행되는, 컴퓨터에 의해 구현되는 방법.
- 뉴럴 네트워크에 대한 입력의 분류를 위한 컴퓨터에 의해 구현되는 방법으로서,
상기 뉴럴 네트워크에서 입력을 수신하는 단계 - 상기 입력은 복수의 해상도 입력을 포함함 - ;
상기 복수의 해상도 입력의 각각 대응하는 해상도에 대한 피처 텐서들을 식별하는 단계;
각각 대응하는 해상도에 대한 피처 텐서들을 대응하는 잔차 블록에 입력하는 단계; 및
상기 입력의 분류를 출력하기 위해 상기 피처 텐서들로부터 하나 이상의 예측 벡터를 식별하도록 평형 솔버를 이용하는 단계
를 포함하는, 컴퓨터에 의해 구현되는 방법. - 제11항에 있어서, 상기 방법은 다운 샘플링 또는 업 샘플링에 의해 각각 대응하는 잔차 블록에 대한 피처 텐서들을 융합하는 단계를 포함하는, 컴퓨터에 의해 구현되는 방법.
- 제11항에 있어서, 상기 입력은 이미지이고 상기 복수의 해상도 입력은 상기 이미지의 가변 해상도들인, 컴퓨터에 의해 구현되는 방법.
- 제11항에 있어서, 상기 뉴럴 네트워크는 단일 층만을 포함하는, 컴퓨터에 의해 구현되는 방법.
- 제11항에 있어서, 상기 방법은 상기 복수의 해상도 입력을 그룹화하고 각각 대응하는 해상도 내에 정규화를 수행하기 위해 그룹 정규화를 적용하는 단계를 포함하는, 컴퓨터에 의해 구현되는 방법.
- 제11항에 있어서, 상기 방법은 백워드 전파를 이용하여 상기 뉴럴 네트워크를 트레이닝하는 하나 이상의 예측 벡터에 응답하여 손실을 출력하는 단계를 포함하고, 상기 백워드 전파는 상기 뉴럴 네트워크의 하이퍼파라미터들과 연관되는 손실의 도함수를 식별하는 단계를 포함하는, 컴퓨터에 의해 구현되는 방법.
- 제11항에 있어서, 상기 방법은 각각 대응하는 해상도에 대한 업 샘플링 또는 다운 샘플링을 이용하여 상기 피처 텐서들을 융합하는 단계를 포함하는, 컴퓨터에 의해 구현되는 방법.
- 뉴럴 네트워크를 포함하는 시스템으로서,
상기 뉴럴 네트워크에 대한 입력 데이터에 액세스하기 위한 입력 인터페이스; 및
상기 입력 인터페이스와 통신하는 프로세서를 포함하고, 상기 프로세서는,
상기 뉴럴 네트워크에서 상기 입력 데이터를 수신하고 - 상기 입력은 가변 해상도들의 복수의 해상도 입력을 포함함 - ;
상기 복수의 해상도 입력의 각각 대응하는 해상도에 대한 복수의 피처 텐서를 출력하고;
업 샘플링 또는 다운 샘플링을 이용하여 상기 복수의 피처 텐서를 융합하고;
상기 복수의 피처 텐서에 응답하여 예측 벡터를 식별하기 위해 평형 솔버를 이용하고 - 상기 예측 벡터는 상기 복수의 피처 텐서 각각과 연관되는 피처들을 포함함 - ;
상기 예측 벡터를 상기 입력 데이터의 분류로서 출력하도록
프로그램되는, 시스템. - 제18항에 있어서, 상기 입력 데이터는 이미지를 포함하고 상기 복수의 해상도 입력은 상기 이미지의 가변 해상도들을 포함하는, 시스템.
- 제18항에 있어서, 각각 대응하는 해상도에 대한 복수의 피처 텐서 각각은 대응하는 잔차 블록에 송신되는, 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/895,683 US11610129B2 (en) | 2020-06-08 | 2020-06-08 | System and method for multiscale deep equilibrium models |
US16/895,683 | 2020-06-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210152404A KR20210152404A (ko) | 2021-12-15 |
KR102597787B1 true KR102597787B1 (ko) | 2023-11-06 |
Family
ID=78605381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210073546A KR102597787B1 (ko) | 2020-06-08 | 2021-06-07 | 멀티스케일 딥 평형 모델들을 위한 시스템 및 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11610129B2 (ko) |
KR (1) | KR102597787B1 (ko) |
CN (1) | CN113837375A (ko) |
DE (1) | DE102021205722A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11724707B2 (en) * | 2020-07-08 | 2023-08-15 | Magna Electronics Inc. | Vehicular control system with automatic stack clearing of stack frame |
JP7520753B2 (ja) * | 2021-03-05 | 2024-07-23 | 株式会社東芝 | 学習装置、方法およびプログラム |
WO2023116155A1 (zh) * | 2021-12-23 | 2023-06-29 | 大唐移动通信设备有限公司 | 神经网络操作方法、装置及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200161005A1 (en) * | 2018-11-21 | 2020-05-21 | Enlitic, Inc. | Location-based medical scan analysis system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10891537B2 (en) * | 2019-03-20 | 2021-01-12 | Huawei Technologies Co., Ltd. | Convolutional neural network-based image processing method and image processing apparatus |
CN110222716B (zh) * | 2019-05-08 | 2023-07-25 | 天津大学 | 基于全分辨率深度卷积神经网络的图像分类方法 |
US11468276B2 (en) * | 2020-04-16 | 2022-10-11 | Robert Bosch Gmbh | System and method of a monotone operator neural network |
-
2020
- 2020-06-08 US US16/895,683 patent/US11610129B2/en active Active
-
2021
- 2021-06-07 CN CN202110629767.0A patent/CN113837375A/zh active Pending
- 2021-06-07 KR KR1020210073546A patent/KR102597787B1/ko active IP Right Grant
- 2021-06-07 DE DE102021205722.5A patent/DE102021205722A1/de active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200161005A1 (en) * | 2018-11-21 | 2020-05-21 | Enlitic, Inc. | Location-based medical scan analysis system |
Also Published As
Publication number | Publication date |
---|---|
US11610129B2 (en) | 2023-03-21 |
KR20210152404A (ko) | 2021-12-15 |
DE102021205722A1 (de) | 2021-12-09 |
US20210383234A1 (en) | 2021-12-09 |
CN113837375A (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102597787B1 (ko) | 멀티스케일 딥 평형 모델들을 위한 시스템 및 방법 | |
EP3405845B1 (en) | Object-focused active three-dimensional reconstruction | |
US11992944B2 (en) | Data-efficient hierarchical reinforcement learning | |
WO2016176095A1 (en) | Reducing image resolution in deep convolutional networks | |
US10776691B1 (en) | System and method for optimizing indirect encodings in the learning of mappings | |
KR102695519B1 (ko) | 영상 모델 구축 장치 및 방법 | |
US12020166B2 (en) | Meta-learned, evolution strategy black box optimization classifiers | |
CN113537486A (zh) | 单调算子神经网络的系统和方法 | |
CN114387503A (zh) | 用于使用元学习初始化进行对抗性训练的方法和系统 | |
KR20220004933A (ko) | 비단사적 변환을 포함하는 이미지 분류기 | |
CN116523823A (zh) | 用于半监督对象检测的鲁棒伪标签生成的系统和方法 | |
CN116258865A (zh) | 使用机器学习的图像量化 | |
CN117592542A (zh) | 用于机器学习模型的具有对比损失的专家引导半监督的系统和方法 | |
JP2024045070A (ja) | ロングテール分類用のマルチ教師グループ蒸留のためのシステム及び方法 | |
CN116894799A (zh) | 用于域泛化的数据增强 | |
US20230102866A1 (en) | Neural deep equilibrium solver | |
US20230244835A1 (en) | 6d object pose estimation with 2d and 3d pointwise features | |
US20240112448A1 (en) | Methods and systems of generating images utilizing machine learning and existing images with disentangled content and style encoding | |
US20240109557A1 (en) | Systems and methods for distribution-aware goal prediction for modular autonomous vehicle control | |
US12079995B2 (en) | System and method for a hybrid unsupervised semantic segmentation | |
US20230101812A1 (en) | Monotone mean-field inference in deep markov random fields | |
Saleem et al. | Optimizing Steering Angle Predictive Convolutional Neural Network for Autonomous Car. | |
US20230100765A1 (en) | Systems and methods for estimating input certainty for a neural network using generative modeling | |
CN114332551A (zh) | 学习联合潜在对抗训练的方法和系统 | |
Ahmed et al. | Performance improvement of convolutional neural network architectures for skin disease detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |