KR20220057353A - 인공지능 모델을 갱신하는 전자 장치 및 그 동작 방법 - Google Patents

인공지능 모델을 갱신하는 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20220057353A
KR20220057353A KR1020200142523A KR20200142523A KR20220057353A KR 20220057353 A KR20220057353 A KR 20220057353A KR 1020200142523 A KR1020200142523 A KR 1020200142523A KR 20200142523 A KR20200142523 A KR 20200142523A KR 20220057353 A KR20220057353 A KR 20220057353A
Authority
KR
South Korea
Prior art keywords
artificial intelligence
intelligence model
value
factor
weight
Prior art date
Application number
KR1020200142523A
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 KR1020200142523A priority Critical patent/KR20220057353A/ko
Priority to PCT/KR2021/013533 priority patent/WO2022092600A1/ko
Priority to US17/508,593 priority patent/US20220138628A1/en
Publication of KR20220057353A publication Critical patent/KR20220057353A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

미리 학습된 인공지능 모델을 획득하고, 인공지능 모델에 포함된 복수 개의 가중치 중 제1 가중치가 양자화된 값으로서, 적어도 하나의 제2 팩터 값이 각각 적용된 적어도 하나의 제1 팩터 값의 합을 획득하고, 인공지능 모델을 갱신하기 위한 학습 데이터를 획득하고, 제1 가중치에 대한 수정으로서, 학습 데이터에 기초하여, 적어도 하나의 제2 팩터 값은 고정된 상태에서, 적어도 하나의 제1 팩터 값을 수정함으로써, 인공지능 모델을 갱신하는, 전자 장치에서 인공지능 모델을 갱신하는 방법이 제공될 수 있다.

Description

인공지능 모델을 갱신하는 전자 장치 및 그 동작 방법 {Electronic device and operating method for updating an Artificial Intelligence model}
본 개시는, 학습 데이터에 기초하여, 인공지능 모델을 갱신하는 전자 장치 및 그 동작 방법에 관한 것이다.
인공지능 모델은, 주변 환경의 변화나 사용자의 상태, 취향 등의 변화에 따라서, 적합한 결과 값이 출력될 수 있도록, 지속적으로 갱신될 수 있다. 인공지능 모델은, 수많은 개수의 노드를 포함하므로, 각 노드에 대해 적용되는 가중치를 수정하여, 인공지능 모델을 갱신하려면, 상당한 연산량이 소요될 수 있다.
그러나, 주변 환경이나 사용자의 상태, 취향 등의 인공지능 모델이 이용되는 상황에 관한 정보들은 지속적으로 변화되므로, 인공지능 모델을 이용하여, 현재 상황에 적합한 서비스가 적절한 때에 제공되려면, 변화된 상황 정보에 기초하여, 최대한 빠른 시간 내에 현재 상황에 맞는 인공지능 모델로 갱신됨이 바람직하다.
이에 따라, 인공지능 모델을 빠르게 갱신하기 위해서는, 연산량이 상당한 만큼, 고성능의 자원을 마련하여야 하지만, 이는 많은 비용이 소요되는 문제점이 있다.
따라서, 한정된 자원에서도 상당한 연산량이 소요될 수 있는 인공지능 모델을 빠르게 갱신할 수 있는 방법이 필요하다.
본 개시가 해결하고자 하는 과제는 전술한 문제를 해결하기 위한 것으로서, 인공지능 모델을 갱신하는 전자 장치 및 그 동작 방법을 제공하기 위한 것이다.
또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 전자 장치에서 인공지능 모델을 갱신하는 방법에 있어서, 미리 학습된 인공지능 모델을 획득하는 단계; 상기 인공지능 모델에 포함된 복수 개의 가중치 중 제1 가중치가 양자화된 값으로서, 적어도 하나의 제2 팩터 값이 각각 적용된 적어도 하나의 제1 팩터 값의 합을 획득하는 단계; 상기 인공지능 모델을 갱신하기 위한 학습 데이터를 획득하는 단계; 및 상기 학습 데이터에 기초하여, 상기 제1 가중치에 대한 수정으로서, 상기 적어도 하나의 제2 팩터 값은 고정된 상태에서, 상기 적어도 하나의 제1 팩터 값을 수정함으로써, 상기 인공지능 모델을 갱신하는 단계를 포함하는, 방법을 제공할 수 있다.
또한, 본 개시의 제2 측면은, 인공지능 모델을 갱신하는 전자 장치에 있어서, 미리 학습된 인공지능 모델을 저장하는 메모리; 및 상기 인공지능 모델에 포함된 복수 개의 가중치 중 제1 가중치가 양자화된 값으로서, 적어도 하나의 제2 팩터 값이 각각 적용된 적어도 하나의 제1 팩터 값의 합을 획득하고, 상기 인공지능 모델을 갱신하기 위한 학습 데이터를 획득하고, 상기 학습 데이터에 기초하여, 상기 제1 가중치에 대한 수정으로서, 상기 적어도 하나의 제2 팩터 값은 고정된 상태에서, 상기 적어도 하나의 제1 팩터 값을 수정함으로써, 상기 인공지능 모델을 갱신하는 적어도 하나의 프로세서를 포함하는, 전자 장치를 제공할 수 있다.
또한, 본 개시의 제3 측면은, 제1 측면의 방법을 수행하도록 하는 프로그램이 저장된 기록매체를 제공할 수 있다.
일 실시 예에 의하면, 인공지능 모델의 갱신에 소요되는 연산량이 감소됨에 따라, 상대적으로 낮은 성능의 전자 장치에서도, 빠르게 인공지능 모델을 갱신할 수 있다.
도 1은 일 실시 예에 의한 인공지능 모델을 갱신하는 일 예를 나타낸 블록도이다.
도 2는 일 실시 예에 의한 가중치 값이 양자화되는 일 예를 나타낸 도면이다.
도 3은 일 실시 예에 의한 양자화된 가중치 값에 기초하여, 인공지능 모델을 갱신하는 일 예를 나타낸 도면이다.
도 4는 일 실시 예에 의한 인공지능 모델의 정확도에 따라서, 인공지능 모델의 갱신을 수행하는 일 예를 나타낸 도면이다.
도 5는 일 실시 예에 의한 전자 장치의 내부 구성을 설명하기 위한 블록도이다.
도 6은 일 실시 예에 의한 전자 장치의 내부 구성을 설명하기 위한 블록도이다.
도 7은 일 실시 예에 의한 인공지능 모델을 갱신하는 방법을 나타낸 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, 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) 등이 있으나, 전술한 예에 한정되지 않는다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 일 실시 예에 의한 인공지능 모델을 갱신하는 일 예를 나타낸 블록도이다.
도 1을 참조하면, 일 실시 예에 의한 전자 장치(1000)는, 학습 데이터에 기초하여, 인공지능 모델을 갱신할 수 있다.
일 실시 예에 의한, 인공지능 모델은, 전자 장치(1000)에서 획득된 다양한 종류의 학습 데이터에 기초하여, 갱신될 수 있는 다양한 종류의 모델을 포함할 수 있다. 예를 들면, 인공지능 모델은, CNN, RNN, DNN 등 다양한 종류의 모델을 포함할 수 있다. 일 실시 예에 의한 전자 장치(1000)는, 갱신된 인공지능 모델에 기초하여, 동작을 수행함으로써, 사용자에게 다양한 서비스를 제공할 수 있다.
일 실시 예에 의한 전자 장치(1000)는, 다양한 형태로 구현될 수 있다. 예를 들어, 전자 장치(1000)는, 디지털 카메라, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿 PC, 전자북 단말기, 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 차량(vehicle) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
또한, 일 실시 예에 의한 전자 장치(1000)는 사용자에 의해 착용될 수 있는 장치(wearable device)일 수 있다. 웨어러블 디바이스는 액세서리 형 장치(예컨대, 시계, 반지, 팔목 밴드, 발목 밴드, 목걸이, 안경, 콘택트 렌즈), 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형 장치(예: 전자 의복), 신체 부착형 장치(예컨대, 스킨 패드(skin pad)), 또는 생체 이식형 장치(예: implantable circuit) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한, 일 실시 예에 의한 전자 장치(1000)는, 사용자에 의해 직접 이용될 수 있는 장치에 한하지 않고, 고성능의 서버 장치일 수도 있다. 상술한 예에 한하지 않고, 전자 장치(1000)는 인공지능 모델을 갱신할 수 있는 능력을 가진 다양한 종류의 장치일 수 있다.
일 실시 예에 의한 전자 장치(1000)는, 미리 학습된 인공지능 모델을 획득하고, 획득된 인공지능 모델에 대해 갱신을 수행할 수 있다. 일 실시 예에 의한 전자 장치(1000)는, 지속적으로 변화하는 주변 상황 및 사용자의 상태에 적합한 결과가 인공지능 모델로부터 출력될 수 있도록, 미리 학습된 인공지능 모델을 갱신하여, 사용자에게 적합한 인공지능 모델을 획득할 수 있다.
일 실시 예에 의한 전자 장치(1000)는 정확도가 기준값 이상이 되도록 미리 학습된 인공지능 모델에 대해, 정확도를 더 높이기 위한 갱신 동작을 수행할 수 있다. 일 실시 예에 의한 인공지능 모델의 정확도가 기준값 이상이 되면, 인공지능 모델의 정확도가 상승되는 정도에 비해, 인공지능 모델이 갱신하는데 소요되는 연산량이 더 증가할 수 있다. 따라서, 인공지능 모델의 정확도가 기준값 이상이 되면, 인공지능 모델의 갱신에 소요되는 연산량을 줄일 수 있도록, 이하 110 내지 120에 따라서, 인공지능 모델의 갱신 동작이 수행될 수 있다.
상술한 예에 한하지 않고, 전자 장치(1000)는, 미리 학습된 인공지능 모델을 다양한 방법에 따라 획득하여, 이하 110 내지 120에 따라서, 인공지능 모델의 갱신 동작을 수행할 수 있다.
110에서, 일 실시 예에 의한 전자 장치(1000)는, 인공지능 모델에 포함된 가중치 중 적어도 하나의 가중치가 양자화된 값을 획득할 수 있다.
일 실시 예에 의한 인공지능 모델(1000)은 복수 개의 노드로 구성될 수 있고, 각 노드에 대해 입력된 값에 서로 다른 가중치 값이 적용되어 출력됨에 따라, 인공지능 모델(1000)에서, 결과 값이 출력될 수 있다. 그러므로, 가중치 값을 수정함에 따라, 동일한 입력 값에 대해, 인공지능 모델(1000)에서 출력되는 결과 값이 달라질 수 있다. 따라서, 일 실시 예에 의한 인공지능 모델(1000)의 갱신은, 인공지능 모델(1000)에서 출력되는 결과 값이 정답 데이터에 가깝도록, 가중치 값이 수정됨으로써, 수행될 수 있다.
일 실시 예에 의하면, 인공지능 모델(1000)의 갱신 동작에 따라 수정되는 가중치 값을 양자화하여 표현하는 경우, 가중치 값을 표현하는데 필요한 데이터 크기가 감소됨에 따라서, 인공지능 모델(1000)의 갱신 동작에 소요되는 연산량이 감소될 수 있다.
일 실시 예에 의한 복수 개의 가중치는, 적어도 하나의 제1 팩터 값의 조합에 기초하여, 양자화될 수 있다. 예를 들면, 복수 개의 가중치 w1, w2, 및 w3은, 제1 팩터 값인, α1, α2, 및 α3에, 각각 제2 팩터 값(b11 내지 b33)이 적용됨으로써, 아래 수학식 1과 같이, 양자화될 수 있다.
Figure pat00001
수학식 1을 행렬로 표현하면, 이하 수학식 2와 같이 표현될 수 있다.
Figure pat00002
따라서, 일 실시 예에 의하면, 적어도 하나의 제1 팩터(ex. α1, α2 및 α3)가 복수 개의 가중치들 간에 동일한 값으로 결정되어 이용되는 만큼, 복수 개의 가중치 값의 양자화된 값을 표현하는데 이용되는 데이터의 크기가 감소될 수 있다.
일 실시 예에 의하면, 각 가중치 값의 양자화된 값을 나타내는데 이용되는 제1 팩터의 개수가 많아질수록, 양자화되기 전의 가중치 값과 양자화된 값 간의 오차가 최소화됨에 따라, 인공지능 모델의 정확도가 더 높아질 수 있다. 다만, 제1 팩터의 개수가 많아지는 만큼 연산량이 늘어날 수 있다. 따라서, 일 실시 예에 의하면, 인공지능 모델의 갱신을 수행하는 장치(ex. 전자 장치(1000))의 성능에 적합한 수준의 연산량에 따라서, 적절한 개수의 제1 팩터가 결정될 수 있다.
각각의 제1 팩터 값(α)에는, 각 가중치마다 독립적으로 결정된, 제2 팩터 값(b)이 적용될 수 있다. 일 실시 예에 의한, 제2 팩터 값은, 제1 팩터 값과는 달리, 각각의 가중치마다 독립적으로 결정됨에 따라, 각각의 가중치에 대응하는, 제1 팩터 값 개수만큼의 제2 팩터 값이 존재할 수 있다.
예를 들면, 3개의 가중치의 양자화된 값을 표현하는데 3개의 서로 다른 제1 팩터 값(ex. α1, α2 및 α3)이 이용되는 경우, 3개의 제1 팩터 값을 표현하기 위한 데이터가 이용될 수 있다. 반면에, 제2 팩터 값(ex. b11, b12, b13, b21, b22, b23, b31, b32, b33)은, 3개의 가중치 간에 공유되지 않으므로, 각각의 제1 팩터 값 및 가중치마다 독립적으로 결정된, 총 9개의 제2 팩터 값을 표현하기 위한 데이터가 이용될 수 있다.
일 실시 예에 의한 가중치와 제1 팩터 값은, 16 또는 32비트의 데이터로 표현될 수 있는, 실수 값일 수 있다. 또한, 제2 팩터 값이, -1 또는 +1 중 하나의 값으로 결정될 수 있는 경우, 제1 팩터 값은, 양의 실수 값으로 결정될 수 있다. 따라서, 제2 팩터 값은, 제1 팩터 값의 부호를 결정함에 따라, 동일한 제1 팩터 값들의 조합으로, 서로 다른 크기의 가중치에 대한 양자화된 값이 나타날 수 있다.
예를 들어, α1 및 α2의 두 개의 제1 팩터 값으로 가중치 값이 양자화되는 경우, 가중치 값은, 2개의 제1 팩터 값에 -1 또는 +1의 제2 팩터 값이 각각 적용됨에 따라, α1+α2, α1+α2, -α1+α2 및 -α1-α2 의 4가지 값 중에서, 가중치 값과의 차이가 가장 작은 값으로 양자화될 수 있다. 따라서, 두 개의 제1 팩터 값으로, 4가지의 서로 다른 양자화된 값이 결정될 수 있다.
일 실시 예에 의한 제2 팩터는, 각각의 가중치마다 독립적으로 결정될 수 있으며, 제1 팩터 및 가중치에 비해, 작은 크기의 데이터(ex. 적은 비트수)로 표현될 수 있는 값으로 결정될 수 있다. 예를 들면, 제2 팩터 값은 -1 또는 +1의 중 하나의 값으로 결정될 수 있고, 이 경우, 제2 팩터 값은, 각각 -1 또는 +1을 나타낼 수 있는, 1비트의 바이너리 데이터로 표현될 수 있다. 따라서, 제2 팩터가, 가중치 개수 및 제1 팩터의 개수보다 많은, 각 가중치의 개수에, 제1 팩터의 개수를 곱한 수만큼의 개수로, 존재하더라도, 복수 개의 가중치에 대한 복수 개의 제2 팩터 값을 저장하는데 이용되는 데이터 크기는, 상당히 작을 수 있다.
일 실시 예에 의한 제1 팩터는, 제1 팩터가 공유되는, 복수 개의 가중치 값에 기초하여, 결정될 수 있다. 예를 들어, α1은, w1, w2 및 w3의 평균값으로 결정될 수 있다. 또한, α2는, w1, w2 및 w3와 α1에 제2 팩터가 적용된 값(ex. α1*b11, α1*b21, α1*b31) 간의 차이값의 평균값으로 결정될 수 있다. 또한, α3는, w1, w2 및 w3와, α1에 제2 팩터가 적용된 값에 α2에 제2 팩터가 적용된 값을 더한 값(ex. α1*b11+α2*b12, α1*b21+α2*b22, α1*b31+α2*b32) 간의 차이값의 평균값으로 결정될 수 있다.
상술한 평균값으로 결정되는 예에 한하지 않고, 각각의 제1 팩터는, 복수 개의 가중치 값에 각각 근사한 양자화된 값을 표현하기 위한, 적어도 하나의 제1 팩터의 조합으로, 다양한 방법에 따라 결정될 수 있다.
일 실시 예에 의하면, 전자 장치(1000)에서 획득된 인공지능 모델이 각 가중치에 대하여, 제1 팩터 및 제2 팩터에 따라 양자화된 값을 기준으로 미리 학습된 인공지능 모델일 수 있다. 이 경우, 인공지능 모델을 구성하는 가중치 값은, 이미 제1 팩터 및 제2 팩터에 따라 양자화된 값으로 대체되어 있으므로, 일 실시 예에 의한 전자 장치(1000)는, 110에서, 인공지능 모델로부터 제1 팩터 및 제2 팩터에 기초하여 표현된, 가중치의 양자화된 값을 획득할 수 있다.
반면, 일 실시 예에 의하면, 전자 장치(1000)에서 획득된 인공지능 모델이 각 가중치에 대해 양자화되지 않은 값, 예를 들면, 각각의 가중치가 16비트 또는 32비트의 데이터로 표현된 값으로 미리 학습된 인공지능 모델일 수 있다. 이 경우, 일 실시 예에 의한 전자 장치(1000)는, 110에서, 인공지능 모델에 포함된 복수 개의 가중치를 양자화하기 위한, 적어도 하나의 제1 팩터 및 제2 팩터를 결정함으로써, 복수 개의 가중치에 대한 양자화된 값을 획득할 수 있다.
120에서, 일 실시 예에 의한 전자 장치(1000)는, 전자 장치(1000)에서 획득된 학습 데이터에 기초하여, 인공지능 모델을 갱신할 수 있다.
일 실시 예에 의한 학습 데이터는, 인공지능 모델의 입력 정보 및 출력 정보의 쌍을 포함할 수 있다. 일 실시 예에 의하면, 인공지능 모델에 학습 데이터의 입력 정보가 입력될 때, 학습 데이터에 포함된 상기 입력 정보에 대한 정답이 인공지능 모델에서 출력될 수 있도록, 인공지능 모델이 갱신될 수 있다. 예를 들면, 인공지능 모델에 포함된 적어도 하나의 가중치 값이 수정됨으로써, 인공지능 모델이 갱신될 수 있다.
일 실시 예에 의한 학습 데이터는, 전자 장치(1000)의 주변 환경에 관한 정보 및 사용자의 상태 정보 등의 상황 변화에 따라서, 획득될 수 있다. 예를 들면, 변화된 상황에 맞게 사용자에게 적합한 결과가 인공지능 모델에서 출력될 수 있도록, 동일한 입력 정보에 대해 변화된 상황에 적합한 출력 정보의 쌍으로서, 학습 데이터가 획득될 수 있다.
일 실시 예에 의한 학습 데이터는, 전자 장치(1000)에 의해 직접 수집된 사용자 및 주변 환경에 관한 다양한 정보에 기초하여 획득될 수 있으나, 이에 한하지 않고, 외부로부터 수신된 정보에 기초하여, 획득될 수도 있다. 일 실시 예에 의한 학습 데이터는, 인공지능 모델을 갱신하기 위하여, 다양한 방법으로 획득된 정보에 기초하여, 획득될 수 있다.
120에서, 일 실시 예에 의한 전자 장치(1000)는, 양자화된 가중치 값을 수정함으로써, 인공지능 모델을 갱신할 수 있다. 다만, 전자 장치(1000)는, 양자화된 가중치 값을 나타내는 팩터 값들 중 제2 팩터 값은 고정된 상태에서, 제1 팩터 값을 수정함으로써, 양자화된 가중치 값을, 학습 데이터에 기초하여, 수정할 수 있다.
일 실시 예에 의한 제2 팩터 값은 -1 또는 1의 값을 가짐에 따라, 제1 팩터 값에 적용되어, 제1 팩터 값의 부호에 영향을 줄 수 있다. 따라서, 양자화된 가중치 값을 구성하는 제1 팩터 값들의 부호가 고정되는 경우, 부호에 대한 수정 고려 없이 실수 값인 제1 팩터 값만 고려하여, 양자화된 가중치 값이 수정될 수 있다.
일 실시 예에 의한 미리 학습된 인공지능 모델의 정확도가 기준값 이상인 경우, 인공지능 모델의 정확도는 반복적인 갱신 동작에 따라서, 정확도가 기준값 이하일 때 인공지능 모델이 갱신되는 경우 보다, 서서히 증가될 수 있다. 따라서, 정확도가 기준값 이상의 인공지능 모델의 갱신은, 연산량이 점점 더 증가됨에 따라, 인공지능 모델이 갱신되는데 소요되는 연산량에 비해서, 정확도가 증가되는 정도가 점점 줄어들 수 있다.
따라서, 일 실시 예에 의하면, 제2 팩터 값이 고정되고, 적어도 하나의 제1 팩터 값만 수정되는 만큼, 양자화된 가중치 값이 수정될 수 있는 범위가 좁아지므로, 연산량이 감소될 수 있다. 또한, 적어도 하나의 제1 팩터 값은, 복수 개의 가중치들 간에 동일하게 결정되는 값이므로, 학습 데이터에 따라서, 수정될 수 있는 제1 팩터 값의 개수가 가중치들의 개수 및 제2 팩터 값들의 개수 보다 적은 만큼 연산량이 감소될 수 있다.
일 실시 예에 의하면, 정확도가 기준값 이상인 인공지능 모델의 경우도, 인공지능 모델이 갱신하는데 소요되는 연산량이 감소됨에 따라, 상대적으로 성능이 낮은 전자 장치(1000)에서도 빠르게 인공지능 모델을 갱신할 수 있다.
도 2는 일 실시 예에 의한 가중치 값이 양자화되는 일 예를 나타낸 도면이다.
도 2를 참조하면, 일 실시 예에 의한 가중치 값은, 제1 구간 내지 제4 구간 중 가중치 값이 속하는 구간과 대응되는 값으로 양자화될 수 있다.
일 실시 예에 의한, 가중치 값을 양자화하기 위한, 적어도 하나의 제1 팩터는, 적어도 하나의 가중치 값에 기초하여, 상기 가중치 값을 대체하기에 적절한 값으로서, α1 및 α2 값이 결정될 수 있다.
도 2에 도시된 제1 구간은, 가중치 값이 가질 수 있는 값의 최소 값에서, -α1 사이의 범위로 설정될 수 있다. 또한, 제2 구간은, -α1 에서, 0 사이, 제3 구간은, 0에서, α1 사이, 제4 구간은, α1 에서, 가중치 값이 가질 수 있는 값의 최대 값까지의 범위로 설정될 수 있다.
일 실시 예에 의하면, 복수 개의 가중치 값에 기초하여, 제1 팩터 값인, α1 및 α2 값이 결정된 후, α1값에 기초하여, 각각의 가중치 값이 속하는 구간에 따라서, 가중치 값이 양자화될 수 있다.
예를 들어, 가중치 값이 제1 구간에 속하는 경우, 가중치 값은, -α12 값으로 양자화될 수 있다. 또한, 가중치 값이 제2 구간에 속하는 경우, 가중치 값은, -α12 값으로 양자화될 수 있다. 또한, 가중치 값이 제3 구간에 속하는 경우, 가중치 값은, α12 값으로 양자화될 수 있다. 또한, 가중치 값이 제4 구간에 속하는 경우, 가중치 값은, α12 값으로 양자화될 수 있다.
도시된 예에 한하지 않고, 가중치 값을 양자화하는데 이용되는 제1 팩터 값이 2개 이상인 경우, 제1 팩터 값의 개수만큼, 구간이 더 세분화됨에 따라, 양자화로 인한 오차가 감소될 수 있다. 예를 들어, 제1 팩터 값이 3개인 경우, 각각의 제1 팩터 값은, +1 또는 -1의 제2 팩터 값에 따라 결정되는 두가지의 부호 중 하나의 값으로 표현될 수 있으므로, 2의 3승인, 8가지의 양자화된 값이 결정될 수 있다. 따라서, 가중치 값은, 8개의 구간으로 나뉨에 따라, 8가지의 양자화된 값 중 하나의 값으로, 양자화될 수 있다. 다만, 제1 팩터 값의 개수가 증가되는 만큼 연산량이 늘어날 수 있다. 따라서, 복수 개의 가중치 값에 대하여 결정되는, 적어도 하나의 제1 팩터 값은, 양자화로 인해 발생되는 오차 및 연산량에 따라서, 상기 복수 개의 가중치 값을 대체하기에 적절한 개수로 결정될 수 있다.
도 3은 일 실시 예에 의한 양자화된 가중치 값에 기초하여, 인공지능 모델을 갱신하는 일 예를 나타낸 도면이다.
도 3의 310 및 320을 참조하면, 복수 개의 가중치 값을 포함하는, N x N 의 가중치 행렬인, W는, 제1 팩터 및 제2 팩터를 각각 포함하는, 행렬 Ak 및 Bk에 기초하여, 양자화될 수 있다. N x N 개의 노드에 대한 입력 값을 나타내는 X에 양자화된 가중치 값이 적용됨으로써, 인공지능 모델에 대한 갱신이 수행될 수 있다.
일 실시 예에 의한 가중치 행렬 W는, N x N 개의 각 노드에 적용되는 N x N 개의 가중치 값을 포함할 수 있다.
일 실시 예에 의한 행렬 Ak는, N개의 노드마다 결정되는, N개의 제1 팩터 값을 포함할 수 있다. 제1 팩터는, N개의 노드마다 결정되므로, 행렬 Ak는 N x 1의 행렬로 구성될 수 있다. 예를 들어, N개의 노드마다, 3개의 서로 다른 제1 팩터 값이 결정되는 경우(즉, k=2), 행렬 A0은, α00 내지 α0n의 N개의 제1 팩터 값을 포함할 수 있고, 행렬 A1은, α10 내지 α1n의 N개의 제1 팩터 값을 포함할 수 있고, 행렬 A2은, α20 내지 α2n의 N개의 제1 팩터 값을 포함할 수 있다. 행렬 W의 제1행에 포함된 N개의 가중치 값들은, 행렬 A0, A1, A2에 포함된, α00, α10, α20 에 기초하여, 양자화될 수 있다. 또한, 행렬 W의 제n-1행에 포함된 N개의 가중치 값들은, 행렬 A0, A1, A2에 포함된, α0n, α1n, α2n 에 기초하여, 양자화될 수 있다.
일 실시 예에 의한 행렬 Bk는, N x N의 각 노드마다 결정되는, N x N의 제2 팩터 값을 포함할 수 있다. 또한, 각각의 행렬 Bk는, 각각의 Ak에 적용되어, 제1 팩터의 부호를 결정함으로써, 양자화된 가중치 값을 나타낼 수 있다. 예를 들어, N개의 노드마다, 3개의 서로 다른 제1 팩터 값이 결정되는 경우(즉, k=2), 행렬 Bk는 행렬 Ak의 개수만큼의, 3개의 B0, B1, B2의 행렬이 결정될 수 있다. B0, B1, B2의 행렬에 포함된 값들은, 각각 독립적으로 결정될 수 있다.
일 실시 예에 의하면, 행렬 W 및 X의 곱셈은, 행렬 W가 ∑AkBk로 양자화됨에 따라서, 320과 같이 나타날 수 있다. 일 실시 예에 의하면, 행렬 Ak의 제1 팩터값들은, Bk의 동일한 행에 포함된 복수 개의 값들에 적용됨으로써, 양자화된 가중치 값을 나타낼 수 있다. 예를 들어, 320에서, α00은, B0의 제1행에 포함된 복수 개의 제2 팩터 값에 동일하게 적용될 수 있고, α01은, B0의 제2행에 포함된 복수 개의 제2 팩터 값에 동일하게 적용될 수 있다.
일 실시 예에 의하면, 분배 법칙에 따라서, 행렬 X는, 330과 같이, A0B0, A1B1 및 A2B2에 각각 적용될 수 있다. 행렬 X는 각 노드에서 가중치 값과 곱해지는 적어도 하나의 입력 값을 포함할 수 있다. 일 실시 예에 의하면, N x N의 행렬 Bk와 X는, 화살표 방향에 따라서, Bk의 제2 팩터 값과, 제2 팩터 값과 각각 대응되는 행렬 X의 입력 값들이 서로 곱해짐으로써, 연산될 수 있다.
행렬 Ak는 행렬 Bk와 X의 곱셈의 결과 행렬에서, 각각 대응되는 행의 복수 개의 값에 적용될 수 있다. 예를 들어, α00는, B0과 X의 곱셈 결과 행렬인 N x N 행렬의 1행에 포함된 복수 개의 값에 적용될 수 있다. 또한, α01은 B0과 X의 곱셈 결과 행렬인 N x N 행렬의 2행에 포함된 복수 개의 값에 적용될 수 있다. 또한, α10는 B1과 X의 곱셈 결과 행렬인 N x N 행렬의 1행에 포함된 복수 개의 값에 적용될 수 있다.
일 실시 예에 의하면, 3개의 B0, B1, B2의 행렬에 동일한 행렬 X가 곱해지므로, 3개의 B0, B1, B2의 행렬은, 330에 도시된 바와 같이, 이어 붙여진(concatenation) 형태로 배열됨에 따라, 3개의 B0, B1, B2의 행렬 및 X 간의 곱셈 연산이 동시에 수행될 수 있다. 따라서, 일 실시 예에 의하면, 행렬 X와 Bk 간의 행렬 곱셈을 위한 연산(ex. MatMul)의 호출 횟수가 감소될 수 있다.
도 4는 일 실시 예에 의한 인공지능 모델의 정확도에 따라서, 인공지능 모델의 갱신을 수행하는 일 예를 나타낸 도면이다.
도 4를 참조하면, 일 실시 예에 의하면, 인공지능 모델에 대하여 측정된 정확도에 기초하여, 인공지능 모델에 대한 갱신 동작이 수행될 수 있다. 일 실시 예에 의한 인공지능 모델에 대한 정확도는, 입력 정보에 대하여, 정답 데이터가 출력될 가능성을 나타내는 값으로 측정될 수 있다.
일 실시 예에 의한 제1 단계(phase 1) 및 제2 단계(phase 2)는, 인공지능 모델이 반복적으로 갱신됨에 따라 변경되는 정확도에 따라서 나뉘어질 수 있다. 예를 들어, 제1 단계 및 제2 단계를 나누기 위한 인공지능 모델에 대한 정확도의 기준값은, 95%로 설정될 수 있으나, 이에 한하지 않고, 다양한 값으로 설정될 수 있다.
일 실시 예에 의한, 인공지능 모델의 갱신은, 양자화된 가중치 값을 나타내는 제1 팩터 및 제2 팩터 중 제2 팩터를 고정하고, 제1 팩터를 수정함으로써, 수행되는 경우, 동일한 학습 데이터에 기초하여, 제1 팩터 및 제2 팩터 모두를 수정하거나, 양자화되지 않은 가중치 값을 기준으로 인공지능 모델을 갱신하는 경우보다, 더 큰 오차가 발생될 수 있다. 반면에, 제2 팩터는 고정되고, 제1 팩터만 수정되므로 학습 데이터에 기초하여, 수정되는 값의 개수가 줄어듬에 따라, 연산량이 감소될 수 있다.
따라서, 일 실시 예에 의한 인공지능 모델의 갱신 동작은, 발생되는 오차 정도가 낮을 것으로 예상되고, 갱신 동작에 따라 정확도가 상승하는 정도에 비해 연산량이 많은 경우에, 수행됨이 바람직하다.
일 실시 예에 의한 제1 단계의 인공지능 모델은, 초반에 많은 학습 데이터에 기초하여, 반복적으로 갱신 동작이 수행됨에 따라서, 연산량이 비해서, 정확도가 빠르게 상승할 수 있다. 이에 따라, 제1 단계의 인공지능 모델은, 학습 데이터에 기초하여, 상대적으로 크게 수정될 수 있으므로, 오차도 더 크게 발생될 수 있다. 따라서, 갱신 동작에 따른 오차가 적게 발생될 수 있도록, 일 실시 예에 의한 제1 단계의 인공지능 모델은, 양자화되지 않은 가중치 값을 기준으로 수정되거나, 제1 팩터 및 제2 팩터를 모두 고려하여, 제1 팩터 및 제2 팩터 중 하나 이상이 수정됨으로써, 갱신될 수 있다.
반면에, 일 실시 예에 의한 제2 단계의 인공지능 모델은, 제1 단계의 인공지능 모델에 비해, 갱신 동작에 따라 정확도가 증가되는 정도에 비해 연산량이 많다. 또한, 일 실시 예에 의하면, 인공지능 모델이 갱신됨에 따라서, 정확도가 기준값 이상이 되면, 제1 단계의 인공지능 모델에 비해서, 인공지능 모델이 수정되는 정도가 적은 만큼, 인공지능 모델의 갱신에 따라, 발생되는 오차 정도가 낮을 수 있다. 따라서, 일 실시 예에 의한 전자 장치(1000)는, 제2 단계의 인공지능 모델에 대해, 일 실시 예에 따라서, 인공지능 모델의 제2 팩터 값은 고정하고, 제1 팩터 값을 수정함으로써, 인공지능 모델을 갱신할 수 있다.
일 실시 예에 의한 제1 단계의 인공지능 모델은, 외부의 서버 장치(미도시)에 의해 다량의 학습 데이터에 기초하여, 정확도가 기준값 이상이 될 때까지, 갱신이 반복적으로 수행될 수 있는, 인공지능 모델일 수 있다. 일 실시 예에 의한 제1 단계의 인공지능 모델은, 양자화되지 않은 가중치 값에 기초하여, 갱신되거나, 양자화된 가중치 값을 구성하는 제1 팩터 및 제2 팩터 값이 수정됨으로써, 갱신될 수 있다.
또한, 일 실시 예에 의한 제2 단계의 인공지능 모델은, 전자 장치(1000)에서 외부의 서버 장치(미도시)로부터 수신된, 정확도가 기준값 이상인 인공지능 모델일 수 있다. 일 실시 예에 의한 전자 장치(1000)는, 전자 장치(1000)에서 수집된 사용자와 관련된 다양한 학습 데이터에 기초하여, 제2 단계의 인공지능 모델을 갱신할 수 있다. 일 실시 예에 의한 제2 단계의 인공지능 모델은, 제1 단계의 인공지능 모델과는 달리, 양자화된 가중치 값을 구성하는 제1 팩터 및 제2 팩터 값 중 제2 팩터 값은 고정되고, 제1 팩터 값이 학습 데이터에 기초하여, 수정됨으로써, 갱신될 수 있다.
도 5는 일 실시 예에 의한 전자 장치(1000)의 내부 구성을 설명하기 위한 블록도이다.
도 6은 일 실시 예에 의한 전자 장치(1000)의 내부 구성을 설명하기 위한 블록도이다.
도 5를 참조하면, 전자 장치(1000)는, 프로세서(1300), 및 메모리(1700)를 포함할 수 있다. 그러나, 도 5에 도시된 구성 요소 모두가 전자 장치(1000)의 필수 구성 요소인 것은 아니다. 도 5에 도시된 구성 요소보다 많은 구성 요소에 의해 전자 장치(1000)가 구현될 수도 있고, 도 5에 도시된 구성 요소보다 적은 구성 요소에 의해 전자 장치(1000)가 구현될 수도 있다.
예를 들면, 전자 장치(1000)는 도 6에 도시된 바와 같이, 일 실시예에 따른 전자 장치(1000)는, 프로세서(1300), 및 메모리(1700) 이외에 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500) 및 A/V 입력부(1600)를 더 포함할 수도 있다.
사용자 입력부(1100)는, 사용자가 전자 장치(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
일 실시 예에 의하면, 사용자 입력부(1100)는, 인공지능 모델을 갱신하는 동작과 관련된 사용자 입력을 수신할 수 있다. 예를 들면, 전자 장치(1000)에서 수신된 사용자 입력에 기초하여, 인공지능 모델을 갱신하는데 이용되는 학습 데이터가 수집될 수 있다.
출력부(1200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다.
디스플레이부(1210)는 전자 장치(1000)에서 처리되는 정보를 표시 출력한다. 일 실시 예에 의하면, 디스플레이부(1210)는 인공지능 모델을 갱신하는 동작과 관련된 정보를 표시 출력할 수 있다. 예를 들면, 디스플레이부(1210)는 인공지능 모델이 전자 장치(1000)에서 갱신됨을 나타내는 정보를 표시할 수 있다. 상술한 예에 한하지 않고, 디스플레이부(1210)는, 인공지능 모델의 갱신 동작과 관련된 다양한 종류의 정보를 표시할 수 있다.
한편, 디스플레이부(1210)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(1210)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(1210)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 전자 장치(1000)의 구현 형태에 따라 전자 장치(1000)는 디스플레이부(1210)를 2개 이상 포함할 수도 있다.
음향 출력부(1220)는 통신부(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다. 또한, 진동 모터(1230)는 진동 신호를 출력할 수 있다. 또한, 진동 모터(1230)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다. 일 실시 예에 의한 음향 출력부(1220) 및 진동 모터(1230)는, 인공지능 모델의 갱신 동작과 관련된 다양한 종류의 정보를 출력할 수 있다.
프로세서(1300)는, 통상적으로 전자 장치(1000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다.
전자 장치(1000)는 적어도 하나의 프로세서(1300)를 포함할 수 있다. 예를 들면, 전자 장치(1000)는 CPU(Central Processing Unit), GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 등의 다양한 종류의 프로세서를 포함할 수 있다.
프로세서(1300)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(1700)로부터 프로세서(1300)에 제공되거나, 통신부(1500)를 통해 수신되어 프로세서(1300)로 제공될 수 있다. 예를 들면 프로세서(1300)는 메모리와 같은 기록 장치에 저장된 프로그램 코드에 따라 명령을 실행하도록 구성될 수 있다.
일 실시 예에 의한 프로세서(1300)는 인공지능 모델에 포함된 복수 개의 가중치 중 제1 가중치가 양자화된 값으로서, 적어도 하나의 제1 팩터 값에 각각 적어도 하나의 제2 팩터 값이 적용된 값의 합을 획득할 수 있다. 또한, 프로세서(1300)는, 학습 데이터에 기초하여, 제1 가중치에 대한 수정으로서, 제2 팩터 값은 고정된 상태에서, 제1 팩터 값을 수정함으로써, 인공지능 모델을 갱신할 수 있다.
센싱부(1400)는, 전자 장치(1000)의 상태 또는 전자 장치(1000) 주변의 상태를 감지하고, 감지된 정보를 프로세서(1300)로 전달할 수 있다.
센싱부(1400)는, 지자기 센서(Geomagnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시 예에 의한 센싱부(1400)에 의해 감지된 정보는, 인공지능 모델을 갱신하는데 이용되는 학습 데이터로서 획득될 수 있다.
통신부(1500)는, 전자 장치(1000)가 서버(2000) 또는 외부 장치(미도시)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(1510)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 전자 장치(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.
일 실시 예에 의한, 통신부(1500)는 외부와 다양한 종류의 정보를 송수신할 수 있다. 예를 들면, 통신부(1500)는, 외부로부터 미리 학습된 인공지능 모델을 수신할 수 있다. 일 실시 예에 의한 외부로부터 수신된 인공지능 모델은, 고성능의 서버 장치(미도시)에 의해 미리 학습된, 정확도가 기준값 이상인, 제2 단계의 인공지능 모델일 수 있다.
A/V(Audio/Video) 입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다. 카메라(1610)는 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다. 마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다.
일 실시 예에 의한 A/V 입력부(1600)에 의해 획득된 오디오 신호 또는 비디오 신호 입력은, 인공지능 모델을 갱신하는데 이용되는 학습 데이터로서 획득될 수 있다. 상술한 예에 한하지 않고, A/V 입력부(1600)에 의해 획득된 오디오 신호 또는 비디오 신호 입력은 인공지능 모델의 갱신 동작과 관련하여, 다양하게 이용될 수 있다.
메모리(1700)는, 프로세서(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(1000)로 입력되거나 전자 장치(1000)로부터 출력되는 데이터를 저장할 수도 있다.
일 실시 예에 의한 메모리(1700)는 미리 학습된 인공지능 모델을 저장할 수 있다. 예를 들면, 메모리(1700)는, 외부로부터 수신된 미리 학습된 인공지능 모델을 저장할 수 있고, 실시간으로 수집되는 학습 데이터에 기초하여, 인공지능 모델의 갱신 동작이 반복적으로 수행될 수 있다. 상술한 예에 한하지 않고, 메모리(1700)는, 인공지능 모델의 갱신 동작과 관련하여 이용될 수 있는 다양한 정보들을 저장할 수 있다.
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다.
UI 모듈(1710)은, 애플리케이션 별로 전자 장치(1000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(1300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.
사용자의 터치 제스처에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등이 있을 수 있다.
알림 모듈(1730)은 전자 장치(1000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다.
도 7은 일 실시 예에 의한 인공지능 모델을 갱신하는 방법을 나타낸 순서도이다.
도 7을 참조하면, 단계 710에서, 일 실시 예에 의한 전자 장치(1000)는 미리 학습된 인공지능 모델을 획득할 수 있다. 일 실시 예에 따라 획득되는 인공지능 모델은, 외부의 서버 장치(미도시)로부터 획득된 제2 단계의 인공지능 모델일 수 있다. 상술한 예에 한하지 않고, 일 실시 예에 따라 획득되는 인공지능 모델은, 정확도가 기준값 이상이 되는 인공지능 모델일 수 있다.
단계 720에서, 일 실시 예에 의한 전자 장치(1000)는, 인공지능 모델에 포함된 복수 개의 가중치 중 제1 가중치가 양자화된 값으로서, 제2 팩터 값이 적용된 적어도 하나의 제1 팩터 값의 합을 획득할 수 있다. 일 실시 예에 의한 가중치는, 적어도 하나의 제1 팩터 값의 조합으로 양자화될 수 있으며, 적어도 하나의 제2 팩터 값이 제1 팩터 값에 적용됨에 따라, 서로 다른 값으로 양자화된 값이 결정될 수 있다.
일 실시 예에 의한 가중치 값이, 제1 팩터 값 및 제2 팩터 값에 기초하여, 양자화됨으로써, 각각의 가중치 값을 나타내는데 이용되는 데이터의 크기가 감소될 수 있다. 따라서, 가중치 값을 수정하여 인공지능 모델을 갱신하는데 소요되는 연산량이 감소될 수 있다.
단계 730에서, 일 실시 예에 의한 전자 장치(1000)는 인공지능 모델을 갱신하는데 이용될 수 있는 학습 데이터를 획득할 수 있다. 일 실시 예에 의한 학습 데이터는, 전자 장치(1000)에서 수집된 다양한 종류의 정보를 포함할 수 있다. 일 실시 예에 의한 전자 장치(1000)는, 인공지능 모델의 동작과 관련된, 다양한 종류의 정보를 지속적으로 획득하고, 이에 기초하여, 인공지능 모델을 반복하여 갱신할 수 있다. 따라서, 지속적으로 변화하는 주변 상황이 인공지능 모델에 반영됨에 따라서, 사용자에게 적합한 결과가 제공될 수 있다.
단계 740에서, 일 실시 예에 의한 전자 장치(1000)는, 학습 데이터에 기초하여, 제1 가중치에 대한 수정으로서, 제2 팩터 값이 고정된 상태에서, 제1 팩터값을 수정함으로써, 인공지능 모델을 갱신할 수 있다. 일 실시 예에 의한 전자 장치(1000)는, 양자화된 제1 가중치 값을 구성하는 제1 팩터 값 및 제2 팩터 값 중 제2 팩터 값은 고정된 상태에서, 제1 팩터 값을 수정함으로써, 인공지능 모델을 갱신할 수 있다. 따라서, 인공지능 모델에서, 학습 데이터에 기초하여 수정되는 값의 개수가 감소되는 만큼, 전자 장치(1000)가 인공지능 모델을 갱신하는데 소요되는 연산량이 감소될 수 있다.
일 실시 예에 의하면, 인공지능 모델의 갱신에 소요되는 연산량이 감소됨에 따라, 상대적으로 낮은 성능의 전자 장치에서도, 빠르게 인공지능 모델을 갱신할 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 전자 장치에서 인공지능 모델을 갱신하는 방법에 있어서,
    미리 학습된 인공지능 모델을 획득하는 단계;
    상기 인공지능 모델에 포함된 복수 개의 가중치 중 제1 가중치가 양자화된 값으로서, 적어도 하나의 제2 팩터 값이 각각 적용된 적어도 하나의 제1 팩터 값의 합을 획득하는 단계;
    상기 인공지능 모델을 갱신하기 위한 학습 데이터를 획득하는 단계; 및
    상기 학습 데이터에 기초하여, 상기 제1 가중치에 대한 수정으로서, 상기 적어도 하나의 제2 팩터 값은 고정된 상태에서, 상기 적어도 하나의 제1 팩터 값을 수정함으로써, 상기 인공지능 모델을 갱신하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 제1 팩터 값은, 양의 실수 값이고,
    상기 제2 팩터 값은, -1 또는 1인, 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 제1 팩터 값은, 상기 복수 개의 가중치 중 상기 제1 가중치 및 제2 가중치에 대해, 동일한 값으로 결정되고,
    상기 적어도 하나의 제2 팩터 값은, 상기 제1 가중치 및 제2 가중치마다, 각각 독립적으로 결정되는, 방법.
  4. 제1항에 있어서,
    상기 인공지능 모델에 대한 정확도가 기준값 이하인 경우, 상기 인공지능 모델을 제1 단계의 인공지능 모델로 결정하고,
    상기 정확도가 기준값 이상인 경우, 상기 인공지능 모델을 제2 단계의 인공지능 모델로 결정하는, 방법.
  5. 제4항에 있어서,
    상기 제2 단계의 인공지능 모델은, 상기 적어도 하나의 제2 팩터 값은 고정된 상태에서, 상기 학습 데이터에 기초하여, 상기 적어도 하나의 제1 팩터 값이 수정됨으로써, 갱신되는, 방법.
  6. 제4항에 있어서,
    상기 제1 단계의 인공지능 모델은, 상기 학습 데이터에 기초하여, 양자화되지 않은 상기 제1 가중치 값이 수정되거나, 상기 적어도 하나의 제1 팩터 값 및 상기 적어도 하나의 제2 팩터 값 중 적어도 하나가 수정됨으로써, 갱신되는, 방법.
  7. 제1항에 있어서, 상기 학습 데이터는
    상기 전자 장치의 주변 상황 또는 사용자의 상태 정보가 지속적으로 변화됨에 따라 획득되는 정보를 포함하고,
    상기 인공지능 모델은, 상기 학습 데이터에 기초하여, 반복적으로 갱신되는, 방법.
  8. 인공지능 모델을 갱신하는 전자 장치에 있어서,
    미리 학습된 인공지능 모델을 저장하는 메모리; 및
    상기 인공지능 모델에 포함된 복수 개의 가중치 중 제1 가중치가 양자화된 값으로서, 적어도 하나의 제2 팩터 값이 각각 적용된 적어도 하나의 제1 팩터 값의 합을 획득하고, 상기 인공지능 모델을 갱신하기 위한 학습 데이터를 획득하고, 상기 제1 가중치에 대한 수정으로서, 상기 학습 데이터에 기초하여, 상기 적어도 하나의 제2 팩터 값은 고정된 상태에서, 상기 적어도 하나의 제1 팩터 값을 수정함으로써, 상기 인공지능 모델을 갱신하는 적어도 하나의 프로세서를 포함하는, 전자 장치.
  9. 제8항에 있어서, 상기 제1 팩터 값은, 양의 실수 값이고,
    상기 제2 팩터 값은, -1 또는 1인, 전자 장치.
  10. 제8항에 있어서,
    상기 적어도 하나의 제1 팩터 값은, 상기 복수 개의 가중치 중 상기 제1 가중치 및 제2 가중치에 대해, 동일한 값으로 결정되고,
    상기 적어도 하나의 제2 팩터 값은, 상기 제1 가중치 및 제2 가중치마다, 각각 독립적으로 결정되는, 전자 장치.
  11. 제8항에 있어서,
    상기 인공지능 모델에 대한 정확도가 기준값 이하인 경우, 상기 인공지능 모델을 제1 단계의 인공지능 모델로 결정하고,
    상기 정확도가 기준값 이상인 경우, 상기 인공지능 모델을 제2 단계의 인공지능 모델로 결정하는, 전자 장치.
  12. 제11항에 있어서,
    상기 제2 단계의 인공지능 모델은, 상기 적어도 하나의 제2 팩터 값은 고정된 상태에서, 상기 학습 데이터에 기초하여, 상기 적어도 하나의 제1 팩터 값이 수정됨으로써, 갱신되는, 전자 장치.
  13. 제11항에 있어서,
    상기 제1 단계의 인공지능 모델은, 상기 학습 데이터에 기초하여, 양자화되지 않은 상기 제1 가중치 값이 수정되거나, 상기 적어도 하나의 제1 팩터 값 및 상기 적어도 하나의 제2 팩터 값 중 적어도 하나가 수정됨으로써, 갱신되는, 전자 장치.
  14. 제8항에 있어서, 상기 학습 데이터는
    상기 전자 장치의 주변 상황 또는 사용자의 상태 정보가 지속적으로 변화됨에 따라 획득되는 정보를 포함하고,
    상기 인공지능 모델은, 상기 학습 데이터에 기초하여, 반복적으로 갱신되는, 전자 장치.
  15. 제1항 내지 제7항 중 어느 한 항의 방법을 컴퓨터에서 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
KR1020200142523A 2020-10-29 2020-10-29 인공지능 모델을 갱신하는 전자 장치 및 그 동작 방법 KR20220057353A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200142523A KR20220057353A (ko) 2020-10-29 2020-10-29 인공지능 모델을 갱신하는 전자 장치 및 그 동작 방법
PCT/KR2021/013533 WO2022092600A1 (ko) 2020-10-29 2021-10-01 인공지능 모델을 갱신하는 전자 장치 및 그 동작 방법
US17/508,593 US20220138628A1 (en) 2020-10-29 2021-10-22 Electronic device for updating artificial intelligence model and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200142523A KR20220057353A (ko) 2020-10-29 2020-10-29 인공지능 모델을 갱신하는 전자 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20220057353A true KR20220057353A (ko) 2022-05-09

Family

ID=81382690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200142523A KR20220057353A (ko) 2020-10-29 2020-10-29 인공지능 모델을 갱신하는 전자 장치 및 그 동작 방법

Country Status (2)

Country Link
KR (1) KR20220057353A (ko)
WO (1) WO2022092600A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10096134B2 (en) * 2017-02-01 2018-10-09 Nvidia Corporation Data compaction and memory bandwidth reduction for sparse neural networks
US20200151558A1 (en) * 2018-11-13 2020-05-14 Gyrfalcon Technology Inc. Systems and methods for updating an artificial intelligence model by a subset of parameters in a communication system
KR102305177B1 (ko) * 2019-01-22 2021-09-27 (주)티비스톰 Ai 개체에 대한 정보 수집 플랫폼 및 이를 통한 정보 수집 방법
WO2020209693A1 (ko) * 2019-04-12 2020-10-15 삼성전자 주식회사 인공지능 모델을 갱신하는 전자 장치, 서버 및 그 동작 방법

Also Published As

Publication number Publication date
WO2022092600A1 (ko) 2022-05-05

Similar Documents

Publication Publication Date Title
CN110149541B (zh) 视频推荐方法、装置、计算机设备及存储介质
US11645520B2 (en) Methods and apparatuses for inferencing using a neural network
CN109816589B (zh) 用于生成漫画风格转换模型的方法和装置
US12020146B2 (en) Electronic device and operating method thereof of processing neural network model by using plurality of processors
EP3567583A1 (en) Device and method to personalize speech recognition model
US20210125028A1 (en) Electronic apparatus and method of controlling thereof
US20230359541A1 (en) Electronic device for identifying force touch and method for operating same
US11762628B2 (en) Text input device and method therefor
US20230244953A1 (en) Artificial intelligence model distributed processing system, and method for operating same
KR20200120557A (ko) 인공지능 모델을 갱신하는 전자 장치, 서버 및 그 동작 방법
KR20210141323A (ko) 가상 시뮬레이터 모듈에 기초하여, 동작을 수행하는 전자 장치 및 그 동작 방법
US20220004874A1 (en) Electronic apparatus training individual model of user and method of operating the same
US20220309231A1 (en) Electronic device for generating summary information of conversation text and operating method thereof
CN111916097A (zh) 用于语音增强的高斯加权自注意力的方法和系统
CN109598344B (zh) 模型生成方法和装置
KR20200120469A (ko) 인공지능 모델을 갱신하는 전자 장치, 서버 및 그 동작 방법
KR20220057353A (ko) 인공지능 모델을 갱신하는 전자 장치 및 그 동작 방법
US20210295380A1 (en) Online fraud prevention and detection based on distributed system
KR20220088169A (ko) 인공지능 모델을 변환하는 전자 장치 및 그 동작 방법
US20220343156A1 (en) Server for refining model in terminal and operation method thereof
US20220138628A1 (en) Electronic device for updating artificial intelligence model and operating method thereof
US20210240942A1 (en) Electronic device for obtaining sentence corresponding to context information and operating method thereof
CN113780534B (zh) 网络模型的压缩方法、图像生成方法、装置、设备及介质
US20220187092A1 (en) Electronic device for acquiring location information on basis of image, and method for operating same
CN116324759A (zh) 提供关于为何响应被改变的原因的信息的电子装置及其操作方法