KR20200063970A - 신경망 재구성 방법 및 장치 - Google Patents

신경망 재구성 방법 및 장치 Download PDF

Info

Publication number
KR20200063970A
KR20200063970A KR1020190130043A KR20190130043A KR20200063970A KR 20200063970 A KR20200063970 A KR 20200063970A KR 1020190130043 A KR1020190130043 A KR 1020190130043A KR 20190130043 A KR20190130043 A KR 20190130043A KR 20200063970 A KR20200063970 A KR 20200063970A
Authority
KR
South Korea
Prior art keywords
neural network
layer
filter
binarization
input
Prior art date
Application number
KR1020190130043A
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 US16/697,646 priority Critical patent/US20200167655A1/en
Publication of KR20200063970A publication Critical patent/KR20200063970A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

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

Abstract

모바일 단말 등 엣지 디바이스에 의해 사용될 수 있는 초경량 이진 신경망을 생성하는 방법 및 장치가 개시된다. 본 발명의 일 실시예에 따른 신경망 재구성 방법은, 추론을 위한 훈련이 완료된 신경망 모델을 획득하는 단계; 상기 훈련이 완료된 신경망 모델과 동일한 신경망 모델의 구조를 생성하는 단계; 생성된 신경망 모델의 입력 레이어 및 필터에 대해 레이어별로 순차적 이진화를 수행하는 단계; 이진화된 신경망 모델을 저장하는 단계를 포함하며, 상기 이진화된 신경망 모델을 모바일 단말로 제공하는 단계를 더 포함할 수 있다.

Description

신경망 재구성 방법 및 장치{APPARATUS AND METHOD FOR RE-CONFIGURING NEURAL NETWORK}
본 발명은 신경망 재구성 방법 및 장치에 관한 것으로, 더욱 상세하게는 모바일 단말에 의해 사용될 수 있는 초경량 이진 신경망을 생성하는 방법 및 장치에 관한 것이다.
초연결 데이터 분석 환경에서는 네트워크 트래픽 경감뿐만 아니라 지역적 실시간 대응이 점점 중요해지고 있다. 데이터는 여러가지 이유(개인 정보, 네트워크 부하, 기업의 정보보호 등의 이유)로 클라우드 상에 전송되는 일은 줄어들고, 엣지 분석의 중요성이 커져가고 있다.
기존 클라우드상에서 사용한 분석 기법을 이러한 엣지 분석에 그대로 적용하기에는, 기존의 분석 기법이 태생적으로 많은 제약점을 가진다. 하지만 현재 출시되고 있는 모바일 기기의 성능이 향상되고, 딥러닝 수요가 증가함에 따라 추후에는 모바일에도 딥러닝이 보편화될 것으로 전망된다. 특히, 사물인터넷의 도래에 따라, 대다수의 스마트 사물들을 관리하고 데이터를 능동적으로 딥러닝 분석할 수 있는 기술이 각광 받고 있다.
이러한 환경에서 엣지나 제한된 공간에서의 효과적인 딥러닝 분석을 위해 기존의 모델의 가중치를 압축, 절단, 또는 축약시키는 경량화 기법이나 처음부터 가벼운 구조의 경량 뉴럴 네트워크 같은 기법들이 제안되고 있다. 대표적인 경량 뉴럴 네트워크의 일종으로 이진 뉴럴 네트워크가 있다. 일반적인 뉴럴 네트워크의 경우 기존의 뉴럴 네트워크 대비 계산 속도가 60% 정도 빨라진다는 장점을 가진 반면, 정보의 손실이 많기 때문에 뉴럴 네트워크의 정확도가 15% 정도 하락한다는 단점을 가진다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 합성곱 신경망을 초경량 이진 신경망으로 재구성하는 신경망 재구성 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 상기 신경망 재구성 방법을 이용하는 신경망 재구성 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 신경망 재구성 방법은, 추론을 위한 훈련이 완료된 신경망 모델을 획득하는 단계; 상기 훈련이 완료된 신경망 모델과 동일한 신경망 모델의 구조를 생성하는 단계; 생성된 신경망 모델의 입력 레이어 및 필터에 대해 레이어별로 순차적 이진화를 수행하는 단계; 이진화된 신경망 모델을 저장하는 단계를 포함하며, 상기 이진화된 신경망 모델을 모바일 단말로 제공하는 단계를 더 포함할 수 있다.
상기 레이어별로 순차적 이진화를 수행하는 단계는, 상기 합성곱 레이어의 입력에 대해 이진화 입력 분리를 수행하는 단계 및 상기 합성곱 레이어의 필터를 이진화하는 단계를 포함할 수 있다.
상기 합성곱 레이어의 입력에 대해 이진화 입력 분리를 수행하는 단계는, 입력 레이어를 복수의 범위로 분할하여 복수의 채널을 구성하는 단계; 및 각 채널에 대한 기준치에 따라 이진화를 수행하는 단계를 포함할 수 있다.
상기 합성곱 레이어의 입력에 대해 이진화 입력 분리를 수행하는 단계는 또한, 상기 합성곱 레이어의 입력 레이어와 합성곱 필터 사이에 추가 레이어를 생성하는 단계를 포함할 수 있다.
상기 레이어별로 순차적 이진화를 수행하는 단계는 상기 신경망 모델의 구조에 포함된 완전 연결층에 대해, 상기 완전 연결층의 각 가중치에 대해 평균 대비 이진화를 수행하는 단계를 포함할 수 있다.
상기 합성곱 레이어의 필터를 이진화하는 단계는 또한, 상기 합성곱 레이어에 포함된 고차원 필터를 복수의 저차원 필터로 분할하는 단계; 및 상기 저차원 필터를 복수의 이진 필터로 분할하는 단계를 포함할 수 있다.
상기 이진 필터는, 상기 저차원 필터를 나타내는 행렬 전체의 표준편차 및 평균 값에 기반하여 산출될 수 있으며, 1x2 필터 및 2x1필터 중 적어도 하나를 포함할 수 있다.
상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 신경망 재구성 장치는, 프로세서; 및 상기 프로세서를 통해 실행되는 적어도 하나의 명령을 저장하는 메모리를 포함할 수 있으며, 상기 적어도 하나의 명령은, 추론을 위한 훈련이 완료된 신경망 모델을 획득하도록 하는 명령; 상기 훈련이 완료된 신경망 모델과 동일한 신경망 모델의 구조를 생성 하도록 하는 명령; 생성된 신경망 모델의 입력 레이어 및 필터에 대해 레이어별로 순차적 이진화를 수행하도록 하는 명령; 및 이진화된 신경망 모델을 저장하도록 하는 명령을 포함할 수 있다.
여기서, 적어도 하나의 명령은, 상기 프로세서로 하여금, 추론을 위한 훈련이 완료된 신경망 모델을 획득하도록 하는 명령; 상기 훈련이 완료된 신경망 모델과 동일한 신경망 모델의 구조를 생성 하도록 하는 명령; 생성된 신경망 모델의 입력 레이어 및 필터에 대해 레이어별로 순차적 이진화를 수행하도록 하는 명령; 및 이진화된 신경망 모델을 저장하도록 하는 명령을 포함할 수 있다.
상기 레이어별로 순차적 이진화를 수행하도록 하는 명령은, 상기 합성곱 레이어의 입력에 대해 이진화 입력 분리를 수행하도록 하는 명령; 및 상기 합성곱 레이어의 필터를 이진화하도록 하는 명령을 포함할 수 있다.
상기 레이어별로 순차적 이진화를 수행하도록 하는 명령은 또한, 상기 신경망 모델의 구조에 포함된 완전 연결층에 대해, 상기 완전 연결층의 각 가중치에 대해 평균 대비 이진화를 수행하도록 하는 명령을 포함할 수 있다.
상기 합성곱 레이어의 입력에 대해 이진화 입력 분리를 수행하도록 하는 명령은, 입력 레이어를 복수의 범위로 분할하여 복수의 채널을 구성하도록 하는 명령; 및 각 채널에 대한 기준치에 따라 이진화를 수행하도록 하는 명령을 포함할 수 있다. 상기 합성곱 레이어의 입력에 대해 이진화 입력 분리를 수행하도록 하는 명령은, 상기 합성곱 레이어의 입력 레이어와 합성곱 필터 사이에 추가 레이어를 생성하게 된다.
상기 합성곱 레이어의 필터를 이진화하도록 하는 명령은, 상기 합성곱 레이어에 포함된 고차원 필터를 복수의 저차원 필터로 분할하도록 하는 명령; 및 상기 저차원 필터를 복수의 이진 필터로 분할하도록 하는 명령을 포함할 수 있다.
상기 이진 필터는, 상기 저차원 필터를 나타내는 행렬 전체의 표준편차 및 평균 값에 기반하여 산출될 수 있으며, 1x2 필터 및 2x1필터 중 적어도 하나를 포함할 수 있다.
상기 적어도 하나의 명령은, 상기 이진화된 신경망 모델을 모바일 단말로 제공하도록 하는 명령을 더 포함할 수 있다.
상기와 같은 본 발명의 실시예들에 따르면, 서버나 클라우드에서 생성된 딥러닝 모델을 정확도의 손실을 줄이고 압축을 통해 이진화된 모델을 생성하고, 엣지/모바일 환경에서 사용하는 직렬 컴퓨팅에 적합한 필터로 변환하고, 이를 모바일 디바이스에 전송하여, 모바일 디바이스에서 직접 데이터 추론을 실행할 수 있도록 한다.
그에 따라, 인터넷이나 클라우드 서버와 연결되어 있지 않거나 데이터를 전송하지 않아도 모바일 단말 등을 이용해 인공지능(AI) 도구를 유비쿼터스하게 사용할 수 있다.
도 1은 일반적인 모바일 지원 클라우드에 의한 추론 서비스의 개념도이다.
도 2는 본 발명의 일 실시예에 따라 모바일 단말에서 사용자 요청에 대한 응답을 추론하는 과정을 나타낸 개념도이다.
도 3은 추론 모델에 사용되는 합성곱 신경망의 구조도이다.
도 4는 일반적인 이진 뉴럴 네트워크에서 사용하는 이진화 알고리즘을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 추론 모델의 이진화 방법의 동작 순서도이다.
도 6은 본 발명의 일 실시예에 따른 범위 기준치를 이용한 이진화 입력분리 방법의 동작 순서도이다.
도 7a는 샘플 데이터에 대해 일반적인 이진화 입력 분리를 수행한 결과 예를 나타낸다. 도7b은 본 발명에 따라 샘플 데이터에 대해 범위 기준치를 이용하여 이진화 입력 분리를 수행한 결과 예를 나타낸다.
도 8은 본 발명의 일 실시예에 따라 합성곱 레이어의 필터를 이진화하는 방법의 동작 순서도이다.
도 9는 일반적인 일반적인 합성곱과 이진화 완료된 신경망에서의 합성곱의 연산을 비교한 결과를 도시한다.
도 10은 본 발명에 따른 필터 이진화 과정에서 이루어지는 고차원 필터의 분리 알고리즘을 나타낸다.
도11은 본 발명에 따른 필터 이진화 과정에서 이루어지는 저차원 필터의 이진화 알고리즘을 나타낸다.
도 12는 본 발명의 일 실시예에 따른 신경망 재구성 장치의 블록 구성도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는"이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위하여, 기존 이진 뉴럴 네트워크의 정확도 문제를 개선하는 기법을 제시한다. 엣지 기기에서 데이터 훈련이 곤란하다는 점을 고려해서, 클라우드 상에서 훈련한 정확도가 높은 뉴럴 네트워크 모델을 다운로드 받아서 그것부터 유사한 이진 뉴럴 네트워크를 생성하고 이를 엣지 기기에 바로 적용(Deployment)할 수 있는 모듈을 제시한다.
이와 같은 기법은 기존 이진 뉴럴 네트워크를 사용할 때의 단점들을 보완하고, 모델 이진화(Binarization)를 통해 모바일 상에서도 메모리 소모를 적게 하면서 데이터를 즉각적으로 정확하게 분석할 수 있는 엣지 디바이스를 지원할 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 일반적인 모바일 지원 클라우드에 의한 추론 서비스의 개념도이다.
도 1에 도시된 서비스가 가장 보편적으로 실행되고 있는 모바일 지원 클라우드 서비스의 형태이다.
인터넷이 발달하고 클라우드 컴퓨팅 기술이 등장함에 따라, 모바일 단말(20)에 의해 요청된 데이터(102)는 도 1에 도시된 바와 같이, 클라우드 서버(10)로 전송된다.
통상적인 경우 클라우드 서버는 이러한 서비스를 제공하기 위해 방대한 자료(즉, 데이터셋(103))를 저장하고 있다. 클라우드 서버는 데이터셋으로부터 정보를 학습하는 훈련(Training, 104) 과정을 통해 학습된 신경망을 이용해 데이터에 대한 추론을 수행한다. 즉, 이러한 방대한 자료를 학습하는 데 이용되는 것이 인공신경망(105)이다.
학습된 인공신경망은 요청된 테스트 데이터(102)가 입력되면 그것의 명칭, 해답, 결과, 정답, 라벨(label)을 추론한다(106). 이러한 과정을 통해 신경신경망을 통해 추론된 결과는 클라우드 서버에 의해 모바일 단말로 전달될 수 있다.
도 2는 본 발명의 일 실시예에 따라 모바일 단말에서 사용자 요청에 대한 응답을 추론하는 과정을 나타낸 개념도이다.
즉, 도 2는 클라우드로부터 경량 모델을 다운로드받은 단말에 의해 수행되는 추론이 이루어지는 과정을 나타낸 개념도이다. 보다 구체적으로, 도 2에 도시된 본 발명의 실시예에서는 클라우드에서 데이터셋을 이용해 사전에 훈련 완료된 모델을 이진화를 통해서 모바일 단말로 압축/전송하고, 모바일 단말에서 정답을 추론하는 딥러닝의 활용 예를 도시한다.
여기서, 단말(terminal)은 이동 단말(mobile terminal, MT), 이동국(mobile station, MS), 진보된 이동국(advanced mobile station, AMS), 고신뢰성 이동국(high reliability mobile station, HR-MS), 가입자국(subscriber station, SS), 휴대 가입자국(portable subscriber station, PSS), 접근 단말(access terminal, AT), 사용자 장비(user equipment, UE) 등을 지칭할 수도 있고, 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), TV 응용 서버와 서비스 서버 등 서버 단말기일 수 있다.
도 2를 참조하면, 도 1의 일반적인 경우와 마찬가지로, 클라우드 서버(100)에서는 데이터셋을 불러와 신경망 훈련을 진행한다. 하지만, 클라우드 서버(100)는 모바일 단말(200)이 요청한 데이터를 수신하거나 추론하지 않고, 추론 모델을 이진화 압축(26)하여 모바일 단말(200)로 전송한다.
이진화 압축되어 전달된 모델은 모바일 단말(200)에 의해 실행되며, 사용자가 모바일 단말(200)을 통해 요청하는 데이터(22)는 모바일 내에서 추론된다(23).
이와 같은 모바일 추론을 통해 서버와 최대한 유사한 정답(24)를 도출하는 것이 본 발명의 목적이며, 이러한 목표를 달성하기 위해 서버에서 습득한 딥러닝 모델이 모바일 단말에서도 실행될 수 있도록 모델을 압축해 모바일 단말로 제공하는 것이 본 발명의 주요 기술적 요소이다.
도 3은 추론 모델에 사용되는 합성곱 신경망의 구조도이다.
도 3에 도시된 합성곱 신경망(304)은 도1, 도2에서 사용된 추론 모델로 자주 쓰이는 신경망이다.
인공 신경망은 기계 학습에 가장 일반적으로 활용되는 기술이다. 도 3을 참조하면, 추론해야 할 데이터(22)가 인공신경망으로 입력되면 수많은 뉴런들로 구성된 다층 레이어(302)들을 바탕으로 데이터의 특징을 뉴런에 학습시키는 방식을 사용해 인공신경망을 학습시킨다. 합성곱 신경망(304)는 인공 신경망의 하나로, 입력 데이터(22)와 필터(303)의 합성곱(convolution)을 이용해서 데이터를 보다 용이하게 분석하는 데 쓰인다.
여기서, 인공신경망(Atificial Neural Network; ANN)은 기계학습과 인지과학에서 생물학의 신경망(동물의 중추신경계중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘이다. 인공신경망은 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 가리킨다.
인공신경망에는 교사 신호(정답)의 입력에 의해서 문제에 최적화되어 가는 교사 학습과 교사 신호를 필요로 하지 않는 비교사 학습이 있다. 명확한 해답이 있는 경우에는 교사 학습이, 데이터 클러스터링에는 비교사 학습이 이용되는 것이 보통이다. 인공신경망은 많은 입력들에 의존하면서 일반적으로 베일에 싸인 함수를 추측하고 근사치를 낼 경우 사용한다. 일반적으로 입력으로부터 값을 계산하는 뉴런 시스템의 상호연결로 표현되고, 적응성이 있어 패턴 인식과 같은 기계학습을 수행할 수 있다.
합성곱 신경망은 대량의 시각(visual) 정보가 사용되는 분야에 사용되고 있으며, 많은 양의 데이터를 훈련함에도 불구하고 추론 정확도가 높아서 활용도가 높다. 본 발명의 바람직한 일 실시예 또한 이러한 합성곱의 추론(305)에 대한 결과를 유지하고자 합성곱 신경망의 이진 경량화 방법을 제안한다. 도 3을 참조하면 입력되는 시각 데이터, 예를 들어 이미지에 대한 합성공 신경망의 추론 결과는 통상적으로 해당 데이터 또는 이미지와 관련되는 레이블(label)일 수 있다. 이러한 합성곱 신경망의 필터(303)는 대부분 실수(Real Number)로 이루어져 있다.
도 4는 일반적인 이진 뉴럴 네트워크에서 사용하는 이진화 알고리즘을 설명하기 위한 도면이다.
도 4를 참조하면, 이진화(401)는 데이터를 (-1) 혹은 (+1)로 간략화하는 과정으로 이해될 수 있으며, 이진화 오퍼레이션은 하이퍼볼릭 탄젠트 함수(Tanh(x)), 사인 함수(Sign(x)), 및 HTanh(x) 등이 사용될 수 있다. 도 4에서는 각 함수에 대한 함수 곡선 및 미분 곡선이 함께 도시되어 있다.
이진 뉴럴 네트워크는 경량 뉴럴 네트워크의 일종으로, 기존의 뉴럴 네트워크와 유사하지만 가중치 값을 (-1) 혹은 (+1)로 설정해서 계산하는 값을 매우 가볍고 빠르게 계산할 수 있도록 하는 네트워크이다. 이진 뉴럴 네트워크는 (-1) 혹은 (+1)의 값을 다루기 때문에, 기존의 32 BIT FLOAT에 비해 저장할 때 소용되는 메모리가 32배 (32Bit -> 1Bit)로 감소하고, 계산 속도도 60% 정도 빨라진다. 하지만 통상적인 이진 뉴럴 네트워크는 정보 손실이 많이 발생하기 때문에, 뉴럴 네트워크의 정확도가 15% 정도 하락한다.
합성곱 신경망에 사용되는 모델의 내부 수치는, 대다수가 32 비트 소수(FLOAT) 값으로 저장되어 있는 경우가 많다. 이러한 32-비트 소수값은 저장하는 데 많은 메모리가 소요될 뿐만 아니라, 연산하는 데 부하도 많이 걸린다. 이러한 문제는 모바일 단말이 성능이 개선되어도 여전히 발생하는데, 합성곱 신경망 기술이 발전할수록 레이어의 개수가 많아지고 필터 개수가 많아지기 때문이다. 이진화는 이렇듯 폭증하는 데이터를 잡아줌으로써 모델 경량화에 기여할 수 있다.
도 5는 본 발명의 일 실시예에 따른 추론 모델의 이진화 방법의 동작 순서도이다.
도 5를 통해 설명되는 본 발명의 일 실시예에 따른 이진화 방법은 모델 이진화 장치, 예를 들어, 사용자 단말에 의해 수행될 수 있으나, 동작 주체가 이에 한정되는 것은 아니다. 모델 이진화 장치는 기존의 32 비트 소수로 이루어진 인공신경망을 이진 압축하여 모델의 크기를 줄이고, 그로 인해 인공신경망의 처리 속도도 높일 수 있다.
모델 이진화 장치는 우선, 클라우스 서버 등으로부터 가공되지 않은 원 추론 모델을 획득하여 기존 크기의 모델을 읽고(S510), 그로부터 동일한 모델의 구조를 생성한다(S520). 즉, 모델 이진화 장치는 원래의 추론 모델을 읽어 해당 모델의 계층, 필터, 바이어스 등에 관한 정보를 복사한다.
이후 모델 이진화 장치는 생성한 모델의 입력 레이어부터 시작해 순차적으로 레이어 하나하나에 대해 이진화하는 과정을 수행한다(S530).
레이어별 순차적 이진화 과정(S530)에서는, 해당 레이어가 합성곱 레이어인지 체크하고(S540), 해당 레이어가 합성곱 레이어인 경우 합성곱 레이어의 입력 부분에 대해 범위 기준치를 이용한 이진화 입력 분리(binary threshold input seperation)를 실행하고(S541), 합성곱 레이어의 필터 부분도 이진화한다(S542).
만약 레이어가 완전연결 레이어(fully-connected layer)이면(S550의 예), 단순히 가중치 이진화(Weight binarization)을 통해서 가중치 값을 평균에 따라서 이진화를 진행한다(S551). 만약 해당 레이어가 맨 마지막에 추론하는 레이어(S560)라면, 그 부분은 이진화를 진행하지 않고 이진화 완료된 전체 모델을 저장한다(S570). 도 5에 도시된 방법에 따른 알고리즘은 대다수의 단순한 합성곱 신경망과 호환될 것으로 예상된다.
도 6은 본 발명의 일 실시예에 따른 범위 기준치를 이용한 이진화 입력분리 방법의 동작 순서도이다.
본 발명의 일 실시예에 따른 이진화 입력 분리 방법은 모델 이진화 장치, 예를 들어, 사용자 단말에 의해 수행될 수 있으나, 동작 주체가 이에 한정되는 것은 아니다.
도 6에 도시된 실시예에서는 도 5를 통해 설명된 이진화 입력 분리(binary threshold input seperation) 과정(S541)을 보다 상세히 설명한다.
본 실시예에서는 이진화 알고리즘으로 도 4를 통해 살펴본 sign() 함수을 기본적으로 사용한다. sign() 함수는 0을 기준으로 0보다 작으면 -1, 0보다 크면 +1 의 형태를 가진다. 대다수 이진 뉴럴 네트워크는 이러한 sign()함수를 사용해서 데이터를 이진화하기 때문에 데이터의 형태가 한정적일 수 밖에 없다.
따라서, 본 발명에서는 -1과 +1의 나누는 기준치(threshold)을 분산하여 배치함으로써 특정 입력 값에 대해 적용되는 이진화의 기준을 다르게 설정하도록 하여 정보의 다양화를 꾀하면서 데이터 압축률을 희생하지 않는 방식을 택했다.
모델 이진화 장치는 이진화의 대상이 되는 합성곱 레이어의 입력 레이어를 획득한다(S610). 모델 이진화 장치는 이러한 합성곱 입력 레이어와 합성곱 필터 사이에, 기준치를 이용해서 데이터를 (-1) 과 (+1)로 분리하는 추가적인 레이어를 생성하게 된다.
모델 이진화 장치는 획득한 합성곱 입력 레이어에 대한 이진화 관련 정보를 설정한다(S620). 이진화 관련 정보는, 출력하는 채널의 개수, 지정할 기준치의 범위, 지정할 범위 기준치의 분포도(예를 들어, 정규분포, 균일분포)와 같은 하이퍼파라미터를 포함할 수 있다.
이진화 관련 정보가 설정되면 모델 이진화 장치는, 입력 레이어의 데이터 형태가 (-1)과 (+1)로 일반화 가능한 것인지 확인하고(S630), 일반화가 가능하다면 레이어의 채널 개수에 맞게 기준치(threshold)를 -1부터 1까지의 범위 내에 분포시켜 이진화 기준치를 생성한다(S631). 만약, 입력 레이어의 데이터 형태가 일반화 가능하지 않다면 데이터의 일반화가 가능한 최대 값과 최소 값에 따라 기준치의 범위를 정해서 분포시킨다(S640). 이렇게 이진 기준치의 분포가 생성(606)되면 마치 하나의 레이어의 형태를 띄게 된다. 이러한 기준치 채널들을 출력 채널에 수에 맞게 생성해서, 모듈의 입력이 해당 채널의 기준치보다 크면 (+1), 기준치보다 낮으면 (-)1의 값을 모듈 밖으로 출력시킬 수 있도록 합성곱의 입력 레이어를 고정시킨다(S650).
도 7a는 샘플 데이터에 대해 일반적인 이진화 입력 분리를 수행한 결과 예를 나타낸다. 도7b은 본 발명에 따라 샘플 데이터에 대해 범위 기준치를 이용하여 이진화 입력 분리를 수행한 결과 예를 나타낸다.
도 7a은, 기존의 RGB이미지 데이터(700)가 일반적으로 취하는 형태를 나타내고 있다. 자연에서 발생하는 RGB값의 대다수가 굴곡의 정규분포를 따르는데, 도4를 통해 살펴본 바와 같이 기본적인 이진화는 단순히 데이터를 -1과 +1로 나누어 데이터 분포를 양분하게 된다. 이는 일반적인 이진화의 알고리즘(711)이 평균 하나만을 기준치로 보고 데이터를 구분하기 때문이다.
반면, 본 발명에서는 범위 기준치를 평균 0으로 두는 것이 아니라, 도 7b에 도시된 필터(704)를 이용해 데이터를 여러 개의 범위로 나누어서 이진화를 진행한다. 즉, 본 발명에 따른 이진화는 일반적인 이진화 방법에 비해 데이터를 보다 자세하게 구별해서 이진화한다. 즉, 도 7b의 실시예는 입력 데이터(700)가 결과 데이터(705)처럼 나누어지도록 704와 같은 특정 범위의 필터를 도6의 합성곱 입력 레이어에 부착하는 구성을 나타낸다.
도 8은 본 발명의 일 실시예에 따라 합성곱 레이어의 필터를 이진화하는 방법의 동작 순서도이다.
도8은 본 발명에 따른 합성곱 레이어의 필터에 대한 이진화가 이루어지는 과정을 나타낸 순서도이다. 본 발명의 일 실시예에 따른 합성곱 레이어의 필터 이진화 방법은 추론 모델 이진화 장치, 예를 들어, 사용자 단말에 의해 수행될 수 있으나, 동작 주체가 이에 한정되는 것은 아니다.
추론 모델 이진화 장치는 합성곱 레이어를 읽어와서 합성곱 레이어의 필터를 분석한다(S801). 보다 구체적으로, 합성곱 레이어의 커널, 즉 2차원 필터의 크기가 2x2보다 큰지 판단하고(S802), 엣지 디바이스에 맞는 원활한 이진화를 진행하기 위해서 필터를 2x2의 형태로 맞추는 절차가 선행된다. 큰 크기의 필터를 작은 단위의 필터로 변환할 수 있는지 판별한 후(S803), NxN 필터를 다수의 2x2 필터로 분할하는 절차(S804)를 진행한다.
필터의 조건을 만족시키는 실수 값이 존재하면, 즉 필터 분할을 위한 해가 쉽게 연산 가능한지 판단하고(S805), 해가 쉽게 연산 가능한 경우에는 여러 개의 2x2필터로 분할한다(S810). 만약에 필터의 조건을 만족시키는 실수(Real Number)값이 존재하지 않으면, 즉 해가 쉽게 계산되지 않는 경우에는 원래 필터의 실제 값을 사용해 합성곱 샘플을 생성하고(S806), 생성된 합성곱 샘플에 대해 랜덤 초기화된 다수의 2x2 필터들과의 합성곱을 계산한다(S807).
이후, 아래 수학식 1에 따라 원래 필터 대비 손실(loss)을 산출하고 경사하강법(Gradient descent)을 사용해서(S808) 원래 필터에 근접한 값을 찾아내 최적화한다(S809).
Figure pat00001
최종적으로, 2x2필터를 이진 행/열 분할해서 [2x1][1x2] 행렬로 분할하고(S810), 생성된 다수의 이진 [2x1][1x2] 필터를 기존의 합성곱 레이어로 삽입한다(S811).
도 9는 일반적인 일반적인 합성곱과 이진화 완료된 신경망에서의 합성곱의 연산을 비교한 결과를 도시한다.
도 9를 참조하면, 블록 901은 일반적인 소수 값에 기반한 합성곱의 결과를 나타내고, 블록 902는 이진화 완료된 수치에 기반한 합성곱의 결과를 나타낸다.
블록 901에서 나타내는 기존 행렬에서 소수 (1.0) 과 소수 (-1.0) 은 32비트의 값으로 저장된다. 기존 방법에 따른 블록(901)에서는 입력에 대해 필터를 각각 이동하면서 값을 하나하나 곱하고, 더하는 형태로 연산을 진행한다.
반면, 블록 902에 나타낸 입력과 필터는, 입력과 필터 모두다 이진화된 상태이다. 따라서, 블록 902에서는 곱셈과 덧셈을 활용한 합성곱의 연산이 수행되는 것이 아니라 논리 게이트 XNOR과 비트 연산 POPCOUNT 정도만을 사용해 연산이 이루어지며 블록 901에서 이루어지는 연산 대비 연산 속도가 빨라질 수 있다.
도 10은 본 발명에 따른 필터 이진화 과정에서 이루어지는 고차원 필터의 분리 알고리즘을 나타낸다.
도 10은 본 발명에 따라 고차원 필터를 다중 이진 필터로 분리하는 방법의 일 실시예로서 3x3의 고차원 필터를 2 개의 2x2필터로 분리하는 경우를 나타내고 있다.
도 10을 참조하면, 고차원 필터를 포함하는 합성곱 레이어에 데이터(1001)가 입력되는 경우, 3x3의 필터(1002)를 사용한 결과가 2x2의 출력값(1003)임을 알 수 있다.
이러한 3x3 필터(1002) 대신 3x3 필터(1002)의 역할과 유사한 두개의 2x2 필터(1004; 1005)를 사용해 입력 데이터와의 다중 합성곱을 통해 기존 3x3필터를 사용했을 때와 동일한 결과(1006)가 나오도록 계산한 것이 아래의 결과표(1007)이다.
먼저 입력 값(1001)을 제1 필터(1004)와 합성곱을 하고, 해당 합성곱의 결과를 제2 필터(1005)와 합성곱해서 도출한 결과(1006)를 고차원 필터의 합성곱 값(1003)과 비교하면, 결과표(1007)에 따라 2 개의 2x2 필터의 값들은 3x3 필터의 값들을 바탕으로 기계적으로 산출할 수 있음을 확인할 수 있다.
다만, 값을 구하는 과정에서 4가지 조건문(1008)이 모두 만족되어야 실수의 값을 얻을 수 있다. 만약 4가지 조건문 중 하나라도 조건을 만족하지 못하면 산출식(1007)에 의한 기계적인 산출 방법으로 2x2 필터의 값들을 산출하는 것은 불가능하다. 이 경우에는 경사하강법을 이용해 근접한 값을 찾는 방식을 활용할 수 있다.
도11은 본 발명에 따른 필터 이진화 과정에서 이루어지는 저차원 필터의 이진화 알고리즘을 나타낸다.
도 11에서는 저차원 필터의 예로서 2x2필터를 이진화 및 2x1 1x2 분리하는 알고리즘을 나타낸다. 즉, 도 11은 본 발명에 따른 저차원 2x2의 필터를 보다 적은 차원의 2x1, 1x2의 필터로 변경하는 예를 나타낸다.
도 11을 참조하면, 2x2 의 실수 행렬(1101)이 주어졌을 때, 기존의 이진 뉴럴 네트워크에서는 평균을 맞추고 기호를 추출하는 방식(1102)을 사용하였다. 이는 보통 필터 전체적으로 동일하게 통합시킬 때 유리하게 사용될 수 있다.
반면, 본 발명에서 제시하는 방법은 필터를 재조합(즉, 원상복귀) 했을 때 원래 필터와의 평균제곱오차(Mean Squared Error)율이 기존 방법 대비 10% 정도 적은 방식이다. 본 발명에 따른 방법은 또한 2x1, 1x2의 방식으로 필터 분할 하기에도 용이하다.
본 발명에 따른 필터 이진화 방식에서는, 열(column) 당 수치 구별 함수 (1101)을 사용해서 열(column) 단위로 (-1), (+1)로 나눈다. 이렇게 하면, 각 열마다 (-1)과 (+1)이 골고루 분배된다(1103). 행렬 전체의 표준편차(stddev(A); 1104)와 평균값(mean(A))을 이용해서 원상복귀할 수 있도록 상수 값과 바이어스(bias)를 식의 끝 부분에 배치한다. (-1)과 (+1)로 이루어진 행렬은 공간적으로 분리가능(Spatially separable)하기 때문에 더 낮은 랭크(lower rank)로 분리가 가능해진다(1106).
상술한 실시예들을 통해 설명한 본원의 실시예들, 특히 도4에 도시된 이진 입력과 도11을 통해 도출된 다중 이진 필터를 사용하면, 직렬 계산이 병렬 계산보다 빠른 엣지 환경에서 보다 신속하게 데이터를 분석할 수 있다. 또한, 기존의 이진 뉴럴 네트워크에 비해 정보 손실이 감소하여 추론 정확도가 향상된다.
도 12는 본 발명의 일 실시예에 따른 신경망 재구성 장치의 블록 구성도이다.
본 발명의 일 실시예에 따른 신경망 재구성 장치는, 적어도 하나의 프로세서(1210), 상기 프로세서를 통해 실행되는 적어도 하나의 명령을 저장하는 메모리(1220) 및 네트워크와 연결되어 통신을 수행하는 송수신 장치(1230)를 포함할 수 있다.
신경망 재구성 장치(1200)는 또한, 입력 인터페이스 장치(1240), 출력 인터페이스 장치(1250), 저장 장치(1260) 등을 더 포함할 수 있다. 신경망 재구성 장치(1200)에 포함된 각각의 구성 요소들은 버스(bus)(1270)에 의해 연결되어 서로 통신을 수행할 수 있다.
프로세서(1210)는 메모리(1220) 및 저장 장치(1260) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(1210)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(1220) 및 저장 장치(1260) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(1220)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
여기서, 적어도 하나의 명령은, 상기 프로세서로 하여금, 추론을 위한 훈련이 완료된 신경망 모델을 획득하도록 하는 명령; 상기 훈련이 완료된 신경망 모델과 동일한 신경망 모델의 구조를 생성 하도록 하는 명령; 생성된 신경망 모델의 입력 레이어 및 필터에 대해 레이어별로 순차적 이진화를 수행하도록 하는 명령; 및 이진화된 신경망 모델을 저장하도록 하는 명령을 포함할 수 있다.
상기 레이어별로 순차적 이진화를 수행하도록 하는 명령은, 상기 합성곱 레이어의 입력에 대해 이진화 입력 분리를 수행하도록 하는 명령; 및 상기 합성곱 레이어의 필터를 이진화하도록 하는 명령을 포함할 수 있다.
상기 레이어별로 순차적 이진화를 수행하도록 하는 명령은 또한, 상기 신경망 모델의 구조에 포함된 완전 연결층에 대해, 상기 완전 연결층의 각 가중치에 대해 평균 대비 이진화를 수행하도록 하는 명령을 포함할 수 있다.
상기 합성곱 레이어의 입력에 대해 이진화 입력 분리를 수행하도록 하는 명령은, 입력 레이어를 복수의 범위로 분할하여 복수의 채널을 구성하도록 하는 명령; 및 각 채널에 대한 기준치에 따라 이진화를 수행하도록 하는 명령을 포함할 수 있다. 상기 합성곱 레이어의 입력에 대해 이진화 입력 분리를 수행하도록 하는 명령은, 상기 합성곱 레이어의 입력 레이어와 합성곱 필터 사이에 추가 레이어를 생성하게 된다.
상기 합성곱 레이어의 필터를 이진화하도록 하는 명령은, 상기 합성곱 레이어에 포함된 고차원 필터를 복수의 저차원 필터로 분할하도록 하는 명령; 및 상기 저차원 필터를 복수의 이진 필터로 분할하도록 하는 명령을 포함할 수 있다.
상기 이진 필터는, 상기 저차원 필터를 나타내는 행렬 전체의 표준편차 및 평균 값에 기반하여 산출될 수 있으며, 1x2 필터 및 2x1필터 중 적어도 하나를 포함할 수 있다.
상기 적어도 하나의 명령은, 상기 이진화된 신경망 모델을 모바일 단말로 제공하도록 하는 명령을 더 포함할 수 있다.
본 발명의 실시예에 따른 방법의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
본 발명의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시예에서, 가장 중요한 방법 단계들의 하나 이상은 이와 같은 장치에 의해 수행될 수 있다.
실시예들에서, 프로그램 가능한 로직 장치(예를 들어, 필드 프로그머블 게이트 어레이)가 여기서 설명된 방법들의 기능의 일부 또는 전부를 수행하기 위해 사용될 수 있다. 실시예들에서, 필드 프로그머블 게이트 어레이는 여기서 설명된 방법들 중 하나를 수행하기 위한 마이크로프로세서와 함께 작동할 수 있다. 일반적으로, 방법들은 어떤 하드웨어 장치에 의해 수행되는 것이 바람직하다.
이상 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 추론을 위한 훈련이 완료된 신경망 모델을 획득하는 단계;
    상기 훈련이 완료된 신경망 모델과 동일한 신경망 모델의 구조를 생성하는 단계;
    생성된 신경망 모델의 입력 레이어 및 필터에 대해 레이어별로 순차적 이진화를 수행하는 단계; 및
    이진화된 신경망 모델을 저장하는 단계를 포함하는, 신경망 재구성 방법.
  2. 청구항 1에 있어서,
    상기 레이어별로 순차적 이진화를 수행하는 단계는,
    합성곱 레이어의 입력에 대해 이진화 입력 분리를 수행하는 단계를 포함하는, 신경망 재구성 방법.
  3. 청구항 1에 있어서,
    상기 레이어별로 순차적 이진화를 수행하는 단계는,
    합성곱 레이어의 필터를 이진화하는 단계를 포함하는, 신경망 재구성 방법.
  4. 청구항 2에 있어서,
    상기 합성곱 레이어의 입력에 대해 이진화 입력 분리를 수행하는 단계는,
    입력 레이어를 복수의 범위로 분할하여 복수의 채널을 구성하는 단계; 및
    각 채널에 대한 기준치에 따라 이진화를 수행하는 단계를 포함하는, 신경망 재구성 방법.
  5. 청구항 2에 있어서,
    상기 합성곱 레이어의 입력에 대해 이진화 입력 분리를 수행하는 단계는,
    상기 합성곱 레이어의 입력 레이어와 합성곱 필터 사이에 추가 레이어를 생성하는 단계를 포함하는, 신경망 재구성 방법.
  6. 청구항 1에 있어서,
    상기 레이어별로 순차적 이진화를 수행하는 단계는,
    상기 신경망 모델의 구조에 포함된 완전 연결층에 대해, 상기 완전 연결층의 각 가중치에 대해 평균 대비 이진화를 수행하는 단계를 포함하는, 신경망 재구성 방법.
  7. 청구항 3에 있어서,
    상기 합성곱 레이어의 필터를 이진화하는 단계는,
    상기 합성곱 레이어에 포함된 고차원 필터를 복수의 저차원 필터로 분할하는 단계; 및
    상기 저차원 필터를 복수의 이진 필터로 분할하는 단계를 포함하는, 신경망 재구성 방법.
  8. 청구항 7에 있어서,
    상기 이진 필터는,
    상기 저차원 필터를 나타내는 행렬 전체의 표준편차 및 평균 값에 기반하여 산출되는, 신경망 재구성 방법.
  9. 청구항 7에 있어서,
    상기 이진 필터는,
    1x2 필터 및 2x1필터 중 적어도 하나를 포함하는, 신경망 재구성 방법.
  10. 청구항 1에 있어서,
    상기 이진화된 신경망 모델을 모바일 단말로 제공하는 단계를 더 포함하는, 신경망 재구성 방법.
  11. 프로세서; 및
    상기 프로세서를 통해 실행되는 적어도 하나의 명령을 저장하는 메모리를 포함하고,
    상기 적어도 하나의 명령은,
    추론을 위한 훈련이 완료된 신경망 모델을 획득하도록 하는 명령;
    상기 훈련이 완료된 신경망 모델과 동일한 신경망 모델의 구조를 생성 하도록 하는 명령;
    생성된 신경망 모델의 입력 레이어 및 필터에 대해 레이어별로 순차적 이진화를 수행하도록 하는 명령; 및
    이진화된 신경망 모델을 저장하도록 하는 명령을 포함하는, 신경망 재구성 장치.
  12. 청구항 11에 있어서,
    상기 레이어별로 순차적 이진화를 수행하도록 하는 명령은,
    합성곱 레이어의 입력에 대해 이진화 입력 분리를 수행하도록 하는 명령을 포함하는, 신경망 재구성 장치.
  13. 청구항 11에 있어서,
    상기 레이어별로 순차적 이진화를 수행하도록 하는 명령은,
    합성곱 레이어의 필터를 이진화하도록 하는 명령을 포함하는, 신경망 재구성 장치.
  14. 청구항 12에 있어서,
    상기 합성곱 레이어의 입력에 대해 이진화 입력 분리를 수행하도록 하는 명령은,
    입력 레이어를 복수의 범위로 분할하여 복수의 채널을 구성하도록 하는 명령; 및
    각 채널에 대한 기준치에 따라 이진화를 수행하도록 하는 명령을 포함하는, 신경망 재구성 장치.
  15. 청구항 12에 있어서,
    상기 합성곱 레이어의 입력에 대해 이진화 입력 분리를 수행하도록 하는 명령은,
    상기 합성곱 레이어의 입력 레이어와 합성곱 필터 사이에 추가 레이어를 생성하도록 하는 명령을 포함하는, 신경망 재구성 장치.
  16. 청구항 11에 있어서,
    상기 레이어별로 순차적 이진화를 수행하도록 하는 명령은,
    상기 신경망 모델의 구조에 포함된 완전 연결층에 대해, 상기 완전 연결층의 각 가중치에 대해 평균 대비 이진화를 수행하도록 하는 명령을 포함하는, 신경망 재구성 장치.
  17. 청구항 13에 있어서,
    상기 합성곱 레이어의 필터를 이진화하도록 하는 명령은,
    상기 합성곱 레이어에 포함된 고차원 필터를 복수의 저차원 필터로 분할하도록 하는 명령; 및
    상기 저차원 필터를 복수의 이진 필터로 분할하도록 하는 명령을 포함하는, 신경망 재구성 장치.
  18. 청구항 17에 있어서,
    상기 이진 필터는,
    상기 저차원 필터를 나타내는 행렬 전체의 표준편차 및 평균 값에 기반하여 산출되는, 신경망 재구성 장치.
  19. 청구항 17에 있어서,
    상기 이진 필터는,
    1x2 필터 및 2x1필터 중 적어도 하나를 포함하는, 신경망 재구성 장치.
  20. 청구항 11에 있어서,
    상기 적어도 하나의 명령은,
    상기 이진화된 신경망 모델을 모바일 단말로 제공하도록 하는 명령을 더 포함하는, 신경망 재구성 장치.
KR1020190130043A 2018-11-28 2019-10-18 신경망 재구성 방법 및 장치 KR20200063970A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/697,646 US20200167655A1 (en) 2018-11-28 2019-11-27 Method and apparatus for re-configuring neural network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180150161 2018-11-28
KR1020180150161 2018-11-28

Publications (1)

Publication Number Publication Date
KR20200063970A true KR20200063970A (ko) 2020-06-05

Family

ID=71089024

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190130043A KR20200063970A (ko) 2018-11-28 2019-10-18 신경망 재구성 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20200063970A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112699962A (zh) * 2021-01-13 2021-04-23 福州大学 一种在边缘节点上部署二值化分类网络的方法
CN113869299A (zh) * 2021-09-30 2021-12-31 中国平安人寿保险股份有限公司 一种银行卡识别方法、装置、计算机设备及存储介质
KR20220025579A (ko) * 2020-08-24 2022-03-03 한국전자통신연구원 심층 신경망 기반의 추론 서비스 제공 시스템 및 방법
KR102461998B1 (ko) * 2021-11-15 2022-11-04 주식회사 에너자이(ENERZAi) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템
KR102461997B1 (ko) * 2021-11-15 2022-11-04 주식회사 에너자이(ENERZAi) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220025579A (ko) * 2020-08-24 2022-03-03 한국전자통신연구원 심층 신경망 기반의 추론 서비스 제공 시스템 및 방법
CN112699962A (zh) * 2021-01-13 2021-04-23 福州大学 一种在边缘节点上部署二值化分类网络的方法
CN113869299A (zh) * 2021-09-30 2021-12-31 中国平安人寿保险股份有限公司 一种银行卡识别方法、装置、计算机设备及存储介质
CN113869299B (zh) * 2021-09-30 2024-06-11 中国平安人寿保险股份有限公司 一种银行卡识别方法、装置、计算机设备及存储介质
KR102461998B1 (ko) * 2021-11-15 2022-11-04 주식회사 에너자이(ENERZAi) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템
KR102461997B1 (ko) * 2021-11-15 2022-11-04 주식회사 에너자이(ENERZAi) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템

Similar Documents

Publication Publication Date Title
KR20200063970A (ko) 신경망 재구성 방법 및 장치
CN111797893B (zh) 一种神经网络的训练方法、图像分类系统及相关设备
CN112164391B (zh) 语句处理方法、装置、电子设备及存储介质
US11604960B2 (en) Differential bit width neural architecture search
US20200302271A1 (en) Quantization-aware neural architecture search
CN111667022A (zh) 用户数据处理方法、装置、计算机设备和存储介质
KR20200052182A (ko) 딥러닝 모델 압축 및 압축 해제 방법 그리고 장치
CN113366494A (zh) 用于少样本无监督图像到图像转换的方法
CN110414581B (zh) 图片检测方法和装置、存储介质及电子装置
CN113761220A (zh) 信息获取方法、装置、设备及存储介质
CN114282059A (zh) 视频检索的方法、装置、设备及存储介质
US20200167655A1 (en) Method and apparatus for re-configuring neural network
CN114329029A (zh) 对象检索方法、装置、设备及计算机存储介质
CN115205546A (zh) 模型训练方法和装置、电子设备、存储介质
CN117711001B (zh) 图像处理方法、装置、设备和介质
CN115116557A (zh) 一种预测分子标签的方法以及相关装置
Aufar et al. Face recognition based on Siamese convolutional neural network using Kivy framework
CN111783734B (zh) 原版视频识别方法及装置
CN115292455B (zh) 图文匹配模型的训练方法及装置
CN116956996A (zh) 数据处理方法、装置、介质及设备
Jin et al. Improving the Performance of Deep Learning Model‐Based Classification by the Analysis of Local Probability
Tieleman et al. Shaping representations through communication
CN115358374A (zh) 基于知识蒸馏的模型训练方法、装置、设备及存储介质
CN112149426B (zh) 阅读任务处理方法及相关设备
CN111935259B (zh) 目标帐号集合的确定方法和装置、存储介质及电子设备

Legal Events

Date Code Title Description
A201 Request for examination