KR20220135498A - 전자 장치 및 이의 제어 방법 - Google Patents

전자 장치 및 이의 제어 방법 Download PDF

Info

Publication number
KR20220135498A
KR20220135498A KR1020210041245A KR20210041245A KR20220135498A KR 20220135498 A KR20220135498 A KR 20220135498A KR 1020210041245 A KR1020210041245 A KR 1020210041245A KR 20210041245 A KR20210041245 A KR 20210041245A KR 20220135498 A KR20220135498 A KR 20220135498A
Authority
KR
South Korea
Prior art keywords
neural network
network model
configuration information
model
external device
Prior art date
Application number
KR1020210041245A
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 KR1020210041245A priority Critical patent/KR20220135498A/ko
Priority to PCT/KR2022/004210 priority patent/WO2022211383A1/ko
Publication of KR20220135498A publication Critical patent/KR20220135498A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

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

Abstract

전자 장치 및 이의 제어 방법이 개시된다. 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은, 외부 장치로부터 제1 신경망 모델을 구축하기 위한 모델 구성 정보, 상기 제1 신경망 모델에 입력되는 입력 벡터 및 상기 입력 벡터에 의해 상기 제1 신경망 모델에서 출력되는 제1 출력 벡터를 수신하는 단계; 상기 모델 구성 정보를 바탕으로 제2 신경망 모델을 구축하는 단계; 상기 제2 신경망 모델에 상기 입력 벡터를 입력하여 상기 제2 신경망 모델에서 출력되는 제2 출력 벡터를 획득하는 단계; 상기 제1 출력 벡터 및 상기 제2 출력 벡터의 유사도를 획득하는 단계; 상기 유사도를 바탕으로, 상기 외부 장치에 상기 모델 구성 정보를 재요청하는 단계; 및 상기 재요청에 따라 상기 제1 신경망 모델을 구축하기 위한 모델 구성 정보를 재수신하는 단계;를 포함한다.

Description

전자 장치 및 이의 제어 방법{ELECTRONIC APPARATUS AND CONTROL METHOD THEREOF}
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로, 더욱 상세하게는 신경망 모델을 활용하는 전자 장치 및 이의 제어 방법에 관한 것이다.
인공지능 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템으로서 기계가 스스로 학습하고 판단하며, 사용할수록 인식률이 향상되는 시스템이다
인공지능 기술은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘을 이용하는 기계학습(딥러닝) 기술 및 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 요소 기술들로 구성된다.
요소기술들은, 예로, 인간의 언어/문자를 인식하는 언어적 이해 기술, 사물을 인간의 시각처럼 인식하는 시각적 이해 기술, 정보를 판단하여 논리적으로 추론하고 예측하는 추론/예측 기술, 인간의 경험 정보를 지식데이터로 처리하는 지식 표현 기술 및 차량의 자율 주행, 로봇의 움직임을 제어하는 동작 제어 기술 중 적어도 하나를 포함할 수 있다.
시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다.
이에, 인공지능 시스템을 이용하는 On-Device 기술이 상용화 됨에 따라, 신경망 모델을 클라우드 서버 등에서 전자 장치로 전송하기 위한 필요성이 증대되고 있다.
본 개시는 상술한 필요성을 바탕으로 안출된 것으로, 본 개시의 목적은 외부 장치를 통해 수신한 모델 구성 정보를 통해 구축된 신경망 모델이 오류 없이 정확하게 구축 되었는지를 식별하는 전자 장치 및 이의 제어 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은, 외부 장치로부터 제1 신경망 모델을 구축하기 위한 모델 구성 정보, 상기 제1 신경망 모델에 입력되는 입력 벡터 및 상기 입력 벡터에 의해 상기 제1 신경망 모델에서 출력되는 제1 출력 벡터를 수신하는 단계; 상기 모델 구성 정보를 바탕으로 제2 신경망 모델을 구축하는 단계; 상기 제2 신경망 모델에 상기 입력 벡터를 입력하여 상기 제2 신경망 모델에서 출력되는 제2 출력 벡터를 획득하는 단계; 상기 제1 출력 벡터 및 상기 제2 출력 벡터의 유사도를 획득하는 단계; 상기 유사도를 바탕으로, 상기 외부 장치에 상기 모델 구성 정보를 재요청하는 단계; 및 상기 재요청에 따라 상기 제1 신경망 모델을 구축하기 위한 모델 구성 정보를 재수신하는 단계;를 포함한다.
그리고, 상기 재요청하는 단계는, 상기 유사도가 임계값 이상이면, 상기 제2 신경망 모델을 저장하는 단계; 및 상기 유사도가 임계값 미만이면 상기 모델 구성 정보를 재요청하는 단계를 더 포함할 수 있다.
그리고, 상기 유사도를 획득하는 단계는, 상기 제1 출력 벡터와 상기 제2 출력 벡터 간의 PSNR(Peak Signal-to-noise ratio) 정보를 획득하는 단계이며, 상기 재요청하는 단계는, 상기 PSNR 정보가 기 설정값 미만인 경우 상기 외부 장치에 상기 모델 구성 정보를 재요청하는 단계일 수 있다.
그리고, 상기 수신하는 단계는, 상기 모델 구성 정보가 압축된 제1 압축 모델 구성 정보를 수신하는 단계;이며, 상기 제2 신경망 모델을 구축하는 단계는, 상기 제1 압축 모델 구성 정보를 바탕으로, 신경망 모델을 구축하여 상기 제2 신경망 모델을 획득하는 단계일 수 있다.
그리고, 상기 수신하는 단계는, 제1 외부 장치로부터 제1 신경망 모델에 입력되는 입력 벡터 및 상기 입력 벡터에 의해 상기 제1 신경망 모델에서 출력되는 제1 출력 벡터를 수신하는 단계; 및 제2 외부 장치로부터 상기 제1 신경망 모델을 구성하는 모델 구성 정보가 압축된 제1 압축 모델 구성 정보를 수신하는 단계;를 포함할 수 있다.
그리고, 제2 외부 장치는 제1 외부 장치로부터 수신된 모델 구성 정보를 바탕으로, 제1 압축 모델 구성 정보를 획득하는 것을 특징으로 할 수 있다.
그리고, 상기 재수신하는 단계는, 상기 외부 장치로부터, 상기 제1 압축 모델 구성 정보의 압축률과 상이한 압축률로 압축된 제2 압축 모델 구성 정보를 수신하는 단계일 수 있다.
그리고, 상기 제1 신경망 모델은 상기 전자 장치에 기 구축되어 있으며, 상기 모델 구성 정보는 상기 제1 신경망 모델을 업데이트하기 위한 업데이트 정보를 포함하며, 상기 구축하는 단계는, 상기 업데이트 정보를 바탕으로 제1 신경망 모델을 업데이트한 상기 제2 신경망 모델을 구축할 수 있다.
그리고, 상기 모델 구성 정보는 상기 제1 신경망 모델의 구조 정보, 상기 제1 신경망 모델의 가중치 정보 및 상기 제1 신경망 모델의 전달 함수 정보를 포함할 수 있다.
한편, 상술한 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치는, 적어도 하나의 인스트럭션을 포함하는 메모리, 통신 인터페이스 및 상기 메모리와 연결되며 상기 전자 장치를 제어하는 프로세서를 포함하고, 상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써, 외부 장치로부터 제1 신경망 모델을 구축하기 위한 모델 구성 정보, 상기 제1 신경망 모델에 입력되는 입력 벡터 및 상기 입력 벡터에 의해 상기 제1 신경망 모델에서 출력되는 제1 출력 벡터를 수신하도록 상기 통신 인터페이스를 제어하고, 상기 모델 구성 정보를 바탕으로 제2 신경망 모델을 구축하고, 상기 제2 신경망 모델에 상기 입력 벡터를 입력하여 상기 제2 신경망 모델에서 출력되는 제2 출력 벡터를 획득하고, 상기 제1 출력 벡터 및 상기 제2 출력 벡터의 유사도를 획득하고, 상기 유사도를 바탕으로, 상기 외부 장치에 상기 모델 구성 정보를 재요청하도록 상기 통신 인터페이스를 제어하고, 상기 재요청에 따라 상기 제1 신경망 모델을 구축하기 위한 모델 구성 정보를 재수신하도록 상기 통신 인터페이스를 제어할 수 있다.
그리고, 상기 프로세서는, 상기 유사도가 임계값 이상이면, 상기 제2 신경망 모델을 상기 메모리에 저장하고, 상기 유사도가 임계값 미만이면, 상기 외부 장치로 상기 모델 구성 정보를 재요청하도록 상기 통신 인터페이스를 제어할 수 있다.
그리고, 상기 프로세서는, 상기 제1 출력 벡터와 상기 제2 출력 벡터 간의 PSNR(Peak Signal-to-noise ratio) 정보를 획득하고, 상기 PSNR 정보가 기 설정값 미만인 경우 상기 외부 장치에 상기 모델 구성 정보를 재요청하도록 상기 통신 인터페이스를 제어할 수 있다.
그리고, 상기 프로세서는, 상기 외부 장치로부터 상기 모델 구성 정보가 압축된 제1 압축 모델 구성 정보를 수신하도록 상기 통신 인터페이스를 제어하고, 상기 제1 압축 모델 구성 정보를 바탕으로, 신경망 모델을 구축하여 상기 제2 신경망 모델을 획득할 수 있다.
그리고, 상기 프로세서는, 제1 외부 장치로부터 제1 신경망 모델에 입력되는 입력 벡터 및 상기 입력 벡터에 의해 상기 제1 신경망 모델에서 출력되는 제1 출력 벡터를 수신하도록 상기 통신 인터페이스를 제어하고, 제2 외부 장치로부터 상기 제1 신경망 모델을 구성하는 모델 구성 정보가 압축된 제1 압축 모델 구성 정보를 수신하도록 상기 통신 인터페이스를 제어할 수 있다.
그리고, 제2 외부 장치는 제1 외부 장치로부터 수신된 모델 구성 정보를 바탕으로, 제1 압축 모델 구성 정보를 획득하는 것을 특징으로 할 수 있다.
그리고, 상기 프로세서는, 상기 외부 장치로부터, 상기 제1 압축 모델 구성 정보의 압축률과 상이한 압축률로 압축된 제2 압축 모델 구성 정보를 수신하도록 상기 통신 인터페이스를 제어할 수 있다.
그리고, 상기 제1 신경망 모델은 상기 전자 장치에 기 구축되어 있으며, 상기 모델 구성 정보는 상기 제1 신경망 모델을 업데이트하기 위한 업데이트 정보를 포함하며, 상기 프로세서는, 상기 업데이트 정보를 바탕으로 제1 신경망 모델을 업데이트한 상기 제2 신경망 모델을 구축할 수 있다.
그리고, 상기 모델 구성 정보는 상기 제1 신경망 모델의 구조 정보, 상기 제1 신경망 모델의 가중치 정보 및 상기 제1 신경망 모델의 전달 함수 정보를 포함할 수 있다.
상술한 실시 예들을 통해, 본 개시에 따른 전자 장치는 모델 구성 정보의 송수신 과정 또는 모델 구성 정보의 압축 과정에서 발생될 수 있는 오류를 감지할 수 있다.
도 1은 본 개시의 일 실시 예에 따른, 전자 장치의 구성을 간략히 도시한 블럭도이다.
도 2은 본 개시의 일 실시 예에 따른, 외부 장치의 구성을 간략히 도시한 블럭도이다.
도 3은 본 개시에 따른 모델 구성 정보를 바탕으로 전자 장치가 신경망 모델을 구축하는 실시 예를 설명하기 위한 도면이다.
도 4은 본 개시에 따른 압축 모델 구성 정보를 바탕으로 전자 장치가 신경망 모델을 구축하는 실시 예를 설명하기 위한 도면이다.
도 5는 본 개시에 따른, 모델 구성 정보의 압축 여부에 따른 전자 장치의 동작을 설명하기 위한 흐름도이다.
도 6은 본 개시에 따른, 전자 장치와 외부 장치간의 동작을 설명하기 위한 시퀀스도이다.
도 7은 신경망 모델을 학습하는 제1 외부 장치, 신경망 모델을 압축하는 제2 외부 장치와 전자 장치간의 동작을 설명하기 위한 시퀀스도이다.
도 8은 본 개시에 따른, 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
도 9은 본 개시의 일 실시 예에 따른, 전자 장치의 구체적인 구성을 나타내는 블록도이다.
이하에서는 도면을 참조하여 본 발명에 대해 더욱 상세히 설명하기로 한다.
도 1은 본 개시의 일 실시 예에 따른, 전자 장치(100)의 구성을 간략히 도시한 블럭도이다. 본 개시의 다양한 실시 예들에 따른 전자 장치는 사용자 단말 장치 또는 가전 제품으로 구현될 수 있으나, 이는 일 실시 예에 불과할 뿐, 적어도 하나의 서버로 구현될 수 있다. 도 1에 도시된 바와 같이, 전자 장치(100)는 메모리(110), 통신 인터페이스(120) 및 프로세서(130)를 포함할 수 있다.
메모리(110)는 전자 장치(100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 구체적으로, 메모리(110)에는 적어도 하나의 인스트럭션이 저장될 수 있다. 프로세서(130)는 메모리(110)에 저장된 인스트럭션을 실행함으로써 전자 장치(100)의 동작을 수행할 수 있다.
메모리(110)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(110)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(110), 프로세서(130) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다. 또한, 메모리(110)에는 디스플레이의 디스플레이 영역에 표시될 각종 화면을 구성하기 위한 프로그램 및 데이터 등이 저장될 수 있다.
메모리(110)는 외부 장치로부터 수신된 모델 구성 정보를 저장할 수 있다. 모델 구성 정보는 신경망 모델을 구축하기 위한 정보를 포함하여, 구체적인 내용은 후술하도록 한다.
그리고, 메모리(110)는 본 개시의 프로세서(130)의 동작에 따라, 구축된 신경망 모델을 저장할 수 있으며, 구체적인 내용은 후술하도록 한다.
통신 인터페이스(120)는 무선 통신 또는 유선 통신을 통해 외부 장치와 통신을 수행할 수 있다. 일 실시 예로, 무선 통신은, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신을 포함할 수 있다. 일 실시예에 따르면, 무선 통신은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 무선 통신 또는 유선 통신이 수행되는 네트워크는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.
통신 인터페이스(120)는 외부 장치로부터 모델 구성 정보를 수신할 수 있다. 그리고, 통신 인터페이스(120)는 외부 장치로부터 수신된 모델 구성 정보에 대응되는 신경망 모델에 입력되는 입력 벡터 및 입력 벡터에 의해 신경망 모델에서 출력되는 출력 벡터를 수신할 수 있다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서(130)와 메모리(110)를 통해 동작된다.
프로세서(130)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU(Central Processing Unit), AP(application processor) 등과 같은 범용 프로세서, GPU(Graphics Processing Unit). VPU(Visual Processing Unit) 등과 같은 그래픽 전용 프로세서 또는 NPU(Neural Processing Unit) 와 같은 인공지능 전용 프로세서일 수 있다.
하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 각 레이어는 복수의 가중치(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치의 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep 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)는 메모리(110)와 전기적으로 연결되어 전자 장치(100)의 동작을 전반적으로 제어할 수 있다. 구체적으로, 프로세서(130)는 메모리(110)에 저장된 적어도 하나의 명령어를 실행하여 전자 장치(100)를 제어할 수 있다.
본 개시에 따른 프로세서(130)는 외부 장치로부터 제1 신경망 모델을 구축하기 위한 모델 구성 정보를 수신하도록 통신 인터페이스(120)를 제어할 수 있다. 모델 구성 정보란 신경망 모델을 구축하기 위해 필요한 정보로, 신경망 모델을 송수신하기 위해 해당 신경망 모델이 송수신 가능한 데이터로 변환된 정보일 수 있다. 일 예로, 신경망 모델의 구조(topology) 정보, 신경망 모델의 가중치 정보 및 신경망 모델의 전달 함수 정보를 포함할 수 있다. 구조(topology) 정보는 신경망 모델의 레이어 구성 방식을 의미하며, 레이어의 패턴 또는 구조 방식에 대한 정보일 수 있다. 가중치 정보는 레이어 간의 가중치에 대한 정보를 의미할 수 있다. 그리고, 전달 함수 정보는 신경망 모델의 레이어 각각에서 출력되는 출력 신호를 생성하기 위해 레이어의 입력 신호에 적용되는 함수에 대한 정보로, 활성화 함수(activation function)로 명칭될 수도 있다.
일 실시 예로, 프로세서(130)는 외부 장치로부터 특정 압축률에 따라 압축된 압축 모델 구성 정보를 수신하도록 통신 인터페이스(120)를 제어할 수 있다. 본 개시에 따른 압축 모델 구성 정보는 압축된 신경망 모델을 구축하기 위해 필요한 정보로, 압축된 신경망 모델을 송수신하기 위해 해당 압축된 신경망 모델이 송수신 가능한 데이터로 변환된 정보일 수 있다. 따라서, 압축 모델 구성 정보 또한 압축된 신경망 모델의 구조(topology) 정보, 압축된 신경망 모델의 가중치 정보 및 압축된 신경망 모델의 전달 함수 정보를 포함할 수 있다.
최근 MPEG에서는 NNR(Compression of Neural Networks for Multimedia Content Description and Analysis)이라는 상호 운용 가능한 형태로 신경망 모델을 압축 표현하는 표준화를 진행하고 있다. 일 예로, MPEG-NNR에서는 신경망 모델의 압축을 위해서 신경망 모델 내 파라미터의 개수를 줄이는 가지치기(Pruning), 행령 분해 기법과 가중치 값을 근사화 하는 양자화(Quantization) 및 엔트로피 부호화 방법 등을 채택하고 있다. 다만, 현재의 MPEG-NNR에는 MPEG-NNR 표준에 따라 모델 구성 정보를 수신한 전자 장치 내에서, 모델 구성 정보를 바탕으로 오류 없이 정확하게 신경망 모델을 구축 하였는지를 확인하는 절차에 대해서는 정의하고 있지 않다.
따라서, 본 개시에 따른 전자 장치(100)는 외부 장치로부터 모델 구성 정보뿐만 아니라, 모델 구성 정보에 대응되는 입력 벡터 및 제1 출력 벡터를 더 수신하여, 오류 없이 정확하게 신경망 모델을 구축 하였는지를 확인할 수 있다.
따라서, 본 개시에 따른 프로세서(130)는 외부 장치로부터 제1 신경망 모델에 입력되는 입력 벡터 및 입력 벡터에 의해 제1 신경망 모델에서 출력되는 제1 출력 벡터를 수신하도록 통신 인터페이스(120)를 제어할 수 있다.
일 실시 예로, 외부 장치는 제1 신경망 모델을 학습시키는 서버일 수 있다. 또한, 외부 장치는 제1 신경망 모델을 관리하는 서버일 수 있다. 또한, 외부 장치는 제1 신경망 모델을 저장하고 있는 외부 단말 장치일 수 있다. 다만, 이에 한정되지 않고, 외부 장치는 신경망 모델을 저장할 수 있는 다양한 전자 장치로 구현될 수 있다.
그리고, 입력 벡터는 제1 신경망 모델에 입력되는 데이터를 의미하며, 제1 출력 벡터는 제1 신경망 모델에 입력 벡터가 입력되어 출력되는 데이터를 의미할 수 있다. 즉, 외부 장치는 제1 신경망 모델에 입력 벡터를 입력하여, 제1 출력 벡터를 획득할 수 있다. 일 실시 예로, 입력 벡터는 복수 개로 구성될 수 있으며, 이 경우, 제1 출력 벡터는 복수의 입력 벡터 각각을 제1 신경망 모델에 입력하여 획득되는 복수의 출력 벡터로 구성될 수 있다.
그리고, 프로세서(130)는 외부 장치로부터 수신한 모델 구성 정보를 바탕으로, 신경망 모델을 구축하여 제2 신경망 모델을 획득할 수 있다. 일 예로, 프로세서(130)는 모델 구성 정보에 포함된 제1 신경망 모델의 구조 정보, 제1 신경망 모델의 가중치 정보 및 제1 신경망 모델의 전달 함수 정보를 바탕으로 신경망 모델을 구축할 수 있다.
일 실시 예로, 프로세서(130)는 제1 신경망 모델을 구축하기 위한 모델 구성 정보를 바탕으로, 제2 신경망 모델을 획득할 수 있다. 즉, 프로세서(130)는 압축이 수행되지 않은 모델 구성 정보를 통해, 신경망 모델을 구축하여 제2 신경망 모델을 획득할 수 있다.
일 실시 예로, 제1 신경망 모델을 구축하기 위한 모델 구성 정보가 압축된 제1 압축 모델 구성 정보가 수신되면, 프로세서(130)는 제1 압축 모델 구성 정보를 바탕으로, 신경망 모델을 구축하여 제2 신경망 모델을 획득할 수 있다. 일 예로, 제1 압축 모델 구성 정보는 외부 장치에서 MPEG-NNR 표준에 따라 제1 신경망 모델을 압축한 모델 구성 정보일 수 있다. 다만, 이에 한정되지 않고, 본 개시에 따른 압축 모델 구성 정보는 다양한 압축 방식에 의해 신경망 모델이 압축된 정보일 수 있다.
일 실시 예로, 제1 압축 모델 구성 정보에 따라 구축된 제2 신경망 모델은 제1 신경망 모델에 비해 간소화된 신경망 모델일 수 있다. 일 예로, 제1 압축 모델 구성 정보에 따라 구축된 제2 신경망 모델은 제1 신경망 모델에 비해 연산량이 줄어들거나, 용량이 적을 수 있다.
그리고, 프로세서(130)는 제2 신경망 모델에 외부 장치로부터 수신된 입력 벡터를 입력하여 제2 신경망 모델에서 출력되는 제2 출력 벡터를 획득할 수 있다. 즉, 제2 출력 벡터는 제2 신경망 모델에 입력 벡터를 입력하여 출력되는 데이터일 수 있다.
그리고, 프로세서(130)는 획득된 제2 출력 벡터와 외부 장치로부터 수신된 제1 출력 벡터의 유사도를 획득할 수 있다. 그리고, 프로세서(130)는 유사도를 바탕으로 외부 장치에 모델 구성 정보를 재요청하도록 통신 인터페이스(120)를 제어할 수 있다.
일 실시 예로, 프로세서(130)는 제1 출력 벡터와 제2 출력 벡터를 비교하여 PSNR(Peak Signal-to-noise ratio) 값(정보)을 획득할 수 있다. PSNR 값(이란, 신호가 가질 수 있는 최대 전력에 대한 잡음의 전력 비를 나타내는 값으로, 본 개시에서는 제1 출력 벡터의 신호와 제2 출력 벡터의 신호를 비교하여 산출될 수 있다. 일 예로, 제1 출력 벡터의 신호와 제2 출력 벡터의 신호간의 평균 제곱 오차(MES)를 계산하여 PSNR 값이 산출될 수 있다. 그리고, 제1 출력 벡터의 신호와 제2 출력 벡터의 신호 간의 PSNR 값이 클수록 두 신호 간의 유사도가 크다는 것을 의미할 수 있다.
프로세서(130)는 PSNR 값이 임계값(예로, 40) 미만인 경우, 외부 장치로 모델 구성 정보를 재요청하도록 통신 인터페이스(120)를 제어할 수 있다. 그리고, 프로세서(130)는 재요청에 따라 제1 신경망 모델을 구축하기 위한 모델 구성 정보를 외부 장치로부터 재수신하도록 통신 인터페이스(120)를 제어할 수 있다.
일 실시 예로, 제2 신경망 모델을 구축하기 위해 수신된 모델 구성 정보가 압축이 수행되지 않은 모델 구성 정보인 경우, 프로세서(130)는 외부 장치로부터 제1 신경망 모델을 구축하기 위한 모델 구성 정보를 다시 수신하도록 통신 인터페이스(120)를 제어할 수 있다. 즉, 압축이 수행되지 않은 모델 구성 정보를 통해 구축한 제2 신경망 모델을 통해 획득한 제2 출력 벡터와 제1 출력 벡터가 유사도가 임계값(예로, PSNR 값 40) 미만인 경우 송수신 단계에서 오류가 발생된 것으로, 프로세서(130)는 외부 장치에 다시 한번 모델 구성 정보를 요청하여 모델 구성 정보를 수신하도록 통신 인터페이스(120)를 제어할 수 있다.
일 실시 예로, 제2 신경망 모델을 구축하기 위해 수신된 모델 구성 정보가 압축이 수행된 압축 모델 구성 정보인 경우, 프로세서(130)는 외부 장치로부터 이전에 수신된 압축 모델 구성 정보의 압축률과 상이한 압축률의 압축 모델 구성 정보를 수신하도록 통신 인터페이스(120)를 제어할 수 있다. 즉, 압축이 수행된 압축 모델 구성 정보를 통해 구축한 제2 신경망 모델을 통해 획득한 제2 출력 벡터와 제1 출력 벡터가 유사도가 임계값(예로, PSNR 값 40) 미만인 경우 그 압축 과정에서 오류가 발생된 것으로, 프로세서(130)는 외부 장치에 기존에 수신된 제1 압축 모델 구성 정보와 상이한 압축률로 압축된 압축 모델 구성 정보를 요청하여, 제2 압축 모델 구성 정보를 수신하도록 통신 인터페이스(120)를 제어할 수 있다.
프로세서(130)는 PSNR 값이 임계값(예로, 40) 이상인 경우, 제2 신경망 모델을 메모리(110)에 저장할 수 있다. 즉, 제1 출력 벡터와 제2 출력 벡터간의 유사도가 임계값 이상이면, 프로세서(130)는 제2 신경망 모델을 메모리(110)에 저장하여, 제2 신경망 모델을 통해 제공되는 기능을 수행할 수 있다.
상술한 실시 예에서는 제1 출력 벡터와 제2 출력 벡터간의 유사도가 임계값 미만인 경우, 프로세서(130)는 신경망 모델을 구축하기 위한 모델 구성 정보를 재요청하여 외부 장치로부터 모델 구성 정보를 재수신하고, 재수신된 모델 구성 정보를 바탕으로 새로운 신경망 모델을 구축하는 것으로 설명하였으나, 본 개시는 이에 한정되지 않는다.
즉, 제1 신경망 모델이 전자 장치(100)에 기 구축되어 있는 경우, 프로세서(130)는 제1 신경망 모델에 대한 업데이트를 수행하기 위해 외부 장치로부터 제1 신경망 모델을 업데이트 하기 위한 업데이트 정보를 수신하도록 통신 인터페이스(120)를 제어할 수 있다. 그리고, 프로세서(130)는 업데이트 정보를 바탕으로, 제1 신경망 모델을 업데이트한 제2 신경망 모델을 구축할 수 있다.
그리고, 프로세서(130)는 외부 장치로부터 업데이트 정보에 따라 업데이트가 수행된 신경망 모델에 입력되는 입력 벡터를 수신하도록 통신 인터페이스(120)를 제어할 수 있다. 그리고, 프로세서(130)는 외부 장치로부터 업데이트가 수행된 신경망 모델에 입력 벡터 정보를 입력하여 출력되는 제1 출력 벡터를 수신하도록 통신 인터페이스(120)를 제어할 수 있다. 그리고, 프로세서(130)는 업데이트 정보를 바탕으로, 제1 신경망 모델을 업데이트한 제2 신경망 모델에 입력 벡터를 입력하여 획득한 제2 출력 벡터와 외부 장치로부터 수신한 제1 출력 벡터의 유사도를 비교하여, 외부 장치로 업데이트 정보를 재요청할지 여부를 식별할 수 있다.
상술한 실시 예들을 통해, 본 개시에 따른 전자 장치는 외부 장치로부터 수신된 모델 구성 정보에 따라 구축된 신경망 모델에 대응되는 제2 출력 벡터와 모델 구성 정보를 전송한 외부 장치에 구축된 신경망 모델에 대응되는 제1 출력 벡터를 비교하여 유사도를 획득함으로, 모델 구성 정보의 송수신 과정 또는 모델 구성 정보의 압축 과정에서 발생될 수 있는 오류를 감지할 수 있다.
도 2은 본 개시의 일 실시 예에 따른, 외부 장치(200)의 구성을 간략히 도시한 블럭도이다. 본 개시의 다양한 실시 예들에 따른 외부 장치는 신경망 모델을 학습 시킬 수 있는 서버로 구현될 수 있다. 도 2에 도시된 바와 같이, 외부 장치(200)는 메모리(210), 통신 인터페이스(220) 및 프로세서(230)를 포함할 수 있다.
메모리(210)는 외부 장치(200)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 구체적으로, 메모리(210)에는 적어도 하나의 인스트럭션이 저장될 수 있다. 프로세서(230)는 메모리(210)에 저장된 인스트럭션을 실행함으로써 외부 장치(200)의 동작을 수행할 수 있다.
메모리(210)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(210)는 프로세서(230)에 의해 액세스되며, 프로세서(230)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
그리고, 메모리(210)는 본 개시의 프로세서(230)의 동작에 따라, 학습이 수행된 신경망 모델을 저장할 수 있다. 그리고, 메모리(210)는 본 개시의 프로세서(230)의 동작에 따라, 학습된 신경망 모델을 전자 장치(100)로 전송하기 위해 모델 구성 정보를 저장할 수 있다.
통신 인터페이스(220)는 무선 통신 또는 유선 통신을 통해 외부 장치와 통신을 수행할 수 있다. 일 실시 예로, 무선 통신은, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신을 포함할 수 있다. 일 실시예에 따르면, 무선 통신은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 무선 통신 또는 유선 통신이 수행되는 네트워크는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.
통신 인터페이스(220)는 전자 장치(100)로 모델 구성 정보를 전송할 수 있다. 그리고, 통신 인터페이스(220)는 전자 장치(100)로 모델 구성 정보에 대한 재전송 요청이 수신되면, 전자 장치(100)로 모델 구성 정보를 재전송할 수 있다.
프로세서(230)는 메모리(210)와 전기적으로 연결되어 외부 장치(200)의 동작을 전반적으로 제어할 수 있다. 구체적으로, 프로세서(230)는 메모리(210)에 저장된 적어도 하나의 명령어를 실행하여 외부 장치(200)를 제어할 수 있다.
본 개시에 따른 프로세서(230)는 제1 신경망 모델에 대한 학습을 수행하여 학습이 완료된 제1 신경망 모델을 획득할 수 있다.
일 실시 예로, 프로세서(230)는 학습이 완료된 제1 신경망 모델을 전자 장치(100)로 전송하기 위해, 모델 구성 정보를 획득할 수 있다.
도 3은 본 개시에 따른 모델 구성 정보를 바탕으로 전자 장치가 신경망 모델을 구축하는 실시 예를 설명하기 위한 도면이다. 도 3을 참조하면, 외부 장치(200)의 프로세서(230)는 학습이 완료된 제1 신경망 모델에 입력 벡터(30)를 입력하여, 제1 출력 벡터(40-1)를 획득할 수 있다. 그리고, 외부 장치(200)의 프로세서(230)는 학습이 완료된 제1 신경망 모델을 바탕으로 모델 구성 정보를 획득할 수 있다. 일 예로, 모델 구성 정보는 전자 장치(100)에서 신경망 모델을 구축하기 위한 제1 신경망 모델의 구조 정보, 제1 신경망 모델의 가중치 정보 및 제1 신경망 모델의 전달 함수 정보를 포함할 수 있다.
그리고, 외부 장치(200)의 프로세서(230)는 모델 구성 정보를 전자 장치(100)로 전송하도록 통신 인터페이스(220)를 제어할 수 있다. 그리고, 프로세서(230)는 입력 벡터(30) 및 제1 출력 벡터(40-1)를 전자 장치(100)로 전송하도록 통신 인터페이스(220)를 제어할 수 있다.
전자 장치(100)가 외부 장치(200)로부터 모델 구성 정보, 입력 벡터(30) 및 제1 출력 벡터(40-1)를 수신하면, 전자 장치(100)의 프로세서(130)는 모델 구성 정보를 바탕으로 제2 신경망 모델을 구축할 수 있다.
그리고, 전자 장치(100)의 프로세서(130)는 제2 신경망 모델에 입력 벡터(30)를 입력하여, 제2 출력 벡터(40-2)를 획득할 수 있다.
그리고, 전자 장치(100)의 프로세서(130)는 제1 출력 벡터(40-1)와 제2 출력 벡터(40-2)의 유사도를 획득하고 유사도가 임계값 미만이면, 외부 장치에 모델 구성 정보를 재요청하도록 통신 인터페이스(120)를 제어할 수 있다.
일 실시 예로, 프로세서(230)는 제1 신경망 모델에 대한 압축을 수행하여 압축 모델 구성 정보를 획득할 수 있다. 일 실시 예로, 프로세서(230)는 MPEG-NNR 표준에 따라 제1 신경망 모델에 대한 가지치기(Pruning) 양자화(Quantization) 및 엔트로피 부호화를 수행하여, 압축된 압축 모델 구성 정보를 획득할 수 있다.
도 4은 본 개시에 따른 압축 모델 구성 정보를 바탕으로 전자 장치가 신경망 모델을 구축하는 실시 예를 설명하기 위한 도면이다. 도 4을 참조하면, 외부 장치(200)의 프로세서(230)는 학습이 완료된 제1 신경망 모델에 입력 벡터(30)를 입력하여, 제1 출력 벡터(40-1)를 획득할 수 있다. 그리고, 외부 장치(200)의 프로세서(230)는 학습이 완료된 제1 신경망 모델을 압축하여 압축 모델 구성 정보를 획득할 수 있다. 일 예로, 프로세서(230)는 제1 신경망 모델에 가지치기(Pruning), 양자화(Quantization) 및 엔트로피 부호화 중 적어도 하나를 수행하여, 압축 모델 구성 정보를 획득할 수 있다.
그리고, 외부 장치(200)의 프로세서(230)는 압축 모델 구성 정보를 전자 장치(100)로 전송하도록 통신 인터페이스(220)를 제어할 수 있다. 그리고, 프로세서(230)는 입력 벡터(30) 및 제1 출력 벡터(40-1)를 전자 장치(100)로 전송하도록 통신 인터페이스(220)를 제어할 수 있다.
전자 장치(100)가 외부 장치(200)로부터 압축 모델 구성 정보, 입력 벡터(30) 및 제1 출력 벡터(40-1)를 수신하면, 전자 장치(100)의 프로세서(130)는 압축 모델 구성 정보를 바탕으로 제2 신경망 모델을 구축할 수 있다.
그리고, 전자 장치(100)의 프로세서(130)는 제2 신경망 모델에 입력 벡터(30)를 입력하여, 제3 출력 벡터(40-3)를 획득할 수 있다.
그리고, 전자 장치(100)의 프로세서(130)는 제1 출력 벡터(40-1)와 제3 출력 벡터(40-3)의 유사도를 획득하고 유사도가 임계값 미만이면, 외부 장치에 모델 구성 정보를 재요청하도록 통신 인터페이스(120)를 제어할 수 있다.
일 실시 예로, 전자 장치(100)가 외부 장치(200)로 모델 구성 정보를 재요청하면, 외부 장치(200)는 기존 압축 모델 구성 정보에 대응되는 압축률과 상이한 압축률로 제1 신경망 모델에 대한 압축을 수행하여 획득된 압축 모델 구성 정보를 전자 장치(100)로 전송하도록 통신 인터페이스(220)를 제어할 수 있다.
도 5는 본 개시에 따른, 모델 구성 정보의 압축 여부에 따른 전자 장치의 동작을 설명하기 위한 흐름도이다.
전자 장치(100)는 외부 장치(200)로부터 제1 신경망 모델을 구축하기 위한 모델 구성 정보 및 입력 벡터 및 제1 출력 벡터를 수신할 수 있다(S510). 도 1에서 설명한 바와 같이, 입력 벡터는 제1 신경망 모델에 입력되는 데이터이며, 제1 출력 벡터는 제1 신경망 모델에 입력 벡터를 입력하여 출력되는 데이터이다.
그리고, 전자 장치(100)는 모델 구성 정보를 바탕으로 제2 신경망 모델을 구축할 수 있다(S520). 즉, 전자 장치(100)는 모델 구성 정보에 포함된 신경망 모델의 구조 정보, 신경망 모델의 가중치 정보 및 신경망 모델의 전달 함수 정보를 바탕으로, 신경망 모델을 구축하여 제2 신경망 모델을 획득할 수 있다.
그리고, 전자 장치(100)는 입력 벡터를 제2 신경망 모델에 입력하여 제2 출력 벡터를 획득할 수 있다(S530). 즉, 제2 출력 벡터는 제2 신경망 모델에 입력 벡터를 입력하여 출력되는 데이터이다.
그리고, 전자 장치(100)는 모델 구성 정보가 압축된 구성 정보인지 여부를 식별할 수 있다(S540). 즉, 전자 장치(100)는 외부 장치로부터 수신된 모델 구성 정보가, 제1 신경망 모델을 전자 장치(100)로 전송하기 위한 데이터 형식으로만 변환된 모델 구성 정보인지 또는 제1 신경망 모델을 압축하여, 압축된 제1 신경망 모델이 전자 장치(100)로 전송하기 위한 데이터 형식으로 변환된 압축 모델 구성 정보인지를 식별할 수 있다.
모델 구성 정보가 압축된 구성 정보인 것으로 식별되지 않으면(S540-N), 즉, 모델 구성 정보가 제1 신경망 모델을 전자 장치(100)로 전송하기 위한 데이터 형식으로만 변환된 모델 구성 정보인 것으로 식별되면, 전자 장치(100)는 제1 출력 벡터와 제2 출력 벡터가 동일한지 여부를 식별할 수 있다(S550). 즉, 모델 구성 정보가 제1 신경망 모델에 대해 압축이 수행된 모델 구성 정보가 아닌 경우, 해당 모델 구성 정보를 통해 구축되는 신경망 모델은 이상적으로 제1 신경망 모델과 동일하여야 된다.
따라서, 외부 장치로부터 수신된 제1 신경망 모델에 대한 제1 출력 벡터와 외부 장치로부터 수신된 모델 구성 정보를 통해 구축된 제2 신경망 모델에 대한 제2 출력 벡터가 동일한 경우(S550-Y), 모델 구성 정보가 오류 없이 송수신된 것으로 전자 장치(100)는 제2 신경망 모델을 저장할 수 있다(S570). 다만, 이에 한정되지 않고, 전자 장치(100)는 제1 출력 벡터와 제2 출력 벡터의 유사도가 제1 임계값(예로, 99% 유사) 이상인 경우 제2 신경망 모델을 저장할 수 있다.
반면, 제1 출력 벡터와 제2 출력 벡터가 동일하지 않은 경우(S550-N), 모델 구성 정보의 송수신 과정에서 오류가 발생된 것으로 전자 장치(100)는 외부 장치(200)에 모델 구성 정보를 재요청할 수 있다(S580).
그리고, 모델 구성 정보가 압축된 구성 정보인 것으로 식별되면(S540-Y), 전자 장치(100)는 제1 출력 벡터와 제2 출력 벡터의 유사도가 임계값 이상인지 여부를 식별할 수 있다(S560). 일 예로, 전자 장치(100)는 제1 출력 벡터와 제2 출력 벡터의 유사도가 제2 임계값(예로, 90% 유사) 이상인지 여부를 식별할 수 있다. 제2 임계값은 제1 임계값 보다 낮으며, 일 예로, 신경망 모델의 유형에 따라 상이하기 설정될 수 있다. 일 예로, 높은 안정성이 요구되는 자율 주행을 수행하기 위한 신경망 모델에 대해서는 제2 임계값이 높게 설정될 수 있으며, 영상 인식을 수행하는 신경망 모델에 대해서는 제2 임계값이 낮게 설정될 수 있다.
제1 출력 벡터와 제2 출력 벡터의 유사도가 임계값 미만인 경우(S560-N), 전자 장치(100)는 외부 장치(200)에 모델 구성 정보를 재요청할 수 있다(S580). 반면, 제1 출력 벡터와 제2 출력 벡터의 유사도가 임계값 이상인 경우(S560-Y), 전자 장치(100)는 제2 신경망 모델을 저장할 수 있다(S570).
도 6은 본 개시에 따른, 전자 장치와 외부 장치간의 동작을 설명하기 위한 시퀀스도이다.
우선, 외부 장치(200)는 제1 신경망 모델을 학습시킬 수 있다(S605). 즉, 외부 장치(200)는 다수의 학습 데이터들에 제1 신경망 모델의 학습 알고리즘을 적용함으로써, 제1 신경망 모델을 학습 시킬 수 있다.
그리고, 외부 장치(200)는 제1 신경망 모델에 입력 벡터를 입력하여 제1 출력 벡터를 획득할 수 있다(610). 즉, 외부 장치(200)는 학습된 제1 신경망 모델에 입력 벡터를 입력하여 출력되는 제1 출력 벡터를 획득할 수 있다(S610).
그리고, 외부 장치(200)는 제1 신경망 모델을 압축하여, 제1 압축 모델 구성 정보를 획득할 수 있다(S615). 제1 압축 모델 구성 정보는 제1 신경망 모델을 압축하고, 해당 압축된 제1 신경망 모델이 송수신 가능한 데이터로 변환된 정보일 수 있다.
그리고, 외부 장치(200)는 제1 압축 모델 구성 정보, 입력 벡터 및 제1 출력 벡터를 전자 장치(100)로 전송할 수 있다(S620). 그리고, 전자 장치(100)는 수신된 압축 모델 구성 정보를 바탕으로 신경망 모델을 구축할 수 있다(S625). 즉, 전자 장치(100)는 S620 단계를 통해 수신된 압축 모델 구성 정보를 바탕으로, 제2 신경망 모델을 구축할 수 있다.
그리고, 전자 장치(100)는 구축된 신경망 모델에 입력 벡터를 입력하여, 제2 출력 벡터를 획득할 수 있다(S630). 즉, 전자 장치(100)는 S625 단계에서 구축된 제2 신경망 모델에 입력 벡터를 입력하여, 제2 출력 벡터를 획득할 수 있다.
그리고, 전자 장치(100)는 제1 출력 벡터 및 제2 출력 벡터의 유사도가 임계값 이상인지 여부를 식별할 수 있다(S635).
식별 결과, 유사도가 임계값 이상인 경우(S635-Y), 전자 장치(100)는 구축된 신경망 모델을 저장할 수 있다(S655). 즉, 전자 장치(100)는 S625 단계에서 구축된 제2 신경망 모델을 저장할 수 있다.
식별 결과, 유사도가 임계값 미만인 경우(S635-N), 전자 장치(100)는 외부 장치(200)로 모델 구성 정보를 재요청할 수 있다(S640). 그리고, 외부 장치(200)는 제1 압축 모델 구성 정보의 압축률과 상이한 압축률로 제1 신경망 모델을 압축하여, 제2 압축 모델 구성 정보를 획득할 수 있다(S645).
일 실시 예로, 외부 장치(200)는 제1 압축 모델 구성 정보의 압축률 보다 낮은 압축률로 제1 신경망 모델을 압축하여, 제2 압축 모델 구성 정보를 획득할 수 있다. 다만, 이에 한정되지 않고, 외부 장치(200)는 제1 압축 모델 구성 정보에 대응되는 압축된 제1 신경망 모델과 상이한 압축 방식으로 제1 신경망 모델을 압축하여, 제2 압축 모델 구성 정보를 획득할 수 있다.
그리고, 외부 장치(200)는 제2 압축 모델 구성 정보를 전자 장치(100)로 전송할 수 있다(S650). 전자 장치(100)가 제2 압축 모델 구성 정보를 수신하면, 전자 장치(100)는 수신된 압축 모델 구성 정보를 바탕으로 신경망 모델을 구축할 수 있다(S625). 즉, 전자 장치(100)는 수신된 제2 압축 모델 구성 정보를 바탕으로, S625 단계 내지 S635 단계를 반복할 수 있다.
도 7은 신경망 모델을 학습하는 제1 외부 장치, 신경망 모델을 압축하는 제2 외부 장치와 전자 장치간의 동작을 설명하기 위한 시퀀스도이다.
도 6에서 설명한 바와 같이, 하나의 외부 장치에서 신경망 모델을 학습하고, 압축하는 것으로 설명하였으나, 본 개시는 이에 한정되지 않는다. 즉, 도 7과 같이, 제1 외부 장치에서 신경망 모델을 학습하고, 제2 외부 장치에서 학습된 신경망 모델에 대한 압축을 수행하여 압축 모델 구성 정보를 획득할 수 있다.
우선, 도 7을 참조하면, 제1 외부 장치(200-1)는 제1 신경망 모델을 학습시킬 수 있다(S705). 그리고, 제1 외부 장치(200-1)는 제1 신경망 모델에 입력 벡터를 입력하여 제1 출력 벡터를 획득할 수 있다(S710).
그리고, 제1 외부 장치(200-1)는 제2 외부 장치(200-2)로 제1 신경망 모델에 대한 모델 구성 정보를 전송할 수 있다(S715). 즉, 제1 외부 장치(200-1)는 제1 신경망 모델을 송수신 가능한 정보 형태로 변환하여 모델 구성 정보를 획득하고, 획득한 모델 구성 정보를 제2 외부 장치(200-2)로 전송할 수 있다.
그리고, 제2 외부 장치(200-2)는 모델 구성 정보를 바탕으로, 제1 신경망 모델을 압축하여 제1 압축 모델 구성 정보를 획득할 수 있다(S720). 일 예로, 제2 외부 장치(200-2)는 제1 외부 장치(200-1)로부터 수신된 모델 구성 정보를 바탕으로 제1 신경망 모델을 구축하고, 구축된 제1 신경망 모델을 압축할 수 있다. 그리고, 제2 외부 장치(200-2)는 압축된 제1 신경망 모델을 송수신 가능한 정보 형태로 변환하여 제1 압축 모델 구성 정보를 획득할 수 있다. 그리고, 제2 외부 장치(200-2)는 제1 압축 모델 구성 정보를 전자 장치(100)로 전송할 수 있다.
그리고, 제1 외부 장치(200-1)는 입력 벡터 및 제1 출력 벡터를 전자 장치(100)로 전송할 수 있다(S730). 도 7에서는 S730 단계가 S725 단계 이후에 수행되는 것으로 도시되어 있지만, 본 개시는 이에 한정되지 않는다. 즉, S730 단계는 S710 단계 이후에 수행되거나, 전자 장치(100)가 제1 외부 장치(200-1)로 입력 벡터 및 제1 출력 벡터를 요청하는 경우 수행될 수 있다.
전자 장치(100)가 제1 압축 모델 구성 정보를 수신하면, 전자 장치(100)는 수신된 압축 모델 구성 정보를 바탕으로 신경망 모델을 구축할 수 있다(S735). 즉, 전자 장치(100)는 S725 단계를 통해 수신된 제1 압축 모델 구성 정보를 바탕으로, 제2 신경망 모델을 구축할 수 있다.
그리고, 전자 장치(100)는 구축된 신경망 모델에 입력 벡터를 입력하여, 제2 출력 벡터를 획득할 수 있다(S740). 즉, 전자 장치(100)는 S735 단계에서 구축된 제2 신경망 모델에 입력 벡터를 입력하여, 제2 출력 벡터를 획득할 수 있다.
그리고, 전자 장치(100)는 제1 출력 벡터 및 제2 출력 벡터의 유사도가 임계값 이상인지 여부를 식별할 수 있다(S745).
식별 결과, 유사도가 임계값 이상인 경우(S745-Y), 전자 장치(100)는 구축된 신경망 모델을 저장할 수 있다(S765). 즉, 전자 장치(100)는 S735 단계에서 구축된 제2 신경망 모델을 저장할 수 있다.
식별 결과, 유사도가 임계값 미만인 경우(S745-N), 전자 장치(100)는 제2 외부 장치(200-2)로 모델 구성 정보를 재요청할 수 있다(S750). 그리고, 제2 외부 장치(200-2)는 모델 구성 정보를 바탕으로, 제1 압축 모델 구성 정보와 상이한 압축률로 제1 신경망 모델을 압축하여, 제2 압축 모델 구성 정보를 획득할 수 있다(S755).
일 실시 예로, 제2 외부 장치(200-2)는 제1 압축 모델 구성 정보의 압축률 보다 낮은 압축률로 제1 신경망 모델을 압축하여, 제2 압축 모델 구성 정보를 획득할 수 있다. 다만, 이에 한정되지 않고, 외부 장치(200)는 제1 압축 모델 구성 정보에 대응되는 압축된 제1 신경망 모델과 상이한 압축 방식으로 제1 신경망 모델을 압축하여, 제2 압축 모델 구성 정보를 획득할 수 있다.
그리고, 제2 외부 장치(200-2)는 제2 압축 모델 구성 정보를 전자 장치(100)로 전송할 수 있다(S760). 전자 장치(100)가 제2 압축 모델 구성 정보를 수신하면, 전자 장치(100)는 수신된 압축 모델 구성 정보를 바탕으로 신경망 모델을 구축할 수 있다(S735). 즉, 전자 장치(100)는 수신된 제2 압축 모델 구성 정보를 바탕으로, S735 단계 내지 S745 단계를 반복할 수 있다.
그리고, 도 7에서는 S745 단계에서 유사도가 임계값 미만으로 식별되면, 제2 외부 장치(200-2)로 압축 모델 구성 정보를 재요청하는 것으로만 도시되어 있으나, 본 개시는 이에 한정되지 않는다. 즉, S745 단계에서 유사도가 임계값 미만으로 식별되면, 전자 장치(100)는 제1 외부 장치(100-1)로 모델 구성 정보를 요청하여, 제1 외부 장치(100-1)로부터 모델 구성 정보를 수신할 수 있다. 그리고, 수신된 모델 구성 정보를 바탕으로 신경망 모델을 구축하고, 구축된 신경망 모델을 바탕으로, S740 및 S745 단계를 수행할 수 있다.
도 8은 본 개시에 따른, 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
우선, 전자 장치(100)는 외부 장치로부터 모델 구성 정보, 제1 신경망 모델에 입력되는 입력 벡터 및 제1 신경망 모델에서 출력되는 제1 출력 벡터를 수신할 수 있다(S810). 일 실시 예로, 모델 구성 정보는 제1 신경망 모델의 구조 정보, 제1 신경망 모델의 가중치 정보 및 제1 신경망 모델의 전달 함수 정보를 포함할 수 있다.
그리고, 전자 장치(100)는 모델 구성 정보를 바탕으로, 제2 신경망 모델을 구축할 수 있다(S820).
다만, 이에 한정되지 않고, 전자 장치(100)는 모델 구성 정보 대신 모델 구성 정보가 압축된 제1 압축 모델 구성 정보를 수신할 수 있다. 그리고, 전자 장치(100)는 제1 압축 모델 구성 정보를 바탕으로, 신경망 모델을 구축하여 제2 신경망 모델을 획득할 수 있다.
또한, 일 예로, 전자 장치(100)는 제1 외부 장치로부터 제1 신경망 모델에 입력되는 입력 벡터 및 입력 벡터에 의해 제1 신경망 모델에서 출력되는 제1 출력 벡터를 수신할 수 있다.
그리고, 제2 외부 장치는 제1 외부 장치로부터 수신된 모델 구성 정보를 바탕으로, 제1 압축 모델 구성 정보를 획득할 수 있다. 그리고, 전자 장치(100)는 제2 외부 장치로부터 제1 신경망 모델을 구성하는 모델 구성 정보가 압축된 제1 압축 모델 구성 정보를 수신할 수 있다.
그리고, 전자 장치(100)는 제2 신경망 모델에 입력 벡터를 입력하여 제2 신경망 모델에서 출력되는 제2 출력 벡터를 획득할 수 있다(S830).
그리고, 전자 장치(100)는 제1 출력 벡터 및 제2 출력 벡터의 유사도를 획득할 수 있다(S840). 그리고, 전자 장치(100)는 유사도를 바탕으로 외부 장치에 모델 구성 정보를 재요청할 수 있다(S850).
즉, 유사도가 임계값 이상이면, 전자 장치(100)는 제2 신경망 모델을 저장할 수 있다. 반면, 유사도가 임계값 미만이면, 전자 장치(100)는 외부 장치로 모델 구성 정보를 재요청할 수 있다.
일 실시 예로, 전자 장치(100)는 제1 출력 벡터와 제2 출력 벡터 간의 PSNR(Peak Signal-to-noise ratio) 정보를 획득할 수 있다. 그리고, PSNR 정보가 기 설정값 미만인 경우, 전자 장치(100)는 외부 장치에 모델 구성 정보를 재요청할 수 있다.
그리고, 재요청에 따라 전자 장치(100)는 제1 신경망 모델을 구축하기 위한 모델 구성 정보를 재수신할 수 있다.
일 예로, 기 수신된 모델 구성 정보가 제1 압축 모델 구성 정보인 경우, 전자 장치(100)는 외부 장치로부터 제1 압축 모델 구성 정보의 압축률과 상이한 압축률로 압축된 제2 압축 모델 구성 정보를 수신할 수 있다.
그리고, 본 개시에 따른 일 실시 예로, 제1 신경망 모델은 전자 장치(100)에 기 구축되어 있을 수 있다. 이 경우, 전자 장치(100)는 제1 신경망 모델을 업데이트하기 위한 업데이트 정보를 포함하는 모델 구성 정보를 외부 장치로부터 수신할 수 있다. 또한, 전자 장치(100)는 업데이트된 제1 신경망 모델에 입력되는 입력 벡터 및 업데이트된 제1 신경망 모델에 입력 벡터를 입력하여 출력되는 제1 출력 벡터를 외부 장치로부터 수신할 수 있다.
그리고, 전자 장치(100)는 업데이트 정보를 바탕으로 제1 신경망 모델을 업데이트한 제2 신경망 모델을 구축할 수 있다. 그리고, 전자 장치(100)는 구축된 제2 신경망 모델을 바탕으로, S830 내지 S860 단계를 수행할 수 있다.
도 9은 본 개시의 일 실시 예에 따른, 전자 장치의 구체적인 구성을 나타내는 블록도이다.
도 9을 참조하면, 전자 장치(900)는 메모리(910), 통신 인터페이스(920) 프로세서(930), 디스플레이(940), 입출력 인터페이스(950), 마이크(960) 및 오디오 출력 인터페이스(970)를 포함할 수 있다. 여기서, 메모리(910), 통신 인터페이스(920) 및 프로세서(930)의 일부 구성은 도 1에 도시된 구성과 동일한 바, 중복된 기재는 생략한다.
디스플레이(940)는 신호 처리된 영상 데이터를 디스플레이할 수 있다. 또한, 디스플레이(940)는 프로세서(930)의 제어에 의해 메모리(910)에 저장된 제2 신경망 모델의 기능을 제공할 수 있다. 도 9에 개시된 전자 장치(900)는 디스플레이(940)를 포함하는 것으로 개시되어 있으나, 이에 한정되지 않고, 본 개시에 따른 전자 장치는 외부 디스플레이와 연결을 수행할 수 있으며, 외부 디스플레이를 통해 본 개시에 따른 제2 신경망 모델의 기능을 제공할 수 있다.
입출력 인터페이스(950)는 오디오 및 영상 신호 중 적어도 하나를 입출력 하기 위한 구성이다. 일 예로, 입출력 인터페이스(950)는 HDMI(High Definition Multimedia Interface) 일 수 있으나, 이는 일 실시 예에 불과할 뿐, MHL (Mobile High-Definition Link), USB (Universal Serial Bus), DP(Display Port), 썬더볼트(Thunderbolt), VGA(Video Graphics Array)포트, RGB 포트, D-SUB(D-subminiature), DVI(Digital Visual Interface) 중 어느 하나의 인터페이스일 수 있다. 구현 예에 따라, 입출력 인터페이스(950)는 오디오 신호만을 입출력하는 포트와 영상 신호만을 입출력하는 포트를 별개의 포트로 포함하거나, 오디오 신호 및 영상 신호를 모두 입출력하는 하나의 포트로 구현될 수 있다. 일 실시 예로, 입출력 인터페이스(950)는 프로세서(930)의 제어에 의해 메모리(910)에 저장된 제2 신경망 모델의 기능을 제공할 수 있다.
마이크(960)는 외부로부터 오디오 신호를 수신한다. 오디오 신호에는 사용자 음성이 포함될 수 있으며, 사용자 음성에는 음성 인식 엔진을 활성화하기 위한 트리거 음성 및 음성 인식 엔진을 통해 전자 장치(900)를 제어하기 위한 명령어가 포함될 수 있다. 도 9에 개시된 전자 장치(900)는 마이크(960)를 포함하는 것으로 개시되어 있으나, 이에 한정되지 않고, 외부 전자 장치가 오디오 신호를 수신하고, 본 개시에 따른 전자 장치는 외부 전자 장치로부터 오디오 신호를 수신할 수 있다.
일 실시 예로 오디오 신호를 전자 장치(900)로 전송하는 외부 전자 장치는 리모컨일 수 있다. 즉, 아날로그 음성 신호가 리모컨의 마이크를 통해 수신되고, 리모컨에서 수신된 아날로그 음성 신호를 디지털화하여 전자 장치(900)가 수신할 수 있다. 일 예로, 전자 장치(900)와 리모컨은 블루투스 방식 또는 와이파이 방식 등을 통해 통신을 수행할 수 있다.
일 실시 예로 오디오 신호를 전자 장치(900)로 전송하는 외부 전자 장치는 스마트폰 등의 외부 단말 장치일 수 있다. 이 경우, 외부 단말 장치내 설치된 리모컨 어플리케이션을 통해 외부 단말 장치의 마이크로부터 아날로그 음성 신호를 수신하고, 전자 장치(900)와 통신을 수행할 수 있다.
일 실시 예로, 오디오 신호를 전자 장치(900)로 전송하는 외부 전자 장치는 인공지능 스피커 일 수 있다. 이 경우, 아날로그 음성 신호가 인공지능 스피커의 마이크를 통해 수신되고, 인공지능 스피커가 수신된 아날로그 음성 신호를 디지털화하여 전자 장치(900)에 전송할 수 있다.
전자 장치(900)는 통신 인터페이스(920)를 통해 상술한 실시 예의 외부 전자 장치와 통신을 수행할 수 있다. 이 경우, 전자 장치(900)와 외부 장치(200)간의 통신 수행 방식(예로, 이더넷 모뎀 방식, Wi-Fi 방식)과 전자 장치(900)와 외부 전자 장치간의 통신 수행 방식(예로, 블루투스 방식)은 상이할 수 있다. 다만, 이에 한정되지 않고, 전자 장치(900)와 외부 장치(200)간의 통신 수행 방식과 전자 장치(900)와 외부 전자 장치간의 통신 수행 방식은 Wi-Fi 방식으로 동일할 수 있다.
일 실시 예로, 마이크(960)는 프로세서(930)의 제어에 의해 메모리(910)에 저장된 제2 신경망 모델의 기능을 제공할 수 있다.
오디오 출력 인터페이스(970)는 프로세서(930)의 제어에 의해 오디오 데이터를 출력한다. 이때, 오디오 출력 인터페이스(970)는 스피커 출력 단자, 헤드폰 출력 단자, S/PDIF 출력 단자로 구현될 수 있다. 일 실시 예로, 오디오 출력 인터페이스(970)는 프로세서(930)의 제어에 의해 메모리(910)에 저장된 제2 신경망 모델의 기능을 제공할 수 있다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하였다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
덧붙여, 상술한 실시 예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다.
대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법은 비일시적 판독 가능 매체(non-transitory readable medium)에 저장될 수 있다. 이러한 비일시적 판독 가능 매체는 다양한 장치에 탑재되어 사용될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 방법을 수행하기 위한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 전자 장치
200: 외부 장치

Claims (18)

  1. 전자 장치의 제어 방법에 있어서,
    외부 장치로부터 제1 신경망 모델을 구축하기 위한 모델 구성 정보, 상기 제1 신경망 모델에 입력되는 입력 벡터 및 상기 입력 벡터에 의해 상기 제1 신경망 모델에서 출력되는 제1 출력 벡터를 수신하는 단계;
    상기 모델 구성 정보를 바탕으로 제2 신경망 모델을 구축하는 단계;
    상기 제2 신경망 모델에 상기 입력 벡터를 입력하여 상기 제2 신경망 모델에서 출력되는 제2 출력 벡터를 획득하는 단계;
    상기 제1 출력 벡터 및 상기 제2 출력 벡터의 유사도를 획득하는 단계;
    상기 유사도를 바탕으로, 상기 외부 장치에 상기 모델 구성 정보를 재요청하는 단계; 및
    상기 재요청에 따라 상기 제1 신경망 모델을 구축하기 위한 모델 구성 정보를 재수신하는 단계;를 포함하는 제어방법.
  2. 제1항에 있어서,
    상기 재요청하는 단계는,
    상기 유사도가 임계값 이상이면, 상기 제2 신경망 모델을 저장하는 단계; 및
    상기 유사도가 임계값 미만이면 상기 모델 구성 정보를 재요청하는 단계를 더 포함하는 제어 방법.
  3. 제1항에 있어서,
    상기 유사도를 획득하는 단계는,
    상기 제1 출력 벡터와 상기 제2 출력 벡터 간의 PSNR(Peak Signal-to-noise ratio) 정보를 획득하는 단계이며,
    상기 재요청하는 단계는,
    상기 PSNR 정보가 기 설정값 미만인 경우 상기 외부 장치에 상기 모델 구성 정보를 재요청하는 단계인 제어 방법.
  4. 제1항에 있어서,
    상기 수신하는 단계는,
    상기 모델 구성 정보가 압축된 제1 압축 모델 구성 정보를 수신하는 단계;이며,
    상기 제2 신경망 모델을 구축하는 단계는,
    상기 제1 압축 모델 구성 정보를 바탕으로, 신경망 모델을 구축하여 상기 제2 신경망 모델을 획득하는 단계인 제어 방법.
  5. 제4항에 있어서,
    상기 수신하는 단계는,
    제1 외부 장치로부터 제1 신경망 모델에 입력되는 입력 벡터 및 상기 입력 벡터에 의해 상기 제1 신경망 모델에서 출력되는 제1 출력 벡터를 수신하는 단계; 및
    제2 외부 장치로부터 상기 제1 신경망 모델을 구성하는 모델 구성 정보가 압축된 제1 압축 모델 구성 정보를 수신하는 단계;를 포함하는 제어 방법.
  6. 제5항에 있어서,
    제2 외부 장치는 제1 외부 장치로부터 수신된 모델 구성 정보를 바탕으로, 제1 압축 모델 구성 정보를 획득하는 것을 특징으로 하는 제어 방법.
  7. 제4항에 있어서,
    상기 재수신하는 단계는
    상기 외부 장치로부터, 상기 제1 압축 모델 구성 정보의 압축률과 상이한 압축률로 압축된 제2 압축 모델 구성 정보를 수신하는 단계인 제어 방법.
  8. 제1항에 있어서,
    상기 제1 신경망 모델은 상기 전자 장치에 기 구축되어 있으며,
    상기 모델 구성 정보는 상기 제1 신경망 모델을 업데이트하기 위한 업데이트 정보를 포함하며,
    상기 구축하는 단계는,
    상기 업데이트 정보를 바탕으로 제1 신경망 모델을 업데이트한 상기 제2 신경망 모델을 구축하는 제어 방법.
  9. 제1항에 있어서,
    상기 모델 구성 정보는 상기 제1 신경망 모델의 구조 정보, 상기 제1 신경망 모델의 가중치 정보 및 상기 제1 신경망 모델의 전달 함수 정보를 포함하는 제어 방법.
  10. 전자 장치에 있어서,
    적어도 하나의 인스트럭션을 포함하는 메모리,
    통신 인터페이스 및
    상기 메모리와 연결되며 상기 전자 장치를 제어하는 프로세서를 포함하고,
    상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써,
    외부 장치로부터 제1 신경망 모델을 구축하기 위한 모델 구성 정보, 상기 제1 신경망 모델에 입력되는 입력 벡터 및 상기 입력 벡터에 의해 상기 제1 신경망 모델에서 출력되는 제1 출력 벡터를 수신하도록 상기 통신 인터페이스를 제어하고,
    상기 모델 구성 정보를 바탕으로 제2 신경망 모델을 구축하고,
    상기 제2 신경망 모델에 상기 입력 벡터를 입력하여 상기 제2 신경망 모델에서 출력되는 제2 출력 벡터를 획득하고,
    상기 제1 출력 벡터 및 상기 제2 출력 벡터의 유사도를 획득하고,
    상기 유사도를 바탕으로, 상기 외부 장치에 상기 모델 구성 정보를 재요청하도록 상기 통신 인터페이스를 제어하고,
    상기 재요청에 따라 상기 제1 신경망 모델을 구축하기 위한 모델 구성 정보를 재수신하도록 상기 통신 인터페이스를 제어하는 전자 장치.
  11. 제10항에 있어서,
    상기 프로세서는,
    상기 유사도가 임계값 이상이면, 상기 제2 신경망 모델을 상기 메모리에 저장하고,
    상기 유사도가 임계값 미만이면, 상기 외부 장치로 상기 모델 구성 정보를 재요청하도록 상기 통신 인터페이스를 제어하는 전자 장치.
  12. 제10항에 있어서,
    상기 프로세서는,
    상기 제1 출력 벡터와 상기 제2 출력 벡터 간의 PSNR(Peak Signal-to-noise ratio) 정보를 획득하고,
    상기 PSNR 정보가 기 설정값 미만인 경우 상기 외부 장치에 상기 모델 구성 정보를 재요청하도록 상기 통신 인터페이스를 제어하는 전자 장치.
  13. 제10항에 있어서,
    상기 프로세서는,
    상기 외부 장치로부터 상기 모델 구성 정보가 압축된 제1 압축 모델 구성 정보를 수신하도록 상기 통신 인터페이스를 제어하고,
    상기 제1 압축 모델 구성 정보를 바탕으로, 신경망 모델을 구축하여 상기 제2 신경망 모델을 획득하는 전자 장치.
  14. 제13항에 있어서,
    상기 프로세서는,
    제1 외부 장치로부터 제1 신경망 모델에 입력되는 입력 벡터 및 상기 입력 벡터에 의해 상기 제1 신경망 모델에서 출력되는 제1 출력 벡터를 수신하도록 상기 통신 인터페이스를 제어하고,
    제2 외부 장치로부터 상기 제1 신경망 모델을 구성하는 모델 구성 정보가 압축된 제1 압축 모델 구성 정보를 수신하도록 상기 통신 인터페이스를 제어하는 전자 장치.
  15. 제14항에 있어서,
    제2 외부 장치는 제1 외부 장치로부터 수신된 모델 구성 정보를 바탕으로, 제1 압축 모델 구성 정보를 획득하는 것을 특징으로 하는 전자 장치.
  16. 제13항에 있어서,
    상기 프로세서는,
    상기 외부 장치로부터, 상기 제1 압축 모델 구성 정보의 압축률과 상이한 압축률로 압축된 제2 압축 모델 구성 정보를 수신하도록 상기 통신 인터페이스를 제어하는 전자 장치.
  17. 제10항에 있어서,
    상기 제1 신경망 모델은 상기 전자 장치에 기 구축되어 있으며,
    상기 모델 구성 정보는 상기 제1 신경망 모델을 업데이트하기 위한 업데이트 정보를 포함하며,
    상기 프로세서는,
    상기 업데이트 정보를 바탕으로 제1 신경망 모델을 업데이트한 상기 제2 신경망 모델을 구축하는 전자 장치.
  18. 제10항에 있어서,
    상기 모델 구성 정보는 상기 제1 신경망 모델의 구조 정보, 상기 제1 신경망 모델의 가중치 정보 및 상기 제1 신경망 모델의 전달 함수 정보를 포함하는 전자 장치.
KR1020210041245A 2021-03-30 2021-03-30 전자 장치 및 이의 제어 방법 KR20220135498A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210041245A KR20220135498A (ko) 2021-03-30 2021-03-30 전자 장치 및 이의 제어 방법
PCT/KR2022/004210 WO2022211383A1 (ko) 2021-03-30 2022-03-25 전자 장치 및 이의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210041245A KR20220135498A (ko) 2021-03-30 2021-03-30 전자 장치 및 이의 제어 방법

Publications (1)

Publication Number Publication Date
KR20220135498A true KR20220135498A (ko) 2022-10-07

Family

ID=83456547

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210041245A KR20220135498A (ko) 2021-03-30 2021-03-30 전자 장치 및 이의 제어 방법

Country Status (2)

Country Link
KR (1) KR20220135498A (ko)
WO (1) WO2022211383A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200046188A (ko) * 2018-10-19 2020-05-07 삼성전자주식회사 인공 지능 모델을 재구성하기 위한 전자 장치 및 그의 제어 방법
JP6759488B1 (ja) * 2018-11-22 2020-09-23 株式会社ウフル エッジデバイス機械学習モデル切替システム、エッジデバイス機械学習モデル切替方法、プログラム、及びエッジデバイス
EP3899811A4 (en) * 2018-12-18 2022-09-28 Movidius Ltd. NERVE NETWORK COMPRESSION
KR102434460B1 (ko) * 2019-07-26 2022-08-22 한국전자통신연구원 기계학습 기반 예측 모델 재학습 장치 및 그 방법
CN111651263B (zh) * 2020-02-12 2023-10-13 北京小米移动软件有限公司 移动终端的资源处理方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
WO2022211383A1 (ko) 2022-10-06

Similar Documents

Publication Publication Date Title
US11238341B2 (en) Efficient encoding and decoding sequences using variational autoencoders
KR102451100B1 (ko) 시각 보조 음성 처리
WO2018150083A1 (en) A method and technical equipment for video processing
CN109194647A (zh) 数据传输方法、装置、电子设备及存储介质
KR20200013162A (ko) 전자 장치 및 그의 제어 방법
US11508375B2 (en) Electronic apparatus including control command identification tool generated by using a control command identified by voice recognition identifying a control command corresponding to a user voice and control method thereof
KR102629474B1 (ko) 데이터 압축 및 복원을 위한 전자 장치 및 그 압축 방법
CN103108171A (zh) 一种视频监控系统及数据的传输方法
WO2020239117A1 (en) Methods and apparatuses for feature-driven machine-to-machine communications
CN114282644A (zh) 使用自动编码器神经网络压缩端节点中的信息
KR20220135498A (ko) 전자 장치 및 이의 제어 방법
KR20210004803A (ko) 전자 장치 및 이의 제어 방법
US20220189481A1 (en) Electronic device and control method for same
CN210325192U (zh) 离线语音终端
US11483568B2 (en) Data transmission to mobile devices
KR20210057569A (ko) 음성 신호를 처리하는 방법 및 이를 적용한 장치
US20230115748A1 (en) Electronic apparatus and control method thereof
WO2019050927A1 (en) IMAGE COMPRESSION / DECOMPRESSION IN AN ARTIFICIAL VISION SYSTEM
US20220165291A1 (en) Electronic apparatus, control method thereof and electronic system
CN110868615B (zh) 一种视频处理方法、装置、电子设备以及存储介质
KR102663654B1 (ko) 적응형 시각적 스피치 인식
EP4332960A1 (en) Electronic device and control method thereof
US20240153514A1 (en) Machine Learning Based Enhancement of Audio for a Voice Call
KR20220069777A (ko) 전자 장치, 그 제어 방법 및 전자 시스템
KR20230075362A (ko) 오프로딩된 데이터를 처리하는 방법, 서버 장치, 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination