KR20180075546A - 느리게 변하는 환경에서의 지속적인 학습 - Google Patents

느리게 변하는 환경에서의 지속적인 학습 Download PDF

Info

Publication number
KR20180075546A
KR20180075546A KR1020187013100A KR20187013100A KR20180075546A KR 20180075546 A KR20180075546 A KR 20180075546A KR 1020187013100 A KR1020187013100 A KR 1020187013100A KR 20187013100 A KR20187013100 A KR 20187013100A KR 20180075546 A KR20180075546 A KR 20180075546A
Authority
KR
South Korea
Prior art keywords
model
decision
further configured
transaction data
performance score
Prior art date
Application number
KR1020187013100A
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 KR20180075546A publication Critical patent/KR20180075546A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N99/005

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

느리게 변하는 환경에서의 지속적인 학습을 위한 접근법이 제공된다. 상기 접근법은 결정 에이전트로부터 하나 이상의 동작 요청들을 수신한다. 상기 접근법은 결정 엔진에 제1 모델을 배치한다. 상기 접근법은 관찰 기간을 개시한다. 상기 접근법은 제2 모델을 구축하며, 이 때 상기 제2 모델은 상기 관측 기간으로부터 수집된 트랜잭션 데이터를 포함한다. 상기 접근법은 테스트 기간을 개시한다. 상기 접근법은 상기 제1 모델에 대한 성능 점수 및 상기 제2 모델에 대한 성능 점수를 결정한다. 상기 접근법은 최적화된 동작을 제공하는 모델을 선택한다.

Description

