KR20190128885A - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20190128885A
KR20190128885A KR1020180053185A KR20180053185A KR20190128885A KR 20190128885 A KR20190128885 A KR 20190128885A KR 1020180053185 A KR1020180053185 A KR 1020180053185A KR 20180053185 A KR20180053185 A KR 20180053185A KR 20190128885 A KR20190128885 A KR 20190128885A
Authority
KR
South Korea
Prior art keywords
connection strength
learned
quantized
quantization
accuracy
Prior art date
Application number
KR1020180053185A
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 KR1020180053185A priority Critical patent/KR20190128885A/ko
Priority to US17/044,104 priority patent/US20210019625A1/en
Priority to CN201980025238.0A priority patent/CN111971697B/zh
Priority to EP19800295.8A priority patent/EP3770825A4/en
Priority to PCT/KR2019/000142 priority patent/WO2019216515A1/ko
Publication of KR20190128885A publication Critical patent/KR20190128885A/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/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y10/00Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Neurology (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)

Abstract

전자 장치가 개시된다. 본 전자 장치는 메모리 및 딥 러닝에 기초하여 학습된 뉴럴 네트워크(neural network)를 양자화하여 양자화된 뉴럴 네트워크를 생성하고, 양자화된 뉴럴 네트워크를 메모리에 저장하는 프로세서를 포함하고, 프로세서는 학습된 뉴럴 네트워크의 뉴런(neuron)들 사이의 학습된 연결 강도(trained connection strength)를 기설정된 제1 비트 단위로 양자화하고, 양자화 된 연결 강도를 기설정된 제2 비트 단위로 역 양자화하며, 역 양자화된 연결 강도를 재학습(retraining)하고, 재학습된 연결 강도를 기설정된 제1 비트 단위로 양자화한다.

Description

전자 장치 및 그 제어 방법 {ELECTRONIC APPARATUS AND METHOD FOR CONTROLLING THEREOF}
본 개시는 전자 장치 및 그 제어 방법에 관한 것으로, 보다 상세하게는 인공 지능 기술을 기반으로 동작하는 전자 장치 및 그 제어 방법에 관한 것이다.
최근 인간 수준의 지능을 구현하는 인공 지능 시스템이 개발되고 있다. 인공 지능 시스템은, 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하는 시스템으로써, 음성 인식, 이미지 인식 및 미래 예측 등과 같은 다양한 범위에서 활용되고 있다.
특히, 최근에는 딥 러닝(deep learning)에 기반한 딥 뉴럴 네트워크(deep neural network)를 통해 주어진 문제를 해결하는 인공 지능 시스템이 개발되고 있다.
딥 뉴럴 네트워크는 입력 레이어(input layer)와 출력 레이어(output layer) 사이에 다수의 은닉 레이어(hidden layer)을 포함하는 뉴럴 네트워크로써, 각 레이어에 포함된 뉴런을 통해 인공 지능 기술을 구현하는 모델을 의미한다.
이와 같은, 딥 뉴럴 네트워크는 정확한 결과 값을 도출해 내기 위해서 다수의 뉴런을 포함하는 것이 일반적이다.
그런데, 방대한 양의 뉴런들이 존재할 경우, 입력 값에 대한 출력 값의 정확도가 높아지는 것은 별론, 출력 값 도출을 위한 시간이 지연되는 문제가 있다.
또한, 방대한 양의 뉴런들로 인해서, 딥 뉴럴 네트워크는 제한된 메모리를 가진 스마트 폰과 같은 모바일 장치 등에서는 용량 상의 문제로 이용될 수 없는 문제도 있다.
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로, 본 개시의 목적은 인공 지능 모델을 성능 저하 없이 경량화 함으로써, 빠른 시간 내 입력 값에 대한 출력 값을 정확히 도출할 수 있도록 하고, 제한된 메모리를 가진 모바일 장치 등에서도 인공 지능 기술을 실현할 수 있도록 하는 전자 장치를 제공함에 있다.
상기 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치는, 메모리 및 딥 러닝에 기초하여 학습된 뉴럴 네트워크(neural network)를 양자화하여 양자화된 뉴럴 네트워크를 생성하고, 상기 양자화된 상기 뉴럴 네트워크를 상기 메모리에 저장하는 프로세서를 포함하고, 상기 프로세서는, 상기 학습된 뉴럴 네트워크의 뉴런(neuron)들 사이의 학습된 연결 강도(trained connection strength)를 기설정된 제1 비트 단위로 양자화하고, 상기 양자화 된 연결 강도를 기설정된 제2 비트 단위로 역 양자화하며, 상기 역 양자화된 연결 강도를 재학습(retraining)하고, 상기 재학습된 연결 강도를 상기 기설정된 제1 비트 단위로 양자화할 수 있다.
여기에서, 상기 프로세서는 상기 양자화 이후의 역 양자화, 재학습 및 양자화를 기설정된 시간 단위로 반복하여 수행할 수 있다.
그리고, 상기 프로세서는 상기 학습된 연결 강도의 정확도(accuracy)를 산출하고, 상기 재학습된 연결 강도를 상기 기설정된 제1 비트 단위로 양자화 했을 때의 정확도를 산출하며, 상기 양자화 했을 때의 정확도가 상기 학습된 연결 강도의 정확도로부터 기설정된 범위 내이면, 상기 반복을 중단할 수 있다.
그리고, 상기 프로세서는 상기 학습된 연결 강도의 정확도를 산출하고, 상기 재학습을 수행함에 있어서, 상기 재학습된 연결 강도의 정확도가 상기 학습된 연결 강도의 정확도로부터 기설정된 범위 내에 속하는 시간까지 상기 재학습을 수행할 수 있다.
여기에서, 상기 기설정된 제1 비트 단위는 1 비트이고, 상기 기설정된 제2 비트 단위는 32 비트일 수 있다.
그리고, 상기 프로세서는 하기 수학식 1을 이용하여 상기 양자화를 수행하고, 하기 수학식 2를 이용하여 상기 역 양자화를 수행할 수 있다.
[수학식 1]
Figure pat00001
(w=connection strength, a = optimal coefficient, b = (-1 or +1), k > 1)
[수학식 2]
Figure pat00002
(a = optimal coefficient, b = (-1 or +1))
그리고, 본 전자 장치는 통신부를 더 포함하고, 상기 프로세서는 상기 재학습된 연결 강도를 상기 기설정된 제1 비트 단위로 양자화한 뉴럴 네트워크를 외부 장치로 전송하도록 상기 통신부를 제어할 수 있다.
한편, 본 개시의 일 실시 예에 따른 딥 러닝에 기초하여 학습된 뉴럴 네트워크(neural network)를 양자화하여 양자화된 뉴럴 네트워크를 생성하고, 상기 양자화된 상기 뉴럴 네트워크를 저장하는 전자 장치의 제어 방법은, 상기 학습된 뉴럴 네트워크의 뉴런(neuron)들 사이의 학습된 연결 강도(trained connection strength)를 기설정된 제1 비트 단위로 양자화하는 단계, 상기 양자화 된 연결 강도를 기설정된 제2 비트 단위로 역 양자화하는 단계, 상기 역 양자화된 연결 강도를 재학습(retraining)하는 단계 및 상기 재학습된 연결 강도를 상기 기설정된 제1 비트 단위로 양자화하는 단계를 포함할 수 있다.
여기에서, 상기 제어 방법은 상기 양자화 이후의 역 양자화, 재학습 및 양자화를 기설정된 시간 단위로 반복하여 수행할 수 있다.
그리고, 본 제어 방법은 상기 학습된 연결 강도의 정확도(accuracy)를 산출하는 단계 및 상기 재학습된 연결 강도를 상기 기설정된 제1 비트 단위로 양자화 했을 때의 정확도를 산출하는 단계를 더 포함하고, 상기 반복하여 수행하는 단계는, 상기 양자화 했을 때의 정확도가 상기 학습된 연결 강도의 정확도로부터 기설정된 범위 내이면, 상기 반복을 중단할 수 있다.
그리고, 본 제어 방법은 상기 학습된 연결 강도의 정확도를 산출하는 단계를 더 포함하고, 상기 재학습을 수행하는 단계는, 상기 재학습된 연결 강도의 정확도가 상기 학습된 연결 강도의 정확도로부터 기설정된 범위 내에 속하는 시간까지 상기 재학습을 수행할 수 있다.
여기에서, 상기 기설정된 제1 비트 단위는 1 비트이고, 상기 기설정된 제2 비트 단위는, 32 비트일 수 있다.
그리고, 상기 양자화 하는 단계는, 하기 수학식 1을 이용하여 수행하고, 상기 역 양자화 하는 단계는 하기 수학식 2를 이용하여 수행할 수 있다.
[수학식 1]
Figure pat00003
(w=connection strength, a = optimal coefficient, b = (-1 or +1), k > 1)
[수학식 2]
Figure pat00004
(a = optimal coefficient, b = (-1 or +1))
그리고, 본 제어 방법은 상기 재학습된 연결 강도를 상기 기설정된 제1 비트 단위로 양자화한 뉴럴 네트워크를 외부 장치로 전송하는 단계를 더 포함할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 성능 저하 없이 인공 지능 모델을 경량화 함으로써, 빠른 시간 내 입력 값에 대한 출력 값을 정확히 도출할 수 있고, 제한된 메모리를 가진 모바일 장치 등에서도 인공 지능 기술을 실현할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 블록도이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치가 학습된 연결 강도를 양자화하는 방법을 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치가 양자화를 반복적으로 수행하는 실시 예를 설명하기 위한 도면이다.
도 4 및 도 5는 본 개시의 일 실시 예에 따른 전자 장치가 반복적으로 양자화를 수행함으로써, 연결 강도의 정확도가 높아지는 것을 설명하기 위한 테이블이다.
도 6은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그에 대한 상세한 설명은 축약하거나 생략한다.
나아가, 이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 개시의 실시 예를 상세하게 설명하지만, 본 개시가 실시 예들에 의해 제한되거나 한정되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 개시를 상세히 설명한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 블록도이다. 도 1에 도시된 바와 같이, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함한다.
전자 장치(100)는 인공지능 모델에 기초하여 입력 데이터에 대한 출력 데이터를 획득하는 장치일 수 있다. 예를 들어, 전자 장치(100)는 데스크탑 PC, 노트북, 스마트 폰, 태블릿 PC, 서버 등일 수 있다. 또는, 전자 장치(100)는 클라우딩 컴퓨팅 환경이 구축된 시스템 자체일 수도 있다. 다만, 이에 한정되는 것은 아니며, 전자 장치(100)는 인공지능 모델을 이용한 연산이 가능한 장치라면 어떤 장치라도 무방하다.
메모리(110)는 프로세서(120)와는 별도로 구비되며, 하드 디스크, 비휘발성 메모리 및 휘발성 메모리 등으로 구현될 수 있다.
메모리(110)는 인공지능 모델을 저장할 수 있다. 여기에서, 인공지능 모델은 인공지능 알고리즘을 통해 학습(training)될 수 있다. 예를 들어, 인공지능 모델은 딥 뉴럴 네트워크(Deep Neural Network) 모델일 수 있다.
구체적으로, 인공지능 모델은 RNN(Recurrent Neural Network) 학습된 모델일 수 있다. 여기서, RNN은 순환 신경망을 의미하며, 시계열 데이터와 같이 시간의 흐름에 따라 변화하는 데이터를 학습하기 위한 딥 러닝 모델의 일종이다.
다만, 이에 한정되는 것은 아니며, 인공지능 모델은 CNN(Convolutional Neural Network) 학습된 모델일 수도 있다. 또는, 메모리(110)는 인공지능 알고리즘을 통해 학습된 모델이 아닌 룰(rule) 기반으로 생성된 모델을 저장할 수도 있으며, 메모리(110)에 저장된 모델에는 특별한 제한이 없다.
딥 뉴럴 네트워크는 복수의 레이어들을 포함할 수 있고, 레이어들 각각은 복수의 뉴런들을 포함할 수 있다.
구체적으로, 딥 뉴럴 네트워크는 입력 레이어(input layer)와 출력 레이어(output layer) 사이에 다수의 은닉 레이어(hidden layer)을 포함할 수 있다.
한편, 이웃한 레이어들의 뉴런들은 시냅스들로 연결될 수 있다. 그리고, 학습에 따라 시냅스들에는 연결 강도, 즉 가중치(weight)들이 부여될 수 있다.
프로세서(120)는 전자 장치(100)의 동작을 전반적으로 제어한다. 이를 위해, 프로세서(120)는 중앙처리장치(central processing unit(CPU)), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다.
프로세서(120)는 딥 러닝에 기초하여 학습된 뉴럴 네트워크(neural network)를 경량화 할 수 있다.
일반적으로, 딥 뉴럴 네트워크는 정확한 결과 값을 도출해 내기 위해서 다수의 뉴런을 포함하고 있다.
그런데, 방대한 양의 뉴런들이 존재할 경우, 입력 값에 대한 출력 값의 정확도가 높아지는 것은 별론, 출력 값 도출을 위한 시간이 지연되는 문제가 있다.
또한, 방대한 양의 뉴런들로 인해서, 딥 뉴럴 네트워크는 제한된 메모리를 가진 스마트 폰과 같은 모바일 장치 등에서는 용량 상의 문제로 이용될 수 없는 문제도 있다.
이와 같은 문제점을 해결하기 위해서, 프로세서(120)는 딥 러닝에 기초하여 학습된 뉴럴 네트워크(neural network)를 경량화 할 수 있다. 이하, 도 2를 참조하여 설명한다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치가 학습된 연결 강도를 양자화하는 방법을 설명하기 위한 도면이다.
프로세서(120)는 뉴럴 네트워크의 뉴런(neuron)들 사이의 연결 강도(trained connection strength)를 양자화 함으로써, 뉴럴 네트워크를 경량화 할 수 있다. 구체적으로, 프로세서(120)는 학습된 뉴럴 네트워크의 뉴런(neuron)들 사이의 학습된 연결 강도를 기설정된 제1 비트 단위로 양자화 함으로써, 뉴럴 네트워크를 경량화 할 수 있다.
여기에서, 학습된 연결 강도는 32 비트이고, 기설정된 제1 비트는 그 보다 작은 단위의 비트가 될 수 있다. 예를 들어, 기설정된 제1 비트는 1 비트가 될 수 있다.
한편, 양자화는 Greedy approximation 기법을 통해 수행될 수 있다. 구체적으로, 프로세서(120)는 하기 수학식 1을 이용하여 학습된 연결 강도를 기설정된 제1 비트 단위로 양자화 할 수 있다. 이하, 설명의 편의를 위해 기설정된 제1 비트 단위는 1 비트 인 것으로 상정하여 설명한다.
[수학식 1]
Figure pat00005
여기에서, w는 연결 강도이고, a는 optimal coefficient이며, b는 -1 또는 +1이고, k는 1보다 큰 정수가 될 수 있다.
한편, 수학식 1의
Figure pat00006
Figure pat00007
로 치환하면, 수학식 1에서 a 및 b는 하기와 같은 식으로 표현될 수 있다.
Figure pat00008
예를 들어, 학습된 연결 강도가 [1.1, -0.9, 0.7, -0.5]와 같은 매트릭스로 표현될 경우, 프로세서(120)는 (1.1+0.9+0.7+0.5)/4 식을 통해서 a는 0.8이라고 연산할 수 있다.
그리고, 프로세서(120)는 학습된 연결 강도인 [1.1, -0.9, 0.7, -0.5]를 [0.8]*[1, -1, 1, -1]와 같이 양자화 할 수 있다.
그리고, 프로세서(120)는 학습된 연결 강도와 일치도가 높은 양자화된 연결 강도를 획득하기 위해서, 양자화된 [0.8]*[1, -1, 1, -1]을 residue 기법을 통해 양자화하고, residue 기법을 통해 양자화된 매트릭스를 기존의 [0.8]*[1, -1, 1, -1]에 더하여 표현할 수 있다.
즉, a는 0.8으로 구해진 상태에서, 프로세서(120)는 연결 강도 [1.1, -0.9, 0.7, -0.5]에 residue 기법을 적용하여 (0.3+0.1+0.1+0.3)/4 식을 통해서 a는 0.2라고 연산할 수 있다.
그리고, 프로세서(120)는 학습된 연결 강도인 [1.1, -0.9, 0.7, -0.5]를 [0.8]*[1, -1, 1, -1] + [0.2]*[1, -1, -1, 1]로 양자화하여 표현할 수 있다.
이와 같은 연산을 반복적으로 수행함으로써, 프로세서(120)는 학습된 연결 강도를 양자화 된 연결 강도로 표현할 수 있다.
이와 같이, 학습된 연결 강도를 양자화 함으로써, 본 개시의 일 실시 예에 따른 전자 장치(100)는 뉴럴 네트워크를 경량화 시킬 수 있다.
한편, 여기서는 Greedy approximation 기법을 통해 양자화하는 실시 예를 설명하였으나, 학습된 연결 강도를 양자화하는 방법에 특별한 제한은 없다. 예를 들어, 양자화는 유니터리 양자화(unitary quantization), 적응적 양자화, 균일 양자화, 또는 관리된 반복 양자화(supervised iterative quantization) 등의 다양한 방법으로 수행될 수 있다.
이후, 프로세서(120)는 기설정된 제1 비트 단위로 양자화된 연결 강도를, 기설정된 제2 비트 단위로 역 양자화할 수 있다. 여기에서, 기설정된 제2 비트 단위는 양자화 되기 전의 연결 강도의 비트 단위와 동일한 단위가 될 수 있다. 즉, 상술한 실시 예에서 학습된 연결 강도인 [1.1, -0.9, 0.7, -0.5]가 32 비트인 경우, 역 양자화된 연결 강도 역시 32 비트가 될 수 있다.
한편, 역 양자화는 하기 수학식 2를 이용하여 수행될 수 있다.
Figure pat00009
여기에서, w는 연결 강도이고, a는 optimal coefficient이며, b는 -1 또는 +1이고, k는 1보다 큰 정수가 될 수 있다.
예를 들어, 상술한 실시 예와 같이, 학습된 연결 강도인 [1.1, -0.9, 0.7, -0.5]가 [0.8]*[1, -1, 1, -1] + [0.2]*[1, -1, -1, 1]로 양자화된 경우, 프로세서(120)는 양자화된 연결 강도를 [1.0, -1.0, 0.6, -0.6]로 역 양자화 할 수 있다.
그리고, 프로세서(120)는 역 양자화된 연결 강도를 재학습(retraining)하고, 재학습된 연결 강도를 상술한 수학식 1을 이용해서 양자화 할 수 있다.
여기에서, 재학습된 연결 강도를 양자화 하는 방법은 상술한 학습된 연결 강도를 양자화 하는 방법과 동일하므로, 상세한 설명은 생략하도록 한다.
이와 같이, 역 양자화된 연결 강도를 재학습 시키고, 재학습 된 연결 강도를 다시 양자화 시킴으로써, 프로세서(120)는 기존의 연결 강도와 일치도가 높은 양자화된 연결 강도를 획득할 수 있다.
즉, 본 개시의 일 실시 예에 따른 전자 장치(100)는 학습된 연결 강도를 양자화하는 것에 그치는 것이 아니라, 양자화된 연결 강도를 역 양자화하고, 역 양자화된 연결 강도를 재학습 시키며, 재학습된 연결 강도를 다시 양자화 함으로써, 기존의 연결 강도와 일치도가 높은 양자화된 연결 강도를 획득하고, 이와 동시에 뉴럴 네트워크를 경량화 할 수 있다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치가 양자화를 반복적으로 수행하는 실시 예를 설명하기 위한 도면이다.
도 3을 참조하면, 종래의 전자 장치의 경우, 뉴럴 네트워크의 경량화를 위해 case A 또는 case B와 같은 방법으로, 연결 강도를 양자화 하였다.
여기에서, case A는 학습하는 과정에서 연결 강도의 양자화를 수행하는 방법으로써, 이와 같은 방법으로 양자화를 수행할 경우, 도 3에 도시된 바와 같이, Case B에 비해 Test Error 율을 어느 정도 낮출 수 있는 장점이 있다. 여기에서, Test Error 율은 학습에 의해 획득되는 연결 강도와 양자화된 연결 강도 사이의 차이 정도가 될 수 있다.
그러나, 이에 의할 경우 학습 과정 자체가 매우 복잡하여 학습을 위한 시간이 지나치게 길어지는 문제가 있다.
한편, case B는 학습 과정을 끝내고 난 뒤, 연결 강도의 양자화를 수행하는 방법으로써, 이와 같은 방법으로 양자화를 수행할 경우, Test Error 율이 증가하는 문제가 있다.
이와 같은 문제점들을 해결하기 위해서, 프로세서(120)는 양자화 이후, 역 양자화, 재학습 및 새로운 양자화를 수행하고, 이와 같은 양자화 이후의 역 양자화, 재학습 및 새로운 양자화 과정을 기설정된 시간 단위로 반복하여 수행할 수 있다.
도 3을 참조하면, 프로세서(120)는 처음 학습 과정을 끝낸 뒤, 연결 강도를 양자화하고, 이를 full precision으로 역 양자화하며, 역 양자화된 연결 강도를 재학습 할 수 있다.
여기에서, full precision은 처음 학습된 연결 강도가 32 비트일 경우, full precision 역시 32 비트로 구성될 수 있다.
도 3에 도시된 바와 같이, 양자화 이후의 역 양자화, 재학습 및 새로운 양자화 과정을 기설정된 시간 단위로 반복함에 의해, Test Error 율은 계속해서 감소함을 확인할 수 있다. 이오 관련된 구체적인 수치는 도 4 및 도 5를 참조하여 후술한다.
한편, 프로세서(120)는 재학습 후 연결 강도를 양자화 했을 때의 정확도가 처음 학습된 연결 강도의 정확도로부터 기설정된 범위 내이면, 상술한 반복을 중단할 수 있다.
이를 위해, 프로세서(120)는 처음 학습된 연결 강도의 정확도(accuracy), 즉 상술한 Test Error을 산출할 수 있다.
그리고, 프로세서(120)는 반복적으로 역 양자화, 재학습 및 양자화를 수행하면서, 재학습된 연결 강도를 기설정된 제1 비트 단위로 양자화 했을 때의 정확도를 산출할 수 있다.
한편, 기설정된 범위는 3%로 설정될 수 있으나, 그 수치가 특별한 범위로 제한되는 것은 아니라고 할 것이다.
한편, 프로세서(120)는 재학습된 연결 강도의 정확도가 학습된 연결 강도의 정확도로부터 기설정된 범위 내에 속하는 시간까지를 한 구간으로 하여 재학습을 수행할 수 있다.
이를 위해, 프로세서(120)는 학습된 연결 강도의 정확도를 산출하고, 재학습된 연결 강도의 정확도를 산출할 수 있다.
도 4 및 도 5는 본 개시의 일 실시 예에 따른 전자 장치가 반복적으로 양자화를 수행함 있어서, 연결 강도의 정확도가 높아지는 것을 설명하기 위한 테이블이다.
도 4를 참조하면, original은 학습된 연결 강도의 에러율, retrain은 재학습된 연결 강도의 에러율, 1bits_quant는 1 비트로 양자화된 연결 강도의 에러율을 의미하고, retrain epoch은 양자화 이후의 역 양자화, 재학습 및 양자화를 하나의 구간으로 본 것을 의미한다.
도 4를 참조하면, 학습된 연결 강도의 에러율이 114.191일 때, 이를 양자화 했을 때의 에러율은 426.868이고, 재학습된 연결 강도의 에러율은 117.765임을 확인할 수 있다.
그리고, 이를 다시 양자화 했을 때의 에러율은 202.975이고, 재학습된 연결 강도의 에러율은 116.399임을 확인할 수 있다.
그리고, 이를 반복적으로 수행하였을 경우, 35번째에는 양자화 했을 때의 에러율은 116.935이고, 재학습된 연결 강도의 에러율은 110.840임을 확인할 수 있다.
즉, 양자화 이후의 역 양자화, 재학습 및 양자화를 하나의 구간으로 보았을 때, 이를 반복하여 실행할 경우, 양자화 했을 때의 에러율이 점차 감소함으로써, 높은 정확도를 가진 연결 강도가 획득됨을 확인할 수 있다.
이는 도 5의 그래프를 참조하면 더욱 명확히 이해될 수 있다.
도 5의 그래프에서 x축은 양자화 이후의 역 양자화, 재학습 및 양자화를 하나의 구간으로 보았을 때, 이를 반복하여 실행한 횟수이고, y축은 양자화 한 연결 강도의 에러율을 의미한다.
도 5에 도시된 바와 같이, 처음 연결 강도를 양자화 했을 때의 정확도와 비교하면, 양자화 이후의 역 양자화, 재학습 및 양자화를 반복하여 실행했을 때의 연결 강도의 에러율은 점차적으로 감소함을 확인할 수 있다.
도 6은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
본 개시의 일 실시 예에 따른 전자 장치는 학습된 뉴럴 네트워크의 뉴런(neuron)들 사이의 학습된 연결 강도(trained connection strength)를 기설정된 제1 비트 단위로 양자화(S610)할 수 있다.
전술한 바와 같이, 양자화는 양자화는 Greedy approximation 기법을 통해 수행될 수 있으나, 반드시 이에 제한되는 것은 아니다.
그리고, 전자 장치는 양자화 된 연결 강도를 기설정된 제2 비트 단위로 역 양자화(S620)할 수 있다.
그리고, 전자 장치는 역 양자화된 연결 강도를 재학습(retraining)(S620)하고, 재학습된 연결 강도를 기설정된 제1 비트 단위로 양자화(S620)할 수 있다.
한편, 전자 장치는 상술한 양자화 이후의 역 양자화, 재학습 및 양자화를 기설정된 시간 단위로 반복하여 수행할 수 있다.
이후, 전자 장치는 기설정된 제1 비트 단위로 양자화된 딥 뉴럴 네트워크를 메모리에 저장할 수 있다.
이와 같이, 연결 강도를 양자화 함으로써, 본 전자 장치는 딥 뉴럴 네트워크를 경량화 시킬 수 있다. 이에 따라, 출력 값 도출을 위한 시간이 지연되는 문제를 해소하고, 스마트 폰과 같은 모바일 장치 등에서도 인공 지능 모델을 이용할 수 있게 된다.
또한, 본 전자 장치는 양자화된 연결 강도를 역 양자화하고, 역 양자화된 연결 강도를 재학습 시킨 뒤, 다시 연결 강도를 양자함으로써, 최종적으로 양자화된 연결 강도는 처음의 연결 강도와 일치하는 정도가 높다. 이에 따라, 인공 지능 모델을 경량화 함으로써 성능 저하를 일으키지 않는 효과가 있다.
한편, 본 발명에 따른 전자 장치의 제어 방법을 순차적으로 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100: 전자 장치
110: 메모리
120: 프로세서

Claims (14)

  1. 전자 장치에 있어서,
    메모리; 및
    딥 러닝에 기초하여 학습된 뉴럴 네트워크(neural network)를 양자화하여 양자화된 뉴럴 네트워크를 생성하고, 상기 양자화된 상기 뉴럴 네트워크를 상기 메모리에 저장하는 프로세서;를 포함하고,
    상기 프로세서는,
    상기 학습된 뉴럴 네트워크의 뉴런(neuron)들 사이의 학습된 연결 강도(trained connection strength)를 기설정된 제1 비트 단위로 양자화하고, 상기 양자화 된 연결 강도를 기설정된 제2 비트 단위로 역 양자화하며, 상기 역 양자화된 연결 강도를 재학습(retraining)하고, 상기 재학습된 연결 강도를 상기 기설정된 제1 비트 단위로 양자화하는, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 양자화 이후의 역 양자화, 재학습 및 양자화를 기설정된 시간 단위로 반복하여 수행하는, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 학습된 연결 강도의 정확도(accuracy)를 산출하고,
    상기 재학습된 연결 강도를 상기 기설정된 제1 비트 단위로 양자화 했을 때의 정확도를 산출하며,
    상기 양자화 했을 때의 정확도가 상기 학습된 연결 강도의 정확도로부터 기설정된 범위 내이면, 상기 반복을 중단하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 학습된 연결 강도의 정확도를 산출하고,
    상기 재학습을 수행함에 있어서,
    상기 재학습된 연결 강도의 정확도가 상기 학습된 연결 강도의 정확도로부터 기설정된 범위 내에 속하는 시간까지 상기 재학습을 수행하는, 전자 장치.
  5. 제1항에 있어서,
    상기 기설정된 제1 비트 단위는, 1 비트이고,
    상기 기설정된 제2 비트 단위는, 32 비트인, 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    하기 수학식 1을 이용하여 상기 양자화를 수행하고, 하기 수학식 2를 이용하여 상기 역 양자화를 수행하는, 전자 장치.
    [수학식 1]
    Figure pat00010

    (w=connection strength, a = optimal coefficient, b = (-1 or +1), k > 1)
    [수학식 2]
    Figure pat00011

    (a = optimal coefficient, b = (-1 or +1))
  7. 제1항에 있어서,
    통신부;를 더 포함하고,
    상기 프로세서는,
    상기 재학습된 연결 강도를 상기 기설정된 제1 비트 단위로 양자화한 뉴럴 네트워크를 외부 장치로 전송하도록 상기 통신부를 제어하는, 전자 장치.
  8. 딥 러닝에 기초하여 학습된 뉴럴 네트워크(neural network)를 양자화하여 양자화된 뉴럴 네트워크를 생성하고, 상기 양자화된 상기 뉴럴 네트워크를 저장하는 전자 장치의 제어 방법에 있어서,
    상기 학습된 뉴럴 네트워크의 뉴런(neuron)들 사이의 학습된 연결 강도(trained connection strength)를 기설정된 제1 비트 단위로 양자화하는 단계;
    상기 양자화 된 연결 강도를 기설정된 제2 비트 단위로 역 양자화하는 단계;
    상기 역 양자화된 연결 강도를 재학습(retraining)하는 단계; 및
    상기 재학습된 연결 강도를 상기 기설정된 제1 비트 단위로 양자화하는 단계;를 포함하는, 전자 장치의 제어 방법.
  9. 제8항에 있어서,
    상기 제어 방법은,
    상기 양자화 이후의 역 양자화, 재학습 및 양자화를 기설정된 시간 단위로 반복하여 수행하는, 전자 장치의 제어 방법.
  10. 제9항에 있어서,
    상기 학습된 연결 강도의 정확도(accuracy)를 산출하는 단계; 및
    상기 재학습된 연결 강도를 상기 기설정된 제1 비트 단위로 양자화 했을 때의 정확도를 산출하는 단계;를 더 포함하고,
    상기 반복하여 수행하는 단계는,
    상기 양자화 했을 때의 정확도가 상기 학습된 연결 강도의 정확도로부터 기설정된 범위 내이면, 상기 반복을 중단하는, 전자 장치의 제어 방법.
  11. 제8항에 있어서,
    상기 학습된 연결 강도의 정확도를 산출하는 단계;를 더 포함하고,
    상기 재학습을 수행하는 단계는,
    상기 재학습된 연결 강도의 정확도가 상기 학습된 연결 강도의 정확도로부터 기설정된 범위 내에 속하는 시간까지 상기 재학습을 수행하는, 전자 장치의 제어 방법.
  12. 제8항에 있어서,
    상기 기설정된 제1 비트 단위는, 1 비트이고,
    상기 기설정된 제2 비트 단위는, 32 비트인, 전자 장치의 제어 방법.
  13. 제8항에 있어서,
    상기 양자화 하는 단계는, 하기 수학식 1을 이용하여 수행하고, 상기 역 양자화 하는 단계는 하기 수학식 2를 이용하여 수행하는, 전자 장치의 제어 방법.
    [수학식 1]
    Figure pat00012

    (w=connection strength, a = optimal coefficient, b = (-1 or +1), k > 1)
    [수학식 2]
    Figure pat00013

    (a = optimal coefficient, b = (-1 or +1))
  14. 제8항에 있어서,
    상기 재학습된 연결 강도를 상기 기설정된 제1 비트 단위로 양자화한 뉴럴 네트워크를 외부 장치로 전송하는 단계;를 더 포함하는, 전자 장치의 제어 방법.
KR1020180053185A 2018-05-09 2018-05-09 전자 장치 및 그 제어 방법 KR20190128885A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180053185A KR20190128885A (ko) 2018-05-09 2018-05-09 전자 장치 및 그 제어 방법
US17/044,104 US20210019625A1 (en) 2018-05-09 2019-01-04 Electronic device and control method thereof
CN201980025238.0A CN111971697B (zh) 2018-05-09 2019-01-04 电子设备及其控制方法
EP19800295.8A EP3770825A4 (en) 2018-05-09 2019-01-04 ELECTRONIC DEVICE AND ITS CONTROL PROCESS
PCT/KR2019/000142 WO2019216515A1 (ko) 2018-05-09 2019-01-04 전자 장치 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180053185A KR20190128885A (ko) 2018-05-09 2018-05-09 전자 장치 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20190128885A true KR20190128885A (ko) 2019-11-19

Family

ID=68467027

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180053185A KR20190128885A (ko) 2018-05-09 2018-05-09 전자 장치 및 그 제어 방법

Country Status (5)

Country Link
US (1) US20210019625A1 (ko)
EP (1) EP3770825A4 (ko)
KR (1) KR20190128885A (ko)
CN (1) CN111971697B (ko)
WO (1) WO2019216515A1 (ko)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100248072B1 (ko) * 1997-11-11 2000-03-15 정선종 신경망을 이용한 영상 데이터 압축/복원 장치의 구조 및압축/복원 방법
HUP0301368A3 (en) * 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
KR100790900B1 (ko) * 2006-12-14 2008-01-03 삼성전자주식회사 영상 부호화를 위한 초기 QP (QuantizationParameter) 값 예측 방법 및 장치
CN106062786B (zh) * 2014-09-12 2019-12-31 微软技术许可有限责任公司 用于训练神经网络的计算***
US10417525B2 (en) * 2014-09-22 2019-09-17 Samsung Electronics Co., Ltd. Object recognition with reduced neural network weight precision
US20180082181A1 (en) * 2016-05-13 2018-03-22 Samsung Electronics, Co. Ltd. Neural Network Reordering, Weight Compression, and Processing
CN106203624B (zh) * 2016-06-23 2019-06-21 上海交通大学 基于深度神经网络的矢量量化***及方法
US11321609B2 (en) * 2016-10-19 2022-05-03 Samsung Electronics Co., Ltd Method and apparatus for neural network quantization
US10599935B2 (en) * 2017-02-22 2020-03-24 Arm Limited Processing artificial neural network weights

Also Published As

Publication number Publication date
WO2019216515A1 (ko) 2019-11-14
EP3770825A4 (en) 2021-07-28
CN111971697B (zh) 2024-06-04
US20210019625A1 (en) 2021-01-21
EP3770825A1 (en) 2021-01-27
CN111971697A (zh) 2020-11-20

Similar Documents

Publication Publication Date Title
KR102589303B1 (ko) 고정 소수점 타입의 뉴럴 네트워크를 생성하는 방법 및 장치
US11694073B2 (en) Method and apparatus for generating fixed point neural network
US11275986B2 (en) Method and apparatus for quantizing artificial neural network
WO2019177951A1 (en) Hybrid quantum-classical generative modes for learning data distributions
US11775770B2 (en) Adversarial bootstrapping for multi-turn dialogue model training
WO2022148272A1 (zh) 脉冲神经网络训练方法、数据处理方法、电子设备和介质
CN109886343B (zh) 图像分类方法及装置、设备、存储介质
CN112236782A (zh) 通信***中的端到端学习
US11468313B1 (en) Systems and methods for quantizing neural networks via periodic regularization functions
WO2022217853A1 (en) Methods, devices and media for improving knowledge distillation using intermediate representations
CN111158912A (zh) 云雾协同计算环境下一种基于深度学习的任务卸载决策方法
CN112766467B (zh) 基于卷积神经网络模型的图像识别方法
CN115359298A (zh) 基于稀疏神经网络的联邦元学习图像分类方法
WO2022197615A1 (en) Techniques for adaptive generation and visualization of quantized neural networks
Yu et al. Communication-efficient personalized federated meta-learning in edge networks
Nguyen et al. Pac-bayes meta-learning with implicit task-specific posteriors
KR20190128885A (ko) 전자 장치 및 그 제어 방법
CN114830137A (zh) 用于生成预测模型的方法和***
KR20200094354A (ko) 버스트 스파이크 기반한 스파이킹 신경망 생성 방법 및 스파이킹 신경망 기반 추론 장치
CN115190633A (zh) 面向设备间通信的智能频谱在线抗干扰频点分配方法
KR102478256B1 (ko) 랭크 오더 코딩 기반 스파이킹 cnn 연산 방법 및 그 처리기
KR20210050892A (ko) 적응적 가중치 감쇠를 이용한 딥 러닝 방법
US20230130188A1 (en) Model estimation for signal transmission quality determination
US20240020519A1 (en) Training and application method and apparatus for neural network model, and storage medium
CN114970829B (zh) 脉冲信号处理方法、装置、设备及存储

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal