KR20210116640A - 피라미드 계층의 아키텍처를 생성하기 위한 시스템 및 방법 - Google Patents

피라미드 계층의 아키텍처를 생성하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20210116640A
KR20210116640A KR1020217026940A KR20217026940A KR20210116640A KR 20210116640 A KR20210116640 A KR 20210116640A KR 1020217026940 A KR1020217026940 A KR 1020217026940A KR 20217026940 A KR20217026940 A KR 20217026940A KR 20210116640 A KR20210116640 A KR 20210116640A
Authority
KR
South Korea
Prior art keywords
pyramid
model
output
architecture
feature
Prior art date
Application number
KR1020217026940A
Other languages
English (en)
Inventor
쿠옥 브이. 레
골나즈 기아시
중-이 린
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20210116640A publication Critical patent/KR20210116640A/ko

Links

Images

Classifications

    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

피라미드 계층의 아키텍처를 생성하기 위한 컴퓨팅 시스템이 개시된다. 컴퓨팅 시스템은 백본 모델에 의해 출력된 복수의 입력 특징 표현을 수신하고 이에 응답하여 복수의 출력 특징 표현을 출력하는 피라미드 계층에 대한 새로운 아키텍처를 생성하도록 구성된 제어기 모델을 포함할 수 있다. 복수의 입력 특징 표현은 복수의 상이한 입력 해상도를 가질 수 있고, 복수의 출력 특징 표현은 복수의 상이한 출력 해상도를 가질 수 있다. 컴퓨팅 시스템은 복수의 반복을 수행하도록 구성될 수 있다. 각 반복에 대해, 컴퓨팅 시스템은 제어기 모델의 출력으로 새로운 피라미드 계층 아키텍처를 수신하고 백본 모델과 새로운 피라미드 계층 아키텍처를 갖는 하나 이상의 피라미드 계층을 포함하는 기계 학습된 피라미드 특징 모델의 하나 이상의 퍼포먼스 특성을 평가할 수 있다.

Description

피라미드 계층의 아키텍처를 생성하기 위한 시스템 및 방법
본 명세서는 일반적으로 신경망 아키텍처에 관한 것이다. 보다 구체적으로, 본 명세서는 피라미드 계층의 아키텍처를 생성하기 위한 시스템 및 방법에 관한 것이다.
현재 최첨단 컨볼루션 신경망 아키텍처(예: 오브젝트 검출을 수행하는 데 사용되는 아키텍처)는 수동으로 설계되었다. 이 접근 방식이 성공적이었고 많은 벤치마크에서 강력한 퍼포먼스를 제공했지만 이러한 아키텍처는 일반적으로 최적화되지 않았다. 예를 들어, "RetinaNet, Mask RCNN, Fast RCNN" 및 "Faster RCNN"의 백본 모델은 최첨단 분류 네트워크에 대한 수년간의 연구에서 고도로 최적화된 아키텍처를 상속하지만, 여러 규모에서 기능을 결합하는 기능 피라미드 네트워크는 일반적으로 간과되고, 따라서 최적화가 부족하다. 그러나 기능 피라미드 네트워크의 아키텍처는 연관된 큰 검색 공간을 나타낸다. 다양한 규모의 특징 표현을 결합하기 위한 가능한 연결 및 동작은 아키텍처의 계층 수에 따라 기하급수적으로 증가한다.
본 개시내용의 실시예의 양태 및 이점은 하기 설명에서 부분적으로 설명되거나, 설명으로부터 학습될 수 있거나, 실시예의 실시를 통해 학습될 수 있다.
본 개시의 일 예시적인 양태는 하나 이상의 프로세서; 백본(backbone) 모델에 의해 출력된 복수의 입력 특징 표현을 수신하고 그리고 이에 응답하여 복수의 출력 특징 표현을 출력하는 피라미드 계층에 대한 새로운 아키텍처를 생성하도록 구성된 제어기 모델를 포함하는 컴퓨팅 시스템에 관한 것이다. 복수의 입력 특징 표현은 복수의 상이한 입력 해상도를 가질 수 있다. 복수의 출력 특징 표현은 복수의 상이한 출력 해상도를 가질 수 있다. 컴퓨팅 시스템은 하나 이상의 프로세서에 의해 실행될 때 컴퓨팅 시스템으로 하여금 동작들을 수행하게 하는 명령어를 집합적으로 저장하는 하나 이상의 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 상기 동작들은, 복수의 반복 각각에 대해: 제어기 모델의 출력으로 새로운 피라미드 계층 아키텍처를 수신하는 동작; 그리고 백본 모델과 새로운 피라미드 계층 아키텍처를 갖는 하나 이상의 피라미드 계층을 포함하는 기계 학습된 피라미드 특징 모델의 하나 이상의 퍼포먼스(performance) 특성을 평가하는 동작을 포함할 수 있다.
본 개시의 다른 예시적인 양태는 하나 이상의 프로세서; 그리고 입력을 수신하고 입력을 수신하는 것에 응답하여 출력을 출력하도록 구성된 기계 학습된 모델을 포함할 수 있는 컴퓨팅 시스템에 관한 것으로, 기계 학습된 모델은 백본 모델과 순차적으로 적층된 복수의 피라미드 계층를 포함한다. 백본 모델은 입력을 수신하고 초기 복수의 출력 특징 표현을 생성하도록 구성될 수 있다. 복수의 피라미드 계층의 각각의 피라미드 계층은 백본 모델 또는 이전의 순차적 피라미드 계층으로부터 복수의 상이한 해상도를 갖는 각각의 복수의 입력 특징 표현을 수신하고 그리고 동일한 복수의 상이한 해상도를 갖는 각각의 복수의 출력 특징 표현을 생성하도록 구성된다. 컴퓨팅 시스템은 하나 이상의 프로세서에 의해 실행될 때 컴퓨팅 시스템으로 하여금 동작들을 수행하게 하는 명령어를 집합적으로 저장하는 하나 이상의 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 동작들은 입력을 기계 학습된 모델에 입력하고 기계 학습된 모델의 출력으로서 출력을 수신하는 동작을 포함할 수 있다.
본 개시의 다른 예시적인 양태는 백본 모델에 의해 출력된 피라미드형 특징 표현의 세트를 처리하는 피라미드 계층의 아키텍처를 생성하기 위한 컴퓨터 구현 방법에 관한 것이다. 방법은 복수의 반복 각각에 대해 하나 이상의 컴퓨팅 장치에 의해 제어기 모델의 출력으로서 새로운 피라미드 계층 아키텍처를 수신하는 단계를 포함할 수 있다. 제어기 모델은 백본 모델에 의해 출력된 복수의 입력 특징 표현을 수신하고, 이에 응답하여 복수의 출력 특징 표현을 출력하도록 구성된 피라미드 계층에 대한 새로운 아키텍처를 생성하도록 구성될 수 있다. 복수의 입력 특징 표현은 복수의 상이한 입력 해상도를 가질 수 있고, 복수의 출력 특징 표현은 복수의 상이한 출력 해상도를 가질 수 있다. 이 방법은 하나 이상의 컴퓨팅 장치에 의해 백본 모델 및 새로운 피라미드 계층 아키텍처를 갖는 하나 이상의 피라미드 계층을 포함하는 기계 학습된 피라미드 특징 모델의 하나 이상의 퍼포먼스 특성을 평가하는 단계를 포함할 수 있다.
본 개시의 다른 양태들은 다양한 시스템들, 장치들, 비일시적 컴퓨터 판독가능 매체, 사용자 인터페이스들, 및 전자 장치들에 관한 것이다.
본 개시의 다양한 실시예의 이들 및 다른 특징, 양태, 및 이점은 다음의 설명 및 첨부된 청구범위를 참조하여 더 잘 이해될 것이다. 본 개시에 포함되어 그 일부를 구성하는 첨부 도면은 본 발명의 실시 예를 도시한 것으로, 상세한 설명과 함께 관련 원리를 설명하기 위한 것이다.
당업자에 대한 실시예의 상세한 설명은 첨부된 도면을 참조하는 명세서에 설명되어 있다.
도 1a는 본 개시의 예시적인 실시예에 따른 피라미드 계층의 아키텍처를 생성하기 위한 예시적인 컴퓨팅 시스템의 블록도를 도시한다.
도 1b는 본 개시의 예시적인 실시예에 따른 피라미드 계층의 아키텍처를 생성하기 위한 예시적인 컴퓨팅 시스템의 블록도를 도시한다.
도 1c는 본 개시내용의 예시적인 실시예에 따른 피라미드 계층의 아키텍처를 생성하기 위한 예시적인 컴퓨팅 시스템의 블록도를 도시한다.
도 2는 본 개시내용의 예시적인 실시예에 따른 보상에 기초하여 새로운 피라미드 아키텍처를 생성하도록 구성된 제어기 모델을 도시한다.
도 3은 본 개시내용의 예시적인 실시예에 따른 보상에 기초하여 새로운 피라미드 아키텍처를 생성하도록 구성된 강화 학습 에이전트를 포함하는 제어기 모델을 도시한다.
도 4는 본 개시내용의 예시적인 실시예에 따른 백본 모델 및 피라미드 계층을 도시한다.
도 5는 본 개시내용의 예시적인 실시예에 따른 복수의 특징 표현 및 병합 셀을 도시한다.
도 6a 내지 도 6f는 본 개시내용의 예시적인 실시예에 따른 제어기 모델에 의해 생성된 연속 피라미드 계층의 아키텍처 그래프를 도시한다.
도 7은 본 개시내용의 예시적인 실시예에 따른 제어기 모델에 의해 생성된 피라미드 계층의 아키텍처의 일 예를 도시한다.
도 8a 내지 도 8f는 본 개시내용의 예시적인 실시예에 따른 제어기 모델에 의해 생성된 연속 피라미드 계층의 추가 아키텍처 그래프를 도시한다.
도 9는 본 개시내용의 예시적인 실시예에 따른 제어기 모델에 의해 생성된 피라미드 계층의 아키텍처의 다른 예를 도시한다.
도 10은 본 개시의 예시적인 실시예에 따른 다중 스케일에서 특징(피처) 표현을 결합하는 피라미드 계층에 대한 아키텍처를 생성하기 위한 예시적인 방법의 흐름도를 도시한다.
복수의 도면에 걸쳐 반복되는 참조 번호는 다양한 구현에서 동일한 특징을 식별하도록 의도된다.
일반적으로, 본 개시는 다중 스케일에서 특징 표현을 결합하는 특징 피라미드 네트워크의 피라미드 계층에 대한 아키텍처를 최적화하기 위해 반복 검색을 수행하는 시스템 및 방법에 관한 것이다. 예를 들어, 강화 학습 및/또는 진화 기술을 사용하여 반복 검색을 수행할 수 있다. 본 개시에서 제안하는 검색 공간은 상이한 스케일에서 특징(피처) 표현을 결합하기 위해 가능한 교차 스케일(cross-scale) 연결을 커버하도록 설계된다. 반복적으로 적용할 수 있는 아키텍처를 찾기 위해 검색이 제한될 수도 있다. 결과적으로 결과 아키텍처는 스택가능(stackable) 및/또는 언제든지 오브젝트 검출("early exit(조기 종료)")에 사용할 수 있다.
보다 구체적으로, 일부 구현에서, 피라미드 계층의 상이한 아키텍처는 진화적 방법을 통해 반복적으로 생성되거나, 예를 들어 강화 학습 컨텍스트에서 학습될 수 있다. 예를 들어, 제어기 모델은 강화 학습을 사용하여 주어진 검색 공간에서 새로운 모델 아키텍처를 선택하거나 생성하도록 훈련될 수 있다. 제어기 모델은 가장 최근에 제안된 아키텍처를 갖는 하나 이상의 피라미드 계층을 포함하는 기계 학습된 모델의 하나 이상의 퍼포먼스 특성(performance characteristics)에 기반한 보상을 기반으로 훈련될 수 있다. 따라서 시행착오를 통해 피라미드 계층 아키텍처를 특정 퍼포먼스 특성에 맞게 설계하거나 최적화할 수 있다.
결과 아키텍처는 가볍고 유연할 수 있다. 첫째, 결과 아키텍처는 퍼포먼스 향상을 위해 반복적으로 적용할 수 있다는 점에서 확장 가능하다. 둘째, 결과 아키텍처는 "ResNet-10, ResNet-50, ResNet-101 및 AmoebaNet"과 같은 다양한 백본 모델과 잘 작동할 수 있다. 셋째, 결과 아키텍처는 다양한 백본 모델과 결합될 때 속도, 정확도 또는 기타 특성과 관련된 우수한 퍼포먼스 특성을 달성할 수 있다. 또한 학습된 아키텍처는 오브젝트 검출, 오브젝트 인식, 이미지 분류, 기타 시각적 처리 작업(태스크) 또는 기타 비시각적 기계 학습 작업을 포함한 다양한 작업을 위해 구성될 수 있다.
따라서, 본 개시의 일 양태에 따르면, 컴퓨팅 시스템은 피라미드 계층에 대한 새로운 아키텍처를 반복적으로 생성하도록 구성된 제어기 모델을 포함할 수 있다. 피라미드 계층은 백본 모델에 의해 출력된 복수의 입력 특징 표현(예를 들어, 특징 맵(Feature Maps))을 수신하도록 구성될 수 있다(또는 다중 피라미드 계층이 있는 경우 이전의 순차적 피라미드 계층). 복수의 입력 특징 표현은 복수의 상이한 입력 해상도를 가질 수 있다. 피라미드 계층은 입력 특징 표현과 관련하여 컨볼루션 및/또는 기타 작업을 수행하도록 구성될 수 있다. 특히, 입력 특징 표현은 동일하거나 다른 해상도를 갖는 두 특징 표현의 조합을 포함하여 다른 특징 표현(예: 입력 특징 표현, 내부 특징 표현 및/또는 출력 특징 표현)과 결합(예: 합산, 전역 풀링 등)될 수 있다. 특징 표현에 대한 피라미드 계층에 의해 수행된 연산은 피라미드 계층이 복수의 출력 특징 표현을 생성하고 출력하는 결과를 초래할 수 있다. 복수의 출력 특징 표현은 복수의 상이한 출력 해상도를 가질 수 있다.
일부 구현에서, 피라미드 계층에 의해 생성된 새로운 특징 표현은 피라미드 계층 아키텍처 내부에 있는 하나 이상의 내부 특징 표현을 포함할 수 있다. 내부 특징 표현(들)은 입력 특징 표현 및 출력 특징 표현과 구별될 수 있다. 내부 특징 표현(들)은 다른 내부 특징 표현(들), 입력 특징 표현 및/또는 출력 특징 표현과 연결될 수 있다. 복수의 출력 특징 표현들 중 적어도 하나는 내부 특징 표현들 중 하나 이상에 기초하여 생성될 수 있다.
일부 구현에서, 복수의 검색 반복 각각에 대해, 제어기 모델은 새로운 피라미드 아키텍처를 생성하기 위해 복수의 병합 셀을 구성하고 추가함으로써 새로운 피라미드 계층 아키텍처를 생성하도록 구성될 수 있다. 각 병합 셀에는 두 개의 입력 특징 표현과 하나의 출력 특징 표현이 있을 수 있다. 이는 피라미드 계층의 다양한 특징 표현 사이에 교차 스케일 연결을 생성할 수 있으며, 이는 의미론적으로 강력한 특징 표현을 초래할 수 있다.
보다 구체적으로, 병합 셀 중 하나를 구성하기 위해, 제어기 모델은 복수의 입력 특징 표현을 포함하는 이용 가능한 특징 표현의 세트로부터 제1 입력 특징 표현을 선택하도록 구성될 수 있다. 제어기 모델은 사용 가능한 특징 표현 세트의 다른 제2 입력 특징 표현을 선택할 수 있다. 제어기 모델은 복수의 상이한 출력 해상도의 제1 해상도를 선택할 수 있고, 제1 입력 특징 표현을 제1 해상도를 갖는 새로운 특징 표현을 생성하기 위해 제1 입력 특징 표현과 제2 상이한 입력 특징 표현을 결합하는 연산(오퍼레이션)을 선택할 수 있다. 예를 들어, 연산은 합계 연산 및 전역 풀링 연산과 같은 다양한 적합한 이진 연산을 포함할 수 있다. 복수의 병합 셀은 이러한 방식으로 독립적으로 및/또는 순차적으로 구성될 수 있다. 그 다음, 복수의 병합 셀이 추가되어 피라미드 계층 아키텍처를 생성할 수 있다. 따라서 제어기 모델은 셀 병합을 사용하여 새로운 피라미드 계층 아키텍처를 생성할 수 있다.
일부 구현에서, 병합 셀의 적어도 일부에 대해, 제어기 모델은 다음 병합 셀에서의 잠재적 선택을 위해 사용 가능한 특징 표현의 세트에 새로운 특징 표현을 추가할 수 있다. 따라서 어떤 경우에는 새로 생성된 특징 표현을 다음 병합 셀의 다른 특징 표현과 병합할 수 있다. 이러한 동작은 다양한 규모 간 연결의 발견 또는 학습을 용이하게 할 수 있다.
일부 구현들에서, 제1 입력 특징 표현 및 제2의 상이한 입력 특징 표현은 상이한 각각의 해상도를 갖도록 제한될 수 있다. 예를 들어, 제1 입력 특징 표현 및 제2의 상이한 입력 특징 표현은 복수의 입력 해상도의 피라미드 구조 내에서 인접하지 않은 상이한 각각의 해상도를 가질 수 있다. 따라서 피라미드 계층의 새로운 아키텍처는 서로 다른 스케일에서 특징 표현을 결합하는 교차 스케일 연결을 갖도록 제한될 수 있다.
일부 구현에서, 복수의 병합 셀 중 적어도 일부에 대해, 제어기 모델은 병합 셀에 의해 생성된 새로운 특징 표현이 복수의 출력 표현 중 하나를 형성할 수 있도록 출력 해상도 중 하나를 선택하도록 제한될 수 있다. 따라서 피라미드 계층의 아키텍처는 미리 결정된 출력 해상도를 갖도록 제한될 수 있다. 또한, 일부 구현들에서, 입력 해상도들 중 둘 이상이 출력 해상도들 중 적어도 둘과 동일하도록 제한될 수 있다. 이러한 특징은 피라미드 계층의 적층(stacking)을 용이하게 할 수 있다.
병합 셀의 수는 결과 피라미드 아키텍처의 복잡성과 크기에 영향을 줄 수 있다. 병합 셀의 수는 사용자 정의된 하이퍼파라미터가 될 수 있으며, 이는 결과 피라미드 아키텍처에 대한 향상된 제어를 사용자에게 제공할 수 있다. 그러나, 다른 실시예에서, 병합 셀의 수는 결과 피라미드 아키텍처의 크기 및/또는 복잡성이 결과 피라미드 아키텍처의 원하는 퍼포먼스 특성(예: 빠른 해결 시간, 높은 정확도 등)을 최적화할 수 있도록 학습 가능한 파라미터일 수 있다.
다른 양태에 따르면, 개입 없이, 여기에 설명된 셀 병합은 다른 특징 표현과의 출력 연결이 없는 특징 표현을 초래할 수 있다. 이러한 구성은 일반적으로 피라미드 계층의 출력에 기여하지 않고 이러한 특징 표현이 리소스를 소비하기 때문에 바람직하지 않다. 이 구성을 방지하기 위해 일부 구현에서, 제어기 모델은 복수의 출력 특징 표현 중 어느 것에 연결되지 않는 각각의 특징 표현을 해당 해상도를 갖는 출력 특징 표현과 합산하도록 구성될 수 있다. 따라서 제어기 모델은 피라미드 계층 아키텍처를 제한하거나 수정하여 후속 특징 표현과의 출력 연결이 없는 특징 표현의 형성을 방지하도록 구성할 수 있다.
컴퓨팅 시스템은 피라미드 계층 아키텍처가 피라미드 계층 아키텍처를 개선하기 위해 반복적으로 수정되고 평가되는 일련의 반복을 수행하도록 구성될 수 있다. 예를 들어, 컴퓨팅 시스템은 제어기 모델의 출력으로 새로운 피라미드 계층 아키텍처를 수신하고 그리고 백본 모델과 새로운 피라미드 계층 아키텍처를 갖는 하나 이상의 피라미드 계층을 포함하는 기계 학습된 피라미드 특징 모델의 하나 이상의 퍼포먼스 특성을 평가할 수 있다. 예시적인 퍼포먼스 특성은 정확도, 정밀도, 해결 시간, 플롭 또는 반복의 수, 및/또는 이들의 조합을 포함할 수 있다.
컴퓨팅 시스템은 기계 학습된 피라미드 특징 모델의 평가된 퍼포먼스를 기반으로 아키텍처에 대한 결과를 결정할 수 있다. 일례로, 일부 구현에서 제어기 모델은 강화 학습 에이전트를 포함할 수 있다. 복수의 반복 각각에 대해, 컴퓨팅 시스템은
백본 모델 및 새로운 피라미드 계층 아키텍처를 갖는 하나 이상의 피라미드 계층을 포함하는 기계 학습된 피라미드 특징 모델과 관련된 하나 이상의 평가된 퍼포먼스 특성에 적어도 부분적으로 기초하여 보상을 결정하도록 구성될 수 있다. 컴퓨팅 시스템은 보상을 기반으로 제어기 모델에 의해 구현된 정책의 하나 이상의 파라미터를 수정할 수 있다. 제어기 모델은 신경망(예를 들어, 순환 신경망)을 포함할 수 있다. 따라서 제어기 모델은 결과적인 기계 학습된 피라미드 기능 모델과 관련된 퍼포먼스 특성을 최대화, 최적화 또는 조정하는 방식으로 피라미드 아키텍처를 설계하도록 훈련될 수 있다.
또 다른 예로서, 진화 계획에서, 가장 최근에 제안된 아키텍처의 퍼포먼스는 예를 들어 가장 최근에 제안된 아키텍처를 유지할지 또는 가장 최근에 제안된 아키텍처를 폐기하고 대신 이전에 가장 잘 관찰된 아키텍처로 돌아갈지 여부를 결정하기 위해 이전에 관찰된 베스트 퍼포먼스와 비교할 수 있다. 다음 반복 아키텍처를 생성하기 위해, 제어기 모델은 위에서 설명한 비교를 기반으로 선택한 모델에 대해 진화적 돌연변이(evolutionary mutations)를 수행할 수 있다.
일부 구현에서, 기계 학습된 피라미드 특징 모델의 하나 이상의 퍼포먼스 특성을 평가하는 단계는 각각 새로운 피라미드 계층 아키텍처를 갖는 복수의 적층 피라미드 계층 및 백본 모델를 포함하는 기계 학습된 피라미드 특징 모델의 하나 이상의 퍼포먼스 특성을 평가하는 단계를 포함할 수 있다. 예를 들어, 기계 학습된 모델을 평가하는 동안, 백본 모델은 이미지를 입력으로 사용할 수 있다. 기계 학습된 모델은 하나 이상의 피라미드 계층의 최종 피라미드 계층에 의해 출력된 복수의 출력 특징 표현에 기초하여 이미지에 대한 오브젝트 검출, 오브젝트 분류 및/또는 의미론적 분할을 수행할 수 있다. 따라서 피라미드 계층 아키텍처의 퍼포먼스 특성(들)이 평가되고 반복적으로 개선될 수 있다.
일부 실시예에서, 퍼포먼스 특성은 피라미드 아키텍처가 최적화되거나 설계되고 있는 실제 작업(태스크)(예를 들어, "real task")을 사용하여 평가될 수 있다. 예를 들어, 퍼포먼스 특성은 피라미드 계층를 포함하는 결과 모델로 훈련하는 데 사용할 이미지 세트를 사용하여 평가될 수 있다. 그러나, 다른 실시예에서, 퍼포먼스 특성은 상대적으로 더 짧은 훈련 시간을 갖고 또한 실제 작업과 상관관계가 있는 프록시 작업(태스크)을 사용하여 평가될 수 있다. 예를 들어, 프록시 작업을 사용하여 퍼포먼스 특성을 평가하는 것은 실제 작업보다 낮은 해상도의 이미지를 사용하는 것(예: 이미지의 다운샘플링된 버전), 더 작은 버전의 백본 모델을 사용하는 것, 및/또는 실제 작업을 사용하여 모델을 훈련하는 데 일반적으로 사용되는 것보다 더 적은 에포크(epochs) 동안 실제 작업을 평가하는 것을 포함할 수 있다.
일부 구현에서, 기계 학습된 모델을 평가하는 동안, 기계 학습된 모델은 예를 들어 "anytime" 오브젝트 검출을 위해 조기 종료를 수행하기 위해 하나 이상의 피라미드 계층 중 임의의 하나에 의해 출력된 각각의 복수의 출력 특징 표현에 기초하여 예측을 생성할 수 있다. 즉, 추론하는 동안, 모델은 백본 모델 내부에 있는 피라미드 계층에서 솔루션(예: 오브젝트 검출 정보)을 생성할 수 있다. 예를 들어, 모델 내의 여러 피라미드 계층의 출력에는 솔루션(예: 오브젝트 검출 정보)이 포함될 수 있다. 이 속성은 추론 중 계산 리소스 또는 대기시간(latency)이 문제일 때 바람직할 수 있다. 또한 "anytime" 오브젝트 검출을 사용하여 추론 시간에 사용할 리소스의 양을 동적으로 조정할 수 있다.
본 개시내용의 시스템 및 방법은 복수의 기술적 효과 및 이점을 제공한다. 예를 들어, 여기에 설명된 구현은 수동으로 생성된 다른 모델 아키텍처와 비교하여 개선된 정확도/대기시간 트레이드오프를 갖는 모델 아키텍처를 생성할 수 있다. 더욱이, 여기에 설명된 구현들에 따라 생성된 스택형(적층형) 모델 아키텍처는 "anytime" 오브젝트 검출을 허용하는 추론 시간에 사용할 계산 자원을 동적으로 조정하는 데 사용될 수 있다. 여기에 설명된 다양한 예시적인 구현은 오브젝트 검출, 또는 이미지 분류 또는 의미론적 분할과 같은 다른 시각적 처리 작업을 위해 특별히 적응된 모델 아키텍처를 생성한다.
일 예로서, 본 개시의 시스템 및 방법은 애플리케이션, 브라우저 플러그인의 컨텍스트 내에서, 또는 다른 컨텍스트 내에서 포함되거나 그렇지 않으면 채용될 수 있다. 따라서, 일부 구현에서, 본 개시의 모델은 랩탑, 태블릿 또는 스마트폰과 같은 사용자 컴퓨팅 장치에 포함되거나 그렇지 않으면 저장 및 구현될 수 있다. 또 다른 예로서, 모델은 클라이언트-서버 관계에 따라 사용자 컴퓨팅 장치와 통신하는 서버 컴퓨팅 장치에 포함되거나 그렇지 않으면 저장 및 구현될 수 있다. 예를 들어, 모델은 웹 서비스(예: 웹 이메일 서비스)의 일부로서 서버 컴퓨팅 장치에 의해 구현될 수 있다.
이제 도면을 참조하여, 본 개시의 예시적인 실시예가 더 상세하게 설명될 것이다.
장치 및 시스템의 예
도 1a는 본 개시의 예시적인 실시예에 따른 피라미드 계층의 아키텍처를 생성하기 위한 예시적인 컴퓨팅 시스템의 블록도를 도시한다. 시스템(100)은 네트워크(180)를 통해 통신 가능하게 연결된 사용자 컴퓨팅 장치(102), 서버 컴퓨팅 시스템(130), 및 훈련 컴퓨팅 시스템(150)을 포함한다.
사용자 컴퓨팅 장치(102)는 예를 들어 개인용 컴퓨팅 장치(예: 노트북 또는 데스크탑), 모바일 컴퓨팅 장치(예: 스마트폰 또는 태블릿), 게임 콘솔 또는 제어기, 웨어러블 컴퓨팅 장치, 임베디드 컴퓨팅 장치, 또는 기타 유형의 컴퓨팅 장치와 같은 임의의 유형의 컴퓨팅 장치일 수 있다.
사용자 컴퓨팅 장치(102)는 하나 이상의 프로세서(112) 및 메모리(114)를 포함한다. 하나 이상의 프로세서(112)는 임의의 적합한 처리 장치(예를 들어, 프로세서 코어, 마이크로프로세서, ASIC, FPGA, 제어기, 마이크로제어기 등)일 수 있고, 하나의 프로세서 또는 작동가능하게 연결된 복수의 프로세서일 수 있다. 메모리(114)는 RAM, ROM, EEPROM, EPROM, 플래시 메모리 장치, 자기 디스크 등, 및 이들의 조합과 같은 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 메모리(114)는 프로세서(112)에 의해 실행되어 사용자 컴퓨팅 장치(102)가 동작을 수행하게 하는 데이터(116) 및 명령어(118)를 저장할 수 있다.
사용자 컴퓨팅 장치(102)는 하나 이상의 제어기 모델(120)을 저장하거나 포함할 수 있다. 예를 들어, 제어기 모델(120)은 신경망(예를 들어, 순환 신경망) 또는 다른 다층 비선형 모델과 같은 기계 학습된 모델이거나 이를 포함할 수 있다. 신경망은 순환 신경망(예: 장기 단기 기억 순환 신경망), 피드포워드 신경망, 또는 다른 형태의 신경망을 포함할 수 있다. 예시적인 제어기 모델(120)은 도 3a 및 3b를 참조하여 설명된다.
일부 구현에서, 하나 이상의 제어기 모델(120)은 네트워크(180)를 통해 서버 컴퓨팅 시스템(130)으로부터 수신될 수 있고, 사용자 컴퓨팅 장치 메모리(114)에 저장되고, 하나 이상의 프로세서(112)에 의해 사용되거나 구현될 수 있다. 일부 구현에서, 사용자 컴퓨팅 장치(102)는 단일 강화 학습 에이전트 모델의 다중 병렬 인스턴스를 구현할 수 있다.
추가적으로 또는 대안적으로, 하나 이상의 제어기 모델(140)은 클라이언트-서버 관계에 따라 사용자 컴퓨팅 장치(102)와 통신하는 서버 컴퓨팅 시스템(130)에 포함되거나 그렇지 않으면 저장 및 구현될 수 있다. 예를 들어, 제어기 모델(140)은 웹 서비스(예를 들어, 강화 학습 시뮬레이션 서비스)의 일부로서 서버 컴퓨팅 시스템(130)에 의해 구현될 수 있다. 따라서, 하나 이상의 제어기 모델(120)은 사용자 컴퓨팅 장치(102)에 저장 및 구현될 수 있고 및/또는 하나 이상의 제어기 모델(140)은 서버 컴퓨팅 시스템(130)에 저장 및 구현될 수 있다.
사용자 컴퓨팅 장치(102)는 또한 사용자 입력을 수신하는 하나 이상의 사용자 입력 컴포넌트(122)를 포함할 수 있다. 예를 들어, 사용자 입력 컴포넌트(122)는 사용자 입력 오브젝트(예를 들어, 손가락 또는 스타일러스)의 터치에 민감한 터치 검출 컴포넌트(예를 들어, 터치 검출 디스플레이 스크린 또는 터치 패드)일 수 있다. 터치 검출 컴포넌트는 가상 키보드를 구현하는 역할을 할 수 있다. 다른 예시적인 사용자 입력 컴포넌트는 마이크로폰, 전통적인 키보드, 또는 사용자가 통신에 진입할 수 있는 다른 수단을 포함한다.
서버 컴퓨팅 시스템(130)은 하나 이상의 프로세서(132) 및 메모리(134)를 포함한다. 하나 이상의 프로세서(132)는 임의의 적절한 처리 장치일 수 있고 하나의 프로세서 또는 작동 가능하게 연결된 복수의 프로세서(예: 프로세서 코어, 마이크로프로세서, ASIC, FPGA, 제어기, 마이크로제어기 등)일 수 있다. 메모리(134)는 RAM, ROM, EEPROM, EPROM, 플래시 메모리 장치, 자기 디스크 등, 및 이들의 조합과 같은 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 메모리(134)는 프로세서(132)에 의해 실행되어 서버 컴퓨팅 시스템(130)이 동작을 수행하게 하는 데이터(136) 및 명령어(138)를 저장할 수 있다.
일부 구현에서, 서버 컴퓨팅 시스템(130)은 하나 이상의 서버 컴퓨팅 장치를 포함하거나 그렇지 않으면 하나 이상의 서버 컴퓨팅 장치에 의해 구현된다. 서버 컴퓨팅 시스템(130)이 복수의 서버 컴퓨팅 장치를 포함하는 경우에, 이러한 서버 컴퓨팅 장치는 순차 컴퓨팅 아키텍처, 병렬 컴퓨팅 아키텍처, 또는 이들의 일부 조합에 따라 동작할 수 있다.
전술한 바와 같이, 서버 컴퓨팅 시스템(130)은 하나 이상의 제어기 모델(140)을 저장하거나 포함할 수 있다. 예를 들어, 제어기 모델(140)은 신경망(예를 들어, 심층 순환 신경망) 또는 다른 다층 비선형 모델과 같은 다양한 기계 학습된 모델이거나 이를 포함할 수 있다. 예시적인 제어기 모델(140)은 도 3a 및 3b를 참조하여 설명된다.
일부 구현에서, 시스템 및 방법은 (예를 들어, 서버 컴퓨팅 시스템(130)에 의해) 클라우드 기반 서비스로서 제공될 수 있다. 사용자는 사전 훈련되거나 사전 구성된 강화 학습 에이전트 모델을 제공할 수 있다. 사용자는, 예를 들어 사용자가 강화 학습 에이전트 모델을 배포하려는 실제 환경을 시뮬레이션하기 위해, 시뮬레이션된 환경을 사용자 지정하기 위해 입력 및/또는 설정을 설정하거나 조정할 수 있다. 그 다음 사용자는 시뮬레이션된 환경에서 시간 경과에 따른 강화 학습 에이전트 모델의 퍼포먼스를 시뮬레이션하여 실제 환경에서 에이전트 모델 또는 이의 여러 다른 변형의 퍼포먼스를 예측 및/또는 최적화할 수 있다.
서버 컴퓨팅 시스템(130)은 네트워크(180)를 통해 통신적으로 연결된 훈련(트레이닝) 컴퓨팅 시스템(150)과의 상호작용을 통해 제어기 모델(140)을 훈련할 수 있다. 훈련 컴퓨팅 시스템(150)은 서버 컴퓨팅 시스템(130)과 분리될 수 있거나 서버 컴퓨팅 시스템(130)의 일부일 수 있다.
훈련 컴퓨팅 시스템(150)은 하나 이상의 프로세서(152) 및 메모리(154)를 포함한다. 하나 이상의 프로세서(152)는 임의의 적절한 처리 장치일 수 있고 하나의 프로세서 또는 작동 가능하게 연결된 복수의 프로세서(예: 프로세서 코어, 마이크로프로세서, ASIC, FPGA, 제어기, 마이크로제어기 등)일 수 있다. 메모리(154)는 RAM, ROM, EEPROM, EPROM, 플래시 메모리 장치, 자기 디스크 등, 및 이들의 조합과 같은 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 메모리(154)는 프로세서(152)에 의해 실행되어 훈련 컴퓨팅 시스템(150)이 동작을 수행하게 하는 데이터(156) 및 명령어(158)를 저장할 수 있다. 일부 구현에서, 훈련 컴퓨팅 시스템(150)은 하나 이상의 서버 컴퓨팅 장치를 포함하거나 그렇지 않으면 이에 의해 구현된다.
훈련 컴퓨팅 시스템(150)은 예를 들어, 에러의 역전파와 같은 다양한 훈련 또는 학습 기술을 사용하여 서버 컴퓨팅 시스템(130)에 저장된 제어기 모델(140)을 훈련하는 모델 훈련기(160)를 포함할 수 있다. 일부 구현에서, 에러의 역전파를 수행하는 것은 시간을 통해 잘린(truncated) 역전파를 수행하는 것을 포함할 수 있다. 모델 트레이너(모델 훈련기)(160)는 훈련되는 모델의 일반화 능력을 향상시키기 위해 복수의 일반화 기술(예를 들어, 가중치 감소, 드롭아웃 등)을 수행할 수 있다.
특히, 모델 트레이너(160)는 훈련 데이터(142)에 기초하여 제어기 모델(140)을 훈련하거나 사전 훈련할 수 있다. 훈련 데이터(142)는 라벨링된 및/또는 라벨링되지 않은 데이터를 포함할 수 있다. 예를 들어, 훈련 데이터(142)는 훈련 피라미드 계층 아키텍트 구조를 포함할 수 있다.
일부 구현에서, 사용자가 동의를 제공했다면, 훈련 예는 사용자 컴퓨팅 장치(102)에 의해 제공될 수 있다(예를 들어, 사용자 컴퓨팅 장치(102)의 사용자에 의해 이전에 제공된 통신에 기초함). 따라서, 이러한 구현에서, 사용자 컴퓨팅 장치(102)에 제공된 제어기 모델(120)은 사용자 컴퓨팅 장치(102)로부터 수신된 사용자-특정 통신 데이터에 대해 훈련 컴퓨팅 시스템(150)에 의해 훈련될 수 있다. 경우에 따라 이 프로세스를 모델 개인화(personalizing)라고 할 수 있다.
모델 트레이너(160)는 원하는 기능을 제공하기 위해 활용되는 컴퓨터 로직을 포함한다. 모델 트레이너(160)는 범용 프로세서를 제어하는 하드웨어, 펌웨어 및/또는 소프트웨어로 구현될 수 있다. 예를 들어, 일부 구현에서, 모델 트레이너(160)는 저장 장치에 저장되고 메모리에 로드되고 하나 이상의 프로세서에 의해 실행되는 프로그램 파일을 포함한다. 다른 구현에서, 모델 트레이너(160)는 RAM 하드 디스크 또는 광학 또는 자기 매체와 같은 유형의 컴퓨터 판독 가능 저장 매체에 저장된 하나 이상의 컴퓨터 실행 가능 명령어 세트를 포함한다.
네트워크(180)는 근거리 통신망(예: 인트라넷), 광역 네트워크(예: 인터넷) 또는 이들의 일부 조합과 같은 임의의 유형의 통신 네트워크일 수 있으며, 임의의 수의 유선 또는 무선 링크를 포함할 수 있다. 일반적으로, 네트워크(180)를 통한 통신은 다양한 통신 프로토콜(예를 들어, TCP/IP, HTTP, SMTP, FTP), 인코딩 또는 포맷(예: HTML, XML) 및/또는 보호 체계(예: VPN, 보안 HTTP, SSL)를 사용하여 임의의 유형의 유선 및/또는 무선 연결을 통해 전달될 수 있다.
도 1a는 본 개시내용을 구현하는데 사용될 수 있는 하나의 예시적인 컴퓨팅 시스템을 도시한다. 다른 컴퓨팅 시스템도 사용할 수 있다. 예를 들어, 일부 구현들에서, 사용자 컴퓨팅 장치(102)는 모델 트레이너(160) 및 훈련 데이터세트(162)를 포함할 수 있다. 이러한 구현에서, 모델(120)은 훈련되고 사용자 컴퓨팅 장치(102)에서 국부적으로 사용될 수 있다. 그러한 구현들 중 일부에서, 사용자 컴퓨팅 장치(102)는 사용자-특정 데이터에 기초하여 모델들(120)을 개인화하기 위해 모델 트레이너(160)를 구현할 수 있다.
도 1b는 본 개시의 예시적인 실시예에 따라 수행하는 예시적인 컴퓨팅 장치(10)의 블록도를 도시한다. 컴퓨팅 장치(10)는 사용자 컴퓨팅 장치 또는 서버 컴퓨팅 장치일 수 있다.
컴퓨팅 장치(10)는 복수의 애플리케이션(예를 들어, 애플리케이션 1 내지 N)을 포함한다. 각 애플리케이션에는 자체 기계 학습 라이브러리와 기계 학습된 모델이 포함되어 있다. 예를 들어, 각 애플리케이션에는 기계 학습된 모델이 포함될 수 있다. 애플리케이션의 예로는 문자 메시지 애플리케이션, 이메일 애플리케이션, 딕테이션(dictation) 애플리케이션, 가상 키보드 애플리케이션, 브라우저 애플리케이션 등이 있다.
도 1B에 도시된 바와 같이, 각각의 애플리케이션은, 예를 들어, 하나 이상의 센서, 컨텍스트 관리자, 장치(디바이스) 상태 컴포넌트, 및/또는 추가 컴포넌트와 같은 컴퓨팅 장치의 복수의 다른 컴포넌트와 통신할 수 있다. 일부 구현에서, 각 애플리케이션은 API(예를 들어, 공개 API)를 사용하여 각 장치 컴포넌트와 통신할 수 있다. 일부 구현에서 각 애플리케이션에서 사용하는 API는 해당 애플리케이션에 따라 다르다.
도 1c는 본 개시의 예시적인 실시예들에 따라 수행하는 예시적인 컴퓨팅 장치(50)의 블록도를 도시한다. 컴퓨팅 장치(50)는 사용자 컴퓨팅 장치 또는 서버 컴퓨팅 장치일 수 있다.
컴퓨팅 장치(50)는 복수의 애플리케이션(예를 들어, 애플리케이션 1 내지 N)을 포함한다. 각 애플리케이션은 중앙 인텔리전스 계층과 통신한다. 애플리케이션의 예로는 문자 메시지 애플리케이션, 이메일 애플리케이션, 딕테이션 애플리케이션, 가상 키보드 애플리케이션, 브라우저 애플리케이션 등이 있다. 일부 구현에서, 각 애플리케이션은 API(예를 들어, 모든 애플리케이션에 걸친 공통 API)를 사용하여 중앙 인텔리전스 계층(및 그 안에 저장된 모델(들))과 통신할 수 있다.
중앙 인텔리전스 계층에는 여러 기계 학습된 모델이 포함된다. 예를 들어, 도 1c에 도시된 바와 같이, 각각의 기계 학습된 모델(예: 모델)은 각 애플리케이션에 제공되고 중앙 인텔리전스 계층에 의해 관리될 수 있다. 다른 구현에서는 둘 이상의 애플리케이션이 단일 기계 학습된 모델을 공유할 수 있다. 예를 들어, 일부 구현에서, 중앙 인텔리전스 계층은 모든 애플리케이션에 대해 단일 모델(예: 단일 모델)을 제공할 수 있다. 일부 구현에서, 중앙 인텔리전스 계층은 컴퓨팅 장치(50)의 운영 체제 내에 포함되거나 운영 체제에 의해 구현된다.
중앙 인텔리전스 계층은 중앙 장치 데이터 계층과 통신할 수 있다. 중앙 장치 데이터 계층은 컴퓨팅 장치(50)에 대한 중앙 집중식 데이터 저장소일 수 있다. 도 1c에 도시된 바와 같이, 중앙 장치 데이터 계층은 예를 들어 하나 이상의 센서, 컨텍스트 관리자, 장치 상태 컴포넌트 및/또는 추가 컴포넌트와 같은 컴퓨팅 장치의 복수의 다른 컴포넌트와 통신할 수 있다. 일부 구현에서, 중앙 장치 데이터 계층은 API(예를 들어, 사설 API)를 사용하여 각 장치 컴포넌트와 통신할 수 있다.
모델 배열의 예
도 2는 피라미드 계층 아키텍처가 본 개시의 예시적인 실시예에 따라 피라미드 계층 아키텍처를 개선하기 위해 반복적으로 수정되고 평가되는 일련의 반복을 수행하도록 구성된 예시적인 시스템(200)을 도시한다. 시스템(200)은 본 개시의 예시적인 실시예들에 따른 제어기 모델(202)을 포함할 수 있다. 제어기 모델(202)은 보상(reward)(206)에 기초하여 새로운 피라미드 아키텍처(204)를 생성하도록 구성될 수 있다. 보상(206)은 백본 모델 및 새로운 피라미드 계층 아키텍처를 갖는 하나 이상의 피라미드 계층을 포함하는 기계 학습된 피라미드 특징 모델과 연관된 하나 이상의 퍼포먼스 특성에 적어도 부분적으로 기초할 수 있다. 컴퓨팅 시스템은 예를 들어, 새로운 피라미드 계층 아키텍처(204)를 갖는 하나 이상의 피라미드 계층 및 백본 모델을 포함하는 기계 학습된 피라미드 특징 모델의 하나 이상의 퍼포먼스 특성을 평가함으로써, 새로운 피라미드 아키텍처(204)의 퍼포먼스 평가(208)를 수행할 수 있다. 컴퓨팅 시스템은 보상(206)에 기초하여 제어기 모델(202)의 하나 이상의 파라미터를 수정할 수 있다. 따라서, 컴퓨팅 시스템은 기계 학습된 피라미드 특징 모델의 퍼포먼스 평가(208)에 기초하여 새로운 피라미드 아키텍처(204)에 대한 결과(outcome)를 결정할 수 있다. 이와 같이 제어기 모델은 결과적인 기계 학습된 피라미드 기능 모델과 관련된 퍼포먼스 특성을 최대화, 최적화 또는 조정하는 방식으로 피라미드 아키텍처를 설계하도록 훈련될 수 있다.
또 다른 예로서, 진화 계획(evolutionary scheme)에서, 가장 최근에 제안된 아키텍처의 퍼포먼스는 예를 들어 가장 최근에 제안된 아키텍처를 유지할지 또는 가장 최근에 제안된 아키텍처를 폐기하고 대신 이전에 관찰된 베스트 아키텍처로 돌아갈지 여부를 결정하기 위해 이전에 관찰된 베스트 퍼포먼스와 비교될 수 있다. 다음 반복 아키텍처를 생성하기 위해 제어기 모델은 위에서 설명한 비교를 기반으로 선택한 모델에 대해 진화적 돌연변이를 수행할 수 있다.
일부 구현에서, 기계 학습된 피라미드 특징 모델(블록 208로 표시)의 하나 이상의 퍼포먼스 특성을 평가하는 단계는 백본 모델 및 각각이 새로운 피라미드 계층 아키텍처를 갖는 복수의 적층형 피라미드 계층을 포함하는 기계 학습된 피라미드 특징 모델의 하나 이상의 퍼포먼스 특성을 평가하는 단계를 포함할 수 있다. 예를 들어, 기계 학습된 모델을 평가하는 동안 백본 모델은 이미지를 입력으로 사용할 수 있다. 기계 학습된 모델은 하나 이상의 피라미드 계층의 최종 피라미드 계층에 의해 출력된 복수의 출력 특징 표현에 기초하여 이미지에 대한 오브젝트 검출, 오브젝트 분류 및/또는 의미론적 분할을 수행할 수 있다. 따라서 피라미드 계층 아키텍처의 퍼포먼스 특성(들)이 평가되고 반복적으로 개선될 수 있다.
일부 실시예에서, 퍼포먼스 특성은 피라미드 아키텍처가 최적화되거나 설계되고 있는 실제 작업(예를 들어, "real task")을 사용하여 평가될 수 있다. 예를 들어, 퍼포먼스 특성은 피라미드 계층를 포함하는 결과 모델로 훈련하는 데 사용될 이미지 그룹을 사용하여 평가될 수 있다. 그러나, 다른 실시예에서, 퍼포먼스 특성은 상대적으로 훈련 시간이 짧고 실제 작업과 상관관계가 있는 프록시 작업을 사용하여 평가할 수 있다. 예를 들어, 프록시 작업을 사용하여 퍼포먼스 특성을 평가하는 것은 실제 작업보다 낮은 해상도의 이미지를 사용하는 것, 더 작은 버전의 백본 모델을 사용하는 것(예: 이미지의 다운샘플링된 버전), 및/또는 실제 작업을 사용하여 모델을 훈련하는 데 일반적으로 사용되는 것보다 더 적은 에포크 동안 실제 작업을 평가하는 것을 포함할 수 있다.
일부 구현에서는, 기계 학습된 모델을 평가하는 동안, 기계 학습된 모델은 예를 들어 "anytime" 오브젝트 검출을 위해 조기 종료를 수행하기 위해 하나 이상의 피라미드 계층 중 임의의 하나에 의해 출력된 각각의 복수의 출력 특징 표현에 기초하여 예측을 생성할 수 있다. 즉, 추론하는 동안 모델은 백본 모델 내부에 있는 피라미드 계층에서 솔루션(예: 오브젝트 검출 정보)을 생성할 수 있다. 예를 들어, 모델 내의 여러 피라미드 계층의 출력에는 솔루션(예: 오브젝트 검출 정보)이 포함될 수 있다. 이 속성은 추론 중 계산 리소스 또는 대기시간이 문제일 때 바람직할 수 있다. 또한 "anytime" 오브젝트 검출을 사용하여 추론 시간에 사용할 리소스의 양을 동적으로 조정할 수 있다.
도 3은 피라미드 계층 아키텍처가 본 개시의 예시적인 실시예에 따라 피라미드 계층 아키텍처를 개선하기 위해 반복적으로 수정되고 평가되는 일련의 반복을 수행하도록 구성된 예시적인 시스템(300)을 도시한다. 제어기 모델(302)은 보상(306)에 기초하여 새로운 피라미드 아키텍처(304)를 생성하도록 구성된 강화 학습 에이전트(310)를 포함할 수 있다. 도 2 및 도 3을 참조하면, 제어기 모델(202, 302)은 예를 들어 도 4 내지 도 8을 참조하여 아래에 설명되는 바와 같이 추가 동작을 수행하도록 구성될 수 있다.
도 4는 본 개시내용의 예시적인 실시예에 따른 백본 모델(400) 및 피라미드 계층(402)을 도시한다. 피라미드 계층(402)은 백본 모델(400)(또는 다중 피라미드 계층이 있는 경우 이전의 순차적 피라미드 계층)에 의해 출력된 복수의 입력 특징 표현(404)(예를 들어, 특징 맵)을 수신하도록 구성될 수 있다. 복수의 입력 특징 표현은 복수의 상이한 입력 해상도를 가질 수 있다. 피라미드 계층은 입력 특징 표현과 관련하여 컨볼루션 및/또는 기타 오퍼레이션을 수행하도록 구성될 수 있다. 특히, 입력 특징 표현은 해상도가 같거나 다른 두 특징 표현의 조합을 포함하여 다른 특징 표현(예: 입력 특징 표현, 내부 특징 표현 및/또는 출력 특징 표현)과 결합(예: 합계, 전역 풀링 등)될 수 있다. 특징 표현에 대한 피라미드 계층에 의해 수행된 오퍼레이션은 피라미드 계층이 복수의 출력 특징 표현을 생성하고 출력하는 결과를 초래할 수 있다. 복수의 출력 특징 표현은 복수의 상이한 출력 해상도를 가질 수 있다.
여기 다른 곳에서 설명되고 도 4에서 "×N"으로 표시된 바와 같이, 피라미드 계층(402)의 시퀀스는 차례로 적층될 수 있다(예를 들어, 특정 피라미드 계층에 대한 입력 표현은 이전 순차 피라미드 계층의 출력 표현이 될 수 있고, 특정 피라미드 계층에 의해 제공되는 출력 표현은 다음 순차 피라미드 계층에 대한 입력 표현이 될 수 있다). 제1 피라미드 계층에 대한 입력은 백본 모델(400)의 특징 계층에서 직접 가져온 특징일 수 있다.
일부 구현에서, 최종 피라미드 계층(및/또는 "anytime exit"가 활성화된 경우 중간 피라미드 계층)에 대한 출력 특징 표현은 예를 들어 수신된 출력 표현에 기초하여 분류 및/또는 회귀를 수행할 수 있는 추가 네트워크(CLASS+BOX SUBNETS)(406)에 대한 입력으로서 제공될 수 있다. 따라서, 일부 구현에서, 추가 분류기 및/또는 박스 회귀 헤드(box regression heads)(406)는 모델의 훈련 동안 모든 피라미드 계층 후에 부착될 수 있다. 추론 동안, 헤드(406)는 최종 피라미드 계층(및/또는 "anytime exit"가 활성화된 경우 중간 피라미드 계층)에 의해 생성된 특징 표현에 기초하여 검출을 생성할 수 있다.
특히, "anytime exit"와 관련하여, 반복 피라미드 계층로 스케일링하는 것의 한 가지 이점은 주어진 계층에서 특징 피라미드 표현을 얻을 수 있다는 것이다. 이는 주어진 피라미드 계층에서 검출 결과를 생성할 수 있는 "anytime" 검출을 가능하게 한다. 따라서, 일부 구현에서 분류기 및 박스 회귀 헤드(406)는 훈련 동안 모든 피라미드 계층 후에 부착될 수 있다. 추론하는 동안 모델은 모든 피라미드 계층에서 검출을 생성할 수 있다. 이 속성은 추론하는 동안 계산 리소스 또는 대기시간이 문제가 될 때 바람직할 수 있으며 검출 생성에 사용할 리소스의 양을 동적으로 결정할 수 있는 솔루션을 제공한다.
일 예에서, 입력 특징(404)은 {8, 16, 32, 64, 128} 픽셀의 대응하는 스트라이드를 갖는 5개의 스케일 {C3, C4, C5, C6, C7}에 있다. C6 및 C7은 C5에 스트라이드(stride) 2 및 스트라이드 4 맥스 풀링(max pooling)을 적용하여 생성되었다. 그런 다음 입력 기능은 피라미드 계층의 일련의 병합 셀에 전달되어 특징(features)을 교차 스케일 연결과 결합하고 그리고 증강 특징 표현 {P3, P4, P5, P6, P7}을 생성한다. 피라미드 계층(402)의 입력 및 출력 모두가 동일한 스케일을 가질 수 있기 때문에, 피라미드 계층(402)의 아키텍처는 반복적으로 복제(replicated)되고 연결되어 확장 가능한(scalable) 모델 아키텍처를 생성할 수 있다. 속도와 정확성을 트레이드-오프하기 위해 피라미드 계층의 수를 제어할 수 있다. 피라미드 계층이 많을수록 일반적으로 정확도는 높아지지만 퍼포먼스는 느려진다. 피라미드 계층이 적을수록 일반적으로 퍼포먼스는 빨라지지만 정확도는 떨어진다.
도 5는 본 개시의 예시적인 실시예에 따른 복수의 특징 표현(500) 및 병합 셀(merging cell)(502)을 도시한다. 복수의 검색 반복 각각에 대해, 제어기 모델은 새로운 피라미드 아키텍처를 생성하기 위해 복수의 병합 셀(502)을 구성하고 추가함으로써 새로운 피라미드 계층 아키텍처를 생성하도록 구성될 수 있다. 각각의 병합 셀(502)은 2개의 입력 특징 표현과 하나의 출력 특징 표현을 가질 수 있다. 이는 피라미드 계층의 다양한 특징 표현 사이에 교차 스케일 연결을 생성할 수 있으며, 이는 의미론적으로 강력한 특징 표현을 초래할 수 있다.
보다 구체적으로, 병합 셀(502) 중 하나를 구성하기 위해, 제어기 모델은 복수의 입력 특징 표현(500)을 포함하는 이용 가능한 특징 표현의 세트로부터 제1 입력 특징 표현(504)을 선택하도록 구성될 수 있다. 제어기 모델은 이용가능한 특징 표현들의 세트 중 제2의 상이한 입력 특징 표현(506)을 선택할 수 있다. 제어기 모델은 복수의 상이한 출력 해상도 중 제1 해상도를 선택하고, 제1 해상도를 갖는 새로운 특징 표현(510)을 생성하기 위해 제1 입력 특징 표현(504)을 제2의 상이한 입력 특징 표현(506)과 결합하는 오퍼레이션(연산)(Binary OP)(508)을 선택할 수 있다. 예를 들어, 오퍼레이션(508)은 합 연산 및 글로벌 풀링 연산과 같은 다양한 적합한 이진 연산을 포함할 수 있다. 병합 셀(502)은 컨볼루션(3X3 CONV)(512)(예를 들어, 3x3 컨볼루션)을 수행하도록 구성될 수 있다. 복수의 병합 셀(502)은 이러한 방식으로 독립적으로 및/또는 순차적으로 구성될 수 있다. 복수의 병합 셀(502)은 피라미드 계층 아키텍처를 생성하기 위해 추가될 수 있다. 따라서, 제어기 모델은 예를 들어 도 6a 내지 도 6f를 참조하여 아래에서 설명되는 바와 같이 새로운 피라미드 계층 아키텍처를 생성하기 위해 병합 셀(502)을 사용할 수 있다.
일부 구현에서, 병합 셀(502) 중 적어도 일부에 대해, 제어기 모델은 다음 병합 셀(화살표 514로 예시됨)에서의 잠재적 선택을 위해 사용 가능한 특징 표현의 세트에 새로운 특징 표현을 추가할 수 있다. 따라서 일부 경우에, 새로 생성된 특징 표현을 다음 병합 셀의 다른 특징 표현과 병합할 수 있다. 이러한 오퍼레이션은 다양한 크로스-스케일 연결의 발견 또는 학습을 용이하게 할 수 있다.
일부 구현에서, 제1 입력 특징 표현(504) 및 제2의 상이한 입력 특징 표현(506)은 상이한 각각의 해상도(resolutions)를 갖도록 제한될 수 있다. 예를 들어, 제1 입력 특징 표현(504) 및 제2의 상이한 입력 특징 표현(506)은, 예를 들어 도 6a 내지 도 7을 참조하여 아래에서 설명되는 바와 같이, 복수의 입력 해상도의 피라미드 구조 내에서 인접하지 않은 상이한 각각의 해상도를 가질 수 있다. 따라서 피라미드 계층의 새로운 아키텍처는 서로 다른 스케일에서 특징 표현을 결합하는 교차 스케일(크로스-스케일) 연결을 갖도록 제한될 수 있다.
도 6a 내지 도 6f는 본 개시내용의 예시적인 실시예에 따른 제어기 모델에 의해 생성된 연속 피라미드 계층의 아키텍처 그래프를 도시한다. 도트(점)(dots)는 특징 표현을 나타내고 그리고 화살표는 특징 표현 간의 연결을 나타낸다. 입력 특징 계층는 동그라미로 표시되어 있으며 각 그래프의 왼쪽에 있다. 동일한 행의 특징 표현은 동일한 해상도를 가질 수 있다. 해상도는 위쪽으로 감소한다. 예를 들어, 도 6a를 참조하면, 가장 낮은 행의 점(602)은 동일한 해상도를 갖는 특징 표현 및 잠재적 특징 표현을 나타낸다. 다음 행의 도트(604)는 가장 낮은 행(602)에 있는 도트의 해상도보다 낮은 동일한 해상도를 갖는 특징 표현 및 잠재적 특징 표현을 나타낸다. 이 예에서 출력 특징 표현은 더 높은 해상도를 가진 다른 출력 특징 표현과의 연결만 허용할 수 있다.
도 6a는 본 개시의 양태들에 따른 베이스라인 또는 초기 피라미드 구조 아키텍처를 예시한다. 도 6b 내지 도 6f는 본 개시의 양태에 따른 다양한 검색 반복을 사용하여 발견된 아키텍처를 예시한다. 이 예에서, 프록시 작업을 사용하여 피라미드 아키텍처를 평가했다. 프록시 작업의 보상이 점진적으로 향상됨에 따라 발견된 아키텍처가 수렴된다. 도 6f는 다른 백본 모델을 사용한 후속 실험에 사용된 최종 아키텍처를 보여준다. 도 6f에 설명된 최종 아키텍처는 도 7에도 설명되어 있다.
일부 구현에서, 피라미드 계층에 의해 생성된 새로운 특징 표현은 피라미드 계층 아키텍처 내부에 있는 하나 이상의 내부 특징 표현을 포함할 수 있다. 예를 들어, 도 6b를 참조하면, 피라미드 계층 아키텍처는 제1 내부 특징 표현(606) 및 제2 내부 특징 표현(608)을 포함할 수 있다. 내부 특징 표현(들)(606, 608)은 입력 특징 표현(610, 612, 614) 및 출력 특징 표현(616, 618, 620, 622)과 구별될 수 있다.
내부 특징 표현(들)은 다른 내부 특징 표현(들), 입력 특징 표현 및/또는 출력 특징 표현과 연결될 수 있다. 예를 들어, 도 6b를 참조하면, 제1 내부 특징 표현(606)은 입력으로서 2개의 입력 특징 표현(610, 614)과 연결될 수 있고 출력으로서 제2 내부 특징 표현(608)과 연결될 수 있다. 제2 특징 표현(608)은 입력으로서 제1 내부 특징 표현(606) 및 입력 특징 표현(614) 중 하나와 출력으로서 출력 특징 표현(618) 중 하나와 연결될 수 있다. 복수의 출력 특징 표현(616, 618, 620, 622) 중 적어도 하나는 내부 특징 표현(606, 608) 중 하나 이상에 기초하여 생성될 수 있다.
위에서 지적한 바와 같이, 복수의 병합 셀은 피라미드 계층 아키텍처를 생성하기 위해 추가될 수 있다. 도 6b를 참조하면, 연결된 특징 표현은 각각의 추가된 병합 셀을 나타낼 수 있다. 예를 들어, 하나의 병합 셀에서 두 개의 입력 특징 표현(610, 614)은 예를 들어 도 5를 참조하여 위에서 설명된 바와 같이 선택될 수 있다. 입력 특징 표현(610, 614)은 새로운 특징 표현(예를 들어, 제1 내부 특징 표현(608))을 생성하기 위해 결합될 수 있다. 예시된 바와 같이, 제1 내부 특징 표현(608)은 교차 스케일(크로스-스케일) 연결이 생성되도록 입력 특징 표현(610, 614) 중 하나 또는 둘 모두와 상이한 해상도를 가질 수 있다.
일부 구현에서, 다음 병합 셀에서 잠재적인 선택을 위해 새로운 특징 표현이 이용 가능할 수 있다. 예를 들어, 도 6b를 참조하면, 제1 내부 특징 표현(606)과 입력 특징 표현(610) 중 하나가 결합되어 제2 내부 특징 표현(608)을 생성한다. 따라서, 일부 경우에, 새로 생성된 특징 표현(예를 들어, 제1 내부 특징 표현(606))은 다음 병합 셀에서 다른 특징 표현(예를 들어, 입력 특징 표현(610))과 병합될 수 있다. 이러한 오퍼레이션은 다양한 교차 스케일 연결의 발견 또는 학습을 용이하게 할 수 있다.
일부 구현들에서, 제1 입력 특징 표현 및 제2의 상이한 입력 특징 표현은 상이한 각각의 해상도를 갖도록 제한될 수 있다. 예를 들어, 제1 입력 특징 표현 및 제2의 상이한 입력 특징 표현은 복수의 입력 해상도의 피라미드 구조 내에서 인접하지 않은 상이한 각각의 해상도를 가질 수 있다. 예를 들어, 도 6b에 도시된 바와 같이, 제1 내부 특징 표현(606) 및 입력 특징 표현(610)은 상이한 해상도를 갖는다. 추가적으로, 제2 내부 특징 표현(608)은 제1 내부 특징 표현(606) 및 입력 특징 표현(610) 각각과는 상이한 해상도를 갖는다. 따라서, 피라미드 계층의 새로운 아키텍처는 서로 다른 스케일에서 특징 표현을 결합하는 교차 스케일 연결을 갖도록 제한될 수 있다.
일부 구현들에서, 복수의 병합 셀들 중 적어도 일부에 대해, 제어기 모델은 병합 셀에 의해 생성된 새로운 특징 표현이 복수의 출력 표현 중 하나를 형성할 수 있도록 출력 해상도 중 하나를 선택하도록 제한될 수 있다. 예를 들어, 도 6b를 참조하면, 제어기 모델은 제1 내부 특징 표현(606) 및 입력 특징 표현(614) 중 하나에 대한 출력으로서 출력 특징 표현(616) 중 하나를 선택할 수 있다. 따라서, 피라미드 계층의 아키텍처는 미리 결정된 출력 해상도를 갖도록 제한될 수 있다. 또한, 일부 구현들에서, 입력 해상도들 중 2개 이상(예: 입력 특징 표현(610, 612, 614)을 각각 포함하는 하단 3개 열)이 출력 해상도들 중 적어도 2개 이상(예: 출력 특징 표현(620, 622, 624)를 포함하는 열)과 동일하도록 제한될 수 있다. 이러한 제약은 피라미드 계층의 적층(stacking)을 용이하게 할 수 있다.
병합 셀의 수는 결과 피라미드 아키텍처의 복잡성과 크기에 영향을 줄 수 있다. 병합 셀의 수는 사용자 정의된 하이퍼파라미터가 될 수 있으며, 이는 결과 피라미드 아키텍처에 대한 향상된 제어를 사용자에게 제공할 수 있다. 그러나, 다른 실시예에서, 병합 셀의 수는 결과 피라미드 아키텍처의 크기 및/또는 복잡성이 결과 피라미드 아키텍처의 원하는 퍼포먼스 특성(예: 빠른 해결 시간, 높은 정확도 등)을 최적화할 수 있도록 학습 가능한 파라미터일 수 있다.
또 다른 양태에 따르면, 개입 없이, 여기에 설명된 병합 셀은 다른 특징 표현과의 출력 연결이 없는 특징 표현을 초래할 수 있다. 이러한 구성은 일반적으로 피라미드 계층의 출력에 기여하지 않고 이러한 특징 표현이 리소스를 소비하기 때문에 바람직하지 않다. 이 구성을 방지하기 위해, 일부 구현에서, 제어기 모델은 복수의 출력 특징 표현 중 어느 것에 연결되지 않는 각각의 특징 표현을 해당 해상도를 갖는 출력 특징 표현과 합산(SUM)하도록 구성될 수 있다. 따라서, 제어기 모델은 피라미드 계층 아키텍처를 제한하거나 수정하여 후속 특징 표현과의 출력 연결이 없는 특징 표현의 형성을 방지하도록 구성할 수 있다.
예를 들어, 도 6f를 참조하면, 내부 특징 표현(626)이 복수의 출력 특징 표현(628, 630, 632, 634, 636) 중 임의의 것에 대한 연결이 없는 경우, 제어기 모델은 내부 특징 표현(626)을 동일한 출력 해상도를 갖는 출력 특징 표현(634)과 연결하도록 구성될 수 있다.
도 7은 도 6f의 피라미드 계층 아키텍처(700)를 도시한다. 피라미드 계층 아키텍처(700)는 도 6a 내지 도 6f를 참조하여 위에서 설명된 바와 같이 반복적으로 생성되었다. 입력 특징 표현(702, 704, 706)은 피라미드 계층 아키텍처(700)에 입력될 수 있다. 입력 특징 표현(702, 704, 706)은 도시된 바와 같이 결합되어 내부 특징 표현(708, 710)을 생성할 수 있다. 예를 들어, 입력 특징 표현(702, 704, 706)은 필요하거나 도움이 되는 경우 가장 가까운 이웃 업샘플링 또는 최대 풀링에 의해 출력 해상도로 조정될 수 있다. 병합된 특징 맵(Feature Maps)은 예를 들어 도시한 바와 같이 ReLU(Rectified Linear Unit), 3x3 컨볼루션 및/또는 배치 정규화 계층이 뒤따를 수 있다. 피라미드 계층 아키텍처(700)는 출력 특징 표현(712, 714, 716, 718, 720)을 포함할 수 있다.
도 8a 내지 도 8f는 본 개시내용의 예시적인 실시예에 따른 제어기 모델에 의해 생성된 연속 피라미드 계층의 아키텍처 그래프를 도시한다. 이 예에서, 도 6a 내지 도 6f를 참조하여 위에서 설명한 예와 대조적으로, 각 출력 특징 표현은 더 크거나 더 낮은 해상도를 가진 다른 출력 특징 표현과 자유롭게 연결을 형성할 수 있다. 도 9는 도 7이 도 6f의 피라미드 계층 아키텍처를 예시하는 것과 동일한 방식으로 도 8f의 피라미드 계층 아키텍처를 예시한다.
본 개시내용의 시스템 및 방법은 복수의 기술적 효과 및 이점을 제공한다. 예를 들어, 여기에 설명된 구현은 수동으로 생성된 다른 모델 아키텍처와 비교하여 개선된 정확도/대기시간 트레이드오프를 갖는 모델 아키텍처를 생성할 수 있다. 더욱이, 여기에 설명된 구현들에 따라 생성된 스택형 모델 아키텍처는 "anytime" 오브젝트 검출을 허용하는 추론 시간에 사용할 계산 자원을 동적으로 조정하는 데 사용될 수 있다. 여기에 설명된 다양한 예시적인 구현은 오브젝트 검출, 또는 이미지 분류 또는 의미론적 분할과 같은 다른 시각적 처리 작업을 위해 특별히 적응된 모델 아키텍처를 생성한다.
일 예로서, 본 개시의 시스템 및 방법은 애플리케이션, 브라우저 플러그인의 컨텍스트 내에서, 또는 다른 컨텍스트 내에서 포함되거나 그렇지 않으면 채용될 수 있다. 따라서, 일부 구현에서, 본 개시의 모델은 랩탑, 태블릿 또는 스마트폰과 같은 사용자 컴퓨팅 장치에 포함되거나 그렇지 않으면 저장 및 구현될 수 있다. 또 다른 예로서, 모델은 클라이언트-서버 관계에 따라 사용자 컴퓨팅 장치와 통신하는 서버 컴퓨팅 장치에 포함되거나 그렇지 않으면 저장 및 구현될 수 있다. 예를 들어, 모델은 웹 서비스(예: 웹 이메일 서비스)의 일부로서 서버 컴퓨팅 장치에 의해 구현될 수 있다.
예시 방법
도 10은 본 개시의 예시적인 실시예에 따라 수행하기 위한 예시적인 방법의 흐름도를 도시한다. 도 10은 예시 및 설명를 위해 특정 순서로 수행되는 단계를 도시하지만, 본 개시내용의 방법은 특별히 예시된 순서 또는 배열에 제한되지 않는다. 방법(800)의 다양한 단계는 본 개시의 범위를 벗어나지 않고 다양한 방식으로 생략, 재배열, 결합 및/또는 적응될 수 있다.
컴퓨팅 시스템은 피라미드 계층 아키텍처가 본 개시의 예시적인 실시예에 따라 피라미드 계층 아키텍처를 개선하기 위해 반복적으로 수정되고 평가되는 일련의 반복을 수행할 수 있다. 예를 들어, 802에서, 컴퓨팅 시스템은 예를 들어 도 2 내지 도 9를 참조하여 위에서 설명된 바와 같이 피라미드 계층에 대한 새로운 아키텍처를 생성하도록 구성된 제어기 모델의 출력으로서 새로운 피라미드 계층 아키텍처를 수신할 수 있다.
804에서, 컴퓨팅 시스템은 예를 들어 도 2 내지 9를 참조하여 위에서 설명된 바와 같이 새로운 피라미드 계층 아키텍처를 갖는 하나 이상의 피라미드 계층 및 백본 모델을 포함하는 기계 학습된 피라미드 특징 모델의 하나 이상의 퍼포먼스 특성을 평가할 수 있다.
806에서, 컴퓨팅 시스템은 예를 들어 도 2 내지 9를 참조하여 위에서 설명된 바와 같이 평가된 퍼포먼스 특성에 기초하여 새로운 피라미드 계층 아키텍처에 대한 결과를 결정할 수 있다. 컴퓨팅 시스템은 그 다음 단계(802)로 돌아갈 수 있다.
추가 개시
여기에서 설명된 기술은 서버, 데이터베이스, 소프트웨어 애플리케이션 및 기타 컴퓨터 기반 시스템뿐만 아니라 이러한 시스템에서 수행된 액션 및 정보를 참조한다. 컴퓨터 기반 시스템의 고유한 유연성은 컴포넌트 간에 작업(태스크)과 기능을 매우 다양한 구성, 조합 및 분할을 허용한다. 예를 들어, 여기에서 설명된 프로세스는 단일 장치 또는 컴포넌트 또는 조합하여 작동하는 다중 장치 또는 컴포넌트를 사용하여 구현될 수 있다. 데이터베이스와 애플리케이션은 단일 시스템에서 구현되거나 여러 시스템에 분산될 수 있다. 분산 컴포넌트는 순차적으로 또는 병렬로 작동할 수 있다.
지금까지 본 발명의 다양한 실시예에 대해 상세히 설명하였지만, 각각의 예는 설명의 목적으로 제공되는 것이지, 본 발명을 한정하는 것은 아니다. 당업자는 전술한 내용을 이해하면 이러한 실시예에 대한 변경, 변형 및 균등물을 쉽게 생성할 수 있다. 따라서, 본 개시는 당업자에게 용이하게 명백한 바와 같이 본 대상에 대한 그러한 수정, 변형 및/또는 추가의 포함을 배제하지 않는다. 예를 들어, 일 실시예의 일부로서 예시되거나 설명된 특징은 또 다른 실시예와 함께 사용되어 또 다른 실시예를 산출할 수 있다. 따라서, 본 개시는 그러한 변경, 변형 및 등가물을 포함하도록 의도된다.

Claims (22)

  1. 컴퓨팅 시스템으로서,
    하나 이상의 프로세서;
    백본(backbone) 모델에 의해 출력된 복수의 입력 특징 표현을 수신하고 그리고 이에 응답하여 복수의 출력 특징 표현을 출력하는 피라미드 계층에 대한 새로운 아키텍처를 생성하도록 구성된 제어기 모델 -복수의 입력 특징 표현은 복수의 상이한 입력 해상도를 가지며, 복수의 출력 특징 표현은 복수의 상이한 출력 해상도를 가짐-; 그리고
    하나 이상의 프로세서에 의해 실행될 때 컴퓨팅 시스템으로 하여금 동작들을 수행하게 하는 명령어를 집합적으로 저장하는 하나 이상의 비일시적 컴퓨터 판독 가능 매체를 포함하며, 상기 동작들은,
    복수의 반복 각각에 대해:
    제어기 모델의 출력으로 새로운 피라미드 계층 아키텍처를 수신하는 동작; 그리고
    백본 모델과 새로운 피라미드 계층 아키텍처를 갖는 하나 이상의 피라미드 계층을 포함하는 기계 학습된 피라미드 특징 모델의 하나 이상의 퍼포먼스(performance) 특성을 평가하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  2. 선행하는 청구항 중 어느 한 항에 있어서, 상기 복수의 반복 각각에 대해:
    새로운 피라미드 계층 아키텍처는 피라미드 계층 아키텍처 내부에 있는 적어도 하나의 내부 특징 표현을 생성하기 위해 복수의 입력 특징 표현 중 적어도 2개에 대한 적어도 하나의 조합을 수행하고; 그리고
    복수의 출력 특징 표현 중 적어도 하나는 적어도 하나의 내부 특징 표현에 기초하여 생성되는 것을 특징으로 하는 컴퓨팅 시스템.
  3. 선행하는 청구항 중 어느 한 항에 있어서, 복수의 반복 각각에 대해 제어기 모델은 복수의 병합 셀을 구성하기 위한 제어기 동작을 수행함으로써 새로운 피라미드 계층 아키텍처를 생성하도록 구성되고, 동작들은, 복수의 병합 셀 각각에 대해:
    복수의 입력 특징 표현을 포함하는 이용 가능한 특징 표현의 세트로부터 제1 입력 특징 표현을 선택하는 동작;
    이용 가능한 특징 표현 세트의 제2의 상이한 입력 특징 표현을 선택하는 동작;
    복수의 상이한 출력 해상도 중 제1 해상도를 선택하는 동작; 그리고
    제1 입력 특징 표현과 제2의 상이한 입력 특징 표현을 결합하여 제1 해상도를 갖는 새로운 특징 표현을 생성하는 동작을 선택하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  4. 제3항에 있어서, 상기 동작을 선택하는 동작은 합 연산 및 글로벌 풀링 연산 중 하나를 선택하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  5. 선행하는 청구항 중 어느 한 항에 있어서, 상기 제어기 동작은 새로운 피라미드 계층 아키텍처를 생성하기 위해 복수의 병합 셀을 추가하는 동작을 더 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  6. 선행하는 청구항 중 어느 한 항에 있어서, 상기 제어기 동작은,
    상기 복수의 병합 셀 중 적어도 일부에 대해, 다음 병합 셀에서의 잠재적 선택을 위해 이용 가능한 특징 표현의 세트에 새로운 특징 표현을 추가하는 동작을 더 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  7. 선행하는 청구항 중 어느 한 항에 있어서, 상기 새로운 특징 표현은 피라미드 계층 아키텍처 내부에 있는 내부 특징 표현을 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  8. 선행하는 청구항 중 어느 한 항에 있어서, 상기 제1 입력 특징 표현 및 상기 제2의 상이한 입력 특징 표현은 상이한 각각의 해상도를 갖도록 제한되는 것을 특징으로 하는 컴퓨팅 시스템.
  9. 선행하는 청구항 중 어느 한 항에 있어서, 상기 제1 입력 특징 표현 및 상기 제2의 상이한 입력 특징 표현은 상기 복수의 입력 해상도의 피라미드 구조 내에서 인접하지 않은 상이한 각각의 해상도를 갖는 것을 특징으로 하는 컴퓨팅 시스템.
  10. 선행하는 청구항 중 어느 한 항에 있어서, 복수의 병합 셀 중 적어도 특정 수에 대해, 제어기 모델은 새로운 특징 표현이 복수의 출력 표현들 중 하나를 형성하도록, 새로운 특징 표현에 대한 제1 해상도로서 복수의 상이한 출력 해상도들 중 하나를 선택하도록 제한되는 것을 특징으로 하는 컴퓨팅 시스템.
  11. 선행하는 청구항 중 어느 한 항에 있어서, 적어도 2개의 상이한 입력 해상도는 피라미드 계층 아키텍처가 적층가능하도록 적어도 2개의 상이한 출력 해상도와 동일하도록 제한되는 것을 특징으로 하는 컴퓨팅 시스템.
  12. 선행하는 청구항 중 어느 한 항에 있어서, 상기 복수의 병합 셀의 수는 사용자 정의된 하이퍼파라미터 또는 학습 가능한 파라미터인 것을 특징으로 하는 컴퓨팅 시스템.
  13. 선행하는 청구항 중 어느 한 항에 있어서, 상기 제어기 동작은, 상기 복수의 병합 셀을 구성한 후, 상기 복수의 출력 특징 표현 중 어느 것에 연결되지 않는 각각의 특징 표현을 해당 해상도를 갖는 출력 특징 표현과 합산하는 동작을 더 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  14. 선행하는 청구항 중 어느 한 항에 있어서, 상기 제어기 모델은 강화 학습 에이전트를 포함하고, 동작들은 상기 복수의 반복 각각에 대해,
    하나 이상의 퍼포먼스 특성에 적어도 부분적으로 기초하여 보상을 결정하는 e동작; 그리고
    보상을 기반으로 제어기 모델의 하나 이상의 파라미터를 수정하는 동작을 더 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  15. 선행하는 청구항 중 어느 한 항에 있어서, 상기 제어기 모델은 진화적 돌연변이(evolutionary mutations)의 수행을 통해 피라미드 계층에 대한 새로운 아키텍처를 생성하도록 구성되고,
    동작들은 복수의 반복 각각에 대해, 하나 이상의 퍼포먼스 특성에 적어도 부분적으로 기초하여 새로운 피라미드 계층 아키텍처를 유지할지 또는 폐기할지 여부를 결정하는 동작을 더 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  16. 선행하는 청구항 중 어느 한 항에 있어서,
    기계 학습된 피라미드 특징 모델의 하나 이상의 퍼포먼스 특성을 평가하는 동작은
    백본 모델 및 각각이 새로운 피라미드 계층 아키텍처를 갖는 복수의 적층 피라미드 계층을 포함하는 기계 학습된 피라미드 특징 모델의 하나 이상의 퍼포먼스 특성을 평가하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  17. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 기계 학습된 모델의 평가 동안, 상기 백본 모델은 이미지를 입력으로 취하고, 기계 학습된 모델은 하나 이상의 피라미드 계층의 최종 피라미드 계층에 의해 출력된 복수의 출력 특징 표현에 기초하여 이미지에 대한 오브젝트 검출, 오브젝트 분류 또는 의미론적 분할 중 하나를 수행하는 것을 특징으로 하는 컴퓨팅 시스템.
  18. 선행하는 청구항 중 어느 한 항에 있어서, 상기 기계 학습된 모델의 평가 동안, 기계 학습된 모델은 조기 종료를 수행하기 위해 하나 이상의 피라미드 계층 중 임의의 하나에 의해 출력된 각각의 복수의 출력 특징 표현에 기초하여 예측을 생성할 수 있는 것을 특징으로 하는 컴퓨팅 시스템.
  19. 컴퓨팅 시스템으로서,
    하나 이상의 프로세서;
    입력을 수신하고, 그리고 입력을 수신하는 것에 응답하여 출력을 출력하도록 구성된 기계 학습된 모델 -기계 학습된 모델은 백본 모델과 순차적으로 적층된 복수의 피라미드 계층를 포함하고, 백본 모델은 입력을 수신하고 그리고 초기의 복수의 출력 특징 표현을 생성하도록 구성되고, 복수의 피라미드 계층의 각각의 피라미드 계층은 백본 모델 또는 이전의 순차적 피라미드 계층으로부터 복수의 상이한 해상도를 갖는 각각의 복수의 입력 특징 표현을 수신하고 그리고 동일한 복수의 상이한 해상도를 갖는 각각의 복수의 출력 특징 표현을 생성하도록 구성됨-;
    하나 이상의 프로세서에 의해 실행될 때 컴퓨팅 시스템으로 하여금 동작들을 수행하게 하는 명령어를 집합적으로 저장하는 하나 이상의 비일시적 컴퓨터 판독 가능 매체를 포함하며, 상기 동작들은:
    입력을 기계 학습된 모델에 입력하는 동작; 그리고
    기계 학습된 모델의 출력으로서 출력을 수신하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  20. 제19항에 있어서, 상기 복수의 피라미드 계층 각각은 동일한 피라미드 계층 아키텍처를 갖는 것을 특징으로 하는 컴퓨팅 시스템.
  21. 제19항에 있어서, 동일한 피라미드 계층 아키텍처는 반복 검색 프로세스를 수행하는 제어기 모델에 의해 생성된 것을 특징으로 하는 컴퓨팅 시스템.
  22. 백본 모델에 의해 출력된 피라미드형 특징 표현의 세트를 처리하는 피라미드 계층의 아키텍처를 생성하기 위한 컴퓨터 구현 방법으로서, 복수의 반복 각각에 대해:
    하나 이상의 컴퓨팅 장치에 의해, 백본 모델에 의해 출력된 복수의 입력 특징 표현을 수신하고 그리고 이에 응답하여 복수의 출력 특징 표현을 출력하도록 구성된 피라미드 계층에 대한 새로운 아키텍처를 생성하도록 구성된 제어기 모델의 출력으로서 새로운 피라미드 계층 아키텍처를 수신하는 단계 -복수의 입력 특징 표현은 복수의 상이한 입력 해상도를 가지며, 복수의 출력 특징 표현은 복수의 상이한 출력 해상도를 가짐-; 그리고
    하나 이상의 컴퓨팅 장치에 의해, 백본 모델 및 새로운 피라미드 계층 아키텍처를 갖는 하나 이상의 피라미드 계층을 포함하는 기계 학습된 피라미드 특징 모델의 하나 이상의 퍼포먼스 특성을 평가하는 단계를 포함하는 것을 특징으로 하는 상기 컴퓨터 구현 방법.
KR1020217026940A 2019-02-25 2020-02-25 피라미드 계층의 아키텍처를 생성하기 위한 시스템 및 방법 KR20210116640A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962810143P 2019-02-25 2019-02-25
US62/810,143 2019-02-25
PCT/US2020/019581 WO2020176435A1 (en) 2019-02-25 2020-02-25 Systems and methods for producing an architecture of a pyramid layer

Publications (1)

Publication Number Publication Date
KR20210116640A true KR20210116640A (ko) 2021-09-27

Family

ID=69846602

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217026940A KR20210116640A (ko) 2019-02-25 2020-02-25 피라미드 계층의 아키텍처를 생성하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US20220092387A1 (ko)
EP (1) EP3931762A1 (ko)
JP (1) JP7317979B2 (ko)
KR (1) KR20210116640A (ko)
CN (1) CN113490955A (ko)
WO (1) WO2020176435A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113052812B (zh) * 2021-03-22 2022-06-24 山西三友和智慧信息技术股份有限公司 一种基于AmoebaNet的MRI前列腺癌检测方法
KR20230111099A (ko) 2022-01-17 2023-07-25 네이버 주식회사 딥러닝 모델의 튜닝 방법 및 시스템

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990082557A (ko) * 1996-02-09 1999-11-25 윌리암 제이. 버크 불확실한 트레이닝 데이터를 사용하여 대상을검출 및 분류하기위한 뉴럴 네트워크의 트레이닝 방법 및 장치
US20130107061A1 (en) * 2011-10-31 2013-05-02 Ankit Kumar Multi-resolution ip camera
WO2016054779A1 (en) * 2014-10-09 2016-04-14 Microsoft Technology Licensing, Llc Spatial pyramid pooling networks for image processing
EP3428856A4 (en) * 2016-03-09 2019-04-10 Sony Corporation INFORMATION PROCESSING METHOD AND INFORMATION PROCESSING DEVICE
KR101834279B1 (ko) * 2016-10-04 2018-03-06 네이버 주식회사 지연 특징 추출을 이용하여 얼굴을 검출하기 위한 이미지 처리 방법 및 시스템
CN110692066B (zh) * 2017-06-05 2023-06-02 渊慧科技有限公司 使用多模态输入选择动作
JP7146372B2 (ja) * 2017-06-21 2022-10-04 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法、プログラム、および、記憶媒体
WO2019018375A1 (en) * 2017-07-21 2019-01-24 Google Llc NEURONAL ARCHITECTURE RESEARCH FOR CONVOLUTION NEURAL NETWORKS
US10679351B2 (en) * 2017-08-18 2020-06-09 Samsung Electronics Co., Ltd. System and method for semantic segmentation of images
CN109376667B (zh) * 2018-10-29 2021-10-01 北京旷视科技有限公司 目标检测方法、装置及电子设备

Also Published As

Publication number Publication date
EP3931762A1 (en) 2022-01-05
JP2022523207A (ja) 2022-04-21
CN113490955A (zh) 2021-10-08
WO2020176435A1 (en) 2020-09-03
JP7317979B2 (ja) 2023-07-31
US20220092387A1 (en) 2022-03-24

Similar Documents

Publication Publication Date Title
US11816577B2 (en) Augmentation of audiographic images for improved machine learning
US11676008B2 (en) Parameter-efficient multi-task and transfer learning
US20190278600A1 (en) Tiled compressed sparse matrix format
JP2021521505A (ja) 包括的機械学習サービスを提供するアプリケーション開発プラットフォームおよびソフトウェア開発キット
EP3467723A1 (en) Machine learning based network model construction method and apparatus
US11257592B2 (en) Architecture for machine learning model to leverage hierarchical semantics between medical concepts in dictionaries
CN109313720A (zh) 具有稀疏访问的外部存储器的增强神经网络
US11450096B2 (en) Systems and methods for progressive learning for machine-learned models to optimize training speed
US20220366257A1 (en) Small and Fast Video Processing Networks via Neural Architecture Search
US20190228297A1 (en) Artificial Intelligence Modelling Engine
CN112868033A (zh) 用于提供具有可调节计算需求的机器学习模型的系统和方法
KR20210116640A (ko) 피라미드 계층의 아키텍처를 생성하기 위한 시스템 및 방법
JP2023044728A (ja) 機械学習のための方法、システムおよびコンピュータプログラム製品(埋め込みを用いるインクリメンタル機械学習)
US20210383237A1 (en) Training Robust Neural Networks Via Smooth Activation Functions
US20230059708A1 (en) Generation of Optimized Hyperparameter Values for Application to Machine Learning Tasks
JP2023534956A (ja) 解釈可能な結果を生成するように構成された分解可能な階層的な層を有する予測モデル
KR20210035702A (ko) 인공 신경망의 양자화 방법 및 인공 신경망을 이용한 연산 방법
US20220036191A1 (en) System and Related Methods for Reducing the Resource Consumption of a Convolutional Neural Network
US11675582B2 (en) Neural networks to identify source code
US20210089898A1 (en) Quantization method of artificial neural network and operation method using artificial neural network
US20210256374A1 (en) Method and apparatus with neural network and training
KR20210103912A (ko) 뉴럴 네트워크를 학습시키는 학습 방법 및 장치, 뉴럴 네트워크를 이용한 데이터 처리 방법 및 장치
US20210248472A1 (en) Neural Network Layers with a Controlled Degree of Spatial Invariance
US20210383221A1 (en) Systems And Methods For Machine-Learned Models With Message Passing Protocols
US20220245428A1 (en) Machine-Learned Attention Models Featuring Omnidirectional Processing