느리게 변하는 환경에서의 지속적인 학습
본 발명은 일반적으로 느리게 변하는 환경(slowly-varying environment)에서의 지속적인 학습(continual learning)에 관한 것이며, 특히 외부 시스템에 최적화된 동작을 제공하는 것에 관한 것이다.
많은 실제 상황에서 의사 결정 에이전트(decision making agent)가 확률론적 환경(stochastic environment)과 상호 작용하는 순차적 의사 결정이 필요하다. 일반적으로, 언제든지, 결정 에이전트는 수행할 동작을 선택할 수 있다. 에이전트가 동작을 수행할 때마다, 환경은 결정 에이전트에게 응답(즉, 보상(reward)), 또는 평가 피드백을 제공한다. 예를 들어, 사용자가 뉴스 웹사이트에서 보내는 시간을 최대화하기 위해, 뉴스 웹 사이트는 사용자에게 특정 콘텐츠를 보여주고 사용자의 경험을 퍼스널라이징(personalizing)하기로 선택한다. 이 경우, 환경 응답은 해당 사용자가 웹 사이트에서 보낸 시간이다. 또 다른 예에서, 고객이 상점 웹사이트에서 구매하는 아이템의 양을 증가시키기 위해, 온라인 소매업체는 랜딩 페이지(landing page)에서 사용자에게 보여줄 아이템 세트를 선택한다. 이 경우, 환경 응답은 해당 사용자가 구매한 금액이다.
결정 에이전트에 의해 수행된 동작에 대한 응답을 제공하는 것 외에도, 환경은 결정 에이전트에 의해 수행되는 동작에 따라 새로운 상태로 전환할 수 있다. 일반적으로, 확률론적 환경에서, 동일한 상태-동작 쌍에 대해서조차도, 환경의 응답은 무작위적이지만, 기본적인 확률 분포(underlying probability distribution)에 부합한다. 또한, 현재 상태와 동작이 주어진 환경의 다음 상태는 기본적인 확률 분포와 함께 무작위적일 수 있다. 환경이 초기 상태에 있다고 가정하면, 결정 에이전트에 의해 수행되는 동작은 환경의 다음 상태뿐만 아니라 후속 시간 단계에서의 환경의 모든 향후 상태에도 영향을 줄 수 있다. 초기 상태에서 수행되는 동작은 다음 단계에서 수신되는 응답뿐만 아니라 후속 시간 단계에서의 환경으로부터의 모든 향후 응답들에도 영향을 줄 수 있다.
응답은 결정 에이전트에게 응답의 바람직함(desirability)을 반영하기 위해 숫자 값으로 표현될 수 있다. 현재 및 향후 응답들의 최댓값을 결정하기 위해, 결정 에이전트는 임의의 주어진 상태에서 최상의 동작을 결정하는 정책을 구성할 수 있다.
환경과의 상호 작용을 통해 바람직한 정책이나 모델을 구성하기 위한 강화 학습과 같은 이전의 기술들은 상태 공간이 이산적이고 유한한 경우에 간단한 룩업 테이블을 사용하는 것을 포함하거나, 또는 상태 공간이 연속적일 때 의사 결정 트리(decision tree) 또는 신경망(neural network)과 같은 함수 근사 방법을 사용하는 보다 정교한 패러다임을 포함한다. 오프라인 방법과 같은 다른 기술에서는, 이전에 수집된 교육 데이터를 오프라인으로 처리하여 모델을 작성하며, 이는 나중에 의사 결정자가 모든 향후 결정을 내리기 위해 실제 시스템에서 사용한다. 이 오프라인 방법은 "한번 훈련하고 영원히 사용하자(train once and use forever)"라는 패러다임으로 알려져 있을 수 있다. 온라인에서 발생하는 일괄 업데이트(batch update) 방법과 같은 또 다른 기술들에서, 모델은 결정 에이전트와 환경 간의 각 상호 작용 후에 업데이트되지 않는다. 오히려, 모델은 일정 기간이 경과하거나 일정 금액의 트랜잭션이 완료된 후에 업데이트 된다. 이 기법에서는, 모델 파라미터들을 변경하기 위해 학습 알고리즘에 의해 사용되는 단계 크기(step size)가 점차적으로 줄어들어, 충분한 시간이 경과한 후에도 모델이 변경되지 않는다. 이 점에서, 이 기법은 오프라인 방법과 유사하다.
이러한 선행 기술은 환경의 행동이 시간에 따라 변하지 않을 때 잘 작동한다. 그러나, 일반적으로 실제로는, 환경은 의사 결정 에이전트와 환경 간의 상호 작용 속도와 관련하여 시간이 지남에 따라 천천히 변한다. 예를 들어, 의류 소매업체는 매일 고객과 상호작용하는 반면, 의류 스타일은 수년에 걸쳐 점진적으로 변화한다.
일부 예시적 실시예들에서, 지속적으로 학습하도록 구성된 장치는 : 프로그램 명령들을 저장하도록 작동 가능한 적어도 하나의 메모리; 및 상기 저장된 프로그램 명령들을 판독하도록 작동 가능한 적어도 하나의 프로세서를 포함하며, 그리고 상기 저장된 프로그램 명령들에 따라, 상기 적어도 하나의 프로세서는 : 결정 에이전트로부터 하나 이상의 동작 요청들을 수신하고 그리고 최적화된 동작을 제공하는 모델을 선택하도록 구성된 결정 엔진; 결정 엔진에 제1 모델을 배치하고(deploying), 관찰 기간을 개시하고, 그리고 테스트 기간을 개시하도록 구성된 오케스트레이터(orchestrator); 제2 모델을 구축하도록 구성된 모델 빌더로서, 상기 제2 모델은 상기 관측 기간으로부터 수집된 트랜잭션 데이터를 포함하는, 모델 빌더; 및 상기 제1 모델에 대한 성능 점수 및 상기 제2 모델에 대한 성능 점수를 결정하도록 구성된 평가기로서 작동하도록 구성된다.
다른 예시적 실시예들에서, 하나 이상의 프로세서들에 의해 구현되는 지속적으로 학습하는 방법은 : 결정 에이전트로부터 하나 이상의 동작 요청들을 수신하는 단계; 결정 엔진에 제1 모델을 배치하는 단계; 관찰 기간을 개시하는 단계; 제2 모델을 구축하는 단계로서, 상기 제2 모델은 상기 관측 기간으로부터 수집된 트랜잭션 데이터를 포함하는, 단계; 및 테스트 기간을 개시하는 단계; 상기 제1 모델에 대한 성능 점수 및 상기 제2 모델에 대한 성능 점수를 결정하는 단계; 및 최적화된 동작을 제공하는 모델을 선택하는 단계를 포함한다.
또 다른 예시적 실시예들에서, 비-일시적 컴퓨터 판독 가능한 저장 매체는 하나 이상의 프로세서들에 의해 구현되고, 컴퓨터로 하여금 다음의 것들로서 기능하게 하는 지속적인 학습 시스템을 저장한다 : 결정 에이전트로부터 하나 이상의 동작 요청들을 수신하고 그리고 최적화된 동작을 제공하는 모델을 선택하도록 구성된 결정 엔진; 결정 엔진에 제1 모델을 배치하고, 관찰 기간을 개시하고, 그리고 테스트 기간을 개시하도록 구성된 오케스트레이터(orchestrator); 제2 모델을 구축하도록 구성된 모델 빌더로서, 상기 제2 모델은 상기 관측 기간으로부터 수집된 트랜잭션 데이터를 포함하는, 모델 빌더; 및 상기 제1 모델에 대한 성능 점수 및 상기 제2 모델에 대한 성능 점수를 결정하도록 구성된 평가기.
도 1은 예시적 실시예에 따른 데이터 처리 환경을 도시하는 기능 블록도이다.
도 2는 예시적 실시예에 따른 지속적인 학습 시스템의 컴포넌트들을 묘사하는 기능 블록도이다.
도 3은 예시적 실시예에 따른 (도 1의 지속적인 학습 시스템 같은) 지속적인 학습 시스템의 작업 단계들을 도시하는 흐름도이다.
본 발명의 예시적 실시예들은 일반적으로 느리게 변하는 환경에서의 지속적인 학습에 관한 것이며, 특히 외부 시스템에 최적화된 동작을 제공하는 것에 관한 것이다. 예시적인 실시예들은 그러한 시스템 없이도 인간 개입(human intervention)을 지속적으로 학습하는 것으로 인식하고, 환경의 변화를 모니터링하고 적응하는데 전문 지식이 필요하다. 환경의 행동이 시간에 따라 느리게 변화할 때의 지속적인 학습에 대한 예시적인 실시예들은 도 1 내지 도 3을 참조하여 아래에서 설명된다.
그러한 예시적인 실시예들의 구현은 다양한 형태를 취할 수 있으며, 예시적인 구현의 세부사항은 도면을 참조하여 이후에 논의된다.
도 1은 예시적 실시예에 따른 데이터 처리 환경(100)을 도시하는 기능 블록도이다. 도 1은 본 발명의 일 구현예의 도면을 제공하고, 데이터 처리 환경의 상이한 예시적 실시예들이 구현될 수 있는 임의의 제한을 의미하지 않는다. 도시된 데이터 처리 환경에 대한 많은 수정은 본 발명의 등가물의 범위와 영역을 벗어나지 않으면서 당업자에 의해 이루어질 수 있다. 일부 예시적 실시예들에서, 데이터 처리 환경(100)은 네트워크(106), 지속적인 학습 시스템(102)을 운영하는 서버(104) 및 결정 에이전트(104)를 포함한다.
네트워크(106)는 서버(104) 및 결정 에이전트(108)를 상호 연결한다. 일반적으로, 네트워크(106)는 서버(104), 결정 에이전트(108) 및 지속적인 학습 시스템(102) 간의 통신을 지원할 수 있는 연결부들 및 프로토콜들의 임의의 조합일 수 있다. 네트워크(106)는 와이어 케이블, 무선 통신 링크, 광섬유 케이블, 라우터, 스위치, 방화벽, 또는 당업자에게 알려진 유선, 무선 또는 광섬유 연결부들을 포함할 수 있는 임의의 조합을 포함할 수 있다.
서버(104)는 본 발명의 예시적 실시예들에 따른, 지속적인 학습 시스템(102)을 호스팅하는 웹-기반 서버일 수 있다. 일 예시적 실시예에서, 서버(104)는 네트워크(106)를 통해 데이터를 수신 및 발송할 수 있고 당업자에게 알려진 컴퓨터 판독 가능한 프로그램 명령들을 수행할 수 있는 임의의 프로그램 가능한 전자 기기 또는 컴퓨팅 시스템일 수 있다. 일부 예시적 실시예들에서, 서버(104)는 환경과 관련된 모든 엔티티들에 대한 상태 정보, 트랜잭션 데이터 및 다양한 모델들 또는 정책들을 포함하지만 이에 한정되지 않는 데이터를 저장하기 위한 데이터 저장 리포지토리(repositiory)(미도시)를 포함할 수 있다. 데이터 저장 리포지토리는 파일들 및 데이터를 수신, 저장 및 발송할 수 있고 네트워크(106)를 통해 서버(104) 및 결정 에이전트(108)와 통신할 수 있는 컴퓨터 판독 가능한 프로그램 명령들을 수행할 수 있는 임의의 프로그램 가능한 전자 기기 또는 컴퓨팅 시스템일 수 있다. 일부 예시적 실시예들에서, 서버(104)는 네트워크(106)를 통해 지속적인 학습 시스템(102)을 운영하는, 분산 시스템 내의 컴퓨터 노드들의 클러스터일 수 있다. 예시적 실시예에서, 서버(104)는 외부 시스템에 서비스를 제공하는 데이터베이스들(미도시)을 포함한다. 다른 예시적 실시예에서, 지속적인 학습 시스템(102)은 서버(104) 상에 국부적으로 상주한다. 또 다른 예시적 실시예에서, 지속적인 학습 시스템(102)은 하나 이상의 컴퓨터 노드들에 국부적으로 상주한다.
일부 예시적 실시예들에서, 서버(104)는 결정 에이전트(108)에게 최적화된 동작을 선택 및 제공하기 위해 컴포넌트들 또는 모델들을 사용하는 지속적인 학습 시스템(102)을 포함한다. 예를 들어, 지속적인 학습 시스템(102)은 결정 에이전트(108)로부터 하나 이상의 동작 요청들을 수신하기 위한 다양한 기능들을 수행하기 위해 결정 엔진(202)을 이용한다. 지속적인 학습 시스템(102)은, 결정 엔진(202)을 이용하여, 최적화된 동작을 제공하는 모델을 선택할 수 있다. 지속적인 학습 시스템(102)은, 오케스트레이터(orchestrator)(212)를 이용하여, 제1 모델을 결정 엔진(202)에 배치(deploying)하고, 관찰 기간을 개시하고, 그리고 테스트 기간을 개시할 수 있다. 다른 예에서, 지속적인 학습 시스템(102)은 제2 모델을 구축하기 위해 모델 빌더(model builder)(210)를 이용한다. 마지막 예에서, 지속적인 학습 시스템(102)은 제1 모델에 대한 성능 점수 및 제2 모델에 대한 성능 점수를 결정하기 위해 평가기(evaluator)(214)를 이용한다.
일부 예시적 실시예들에서, 지속적인 학습 시스템(102)은 서버(104) 같은 중앙 서버 상에서 작동하며, 그리고 모바일 애플리케이션을 통해 결정 에이전트(108) 같은 하나 이상의 결정 에이전트들에 의해 이용될 수 있다. 이 때, 상기 모바일 애플리케이션은 중앙 서버 또는 제3자 애플리케이션 스토어로부터 다운로드되고 상기 하나 이상의 결정 기기들 상에서 실행된다. 다른 예시적 실시예에서, 지속적인 학습 시스템(102)은 소프트웨어-기판 프로그램일 수 있으며, 서버(104) 같은 중앙 서버로부터 다운로드될 수 있고, 결정 에이전트(108) 같은 하나 이상의 결정 에이전트들 상에 설치될 수 있다. 또 다른 예시적 실시예에서, 지속적인 학습 시스템(102)은 제3자 클라우드 서비스 제공자(미도시)에 의해 제공된 소프트웨어 서비스로서 이용될 수 있다.
일부 예시적 실시예들에서, 결정 에이전트(108)는 서버(104)에 대한 에이전트이며, 그리고 네트워크(106)를 통해 서버(104)와 통신할 수 있는, 예를 들어 데스크탑 컴퓨터, 랩탑 컴퓨터, 스마트폰, 또는 당업자에게 공지된 임의의 다른 전자 기기 또는 컴퓨팅 시스템일 수 있다. 예를 들어, 결정 에이전트(108)는 지속적인 학습 시스템(102)에 액세스하고, 동작 및 보상(reward)에 대한 요청을 제공하기 위해 네트워크(106) 같은 네트워크에 연결할 수 있는 랩탑 컴퓨터일 수 있다. 다른 예시적 실시예들에서, 결정 에이전트(108)는 모바일 애플리케이션 또는 모바일 운영 시스템을 실행할 수 있는 임의의 적합한 유형의 모바일 기기일 수 있다.
예시적 실시예에서, 결정 에이전트(108)는 환경(예를 들어, 의류 소매업자 웹사이트 또는 뉴스 웹사이트)과 상호 작용한다. 결정 에이전트(108)는 지속적인 학습 시스템(102)에게 동작을 요청할 수 있다. 다른 예시적 실시예에서, 결정 에이전트(108)는 요청에서 환경 상태(예를 들어, 뉴스 웹 사이트의 기사에서 사용자의 지속 시간, 또는 사용자에 의한 의류 구매의 달러 금액)를 제공할 수 있다. 또한, 결정 에이전트(108)는 환경의 상태 대신에 요청에 대응하는 엔티티의 식별자를 제공할 수 있다는 것이 당업자에 의해 이해될 수 있다.
도 2는 예시적 실시예에 따른, 지속적인 학습 시스템(102)의 컴포넌트들을 묘사하는 기능 블록도이다. 일부 예시적 실시예들에서, 컴포넌트들은 지속적인 학습 시스템(102)과 함께 국부적으로 상주한다(locally residing). 다른 예시적 실시예들에서, 컴포넌트들은, 개별적으로 또는 집합적으로(collectively), 지속적인 학습 시스템(102)으로부터 원격으로 상주하고, 그리고 네트워크(106)를 통해 지속적인 학습 시스템(102)에 연결된다.
일부 예시적 실시예들에서, 결정 엔진(202)은 결정 에이전트(108)로부터 동작에 대한 요청을 수신한다. 결정 엔진(202)은 모델 데이터베이스(208)에서 모델과 연관된 파라미터들을 검색한다. 모델 빌더(210)는 모델 데이터베이스(208)에 시드하는(seeding) 제1 모델을 오프라인으로 구축한다. 동작에 대한 요청을 수신하는 것에 응답하여, 결정 엔진(202)은 현재 모델을 참고하고(consulting), 그리고 결정 에이전트(108)에게 추천 동작을 제공한다. 결정 에이전트(108)는 추천 동작을 수행한다. 환경에서 수행된 동작에 응답하여, 결정 에이전트(108)는 지속적인 학습 시스템(102)에게 응답/보상을 제공한다.
일부 예시적 실시예들에서, 결정 엔진(202)은 동작이 결정 에이전트(108)에게 발송되었으며 결정 에이전트(108)가 동작에 대한 응답을 발송했음을 아카이버(archiver)(204)에게 통지한다. 아카이버(204)는 트랜잭션 데이터베이스(206)에 트랜잭션 정보를 기록한다. 다른 예시적 실시예들에서, 아카이버(204)는 시간 또는 크기 제한이 도달될 때까지 트랜잭션들을 버퍼링(buffering)할 수 있으며, 그 다음 벌크 방식으로 트랜잭션 데이터베이스(206)에 기록할 수 있다.
일부 예시적 실시예들에서, 오케스트레이터(212)는 지속적인 학습 시스템(102)의 중앙 조정자(central coordinator)이다. 오케스트레이터(212)는 하나 이상의 파라미터들을 포함할 수 있으며, 여기서 파라미터들은 관찰 기간 및 테스트 기간으로 구성된다. 오케스트레이터(212)는 관찰 기간 및 테스트 기간을 개시할 수 있다. 예시적 실시예에서, 관찰 기간은 결정 엔진(202)이 결정 에이전트(108)로부터의 요청들에 대한 동작들을 규정하기 위해 제1 모델을 사용하는 시간의 양일 수 있다. 아카이버(204)는 관찰 기간 동안 트랜잭션 데이터베이스(206)에 트랜잭션 데이터를 기록한다. 예시적 실시예에서, 테스트 기간은 결정 엔진(202)이 결정 에이전트(108)로부터의 요청들에 대한 동작들을 규정하기 위해 제1 모델 및 제2 모델을 사용하는 시간의 양이다. 다른 예시적 실시예들에서, 결정 엔진(202)은 테스트 기간 동안 2 개 이상의 모델들을 사용할 수 있다. 또 다른 예시적 실시예들에서, 오케스트레이터(212)는 테스트 기간 동안 사용되는 모델들에 대한 트래픽의 상대적 분할(split)을 나타내는 파라미터, 상이한 모델들의 성능을 비교할 때 신뢰 수준을 특정하는 파라미터, 그리고 모델들의 평균 성능 차이를 비교하기 위한 원하는 임계값에 대응하는 파라미터로 구성될 수 있다.
일부 예시적 실시예들에서, 오케스트레이터(212)는 모델들을 구축하기 위해 모델 빌더(210)를 개시한다. 모델 빌더(210)는 언제든지 실행될 수 있다. 예시적 실시예에서, 모델 빌더(210)는 트랜잭션 데이터베이스(206)로부터 트랜잭션 데이터를 판독하고, 그리고 당업계에 공지된 강화 학습을 위한 다양한 기계 학습 기술들(예를 들어, Q-Learning, SARSA 및 SARSA(λ))을 통해 새로운 모델을 훈련시킨다. 모델 빌더(104)는 새로운 모델이 형성된 후 모델 데이터베이스(208)에 새로운 모델을 저장한다.
일부 예시적 실시예들에서, 평가기(214)는 A/B 테스트 평가기, 밴딧 평가기(Bandit Evaluator), 또는 시뮬레이션 평가기 중 적어도 하나일 수 있다. 평가기(214)가 A/B 테스트 평가기를 구현하는 예시적 실시예에서, 평가기(214)는 트랜잭션 데이터베이스(206)에서 트랜잭션 데이터를 판독하고 그리고 통계적 가설 테스트 방법들을 사용하여 테스트 기간 동안 사용 중인 모델들의 성능을 비교한다. 평가기(214)가 밴딧 평가기를 구현하는 예시적 실시예에서, 평가기(214)는 테스트 기간 동안 테스트되는 각각의 모델과 연관된 상대적 가중치에 대한 변경들을 규정하기 위해 2-아암(arm) 또는 멀티-아암 밴딧 접근법을 사용한다. 평가기(214)가 시뮬레이션 평가기를 구현하는 또 다른 예시적 실시예에서, 평가기(214)는 트랜잭션 데이터베이스(206)에서 트랜잭션 데이터를 판독하고, 환경의 모델을 구축하며, 그리고 시뮬레이션된 환경에서 이들을 테스트함으로써 대안 모델들의 성능을 비교한다.
도 3은 예시적 실시예에 따라, 일반적으로 참조번호 300으로 표시된, 지속적인 학습 시스템(102)의 작업 단계들을 도시하는 흐름도이다. 본원에 논의된 일부 예시적 실시예들에서, 결정 에이전트(108)는 네트워크(106)를 통해 서버(104)에 연결함으로써 지속적인 학습 시스템(102)을 개시할 수 있다. 지속적인 학습 시스템(102)은 상기에 논의된 도 2를 참조하여, 지속적인 학습 시스템(102)의 컴포넌트들을 이용하는 작업 단계들을 구현한다.
오케스트레이터(212)는 제1 모델을 배치한다(302). 일부 예시적 실시예들에서, 오케스트레이터(212)는 모델 데이터베이스(208)에서 제1 모델을 검색하고, 결정 엔진(202)에 제1 모델(예를 들어, 초기 시드 모델)을 배치한다. 모델 빌더(210)는 레거시 시스템으로부터 수집된 트랜잭션 데이터, 인간 전문가에 의해 설계된 규칙 기반 시스템으로부터 생성된 트랜잭션 데이터, 또는 이용 가능한 정보를 사용하는 당업계에 공지된 임의의 다른 방법을 사용하여 오프라인에서 제1 모델을 구축할 수 있다. 모델 빌더(210)는 모델 데이터베이스(208)에 제1 모델을 저장할 수 있다. 일부 예시적 실시예들에서, 제1 모델은 모델 A로 지칭될 수 있다.
오케스트레이터(212)는 관찰 기간을 개시한다(304). 일부 예시적 실시예들에서, 오케스트레이터(212)는 관찰 기간 파라미터를 사용하여 관찰 기간을 개시한다. 관찰 기간은 미리 결정된 시간 기간(예를 들어, 1 시간, 1 일, 2 주, 1 년) 동안 구성될 수 있다. 관찰 기간 동안, 결정 엔진(202)은 제1 모델을 사용하여 결정 에이전트(108)로부터의 요청을 서비스한다. 아카이버(204)는 관찰 기간에서 요청된 서비스들(즉, 요청된 동작들, 동작들, 제공된 동작들에 대한 응답들/보상들)에 관한 트랜잭션 데이터를 트랜잭션 데이터베이스(206)에 기록한다.
일부 예시적 실시예들에서, 관찰 기간 동안, 지속적인 학습 시스템(102)은 관찰 기간이 만료되었는지를 판단하기 위해 주기적으로 "깨어난다(wake-up)". 지속적인 학습 시스템(102)이 관찰 기간이 만료되지 않았다고 판단하면, 지속적인 학습 시스템은 관찰 기간이 만료되었는지를 판단하기 위해 다음 미리 결정된 폴링 시간 간격까지 "슬립(sleep) 상태"로 되돌아간다. 지속적인 학습 시스템(102)이 관찰 기간이 만료되었다고 판단한다면, 지속적인 학습 시스템(102)은 아래에 설명되는 바와 같이 진행한다.
관찰 기간이 종료하는 것에 응답하여, 모델 빌더(210)는 제2 모델을 구축한다(306). 일부 예시적 실시예들에서, 모델 빌더(210)는 관찰 기간 동안 수집되고 트랜잭션 데이터베이스(206)에 저장된 트랜잭션 데이터를 사용하여 제2 모델을 구축한다. 예시적 실시예에서, 제2 모델은 모델 B로 지칭될 수 있다. 다른 예시적 실시예들에서, 모델 빌더(210)는 하나 이상의 새로운 모델을 구축한다.
오케스트레이터(212)는 제2 모델을 배치한다(308). 일부 예시적 실시예들에서, 오케스트레이터(212)는 모델 데이터베이스(208)에서 제2 모델을 검색하며, 그리고 결정 엔진(202)에 제2 모델을 배치한다. 일부 예시적 실시예들에서, 오케스트레이터(212)는 결정 에이전트(108)의 일정 비율의 사용자들에 제2 모델을 배치한다. 예를 들어, 제1 모델은 사용자의 80 %에 대해 구성될 수 있고, 그리고 제2 모델은 나머지 20 %의 사용자들에게 적용될 수 있다. 다른 예시적 실시예에서, 오케스트레이터(212)는 결정 에이전트(108)의 모든 사용자들에게 제2 모델을 배치한다.
배치되는 제2 모델에 응답하여, 오케스트레이터(212)는 테스트 기간을 개시한다(310). 일부 예시적 실시예들에서, 오케스트레이터(212)는 테스트 기간 파라미터를 사용하여 테스트 기간을 개시한다. 테스트 기간은 미리 결정된 시간 기간(예를 들어, 1 시간, 1 일, 2 주, 1 년) 동안 구성될 수 있다. 테스트 기간 동안, 결정 엔진(202)은 제1 모델 및 제2 모델을 사용하여 결정 에이전트(108)로부터의 요청들을 서비스한다. 아카이버(204)는 테스트 기간에 요청된 서비스들(즉, 동작 요청들, 동작들, 제공된 동작들에 대한 응답들/보상들)에 관한 트랜잭션 데이터를 트랜잭션 데이터베이스(206)에 기록한다. 예시적 실시예에서, 트랜잭션 데이터 로그 엔트리는 대응 트랜잭션에 사용되는 모델을 고유하게 식별하기 위해 모델 식별자를 포함할 수 있다.
일부 예시적 실시예들에서, 테스트 기간 동안, 지속적인 학습 시스템(102)은 테스트 기간이 만료되었는지를 판단하기 위해 주기적으로 "깨어난다(wake-up)". 지속적인 학습 시스템(102)이 테스트 기간이 만료되지 않았다고 판단하면, 지속적인 학습 시스템은 테스트 기간이 만료되었는지를 판단하기 위해 다음 미리 결정된 폴링 시간 간격까지 "슬립(sleep) 상태"로 되돌아간다. 지속적인 학습 시스템(102)이 테스트 기간이 만료되었다고 판단한다면, 지속적인 학습 시스템(102)은 아래에 설명되는 바와 같이 진행한다.
테스트 기간이 종료하는 것에 응답하여, 지속적인 학습 시스템(102)은 제1 모델 점수 및 제2 모델 점수를 결정한다(312). 일부 예시적 실시예들에서, 지속적인 학습 시스템(102)은 제1 모델 점수 및 제2 모델 점수를 결정하기 위해 평가기(214)를 이용한다. 평가기(214)는 A/B 테스트 평가기, 밴딧 평가기, 또는 시뮬레이션 평가기일 수 있다.
평가기(214)가 A/B 테스트 평가기를 구현하는 예시적 실시예에서, 평가기(214)는 트랜잭션 데이터베이스(206)로부터의 트랜잭션 데이터를 처리하고, 그리고 모델 B(즉, 제2 모델)가 모델 A(즉, 제1 모델) 보다 통계적으로 양호한지 여부에 관해 2진 결정(binary decision)을 계산한다. 예를 들어, 평가기(214)는 스튜던트 t-테스트(Student's t-test), Welch t-테스트(Welch's t-test), 또는 공지된 임의의 다른 가설 테스트 방법과 같은 통계적 가설 테스트 기술들을 구현할 수 있다. 또 다른 예시적 실시예에서, 평가기(214)는 모델 B가 A/B 테스트 평가기에서 미리 결정된 임계값(즉, 크기) 만큼 모델 A보다 더 낫다는 가설을 테스트할 수 있다.
결정 엔진(202)은 제2 모델이 제1 모델을 능가하는지를 결정한다(결정 블록(318)). 결정 엔진(202)이 제2 모델이 제1 모델을 능가한다고 판단한다면(결정 블록(314), "네" 브랜치), 결정 엔진(202)은 제2 모델을 선택하며(316), 종료한다. 예시적 실시예에서, 모델 B가 A/B 가설 테스트에서 모델 A보다 통계적으로 성능이 우수할 때, 결정 엔진(202)은 모델 B를 모델 A로 대체한다. 결정 엔진(202)이 제2 모델이 제1 모델을 능가하는지 여부를 결정하지 않는 경우(결정 블록(314), "아니오" 브랜치), 결정 엔진(202)은 제1 모델을 선택하며(318), 종료한다. 예시적 실시예에서, 결정 엔진(202)이 모델 B가 모델 A를 능가하는지 여부를 결정할 수 없을 때, 결정 엔진(202)은 모델 B를 버리고 모델 A를 모든 사용자들에게 적용한다.
또 다른 예시적 실시예에서, 평가기(214)는 밴딧 평가기를 구현한다. 평가기(214)는 제1 모델 및 제2 모델을 평가하기 위해 2-아암 또는 멀티-아암 밴딧 접근법을 구현한다. 오케스트레이터(212)는 테스트 기간 동안 제1 모델 및 제2 모델에 일정 비율의 트래픽(즉, 동작 요청들)을 동적으로 할당한다. 원하는 신뢰도 레벨이 테스트 기간 내에 도달되면, 결정 엔진(202)은 모든 사용자들에 대해 제2 모델을 선택한다. 제2 모델이 원하는 신뢰도 레벨에 도달하지 않는 경우에, 결정 엔진(202)은 모든 사용자들에 대해 제1 모델을 선택한다.
또 다른 예시적 실시예에서, 평가기(214)는 시뮬레이션 평가기를 구현한다. 평가기(214)가 시뮬레이션 평가기를 구현하는 경우, 지속적인 학습 시스템(102)은 테스트 기간 동안 결정 엔진(202)에 제2 모델을 배치하지 않는다. 오히려, 평가기(214)는 시뮬레이션된 환경에서 제1 모델의 성능과 제2 모델의 성능을 비교함으로써 제2 모델의 성능을 테스트한다. 예시적 실시예에서, 평가기(214)는 트랜잭션 데이터베이스(206)에 저장된 트랜잭션 데이터를 사용하여 결정 에이전트(108) 및 환경의 시뮬레이션을 구축하고, 이 때, 초기 상태들은 관찰 기간 끝에서 사용자들의 상태들이다(예를 들어, 사용자가 웹 사이트를 방문한 횟수, 사용자가 구매한 달러 금액 등). 예시적 실시예에서, 평가기(214)는 각각의 사용자에 대한 제1 모델 및 제2 모델에 대한 미리 결정된 수의 단계들을 시뮬레이션한다. 평가기(214)는 각 시뮬레이션 실행의 마지막 단계의 마지막에 각 모델에 대한 평균 누적 순 보상(average cumulative net reward)을 결정한다. 결정 엔진(202)은 제2 모델의 평균 누적 순 보상이 제1 모델의 평균 누적 순 보상을 능가하는지 여부를 판단한다. 결정 엔진(202)이 상기 제2 모델이 상기 제1 모델을 능가한다고 판단한다면, 결정 엔진(202)은 제2 모델을 선택하고, 종료한다. 결정 엔진(202)이 제2 모델이 제1 모델을 능가하는지 여부를 판단하지 않는 경우, 결정 엔진(202)은 제1 모델을 선택하고, 종료한다.
일부 예시적 실시예들에서, 평가기(214)는 두 개 이상의 평가기들을 순차적으로 구현한다. 예를 들어, 평가기(214)는 시뮬레이션 평가기를 구현하며, 그리고 그 다음, 평가기(214)는 결정 엔진(202)이 제2 모델이 제1 모델을 능가하는지 여부를 판단하도록 A/B 테스트 평가기를 구현할 수 있다.
본 발명은 예시적인 실시예들에 의해 설명되었지만, 이에 한정되는 것은 아니다. 오히려, 첨부된 청구항은 발명의 등가물들의 범위 및 영역을 벗어나지 않고 당업자에 의해 이루어질 수 있는 다른 변형예들 및 예시적 실시예들을 포함하도록 광범위하게 해석되어야 한다.

Claims (20)

  1. 지속적으로 학습하도록 구성된 장치로서,
    상기 장치는 :
    프로그램 명령들을 저장하도록 작동 가능한 적어도 하나의 메모리; 및
    상기 저장된 프로그램 명령들을 판독하도록 작동 가능한 적어도 하나의 프로세서를 포함하며,
    상기 저장된 프로그램 명령들에 따라, 상기 적어도 하나의 프로세서는 :
    결정 에이전트로부터 하나 이상의 동작 요청들을 수신하고 그리고 최적화된 동작을 제공하는 모델을 선택하도록 구성된 결정 엔진;
    결정 엔진에 제1 모델을 배치하고(deploying), 관찰 기간을 개시하고, 그리고 테스트 기간을 개시하도록 구성된 오케스트레이터(orchestrator);
    제2 모델을 구축하도록 구성된 모델 빌더로서, 상기 제2 모델은 상기 관측 기간으로부터 수집된 트랜잭션 데이터를 포함하는, 모델 빌더; 및
    상기 제1 모델에 대한 성능 점수 및 상기 제2 모델에 대한 성능 점수를 결정하도록 구성된 평가기로서 작동하도록 구성되는, 장치.
  2. 청구항 1에 있어서,
    상기 오케스트레이터는 상기 결정 엔진에 상기 제2 모델을 배치하도록 더 구성되며,
    상기 제1 모델은 제1 세트의 하나 이상의 사용자들에게 배치되며,
    상기 제2 모델은 제2 세트의 하나 이상의 사용자들에게 배치되고,
    상기 결정 엔진은 상기 결정 에이전트에게 상기 최적화된 동작을 제공하도록 더 구성되는, 장치.
  3. 청구항 1에 있어서,
    상기 결정 엔진은 상기 테스트 기간 동안 상기 결정 에이전트로부터 하나 이상의 동작 요청들을 서비스하도록 더 구성되며,
    상기 적어도 하나의 프로세서는 트랜잭션 데이터를 저장하도록 구성된 아카이버(archiver)로서 작동하도록 구성되며,
    트랜잭션 데이터는 적어도 하나 이상의 동작 요청들, 하나 이상의 최적화된 동작들, 또는 상기 하나 이상의 최적화된 동작들에 대한 응답들을 포함하는, 장치.
  4. 청구항 1에 있어서,
    상기 평가기는 상기 테스트 기간으로부터 상기 제1 모델 및 상기 제2 모델의 트랜잭션 데이터를 결정하도록 더 구성되며,
    상기 평가기는 통계적 가설 테스트를 사용하여 상기 제1 모델 성능 점수 및 상기 제2 모델 성능 점수를 결정하도록 더 구성되는, 장치.
  5. 청구항 1에 있어서,
    상기 오케스트레이터는 상기 테스트 기간 동안 상기 제1 모델 및 상기 제2 모델에 트래픽을 할당하도록 더 구성되며,
    상기 오케스트레이터는 상기 제1 모델 및 상기 제2 모델로의 트래픽 할당을 변경하도록 더 구성되는, 장치.
  6. 청구항 1에 있어서,
    상기 평가기는 저장된 트랜잭션 데이터를 사용하여 외부 시스템을 시뮬레이션하도록 더 구성되며,
    상기 시뮬레이션된 외부 시스템은 상기 결정 에이전트 및 환경을 포함하며,
    상기 평가기는 상기 제1 모델에 대한 평균 누적 순 응답(average cumulative net response) 및 상기 제2 모델에 대한 평균 누적 순 응답을 결정하도록 더 구성되는, 장치.
  7. 청구항 1에 있어서,
    상기 오케스트레이터는 하나 이상의 파라미터들을 저장하도록 더 구성되며,
    파라미터는 상기 테스트 기간 동안 사용되는 모델들에 대한 트래픽의 상대적 분할(split)을 나타내는 파라미터, 상기 제1 모델 및 상기 하나 이상의 제2 모델의 성능을 비교할 때 신뢰 수준을 특정하는 파라미터, 그리고 상기 제1 모델 및 상기 하나 이상의 제2 모델의 평균 성능을 비교하기 위한 원하는 임계값에 대응하는 파라미터 중 적어도 하나를 포함하는, 장치.
  8. 청구항 1에 있어서,
    상기 모델 빌더는 레거시 시스템으로부터 수집되거나 규칙-기반 시스템으로부터 생성된 트랜잭션 데이터를 사용하여 상기 제1 모델을 구축하도록 더 구성되는, 장치.
  9. 하나 이상의 프로세서들에 의해 구현되는 지속적으로 학습하는 방법으로서,
    상기 방법은 :
    결정 에이전트로부터 하나 이상의 동작 요청들을 수신하는 단계;
    결정 엔진에 제1 모델을 배치하는 단계;
    관찰 기간을 개시하는 단계;
    제2 모델을 구축하는 단계로서, 상기 제2 모델은 상기 관측 기간으로부터 수집된 트랜잭션 데이터를 포함하는, 단계; 및
    테스트 기간을 개시하는 단계;
    상기 제1 모델에 대한 성능 점수 및 상기 제2 모델에 대한 성능 점수를 결정하는 단계; 및
    최적화된 동작을 제공하는 모델을 선택하는 단계를 포함하는, 방법.
  10. 청구항 9에 있어서,
    상기 방법은 :
    상기 결정 엔진에 상기 제2 모델을 배치하는 단계로서, 상기 제1 모델은 제1 세트의 하나 이상의 사용자들에게 배치되며, 그리고 상기 제2 모델은 제2 세트의 하나 이상의 사용자들에게 배치되는, 단계;
    상기 결정 에이전트에게 상기 최적화된 동작을 제공하는 단계를 더 포함하는, 방법.
  11. 청구항 9에 있어서,
    상기 테스트 기간 동안 상기 결정 에이전트로부터 하나 이상의 동작 요청들을 서비스하는 단계; 및
    트랜잭션 데이터를 저장하는 단계를 더 포함하며,
    트랜잭션 데이터는 적어도 하나 이상의 동작 요청들, 하나 이상의 최적화된 동작들, 또는 상기 하나 이상의 최적화된 동작들에 대한 응답들을 포함하는, 방법.
  12. 청구항 9에 있어서,
    상기 제1 모델에 대한 성능 점수 및 상기 제2 모델에 대한 성능 점수를 결정하는 단계는 :
    상기 테스트 기간으로부터 상기 제1 모델 및 상기 제2 모델의 트랜잭션 데이터를 결정하는 단계;
    통계적 가설 테스트를 사용하여 상기 제1 모델 성능 점수 및 상기 제2 모델 성능 점수를 결정하는 단계를 포함하는, 방법.
  13. 청구항 9에 있어서,
    상기 제1 모델에 대한 성능 점수 및 상기 제2 모델에 대한 성능 점수를 결정하는 단계는 :
    상기 테스트 기간 동안 상기 제1 모델 및 상기 제2 모델에 트래픽을 할당하는 단계; 및
    상기 제1 모델 및 상기 제2 모델로의 트래픽 할당을 변경하는 단계를 포함하는, 방법.
  14. 청구항 9에 있어서,
    상기 제1 모델에 대한 성능 점수 및 상기 제2 모델에 대한 성능 점수를 결정하는 단계는 :
    저장된 트랜잭션 데이터를 사용하여 외부 시스템을 시뮬레이션하는 단계로서, 상기 시뮬레이션된 외부 시스템은 상기 결정 에이전트 및 환경을 포함하는, 단계; 및
    상기 제1 모델에 대한 평균 누적 순 응답(average cumulative net response) 및 상기 제2 모델에 대한 평균 누적 순 응답을 결정하는 단계를 더 포함하는, 방법.
  15. 하나 이상의 프로세서들에 의해 구현되고, 지속적인 학습 시스템을 저장하는 비-일시적 컴퓨터 판독 가능한 저장 매체로서,
    상기 지속적인 학습 시스템은 컴퓨터로 하여금 :
    결정 에이전트로부터 하나 이상의 동작 요청들을 수신하고 그리고 최적화된 동작을 제공하는 모델을 선택하도록 구성된 결정 엔진;
    결정 엔진에 제1 모델을 배치하고, 관찰 기간을 개시하고, 그리고 테스트 기간을 개시하도록 구성된 오케스트레이터(orchestrator);
    제2 모델을 구축하도록 구성된 모델 빌더로서, 상기 제2 모델은 상기 관측 기간으로부터 수집된 트랜잭션 데이터를 포함하는, 모델 빌더; 및
    상기 제1 모델에 대한 성능 점수 및 상기 제2 모델에 대한 성능 점수를 결정하도록 구성된 평가기로서 기능하게 하는, 비-일시적 컴퓨터 판독 가능한 저장 매체.
  16. 청구항 15에 있어서,
    상기 오케스트레이터는 상기 결정 엔진에 상기 제2 모델을 배치하도록 더 구성되며,
    상기 제1 모델은 제1 세트의 하나 이상의 사용자들에게 배치되며,
    상기 제2 모델은 제2 세트의 하나 이상의 사용자들에게 배치되고,
    상기 결정 엔진은 상기 결정 에이전트에게 상기 최적화된 동작을 제공하도록 더 구성되는, 비-일시적 컴퓨터 판독 가능한 저장 매체.
  17. 청구항 15에 있어서,
    상기 결정 엔진은 상기 테스트 기간 동안 상기 결정 에이전트로부터 하나 이상의 동작 요청들을 서비스하도록 더 구성되며,
    아카이버는 트랜잭션 데이터를 저장하도록 구성되며,
    트랜잭션 데이터는 적어도 하나 이상의 동작 요청들, 하나 이상의 최적화된 동작들, 또는 상기 하나 이상의 최적화된 동작들에 대한 응답들을 포함하는, 비-일시적 컴퓨터 판독 가능한 저장 매체.
  18. 청구항 15에 있어서,
    상기 평가기는 상기 테스트 기간으로부터 상기 제1 모델 및 상기 제2 모델의 트랜잭션 데이터를 결정하도록 더 구성되며,
    상기 평가기는 통계적 가설 테스트를 사용하여 상기 제1 모델 성능 점수 및 상기 제2 모델 성능 점수를 결정하도록 더 구성되는, 비-일시적 컴퓨터 판독 가능한 저장 매체.
  19. 청구항 15에 있어서,
    상기 오케스트레이터는 상기 테스트 기간 동안 상기 제1 모델 및 상기 제2 모델에 트래픽을 할당하도록 더 구성되며,
    상기 오케스트레이터는 상기 제1 모델 및 상기 제2 모델로의 트래픽 할당을 변경하도록 더 구성되는, 비-일시적 컴퓨터 판독 가능한 저장 매체.
  20. 청구항 15에 있어서,
    상기 평가기는 저장된 트랜잭션 데이터를 사용하여 외부 시스템을 시뮬레이션하도록 더 구성되며,
    상기 시뮬레이션된 외부 시스템은 상기 결정 에이전트 및 환경을 포함하며,
    상기 평가기는 상기 제1 모델에 대한 평균 누적 순 응답(average cumulative net response) 및 상기 제2 모델에 대한 평균 누적 순 응답을 결정하도록 더 구성되는, 비-일시적 컴퓨터 판독 가능한 저장 매체.
KR1020187013100A 2015-10-08 2016-10-11 느리게 변하는 환경에서의 지속적인 학습 KR20180075546A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562238821P 2015-10-08 2015-10-08
US62/238,821 2015-10-08
PCT/US2016/056419 WO2017062984A1 (en) 2015-10-08 2016-10-11 Continual learning in slowly-varying environments

Publications (1)

Publication Number Publication Date
KR20180075546A true KR20180075546A (ko) 2018-07-04

Family

ID=58488745

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187013100A KR20180075546A (ko) 2015-10-08 2016-10-11 느리게 변하는 환경에서의 지속적인 학습

Country Status (3)

Country Link
US (1) US10783449B2 (ko)
KR (1) KR20180075546A (ko)
WO (1) WO2017062984A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190103103A (ko) * 2019-08-16 2019-09-04 엘지전자 주식회사 인공지능 무빙 에이전트
KR102479771B1 (ko) * 2022-05-30 2022-12-21 (주)유알피시스템 자동 학습과 배포를 통한 딥러닝 분석모델 관리 시스템 및 관리 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11227047B1 (en) * 2018-06-29 2022-01-18 Fireeye Security Holdings Us Llc System and method for improved end-to-end cybersecurity machine learning and deployment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311144B1 (en) * 1998-05-13 2001-10-30 Nabil A. Abu El Ata Method and apparatus for designing and analyzing information systems using multi-layer mathematical models
US8099376B2 (en) 2007-02-22 2012-01-17 Fair Isaac Corporation Rule-based management of adaptive models and agents
US8782219B2 (en) * 2012-05-18 2014-07-15 Oracle International Corporation Automated discovery of template patterns based on received server requests
US9317812B2 (en) * 2012-11-30 2016-04-19 Facebook, Inc. Customized predictors for user actions in an online system
US9576262B2 (en) * 2012-12-05 2017-02-21 Microsoft Technology Licensing, Llc Self learning adaptive modeling system
US20150142713A1 (en) * 2013-11-04 2015-05-21 Global Analytics, Inc. Real-Time Adaptive Decision System And Method Using Predictive Modeling
US20160132787A1 (en) * 2014-11-11 2016-05-12 Massachusetts Institute Of Technology Distributed, multi-model, self-learning platform for machine learning

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190103103A (ko) * 2019-08-16 2019-09-04 엘지전자 주식회사 인공지능 무빙 에이전트
US11397871B2 (en) 2019-08-16 2022-07-26 Lg Electronics Inc. Artificial intelligence moving agent
KR102479771B1 (ko) * 2022-05-30 2022-12-21 (주)유알피시스템 자동 학습과 배포를 통한 딥러닝 분석모델 관리 시스템 및 관리 방법

Also Published As

Publication number Publication date
US10783449B2 (en) 2020-09-22
WO2017062984A1 (en) 2017-04-13
US20170103341A1 (en) 2017-04-13

Similar Documents

Publication Publication Date Title
CN112567688B (zh) 用于嵌入的云微服务的自动调谐器
WO2017213857A1 (en) System for iteratively training an artificial intelligence using cloud-based metrics
CN108134691A (zh) 模型构建方法、网络资源预加载方法、装置、介质及终端
CN109804352A (zh) 受管理的容器实例
CN111861569A (zh) 产品信息推荐方法及装置
CN104753985A (zh) 会话列表显示方法和装置
CN104995899B (zh) 服务器负载管理
US10360574B2 (en) Systems and methods for response rate determination and offer selection
CN112311578B (zh) 基于深度强化学习的vnf调度方法及装置
KR102441422B1 (ko) 개인 정보 보호가 가능한 개인화된 질의응답 시스템, 클라우드 서버 및 이의 공통 신경망 모델 제공 방법
CN110383794A (zh) 使用多个内容交付网络更新应用程序客户端的系统和方法
US20150262205A1 (en) System Identification Framework
CN112346936A (zh) 应用故障根因定位方法及系统
US10783449B2 (en) Continual learning in slowly-varying environments
CN112288572B (zh) 业务数据处理方法及计算机设备
JP6782680B2 (ja) 指示分析のためのシステムおよび方法
CN114722281B (zh) 基于用户画像及用户选课行为的培训课程配置方法、装置
CN112232546A (zh) 一种推荐概率预估方法、装置、电子设备及存储介质
CN110263869A (zh) 一种Spark任务的时长预测方法及装置
CN112819258A (zh) 银行网点到店客户数量预测方法及装置
KR20180027995A (ko) 사물 인터넷 환경에서의 미래 예측 방법 및 장치
Fajar et al. Comparison of discrete event simulation and agent based simulation for evaluating the performance of port container terminal
Schlegel et al. Towards autonomous mobile agents with emergent migration behaviour
US20170228680A1 (en) Improvement message based on element score
CN109787937A (zh) 访问次数的计数方法、装置及服务器