KR102469261B1 - 적응적 인공 신경 네트워크 선택 기법들 - Google Patents

적응적 인공 신경 네트워크 선택 기법들 Download PDF

Info

Publication number
KR102469261B1
KR102469261B1 KR1020207032815A KR20207032815A KR102469261B1 KR 102469261 B1 KR102469261 B1 KR 102469261B1 KR 1020207032815 A KR1020207032815 A KR 1020207032815A KR 20207032815 A KR20207032815 A KR 20207032815A KR 102469261 B1 KR102469261 B1 KR 102469261B1
Authority
KR
South Korea
Prior art keywords
computing device
processing task
processing
anns
result
Prior art date
Application number
KR1020207032815A
Other languages
English (en)
Other versions
KR20200131914A (ko
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 KR20200131914A publication Critical patent/KR20200131914A/ko
Application granted granted Critical
Publication of KR102469261B1 publication Critical patent/KR102469261B1/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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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
    • G06N3/0454
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

컴퓨터로 구현되는 기법들은 하나 이상의 프로세서들을 가지는 클라이언트 컴퓨팅 디바이스에 의해, 디지털 미디어 아이템 및 상기 디지털 아이템에 대한 프로세싱 작업에 대한 요청을 획득하는 단계; (i) 클라이언트 컴퓨팅 디바이스에서 사용가능한 컴퓨팅 리소스들 및 (ii) 네트워크의 조건에 기초하여 동작 파라미터들의 세트를 결정하는 단계를 포함할 수 있다. 상기 동작 파라미터들의 세트에 기초하여, 상기 클라이언트 컴퓨팅 디바이스 또는 서버 컴퓨팅 디바이스는 복수의 인공 신경 네트워크(ANN)들 중 하나를 선택할 수 있고, 각 ANN은 상기 프로세싱 작업의 어떤 부분들이 상기 클라이언트 및 서버 컴퓨팅 디바이스에 의해 수행될 것인지 정의한다. 상기 선택된 ANN에 따라 상기 클라이언트와 서버 컴퓨팅 디바이스들은 상기 프로세싱 작업의 프로세싱을 조정(coordinating)할 수 있다. 상기 클라이언트 컴퓨팅 디바이스는 상기 프로세싱 작업의 최종 평가에 대응하는 최종 프로세싱 결과들을 획득하고, 상기 최종 프로세싱 결과들에 기초하여 출력을 생성할 수 있다.

Description

적응적 인공 신경 네트워크 선택 기법들{ADAPTIVE ARTIFICIAL NEURAL NETWORK SELECTION TECHNIQUES}
관련 출원에 대한 상호 참조
본 출원은 2016년 3월 28일 출원된 미국 특허 출원 제15/082,653호에 대한 우선권의 이익을 주장한다. 상기 출원의 전체 내용은 본 명세서에 참조로서 통합된다.
기술분야
본 발명은 분산 클라이언트-서버 프로세싱과 관련되며, 특히, 적응적 인공 신경 네트워크(ANN, artificial neural network) 선택 기법들과 관련된다.
본 명세서에 제공된 배경기술은 본 발명의 컨텍스트를 일반적으로 제시하기 위한 목적이다. 본 배경기술 섹션에서 기술되는 범위까지 현재 명명된 발명자들의 성과 뿐만 아니라 출원 시점에 선행기술로서 인정되지 않는 기술의 양태들은 본 발명에 대한 선행기술로서 명시적으로 또는 묵시적으로도 인정되지 않는다.
클라이언트 컴퓨팅 디바이스 (예를 들어, 모바일폰)은 프로세싱 작업의 적어도 일부를 수행하도록 구성된 원격 서버 컴퓨팅 디바이스와 통신할 수 있다. 서버 컴퓨팅 디바이스에서 수행될 프로세싱의 정도는 다양한 팩터들에 종속될 수 있다. 하나의 예시적 팩터는 클라이언트와 서버 컴퓨팅 디바이스들 간의 네트워크 연결의 품질 또는 강도이다. 네트워크 연결이 저품질/저강도인 경우, 클라이언트 컴퓨팅 디바이스는 프로세싱 작업의 많은 양을 처리할 수 있다. 그러나, 특정 집중적 프로세싱 작업들(예를 들어, 기계 학습 모델들)은 서버 컴퓨팅 디바이스가 훨씬 더 처리가능하며, 따라서 프로세싱 작업의 특정 부분들을 처리하기 위해 훨씬 더 선호된다. 이 경우들에서, 저품질/저강도 네트워크 연결에도 불구하고 프로세잉이 서버 컴퓨팅 디바이스에서 발생하는 것이 바람직할 수 있다. 그러므로, 저품질/저강도 네트워크 연결을 통해 요구되는 데이터를 전송하기 위해, 클라이언트 컴퓨팅 디바이스는 서버 컴퓨팅 디바이스에 전송될 임의의 데이터에 대해 압축을 적용할 수 있다. 그러나, 이 압축은 프로세싱 작업의 최종 결과에 부정적 영향을 끼칠 수 있는 데이터 손실을 초래할 수 있다.
하나 이상의 프로세서들 및 본 기법을 위해 실행가능한 명령어들의 세트를 저장하는 컴퓨터 판독가능 메모리(예를 들면 비일시적 컴퓨터 판독가능 메모리)를 가지는 컴퓨터로 구현되는 기법 및 컴퓨팅 시스템이 제시된다. 본 기법은 하나 이상의 프로세서들을 가지는 클라이언트 컴퓨팅 디바이스에 의해, 디지털 미디어 아이템 및 상기 디지털 아이템에 대한 프로세싱 작업에 대한 요청을 획득하는 단계; 상기 클라이언트 컴퓨팅 디바이스에 의해, (i) 클라이언트 컴퓨팅 디바이스에서 사용가능한 컴퓨팅 리소스들 및 (ii) 네트워크의 조건에 기초하여 동작 파라미터들의 세트를 결정하는 단계, 상기 클라이언트 컴퓨팅 디바이스 및 서버 컴퓨팅 디바이스는 상기 네트워크를 통해 서로 통신하도록 구성되며; 상기 동작 파라미터들의 세트에 기초하여, 복수의 인공 신경 네트워크(ANN)들 중 하나를 선택하는 단계, 각 ANN은 상기 프로세싱 작업의 어떤 부분들이 상기 클라이언트 컴퓨팅 디바이스에 의해 수행되고 상기 프로세싱 작업의 어떤 부분들이 상기 서버 컴퓨팅 디바이스에 의해 수행될 것인지 정의하며; 상기 선택된 ANN에 따라 상기 클라이언트와 서버 컴퓨팅 디바이스 사이에 상기 프로세싱 작업의 프로세싱을 조정(coordinating)하는 단계; 상기 클라이언트 컴퓨팅 디바이스에 의해, 상기 프로세싱 작업의 최종 평가에 대응하는 최종 프로세싱 결과들을 획득하는 단계; 및 상기 클라이언트 컴퓨팅 디바이스에 의해, 상기 최종 프로세싱 결과들에 기초하여 출력을 생성하는 단계를 포함할 수 있다.
일부 실시예들에서, 각 ANN은 상기 프로세싱 작업의 제1 및 제2 부분들을 정의하며, 상기 제1 부분은 (i) 상기 클라이언트 및 서버 컴퓨팅 디바이스들 중 하나에 의해 수행될 부분이고, (ii) 다른 클라이언트 및 서버 컴퓨팅 디바이스들로 하여금 상기 제2 부분을 수행하게 하는 상기 네트워크를 통한 통신에 앞서 수행된다. 일부 실시예들에서, 상기 클라이언트 컴퓨팅 디바이스는 (i) 상기 선택된 ANN을 선택하고 (ii) 상기 프로세싱 작업의 상기 제1 부분을 수행하여 중간 프로세싱 결과들을 획득하며 (iii) 상기 중간 프로세싱 결과들을 상기 서버 컴퓨팅 디바이스에 전송하고 그리고 (iv) 상기 네트워크를 통해 상기 서버 컴퓨팅 디바이스로부터 상기 최종 프로세싱 결과들을 수신한다.
일부 실시예들에서, 상기 클라이언트 컴퓨팅 디바이스에서 사용가능한 컴퓨팅 리소스들은 (i) 상기 클라이언트 컴퓨팅 디바이스의 배터리의 충전 레벨 (ii) 상기 클라이언트 컴퓨팅 디바이스의 프로세싱 파워의 레벨 중 적어도 하나를 포함한다. 일부 실시예들에서, 상기 클라이언트 컴퓨팅 디바이스에서 사용가능한 컴퓨팅 리소스들은 (i) 상기 클라이언트 컴퓨팅 디바이스의 배터리의 충전 레벨 (ii) 상기 클라이언트 컴퓨팅 디바이스의 프로세싱 파워의 레벨 둘 모두를 포함한다. 일부 실시예들에서, 상기 디지털 미디어 아이템은 오디오 파일 또는 비디오 파일이며, 상기 프로세싱 작업은 음성 인식 또는 음성-텍스트 변환(speech-to-text)이다. 다른 실시예들에서, 상기 디지털 미디어 아이템은 이미지 파일 또는 비디오 파일이며, 상기 프로세싱 작업은 이미지 인식 또는 텍스트 인식이다. 다른 실시예들에서, 상기 디지털 미디어 아이템은 텍스트 또는 텍스트 파일의 문자열이며, 상기 프로세싱 작업은 텍스트-음성 변환(text-to-speech)이다.
일부 실시예들에서, 본 기법은 상기 동작 파라미터들의 세트를 상기 클라이언트 컴퓨팅 디바이스로부터 상기 서버 컴퓨팅 디바이스로 전송하는 것, 상기 동작 파라미터들의 세트의 수신은 상기 서버 컴퓨팅 디바이스로 하여금 (i) 상기 선택된 ANN을 선택하고 (ii) 상기 프로세싱 작업의 상기 제1 부분을 수행하여 중간 프로세싱 결과들을 획득하게 하며; 및 상기 네트워크를 통해, 상기 서버 컴퓨팅 디바이스로부터의 상기 중간 프로세싱 결과들을 상기 클라이언트 컴퓨팅 디바이스에 의해 수신하는 것을 더 포함한다. 일부 실시예들에서, 상기 클라이언트 컴퓨팅 디바이스는 상기 최종 프로세싱 결과들을 획득하기 위해 상기 중간 프로세싱 결과들을 사용하여 상기 프로세싱 작업의 상기 제2 부분을 수행한다.
본 본 명세서에 기술된 주제의 다른 양태들은 명령어들의 세트를 저장하는 컴퓨터 판독가능 매체를 제공하며, 상기 명령어들은 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 본 명세서에 기술된 임의의 구현예에 따른 방법을 수행하게 하며, 그리고 하나 이상의 프로세서들 및 명령어들의 세트가 저장된 컴퓨터 판독가능 메모리를 포함하는 컴퓨팅 시스템을 제공하며, 상기 명령어들은 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 본 명세서에 기술된 임의의 구현예에 따른 방법을 수행하게 한다.
본 발명의 추가적 적용 영역들은 아래에 제공되는 상세한 설명으로부터 명백해질 것이다. 상세한 설명 및 특정 실시예들은 도시의 목적으로만 의도되었고 발명의 범위를 제한하려고 의도되지 않았다는 것이 이해되어야 한다. 양태들 및 구현예들은 조합될 수 있고, 하나의 양태 또는 구현예의 맥락에서 기술된 구성들은 다른 양태들 또는 구현예들의 맥락에서 구현될 수 있다는 것이 인식될 것이다.
본 발명은 상세한 설명 및 첨부 도면들로부터 더 완전하게 이해될 것이다.
도 1은 본 발명의 일부 구현예들에 따른 예시적 컴퓨팅 시스템의 도면이다.
도 2는 도 1의 예시적 컴퓨팅 디바이스의 기능 블록도이다.
도 3a-3c는 본 발명의 일부 구현예들에 따른 서버-사이드 레이어들, 클라이언트-사이드 레이어들 및 병목 레이어의 다양한 인공 신경 네트워크(ANN) 구성들의 도면들이다.
도 4는 본 발명의 일부 구현예들에 따른 예시적 적응적 ANN 선택 기법의 흐름도이다.
이전에 언급된 바와 같이, 클라이언트 컴퓨팅 디바이스(예를 들어, 모바일폰)은 프로세싱 작업의 적어도 일부에 대한 원격 서버 컴퓨팅 디바이스에 전송될 데이터에 대해 압축을 적용할 수 있다. 고레벨의 압축은 서버 컴퓨팅 디바이스에 의해 수행되는 프로세싱의 결과에 부정적 영향을 끼칠 수 있는 데이터 손실을 초래할 수 있다. 예를 들면, 오픈 엔드 음성 인식은 계산적으로 비싼 프로세싱 작업이며 가장 좋은 정확도는 서버-사이드 인식을 수행함으로써 달성될 수 있다. 그 결과, 음성 인식 관련 구성들의 폭넓은 활용에서 하나의 제한 팩터는 연관된 네트워크 대역폭과 지연 요구사항들이다.
인공 신경 네트워크(ANN)들은 대형 기계 학습 모델들을 획득하기 위해 딥러닝을 포함하며, 일반적으로 서버 컴퓨팅 디바이스들에서 구현된다. ANN들에 의해 수행되는 프로세싱 작업들의 예시들은 음성 인식(예를 들어, 음성-텍스트 변환 또는 전사), 이미지 인식, 텍스트 인식(예를 들어, 광학 문자 인식 또는 OCR) 및 텍스트-음성 변환을 포함한다. ANN들이 모델들에서 대단한 품질 개선을 이끈 다양한 개선들을 생산했지만, 네트워크를 통해 전송되는 데이터로 인한 왕복 지연 및 배터리 영향을 감소시키지 않았다(여기서 클라이언트 컴퓨팅 디바이스는 모바일 디바이스와 같은 배터리 구동 디바이스이다). 그러나, 이들 프로세싱 작업들의 적어도 일부는 클라이언트 컴퓨팅 디바이스에 의해 로컬에서 수행될 수 있다.
따라서, 적응적 ANN 선택 기법들이 제시된다. 본 기법은 디지털 미디어 아이템(텍스트, 오디오, 이미지, 비디오 등) 및 상기 디지털 미디어 아이템 상의 프로세싱 작업에 대한 요청을 획득하는 클라이언트 컴퓨팅 디바이스를 포함한다. 클라이언트 컴퓨팅 디바이스는 클라이언트 컴퓨팅 디바이스와 서버 컴퓨팅 디바이스 간 프로세싱 작업의 분배에 영향을 끼치는 동작 파라미터들의 세트(배터리 레벨, 프로세싱 파워, 네트워크 속도 등)를 획득할 수 있다. 프로세싱 작업에 따라, 클라이언트 및 서버 컴퓨팅 디바이스들 중 하나는 프로세싱 작업의 분배를 각각 정의하는 복수의 ANN들 중 하나를 선택할 수 있다. 선택된 ANN에 따라, 클라이언트 및 서버 컴퓨팅 디바이스들은 프로세싱 작업의 부분들을 수행할 수 있고, 최종 평가가 클라이언트에서 출력될 수 있다.
이제 도 1로 돌아가면, 본 발명의 일부 구현예들에 따른 예시적 컴퓨팅 시스템의 도면이 도시된다. 컴퓨팅 시스템(100)은 사용자(108)와 연관된 클라이언트 컴퓨팅 디바이스(104)를 포함할 수 있다. 클라이언트 컴퓨팅 디바이스(104)는 임의의 적절한 컴퓨팅 디바이스(데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 모바일폰 등)일 수 있다. 클라이언트 컴퓨팅 디바이스(104)는 네트워크(116)를 통해 서버 컴퓨팅 디바이스(112)와 통신할 수 있다. 네트워크(116)는 근거리 네트워크(LAN), 광역 네트워크(WAN) 예를 들면, 인터넷 또는 그들의 조합을 포함할 수 있다. 본 명세서에서 사용된 바와 같이, 용어 "서버 컴퓨팅 디바이스"는 단일의 서버 컴퓨팅 디바이스 및 병렬 또는 분산 아키텍처에서 동작하는 둘 이상의 서버 컴퓨팅 디바이스 둘 모두를 지칭할 수 있다. 예를 들면, 기계 학습 모델은 복수의 서버 컴퓨팅 디바이스들을 통해 분산될 수 있다.
도 2를 참조하면, 예시적 컴퓨팅 디바이스(200)이 도시된다. 일 구현예에서, 컴퓨팅 디바이스(200)는 통신 디바이스(204), 프로세서(208), 메모리(212), 입력/출력 디바이스(216), 마이크로폰(220) 및 카메라(224)를 포함할 수 있다. 본 개시의 목적으로, 컴퓨팅 디바이스(200)는 클라이언트 컴퓨팅 디바이스(104) 및/또는 서버 컴퓨팅 디바이스(112)를 표현할 수 있다. 그러나, 이들 디바이스들(104, 112)은 약간 다른 구성(예를 들어, 서버 컴퓨팅 디바이스(112)는 입력/출력 디바이스(216), 마이크로폰(220) 및 카메라(224)를 포함하지 않음)일 수 있다는 것이 인식될 것이다. 통신 디바이스(204)는 네트워크(116)를 통해 통신하도록 구성된 임의의 적절한 디바이스(예를 들어, 트랜시버)일 수 있다. 메모리(212)는 프로세서(208)에 의한 실행을 위한 명령어들의 세트와 같은 정보를 컴퓨팅 디바이스(200)에 저장하도록 구성된 임의의 적절한 저장 매체(플래시, 하드디스크 등)일 수 있다.
본 명세서에서 사용된 바와 같이, 용어 "프로세서"는 단일의 프로세서 및 병렬 또는 분산 아키텍처에서 동작하는 둘 이상의 프로세서들 둘 모두를 지칭할 수 있다. 프로세서(208)에 의해 실행될 때, 명령어들의 세트는 컴퓨팅 디바이스(200)로 하여금 본 발명의 기법들의 적어도 일부를 수행하게 할 수 있다. 입력/출력 디바이스(216)는 터치 디스플레이, 물리적 키보드/버튼들, 스피커 또는 그것들의 일부 조합일 수 있다. 마이크로폰(220)은 오디오 데이터(예를 들어, 오디오 스트림)을 캡처하도록 구성된 임의의 적절한 디바이스일 수 있다. 카메라(224)는 이미지/비디오 데이터(예를 들어, 정적 이미지 또는 비디오 스트림)을 캡처하도록 구성된 임의의 적절한 디바이스(예를 들어, CCD)일 수 있다. 또한, 컴퓨팅 디바이스(200)는 그것의 동작에 전원을 공급하기 위한 배터리(228)를 포함할 수 있다(예를 들어, 모바일 컴퓨팅 디바이스들에 대해). 상기 언급된 바와 같이, 컴퓨팅 디바이스(200)는 본 발명의 기법들 중 적어도 일부를 수행하도록 구성될 수 있으며, 이는 이제 더 상세히 논의된다.
도 1을 다시 참조하면, 그리고 도 2를 계속 참조하여, 클라이언트 컴퓨팅 디바이스(104)는 디지털 미디어 아이템과 프로세싱 작업에 대한 요청을 획득할 수 있다. 디지털 미디어 아이템은 클라이언트 컴퓨팅 디바이스(104)를 동작하는 사용자(108)에 의해 획득될 수 있다(마이크로폰(220)에 의해 캡처된 오디오, 입력/출력 디바이스(216)를 통해 획득된 텍스트, 카메라(224)에 의해 캡처된 이미지/비디오 등). 또한, 디지털 미디어 아이템은 다른 컴퓨팅 디바이스에 의해 캡처될 수 있고, 클라이언트 컴퓨팅 디바이스(104)에 의해 후속적으로 획득될 수 있다. 디지털 미디어 아이템의 비-한정적 예시들은 텍스트의 문자열, 전체 텍스트 파일, 이미지 파일, 오디오 파일 및 비디오 파일을 포함한다. 프로세싱 작업의 비-한정적 예시들은 음성 인식(예를 들어, 음성-텍스트 변환 또는 전사), 텍스트 인식(예를 들어, OCR), 이미지 인식 및 텍스트-음성 변환을 포함한다.
본 명세서에서 사용된 바와 같이, 용어들 "인공 신경 네트워크" 및 "ANN"은 클라이언트 및 서버 컴퓨팅 디바이스들(104, 112)로 나눠질 수 있는 기계 학습 모델 또는 모델들의 패밀리를 지칭할 수 있다. 각 기계 학습 모델은 예를 들면, 기계 학습 모델을 사용하여 수행되는 프로세싱 작업과 유사한 데이터를 사용하여 트레이닝될 수 있다. 예를 들면, 음향 데이터는 기계 학습 음향 모델을 트레이닝하는데 활용될 수 있다. 각 ANN은 상이한 레이어들로 분할되는 것으로서 기술될 수 있다. 각 레이어는 클라이언트 및 서버 컴퓨팅 디바이스들(104, 112) 중 하나에 의해 수행될 작업 또는 작업들의 세트를 표현할 수 있다. 그 후, 각 작업 또는 작업들의 세트의 결과들이 후속 레이어에 패스될 수 있고, 계속 그렇게 진행된다. 그 후, 최종 레이어는 최종 프로세싱 결과들로도 지칭될 수 있는 최종 평가를 출력할 수 있다. 병목 레이어(bottleneck layer)는 한 디바이스로부터 다른 디바이스로(예를 들어, 클라이언트 컴퓨팅 디바이스(104)로부터 서버 컴퓨팅 디바이스(112)로) 정보를 전송(예를 들어, 액티베이션들(activations))하게 하는 레이어를 표현할 수 있다. 다시 말해서, 병목 레이어는 디바이스의 할당된 레이어들의 결론을 표현할 수 있고, 액티베이션들은 초기 디바이스에 의해 완료된 프로세싱 작업의 부분의 결과들 뿐만 아니라 다른 디바이스에서 프로세싱 작업을 완료하기 위한 추가 정보를 포함할 수 있다.
작업은 ANN들을 트레이닝하는 것으로서 기술될 수 있고, 품질면에서 그리고 또한 다른 목적들과의 조화면에서 이상적으로 동작하도록 한다. 예를 들면, 하나의 다른 목적은 디바이스에서 실행가능한 클라이언트-사이드 계산을 제한하는 것일 수 있다. 이는 예를 들면, 얼마나 많은 사전-병목(pre-bottleneck) 레이어들이 있는지 그리고 증가된 계산 비용들에 대응하는 각 레이어의 크기에 의해 결정될 수 있다. 다른 예시적 목적은 통신/네트워크 비용과 지연의 양을 제한하는 것일 수 있다. 이는 예를 들면, 병목 레이어에서 노드들의 수 그리고 정보의 양(정확도(level of fidelity)에 의해 결정될 수 있다. 다른 디바이스(예를 들어, 서버 컴퓨팅 디바이스(112))는 병목 레이어를 수신할 수 있고, 이는 디바이스로 하여금 나머지 레이어들을 수행하게 하고 따라서 최종 평가를 획득하게 하는 액티베이션들을 포함할 수 있다. 그 후, 최종 평가는 출력을 생성하기 위해 초기 디바이스(예를 들어, 클라이언트 컴퓨팅 디바이스(104))에 리턴될 수 있다. 예시적 ANN들과 그들 각각의 레이어들은 아래에서 더 자세히 논의되며, 도 3a-3c에 도시된다.
클라이언트 컴퓨팅 디바이스(104)는 프로세싱 작업을 수행하기 위해 복수의의 ANN들 중 하나의 선택에서 사용될 수 있는 동작 파라미터들의 세트를 결정할 수 있다. 각 동작 파라미터는 영향을 미칠 수 있고, 따라서 클라이언트 컴퓨팅 디바이스(104)와 서버 컴퓨팅 디바이스(112) 사이의 프로세싱 작업의 바람직한 분배의 표시일 수 있다. 이전에 논의된 바와 같이, 서버 컴퓨팅 디바이스(112)는 집중적 프로세싱을 처리하기에 더 나은 장비를 가질 수 있으나, 예를 들면, 입력의 고차원성 때문에, 네트워크 상태가 프로세싱 작업의 전부 또는 대부분을 처리할 수 있는 서버 컴퓨팅 디바이스(112)의 실행가능성에 영향을 미칠 수 있다. 동작 파라미터들의 비-한정적 예시들은 (i) 클라이언트 컴퓨팅 디바이스(104)에 사용가능한 컴퓨팅 리소스들(배터리(228)의 충전 레벨, 프로세싱 파워 레벨(예를 들어, 프로세서(208)의 유형) 등) 및 (ii) 클라이언트 및 서버 컴퓨팅 디바이스들(104, 112) 간의 네트워크(116)를 통핸 연결의 조건(이하 "네트워크 연결")을 포함한다.
예를 들면, 배터리(228)의 충전의 저레벨은 클라이언트 컴퓨팅 디바이스(104)에서 프로세싱 작업의 작은 부분을 수행하는 것이 바람직하다는 표시일 수 있다. 유사하게, 클라이언트 컴퓨팅 디바이스(104)의 프로세싱 파워의 저레벨은 클라이언트 컴퓨팅 디바이스(104)에서 프로세싱 작업의 작은 부분을 수행하는 것이 바람직하다는 표시일 수 있다. 다른 한편, 네트워크 조건의 조건은 프로세싱 작업의 바람직한 분배에 더 중요한 팩터일 수 있다. 더 구체적으로, 빠른 네트워크 연결은 서버 컴퓨팅 디바이스(112)에서 실행가능한 한 많은 프로세싱 작업을 수행하는 것이 바람직하다는 표시일 수 있다. 유사하게, 느린 네트워크 연결은 클라이언트 컴퓨팅 디바이스(104)에서 프로세싱 작업의 적어도 일부를 처리하는 것이 바람직하다는 표시일 수 있다. 네트워크 속도가 논의되었지만, 다른 네트워크 연결 조건들(대역폭, 데이터 비용 등) 또한 바람직한 분배에 영향을 미칠 수 있다. 예를 들면, 다른 예시적 팩터는 서버 컴퓨팅 디바이스(112) 상의 부하이며(많은 네트워크 트래픽) 및 이들 경우들에서 클라이언트 컴퓨팅 디바이스(104)는 프로세싱 작업 많은 부분을 처리할 수 있다.
이전에 언급된 바와 같이, 동작 파라미터들의 세트에 기초하여, 복수의 ANN들 중 하나가 선택될 수 있다. 각 ANN은 프로세싱 작업의 어떤 부분들이 클라이언트 및 서버 컴퓨팅 디바이스들(104, 112)에 의해 수행될 것인지 정의할 수 있다. 복수의 상이한 ANN들을 트레이닝함으로써 그리고 클라이언트와 서버 양 사이드들에서 모두 사용가능한 관련 레이어들을 가짐으로써, 본 명세서에 개시된 기법들은 압축 레벨, 지연 및 계산 비용의 동적 선택을 제공할 수 있다. 프로세싱 작업에 따라, 클라이언트 컴퓨팅 디바이스(104) 또는 서버 컴퓨팅 디바이스(112) 중 어느 것도 ANN을 선택하여 프로세싱 작업의 분산된 프로세싱에서 활용되는 선택된 ANN을 획득할 수 있다. 병목 레이어 액티베이션들을 압축된 표현으로 사용함으로써, 데이터는 인식 작업에서 가장 효율적인 방법으로 압축될 수 있다. 추가로, 손실없는 또는 손실되는 압축이 계수 자체에 적용되어 쿼리 페이로드를 추가로 감소시킬 수 있다.
일 대표적 구현예에서, 3가지 상이한 ANN들이 있을 수 있으며, 이는 도 3a-3c에 도시되고 아래에 기술된다. 3개의 ANN들이 도시되고 본 명세서에 기술되었지만, 임의의 복수의 ANN들(2개의 ANN들, 4개 이상의 ANN들 등)이 트레이닝될 수 있고 선택될 수 있다는 것이 인식될 것이다. 각 ANN은 2개의 자유도를 도시한다: (1) 사전-병목 클라이언트-사이드 레이어들의 수 및 (2) 병목의 폭. 또한 이는 2차원적 파라미터 표면으로서 기술될 수 있다. 도 3a에서, 예를 들면, 네트워크 연결 속도/대역폭이 좋은 경우(예를 들면, 임계치 초과) 사용될 수 있는 제1 예시적 ANN(300)이 도시된다. 일부 구현예들에서, 이 ANN(300)은 클라이언트 컴퓨팅 디바이스(104)의 프로세싱 능력들에 관계없이 사용될 수 있다(즉, 네트워크 연결이 좋기 때문에). 프로세싱 작업은 작은 수의 클라이언트-사이드 레이어들(304)와 많은 수의 서버-사이드 레이어들(308)로 분할되며, 그 사이에 병목 레이어(312)를 가진다. 클라이언트 컴퓨팅 디바이스(104)에서 실행되는 클라이언트-사이드 레이어들(304)은 입력(316)의 수신으로 시작되며, 병목 레이어(312)로 종료되며, 이는 서버 컴퓨팅 디바이스(112)로 액티베이션들을 전송하게 할 수 있다. 레이어 높이 표시자(320)는 작은 수의 클라이언트-사이드 레이어들(304)의 표시이며, 병목 폭 표시자(324)는 병목 폭의 표시이며, 이는 고품질 네트워크 연결에 대응한다.
도 3b에서 다른 예시적 ANN(330)이 도시된다. 다시, 프로세싱 작업은 병목 레이어(342)에 의해 분할되는 클라이언트-사이드 레이어들(334) 및 서버-사이드 레이어들(338)로 분할된다. 이 ANN(330)은 예를 들면, 네트워크 속도/대역폭이 느리거나 좋지 않을 때(예를 들어, 임계치 미만) 그리고 클라이언트 컴퓨팅 디바이스(104)의 프로세싱 능력들 또한 좋지 않을 때(예를 들어, 임계치 미만), 활용될 수 있다. 저품질 네트워크 연결은 도 3a와 비교하여 더 좁은 병목 폭 표시자(346)에 의해 표시된다. 클라이언트 컴퓨팅 디바이스(104)가 입력(350)에 응답하여, 도 3a와 비교하여 더 많은 클라이언트-사이드 레이어들(334)을 실행하는 경우(레이어 높이 표시자(354)에 의해 표시된 바와 같이), 클라이언트 컴퓨팅 디바이스(104)의 제한된 프로세싱 능력들 때문에 여전히 상대적으로 많은 수의 서버-사이드 레이어들(338)이 있다. 도 3b와 반대로, 도 3c는 저품질 네트워크 연결을 가지는 다른 예시적 ANN(360)을 도시하지만, 클라이언트 컴퓨팅 디바이스(104)는 훨씬 큰 프로세싱 능력들을 가진다(예를 들어, 임계치보다 큼). 따라서, 입력(368)에 응답하여, 클라이언트 컴퓨팅 디바이스(104)는 도 3a 및 3b와 비교하여 훨씬 많은 수의 클라이언트-사이드 레이어들(372)(레이어 높이 표시자(376)에 의해 표시된 바와 같이)을 실행할 수 있다. 따라서, 병목 레이어(380) 후에, 서버 컴퓨팅 디바이스(112)는 작은 수의 서버-사이드 레이어들(384)만 실행한다.
상기 선택된 ANN을 획득한 후에, 상기 선택된 ANN에 따라 상기 클라이언트와 서버 컴퓨팅 디바이스들(104, 112)은 상기 프로세싱 작업의 프로세싱을 조정(coordinating)할 수 있다. 이는 예를 들면, 네트워크(116)를 통해 전송된 임의의 데이터에 대해 적용될 압축의 레벨/유형을 포함할 수 있다. 클라이언트 프로세싱 능력들 및 네트워크 품질이 상기 내용의 초점이었지만, ANN의 선택은 본 명세서에 이전에 기술된 바와 같이 다른 팩터들에 더 기초할 수 있다. 제한된 배터리 시나리오에서, 예를 들면, 선택은 네트워크 트래픽의 에너지 비용(배터리 충전)과 추가적 클라이언트-사이드 계산들의 에너지 비용을 밸런싱(balancing)할 수 있다. 유사하게, 클라이언트 컴퓨팅 디바이스(104)가 로밍 중이거나 높은 데이터 비용을 지불하고 있다는 자동 검출이 이루어지는 경우, ANN의 선택은 작은 병목 아키텍처들을 향해 더 편중될 수 있다.
대부분의 프로세싱 작업들에 대해, 클라이언트 컴퓨팅 디바이스(104)는 선택된 ANN을 선택할 수 있고, 중간 프로세싱 결과들을 획득하기 위한 프로세싱 작업의 제1 부분(예를 들어, 제1 수의 레이더들)을 수행할 수 있다. 그 후, 클라이언트 컴퓨팅 디바이스(104)는 네트워크(116)를 통해 서버 컴퓨팅 디바이스(112)와 통신할 수 있고(예를 들어, 중간 프로세싱 결과들 및 고유 식별자(ID)와 같이 프로세싱 작업을 완료하기 위한 추가 정보와 같은 액티베이션들을 전송함으로써), 이는 서버 컴퓨팅 디바이스(112)로 하여금 프로세싱 작업의 제2 부분(예를 들어, 나머지 레이어들)을 수행하여 최종 프로세싱 결과들을 획득하게 할 수 있고, 그 후 상기 최종 프로세싱 결과들은 출력을 생성하기 위해 클라이언트 컴퓨팅 디바이스(104)로 리턴된다. 특정한 ANN에 의해 정의된 스택의 모든 레이어들의 계속적 개선을 위해, 예를 들어, 네트워크(116)가 제한된 경우에 대해, 입력들의 샘플 또는 모든 로우(raw) 초기 데이터(즉, 압축 전)의 로깅(logging)이 수행될 수 있다. 그 후, 상기 시나리오들에서 이 비동기식 로깅은 일단 네트워크(116)의 조건이 개선되면 후속적 개선을 하게 한다.
그러나, 일부 프로세싱 작업들(예를 들어, 텍스트-음성 변환)에 대해, 서버 컴퓨팅 디바이스(112)는 선택된 ANN을 선택하고, 중간 프로세싱 결과들을 획득하기 위해 프로세싱 작업의 제1 부분을 수행하고 그리고 액티베이션들(예를 들어, 중간 프로세싱 결과들 및 프로세싱 작업을 완료하기 위한 추가 정보)를 클라이언트 컴퓨팅 디바이스(104)에 전송할 수 있다. 그 후, 클라이언트 컴퓨팅 디바이스(104)는 최종 프로세싱 결과들을 획득하기 위해 프로세싱 작업의 제2 부분을 수행할 수 있다. 다시 말해서, 특정 프로세싱 작업(예를 들어, 텍스트-음성 변환)에 대한 프로세스는 다른 프로세싱 작업들에 대한 프로세스의 역으로서 생각될 수 있다. 클라이언트 컴퓨팅 디바이스(104)는 상기 최종 프로세싱 결과들에 기초하여 출력을 생성할 수 있다.
클라이언트 컴퓨팅 디바이스(104)에 의해 생성되는 출력의 비한정적 예시들은 텍스트, 이미지 및 소리를 포함할 수 있다. 이 출력은 클라이언트 컴퓨팅 디바이스(104)의 다양한 컴포넌트들을 사용하여 생성될 수 있다(터치 디스플레이, 스피커(220) 등과 같은 입력/출력 디바이스(216)). 예를 들면, 프로세싱 작업이 음성-텍스트 변환인 경우, 출력은 원 디지털 미디어 아이템(오디오 또는 비디오 파일)의 표현인 텍스트일 수 있다. 다른 예시로서, 프로세싱 작업이 이미지 또는 텍스트 인식인 경우, 출력은 원 디지털 미디어 아이템(이미지 또는 비디오 파일)의 표현인 텍스트 또는 다른 이미지일 수 있다. 또 다른 예시로서, 프로세싱 작업이 텍스트-음성 변환인 경우, 출력은 원 디지털 미디어 아이템(텍스트의 문자열 또는 텍스트 파일)의 표현인 소리 또는 오디오 스트림일 수 있다. 다른 가능한 출력들도 음악/노래 인식과 같이 동일하거나 유사한 인식 프로세싱 작업들에 대해 생성될 수 있다는 것이 인식될 것이다.
도 4를 참조하면, 예시적 적응적 ANN 선택 기법(400)의 흐름도가 도시된다. (404)에서, 클라이언트 컴퓨팅 디바이스(104)는 디지털 미디어 아이템(텍스트의 문자열 또는 텍스트 파일, 오디오 파일, 이미지 파일, 비디오 파일 등) 및 상기 디지털 아이템 상의 프로세싱 작업에 대한 요청을 획득할 수 있다. (408)에서, 클라이언트 컴퓨팅 디바이스(104)는 프로세싱 작업의 바람직한 분에에 영향을 미치는 동작 파라미터들의 세트를 결정할 수 있다. (412)에서, 클라이언트 컴퓨팅 디바이스(104)는 프로세싱 작업이 텍스트-음성("TTS") 변환 또는 ANN을 선택하는 서버 컴퓨팅 디바이스(112)를 포함하는 기타 유사한 프로세싱 작업인지 여부를 결정할 수 있다. 만약 작업이 텍스트-음성 변환이 아닌 경우, 기법(400)은 (416)으로 진행할 수 있다. 그러나, 만약 작업이 텍스트-음성 변환인 경우, 기법(400)은 (432)로 진행할 수 있다.
(416)에서, 클라이언트 컴퓨팅 디바이스(104)는 동작 파라미터들의 세트에 기초하여 복수의 ANN들 중 하나를 선택할 수 있다. (420)에서, 클라이언트 컴퓨팅 디바이스(104)는 선택된 ANN에 의해 특정된 것으로서 중간 프로세싱 결과들을 획득하기 위해 프로세싱 작업의 제1 부분을 수행할 수 있다(병목 레이어까지 그리고 병목 레이어를 포함하여). (424)에서, 클라이언트 컴퓨팅 디바이스(104)는 액티베이션들(예를 들어, 중간 프로세싱 결과들 및 프로세싱 작업을 완료하기 위한 추가 정보)을 서버 컴퓨팅 디바이스(112)에 전송할 수 있다. 액티베이션들의 수신은 선택된 ANN에 의해 특정된 것으로서 그리고 최종 프로세싱 결과들을 획득하기 위해 수신된 액티베이션들을 사용하여, 서버 컴퓨팅 디바이스(112)로 하여금 프로세싱 작업의 제2 부분을 완료하게 한다. (428)에서, 클라이언트 컴퓨팅 디바이스(104)는 서버 컴퓨팅 디바이스(112)로부터 최종 프로세싱 결과들을 수신할 수 있다. 그 후, 기법(400)은 (444)로 진행할 수 있다.
(432)에서, 클라이언트 컴퓨팅 디바이스(104)는 동작 파라미터들의 세트(그리고 잠재적으로 기타 정보)를 서버 컴퓨팅 디바이스(112)에 전송할 수 있다. 동작 파라미터들의 세트의 수신은 서버 컴퓨팅 디바이스(112)로 하여금 (i) 복수의 ANN들 중 하나를 선택하고, (ii) 중간 프로세싱 결과들을 획득하기 위해 선택된 ANN에 의해 특정된 것으로서 텍스트-음성 변환의 제1 부분을 수행하고 (iii) 액티베이션들(예를 들어, 중간 프로세싱 결과들 및 프로세싱 작업을 완료하기 위한 추가 정보)을 클라이언트 컴퓨팅 디바이스(104)에 전송하게 한다. (436)에서, 중간 프로세싱 결과들은 클라이언트 컴퓨팅 디바이스(104)에 의해 수신될 수 있다. (440)에서, 클라이언트 컴퓨팅 디바이스(104)는 선택된 ANN에 의해 특정된 것으로서 그리고 최종 프로세싱 결과들을 획득하기 위해 수신된 액티베이션들을 사용하여, 프로세싱 작업의 제2 부분(즉, 나머지)을 완료한다. (444)에서, 클라이언트 컴퓨팅 디바이스(104)는 상기 최종 프로세싱 결과들에 기초하여 출력(텍스트, 오디오 스트림, 이미지 등)을 생성할 수 있다. 그 후, 기법(400)은 종료되거나 (404)로 리턴할 수 있다.
상기 기술에 더하여, 사용자에게 본 명세서에 기술된 시스템들, 프로그램들 또는 구성들이 사용자 정보(사용자의 현재 위치, 사용자의 휴대폰 결제 계획에 관한 정보 등)의 수집을 가능하게 할 것이지 그리고 언제 가능하게 할 것인지, 그리고 사용자가 서버로 컨텐츠 또는 통신을 보낼 것인지에 관한 선택을 하게하는 제어들이 제공될 수 있다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 취급되어, 개인적으로 식별가능한 정보는 제거된다. 예를 들면, 사용자의 신원은 사용자에 관한 개인적으로 식별가능한 정보가 결정될 수 없도록 취급되거나 또는 사용자의 지리적 위치는 위치 정보가 획득된 곳에서 일반화되어(시, 우편번호 또는 주 수준으로), 사용자의 특정한 위치가 결정될 수 없도록 한다. 따라서, 사용자는 사용자에 관한 어떤 정보가 수집되는지, 그 정보가 어떻게 사용되는지 그리고 어떤 정보가 사용자에게 제공되는지에 관한 제어를 가진다.
예시적 실시예들이 본 개시가 완전하고, 통상의 기술자에게 그 범위를 완전히 전달하도록 제공된다. 특정 컴포넌트들, 디바이스들 및 방법들과 같은 다수의 구체적 세부사항들이 기술되어 본 발명의 실시예들의 완전한 이해를 제공한다. 특정 세부사항들은 이용될 필요가 없고, 예시적 실시예들은 다수의 상이한 형태들로 이용될 수 있고, 본 발명의 범위를 제한하기 위한 것으로 고려되어서는 안된다는 것이 통상의 기술자에게 명백해질 것이다. 일부 예시적 실시예들에서, 공지된 절차들, 공지된 디바이스 구조들 및 공지된 기술들은 자세히 기술되지 않았다.
본 명세서에 사용된 용어는 특정한 예시적 실시예들을 기술하기 위한 목적일 뿐이며, 제한하려고 의도되지 않았다. 본 명세서에서 사용된 바와 같이, 단수형은 맥락상 분명하게 이와 다르게 표시되지 않는 한 복수형도 포함하는 것으로 의도되었다. 용어 "및/또는"은 하나 이상의 연관된 리스팅된 아이템들 중 임의의 것 그리고 모든 조합들을 포함한다. 용어 "포함한다", "포함하는", "포함하는" 및 "가지는"은 포함적이며, 따라서 언급된 구성들, 정수들, 단계들, 동작들, 엘리먼트들 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 구성들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들 및/또는 그것들의 그룹의 존재 또는 추가를 배제하지 않는다. 본 명세서에 기술된 방법 단계들, 프로세스들 및 동작들은 수행의 순서로서 구체적으로 식별되지 않는 한, 논의되거나 도시된 특정 순서로 그들의 수행을 반드시 필요로 하는 것으로 고려되어서는 아니된다. 또한 추가적 또는 대안적 단계들이 이용될 수 있다는 것이 이해되어야 한다.
용어들 제1, 제2, 제3 등이 본 명세서에서 다양한 엘리먼트들, 컴포넌트들, 영역들, 레이어들 및/또는 섹션들을 기술하기 위해 사용되었지만, 이들 엘리먼트들, 컴포넌트들, 영역들, 레이어들 및/또는 섹션들은 이들 용어들에 의해 제한되어서는 아니된다. 이들 용어들은 단지 하나의 엘리먼트, 컴포넌트, 영역, 레이어 또는 섹션을 다른 영역, 레이어 또는 섹션으로부터 구별하기 위해 사용되었다. 본 명세서에서 사용된 "제1", "제2" 및 다른 숫자적 용어들과 같은 용어들은 문맥에 의해 명백히 표시되지 않는 한 시퀀스 또는 순서를 암시하지 않는다. 따라서, 이하 논의되는 제1 엘리먼트, 컴포넌트, 영역, 레이어 또는 섹션은 예시적 실시예들의 교시들로부터 벗어남 없이 제2 엘리먼트, 컴포넌트, 영역, 레이어 또는 섹션으로 호칭될 수 있다.
본 명세서에 사용된 바와 같이, 용어 모듈은: ASIC(Application Specific Integrated Circuit); 전자 회로; 조합 논리 회로; FPGA(Field programmable gate array); 프로세서 또는 프로세서들의 분산 네트워크(공유, 전용 또는 그룹핑된) 및 코드 또는 프로세스를 실행하는 네트워크화된 클러스터들 또는 데이터센서들에서의 스토리지; 또는 시스템-온-칩에서와 같은 상기의 것들 중 전부 또는 일부의 조합을 지칭하거나, 그 일부이거나, 이들을 포함한다. 또한 용어 모듈은 하나 이상의 프로세서들에 의해 실행되는 코드를 저장하는 메모리(공유, 전용 또는 그룹핑된)를 포함한다.
상기 사용된 것과 같은 용어 코드는 소프트웨어, 펌웨어, 바이트-코드 및/또는 마이크로코드를 포함하며, 프로그램들, 루틴들, 함수들, 클래스들 및/또는 오브젝트들을 지칭한다. 상기 사용된 것과 같은 용어 "공유된"은 다수의 모듈들로부터의 일부 또는 모든 코드는 단일의(공유된) 프로세서를 사용하여 실행될 수 있음을 의미한다. 추가로, 다수의 모듈들로부터의 일부 또는 모든 코드는 단일(공유된) 메모리에 의해 저장된다. 상기 사용된 것과 같은 용어 그룹은 단일의 모듈로부터의 일부 또는 모든 코드가 프로세서들의 그룹을 사용하여 실행될 수 있음을 의미한다. 추가로, 단일의 모듈로부터의 일부 또는 모든 코드는 메모리들의 그룹을 사용하여 저장된다.
본 명세서에 기술된 기법들은 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 컴퓨터 프로그램들에 의해 구현된다. 컴퓨터 프로그램은 프로세서-실행가능 명령어들을 포함하며, 상기 명령어들은 비-일시적 유형적 컴퓨터 판독가능 매체에 저장된다. 또한 컴퓨터 프로그램들은 저장된 데이터를 포함한다. 비-일시적 유형적 컴퓨터 판독가능 매체의 비-한정적 예시들은 비휘발성 메모리, 자기 스토리지 및 광학 스토리지이다.
상기 기술의 일부 부분들은 정보에 관한 동작들의 알고리즘들 및 상징적 표현들에 관하여 본 명세서에 기술된 기법들을 제시한다. 이들 알고리즘적 기술들 및 표현들은 다른 통상의 기술자에게 그들의 성과의 실질을 가장 효율적으로 전달하기 위해 데이터 프로세싱 분야에서 숙련된 자들에 의해 사용되는 수단들이다. 기능적으로 또는 논리적으로 기술된 이들 동작들은 컴퓨터 프로그램들에 의해 구현될 것이 이해된다. 또한 추가로, 동작들의 이들 배치들을 모듈들로서 또는 기능적 명칭에 의해 지칭하는 것이 때로는 일관성을 잃지 않고 편리하다는 것이 증명되었다.
상기 논의로부터 명백한 것으로서 구체적으로 다르게 언급하지 않는 한, "프로세싱" 또는 "컴퓨팅" 또는 "계산하기" 또는 "결정하기" 또는 "디스플레이하기" 또는 이와 유사한 것과 같은 용어들을 활용하는 전체에 걸친 기술, 논의들은 컴퓨터 시스템의 액션 및 프로세스들 또는 유사한 전자 컴퓨팅 디바이스를 지칭하며, 이들은 컴퓨터 시스템 메모리들 또는 레지스터들 또는 기타 그러한 정보 스토리지, 전송 또는 디스플레이 디바이스 내에서 물리적(전자적) 양들로서 표현된 데이터를 조작하고 변형한다는 것이 인식된다.
기술된 기법들의 특정 양태들은 알고리즘의 형태로 본 명세서에 기술된 프로세스 단계들 및 명령어들을 포함한다. 기술된 프로세스 단계들 및 명령어들은 소프트웨어, 펌웨어 또는 하드웨어에 수록될 수 있으며, 소프트웨어에 수록된 경우, 실시간 네트워크 운영체제들에 의해 사용되는 다른 플랫폼들에 상주하기 위해 또는 거기에서 동작되도록 다운로드될 수 있음을 주목해야 한다.
또한, 본 발명은 본 명세서의 동작들을 수행하기 위한 장치와 관련된다. 이 장치는 필요한 목적들을 위해 특별히 구성되거나, 또는 컴퓨터에 의해 엑세스될 수 있는 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함한다. 상기 컴퓨터 프로그램은 플로피 디스크들, 광학 디스크들, CD-ROM들, 자기-광학 디스크들, ROM들(Read-Only Memories), RAM들(Random Access Memories), EPROM들, EEPROMS들, 자기 또는 광학 카드들, ASIC들(Application Specific Integrated Circuits) 포함하는 임의의 타입의 디스크 또는 전자적 명령어들을 저장하기에 적절하고 컴퓨터 시스템 버스에 각각 연결되는 임의의 타입의 매체와 같은, 다만 이에 제한되지 않는, 유형적 컴퓨터 판독가능 저장 매체에 저장된다. 추가로, 본 명세서에서 지칭된 컴퓨터들은 단일의 프로세서를 포함하거나 또는 컴퓨팅 능력을 증가시키기 위해 구성된 다수의 프로세서들을 이용하는 아키텍쳐들이다.
본 명세서에서 제시된 알고리즘들 및 동작들은 본질적으로 임의의 특정 컴퓨터 또는 기타 장치와 관련되지 않는다. 또한 다양한 범용 시스템들이 본 명세서의 교시들에 따라 프로그램들과 함께 사용될 수 있고 또는, 요구되는 방법 단계들을 수행하기 위해 더 특화된 장치들을 구성하는 것이 편리함이 증명될 수 있다. 다양한 이들 시스템들에 대해 요구되는 구조는 균등물들과 함께 통상의 기술자에게 분명해질 것이다. 추가로, 본 발명은 임의의 특정 프로그래밍 언어를 참조하여 기술되지 않았다. 다양한 프로그래밍 언어들이 본 명세서에 기술된 것과 같은 본 발명의 교시들을 구현하는데 사용될 수 있고, 특정 언어들에 대한 임의의 참조들이 본 발명의 실시가능성 및 최적 모드의 개시를 위해 제공된다.
본 발명은 다수의 토폴로지들에서 매우 다양한 컴퓨터 네트워크 시스템들에 적절하다. 이 분야에서, 대형 네트워크들의 구성 및 관리는 스토리지 디바이스들 및 컴퓨터들을 포함하며, 이들은 인터넷과 같은 네트워크 상에서 비유사한 컴퓨터들 및 저장 디바이스들에 통신적으로 연결된다.
실시예들의 앞의 기술은 도시 및 설명의 목적으로 제공되었다. 그것은 완전하다거나 발명을 제한하도록 의도되지 않았다. 특정한 실시예들의 구성들의 개별적 엘리먼트들은 일반적으로 그 특정한 실시예에 제한되지 않으나 다만, 적용가능한 경우, 상호교환적이고, 구체적으로 도시되거나 기술되지 않았다고 하더라도 선택된 실시예에서 사용될 수 있다. 또한 동일한 것이 많은 방식들로 변화될 수 있다. 상기 변화들은 본 발명으로부터 벗어남으로 간주되지 않으며, 모든 상기 수정들은 본 발명의 범위 내에 포함되도록 의도되었다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서:
    하나 이상의 프로세서들을 가지는 제1 컴퓨팅 디바이스에 의해, 디지털 아이템에 대한 프로세싱 작업에 대한 요청을 수신하는 단계;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 제1 컴퓨팅 디바이스에서 사용가능한 컴퓨팅 리소스들에 적어도 기초하여 동작 파라미터들의 세트를 결정하는 단계, 상기 동작 파라미터들의 세트는 상기 프로세싱 작업의 파티셔닝(partitioning)에 영향을 미치며;
    상기 동작 파라미터들의 세트에 기초하여, 복수의 인공 신경 네트워크(ANN)들 중 선택된 하나의 ANN에 따라, 하나 이상의 프로세서들을 가지는 상기 제1 컴퓨팅 디바이스와 제2 컴퓨팅 디바이스 사이의 상기 프로세싱 작업을 파티셔닝하는 단계, 상기 복수의 ANN들 중 선택된 하나의 ANN은 병목 레이어와 관련하여, 상기 프로세싱 작업의 어떤 부분들이 상기 제1 컴퓨팅 디바이스 및 상기 제2 컴퓨팅 디바이스에 의해 수행될 것인지 정의하며, 상기 복수의 ANN들 각각은 지연과 계산 비용의 동적 선택을 제공하며;
    상기 복수의 ANN들 중 선택된 하나의 ANN에 따라 상기 파티셔닝된 프로세싱 작업의 프로세싱을 조정(coordinating)하는 단계, 상기 프로세싱 작업의 후반부(latter portion)로부터의 결과는 상기 프로세싱 작업의 전반부(former portion)로부터의 결과에 종속적이며;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 파티셔닝된 프로세싱 작업의 후반부의 결과에 기초하여 최종 결과를 획득하는 단계; 및
    상기 제1 컴퓨팅 디바이스에 의해, 상기 획득된 최종 결과에 기초하여 출력을 생성하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
  2. 청구항 1에 있어서,
    상기 제1 컴퓨팅 디바이스는 상기 복수의 ANN들 중 선택된 하나의 ANN을 선택하고, 중간 결과를 획득하기 위해 상기 프로세싱 작업의 전반부를 수행하고, 상기 중간 결과를 상기 제2 컴퓨팅 디바이스에 전송하고, 그리고 상기 제2 컴퓨팅 디바이스로부터, 상기 프로세싱 작업의 후반부로부터의 결과를 수신하는, 컴퓨터로 구현되는 방법.
  3. 청구항 1에 있어서,
    상기 제1 컴퓨팅 디바이스에서 상기 사용가능한 컴퓨팅 리소스들은 상기 제1 컴퓨팅 디바이스의 배터리의 충전 레벨 및 상기 제1 컴퓨팅 디바이스의 프로세싱 파워의 레벨 중 적어도 하나를 포함하는, 컴퓨터로 구현되는 방법.
  4. 청구항 1에 있어서,
    상기 제1 컴퓨팅 디바이스에서 상기 사용가능한 컴퓨팅 리소스들은 상기 제1 컴퓨팅 디바이스의 배터리의 충전 레벨 및 상기 제1 컴퓨팅 디바이스의 프로세싱 파워의 레벨 둘 모두를 포함하는, 컴퓨터로 구현되는 방법.
  5. 청구항 1에 있어서,
    상기 디지털 아이템은 오디오 파일 또는 비디오 파일이며, 상기 프로세싱 작업은 음성 인식 또는 음성-텍스트 변환인, 컴퓨터로 구현되는 방법.
  6. 청구항 1에 있어서,
    상기 디지털 아이템은 이미지 파일 또는 비디오 파일이며, 상기 프로세싱 작업은 이미지 인식 또는 텍스트 인식인, 컴퓨터로 구현되는 방법.
  7. 청구항 1에 있어서,
    상기 디지털 아이템은 텍스트의 문자열 또는 텍스트 파일이며, 상기 프로세싱 작업은 텍스트-음성 변환인, 컴퓨터로 구현되는 방법.
  8. 청구항 7에 있어서,
    상기 제1 컴퓨팅 디바이스로부터 상기 제2 컴퓨팅 디바이스로 상기 결정된 동작 파라미터들의 세트를 전송하는 단계, 상기 결정된 동작 파라미터들의 세트의 수신은 상기 제2 컴퓨팅 디바이스로 하여금 상기 복수의 ANN들 중 선택된 하나의 ANN을 선택하게 하고, 중간 결과를 획득하기 위해 상기 프로세싱 작업의 전반부를 수행하게 하며, 그리고
    상기 제1 컴퓨팅 디바이스에 의해, 상기 제2 컴퓨팅 디바이스로부터 상기 중간 결과를 수신하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
  9. 청구항 8에 있어서,
    상기 제1 컴퓨팅 디바이스는 상기 최종 결과를 획득하기 위해 상기 중간 결과를 사용하여 상기 프로세싱 작업의 후반부를 수행하는, 컴퓨터로 구현되는 방법.
  10. 청구항 2에 있어서, 상기 복수의 ANN들 각각은
    상기 프로세싱 작업의 전반부를 수행하는 제1 수의 레이어들, 상기 프로세싱 작업의 전반부의 결과는 상기 중간 결과이며, 상기 제1 수의 레이어들 중 최종 실행되는 레이어는 상기 병목 레이어이며, 및
    상기 프로세싱 작업의 후반부를 수행하는 상이한, 제2 수의 레이어들을 추가로 정의하는, 컴퓨터로 구현되는 방법.
  11. 하나 이상의 프로세서들 및 명령어의 세트가 저장된 비일시적 메모리를 포함하는 컴퓨팅 시스템으로서, 상기 명령어의 세트는 상기 하나 이상의 프로세서들에 의해 실행될 때, 상기 컴퓨팅 시스템으로 하여금 동작들을 수행하게 하며, 상기 동작들은:
    제1 컴퓨팅 디바이스에 의해, 디지털 아이템에 대한 프로세싱 작업에 대한 요청을 수신하는 동작;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 제1 컴퓨팅 디바이스에서 사용가능한 컴퓨팅 리소스들에 적어도 기초하여 동작 파라미터들의 세트를 결정하는 동작, 상기 동작 파라미터들의 세트는 상기 프로세싱 작업의 파티셔닝(partitioning)에 영향을 미치며;
    상기 동작 파라미터들의 세트에 기초하여, 복수의 인공 신경 네트워크(ANN)들 중 선택된 하나의 ANN에 따라, 상기 제1 컴퓨팅 디바이스와 제2 컴퓨팅 디바이스 사이의 상기 프로세싱 작업을 파티셔닝하는 동작, 상기 복수의 ANN들 중 선택된 하나의 ANN은 병목 레이어와 관련하여, 상기 프로세싱 작업의 어떤 부분들이 상기 제1 컴퓨팅 디바이스 및 상기 제2 컴퓨팅 디바이스에 의해 수행될 것인지 정의하며, 상기 복수의 ANN들 각각은 지연과 계산 비용의 동적 선택을 제공하며;
    상기 복수의 ANN들 중 선택된 하나의 ANN에 따라 상기 파티셔닝된 프로세싱 작업의 프로세싱을 조정(coordinating)하는 동작, 상기 프로세싱 작업의 후반부(latter portion)로부터의 결과는 상기 프로세싱 작업의 전반부(former portion)로부터의 결과에 종속적이며;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 파티셔닝된 프로세싱 작업의 후반부의 결과에 기초하여 최종 결과를 획득하는 동작; 및
    상기 제1 컴퓨팅 디바이스에 의해, 상기 획득된 최종 결과에 기초하여 출력을 생성하는 동작을 포함하는, 컴퓨팅 시스템.
  12. 청구항 11에 있어서,
    상기 제1 컴퓨팅 디바이스는 상기 복수의 ANN들 중 선택된 하나의 ANN을 선택하고, 중간 결과를 획득하기 위해 상기 프로세싱 작업의 전반부를 수행하고, 상기 중간 결과를 상기 제2 컴퓨팅 디바이스에 전송하고, 그리고 상기 제2 컴퓨팅 디바이스로부터, 상기 프로세싱 작업의 후반부로부터의 결과를 수신하는, 컴퓨팅 시스템.
  13. 청구항 11에 있어서,
    상기 제1 컴퓨팅 디바이스에서 상기 사용가능한 컴퓨팅 리소스들은 상기 제1 컴퓨팅 디바이스의 배터리의 충전 레벨 및 상기 제1 컴퓨팅 디바이스의 프로세싱 파워의 레벨 중 적어도 하나를 포함하는, 컴퓨팅 시스템.
  14. 청구항 11에 있어서,
    상기 제1 컴퓨팅 디바이스에서 상기 사용가능한 컴퓨팅 리소스들은 상기 제1 컴퓨팅 디바이스의 배터리의 충전 레벨 및 상기 제1 컴퓨팅 디바이스의 프로세싱 파워의 레벨 둘 모두를 포함하는, 컴퓨팅 시스템.
  15. 청구항 11에 있어서,
    상기 디지털 아이템은 오디오 파일 또는 비디오 파일이며, 상기 프로세싱 작업은 음성 인식 또는 음성-텍스트 변환인, 컴퓨팅 시스템.
  16. 청구항 11에 있어서,
    상기 디지털 아이템은 이미지 파일 또는 비디오 파일이며, 상기 프로세싱 작업은 이미지 인식 또는 텍스트 인식인, 컴퓨팅 시스템.
  17. 청구항 11에 있어서,
    상기 디지털 아이템은 텍스트의 문자열 또는 텍스트 파일이며, 상기 프로세싱 작업은 텍스트-음성 변환인, 컴퓨팅 시스템.
  18. 청구항 17에 있어서,
    상기 제1 컴퓨팅 디바이스로부터 상기 제2 컴퓨팅 디바이스로 상기 결정된 동작 파라미터들의 세트를 전송하는 동작, 상기 결정된 동작 파라미터들의 세트의 수신은 상기 제2 컴퓨팅 디바이스로 하여금 상기 복수의 ANN들 중 선택된 하나의 ANN을 선택하게 하고, 중간 결과를 획득하기 위해 상기 프로세싱 작업의 전반부를 수행하게 하며, 그리고
    상기 제1 컴퓨팅 디바이스에 의해, 상기 제2 컴퓨팅 디바이스로부터 상기 중간 결과를 수신하는 동작을 더 포함하는, 컴퓨팅 시스템.
  19. 청구항 18에 있어서,
    상기 제1 컴퓨팅 디바이스는 상기 최종 결과를 획득하기 위해 상기 중간 결과를 사용하여 상기 프로세싱 작업의 후반부를 수행하는, 컴퓨팅 시스템.
  20. 청구항 12에 있어서,
    상기 프로세싱 작업의 전반부를 수행하는 제1 수의 레이어들, 상기 프로세싱 작업의 전반부의 결과는 상기 중간 결과이며, 상기 제1 수의 레이어들 중 최종 실행되는 레이어는 상기 병목 레이어이며, 및
    상기 프로세싱 작업의 후반부를 수행하는 상이한, 제2 수의 레이어들을 추가로 정의하는, 컴퓨팅 시스템.
KR1020207032815A 2016-03-28 2016-12-20 적응적 인공 신경 네트워크 선택 기법들 KR102469261B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15/082,653 2016-03-28
US15/082,653 US10878318B2 (en) 2016-03-28 2016-03-28 Adaptive artificial neural network selection techniques
PCT/US2016/067715 WO2017171949A1 (en) 2016-03-28 2016-12-20 Adaptive artificial neural network selection techniques
KR1020187019717A KR102180994B1 (ko) 2016-03-28 2016-12-20 적응적 인공 신경 네트워크 선택 기법들

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187019717A Division KR102180994B1 (ko) 2016-03-28 2016-12-20 적응적 인공 신경 네트워크 선택 기법들

Publications (2)

Publication Number Publication Date
KR20200131914A KR20200131914A (ko) 2020-11-24
KR102469261B1 true KR102469261B1 (ko) 2022-11-22

Family

ID=57794365

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187019717A KR102180994B1 (ko) 2016-03-28 2016-12-20 적응적 인공 신경 네트워크 선택 기법들
KR1020207032815A KR102469261B1 (ko) 2016-03-28 2016-12-20 적응적 인공 신경 네트워크 선택 기법들

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020187019717A KR102180994B1 (ko) 2016-03-28 2016-12-20 적응적 인공 신경 네트워크 선택 기법들

Country Status (6)

Country Link
US (3) US10878318B2 (ko)
EP (2) EP3380939B1 (ko)
JP (1) JP6605742B2 (ko)
KR (2) KR102180994B1 (ko)
CN (1) CN108475214A (ko)
WO (1) WO2017171949A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190279011A1 (en) * 2018-03-12 2019-09-12 Microsoft Technology Licensing, Llc Data anonymization using neural networks
WO2019234291A1 (en) * 2018-06-08 2019-12-12 Nokia Technologies Oy An apparatus, a method and a computer program for selecting a neural network
US11386295B2 (en) 2018-08-03 2022-07-12 Cerebri AI Inc. Privacy and proprietary-information preserving collaborative multi-party machine learning
US11463750B2 (en) 2018-09-28 2022-10-04 Korea Advanced Institute Of Science And Technology Method and apparatus for transmitting adaptive video in real time using content-aware neural network
US11556846B2 (en) * 2018-10-03 2023-01-17 Cerebri AI Inc. Collaborative multi-parties/multi-sources machine learning for affinity assessment, performance scoring, and recommendation making
CN111078284B (zh) * 2018-10-19 2021-02-05 中科寒武纪科技股份有限公司 运算方法、系统及相关产品
CN111124658B (zh) * 2018-10-31 2023-09-29 伊姆西Ip控股有限责任公司 用于处理目标数据的方法、设备和计算机程序产品
CN111385598A (zh) * 2018-12-29 2020-07-07 富泰华工业(深圳)有限公司 云端装置、终端装置及影像分类方法
CN111091182A (zh) * 2019-12-16 2020-05-01 北京澎思科技有限公司 数据处理方法、电子设备及存储介质
JP7475150B2 (ja) 2020-02-03 2024-04-26 キヤノン株式会社 推論装置、推論方法、及びプログラム
WO2021236529A1 (en) * 2020-05-18 2021-11-25 Intel Corporation Methods and apparatus to train a model using attestation data
US11948059B2 (en) * 2020-11-19 2024-04-02 International Business Machines Corporation Media capture device with power saving and encryption features for partitioned neural network
US20220237044A1 (en) * 2021-01-25 2022-07-28 Lenovo (Singapore) Pte. Ltd. Dynamic client/server selection for machine learning execution
JP7352600B2 (ja) 2021-07-19 2023-09-28 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2023105469A (ja) * 2022-01-19 2023-07-31 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理システム、コンピュータ読み取り可能な記録媒体及び情報処理方法
CN115953771A (zh) * 2023-01-03 2023-04-11 北京百度网讯科技有限公司 文本图像处理方法、装置、设备和介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150310290A1 (en) 2014-04-29 2015-10-29 Google Inc. Techniques for distributed optical character recognition and distributed machine language translation

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0566015A3 (en) 1992-04-14 1994-07-06 Eastman Kodak Co Neural network optical character recognition system and method for classifying characters in amoving web
US5586215A (en) 1992-05-26 1996-12-17 Ricoh Corporation Neural network acoustic and visual speech recognition system
DE69328275T2 (de) * 1992-06-18 2000-09-28 Seiko Epson Corp Spracherkennungssystem
US5442730A (en) * 1993-10-08 1995-08-15 International Business Machines Corporation Adaptive job scheduling using neural network priority functions
US5509103A (en) * 1994-06-03 1996-04-16 Motorola, Inc. Method of training neural networks used for speech recognition
US6633846B1 (en) 1999-11-12 2003-10-14 Phoenix Solutions, Inc. Distributed realtime speech recognition system
US9183351B2 (en) * 2000-05-30 2015-11-10 Vladimir Shusterman Mobile system with network-distributed data processing for biomedical applications
US7089178B2 (en) 2002-04-30 2006-08-08 Qualcomm Inc. Multistream network feature processing for a distributed speech recognition system
US20050129306A1 (en) * 2003-12-12 2005-06-16 Xianglin Wang Method and apparatus for image deinterlacing using neural networks
US8589156B2 (en) * 2004-07-12 2013-11-19 Hewlett-Packard Development Company, L.P. Allocation of speech recognition tasks and combination of results thereof
CN1801323B (zh) * 2005-01-06 2011-03-16 台达电子工业股份有限公司 语音/语者识别系统的负载最佳化方法
US7548977B2 (en) * 2005-02-11 2009-06-16 International Business Machines Corporation Client / server application task allocation based upon client resources
US7428516B2 (en) * 2005-06-23 2008-09-23 Microsoft Corporation Handwriting recognition using neural networks
JP2010218307A (ja) 2009-03-17 2010-09-30 Hitachi Ltd 分散計算制御装置及び方法
JP5036791B2 (ja) 2009-11-19 2012-09-26 Necアクセステクニカ株式会社 データ処理システム、データ処理方法およびデータ処理プログラム
US8463025B2 (en) 2011-04-26 2013-06-11 Nec Laboratories America, Inc. Distributed artificial intelligence services on a cell phone
EP2746942A4 (en) 2011-08-15 2015-09-30 Nec Corp DISTRIBUTED PROCESS MANAGEMENT DEVICE AND DISTRIBUTED PROCESS MANAGEMENT METHOD
US9424255B2 (en) 2011-11-04 2016-08-23 Microsoft Technology Licensing, Llc Server-assisted object recognition and tracking for mobile devices
US9390370B2 (en) 2012-08-28 2016-07-12 International Business Machines Corporation Training deep neural network acoustic models using distributed hessian-free optimization
US20140375634A1 (en) * 2013-06-25 2014-12-25 Advanced Micro Devices, Inc. Hybrid client-server rendering with low latency in view
US9870537B2 (en) 2014-01-06 2018-01-16 Cisco Technology, Inc. Distributed learning in a computer network
US10127901B2 (en) * 2014-06-13 2018-11-13 Microsoft Technology Licensing, Llc Hyper-structure recurrent neural networks for text-to-speech
US20160034811A1 (en) * 2014-07-31 2016-02-04 Apple Inc. Efficient generation of complementary acoustic models for performing automatic speech recognition system combination
US20160328644A1 (en) * 2015-05-08 2016-11-10 Qualcomm Incorporated Adaptive selection of artificial neural networks
US20160364419A1 (en) * 2015-06-10 2016-12-15 Blackbird Technologies, Inc. Image and text data hierarchical classifiers
US10410096B2 (en) * 2015-07-09 2019-09-10 Qualcomm Incorporated Context-based priors for object detection in images
CN105095967B (zh) * 2015-07-16 2018-02-16 清华大学 一种多模态神经形态网络核
US10332506B2 (en) * 2015-09-02 2019-06-25 Oath Inc. Computerized system and method for formatted transcription of multimedia content
US20170076195A1 (en) * 2015-09-10 2017-03-16 Intel Corporation Distributed neural networks for scalable real-time analytics
US20170169358A1 (en) * 2015-12-09 2017-06-15 Samsung Electronics Co., Ltd. In-storage computing apparatus and method for decentralized machine learning

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150310290A1 (en) 2014-04-29 2015-10-29 Google Inc. Techniques for distributed optical character recognition and distributed machine language translation

Also Published As

Publication number Publication date
US20210081794A1 (en) 2021-03-18
KR102180994B1 (ko) 2020-11-20
EP3380939A1 (en) 2018-10-03
US20240119286A1 (en) 2024-04-11
WO2017171949A1 (en) 2017-10-05
US20170277994A1 (en) 2017-09-28
EP4152154A1 (en) 2023-03-22
EP3380939B1 (en) 2023-02-01
JP6605742B2 (ja) 2019-11-13
KR20200131914A (ko) 2020-11-24
US11847561B2 (en) 2023-12-19
KR20180094024A (ko) 2018-08-22
JP2019510287A (ja) 2019-04-11
CN108475214A (zh) 2018-08-31
US10878318B2 (en) 2020-12-29

Similar Documents

Publication Publication Date Title
KR102469261B1 (ko) 적응적 인공 신경 네트워크 선택 기법들
US11087201B2 (en) Neural architecture search using a performance prediction neural network
US10853726B2 (en) Neural architecture search for dense image prediction tasks
US11669744B2 (en) Regularized neural network architecture search
JP6790286B2 (ja) 強化学習を用いたデバイス配置最適化
KR102302609B1 (ko) 신경망 아키텍처 최적화
KR102392094B1 (ko) 컨볼루션 신경망을 이용한 시퀀스 프로세싱
US20190171935A1 (en) Robust gradient weight compression schemes for deep learning applications
CN112106081A (zh) 提供综合机器学习服务的应用开发平台和软件开发套件
US20220121906A1 (en) Task-aware neural network architecture search
CN113424199A (zh) 用于神经网络的复合模型缩放
CN113962417A (zh) 一种视频处理方法、装置、电子设备和存储介质
CN111310823A (zh) 目标分类方法、装置和电子系统
US11288097B2 (en) Automated hardware resource optimization
US20240152809A1 (en) Efficient machine learning model architecture selection
US20230169408A1 (en) Annotation of a Machine Learning Pipeline with Operational Semantics
CN114926856A (zh) 基于知识抗遗忘的地震幸存者识别方法及装置
KR20230157841A (ko) 이미지 기반 지식 그래프 증강 및 임베딩 방법과 그 시스템
CN117729391A (zh) 一种视频分割方法、装置、计算机设备、介质及产品

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant