KR20210090265A - 멀티-포캐스트 네트워크들 - Google Patents

멀티-포캐스트 네트워크들 Download PDF

Info

Publication number
KR20210090265A
KR20210090265A KR1020217018869A KR20217018869A KR20210090265A KR 20210090265 A KR20210090265 A KR 20210090265A KR 1020217018869 A KR1020217018869 A KR 1020217018869A KR 20217018869 A KR20217018869 A KR 20217018869A KR 20210090265 A KR20210090265 A KR 20210090265A
Authority
KR
South Korea
Prior art keywords
network
ids
forecasts
input
forecast
Prior art date
Application number
KR1020217018869A
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 KR20210090265A publication Critical patent/KR20210090265A/ko

Links

Images

Classifications

    • 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/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Robotics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

인공 지능 에이전트를 트레이닝 및/또는 운영하기 위한 방법 및 시스템은 멀티-입력 및/또는 멀티-포캐스트 네트워크들을 사용할 수 있다. 멀티-포캐스트들은 컴퓨테이션 구성들, 전형적으로는, 그러나 반드시는 아니지만, 뉴럴 네트워크들인데, 이들의 공유된 네트워크 가중치들이 다수의 관련 포캐스트들을 컴퓨팅하는 데 사용될 수 있다. 이것은, 필요한 경험 및/또는 데이터의 양의 관점에서, 더 효율적인 트레이닝을 가능하게 하고, 일부 경우들에서, 이들 포캐스트들의 더 효율적인 컴퓨테이션을 가능하게 한다. 멀티-포캐스트 네트워크들에 대한 수 개의 관련되고 때때로 구성가능한 접근법들이 있다.

Description

멀티-포캐스트 네트워크들
본 발명의 하나 이상의 실시예들은 일반적으로 지능형 인공 에이전트(intelligent artificial agent)들에 관한 것이다. 더 구체적으로는, 본 발명은 포캐스트 컴퓨테이션(forecast computation)들을 더 효율적으로 행하기 위한 멀티-포캐스트들 및/또는 방법들을 통해 지능형 인공 에이전트를 트레이닝시키는 것에 관한 것이다.
다음의 배경 정보는, 선행 기술의 추가 양태들에 대해 독자를 추가로 교육시키는 데 도움이 될 것으로 예상되었지만, 본 발명 또는 그의 임의의 실시예들을, 그 안에서 언급 또는 암시되거나 또는 그에 대해 추론된 것으로 제한하는 것으로서 해석되어서는 안 되는, 선행 기술의 특정 양태들(예를 들어, 제한 없이, 접근법들, 사실들, 또는 보편적 지혜)의 예들을 제시할 수도 있다.
포캐스트들은, 많은 종류들의 인공 지능(artificial intelligence)(AI) 시스템들에서 유용한 예측들이다. 포캐스트는 세계 상태의 함수로서의 일부 결과의 예측이고, 에이전트가 실행하는 스킬(skill) 또는 거동을 조건으로 한다. 포캐스트들은 현재 상태에서 현재 거동의 결과에 관한 예측들을 행하기 위해, 또는 계획한 목적들을 위해 가상 거동을 조건으로 하는 가상 예측들을 행하기 위해 사용될 수 있다. 포캐스트들의 예들은, 일부 스킬의 종료까지의 거리, 일부 스킬의 종료까지의 시간, 일부 스킬의 종료 시의 상태 피처(state feature)의 값, 또는 이와 유사한 것을 포함한다.
인공 에이전트들을 트레이닝시키기 위한 현재 알려진 시스템들은 다양한 이슈들을 보인다. 많은 경우들에서, 사용자는 에이전트에 의해 학습되는 스킬들 및 지식을 제어하는 능력이 부족하거나, 또는 그러한 학습된 스킬들 및 지식은 사용자가 다른 원하는 스킬들 및 지식만큼 중요하다고 여기지 않는 아이템들일 수도 있다. 더욱이, 종래의 시스템들은 더 높은 레벨의 스킬들 및 지식을 학습하는 데 사용되는 모듈러 방식으로 스킬들 및 지식을 계층화하는 능력이 부족할 수도 있다. 또한, 종래의 시스템들에서, 인공 에이전트는 스킬의 실행 동안 경험의 피처들의 예측, 특정 형태의 지식을 학습하지 못할 수도 있다.
전술한 것의 관점에서, 인공 지능 에이전트들에서 스킬들 및 지식을 트레이닝시키는 것에 있어서의 개선들에 대한 필요성이 있다.
본 발명의 실시예들은 머신들 및 컴퓨터 기반 소프트웨어 애플리케이션들에서 인공 지능을 생성하는 멀티-헤드식 포캐스트 방법(multi-headed forecast method)을 제공하고, 이 방법은, 상태 정보로서 환경으로부터의 입력을 수신하는 단계; 및 복수의 포캐스트들을 출력하는 단계를 포함하고, 복수의 포캐스트들 각각은 상이한 상태 정보 피처에 대응한다.
본 발명의 실시예들은 머신들 및 컴퓨터 기반 소프트웨어 애플리케이션들에서 인공 지능을 생성하는 멀티-입력 포캐스트 방법을 추가로 제공하고, 이 방법은, 상태 정보로서 환경으로부터의 입력을 수신하는 단계; 포캐스트 ID들, 스킬 ID들 및 파라미터 값들 중 적어도 하나로부터 추가 입력을 수신하는 단계; 및 추가 입력 각각에 대한 포캐스트를 출력하는 단계를 포함한다.
본 발명의 실시예들은 머신들 및 컴퓨터 기반 소프트웨어 애플리케이션들에서 인공 지능을 생성하는 포캐스트 네트워크 방법을 또한 제공하고, 이 방법은, 상태 정보로서 환경으로부터의 입력을 수신하는 단계; 포캐스트 ID들, 스킬 ID들 및 파라미터 값들 중 적어도 하나로부터 추가 입력을 수신하는 단계; 포캐스트 네트워크에 입력되기 전에 추가 입력을 학습된 축소 벡터 표현(learned reduced vector representation) 내에 임베딩(embedding)하는 단계; 및 각각의 학습된 축소 벡터 표현에 대한 포캐스트를 출력하는 단계를 포함한다.
본 발명의 이들 그리고 다른 피처들, 양태들 및 이점들은 다음의 도면들, 설명 및 청구범위를 참조하여 더 잘 이해될 것이다.
본 발명의 일부 실시예들은 일 예로서 예시되고 첨부된 도면들의 도면들에 의해 제한되지 않으며, 여기서 유사한 참조 번호들은 유사한 요소들을 나타낼 수도 있다.
도 1a는 본 발명의 예시적인 실시예에 따른 멀티-헤드식 포캐스트 네트워크를 예시한다.
도 1b는 뉴럴 네트워크의 입력 노드들의 가중(weighting)의 일 예를 예시한다.
도 2는 본 발명의 예시적인 실시예에 따른 멀티-입력 포캐스트 네트워크를 예시한다.
도 3은 본 발명의 예시적인 실시예에 따른 멀티-스킬 포캐스트 네트워크를 예시한다.
도 4는 본 발명의 예시적인 실시예에 따른 파라미터화된-스킬 포캐스트 네트워크(parameterized-skill forecast network)를 예시한다.
도 5는 본 발명의 예시적인 실시예에 따른 하이브리드 스킬 ID들 및 멀티-포캐스트 네트워크를 예시한다.
도 6은 본 발명의 예시적인 실시예에 따른 멀티-포캐스트 네트워크에서, 포캐스트 ID들을 이용하는 임베딩들을 예시한다.
달리 나타내지 않는 한, 도면들에서의 예시들은 반드시 일정한 비율로 그려진 것은 아니다.
본 발명 및 그의 다양한 실시예들은 이제, 예시된 실시예들이 설명되는 다음의 상세한 설명을 참조함으로써 더 잘 이해될 수 있다. 예시된 실시예들은 청구범위에 궁극적으로 정의된 바와 같은 본 발명에 대해 제한들이 아닌 예들로서 제시된다는 것이 명백히 이해되어야 한다.
본 명세서에서 사용되는 전문용어는 단지 특정 실시예들을 설명할 목적을 위한 것이며 본 발명을 제한하려는 것으로 의도되지 않는다. 본 명세서에서 사용되는 바와 같이, 용어 "및/또는(and/or)"은 연관된 리스팅된 아이템들 중 하나 이상의 아이템의 임의의 그리고 모든 조합들을 포함한다. 본 명세서에서 사용되는 바와 같이, 문맥상 명확히 달리 나타내지 않는 한, 단수형들 "a", "an", 및 "the"는 단수형들뿐만 아니라 복수형들도 포함하도록 의도된다. 용어들 "포함하다(comprises)" 및/또는 "포함하는(comprising)"은, 본 명세서에서 사용될 때, 언급된 피처들, 단계들, 동작들, 요소들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 피처들, 단계들, 동작들, 요소들, 컴포넌트들, 및/또는 이들의 그룹들의 존재 또는 추가를 배제시키지 않는다는 것이 추가로 이해될 것이다.
달리 정의되지 않는 한, 본 명세서에서 사용되는 모든 용어들(기술적 및 과학적 용어들을 포함함)은 본 발명이 속하는 본 기술분야의 통상의 기술자에 의해 통상적으로 이해되는 것과 동일한 의미를 갖는다. 통상적으로 사용되는 사전들에 정의된 것들과 같은 용어들은 본 개시내용 및 관련 기술의 맥락에서 이들의 의미와 일관된 의미를 갖는 것으로서 해석되어야 하고, 본 명세서에서 명시적으로 이상화된 또는 지나치게 형식적인 의미로 정의되지 않는 한 그와 같은 의미로 해석되지 않을 것이라는 것이 추가로 이해될 것이다.
본 발명을 설명함에 있어서, 다수의 기법들 및 단계들이 개시된다는 것이 이해될 것이다. 이들 각각은 개별 이익을 가지며, 그 각각은 또한 다른 개시된 기법들 중 하나 이상과 함께, 또는 일부 경우들에서는 이들 모두와 함께 사용될 수 있다. 이에 따라, 명확성을 위해, 이 설명은 불필요한 방식으로 개별 단계들의 모든 가능한 조합을 반복하는 것을 자제할 것이다. 그럼에도 불구하고, 본 명세서 및 청구범위는 그러한 조합들이 청구범위 및 본 발명의 범위 내에 완전히 있다는 이해 하에 판독되어야 한다.
다음의 설명에서, 설명의 목적들을 위해, 다수의 특정 세부사항들이 본 발명의 완전한 이해를 제공하기 위해 제시된다. 그러나, 본 발명이 이들 특정 세부사항들 없이 실시될 수도 있다는 것이 본 기술분야의 통상의 기술자에게 명백할 것이다.
달리 명시적으로 특정되지 않는 한, 서로 적어도 일반적으로 통신하는 디바이스들 또는 시스템 모듈들은 서로 지속적으로 통신할 필요가 없다. 추가적으로, 서로 적어도 일반적으로 통신하는 디바이스들 또는 시스템 모듈들은 하나 이상의 중개자들을 통해 직접적으로 또는 간접적으로 통신할 수도 있다.
서로 통신하는 수 개의 컴포넌트들을 갖는 실시예의 설명이 모든 그러한 컴포넌트들이 요구된다는 것을 암시하지는 않는다. 이와 대조적으로, 본 발명의 매우 다양한 가능한 실시예들을 예시하기 위해 다양한 임의적 컴포넌트들이 설명된다.
본 기술분야의 통상의 기술자들에게 잘 알려진 바와 같이, 임의의 시스템, 그리고 특히, 본 발명의 실시예들의 상업적 구현의 최적의 구성을 위해 설계할 때 많은 신중한 고려들 및 절충들이 전형적으로 이루어져야 한다. 본 발명의 사상 및 교시들에 따른 상업적 구현은 특정 애플리케이션의 필요성들에 따라 구성될 수도 있고, 이에 의해 본 발명의 임의의 설명된 실시예와 관련된 교시들의 임의의 양태(들), 피처(들), 기능(들), 결과(들), 컴포넌트(들), 접근법(들), 또는 단계(들)는 특정 애플리케이션의 필요성들을 해결하는 원하는 구현을 달성하기 위해, 이들의 평균 스킬들 및 알려진 기법들을 사용하여, 본 기술분야의 통상의 기술자들에 의해 적합하게 생략, 포함, 적응(adapt), 혼합 및 매칭, 또는 개선 및/또는 최적화될 수도 있다.
"컴퓨터"는, 구조화된 입력을 수용하고, 규정된 규칙들에 따라 구조화된 입력을 프로세싱하며, 프로세싱의 결과들을 출력으로서 생성하는 것이 가능한 하나 이상의 시스템들 및/또는 하나 이상의 장치를 지칭할 수도 있다. 컴퓨터의 예들은: 컴퓨터; 고정식 및/또는 휴대용 컴퓨터; 단일 프로세서, 다수의 프로세서들, 또는 멀티-코어 프로세서들 - 이들은 병렬로 동작하거나 그리고/또는 병렬로 동작하지 않을 수도 있다 - 을 갖는 컴퓨터; 범용 컴퓨터; 슈퍼컴퓨터; 메인프레임; 슈퍼 미니-컴퓨터; 미니-컴퓨터; 워크스테이션; 마이크로-컴퓨터; 서버; 클라이언트; 대화형 텔레비전; 웹 어플라이언스; 인터넷 액세스를 이용하는 전기통신 디바이스; 컴퓨터와 대화형 텔레비전의 하이브리드 조합; 휴대용 컴퓨터; 태블릿 퍼스널 컴퓨터(personal computer)(PC); 개인 휴대 정보 단말기(personal digital assistant)(PDA); 휴대용 전화기; 예를 들어, 디지털 신호 프로세서(digital signal processor)(DSP), 필드 프로그래밍가능 게이트 어레이(field programmable gate array)(FPGA), 애플리케이션 특정 집적 회로(application specific integrated circuit)(ASIC), 애플리케이션 특정 명령어-세트 프로세서(application specific instruction-set processor)(ASIP), 칩, 칩들, 시스템 온 칩(system on a chip), 또는 칩셋과 같은, 컴퓨터 및/또는 소프트웨어를 에뮬레이션하기 위한 애플리케이션 특정 하드웨어; 그래픽 프로세싱 유닛(graphics processing unit)(GPU); 데이터 취득 디바이스; 광학 컴퓨터; 양자 컴퓨터; 생물학적 컴퓨터; 그리고 일반적으로, 데이터를 수용하고, 하나 이상의 저장된 소프트웨어 프로그램들에 따라 데이터를 프로세싱하고, 결과들을 생성하며, 전형적으로 입력, 출력, 저장, 산술, 로직, 및 제어 유닛들을 포함할 수도 있는 장치를 포함할 수도 있다.
본 기술분야의 통상의 기술자들은, 적절한 경우, 퍼스널 컴퓨터들, 핸드헬드 디바이스들, 멀티프로세서 시스템들, 마이크로프로세서 기반 또는 프로그래밍가능 소비자 가전들, 네트워크 PC들, 미니컴퓨터들, 메인프레임 컴퓨터들, 및 이와 유사한 것을 포함하는 많은 타입들의 컴퓨터 시스템 구성들을 갖는 네트워크 컴퓨팅 환경들에서 본 개시내용의 일부 실시예들이 실시될 수도 있다는 것을 인식할 것이다. 적절한 경우, 실시예들은 또한, 통신 네트워크를 통해 (하드와이어드 링크(hardwired link)들, 무선 링크들에 의해, 또는 이들의 조합에 의해) 링크되는 로컬 및 원격 프로세싱 디바이스들에 의해 태스크들이 수행되는 분산 컴퓨팅 환경들에서 실행될 수도 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 메모리 저장 디바이스들 양측 모두에 위치될 수도 있다.
"소프트웨어"는 컴퓨터를 동작시키기 위한 규정된 규칙들을 지칭할 수도 있다. 소프트웨어의 예들은, 하나 이상의 컴퓨터 판독가능 언어들의 코드 세그먼트들; 그래픽 및 또는/텍스트 명령어들; 애플릿들; 미리 컴파일된 코드(pre-compiled code); 인터프리트된 코드(interpreted code); 컴파일된 코드; 및 컴퓨터 프로그램들을 포함할 수도 있다.
본 명세서에서 설명되는 예시적인 실시예들은 컴퓨터 상에, 하드웨어에, 또는 소프트웨어와 하드웨어의 조합으로 설치되는 컴퓨터 실행가능 명령어들(예를 들어, 소프트웨어)을 포함하는 동작 환경에서 구현될 수 있다. 컴퓨터 실행가능 명령어들은 컴퓨터 프로그래밍 언어로 작성될 수 있거나 또는 펌웨어 로직으로 구체화될 수 있다. 인정된 표준을 준수하는 프로그래밍 언어로 작성된 경우, 그러한 명령어들은 다양한 하드웨어 플랫폼들 상에서 그리고 다양한 운영 체제들에 대한 인터페이스들에 대해 실행될 수 있다. 이에 제한되지 않지만, 본 발명의 양태들에 대한 동작들을 수행하기 위한 컴퓨터 소프트웨어 프로그램 코드는, 객체 지향 프로그래밍 언어들 및/또는 종래의 절차형 프로그래밍 언어들, 및/또는, 예를 들어, 하이퍼텍스트 마크업 언어(Hypertext Markup Language)(HTML), 동적 HTML, 확장성 마크업 언어(Extensible Markup Language)(XML), 확장성 스타일시트 언어(Extensible Stylesheet Language)(XSL), 문서 스타일 의미 및 사양 언어(Document Style Semantics and Specification Language)(DSSSL), 캐스케이딩 스타일 시트들(Cascading Style Sheets)(CSS), 동기식 멀티미디어 통합 언어(Synchronized Multimedia Integration Language)(SMIL), 무선 마크업 언어(Wireless Markup Language)(WML), Java.TM., Jini.TM., C, C++, 스몰토크(Smalltalk), 파이썬(Python), 펄(Perl), UNIX Shell, 비주얼 베이식(Visual Basic) 또는 비주얼 베이식 스크립트(Visual Basic Script), 가상 현실 마크업 언어(Virtual Reality Markup Language)(VRML), ColdFusion.TM. 또는 다른 컴파일러들, 어셈블러들, 인터프리터들 또는 다른 컴퓨터 언어들 또는 플랫폼들과 같은 프로그래밍 언어들을 포함하는 하나 이상의 적합한 프로그래밍 언어들의 임의의 조합으로 작성될 수 있다.
본 발명의 양태들에 대한 동작들을 수행하기 위한 컴퓨터 프로그램 코드는 자바(Java), 스몰토크, C++ 또는 이와 유사한 것과 같은 객체 지향 프로그래밍 언어 및 "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어들과 같은 종래의 절차형 프로그래밍 언어들을 포함하는 하나 이상의 프로그래밍 언어들의 임의의 조합으로 작성될 수도 있다. 프로그램 코드는 사용자의 컴퓨터 상에서 전체적으로, 사용자의 컴퓨터 상에서 부분적으로, 독립형 소프트웨어 패키지로서, 사용자의 컴퓨터 상에서 부분적으로 그리고 원격 컴퓨터 상에서 부분적으로 또는 원격 컴퓨터 또는 서버 상에서 전체적으로 실행할 수도 있다. 후자의 시나리오에서, 원격 컴퓨터는 로컬 영역 네트워크(local area network)(LAN) 또는 광역 네트워크(wide area network)(WAN)를 포함하는 임의의 타입의 네트워크를 통해 사용자의 컴퓨터에 연결될 수도 있거나, 또는 (예를 들어, 인터넷 서비스 제공자를 사용하는 인터넷을 통해) 외부 컴퓨터에 연결이 행해질 수도 있다. 프로그램 코드는 또한, 각각의 유닛이 총 컴퓨테이션의 일 부분을 프로세싱하는 복수의 컴퓨테이션 유닛들 간에 분산될 수도 있다.
본 발명의 양태들은 본 발명의 실시예들에 따른 방법들, 장치(시스템들) 및 컴퓨터 프로그램 제품들의 흐름도 예시들 및/또는 블록 다이어그램들을 참조하여 아래에 설명된다. 흐름도 예시들 및/또는 블록 다이어그램들의 각각의 블록, 및 흐름도 예시들 및/또는 블록 다이어그램들에서의 블록들의 조합들은, 컴퓨터 프로그램 명령어들에 의해 구현될 수 있다는 것이 이해될 것이다. 이들 컴퓨터 프로그램 명령어들은 범용 컴퓨터, 특수 목적 컴퓨터, 또는 다른 프로그래밍가능 데이터 프로세싱 장치의 프로세서에 제공되어, 컴퓨터 또는 다른 프로그래밍가능 데이터 프로세싱 장치의 프로세서를 통해 실행되는 명령어들이 흐름도 및/또는 블록 다이어그램의 블록 또는 블록들에 특정된 기능들/작용들을 구현하기 위한 수단을 생성하도록 하는 머신을 생성할 수도 있다.
도면들의 흐름도 및 블록 다이어그램들은 다양한 실시예들에 따른 시스템들, 방법들 및 컴퓨터 프로그램 제품들의 가능한 구현들의 아키텍처, 기능성, 및 동작을 예시한다. 이와 관련하여, 흐름도 또는 블록 다이어그램들에서의 각각의 블록은 특정된 논리 기능(들)을 구현하기 위한 하나 이상의 실행가능 명령어들을 포함하는 모듈, 세그먼트, 또는 코드의 부분을 표현할 수도 있다. 일부 대안적인 구현들에서, 블록에서 언급된 기능들은 도면들에서 언급된 순서를 벗어나 발생할 수도 있다는 것에 또한 주목해야 한다. 예를 들어, 연속적으로 도시된 2개의 블록들은, 사실상, 실질적으로 동시에 실행될 수도 있거나, 또는 블록들은 때때로, 관련된 기능성에 따라, 역순으로 실행될 수도 있다. 블록 다이어그램들 및/또는 흐름도 예시의 각각의 블록, 및 블록 다이어그램들 및/또는 흐름도 예시에서의 블록들의 조합들은 특정된 기능들 또는 작용들을 수행하는 특수 목적 하드웨어 기반 시스템들, 또는 특수 목적 하드웨어 및 컴퓨터 명령어들의 조합들에 의해 구현될 수 있다는 것에 또한 주목할 것이다.
컴퓨터, 다른 프로그래밍가능 데이터 프로세싱 장치, 또는 다른 디바이스들에게 특정 방식으로 기능하도록 지시할 수 있는 이들 컴퓨터 프로그램 명령어들은 컴퓨터 판독가능 매체에 또한 저장될 수도 있어서, 컴퓨터 판독가능 매체에 저장된 명령어들이 흐름도 및/또는 블록 다이어그램의 블록 또는 블록들에 특정된 기능/작용을 구현하는 명령어들을 포함하는 제조 물품을 생성하도록 한다.
추가로, 프로세스 단계들, 방법 단계들, 알고리즘들 또는 이와 유사한 것이 순차적인 순서로 설명될 수도 있지만, 그러한 프로세스들, 방법들 및 알고리즘들은 대안적인 순서들로 작동하도록 구성될 수도 있다. 다시 말해, 설명될 수도 있는 단계들의 임의의 시퀀스 또는 순서가, 반드시 단계들이 그 순서대로 수행된다는 요건을 표시하는 것은 아니다. 본 명세서에서 설명되는 프로세스들의 단계들은 실제적인 임의의 순서로 수행될 수도 있다. 추가로, 일부 단계들은 동시에 수행될 수 있다.
본 명세서에서 설명되는 다양한 방법들 및 알고리즘들이, 예를 들어, 적절히 프로그래밍된 범용 컴퓨터들 및 컴퓨팅 디바이스들에 의해 구현될 수도 있다는 것이 쉽게 명백해질 것이다. 전형적으로, 프로세서(예를 들어, 마이크로프로세서)는 메모리 또는 유사한 디바이스로부터 명령어들을 수신하고, 이들 명령어들을 실행하여, 그에 의해 이들 명령어들에 의해 정의된 프로세스를 수행할 것이다. 추가로, 그러한 방법들 및 알고리즘들을 구현하는 프로그램들은 다양한 알려진 매체들을 사용하여 저장 및 송신될 수도 있다.
본 명세서에서 사용되는 바와 같은 용어 "컴퓨터 판독가능 매체"는 컴퓨터, 프로세서 또는 유사한 디바이스에 의해 판독될 수도 있는 데이터(예를 들어, 명령어들)를 제공하는 데 관여하는 임의의 매체를 지칭한다. 그러한 매체는, 비휘발성 매체들, 휘발성 매체들, 및 송신 매체들을 포함하지만 이에 제한되지 않는 많은 형태들을 취할 수도 있다. 비휘발성 매체들은, 예를 들어, 광학 또는 자기 디스크들 및 다른 영구 메모리를 포함한다. 휘발성 매체들은, 메인 메모리를 전형적으로 구성하는 동적 랜덤 액세스 메모리(dynamic random-access memory)(DRAM)를 포함한다. 송신 매체들은, 프로세서에 커플링되는 시스템 버스를 포함하는 와이어들을 포함하여, 동축 케이블들, 구리 와이어 및 광 섬유들을 포함한다. 송신 매체들은, 라디오 주파수(radio frequency)(RF) 및 적외선(infrared)(IR) 데이터 통신들 동안 생성되는 것들과 같은, 음향파들, 광파들 및 전자기 방출들을 포함하거나 또는 이들을 반송할 수도 있다. 컴퓨터 판독가능 매체들의 통상적인 형태들은, 예를 들어, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 임의의 다른 자기 매체, CD-ROM, DVD, 임의의 다른 광학 매체, 펀치 카드들, 종이 테이프, 홀(hole)들의 패턴들을 갖는 임의의 다른 물리적 매체, RAM, PROM, EPROM, FLASH EPROM, EEPROM 또는 임의의 다른 메모리 칩 또는 카트리지, 이후에 설명되는 바와 같은 반송파, 또는 컴퓨터가 판독할 수 있는 임의의 다른 매체를 포함한다.
다양한 형태들의 컴퓨터 판독가능 매체들이 프로세서에 명령어들의 시퀀스들을 반송하는 것에 관련될 수도 있다. 예를 들어, 명령어의 시퀀스들은 (i) RAM으로부터 프로세서로 전달될 수도 있거나, (ii) 무선 송신 매체를 통해 반송될 수도 있거나, 그리고/또는 (iii) 수많은 포맷들, 표준들 또는 프로토콜들, 예컨대 블루투스, TDMA, CDMA, 3G에 따라 포맷팅될 수도 있다.
본 발명의 실시예들은, 본 명세서에 개시된 동작들을 수행하기 위한 장치들을 포함할 수도 있다. 장치는 원하는 목적들을 위해 특수하게 구성될 수도 있거나, 또는 그것은, 디바이스에 저장된 프로그램에 의해 선택적으로 활성화 또는 재구성되는 범용 디바이스를 포함할 수도 있다.
본 발명의 실시예들은 또한 하드웨어, 펌웨어, 및 소프트웨어 중 하나 또는 이들의 조합으로 구현될 수도 있다. 이들은, 본 명세서에서 설명되는 동작들을 수행하기 위해 컴퓨팅 플랫폼에 의해 판독 및 실행될 수도 있는, 머신 판독가능 매체 상에 저장되는 명령어들로서 구현될 수도 있다.
더 구체적으로는, 본 기술분야의 통상의 기술자에 의해 인식되는 바와 같이, 본 발명의 양태들은 시스템, 방법 또는 컴퓨터 프로그램 제품으로서 구체화될 수도 있다. 이에 따라, 본 발명의 양태들은 전적으로 하드웨어 실시예, 전적으로 소프트웨어 실시예(펌웨어, 상주 소프트웨어, 마이크로-코드 등을 포함함) 또는 본 명세서에서 "회로", "모듈" 또는 "시스템"이라고 모두가 일반적으로 지칭될 수도 있는 소프트웨어 및 하드웨어 양태들을 조합한 실시예의 형태를 취할 수도 있다. 게다가, 본 발명의 양태들은 컴퓨터 판독가능 프로그램 코드가 구체화되는 하나 이상의 컴퓨터 판독가능 매체(들)로 구체화되는 컴퓨터 프로그램 제품의 형태를 취할 수도 있다.
다음의 설명 및 청구범위에서, 용어들 "컴퓨터 프로그램 매체" 및 "컴퓨터 판독가능 매체"는 착탈식 저장 드라이브들, 하드 디스크 드라이브에 설치된 하드 디스크, 및 이와 유사한 것과 같은(그러나 이에 제한되지 않음) 매체들을 일반적으로 지칭하는 데 사용될 수도 있다. 이들 컴퓨터 프로그램 제품들은 컴퓨터 시스템에 소프트웨어를 제공할 수도 있다. 본 발명의 실시예들은 그러한 컴퓨터 프로그램 제품들에 관련될 수도 있다.
본 개시내용의 범위 내의 실시예들은, 컴퓨터 실행가능 명령어들 또는 그에 저장되는 데이터 구조들을 포함하거나 또는 이들을 갖는 유형(tangible)의 그리고/또는 비일시적 컴퓨터 판독가능 저장 매체들을 또한 포함할 수도 있다. 그러한 비일시적 컴퓨터 판독가능 저장 매체들은, 상기에 논의된 바와 같은 임의의 특수 목적 프로세서의 기능적 설계를 포함하여, 범용 또는 특수 목적 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체들일 수 있다. 제한이 아닌 예로서, 그러한 비일시적 컴퓨터 판독가능 매체들은 RAM, ROM, EEPROM, CDROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 컴퓨터 실행가능 명령어들, 데이터 구조들, 또는 프로세서 칩 설계의 형태로 원하는 프로그램 코드 수단을 반송 또는 저장하는 데 사용될 수 있는 임의의 다른 매체를 포함할 수 있다. 정보가 네트워크 또는 다른 통신 연결(하드와이어드, 무선, 또는 이들의 조합)을 통해 컴퓨터로 전송 또는 제공될 때, 컴퓨터는 연결을 컴퓨터 판독가능 매체로서 적절히 간주한다. 따라서, 임의의 그러한 연결이 컴퓨터 판독가능 매체로 적절히 칭해진다. 상기의 조합들이 또한 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
비일시적 컴퓨터 판독가능 매체는 하드 드라이브, 콤팩트 디스크, 플래시 메모리, 휘발성 메모리, 랜덤 액세스 메모리, 자기 메모리, 광학 메모리, 반도체 기반 메모리, 상 변화 메모리(phase change memory), 광학 메모리, 주기적으로 리프레시되는 메모리, 및 이와 유사한 것을 포함하지만, 이에 제한되지 않지만; 그러나, 비일시적 컴퓨터 판독가능 매체는 순수한 일시적 신호 자체를 포함하지 않는다; 즉, 여기서 그 매체 자체는 일시적이다.
알고리즘이 여기서는, 그리고 일반적으로는, 원하는 결과로 이어지는 일관성 있는 시퀀스의 작용들 또는 동작들인 것으로 간주된다. 이들은 물리적 수량들의 물리적 조작들을 포함한다. 통상적으로, 반드시 그런 것은 아니지만, 이들 수량들은 저장, 전송, 조합, 비교, 그리고 이와 달리 조작되는 것이 가능한 전기적 또는 자기적 신호들의 형태를 취한다. 주로 통상적인 사용의 이유로, 이들 신호들을 비트들, 값들, 요소들, 심볼들, 문자들, 항들, 숫자들 또는 이와 유사한 것으로 지칭하는 것이 때때로 편리한 것으로 입증되었다. 그러나, 이들 그리고 유사한 용어들 모두는 적절한 물리적 수량들과 연관되어야 하고, 단지 이들 수량들에 적용되는 편리한 라벨들일 뿐이라는 것이 이해되어야 한다.
달리 구체적으로 언급되지 않는 한, 그리고 다음의 설명 및 청구범위로부터 명백할 수도 있는 바와 같이, 본 명세서 전반에 걸쳐 "프로세싱(processing)", "컴퓨팅(computing)", "계산(calculating)", "결정(determining)", 또는 이와 유사한 것과 같은 용어들을 이용하는 설명들은, 컴퓨팅 시스템의 레지스터들 및/또는 메모리들 내의 물리적, 예컨대 전자, 수량들로서 표현되는 데이터를, 컴퓨팅 시스템의 메모리들, 레지스터들 또는 다른 그러한 정보 저장, 송신 또는 디스플레이 디바이스들 내의 물리적 수량들로서 유사하게 표현되는 다른 데이터로 조작 및/또는 변환하는 컴퓨터 또는 컴퓨팅 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 액션 및/또는 프로세스들을 지칭한다는 것이 인식되어야 한다.
유사한 방식으로, 용어 "프로세서"는 레지스터들 및/또는 메모리로부터의 전자 데이터를 프로세싱하여, 그 전자 데이터를, 레지스터들 및/또는 메모리에 저장될 수도 있거나 또는 외부 디바이스의 물리적 변화들 또는 작동을 야기시키도록 외부 디바이스에 통신될 수도 있는 다른 전자 데이터로 변환하는 임의의 디바이스 또는 디바이스의 부분을 지칭할 수도 있다. "컴퓨팅 플랫폼"은 하나 이상의 프로세서들을 포함할 수도 있다.
용어 "로봇" 또는 "에이전트" 또는 "지능형 에이전트" 또는 "인공 에이전트" 또는 "인공 지능 에이전트"는 감지들 또는 관찰들에 응답하여 액션들 또는 커맨드들을 발행하는 컴퓨터 또는 컴퓨팅 시스템에 의해 직접적으로 또는 간접적으로 제어되는 임의의 시스템을 지칭할 수도 있다. 이 용어는 카메라들, 터치 센서들, 레인지 센서들, 및 이와 유사한 것과 같은 물리적 센서들을 갖는 전통적인 물리적 로봇, 또는 가상 시뮬레이션에 존재하는 시뮬레이션된 로봇, 또는 네트워크에 소프트웨어로서 존재하는 메일봇(mailbot) 또는 서치봇(searchbot)과 같은 "봇(bot)"을 제한 없이 지칭할 수도 있다. 그것은 임의의 사지형 로봇(limbed robot)들, 보행 로봇들, 산업용 로봇들(조립, 도장, 수리, 유지보수 등의 자동화를 위해 사용되는 로봇들을 포함하지만 이에 제한되지 않음), 바퀴 달린 로봇들, 진공 청소 또는 잔디 깎기 로봇들, 개인 비서 로봇들, 서비스 로봇들, 의료 또는 수술 로봇들, 비행 로봇들, 운전 로봇들, 항공기 또는 우주선 로봇들, 또는 실질적으로 자율 제어 하에서 동작하고 지능형 가정 또는 작업장 어플라이언스들과 같은 고정형 로봇들을 또한 포함하는, 차량과 관련되거나 또는 그렇지 않으면 실제의 또는 시뮬레이션된 임의의 다른 로봇들을 제한 없이 지칭할 수도 있다.
본 발명의 많은 실제 실시예들은 인공 지능 에이전트에 의한 활동들의 효율적인 수행을 위한 수단들 및 방법들을 제공한다.
일부 실시예들에서, "센서"는, 제한 없이, 에이전트의 환경, 그리고, 더 구체적으로는, 끝에 이르는 것을 향해 제어가 어떻게 지향될 수도 있는지에 관한 정보의 임의의 소스를 포함할 수도 있다. 비제한적인 예에서, 감각 정보는 카메라들, 터치 센서들, 레인지 센서들, 온도 센서들, 파장 센서들, 사운드 또는 음성 센서들, 고유 감각 센서(proprioceptive sensor)들, 포지션 센서들, 압력 또는 힘 센서들, 속도 또는 가속도 또는 다른 모션 센서들 등과 같은 감각 디바이스들을 제한 없이 포함하는 임의의 소스로부터, 또는 이전에 보유한 정보(예를 들어, 객체의 최근 포지션들에 관련됨), 위치 정보, 위치 센서들, 및 이와 유사한 것과 조합되는 감각 디바이스들의 집합으로부터 컴파일될 수도 있는 컴파일된, 추상, 또는 상황 정보(예를 들어, 공간에서의 객체의 알려진 포지션)로부터 유래할 수도 있다.
용어들 "관찰" 또는 "관찰들"은 에이전트가 에이전트의 환경 또는 그 자신에 관해 임의의 수단에 의해 수신하는 임의의 정보를 지칭한다. 일부 실시예들에서, 그 정보는, 카메라들, 터치 센서들, 레인지 센서들, 온도 센서들, 파장 센서들, 사운드 또는 음성 센서들, 포지션 센서들, 압력 또는 힘 센서들, 속도 또는 가속도 또는 다른 모션 센서들, 위치 센서들(예를 들어, GPS) 등과 같은(제한 없음) 감각 디바이스들을 통해 수신되는 감각 정보 또는 신호들일 수도 있다. 다른 실시예들에서, 그 정보는, 저장된 정보와 조합되는 감각 디바이스들의 집합으로부터 컴파일되는 컴파일된, 추상, 또는 상황 정보를 제한 없이 또한 포함할 수 있다. 비제한적인 예에서, 에이전트는 그 자신 또는 다른 객체들의 위치 또는 특성들에 관련하여 관찰 추상 정보로서 수신할 수도 있다. 일부 실시예들에서, 이 정보는 사람들 또는 고객들, 또는 이들의 특성들, 예컨대 구매 습관들, 개인 연락처 정보, 개인 선호도들 등을 지칭할 수도 있다. 일부 실시예들에서, 관찰들은, 고유 감각 정보 또는 에이전트의 현재 또는 과거 액션들에 관련된 다른 정보, 에이전트의 내부 상태에 관한 정보, 또는 에이전트에 의해 이미 컴퓨팅 또는 프로세싱된 정보와 같은(제한 없음), 에이전트의 내부 부분들에 관한 정보일 수도 있다.
용어 "액션"은, 에이전트의 장래의 액션들, 액션 선택들, 또는 액션 선호도들을 결국 제어하거나 또는 그에 영향을 줄 수도 있는, 에이전트의 환경, 에이전트의 물리적인 또는 시뮬레이션된 자신 또는 에이전트의 내부 기능을 제어하거나, 그에 영향을 미치거나, 또는 그에 영향을 주기 위한 에이전트의 임의의 수단을 지칭한다. 많은 실시예들에서, 액션들은 물리적인 또는 시뮬레이션된 서보(servo) 또는 액추에이터를 직접 제어할 수도 있다. 일부 실시예들에서, 액션들은, 궁극적으로 에이전트의 선정들에 영향을 주는 것으로 의도된 선호도 또는 선호도들의 세트의 표현일 수도 있다. 일부 실시예들에서, 에이전트의 액션(들)에 관한 정보는, 에이전트의 액션(들)에 대한 확률 분포, 및/또는 에이전트의 궁극적인 액션 선정에 영향을 주는 것으로 의도된 유출 정보(outgoing information)를 제한 없이 포함할 수도 있다.
용어 "상태" 또는 "상태 정보"는, 에이전트의 현재 및/또는 과거 관찰들에 관한 정보를 제한 없이 포함할 수도 있는, 환경 또는 에이전트의 상태에 관련된 정보의 임의의 집합을 지칭한다.
용어 "정책(policy)"은 임의의 전체 또는 부분 상태 정보로부터 임의의 액션 정보로의 임의의 함수 또는 매핑을 지칭한다. 정책은, 임의의 보강 학습 방법 또는 제어 최적화 방법을 제한 없이 포함하는 임의의 적절한 학습 또는 교육 방법으로 하드 코딩될 수도 있거나 또는 수정, 적응 또는 트레이닝될 수도 있다. 정책은, 특정 척도, 값, 또는 함수를 최적화시키는 것으로부터 발생될 수도 있는 것과 같은(제한 없음), 명시적 매핑일 수도 있거나 또는 암시적 매핑일 수도 있다. 정책은, 정책이 어떤 조건들 하에서 시작 또는 계속될 수도 있는지를 반영하는 시작 조건들(또는 확률들), 정책이 어떤 조건들 하에서 종료될 수도 있는지를 반영하는 종료 조건들(또는 확률들)과 같은(제한 없음), 연관된 추가 정보, 피처들, 또는 특성들을 포함할 수도 있다.
용어 "거리"는 임의의 단조 함수(monotonic function)를 지칭한다. 일부 실시예들에서, 거리는, 유클리드 거리(Euclidean distance) 또는 해밍 거리(Hamming distance)와 같은(제한 없음), 편리한 메트릭에 의해 결정되는 바와 같은 표면 상의 2개의 포인트들 사이의 공간을 지칭할 수도 있다. 2개의 포인트들 또는 좌표들은 이들 사이의 거리가 작을 때 "가깝거나" 또는 "인근에 있는" 것이다.
광범위하게, 본 발명의 실시예들은 인공 지능 에이전트를 트레이닝 및/또는 동작시키기 위한 방법들 및 시스템들을 제공한다. 멀티-포캐스트들은 컴퓨테이션 구성들, 전형적으로는, 그러나 반드시는 아니지만, 뉴럴 네트워크들인데, 이들의 공유된 네트워크 가중치들이 다수의 관련 포캐스트들을 컴퓨팅하는 데 사용될 수 있다. 이것은, 필요한 경험 및/또는 데이터의 양의 관점에서, 더 효율적인 트레이닝을 가능하게 하고, 일부 경우들에서, 이들 포캐스트들의 더 효율적인 컴퓨테이션을 가능하게 한다. 멀티-포캐스트 네트워크들에 대한 수 개의 관련되고 때때로 구성가능한 접근법들이 있다. 아래의 논의는 연관된 도면들을 참조하여 이들 접근법들을 설명한다.
도 1 내지 도 6 각각에서, f(x)는 포캐스트를 지칭하는데, 여기서 x는 상태, 포캐스트 id, 스킬 id, 파라미터 값, 또는 이들의 조합들일 수도 있고; s는 상태를 지칭하고; g는 포캐스트 id이고; k는 스킬 id이며; p는 파라미터 값이다.
도 1a를 참조하면, 멀티-헤드식 포캐스트 네트워크가 도시되어 있다. 여기서, 단일 네트워크는 다수의 출력들을 갖는데, 그 각각의 출력은 상이한 피처의 포캐스트이다. 네트워크에 대한 입력은, 도 1에 도시된 다수의 상태 입력들 S로 표현된 현재 상태이다. 네트워크의 마지막 계층을 제외한 모든 계층에서의 네트워크의 가중치들/파라미터들은 상이한 포캐스트들 간에 공유된다. 도 1b는 뉴럴 네트워크의 단일 은닉 계층(hidden layer)에서의 단일 활성화 노드에 대한 입력들의 세트 1, x1, x2 및 x3에 대한 가중 w1 내지 w4의 단순한 예를 예시한다. 인식될 수 있는 바와 같이, 특히 뉴럴 네트워크에 은닉 계층들과 활성화 노드들의 수가 증가함에 따라, 상이한 포캐스트들 간에, 가중의 공유 없이, 컴퓨테이션들이 수반될 수 있다. 이에 따라, 이 공유로부터 세 가지 이익들이 있다. 첫째, 이 공유는 포캐스트들의 더 빠른 학습을 발생시킬 수 있다. 둘째, 이 공유는 네트워크의 하위 계층들에서의 공유된 컴퓨테이션 때문에 다수의 포캐스트들을 컴퓨팅하는 더 낮은 컴퓨테이션 비용을 발생시킬 수 있다. 셋째, 이 공유는 상태 피처들에 대한 일반화를 발생시킬 수 있다.
예를 들어, 단일 멀티-헤드식 포캐스트 네트워크는 주어진 상태로부터 가장 근접한 객체의 거리, 컬러, 형상 및 중량을 예측할 수 있다. 에이전트는 상태 입력 데이터로서 센서들로부터의 입력들, 또는 이와 유사한 것을 수신할 수 있고, 전방 40도(degree)로 4피트 이격되어 위치된 청색의 둥근 3온스 공의 존재를 결정하는 포캐스트들을 생성할 수 있다. 이들 포캐스트들은 도 1에서 f1(s), f2(s), f3(s) 및 f4(s)로서 표시된다.
이제 도 2를 참조하면, 멀티-입력 포캐스트 네트워크가 도시되어 있다. 여기서, 단일 네트워크가 수 개의 상이한 포캐스트들의 값을 컴퓨팅하는 것이 가능하다. 그것은 현재 상태 S에 추가적으로 입력으로서 포캐스트 ID g1 내지 g4를 취한다. 예를 들어, 단일 네트워크는 적색, 녹색, 청색 또는 황색 블록 중 임의의 것까지의 거리를 예측하는 것이 가능할 수 있다. g 값들의 벡터를 공급함으로써 4개 중 당신이 예측하려고 하는 것을 네트워크에 표시할 수 있고, 여기서 g 값들 중 단지 하나만이 "온(on)"으로 된다. 이 도면에서와 같이 g2 = 1이면, 당신은 나머지 상태 정보에 기초하여 녹색 공까지의 거리를 컴퓨팅하도록 네트워크에 요구할 것이다.
멀티-입력 포캐스트 네트워크의 출력은, 입력으로서 공급된 포캐스트 ID에 대한 대응하는 포캐스트 값 f(s, g)이다. 네트워크가 공유되는데, 이는 가중치들/파라미터들이 다수의 포캐스트들에 걸쳐 공통적이라는 것을 의미한다. 파라미터화된 포캐스트들이 멀티-헤드식 포캐스트들에 비해 상당한 이익이 있는데, 즉, 전자가 충분한 트레이닝으로 보이지 않는 입력들로 일반화하는 뉴럴 네트워크들의 능력으로 인해 새로운 또는 트레이닝되지 않은 포캐스트들로 일반화할 수 있다는 것이다.
예를 들어, 그러한 멀티-입력 포캐스트 네트워크는 이미지로부터의 객체의 거리, 컬러, 형상 또는 중량을 예측하는 것이 가능할 수도 있다. 사용자는 어떤 값이 컴퓨팅되어야 하는지를 네트워크에 알려주는 플래그를 입력으로서 공급할 것이다.
도 3을 참조하면, 멀티-스킬 포캐스트 네트워크가 도시되어 있다. 이 네트워크는 상이한 스킬들에 대해 동일한 종류의 포캐스트를 컴퓨팅하는 것이 가능하다. 상태 S에 추가적으로, 포캐스트 네트워크는 입력으로서 스킬 ID k1 내지 k4를 취하고 포캐스트 값 f(s, k)를 출력한다. 멀티-스킬 포캐스트 네트워크는 일부 공통 상태 의존성들(common state dependencies)을 공유하는 스킬들에 기초하여 포캐스트를 일반화하는 것이 가능하다.
예를 들어, 멀티-스킬 포캐스트 네트워크가 사용되어 스킬들, 즉, 런 투 도어(run-to-door), 워크 투 도어(walk-to-door), 스킵 투 도어(skip-to-door), 또는 크롤 투 도어(crawl-to-door) 중 하나의 스킬의 지속기간을 컴퓨팅할 수 있는데, 이들 모두는 에이전트가 도어로부터 얼마나 멀리 있는지에 좌우된다. 여기서, 도 2에서와 같이, [0,1] 계층은 공급된 입력들의 "원 핫(one-hot)" 성질을 표현한 것으로 의도된다. 이 도면에서, 제2 스킬(워크 투 도어) 플래그를 1과 동일하게 설정하고, 나머지는 제로로 설정함으로써, 당신이 워크 투 도어 스킬을 수행한 경우, 당신은 포캐스트를 컴퓨팅하도록 네트워크에 요구할 것이다.
도 4를 참조하면, 파라미터화된-스킬 포캐스트 네트워크가 도시되어 있다. 이 네트워크는 거동에 영향을 미치는 가변 입력 파라미터에 기초하여 상태 피처 또는 다른 포캐스트를 예측하는 것이 가능하다. 예를 들어, 포캐스트 f(s, p)는 공을 찰 때 공이 얼마나 멀리 굴러갈지를 예측할 수도 있고, 여기서 입력 파라미터 p는 공을 차는 것이 얼마나 어려운지, 또는 차는 모션을 위해 계획된 모든 관절 각도들이다.
도 5를 참조하면, 하이브리드 네트워크가 도시되어 있다. 도시된 예에서, 이 네트워크는, 도 1a의 멀티-헤드식 포캐스트를, 도 3 또는 도 4에 도시된 것과 같은 스킬-조건부 네트워크들 중 하나 이상과 조합한 것이다. 예를 들어, 단일 네트워크는 런 투 도어, 워크 투 도어, 스킵 투 도어 또는 크롤 투 도어와 같은 한 세트의 유사한 스킬들에 대해, 경험한 거리, 지속기간 및 무릎 통증과 같은, 3개의 출력 포캐스트들을 컴퓨팅하는 것이 가능할 수도 있다. 입력들은 정상 상태 정보뿐만 아니라 스킬 ID의 인코딩을 포함할 것이다.
도 6을 참조하면, 임베딩들은 입력들에 걸친 훨씬 더 많은 일반화를 강제하는 기법이다. 임베딩들은 컨디셔닝 입력들 중 임의의 것과 함께 사용될 수 있다. 도 6에서, 컨디셔닝 입력들은 먼저, 학습된 축소 벡터 표현 내에 임베딩되어 파라미터화된 포캐스트에 대한 입력을 형성한다.
예를 들어, 런 투 도어, 워크 투 도어, 스킵 투 도어 또는 크롤 투 도어에 대한 지속기간을 예측할 필요가 있는 네트워크는 런 및 스킵을 하나의 카테고리로, 그리고 크롤 및 워크를 제2 카테고리로 클러스터링하는 것을 학습하고, 그 후에 이들 2개의 카테고리들에 대한 포캐스트를 컨디셔닝할 수도 있다.
이들 네트워크들의 많은 조합들이 가능하다는 것에 주목해야 한다. 예를 들어, 도 2 및 도 3의 네트워크들을 조합하여, 스킬 ID들과 포캐스트 ID들 양측 모두를 조건으로 하는 포캐스트 네트워크를 가질 수 있다. 또는 도 1a, 도 3 및 도 4의 네트워크들을 조합하여, 힘의 양과 같은 공통의 실제 값 입력 파라미터를 이용하여 다수의 스킬들에 대한 수 개의 상태 가변 포캐스트들의 예측들을 행할 수 있는 네트워크를 얻을 수 있다.
예를 들어, "노력(effort)" 입력 파라미터뿐만 아니라 4개의 상이한 스킬들(런, 워크, 스킵 및 크롤)에 대해 경험한 거리, 지속기간 및 무릎 통증에 대한 포캐스트들을 예측하는 하나의 네트워크가 구축될 수 있다.
본 기술분야의 통상의 기술자들은, 본 발명의 교시들에 비추어 그리고 이들에 따라, 전술한 단계들 중 임의의 것이 적합하게 대체, 재순서화, 제거될 수도 있고, 특정 애플리케이션의 필요성들에 따라 추가 단계들이 삽입될 수도 있다는 것을 쉽게 인지할 것이다. 더욱이, 전술한 실시예들의 규정된 방법 단계들은 본 기술분야의 통상의 기술자들이 전술한 교시들에 비추어 적합하다는 것을 쉽게 아는 임의의 물리적 및/또는 하드웨어 시스템을 사용하여 구현될 수도 있다. 컴퓨팅 머신 상에서 수행될 수 있는 본 출원에서 설명되는 임의의 방법 단계들에 대해, 전형적인 컴퓨터 시스템은, 적절하게 구성 또는 설계될 때, 본 발명의 이들 양태들이 구체화될 수도 있는 컴퓨터 시스템으로서 기능할 수 있다. 따라서, 본 발명은 임의의 특정된 유형의 구현 수단으로 제한되지 않는다.
임의의 첨부된 요약 및 도면들을 포함하여, 본 명세서에 개시된 모든 피처들은, 달리 명시적으로 언급되지 않는 한, 동일하거나 동등하거나 또는 유사한 목적을 제공하는 대안적인 피처들에 의해 대체될 수도 있다. 따라서, 달리 명시적으로 언급되지 않는 한, 개시된 각각의 피처는 일반적인 일련의 동등하거나 또는 유사한 피처들의 단지 하나의 예일 뿐이다.
지능형 인공 에이전트들의 특정 구현은 특정 맥락 또는 애플리케이션에 따라 달라질 수도 있다. 제한이 아닌 예로서, 전술한 것에 설명된 지능형 인공 에이전트들은 주로 2차원 구현들에 관련된 것이었지만; 그러나, 유사한 기법들이 그 대신에 고차원 구현에 적용될 수도 있는데, 본 발명의 이 구현들은 본 발명의 범위 내에 있는 것으로 고려된다. 따라서, 본 발명은 다음의 청구범위의 사상 및 범위 내에 있는 모든 수정들, 등가물들, 및 대안들을 커버하는 것이다. 전술한 명세서에서의 개시된 실시예들 모두가 전술한 명세서에 설명된 목적들, 이점들, 또는 개선들 각각을 반드시 만족시키거나 또는 달성하는 것은 아니라는 것이 추가로 이해되어야 한다.
본 명세서의 청구범위 요소들 및 단계들은 오로지 가독성과 이해를 돕기 위해 번호 및/또는 문자로 나타낼 수도 있다. 임의의 그러한 번호 및 글자로 나타내는 것 자체는 청구범위의 요소들 및/또는 단계들의 순서화를 표시하도록 의도된 것이 아니며 그와 같이 간주되어서는 안 된다.
본 발명의 사상 및 범위로부터 벗어남이 없이 본 기술분야의 통상의 기술자들에 의해 많은 변경들 및 수정들이 이루어질 수도 있다. 그에 따라, 예시된 실시예들은 단지 예들의 목적들을 위해 제시되었고 이들은 다음의 청구범위에 의해 정의된 바와 같은 본 발명을 제한하는 것으로서 간주되어서는 안 된다는 것이 이해되어야 한다. 예를 들어, 청구항의 요소들이 특정 조합으로 아래에 제시된다는 사실에도 불구하고, 본 발명은 개시된 요소들의 더 적거나, 더 많거나 또는 상이한 것들의 다른 조합들을 포함한다는 것이 명백히 이해되어야 한다.
본 발명 및 그의 다양한 실시예들을 설명하기 위해 본 명세서에서 사용되는 단어들은, 이들의 통상적으로 정의된 의미들의 의미로 이해되어야 할 뿐만 아니라, 이들이 단일 종(single species)을 표현한 일반적인 구조체, 재료 또는 작용들을 특수한 정의에 의해 본 명세서에 포함시키는 것으로 이해되어야 한다.
그에 따라, 다음의 청구범위의 단어들 또는 요소들의 정의들은 문자 그대로 제시된 요소들의 조합을 포함할 뿐만 아니라 본 명세서에 정의된다. 그에 따라, 이러한 의미에서 아래의 청구범위의 요소들 중 임의의 하나에 대해 2개 이상의 요소들의 동등한 대체가 이루어질 수도 있거나 또는 청구항의 2개 이상의 요소들에 대해 단일 요소가 대체될 수도 있다는 것이 고려된다. 요소들은 특정 조합들로 작용하는 것으로서 상술되고 심지어 초기에는 그와 같이 청구될 수도 있지만, 청구된 조합으로부터의 하나 이상의 요소들은 일부 경우들에서 그 조합으로부터 삭제될 수 있고, 청구된 조합이 하위 조합 또는 하위 조합의 변형으로 유도될 수도 있다는 것이 명백히 이해되어야 한다.
따라서, 청구범위는 상기에 구체적으로 예시되고 설명된 것, 개념적으로 동등한 것, 명백히 대체될 수 있는 것 그리고 또한 본 발명의 본질적인 아이디어를 포함한 것을 포함하는 것으로 이해되어야 한다.

Claims (20)

  1. 머신들 및 컴퓨터 기반 소프트웨어 애플리케이션들에서 인공 지능을 생성하는 멀티-헤드식 포캐스트 방법(multi-headed forecast method)으로서,
    상태 정보로서 환경으로부터의 입력을 수신하는 단계; 및
    복수의 포캐스트들을 출력하는 단계
    를 포함하고,
    상기 복수의 포캐스트들 각각은 상이한 상태 정보 피처(state information feature)에 대응하는, 멀티-헤드식 포캐스트 방법.
  2. 제1항에 있어서,
    네트워크의 마지막 계층을 제외한 모든 계층에서의 상기 네트워크의 가중치들 또는 파라미터들이 상기 복수의 포캐스트들 각각 간에서 공유되는, 멀티-헤드식 포캐스트 방법.
  3. 제1항에 있어서,
    네트워크의 마지막 계층을 제외한 모든 계층에서의 상기 네트워크의 가중치들 또는 파라미터들을 상기 복수의 포캐스트들 각각 간에서 공유함으로써 상기 복수의 포캐스트 각각을 학습하기 위해 요구되는 시간을 최소화하는 단계를 더 포함하는, 멀티-헤드식 포캐스트 방법.
  4. 제1항에 있어서,
    네트워크의 마지막 계층을 제외한 모든 계층에서의 상기 네트워크의 가중치들 또는 파라미터들을 상기 복수의 포캐스트들 각각 간에서 공유함으로써 상기 복수의 포캐스트들을 컴퓨팅하는 컴퓨테이션 비용(computational cost)을 최소화하는 단계를 더 포함하는, 멀티-헤드식 포캐스트 방법.
  5. 제1항에 있어서,
    상기 상태 정보를 일반화하는 단계를 더 포함하는, 멀티-헤드식 포캐스트 방법.
  6. 제1항에 있어서,
    하이브리드 네트워크를 제공하기 위해 복수의 스킬(skill) ID들 및 복수의 포캐스트 ID들 중 적어도 하나를 입력하는 단계를 더 포함하고,
    상기 복수의 포캐스트들은 상기 복수의 스킬 ID들 및 상기 복수의 포캐스트 ID들에 각각 기초하여 유사한 스킬들 또는 포캐스트들의 세트에 대해 출력되는, 멀티-헤드식 포캐스트 방법.
  7. 머신들 및 컴퓨터 기반 소프트웨어 애플리케이션들에서 인공 지능을 생성하는 멀티-입력 포캐스트 방법으로서,
    상태 정보로서 환경으로부터의 입력을 수신하는 단계;
    포캐스트 ID들, 스킬 ID들 및 파라미터 값들 중 적어도 하나로부터 추가 입력을 수신하는 단계; 및
    상기 추가 입력 각각에 대한 포캐스트를 출력하는 단계
    를 포함하는, 멀티-입력 포캐스트 방법.
  8. 제7항에 있어서,
    상기 추가 입력은 복수의 포캐스트 ID들을 포함하고, 상기 출력된 포캐스트는, 입력으로서 공급되는 포캐스트 ID에 대한 포캐스트 값인, 멀티-입력 포캐스트 방법.
  9. 제7항에 있어서,
    네트워크의 가중치들 또는 파라미터들이 상기 포캐스트의 다수의 것들에 걸쳐 공유되는, 멀티-입력 포캐스트 방법.
  10. 제7항에 있어서,
    상기 추가 입력은 복수의 스킬 ID들을 포함하는, 멀티-입력 포캐스트 방법.
  11. 제10항에 있어서,
    공통 상태 의존성들(common state dependencies)을 공유하는 스킬들에 기초하여 상기 포캐스트를 일반화하는 단계를 더 포함하는, 멀티-입력 포캐스트 방법.
  12. 제7항에 있어서,
    상기 추가 입력은, 거동에 영향을 미치는 가변 입력 파라미터를 포함하는, 멀티-입력 포캐스트 방법.
  13. 머신들 및 컴퓨터 기반 소프트웨어 애플리케이션들에서 인공 지능을 생성하는 포캐스트 네트워크 방법으로서,
    상태 정보로서 환경으로부터의 입력을 수신하는 단계;
    포캐스트 ID들, 스킬 ID들 및 파라미터 값들 중 적어도 하나로부터 추가 입력을 수신하는 단계;
    포캐스트 네트워크에 입력되기 전에 상기 추가 입력을 학습된 축소 벡터 표현(learned reduced vector representation) 내에 임베딩(embedding)하는 단계; 및
    각각의 학습된 축소 벡터 표현에 대한 포캐스트를 출력하는 단계
    를 포함하는, 포캐스트 네트워크 방법.
  14. 제13항에 있어서,
    복수의 포캐스트들을 출력하는 단계를 더 포함하고,
    상기 복수의 포캐스트들 각각은 상이한 상태 정보 피처에 대응하는, 포캐스트 네트워크 방법.
  15. 제14항에 있어서,
    네트워크의 마지막 계층을 제외한 모든 계층에서의 상기 네트워크의 가중치들 또는 파라미터들이 상기 복수의 포캐스트들 각각 간에서 공유되는, 포캐스트 네트워크 방법.
  16. 제14항에 있어서,
    하이브리드 네트워크를 제공하기 위해 복수의 스킬 ID들 및 복수의 포캐스트 ID들 중 적어도 하나를 입력하는 단계를 더 포함하고,
    상기 복수의 포캐스트들은 상기 복수의 스킬 ID들 및 상기 복수의 포캐스트 ID들에 각각 기초하여 유사한 스킬들 또는 포캐스트들의 세트에 대해 출력되는, 포캐스트 네트워크 방법.
  17. 제13항에 있어서,
    상기 추가 입력은 복수의 포캐스트 ID들을 포함하고, 상기 출력된 포캐스트는, 입력으로서 공급되는 포캐스트 ID에 대한 포캐스트 값인, 포캐스트 네트워크 방법.
  18. 제17항에 있어서,
    네트워크의 가중치들 또는 파라미터들이 상기 포캐스트의 다수의 것들에 걸쳐 공유되는, 포캐스트 네트워크 방법.
  19. 제17항에 있어서,
    상기 추가 입력은 복수의 스킬 ID들을 포함하는, 포캐스트 네트워크 방법.
  20. 제19항에 있어서,
    공통 상태 의존성들을 공유하는 스킬들에 기초하여 상기 포캐스트를 일반화하는 단계를 더 포함하는, 포캐스트 네트워크 방법.
KR1020217018869A 2019-01-04 2020-01-02 멀티-포캐스트 네트워크들 KR20210090265A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962788339P 2019-01-04 2019-01-04
US62/788,339 2019-01-04
PCT/US2020/012073 WO2020142620A1 (en) 2019-01-04 2020-01-02 Multi-forecast networks

Publications (1)

Publication Number Publication Date
KR20210090265A true KR20210090265A (ko) 2021-07-19

Family

ID=71404792

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217018869A KR20210090265A (ko) 2019-01-04 2020-01-02 멀티-포캐스트 네트워크들

Country Status (6)

Country Link
US (1) US20200218992A1 (ko)
EP (1) EP3888017A4 (ko)
JP (1) JP7379494B2 (ko)
KR (1) KR20210090265A (ko)
CN (1) CN113228063A (ko)
WO (1) WO2020142620A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11670028B1 (en) * 2019-09-26 2023-06-06 Apple Inc. Influencing actions of agents

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130024167A1 (en) 2011-07-22 2013-01-24 Edward Tilden Blair Computer-Implemented Systems And Methods For Large Scale Automatic Forecast Combinations
AU2013207551B2 (en) * 2012-07-20 2015-12-17 Tata Consultancy Services Limited Method and system for adaptive forecast of wind resources
US10055687B2 (en) * 2014-04-17 2018-08-21 Mark B. Ring Method for creating predictive knowledge structures from experience in an artificial agent
US10387794B2 (en) * 2015-01-22 2019-08-20 Preferred Networks, Inc. Machine learning with model filtering and model mixing for edge devices in a heterogeneous environment
US10831444B2 (en) * 2016-04-04 2020-11-10 Technion Research & Development Foundation Limited Quantized neural network training and inference
US20190171928A1 (en) * 2016-06-27 2019-06-06 Robin Young Dynamically managing artificial neural networks
US20180012411A1 (en) * 2016-07-11 2018-01-11 Gravity Jack, Inc. Augmented Reality Methods and Devices
CN106651915B (zh) * 2016-12-23 2019-08-09 大连理工大学 基于卷积神经网络的多尺度表达的目标跟踪方法
US11640617B2 (en) * 2017-03-21 2023-05-02 Adobe Inc. Metric forecasting employing a similarity determination in a digital medium environment
US10096125B1 (en) * 2017-04-07 2018-10-09 Adobe Systems Incorporated Forecasting multiple poses based on a graphical image
CN107085716B (zh) * 2017-05-24 2021-06-04 复旦大学 基于多任务生成对抗网络的跨视角步态识别方法
US10943697B2 (en) * 2017-12-01 2021-03-09 International Business Machines Corporation Determining information based on an analysis of images and video

Also Published As

Publication number Publication date
JP2022514935A (ja) 2022-02-16
CN113228063A (zh) 2021-08-06
US20200218992A1 (en) 2020-07-09
EP3888017A4 (en) 2022-08-03
WO2020142620A1 (en) 2020-07-09
JP7379494B2 (ja) 2023-11-14
EP3888017A1 (en) 2021-10-06

Similar Documents

Publication Publication Date Title
Gaunt et al. Differentiable programs with neural libraries
Rothmann et al. A survey of domain-specific architectures for reinforcement learning
JP7264376B2 (ja) 汎用学習済モデルの生成方法
Jain et al. A cordial sync: Going beyond marginal policies for multi-agent embodied tasks
CN111176758B (zh) 配置参数的推荐方法、装置、终端及存储介质
CN106953862A (zh) 网络安全态势的感知方法和装置及感知模型训练方法和装置
KR20210118182A (ko) 이중 액터 크리틱 알고리즘을 통한 강화 학습
CN110088775A (zh) 加强学习系统
CN105550746A (zh) 机器学习模型的训练方法和训练装置
US20190005377A1 (en) Artificial neural network reduction to reduce inference computation time
Voglis et al. MEMPSODE: A global optimization software based on hybridization of population-based algorithms and local searches
CN111178545B (zh) 一种动态强化学习决策训练系统
CN110447041A (zh) 噪声神经网络层
KR20220045215A (ko) 게이팅된 어텐션 신경망
de Prado et al. Automated design space exploration for optimized deployment of dnn on arm cortex-a cpus
KR20210090265A (ko) 멀티-포캐스트 네트워크들
Loisy et al. Deep reinforcement learning for the olfactory search pomdp: a quantitative benchmark
Bartók et al. Design of a FPGA accelerator for the FIVE fuzzy interpolation method
US11443229B2 (en) Method and system for continual learning in an intelligent artificial agent
Kwiatkowski et al. Understanding reinforcement learned crowds
CN115151916A (zh) 在实验室环境中训练演员-评论家算法
Zou et al. A neurobiologically inspired mapping and navigating framework for mobile robots
US7734454B2 (en) Simulation at two different levels of complexity
US20190303776A1 (en) Method and system for an intelligent artificial agent
KR102665220B1 (ko) 디지털 트윈 기반의 예측 시뮬레이션 수행 장치 및 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal