KR20240002865A - 전자 장치의 학습 모델을 갱신하는 서버 및 그의 동작 방법 - Google Patents

전자 장치의 학습 모델을 갱신하는 서버 및 그의 동작 방법 Download PDF

Info

Publication number
KR20240002865A
KR20240002865A KR1020220082678A KR20220082678A KR20240002865A KR 20240002865 A KR20240002865 A KR 20240002865A KR 1020220082678 A KR1020220082678 A KR 1020220082678A KR 20220082678 A KR20220082678 A KR 20220082678A KR 20240002865 A KR20240002865 A KR 20240002865A
Authority
KR
South Korea
Prior art keywords
learning model
electronic device
server
new
performance
Prior art date
Application number
KR1020220082678A
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 삼성전자주식회사
Priority to PCT/KR2023/004583 priority Critical patent/WO2024005313A1/ko
Publication of KR20240002865A publication Critical patent/KR20240002865A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

다양한 실시예들에 따른 서버는 외부 전자 장치와 통신하기 위한 통신 모듈 및 프로세서를 포함하고, 프로세서는 통신 모듈을 이용하여 서버와 작동적으로 연결된 외부 전자 장치의 기존 학습 모델의 성능을 획득하고, 외부 전자 장치의 기존 학습 모델의 성능이 저하된 것으로 결정됨에 기반하여 새로운 학습 모델을 획득하고, 새로운 학습 모델과 기존 학습 모델의 차이점을 포함하는 정보를 생성하고, 통신 모듈을 이용하여 차이점을 포함하는 정보를 외부 전자 장치로 전달하고, 외부 전자 장치로부터 개선된 학습 모델이 필요함을 지시하는 제 1 신호를 수신함에 기반하여 새로운 학습 모델을 외부 전자 장치로 전달할 수 있다.
다양한 실시예들에 따른 전자 장치는 서버와 통신하기 위한 통신 모듈 및 프로세서를 포함하고, 프로세서는 서버로부터 새로운 학습 모델과 기존 학습 모델의 성능 차이를 포함하는 정보를 획득하고, 새로운 학습 모델과 기존 학습 모델의 성능 차이를 포함하는 정보에 기반하여 새로운 학습 모델로 갱신이 필요한지 여부를 결정하고, 새로운 학습 모델로 갱신이 필요한 것으로 결정됨에 대응하여 새로운 학습 모델이 필요함을 지시하는 신호를 서버로 송신하고, 서버로부터 새로운 학습 모델을 수신할 수 있다.

Description

전자 장치의 학습 모델을 갱신하는 서버 및 그의 동작 방법{SERVER AND OPERATING METHOD FOR UPDATING A LEARNING MODEL OF A DEVICE}
본 문서는 전자 장치에 저장된 학습 모델을 갱신하는 서버 및 그 동작 방법에 관한 것이다
2030년까지 약 5천억 개의 디바이스들이 6G를 통해 연결될 것으로 예상되고 있다. 스마트폰, wearable device, TV, 스마트 가전, AI 스피커 등의 수많은 device들은 각각의 기기 동작, 측정, 결과 예측, 컨텐츠 추천, 의사 결정 등의 다양한 기능들을 수행하기 위한 학습 모델을 포함할 수 있다. 이러한 모델들은 device 생산 초기에 탑재되어 활용되거나 서버로부터 학습 모델 업데이트를 통해 더 나은 성능을 꾸준히 유지할 수 있다. 초기에 탑재한 모델을 갱신하지 않고 계속해서 사용하는 기기는 사용자의 행동 변화, 기기 주변 환경의 변화, 데이터의 변화 등으로 인해 시간이 지남에 따라 발생하는 학습 모델의 성능 저하를 피하기 어려울 수 있다. 이러한 상황에서 학습 모델의 업데이트는 필수불가결한 요소가 될 수 있다. 또한 향후 기하급수적으로 증가하는 디바이스에 대해 효율적으로 학습 모델을 배포하고 최적의 성능을 제공하는 것이 요구될 수 있다.
전자 장치(예: 서버)는 일주일에 한 번, 혹은 한 달에 한 번씩 정해진 기간마다 주기적으로 새로운 모델을 학습하여 단말에 배포할 수 있다. 서버는 주기적으로 새로운 모델을 학습하여 단말에 배포하는 경우 기존 모델의 성능 저하가 일어나지 않은 경우에도 매번 새로운 모델을 학습하여 단말에 배포하기 때문에 서버와 단말 양 쪽에서 모두 리소스 낭비가 발생할 수 있다. 또한, 새로운 모델을 다운로드하는 단말의 수가 많을수록, 서버에서 모델을 전송하거나, 단말에서 모델을 수신하는데 사용되는, 네트워크의 리소스의 낭비가 더 커질 수 있다.
서버는 학습 모델의 성능을 모니터링 하여 실제로 성능이 저하된 경우에만 새로운 모델을 학습하여 단말에 배포할 수도 있다. 그러나 학습 모델의 성능을 모니터링 하여 단말에 새로운 모델을 배포하는 경우에도 서버는 단말 전체에 일괄적으로 새로운 학습 모델을 배포하기 때문에, 새로운 학습 모델 갱신이 필요하지 않은 단말에도 새로운 학습 모델이 배포되어 오히려 단말의 성능이 낮아질 수 있다.
다양한 실시예들에 따른 서버는 외부 전자 장치와 통신하기 위한 통신 모듈 및 프로세서를 포함하고, 프로세서는 통신 모듈을 이용하여 서버와 작동적으로 연결된 외부 전자 장치의 기존 학습 모델의 성능을 획득하고, 외부 전자 장치의 기존 학습 모델의 성능이 저하된 것으로 결정됨에 기반하여 새로운 학습 모델을 획득하고, 새로운 학습 모델과 기존 학습 모델의 차이점을 포함하는 정보를 생성하고, 통신 모듈을 이용하여 차이점을 포함하는 정보를 외부 전자 장치로 전달하고, 외부 전자 장치로부터 개선된 학습 모델이 필요함을 지시하는 제 1 신호를 수신함에 기반하여 새로운 학습 모델을 외부 전자 장치로 전달할 수 있다.
다양한 실시예들에 따른 전자 장치는 서버와 통신하기 위한 통신 모듈 및 프로세서를 포함하고, 프로세서는 서버로부터 새로운 학습 모델과 기존 학습 모델의 성능 차이를 포함하는 정보를 획득하고, 새로운 학습 모델과 기존 학습 모델의 성능 차이를 포함하는 정보에 기반하여 새로운 학습 모델로 갱신이 필요한지 여부를 결정하고, 새로운 학습 모델로 갱신이 필요한 것으로 결정됨에 대응하여 새로운 학습 모델이 필요함을 지시하는 신호를 서버로 송신하고, 서버로부터 새로운 학습 모델을 수신할 수 있다.
다양한 실시예들에 따른 전자 장치의 학습 모델 갱신 방법은 전자 장치에서 사용되는 기존 학습 모델의 성능 저하를 확인하는 동작, 기존 학습 모델의 성능 저하를 확인함에 기반하여 새로운 학습 모델을 학습하는 동작, 새로운 학습 모델과 기존 학습 모델과의 성능의 차이점을 분석하는 동작, 차이점을 전자 장치로 송신하는 동작, 전자 장치 상에서 새로운 학습 모델이 필요함을 지시하는 신호를 수신하는 동작 및 전자 장치 상에서 새로운 학습 모델이 필요함을 지시하는 신호에 기반하여 새로운 학습 모델을 송신하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 서버는 새로운 학습 모델을 단말로 전송하지 않고, 새로운 학습 모델과 기존 학습 모델과의 차이점을 포함하는 정보를 단말로 전송할 수 있다. 단말은, 새로운 학습 모델과 기존 학습 모델과의 차이점에 기반하여 새로운 학습 모델을 다운로드할지 여부를 결정할 수 있다. 따라서, 단말은 새로운 학습 모델을 항상 다운로드하지 않을 수 있어, 새로운 학습 모델을 다운로드함에 있어서 발생할 수 있는 자원의 낭비를 방지 또는 감소시킬 수 있다.
다양한 실시예에 따르면, 서버는 새로운 학습 모델이 필요한 단말에만 새로운 학습 모델을 전송하여, 리소스를 낭비하지 않고 단말의 성능을 개선할 수 있다.
도 1은 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 다양한 실시예들에 따른 서버의 선택적 학습 모델 배포 상황을 도시한 것이다.
도 3은 다양한 실시예들에 따른 전자 장치 및 서버의 구성을 블록도로 나타낸 것이다.
도 4는 다양한 실시예들에 따른 학습 모델 관리 시스템을 블록도로 도시한 것이다.
도 5a는 일 실시예에 따른 입력 데이터 분포의 변화를 도시한 것이다.
도 5b는 일 실시예에 따른 기존 학습 모델과 새로운 학습 모델의 성능을 비교하는 과정을 도시한 것이다.
도 5c는 일 실시예에 따른 새로운 학습 모델 필요성 판단 과정을 도시한 것이다.
도 6은 다양한 실시예들에 따른 전자 장치의 학습 모델 관리 방법을 순서도로 도시한 것이다.
도 7a 및 도 7b는 다양한 실시예들에 따른 전자 장치의 학습 모델 관리 방법의 실시예를 도시한 것이다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 2는 다양한 실시예들에 따른 서버의 선택적 학습 모델 배포 상황을 도시한 것이다.
일 실시예에 따르면, 서버는 제 1 모델(210)을 이용하여 다양한 동작을 수행할 수 있다. 예를 들어, 제1 모델(210)은 사용자 입력에 따른 입력 정보를 단말(201 내지 206)로부터 수신하고, 입력 정보에 기반하여 출력 정보를 생성하고, 출력 정보를 다시 단말(201 내지 206)로 출력할 수 있다.
일 실시예에 따르면, 입력 정보는 동작을 수행하기 위해 제1 모델(220)에 입력되는 정보를 의미할 수 있다. 또한, 출력 정보는, 제1 모델(220)상에서 입력 정보가 처리된 결과를 의미할 수 있다. 서버는 출력 정보에 기초하여, 다양한 동작을 수행할 수 있다.
일 실시 예에 의한 제1 모델(220)은, 단말(201 내지 206)에서 다양한 동작을 수행하기 위한 적어도 하나의 인공지능 모델 중 하나일 수 있다. 예를 들면, 제1 모델(220)은, 음성 인식 모델, 자연어 처리 모델, 영상 인식 모델 등 단말(201 내지 206)에서 수행될 수 있는 다양한 동작을 위한 인공지능 모델일 수 있다. 상술한 예에 한하지 않고, 제 1 모델(220)은, 다양한 종류의 인공지능 모델 중 하나일 수 있다.
일 실시 예에 따른 단말(201 내지 206)은 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 단말(201 내지 206)은, 스마트 TV, 셋탑 박스, 휴대폰, 태블릿 PC, 디지털 카메라, 노트북 컴퓨터(laptop computer), 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 착용형 기기(wearable device) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
일 실시 예에 의하면, 상술한 제 1 모델(210)의 단점을 보완할 수 있도록, 서버는, 제 1 모델(210)보다 성능이 더 우수한 제 2 모델(220)을 이용하여, 제1 모델(210)이 갱신될 수 있는 정보를 단말(201 내지 206)에 제공할 수 있다. 일 실시 예에 의하면, 단말(201 내지 206)의 제1 모델(210)은 서버로부터 제공된 정보에 기초하여, 지속적으로 갱신될 수 있다. 갱신된 제 1 모델(210)은 성능이 더 우수한 제2 모델(220)을 이용하는 경우와 같이, 적절한 출력 정보를 출력할 수 있다. 성능은 데이터 저장용량, 연산속도 또는 예측한 결과가 사용자가 예상한 결과와 일치하는 정도 중 어느 하나를 의미할 수 있다.
일 실시 예에 의한 제 2 모델(220)은, 제 1 모델(210)에 비해 상대적으로, 더 큰 크기를 가짐에 따라서, 사용자에게 적합한 출력 정보가 출력될 확률이 상대적으로 더 높을 수 있다. 일 실시 예에 의한 제 2 모델(220)은, 상대적으로 성능이 높은 서버에 의해 처리될 수 있으므로, 제 1 모델(210)에 비해 더 많은 개수의 노드 및 신경망 레이어를 포함하는 인공지능 모델일 수 있다.
비교 실시예에 따르면, 서버는 정해진 기간(예: 일주일에 한 번, 또는 한달에 한 번 등)마다 주기적으로 새로운 모델을 학습하고, 학습된 새로운 모델을 단말(201 내지 206)에 배포할 수 있다. 이 경우, 서버는 정해진 기간이 지나면 연결된 모든 단말(201 내지 206)들로 제 1 모델(210)을 배포할 수 있다. 그러나 이 경우, 단말(201 내지 206)들은 기존 모델의 성능 저하가 일어나지 않은 경우에도 매번 새로운 모델을 학습하여야 할 수 있다. 서버와 단말들(201 내지 206)은 필요하지 않은 새로운 모델을 학습하고, 배포하느라 리소스를 낭비할 수 있다.
비교 실시예에 따르면, 서버는 정해진 기간마다 주기적으로 새로운 모델을 학습하여 단말(201 내지 206)에 배포하는 대신, 학습 모델의 성능을 관찰하고, 일정 수준 미만으로 성능이 저하됨을 감지한 경우에만 새로운 모델을 학습하여 단말(201 내지 206)에 배포할 수 있다. 그러나, 이 경우에도 서버는 연결된 전체 단말들(201 내지 206)에 일괄적으로 학습 모델을 배포하여, 학습 모델의 갱신이 필요하지 않은 단말의 경우 오히려 성능이 낮아질 수 있다.
본 문서의 다양한 실시예들에 따르면, 서버는 기존 학습 모델과 비교하여 새롭게 학습한 모델의 개선점을 단말(201 내지 206)에 전송하고, 단말(201 내지 206)에서 모델 갱신이 필요하다는 응답을 받음에 기반하여 새로운 모델이 필요한 단말에만 새로운 학습 모델을 전송할 수 있다. 예를 들어, 서버는 기존 학습 모델과 비교하여 새롭게 학습한 모델의 개선점을 단말(201 내지 206)에 전송할 수 있다. 단말 중 일부(203, 205 및 206)는 성능 개선을 위해 새롭게 학습한 모델(예: 제 2 모델(220))이 필요하다고 결정하고, 이에 대응하는 정보를 서버로 전송할 수 있다. 서버는 수신한 정보에 기반하여 새롭게 학습한 모델(예: 제 2 모델(220))을 단말 중 일부(203, 205 및 206)로 전송할 수 있다. 단말이 새롭게 학습한 모델의 필요성을 판단하는 과정에 대해서는 이하에서 설명될 것이다.
도 3은 다양한 실시예들에 따른 전자 장치 및 서버의 구성을 블록도로 나타낸 것이다.
다양한 실시예에 따르면, 전자 장치(300)는 프로세서(310), 통신 모듈(320) 및 제 1 모델(301-1)을 포함할 수 있으며, 도시된 구성 중 일부가 생략 또는 치환 될 수도 있다. 전자 장치는 도 1의 전자 장치(101)의 구성 및/또는 기능 중 적어도 일부를 더 포함할 수 있다. 도시된(또는 도시되지 않은) 전자 장치의 각 구성 중 적어도 일부는 상호 작동적으로(operatively), 기능적으로(functionally) 및/또는 전기적으로 (electrically) 연결될 수 있다.
다양한 실시예에 따르면, 프로세서(310)는 전자 장치의 각 구성 요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 수행할 수 있는 구성으로써, 하나 이상의 프로세서들로 구성될 수 있다. 프로세서(310)는 도 1의 프로세서(120)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다.
다양한 실시예에 따르면, 프로세서(310)가 전자 장치(300) 상에서 구현할 수 있는 연산 및 데이터 처리 기능에는 한정됨이 없을 것이나, 이하에서는 학습 모델의 제어와 관련된 특징에 대해 상세히 설명하기로 한다. 프로세서(310)의 동작들은 메모리(미도시)에 저장된 인스트럭션들을 로딩(loading)함으로써 수행될 수 있다.
다양한 실시예에 따르면, 통신 모듈(320)은 프로세서(310)의 제어에 따라 무선 네트워크를 통해 외부 장치와 통신할 수 있다. 통신 모듈(320)은 셀룰러 네트워크(예: LTE(long term evolution) 네트워크, 5G 네트워크, NR(new radio) 네트워크) 및 근거리 네트워크(예: Wi-Fi, bluetooth)로부터 데이터를 송수신 하기 위한 하드웨어 및 소프트웨어 모듈들을 포함할 수 있다. 통신 모듈(320)은 도 1의 통신 모듈(190)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다.
일 실시 예에 따른 전자 장치(300)는 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 전자 장치(300)는, 스마트 TV, 셋탑 박스, 휴대폰, 태블릿 PC, 디지털 카메라, 노트북 컴퓨터(laptop computer), 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 착용형 기기(wearable device) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 따르면, 입력 정보는 동작을 수행하기 위해 제 1 모델(301-1)에 입력되는 정보를 의미할 수 있다. 또한, 출력 정보는, 제 1 모델(301-1)상에서 입력 정보가 처리된 결과를 의미할 수 있다. 서버는 제 1 모델(301-1)의 출력 정보를 획득할 수 있다. 서버는 제 1 모델(301-1)의 출력 정보에 기초하여, 다양한 동작을 수행할 수 있다. 예를 들어, 서버는 제 1 모델(301-1)의 출력 정보에 기초하여 단말에 설치된 기존 학습 모델의 성능이 저하된 것으로 결정할 수 있다. 서버는 기존 학습 모델의 성능이 저하된 것으로 결정됨에 기반하여 새로운 학습 모델을 학습하고, 단말로 배포할 수 있다.
일 실시 예에 의한 제 1 모델(301-1)은, 전자 장치(300)에서 다양한 동작을 수행하기 위한 적어도 하나의 인공지능 모델 중 하나일 수 있다. 예를 들면, 제 1 모델(301-1)은, 음성 인식 모델, 자연어 처리 모델, 영상 인식 모델 등, 전자 장치(300)에서 수행될 수 있는 다양한 동작을 위한 인공지능 모델일 수 있다. 상술한 예에 한하지 않고, 제 1 모델(301-1)은, 다양한 종류의 인공지능 모델 중 하나일 수 있다.
일 실시 예에 의하면, 서버(305)는, 제 1 모델(301-2)보다 성능이 더 우수한 제 2 모델(303)을 이용하여, 전자 장치(300)상의 통신 모듈(320)로 제1 모델(301-1)의 갱신과 관련된 정보를 전송할 수 있다. 전자 장치(300)는 제 1 모델(301-1)의 갱신과 관련된 정보를 이용하여 학습 모델을 갱신시킬 수 있다. 일 실시 예에 의하면, 전자 장치(300)는 서버(305)로부터 제공된 정보에 기초하여, 학습 모델을 지속적으로 갱신할 수 있다. 전자 장치(300)는 갱신된 학습 모델(예: 제 2 모델(303))을 이용하여 입력 정보에 대응하는 출력 정보를 출력할 수 있다.
일 실시예에 따르면, 새로운 학습 모델에 대한 학습을 수행하는 주체와 새로운 학습 모델을 배포하는 주체는 같을 수도 있고, 다를 수도 있다. 예를 들어, 서버(305)는 새로운 학습 모델에 대한 학습을 수행하고, 전자 장치(300)로부터 새로운 학습 모델을 요청하는 신호를 수신함에 기반하여 전자 장치(300)로 새로운 학습 모델을 전송 또는 배포할 수 있다. 또는 서버(305)는 새로운 학습 모델에 대한 학습을 수행하고, 다른 서버(미도시)로 새로운 학습 모델을 전송할 수 있다. 새로운 학습 모델을 수신한 다른 서버(미도시)는 전자 장치(300)의 요청에 기반하여 전자 장치(300)로 새로운 학습 모델을 전송 또는 배포할 수 있다.
일 실시 예에 의한 제 2 모델(303)은, 제 1 모델(301-2)에 비해 상대적으로, 더 큰 크기를 가짐에 따라서, 사용자에게 적합한 출력 정보가 출력될 확률이 상대적으로 더 높을 수 있다. 일 실시 예에 의한 제 2 모델(303)은, 상대적으로 성능이 높은 서버(305)에 의해 처리될 수 있으므로, 제 1 모델(301-2)에 비해 더 많은 개수의 노드 및 신경망 레이어를 포함하는 인공지능 모델일 수 있다.
일 실시예에 따르면, 전자 장치(300)는 통신 모듈(302)을 이용하여 서버(305)의 모델 평가부(330)로부터 새로운 학습 모델의 개선점을 지시하는 정보를 수신할 수 있다. 전자 장치(300)는 새로운 학습 모델의 개선점을 지시하는 정보에 기반하여 새로운 학습 모델의 필요성을 결정할 수 있다. 전자 장치(300)는 새로운 모델로의 갱신이 필요하다고 결정함에 대응하여 서버(305)로 새로운 학습 모델에 대한 정보를 요청할 수 있다. 서버(305)는 전자 장치(300)의 요청에 대응하여 새로운 학습 모델(예: 제 2 모델(303))에 대한 정보를 전자 장치(300) 상으로 전달할 수 있다. 전자 장치(300)는 서버(305)로부터 수신한 정보에 기반하여 학습 모델을 갱신할 수 있다.
일 실시예에 따르면, 서버(305)는 모델 평가부(330)를 이용하여 제 1 모델(301-2) 및 제 2 모델(303)의 차이점 또는 개선점을 확인할 수 있다. 제 1 모델(301-2)은 전자 장치(300)에 설치된 학습 모델(제 1 모델(301-1)과 동일한 모델을 의미할 수 있다.
일 실시 예에 따르면, 서버(305)는 인공지능 모델로서, 서버(305)에 탑재되어 있는 제 1 모델(301-2)을, 제 2 모델(303)을 이용하여, 전자 장치(300)보다 먼저 갱신할 수 있다. 일 실시 예에 의하면, 서버(305)는 동일한 입력 정보에 대해, 제 2 모델(303)에서 출력된 출력 정보와 동일한 출력 정보가 출력될 수 있도록, 제 1 모델(301-2)을 갱신할 수 있다. 또한, 서버(305)는 갱신된 제 1 모델(301-2)에 기초하여, 전자 장치(300)의 제 1 모델(301-1)을 갱신하기 위한 정보를 획득하여, 전자 장치(300)로 전송할 수 있다. 또는 전자 장치(300)는 제 1 모델(301-2) 및 제 2 모델(303)의 차이점 및 개선점을 지시하는 정보를 전자 장치(300)로 전송할 수 있다.
일 실시 예에 따르면, 개선점은 학습 모델에 입력되는 데이터 분포가 달라질 때 발생할 수 있다. 또는 개선점은 학습 모델의 분석 대상이 되는 특정 타겟 클래스(target class)가 개선되는 경우 발생할 수 있다. 서버(305)는 학습 모델의 분석 대상이 되는 특정 타겟 클래스(target class)가 개선됨에 기반하여, 해당 클래스의 개선이 필요한 단말에만 개선된 학습 모델을 전송할 수 있다. 서버(305)는 해당 클래스의 개선이 필요하지 않은 단말에는 학습 모델을 전송하지 않아 서버(305)와 해당 단말의 리소스를 절약할 수 있다.
도 4는 다양한 실시예들에 따른 학습 모델 관리 시스템을 블록도로 도시한 것이다.
서버(405)는 앞선 도 3의 서버(305)를 포함할 수 있다. 전자 장치(400)는 앞선 도 3의 전자 장치(300)를 포함할 수 있다.
동작 ①에서, 서버(예: 도 3의 서버(305))(405)의 모델 평가부(model evaluator)(415)는 전자 장치(예: 도 3의 전자 장치(300))(400)의 현재 모델 성능을 수집하고, 모델 성능의 확인 결과에 기반하여 전자 장치(400)가 새로운 학습 모델이 필요한지 여부를 결정할 수 있다.
동작 ②에서, 모델 평가부(model evaluator)(415)는 새로운 학습 모델의 필요하다고 결정함에 기반하여 모델 매니저(model manager)(425)를 이용하여 트레이너(trainer)(435)에서 새로운 학습을 수행하도록 제어할 수 있다.
동작 ③에서, 트레이너(trainer)(435)는 새로운 학습 모델(trained model)(445)을 학습시킬 수 있다. 특징 분석기(feature analyzer)(455)는 새로운 학습 모델(trained model)(445)과 기존 학습 모델의 개선점을 분석하여 모델 매니저(model manager)(425)에 저장시킬 수 있다.
동작 ④에서, 모델 매니저(model manager)(425)는 전자 장치(400)의 기존 학습 모델과 새로운 학습 모델을 비교하고, 개선점을 전자 장치(400)로 전달할 수 있다. 전자 장치(400)의 모델 매니저(model manager)(410)는 입력 데이터 분포 평가부(data distribution evaluator)(411)를 이용하여 새로운 학습 모델의 데이터 분포와 기존 학습 모델의 데이터 분포가 유사한지 결정할 수 있다. 전자 장치(400)의 모델 매니저(model manager)(410)는 타겟 클래스 평가부(target class evaluator)(412)를 이용하여 새로운 학습 모델의 특정 타겟 클래스가 개선되었는지 여부 및 전자 장치(400) 상에서 타겟 클래스의 개선이 필요한지 여부를 결정할 수 있다. 일 실시예에 따르면, 전자 장치(400)는 사용자의 사용 패턴을 분석하고, 개선된 타겟 클래스를 일정 빈도 이상 이용함에 기반하여 타겟 클래스의 개선이 필요하다고 결정할 수 있다.
일 실시예에 따르면, 전자 장치(400)는 새로운 학습 모델(445)이 필요하다고 결정함에 기반하여 새로운 학습 모델(445)이 필요함을 지시하는 정보를 서버(405)로 송신할 수 있다.
동작 ⑤에서, 전자 장치(400)의 프로세서(420)는 서버(405)로부터 새로운 학습 모델(445)을 다운로드(download) 받아 전자 장치(400) 내 학습 모델을 갱신할 수 있다. 비교 실시예에 따르면, 전자 장치는 학습 모델을 갱신할 필요가 없는 경우에도 새로운 학습 모델(445)을 다운로드(download) 받아 리소스를 낭비할 수 있다. 다양한 실시예에 따른 전자 장치(400)는 서버(405)로부터 새로운 학습 모델이 아닌 새로운 학습 모델의 개선점만을 다운로드 받아서 학습 모델의 갱신 여부를 판단하고, 새로운 학습 모델(445)을 다운로드(download) 받아 리소스를 낭비하지 않을 수 있다.
동작 ⑥에서, 전자 장치(400)는 예측 분석기(prediction analyzer)(430)를 이용하여 학습 모델을 이용한 예측을 수행하고, 피드백 데이터를 전자 장치(400)의 모델 매니저(model manager)(410)로 전송할 수 있다. 전자 장치(400)의 모델 매니저(model manager)(410)는 수신된 피드백 데이터에 기반하여 학습 모델의 업데이트 시점을 결정할 수 있다.
도 5a는 일 실시예에 따른 입력 데이터 분포의 변화를 도시한 것이다. 도 5b는 일 실시예에 따른 기존 학습 모델과 새로운 학습 모델의 성능을 비교하는 과정을 도시한 것이다. 도 5c는 일 실시예에 따른 새로운 학습 모델 필요성 판단 과정을 도시한 것이다.
도 5a에 따르면, 서버(예: 도 4의 서버(405))는 기존 데이터와 새로운 데이터의 분포가 일정 수준을 초과하여 달라진 경우, 기존 학습 모델을 그대로 사용하면, 새로운 데이터의 분석이 불가능하다고 결정할 수 있다.
예를 들어, 서버(405)는 기존 데이터(510)의 분포(510-1)와 새로운 데이터(520)의 분포(520-1)가 가로 축을 기준으로 일정 수준을 초과하여 차이가 나는 경우, 기존 학습 모델을 그대로 사용하면, 새로운 데이터의 분석이 불가능하다고 결정할 수 있다. 가로 축은 input feature로서 예를 들어, 사용되는 단어나 문구를 의미할 수 있다. 세로 축은 input feature가 사용되는 빈도(frequency)를 의미할 수 있다.
도 5b에 따르면, 서버(405)는 새로운 데이터(520)가 입력됨에 기반하여 기존 학습 모델(515)과 새로운 학습 모델(525)을 이용하여 새로운 데이터(520)를 분석할 수 있다. 기존 학습 모델(515)은 외부 상황의 변화로 입력되는 데이터의 분포가 변화되면, 새로운 학습 모델(525)과 비교하여 상대적으로 낮은 성능을 보일 수 있다. 예를 들어, 기존 학습 모델(515)은 새로운 데이터(520)의 사용을 예측하는 확률이 0.8인 반면, 새로운 학습 모델(525)은 새로운 데이터(520)의 사용을 예측하는 확률이 0.9로 상대적으로 높을 수 있다. 서버(405)는 기존 학습 모델(515) 및 새로운 학습 모델(525)의 성능 차이를 기록하고, 전자 장치(500)로 전송할 수 있다. 전자 장치(500)는 도 4의 전자 장치(400)를 포함할 수 있다. 전자 장치(500)는 수신된 성능 차이에 대한 정보에 기반하여 새로운 학습 모델(525)이 필요한지 여부를 결정할 수 있다.
도 5c에 따르면, 전자 장치(500)는 기존 학습 모델(515)과 새로운 학습 모델(525) 중 어느 쪽의 데이터 분포가 현재 전자 장치(500)는 데이터 분포(530)와 상대적으로 더 유사한지 결정할 수 있다. 전자 장치(500)는 데이터 분포(530)를 지시하는 정보에 기반하여 타겟 클래스 별로 데이터 분포가 어느 정도나 유사한지 수치를 산출할 수 있다. 산출된 수치는 데이터 분포가 유사할수록 상대적으로 높은 수치를 기록할 수 있다. 전자 장치(500)는 유사도 판단에 있어서, kolmogorov-smirnov test, kullback-leibler divergence, population stability index 를 포함하는 probability distribution distance metric을 사용할 수 있다. 전자 장치(500)는 현재 사용되는 데이터의 분포가 기존 학습 모델과 비교하여 새로운 학습 모델의 데이터 분포와 상대적으로 더 유사한 경우 새로운 학습 모델을 다운로드 받아 갱신할 수 있다.
예를 들어, 데이터 분포(530)는 제 1 클래스, 제 2 클래스 및 제 3 클래스로 분류될 수 있다. 기존 학습 모델(515)에 따른 기존 데이터 분포(540)는 제 1 클래스가 0.1, 제 2 클래스가 0.4, 제3클래스가 0.5를 지시할 수 있다. 새로운 학습 모델(525)에 따른 새로운 데이터 분포(550)는 제 1 클래스가 0.2, 제 2 클래스가 0.4, 제3클래스가 0.3를 지시할 수 있다. 전자 장치(500)는 제 2 클래스에 대해서는 기존 데이터 분포(540)나 새로운 데이터 분포(550) 모두 유사도가 동일함을 확인할 수 있다. 전자 장치(500)는 제 1 클래스 및 제 3클래스를 비교하여 현재 데이터 분포가 기존 데이터 분포(540)나 새로운 데이터 분포(550) 중 어느 쪽과 더 유사한지 결정할 수 있다.
도 6은 다양한 실시예들에 따른 전자 장치의 학습 모델 관리 방법을 순서도로 도시한 것이다.
도시된 방법(600)은 앞서 도 1 내지 도 5c를 통해 설명한 전자 장치(예: 도 4의 전자 장치(400)) 또는 서버(예: 도 4의 서버(405))에 의해 실행될 수 있으며, 앞서 설명한 바 있는 기술적 특징은 이하에서 생략하기로 한다.
동작 610에서, 서버(예: 도 4의 서버(405))는 전자 장치(예: 도 4의 전자 장치(400))에서 사용되는 학습 모델의 성능이 일정 수준 미만으로 저하되었는지 확인할 수 있다. 학습 모델은 전자 장치(400) 내에서 다양한 동작을 수행하기 위한 적어도 하나의 인공지능 모델을 의미할 수 있다. 예를 들어 학습 모델은, 음성 인식 모델, 자연어 처리 모델 또는 영상 인식 모델 중 어느 하나를 의미할 수 있다. 상술한 예에 한하지 않고, 학습 모델은 다양한 종류의 인공지능 모델 중 하나일 수 있다.
동작 612에서, 서버(405)는 새로운 모델을 학습할 수 있다. 서버(405)는 모델 매니저(예: 도 4의 모델 매니저(425))를 이용하여 새로운 모델을 학습할 수 있다. 이러한 과정은 도 4의 동작 2에서 설명된 바 있다.
동작 614에서, 서버(405)는 학습된 새로운 모델과 기존 모델의 차이점을 분석할 수 있다. 서버(405)는 분석된 차이점 또는 개선점을 특징 분석기(feature analyzer)(예: 도 4의 특징 분석기(455))에 저장할 수 있다. 이러한 과정은 도 4의 동작 3에서 설명된 바 있다.
동작 620에서, 서버(405)는 입력 데이터 분포의 변화량이 일정 수준을 초과하는지 확인할 수 있다. 서버(405)는 입력 데이터 분포의 변화량이 일정 수준을 초과함에 기반하여, 동작 622에서 새로운 학습 모델을 전자 장치(400)로 전송할 수 있다. 이는 도 4의 동작 4 및 5에서 설명된 바 있다. 전자 장치(400)는 서버(405)로부터 새로운 학습 모델을 다운로드 받고, 설치할 수 있다. 또는 전자 장치(400)는 서버(405)로부터 새로운 학습 모델을 다운로드 받아 내부에 설치된 학습 모델을 갱신할 수 있다. 동작 624에서, 전자 장치(400)는 서버(405)로 새로운 학습 모델의 생성 결과 및 피드백 데이터를 전송할 수 있다. 이는 도 4의 동작 6에서 설명된 바 있다.
동작 630에서, 서버(405)는 입력 데이터 분포의 변화량이 일정 수준을 초과하지 않음에 기반하여, 타겟 클래스의 성능이 일정 수준을 초과하여 개선되었는지 확인할 수 있다. 타겟 클래스는 학습 모델의 분석 대상을 의미할 수 있다. 전자 장치(400)는 모든 데이터가 아닌 타겟 클래스를 기준으로 하여 해당 클래스의 개선이 필요한 경우, 서버(405)상으로 새로운 학습 모델이 필요함을 지시하는 정보를 송신할 수 있다.
동작 632에서, 서버(405)는 타겟 클래스의 성능이 일정 수준을 초과하여 개선됨을 확인함에 기반하여 새로운 학습 모델을 전자 장치(400)로 전송할 수 있다. 이는 도 4의 동작 4 및 5에서 설명된 바 있다. 전자 장치(400)는 서버(405)로부터 새로운 학습 모델을 다운로드 받고, 설치할 수 있다. 또는 전자 장치(400)는 서버(405)로부터 새로운 학습 모델을 다운로드 받아 내부에 설치된 학습 모델을 갱신할 수 있다. 동작 634에서, 전자 장치(400)는 서버(405)로 새로운 학습 모델의 생성 결과 및 피드백 데이터를 전송할 수 있다. 이는 도 4의 동작 6에서 설명된 바 있다.
동작 640에서, 서버(405)는 타겟 클래스의 성능이 일정 수준을 초과하여 개선되지 않았음을 확인함에 기반하여 전자 장치(400)로 새로운 학습 모델을 전송하지 않을 수 있다. 서버(405)는 전자 장치(400)가 기존 학습 모델을 유지하도록 제어할 수 있다.
도 7a 및 도 7b는 다양한 실시예들에 따른 전자 장치의 학습 모델 관리 방법의 실시예를 도시한 것이다.
도 7a에 따르면, 전자 장치(예: 도 4의 전자 장치(400))는 학습 모델(예: 도 3의 제 1 모델(301-1))을 이용하여 제 1 어플리케이션(701), 제 2 어플리케이션(702) 및 제 3 어플리케이션(703)에 대한 학습을 수행하고, 출력되는 결과를 예측할 수 있다. 전자 장치(400) 학습 모델을 이용하여 출력되는 결과를 예측하고, 사용자가 선택할 것으로 예측되는 feature(예: 단어, 문구 등)를 제공할 수 있다.
일 실시예에 따르면, 전자 장치(400)는 기존 데이터 사용 상황(710)에서 새로운 제 4 어플리케이션(704)이 사용되는 새로운 데이터 사용 상황(720)으로 변경됨을 감지할 수 있다. 전자 장치(400)는 기존 데이터 사용 상황(710)에서 사용되던 제 3 어플리케이션(703)을 대신하여 새로운 데이터 사용 상황(720)에서 사용되는 제 4 어플리케이션(704)에 대한 사용을 감지할 수 있다.
일 실시예에 따르면, 전자 장치(400)는 새로운 데이터 사용 상황(720)에서 제 4 어플리케이션(704)을 포함하여 새롭게 학습을 진행하지 않으면, 새로운 데이터 사용 상황(720)에 알맞은 예측 결과를 제공하기 어려울 수 있다. 서버(405)는 새로운 데이터 사용 상황(720)으로 변화됨에 기반하여 새로운 학습 모델과 기존 학습 모델의 차이점을 지시하는 정보를 전자 장치(400)로 송신할 수 있다.
일 실시예에 따르면, 전자 장치(400)는 수신된 정보에 기반하여 새로운 데이터 사용 상황(720)에서 새로운 학습 모델이 필요한지 여부를 결정할 수 있다. 예를 들어, 전자 장치(400)의 모델 매니저(model manager)(예: 도 4의 모델 매니저(410))는 입력 데이터 분포 평가부(data distribution evaluator)(예: 도 4의 입력 데이터 분포 평가부(411))를 이용하여 새로운 학습 모델의 데이터 분포와 기존 학습 모델의 데이터 분포가 유사한지 결정할 수 있다.
일 실시예에 따르면, 전자 장치(400)는 새로운 학습 모델의 데이터 분포와 기존 학습 모델의 데이터 분포가 일정 수준을 초과하여 차이남에 기반하여, 서버(405) 상으로 제 4 어플리케이션(704)을 포함하는 새로운 학습 모델이 필요함을 지시하는 정보를 전송할 수 있다(case 1). 이 경우, 전자 장치(400)는 서버(405)로부터 새로운 학습 모델을 다운로드 받아서, 전자 장치(400) 내부에 설치할 수 있다. 전자 장치(400)는 새로운 학습 모델의 데이터 분포와 기존 학습 모델의 데이터 분포가 일정 수준 미만으로 차이남에 기반하여 서버(405) 상으로 새로운 학습 모델이 필요하지 않음을 지시하는 정보를 전송할 수 있다(case 2). 이 경우, 전자 장치(400)는 기존 학습 모델을 유지할 수 있다.
도 7b에 따르면, 전자 장치(400)는 기존 학습 모델(730)이 운동(exercise)=0.8, 게임(games)=0.6, SNS=0.8 을 지시하는 성능을 갖는 것을 확인할 수 있다. 전자 장치(400)는 기존 학습 모델(730)을 이용하여 출력되는 결과를 예측하고, 사용자가 선택할 것으로 예측되는 구성 요소(feature)(예: 단어, 문구 등)를 제공할 수 있다. 성능은 사용자가 선택할 것으로 예측되는 구성 요소(feature)(예: 단어, 문구 등)를 제공 시 정확도(accuracy)를 의미할 수 있다.
서버(405)는 새로운 학습 모델(740)을 이용하여 기존 데이터를 분석하는 상황에서, 운동(exercise)=0.8, 게임(games)=0.9, SNS=0.8 을 지시하는 성능을 갖는 것을 확인할 수 있다. 서버(405)는 기존 학습 모델(730)과 비교하여 새로운 학습 모델(740)을 이용하는 경우, 게임(games)의 성능이 향상된 것으로 결정할 수 있다. 서버(405)는 전자 장치(400)로 기존 학습 모델(730)과 비교하여 새로운 학습 모델(740)을 이용할 때의 개선점을 지시하는 정보를 전송할 수 있다.
일 실시예에 따르면, 전자 장치(400)는 서버(405)로부터 개선점을 지시하는 정보를 수신하고, 새로운 학습 모델(740)이 필요한지 결정할 수 있다. 예를 들어, 전자 장치(400)는 사용자가 게임(games) 카테고리를 포함하는 어플리케이션을 사용하는 빈도가 일정 수준을 미만인 것을 확인할 수 있다. 이 경우, 전자 장치(400)는 새로운 학습 모델(740)을 이용하더라도 기존 학습 모델(730)을 사용하는 경우와 비교하여 개선되는 부분이 상대적으로 낮은 것으로 결정할 수 있다. 전자 장치(400)는 서버(405)상으로 새로운 학습 모델(740)을 요청하는 정보를 송신하지 않을 수 있다.
반대로, 전자 장치(400)는 사용자가 게임(games) 카테고리를 포함하는 어플리케이션을 사용하는 빈도가 일정 수준을 초과하는 것을 확인할 수 있다. 이 경우, 전자 장치(400)는 새로운 학습 모델(740)을 이용하면 기존 학습 모델(730)을 사용하는 경우와 비교하여 개선되는 부분이 상대적으로 많을 것으로 결정할 수 있다. 전자 장치(400)는 서버(405)상으로 새로운 학습 모델(740)을 요청하는 정보를 송신할 수 있다.
다양한 실시예들에 따른 전자 장치(400) 및 서버(405)는 획일적으로 새로운 학습 모델(740)의 필요성을 판단하는 것이 아니라, 전자 장치(400) 내에서 사용되는 어플리케이션의 빈도 및 카테고리의 종류에 기반하여 새로운 학습 모델(740)의 필요성을 판단할 수 있다. 서버(405)는 새로운 학습 모델(740)이 필요한 전자 장치(400)에 새로운 학습 모델(740)을 전송하여 리소스를 절약할 수 있다. 서버(405)는 전자 장치(400)에 새로운 학습 모델(740)을 지시하는 정보가 아닌, 기존 학습 모델(730)과의 차이점을 지시하는 정보를 제공할 수 있다. 전자 장치(400)는 수신한 정보에 기반하여 적은 리소스를 활용하면서도 정확하게 새로운 학습 모델(740)의 필요 여부를 결정할 수 있다. 전자 장치(400)는 수신한 정보에 기반하여 개선된 성능이 필요하지 않은 경우 서버(405)로 새로운 학습 모델(740)을 요청하지 않을 수 있다.
다양한 실시예들에 따른 서버는 외부 전자 장치와 통신하기 위한 통신 모듈 및 프로세서를 포함하고, 프로세서는 통신 모듈을 이용하여 서버와 작동적으로 연결된 외부 전자 장치의 기존 학습 모델의 성능을 획득하고, 외부 전자 장치의 기존 학습 모델의 성능이 저하된 것으로 결정됨에 기반하여 새로운 학습 모델을 획득하고, 새로운 학습 모델과 기존 학습 모델의 차이점을 포함하는 정보를 생성하고, 통신 모듈을 이용하여 차이점을 포함하는 정보를 외부 전자 장치로 전달하고, 외부 전자 장치로부터 개선된 학습 모델이 필요함을 지시하는 제 1 신호를 수신함에 기반하여 새로운 학습 모델을 외부 전자 장치로 전달할 수 있다.
일 실시예에 따르면, 학습 모델의 성능은 데이터 저장용량, 연산속도 또는 예측한 결과가 사용자가 예상한 결과와 일치하는 정도 중 어느 하나를 의미할 수 있다.
일 실시예에 따르면, 프로세서는 외부 전자 장치의 기존 학습 모델의 성능에 기반하여 새로운 학습 모델의 필요성을 결정할 수 있다.
일 실시예에 따르면, 프로세서는 외부 전자 장치의 새로운 학습 모델의 성능이 기존 학습 모델의 성능과 비교하여 기 설정된 수준을 초과함에 기반하여 기존 학습 모델의 성능이 저하된 것으로 결정할 수 있다.
일 실시예에 따르면, 프로세서는 기존 학습 모델의 성능이 저하된 것으로 결정됨에 기반하여 새로운 학습 모델의 학습을 진행시킬 수 있다.
일 실시예에 따르면, 프로세서는 새로운 학습 모델과 기존 학습 모델의 차이를 지시하는 정보를 획득하고, 메모리 상에 저장하도록 제어할 수 있다.
일 실시예에 따르면, 프로세서는 사용자의 선호도 변화, 새로운 데이터 추가, 시간의 변화 또는 계절의 변화 중 어느 하나에 기반한 데이터의 변화를 감지하고, 기존 학습 모델을 이용하여 변화된 데이터를 학습할 때 성능을 기록하도록 제어할 수 있다.
일 실시예에 따르면, 프로세서는 기존 학습 모델을 이용하여 변화된 데이터를 학습할 때 성능이 기 설정된 수준 미만으로 낮아지면 새로운 학습 모델을 학습하도록 제어할 수 있다.
다양한 실시예들에 따른 전자 장치는 서버와 통신하기 위한 통신 모듈 및 프로세서를 포함하고, 프로세서는 서버로부터 새로운 학습 모델과 기존 학습 모델의 성능 차이를 포함하는 정보를 획득하고, 새로운 학습 모델과 기존 학습 모델의 성능 차이를 포함하는 정보에 기반하여 새로운 학습 모델로 갱신이 필요한지 여부를 결정하고, 새로운 학습 모델로 갱신이 필요한 것으로 결정됨에 대응하여 새로운 학습 모델이 필요함을 지시하는 신호를 서버로 송신하고, 서버로부터 새로운 학습 모델을 수신할 수 있다.
일 실시예에 따르면, 프로세서는 새로운 학습 모델을 전자 장치의 내부에 설치함에 기반하여, 새로운 학습 모델을 이용한 예측을 수행하고, 통신 모듈을 이용하여 수행 결과를 지시하는 피드백 데이터를 서버로 전송할 수 있다.
일 실시예에 따르면, 프로세서는 새로운 학습 모델의 데이터 분포와 기존 학습 모델의 데이터 분포가 일정 수준을 초과하여 차이남에 기반하여, 서버 상으로 새로운 학습 모델이 필요함을 지시하는 정보를 전송할 수 있다.
일 실시예에 따르면, 프로세서는 새로운 학습 모델을 이용하여 학습을 진행한 경우, 특정 카테고리(category)의 예측 성능이 개선된 것을 감지하고,사용자가 특정 카테고리(category)를 포함하는 어플리케이션을 사용하는 빈도가 일정 수준을 초과하는 것을 감지함에 대응하여 서버 상으로 새로운 학습 모델이 필요함을 지시하는 정보를 전송할 수 있다.
다양한 실시예들에 따른 전자 장치의 학습 모델 갱신 방법은 전자 장치에서 사용되는 기존 학습 모델의 성능 저하를 확인하는 동작, 기존 학습 모델의 성능 저하를 확인함에 기반하여 새로운 학습 모델을 학습하는 동작, 새로운 학습 모델과 기존 학습 모델과의 성능의 차이점을 분석하는 동작, 차이점을 전자 장치로 송신하는 동작, 전자 장치 상에서 새로운 학습 모델이 필요함을 지시하는 신호를 수신하는 동작 및 전자 장치 상에서 새로운 학습 모델이 필요함을 지시하는 신호에 기반하여 새로운 학습 모델을 송신하는 동작을 포함할 수 있다.
일 실시예에 따르면, 기존 학습 모델의 성능 저하를 확인함에 기반하여 새로운 학습 모델을 학습하는 동작은 기존 학습 모델을 이용하여 변화된 데이터를 학습할 때 성능이 기 설정된 수준 미만으로 낮아지면 새로운 학습 모델을 학습하도록 제어하는 동작을 더 포함할 수 있다.

Claims (20)

  1. 서버에 있어서,
    외부 전자 장치와 통신하기 위한 통신 모듈; 및
    프로세서를 포함하고,
    상기 프로세서는
    상기 통신 모듈을 이용하여 상기 서버와 작동적으로 연결된 상기 외부 전자 장치의 기존 학습 모델의 성능을 획득하고,
    상기 외부 전자 장치의 기존 학습 모델의 성능이 저하된 것으로 결정됨에 기반하여 새로운 학습 모델을 획득하고,
    상기 새로운 학습 모델과 상기 기존 학습 모델의 차이점을 포함하는 정보를 생성하고,
    상기 통신 모듈을 이용하여 상기 차이점을 포함하는 정보를 상기 외부 전자 장치로 전달하고,
    상기 외부 전자 장치로부터 개선된 학습 모델이 필요함을 지시하는 제 1 신호를 수신함에 기반하여 상기 새로운 학습 모델을 상기 외부 전자 장치로 전달하는 서버.
  2. 제 1항에 있어서,
    학습 모델의 성능은
    데이터 저장용량, 연산속도 또는 예측한 결과가 사용자가 예상한 결과와 일치하는 정도 중 어느 하나를 의미하는 서버.
  3. 제 2항에 있어서,
    상기 프로세서는
    상기 외부 전자 장치의 기존 학습 모델의 성능에 기반하여 상기 새로운 학습 모델의 필요성을 결정하는 서버.
  4. 제 3항에 있어서,
    상기 프로세서는
    상기 외부 전자 장치의 상기 새로운 학습 모델의 성능이 상기 기존 학습 모델의 성능과 비교하여 기 설정된 수준을 초과함에 기반하여 상기 기존 학습 모델의 성능이 저하된 것으로 결정하는 서버.
  5. 제 4항에 있어서,
    상기 프로세서는
    상기 기존 학습 모델의 성능이 저하된 것으로 결정됨에 기반하여 상기 새로운 학습 모델의 학습을 진행시키는 서버.
  6. 제 1항에 있어서,
    상기 프로세서는
    상기 새로운 학습 모델과 상기 기존 학습 모델의 차이를 지시하는 정보를 획득하고,
    메모리 상에 저장하도록 제어하는 서버.
  7. 제 1항에 있어서,
    상기 프로세서는
    사용자의 선호도 변화, 새로운 데이터 추가, 시간의 변화 또는 계절의 변화 중 어느 하나에 기반한 데이터의 변화를 감지하고,
    상기 기존 학습 모델을 이용하여 변화된 데이터를 학습할 때 성능을 기록하도록 제어하는 서버.
  8. 제 7항에 있어서,
    상기 프로세서는
    상기 기존 학습 모델을 이용하여 변화된 데이터를 학습할 때 성능이 기 설정된 수준 미만으로 낮아지면 상기 새로운 학습 모델을 학습하도록 제어하는 서버.
  9. 전자 장치에 있어서,
    서버와 통신하기 위한 통신 모듈;및
    프로세서를 포함하고,
    상기 프로세서는
    상기 서버로부터 새로운 학습 모델과 기존 학습 모델의 성능 차이를 포함하는 정보를 획득하고,
    상기 새로운 학습 모델과 상기 기존 학습 모델의 성능 차이를 포함하는 정보에 기반하여 상기 새로운 학습 모델로 갱신이 필요한지 여부를 결정하고,
    상기 새로운 학습 모델로 갱신이 필요한 것으로 결정됨에 대응하여 상기 새로운 학습 모델이 필요함을 지시하는 신호를 상기 서버로 송신하고,
    상기 서버로부터 상기 새로운 학습 모델을 수신하는 전자 장치.
  10. 제 9항에 있어서,
    학습 모델의 성능은
    데이터 저장용량, 연산속도 또는 예측한 결과가 사용자가 예상한 결과와 일치하는 정도 중 어느 하나를 의미하는 전자 장치.
  11. 제 10항에 있어서,
    상기 프로세서는
    상기 기존 학습 모델의 성능에 기반하여 상기 새로운 학습 모델의 필요성을 결정하는 전자 장치.
  12. 제 11항에 있어서,
    상기 프로세서는
    상기 새로운 학습 모델의 성능이 상기 기존 학습 모델의 성능과 비교하여 기 설정된 수준을 초과함에 기반하여 상기 기존 학습 모델의 성능이 저하된 것으로 결정하는 전자 장치.
  13. 제 12항에 있어서,
    상기 프로세서는
    상기 기존 학습 모델의 성능이 저하된 것으로 결정됨에 기반하여
    상기 통신 모듈을 이용하여 상기 새로운 학습 모델이 필요함을 지시하는 정보를 상기 서버로 송신하는 전자 장치.
  14. 제 9항에 있어서,
    상기 프로세서는
    상기 서버로부터 상기 새로운 학습 모델을 수신함에 기반하여,
    상기 새로운 학습 모델을 상기 전자 장치의 내부에 설치하도록 제어하는 전자 장치.
  15. 제 14항에 있어서,
    상기 프로세서는
    상기 새로운 학습 모델을 상기 전자 장치의 내부에 설치함에 기반하여,
    상기 새로운 학습 모델을 이용한 예측을 수행하고,
    상기 통신 모듈을 이용하여 수행 결과를 지시하는 피드백 데이터를 상기 서버로 전송하는 전자 장치.
  16. 제 9항에 있어서,
    상기 프로세서는
    상기 새로운 학습 모델의 데이터 분포와 기존 학습 모델의 데이터 분포가 일정 수준을 초과하여 차이남에 기반하여,
    상기 서버 상으로 상기 새로운 학습 모델이 필요함을 지시하는 정보를 전송하는 전자 장치.
  17. 제 9항에 있어서,
    상기 프로세서는
    상기 새로운 학습 모델을 이용하여 학습을 진행한 경우, 특정 카테고리(category)의 예측 성능이 개선된 것을 감지하고,
    사용자가 특정 카테고리(category)를 포함하는 어플리케이션을 사용하는 빈도가 일정 수준을 초과하는 것을 감지함에 대응하여
    상기 서버 상으로 상기 새로운 학습 모델이 필요함을 지시하는 정보를 전송하는 전자 장치.
  18. 전자 장치의 학습 모델 갱신 방법에 있어서,
    상기 전자 장치에서 사용되는 기존 학습 모델의 성능 저하를 확인하는 동작;
    상기 기존 학습 모델의 성능 저하를 확인함에 기반하여 새로운 학습 모델을 학습하는 동작;
    상기 새로운 학습 모델과 상기 기존 학습 모델과의 성능의 차이점을 분석하는 동작;
    상기 차이점을 상기 전자 장치로 송신하는 동작;
    상기 전자 장치 상에서 상기 새로운 학습 모델이 필요함을 지시하는 신호를 수신하는 동작;
    상기 전자 장치 상에서 상기 새로운 학습 모델이 필요함을 지시하는 신호에 기반하여 상기 새로운 학습 모델을 송신하는 동작을 포함하는 방법.
  19. 제 18항에 있어서,
    학습 모델의 성능은
    데이터 저장용량, 연산속도 또는 예측한 결과가 사용자가 예상한 결과와 일치하는 정도 중 어느 하나를 의미하는 방법.
  20. 제 18항에 있어서,
    상기 기존 학습 모델의 성능 저하를 확인함에 기반하여 새로운 학습 모델을 학습하는 동작은
    상기 기존 학습 모델을 이용하여 변화된 데이터를 학습할 때 성능이 기 설정된 수준 미만으로 낮아지면 상기 새로운 학습 모델을 학습하도록 제어하는 동작을 더 포함하는 방법.

KR1020220082678A 2022-06-30 2022-07-05 전자 장치의 학습 모델을 갱신하는 서버 및 그의 동작 방법 KR20240002865A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2023/004583 WO2024005313A1 (ko) 2022-06-30 2023-04-05 전자 장치의 학습 모델을 갱신하는 서버 및 그의 동작 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220080478 2022-06-30
KR20220080478 2022-06-30

Publications (1)

Publication Number Publication Date
KR20240002865A true KR20240002865A (ko) 2024-01-08

Family

ID=89533213

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220082678A KR20240002865A (ko) 2022-06-30 2022-07-05 전자 장치의 학습 모델을 갱신하는 서버 및 그의 동작 방법

Country Status (1)

Country Link
KR (1) KR20240002865A (ko)

Similar Documents

Publication Publication Date Title
KR20220034571A (ko) 음성에 포함된 커맨드를 확인하는 전자 장치와 이의 동작 방법
US20220326964A1 (en) Processor for initializing model file of application and electronic device including the same
US11929079B2 (en) Electronic device for managing user model and operating method thereof
KR20240002865A (ko) 전자 장치의 학습 모델을 갱신하는 서버 및 그의 동작 방법
KR20220102405A (ko) 전자 장치 및 전자 장치의 동작 방법
KR20220118785A (ko) 지오펜스를 설정하기 위한 전자 장치 및 이의 동작 방법
KR20220120824A (ko) 업사이클링 기능을 제공하기 위한 방법 및 이를 지원하는 전자 장치
WO2024005313A1 (ko) 전자 장치의 학습 모델을 갱신하는 서버 및 그의 동작 방법
KR20230173554A (ko) 전자 장치의 외기 온도 예측 방법 및 장치
US20230179675A1 (en) Electronic device and method for operating thereof
US20230342209A1 (en) Service operation method and electronic device supporting same
US20230027222A1 (en) Electronic device for managing inappropriate answer and operating method thereof
US20230032030A1 (en) Electronic device and operation method of electronic device for deciding cell on or off threshold based on traffic
US20230095294A1 (en) Server and electronic device for processing user utterance and operating method thereof
US20230030132A1 (en) Application optimization method and apparatus supporting the same
US20220311636A1 (en) Electronic device and method for determining device for performing task by electronic device
KR20240047262A (ko) 온도에 기반하여 전자 장치를 제어하는 방법 및 그 전자 장치
KR20220159237A (ko) 다중 주파수 무선통신 네트워크에서 부하 제어와 관련된 시스템 변수를 설정하기 위한 전자 장치 및 그의 동작 방법
KR20240030857A (ko) 전자 장치 및 전자 장치의 어플리케이션 성능 최적화 방법
KR20230123391A (ko) 전자 장치 및 음원의 주파수 대역별 크기 변경 방법
KR20230018869A (ko) 제품의 불량을 예측하는 예측 모델 업데이트 방법 및 장치
KR20230146416A (ko) 리소스 블록의 스케줄링 방법, 및 상기 방법을 수행하는 전자 장치
KR20230075956A (ko) 위치에 기반한 사용자 액션 추천 방법 및 전자 장치
KR20230157838A (ko) 사용자 단말의 이동성 예측을 위한 서버의 동작 방법 및 그 서버
KR20230028081A (ko) 어플리케이션의 실행 오류를 검출하는 전자 장치 및 그 작동 방법