KR102227437B1 - 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법 - Google Patents

연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법 Download PDF

Info

Publication number
KR102227437B1
KR102227437B1 KR1020200031002A KR20200031002A KR102227437B1 KR 102227437 B1 KR102227437 B1 KR 102227437B1 KR 1020200031002 A KR1020200031002 A KR 1020200031002A KR 20200031002 A KR20200031002 A KR 20200031002A KR 102227437 B1 KR102227437 B1 KR 102227437B1
Authority
KR
South Korea
Prior art keywords
data
feature extraction
unit
matrix
convolution operation
Prior art date
Application number
KR1020200031002A
Other languages
English (en)
Other versions
KR20200030524A (ko
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 KR1020200031002A priority Critical patent/KR102227437B1/ko
Publication of KR20200030524A publication Critical patent/KR20200030524A/ko
Application granted granted Critical
Publication of KR102227437B1 publication Critical patent/KR102227437B1/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/084Backpropagation, e.g. using gradient descent
    • 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

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)
  • Image Analysis (AREA)

Abstract

본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델을 생성하는 서버 장치는, 학습용 데이터를 복수의 단위 데이터로 분할하는 데이터 분할부, 상기 각 단위 데이터를, 소정의 분류 기준에 따라 복수의 그룹 중 하나의 그룹에 속하도록 분류하고, 상기 복수의 그룹 중 같은 그룹에 속하는 단위 데이터를 동일한 값을 갖는 변환 데이터로 변환하는 전처리부, 상기 변환 데이터로 구성된 데이터 행렬(matrix)에, 소정의 차원을 갖는 행렬인 특징 추출 필터를 적용하여 합성곱(convolution) 연산을 수행한 결과 및 상기 학습용 데이터에 포함된 정보 간의 관계에 기초하여 신경망 모델을 생성하는 모델 생성부 및 상기 데이터 행렬의 일부인 부분 행렬과, 상기 합성곱 연산 중 상기 부분 행렬에 대해 수행된 연산의 결과가 서로 매칭되어 저장됨으로써, 상기 신경망 모델을 통해 상기 학습용 데이터와는 다른 인식 대상 데이터에 포함된 정보를 인식하는 데 이용되는 연산 테이블을 생성하는 테이블 생성부를 포함할 수 있다.

Description

연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법 {APPARATUS AND METHOD FOR GENERATING AND USING NEURAL NETWORK MODEL APPLYING ACCELERATED COMPUTATION}
본 발명은 합성곱 신경망(convolution neural network, CNN) 모델을 이용하여 영상(image) 데이터와 같은 인식 대상 데이터를 인식하는 데 있어서, 연산량을 줄임으로써 인식의 속도를 향상시키기 위한 장치 및 방법에 관한 것이다.
영상 데이터 혹은 텍스트 데이터 등의 인식 대상 데이터를 자동으로 분석하여, 상기 인식 대상 데이터를 유형별로 분류하거나 상기 인식 대상 데이터에 포함된 정보를 추출해 내는 기술이 인공 지능(artificial intelligence, AI) 기술의 일종으로서 최근 각광받고 있다. 이와 같은 기술은 단순히 영상 데이터 내의 객체의 종류를 인식하는 것에 그치지 않고, 자율 주행, 의료 영상 판독, 보안 시스템 등 다양한 분야에서 이용될 수 있다.
특히 최근에는 딥 러닝(deep learning)과 같은 기계 학습(machine learning) 기법이 데이터 인식 기술에 적용되고 있다. 이와 같은 딥 러닝 기법 중 널리 알려진 합성곱 신경망 기법은 영상 데이터 인식에 있어 높은 성능을 보이고 있다.
다만, 합성곱 신경망 기법을 이용하여 인식 대상 데이터에 포함된 정보를 인식하는 과정에서는, 곱셈과 덧셈의 조합으로 이루어지는 합성곱(convolution) 연산이 다수 회 수행된다. 이와 같이 거듭되어 수행되는 방대한 연산량의 합성곱 연산은 합성곱 신경망 기법을 통한 데이터 인식에 걸림돌로 작용할 수 있다. 특히, 앞서 언급한 자율 주행과 같이 신속한 연산이 중요한 영상 데이터 인식 분야에 있어서는, 합성곱 연산에 소요되는 시간은 큰 문제가 될 수 있다.
한국공개특허공보, 제 10-2016-0122452 호 (2016.10.24. 공개)
본 발명이 해결하고자 하는 과제는, 합성곱 신경망 모델을 이용한 인식 대상 데이터의 인식 작업의 속도를 향상시키기 위한 장치 및 방법을 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 연산 테이블을 생성하는 방법은, 학습용 데이터가 분할된 복수의 단위 데이터를, 소정의 분류 기준에 따라, 복수의 그룹 중 어느 하나의 그룹으로 분류하는 단계; 상기 복수의 단위 데이터 중에서 같은 그룹에 속하는 단위 데이터를 동일한 값을 갖는 변환 데이터로 변환하는 단계; 상기 변환 데이터로 구성된 데이터 행렬에, 특징 추출 필터를 적용하여 합성곱 연산을 수행하는 단계; 및 상기 데이터 행렬의 일부인 부분 행렬과 상기 특징 추출 필터의 상기 합성곱 연산의 결과를 상기 부분 행렬 및 상기 특징 추출 필터와 매칭하여, 인식 대상 데이터의 인식에 이용되는 연산 테이블을 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 합성곱 연산을 수행하는 방법은, 인식 대상 데이터가 분할된 복수의 단위 데이터를, 소정의 분류 기준에 따라 복수의 그룹 중 어느 하나의 그룹으로 분류하는 단계; 상기 복수의 단위 데이터 중에서 같은 그룹에 속하는 단위 데이터를 동일한 값을 갖는 변환 데이터로 변환하는 단계; 상기 변환 데이터로 구성된 데이터 행렬의 부분 행렬이 기 저장된 연산 테이블에 포함된 부분 행렬과 일치하고, 합성곱 연산을 수행하기 위한 특징 추출 필터가 상기 연산 테이블에 포함된 특징 추출 필터와 일치하는지 여부를 판단하는 단계; 및 상기 판단의 결과에 기초하여 상기 합성곱 연산을 수행하는 단계를 포함하고, 상기 합성곱 연산을 수행하는 단계는, 부분 행렬 및 특징 추출 필터가 일치하는 경우, 상기 연산 테이블에 매칭된 합성곱 연산의 결과를 획득하고, 부분 행렬 및 특징 추출 필터 중에서 적어도 하나가 일치하지 않는 경우, 상기 합성곱 연산을 수행할 수 있다.
본 발명의 일 실시예에 따른 연산 테이블을 생성하는 장치는, 학습용 데이터가 분할된 복수의 단위 데이터를, 소정의 분류 기준에 따라, 복수의 그룹 중 어느 하나의 그룹으로 분류하고, 상기 복수의 단위 데이터 중에서 같은 그룹에 속하는 단위 데이터를 동일한 값을 갖는 변환 데이터로 변환하는 전처리부; 상기 변환 데이터로 구성된 데이터 행렬에, 특징 추출 필터를 적용하여 합성곱 연산을 수행하는 모델 생성부; 및 상기 데이터 행렬의 일부인 부분 행렬과 상기 특징 추출 필터의 상기 합성곱 연산의 결과를 상기 부분 행렬 및 상기 특징 추출 필터와 매칭하여, 인식 대상 데이터의 인식에 이용되는 연산 테이블을 생성하는 테이블 생성부를 포함할 수 있다.
본 발명의 일 실시예에 따른 합성곱 연산을 수행하는 장치는, 인식 대상 데이터가 분할된 복수의 단위 데이터를, 소정의 분류 기준에 따라 복수의 그룹 중 어느 하나의 그룹으로 분류하고, 상기 복수의 단위 데이터 중에서 같은 그룹에 속하는 단위 데이터를 동일한 값을 갖는 변환 데이터로 변환하는 데이터 변환부; 및 상기 변환 데이터로 구성된 데이터 행렬의 부분 행렬이 기 저장된 연산 테이블에 포함된 부분 행렬과 일치하고, 합성곱 연산을 수행하기 위한 특징 추출 필터가 상기 연산 테이블에 포함된 특징 추출 필터와 일치하는지 여부를 판단하고, 상기 판단의 결과에 기초하여 상기 합성곱 연산을 수행하는 대상 인식부를 포함하고, 상기 대상 인식부는, 부분 행렬 및 특징 추출 필터가 일치하는 경우, 상기 연산 테이블에 매칭된 합성곱 연산의 결과를 획득하고, 부분 행렬 및 특징 추출 필터 중에서 적어도 하나가 일치하지 않는 경우, 상기 합성곱 연산을 수행할 수 있다.
본 발명의 일 실시예에 따르면, 합성곱 신경망 모델 생성 과정에서 입력 가능한 모든 데이터와 합성곱 신경망 간의 연산을 미리 수행하여 연산 테이블에 저장해 놓고, 인식 대상 데이터를 인식하는데 이를 이용할 수 있다. 이로써 인식 과정에서의 연산의 중복 수행이 방지될 수 있으며, 결과적으로 연산량이 획기적으로 줄어들어 신경망 모델을 이용하는 시스템의 효율이 증대될 수 있다.
특히, 본 발명의 일 실시예에 의하면, 신경망 모델 생성 과정에서의 학습용 데이터 혹은 신경망 모델 활용 과정에서의 인식 대상 데이터에 포함된 데이터의 양 혹은 가짓수를 합리적인 수준으로 감소시킬 수 있다. 이를 통해 상기 연산 테이블과 같은 시스템에 저장되어야 하는 정보의 양이 감소될 수 있으며, 신경망 모델의 생성 및 활용에 있어서의 효율이 크게 향상될 수 있다.
도 1은 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 서버 장치의 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 생성 방법의 각 단계를 도시한 도면이다.
도 3a 및 3b는 본 발명의 일 실시예에 의한 연산 가속화가 적용된 신경망 모델의 생성 방법의 전처리 과정에 대해 설명하기 위한 도면이다.
도 4는 합성곱 신경망에서의 합성곱 연산에 대해 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 활용 방법의 각 단계를 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 활용 방법의 효과를 설명하기 위한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 서버 장치의 구성을 도시한 도면이다. 도 1의 서버 장치(100)는 입력부(110), 데이터 분할부(120), 전처리부(130), 모델 생성부(140), 사전 생성부(150), 테이블 생성부(160), 데이터베이스(170), 데이터 변환부(180) 및 대상 인식부(190)를 포함할 수 있다. 다만, 도 1의 서버 장치(100)의 구성 요소는 본 발명의 일 실시예에 불과하므로, 도 1에 의해 본 발명의 기술적 사상이 한정 해석되는 것은 아니다.
입력부(110)는 신경망 모델 생성 과정에서 이용될 학습용 데이터, 혹은 신경망 모델 활용 과정에서 이용될 인식 대상 데이터를 입력받을 수 있다. 상기 학습용 데이터 혹은 인식 대상 데이터는 복수의 부호로 구성된 것이라면 어느 것이든 될 수 있겠지만, 이하에서는 영상 데이터임을 가정하고 설명하도록 한다. 입력부(110)는 키보드(keyboard), 마우스(mouse) 등의 입력 장치, 데이터의 수신을 위한 데이터 버스, 혹은 유/무선 통신 모듈 등을 포함하여 구현될 수 있다.
데이터 분할부(120)는 학습용 데이터 혹은 인식 대상 데이터를 소정의 분할 기준에 따라 분할할 수 있다. 예컨대, 영상 데이터인 학습용 데이터 혹은 인식 대상 데이터의 경우, 상기 분할 기준은 픽셀(pixel) 단위의 분할이 될 수 있다. 이하에서는 학습용 데이터가 분할되어 생성된 데이터를 단위 데이터, 인식 대상 데이터가 분할되어 생성된 데이터를 대상 단위 데이터라 칭하도록 한다. 따라서, 하나의 단위 데이터 혹은 대상 단위 데이터는 학습용 데이터 혹은 인식 대상 데이터의 하나의 픽셀에 대응될 수 있다.
상기 데이터 분할부(120)는 마이크로프로세서(microprocessor)와 같은 연산 장치를 포함하여 구현될 수 있으며, 이는 후술할 다른 구성 요소인 전처리부(130), 모델 생성부(140), 사전 생성부(150), 테이블 생성부(160), 데이터 변환부(180) 및 대상 인식부(190)에 있어서도 같다.
한편, 학습용 데이터에 속한 단위 데이터는 그 분량뿐 아니라 가질 수 있는 값의 가짓수가 매우 많을 수 있다. 예컨대, 영상 데이터의 각 픽셀은 R(red, 빨강), G(green, 초록), B(blue, 파랑)의 세 가지 색상을 각각 나타내기 위한 3개의 채널(channel)을 통해 표현될 수 있음은 주지된 바와 같다. 0 이상 255 이하의 정수를 이용하여 임의의 한 픽셀의 한 채널의 값을 나타낼 경우, 상기 픽셀의 픽셀 값(pixel value), 즉 상기 픽셀에 대응되는 하나의 단위 데이터가 가질 수 있는 값의 가짓수는 총 2563가지가 될 것이다. 게다가, 영상 데이터 내에는 매우 많은 수의 픽셀이 행렬(matrix)의 형태를 이루어 존재하고 있으므로, 영상 데이터로부터 생성되는 단위 데이터에 포함된 정보의 양 및 이들 단위 데이터들이 가질 수 있는 값의 조합의 총 가짓수는 천문학적인 수가 될 것이다.
이에, 본 발명의 일 실시예에서의 전처리부(130)는 소정의 분류 기준에 따라, 단위 데이터(혹은 대상 단위 데이터)를 분류할 수 있다. 구체적으로, 전처리부(130)는 소정의 분류 기준에 따라 각 단위 데이터가 복수의 그룹 중 하나의 그룹에 속하도록 분류하고, 상기 복수의 그룹 중 같은 그룹에 속하는 단위 데이터는 서로 동일한 값을 갖는 변환 데이터로 변환되도록 할 수 있으며, 상이한 그룹에 속하는 단위 데이터는 상이한 변환 데이터로 변환되도록 할 수 있다. 즉, 같은 그룹에 속한 단위 데이터끼리는 신경망 모델의 생성 및 활용에 있어 서로 같은 입력 데이터로 여겨질 수 있게 되며, 상기 분류 기준의 구체적인 예시에 대해서는 후술하도록 한다.
모델 생성부(140)는 단위 데이터로 분할되고 변환 데이터로 변환된 학습용 데이터를 학습함으로써, 학습용 데이터와는 다른 데이터로서 인식의 대상이 되는 인식 대상 데이터의 인식을 위한 신경망 모델을 생성할 수 있다. 이와 같은 신경망 모델은 인식 대상 데이터의 인식 과정에서 합성곱 연산을 활용하는 모델이라면 어떤 것이든 될 수 있다. 신경망 모델의 구체적인 생성 및 활용 방법에 대해서는 머신 러닝 분야의 통상의 기술자에게 용이한 것이므로 여기에서는 자세한 설명을 생략한다.
사전 생성부(150)는 단위 데이터(혹은 대상 단위 데이터)를 분류하기 위한 분류 기준 및 분류된 단위 데이터를 변환 데이터로 변환하기 위한 변환 기준을 저장하는 사전(dictionary)을 생성할 수 있다. 상기 분류 기준 및 변환 기준은 신경망 모델 생성 과정을 거치며 최적화될 수 있으며, 이와 같은 최적화된 기준이 사전에 저장되어, 인식 대상 데이터로부터 생성된 대상 단위 데이터를 분류 및 변환하는 데 이용될 수 있다.
테이블 생성부(160)는 모델 생성부(140)가 신경망 모델을 생성하는 과정에서 학습용 데이터에 대해 수행한 합성곱(convolution) 연산의 결과를 저장하는 연산 테이블을 생성할 수 있다. 이와 같이 연산 테이블에 신경망 모델 생성 과정에서의 합성곱 연산의 결과가 저장됨에 따라, 신경망 모델 활용 과정에서는 합성곱 연산을 일일이 수행하는 대신, 상기 연산 테이블로부터 동일한 상황에서의 합성곱 연산의 결과를 획득하여 사용하는 것이 가능해진다.
데이터베이스(170)는 생성된 신경망 모델, 연산 테이블 및 사전 등을 저장할 수 있다. 물론 데이터베이스(170)가 저장할 수 있는 정보는 반드시 이에 한정되지 않고, 서버 장치(100)의 동작에 필요한 임시적 혹은 영구적 정보라면 어떤 것이든 될 수 있다. 데이터베이스(170)는 컴퓨터 판독 기록 매체로서 구현될 수 있으며, 상기 컴퓨터 판독 기록 매체의 예로는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 플래시 메모리(flash memory)와 같은 프로그램 명령어들을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 들 수 있다.
데이터 변환부(180)는 인식 대상 데이터가 데이터 분할부(120)에 의해 분할되어 생성된 각 단위 데이터를, 변환 데이터 중 어느 하나로 각각 변환할 수 있다. 이와 같은 변환은 데이터베이스(170)에 저장된 사전을 이용하여 수행될 수 있다.
대상 인식부(190)는 데이터베이스(170)에 저장된 신경망 모델을 이용하여 인식 대상 데이터의 특징을 추출하고, 이를 바탕으로 인식 대상 데이터에 포함된 정보를 인식하여, 인식 대상 데이터의 분류 혹은 내용 파악 등의 작업을 수행할 수 있다. 이와 같은 대상 인식부(190)의 신경망 모델 이용 과정에서는 합성곱 연산이 수행될 수 있는데, 대상 인식부(190)는 합성곱 연산을 일일이 수행하는 대신, 데이터베이스(170)에 저장된 연산 테이블로부터 합성곱 연산의 결과를 획득하여 사용할 수 있다. 이와 같은 연산 테이블의 사용은 본 발명의 일 실시예에 따른 대상 인식 과정의 효율을 비약적으로 증대시킬 수 있다.
도 2는 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 생성 방법의 각 단계를 도시한 도면이다. 도 2의 방법은 도 1을 참조하여 설명한 서버 장치(100)에 의해 수행될 수 있다. 단, 도 2에 도시된 방법은 본 발명의 일 실시예에 불과하므로 도 2에 의해 본 발명의 사상이 한정 해석되는 것은 아니며, 도 2에 도시된 방법의 각 단계는 경우에 따라 도면에 제시된 바와 그 순서를 달리하여 수행될 수 있음은 물론이다. 또한, 도 1과 중복되는 바에 대해서는 자세한 설명이 생략될 수 있다.
우선 데이터 분할부(120)는, 입력부(110)를 통해 입력된 학습용 데이터를 복수의 단위 데이터로 분할할 수 있다(S110). 이하에서는 학습용 데이터 및 인식 대상 데이터를 특정 객체를 촬영한 영상 데이터로 가정하도록 하겠지만, 본 발명의 적용 범위가 반드시 이에 한정되는 것은 아니다.
다음으로, 전처리부(130)는 상기 각 단위 데이터에 대한 분류 및 변환 데이터로의 변환을 수행할 수 있다(S120). 예컨대, 영상 데이터인 학습용 데이터에서 각 픽셀의 픽셀 값은 0 이상 255 이하의 정수로 총 256가지가 나올 수 있음은 앞서 말한 바와 같다. 이 때, 전처리부(130)는 양자화(quantization) 기법을 이용하여, 상기 픽셀 값이 가질 수 있는 수치의 범위를 복수의 구간으로 분할하고, 각 단위 데이터에 대응되는 픽셀의 픽셀 값이 상기 복수의 구간 중 어느 구간에 속하는지에 따라 상기 각 단위 데이터를 분류할 수 있다.
예컨대, 전처리부(130)는 상기 픽셀 값의 범위를 동일한 크기를 갖는 8개의 구간으로 분할할 수 있다. 그러면 하나의 구간에는 32종류의 픽셀 값이 속하게 된다. 이에 따라, 전처리부(130)는 상기 256종류의 픽셀 값에 의한 단위 데이터를, 8종류의 값을 갖는 변환 데이터로 변환할 수 있으며, 이에 따라 0 이상 255 이하의 정수로 표현되는 단위 데이터는 0 이상 7 이하의 정수로 표현되는 변환 데이터 중 어느 하나로 변환될 수 있을 것이다.
혹은, 전처리부(130)는 학습용 데이터의 각 픽셀에 대해, 서로 다른 색상에 관한 두 종류 이상의 픽셀 값을 평균한 값을 산출한 결과에 기초하여 상기 분류를 수행할 수도 있을 것이다. 예컨대, 각 픽셀이 위에서도 언급한 대로 R, G, B의 3개의 색상에 각각 대응되는 3종류의 픽셀 값을 가질 경우, 전처리부(130)는 이들 3종류의 각 픽셀 값을 모두 포함하는 단위 데이터를, 상기 3종류의 픽셀 값의 평균값 하나만을 포함하는 변환 데이터로 변환할 수 있다. 이는 컬러 영상을 그레이 스케일(gray scale)로 변환하여 취급하는 것과 유사하다 할 수 있다.
경우에 따라, 전처리부(130)는 상기 평균값으로서 단순한 산술 평균 대신 픽셀 값의 각 종류별로 정해지는 가중치에 따라 가중평균(weighted mean)된 값을 이용할 수도 있다. 이에 따르면, 다른 종류의 픽셀 값에 비해 보다 인식 결과에 영향을 미친다고 판단되는 픽셀 값에 높은 가중치를 부여하여, 신경망 모델의 성능을 높이는 것이 가능하다.
전처리부(130)는 지금까지 설명한 분류 및 변환의 기준 중 하나만을 사용할 수도 있고, 두 개 이상의 기준을 혼합하여 사용할 수도 있다. 한편, 지금까지 설명한 분류 및 변환의 기준은 단지 예시적인 것일 뿐이며, 다른 기준이 적용될 수도 있음은 물론이다. 아울러, 상기 분류 및 변환의 기준은 사용자에 의해 직접 설정될 수도 있지만, 신경망 모델 생성 과정에서 최적화될 수도 있다. 이 경우, 전처리부(130)는 모델 생성부(140)와 상호 작용을 수행하며 동작하게 될 것이다. 상기 최적화에 의해, 신경망 모델에 의해 처리될 데이터의 양을 줄이면서도, 모델의 성능 감소는 최소화할 수 있는 기준을 설정할 수 있다.
다음으로 모델 생성부(140)가 상기 각 변환 데이터를 이용하여, 신경망 모델을 생성할 수 있다(S130). 즉, 신경망 모델은 모델 생성부(140)가 학습용 데이터를 학습한 결과에 기초하여 생성된다. 아울러, 사전 생성부(150)는 상기 분류 및 변환의 기준을 저장하는 사전을 생성함으로써(S140), 신경망 모델 활용 단계에서 상기 사전을 참조하여 인식 대상 데이터가 분류 및 변환되도록 할 수 있다.
보다 구체적으로, 학습용 데이터로부터 생성된 각 변환 데이터는 대응되는 픽셀이 학습용 데이터에서 차지하는 위치에 기초하여, 하나의 데이터 행렬(matrix)를 구성할 수 있다. 모델 생성부(140)는 상기 데이터 행렬에 대해 소정의 차원(예컨대, 2x2 혹은 3x3)을 갖는 행렬인 특징 추출 필터를 적용하여 합성곱 연산을 수행한 결과와, 상기 학습용 데이터에 포함된 객체의 종류와 같은 정보 간의 관계에 기초하여, 인식 대상 데이터의 인식을 위한 신경망 모델을 생성할 수 있다.
또한, 신경망 모델을 생성하는 과정에서, 상기 특징 추출 필터 역시 학습에 의해 적응적으로 변화함으로써 최적화될 수 있다. 특징 추출 필터의 최적화 과정 및 특징 추출 필터에 의한 합성곱 연산의 결과를 활용하는 과정의 구체적인 사항에 대해서는 통상의 기술자에게 용이한 것이므로 여기에서는 자세한 설명을 생략한다.
이하에서는 도 3a 내지 4를 참조하여, 전처리 과정 및 합성곱 연산의 결과 저장에 대해 상세히 설명하도록 한다. 도 3a 및 3b는 본 발명의 일 실시예에 의한 연산 가속화가 적용된 신경망 모델의 생성 방법의 전처리 과정에 대해 설명하기 위한 도면이다. 학습용 데이터 혹은 인식 대상 데이터로서 사용될 수 있는 영상 데이터(210)가 입력부(110)를 통해 입력되면, 데이터 분할부(120)는 픽셀 단위로 상기 영상 데이터(210)를 분할할 수 있음은 앞서 말한 바와 같다.
여기서, 전처리부(130)는 R, G, B 3개의 채널을 이용해 표현된 영상 데이터(210)각 픽셀의 픽셀 값을 평균함으로써, 도 3a와 같이 각 픽셀의 픽셀 값이 하나의 채널로 표현된 변환 영상 데이터(220)를 생성할 수 있다. 즉, 변환 영상 데이터(220)의 한 픽셀의 픽셀 값은 하나의 변환 데이터가 된다고 볼 수 있다.
또한 도 3b를 참조하면, 변환 영상 데이터(220)의 각 픽셀에서의 위치에 기초하여, 각 픽셀에 대응되는 변환 데이터(231)를 원소로 갖는 데이터 행렬(230)이 전처리부(130)에 의해 도출될 수 있음을 볼 수 있다. 본래의 영상 데이터(220)에는 하나의 픽셀당 R, G, B의 3종류의 값이 있었으나, 데이터 행렬(230)에서는 하나의 픽셀에 대응되는 변환 데이터(231)가 0 이상 255 이하의 값을 갖는 하나의 수치로서 표현될 수 있다.
도 4는 합성곱 신경망에서의 합성곱 연산에 대해 설명하기 위한 도면이다. 모델 생성부(140)는 신경망 모델 생성 과정에서, 데이터 행렬(230)에 소정 차원(도 4의 예에서는 3x3)의 행렬 형태의 특징 추출 필터(250)를 적용하여 영상 데이터(210)의 특징을 추출할 수 있다. 특징 추출 필터(250)는 데이터 행렬(230)과 마찬가지로 소정 범위 내의 수치를 원소로 갖는 행렬일 수 있다. 또한, 상기 특징 추출 필터(250)는 바람직하게는 정사각 행렬(square matrix)일 수 있다.
보다 구체적으로, 신경망 모델 생성 과정에서 데이터 행렬(230)의 일부로서 특징 추출 필터(250)와 같은 차원을 갖는 부분 행렬(240, 진한 테두리 안의 부분)과 특징 추출 필터(250) 간의 합성곱 연산이 수행될 수 있다. 이와 같은 부분 행렬(240)에 대한 합성곱 연산에 의하면, 부분 행렬(240)의 원소와, 특징 추출 필터(250) 중 상기 부분 행렬(240)의 원소에 대응되는 위치의 원소를 곱하게 된다. 이와 같은 곱셈은 부분 행렬(240) 혹은 특징 추출 필터(250)의 원소의 개수만큼 수행될 수 있다. 그리고 나서, 상기 곱셈의 결과를 모두 더하게 된다.
이와 같은 합성곱 연산은, 데이터 행렬(230)로부터 도출될 수 있는 각 부분 행렬(240)에 대해 반복하여 수행될 수 있다. 즉, 특징 추출 필터(250)는 데이터 행렬(230)의 모든(혹은 일부) 영역을 스캔함으로써, 상기 합성곱 연산이 수행되도록 할 수 있다. 또한, 이와 같은 특징 추출 필터(250)는 복수 개 존재할 수 있으며, 각 특징 추출 필터(250) 간에는 차원이 다를 수 있다.
상기 합성곱 연산은 데이터 행렬(230)로부터 도출될 수 있는 각 부분 행렬(240)과 특징 추출 필터(250)의 각 원소 간의 곱셈 및 이들 곱셈의 결과에 대한 덧셈을 포함하므로, 그 연산의 양이 매우 많아 비효율적이다. 이와 같은 비효율의 방지를 위해, 본 발명의 일 실시예에서의 테이블 생성부(160)는, 합성곱 모델 생성 과정에서 부분 행렬(240)과 특징 추출 필터(250)간에 수행된 합성곱 연산의 결과가 상기 부분 행렬(240)과 매칭되어 저장된 연산 테이블을 생성할 수 있다(S150). 이 경우, 신경망 모델을 이용하여 인식 대상 데이터를 인식할 때에 수행될 합성곱 연산에 대해서는, 직접 합성곱 연산을 수행하는 대신, 상기 연산 테이블로부터 기 수행된 합성곱 연산의 결과만을 획득함으로써, 연산의 부담을 대폭 줄일 수 있다.
한편, 상기 연산 테이블에는 어떤 하나의 부분 행렬(240)과 특징 추출 필터(250) 간의 합성곱 연산 결과가 전체로서 저장될 수도 있지만, 특징 추출 필터(250)의 특정 행(혹은 특정 열)과, 상기 특정 행(혹은 특정 열)에 대응되는 부분 행렬의 행(혹은 열) 간의 합성곱 연산 결과가 저장될 수도 있다. 예컨대, 도 4에서 특징 추출 필터(250)의 첫 번째 행인 (239, 94, 241)과 부분 행렬(240)의 첫 번째 행인 (6, 6, 6)의 합성곱 연산(실질적으로는 두 행 벡터의 내적) 결과가 저장될 수 있으며, 마찬가지로 특징 추출 필터(250)과 부분 행렬(240)의 두 번째 행끼리의 합성곱 연산 결과와 세 번째 행끼리의 합성곱 연산 결과도 각각 따로 저장될 수 있다.
이와 같이 특징 추출 필터(250)를 행 혹은 열 단위로 분해(decomposition)함으로써, 연산 결과를 보다 세분화하여 저장할 수 있다. 특징 추출 필터(250)를 어느 정도의 크기로 분해하는가에 따라 연산 테이블에 포함된 데이터의 양이 달라질 수 있기 때문에, 특징 추출 필터(250)의 분해 기준 역시 신경망 모델 생성 과정에서 적절히 최적화될 수 있다.
도 5는 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 활용 방법의 각 단계를 도시한 도면이다. 도 5의 방법은 도 1을 참조하여 설명한 서버 장치(100)에 의해 수행될 수 있다. 단, 도 5에 도시된 방법은 본 발명의 일 실시예에 불과하므로 도 5에 의해 본 발명의 사상이 한정 해석되는 것은 아니며, 도 5에 도시된 방법의 각 단계는 경우에 따라 도면에 제시된 바와 그 순서를 달리하여 수행될 수 있음은 물론이다. 또한, 도 1 내지 4와 중복되는 바에 대해서는 자세한 설명이 생략될 수 있다.
우선 데이터 분할부(120)는 입력부(110)에 의해 획득된 인식 대상 데이터를 대상 단위 데이터로 분할할 수 있다(S210). 그리고, 데이터 변환부(180)는 사전을 참고하여 각 대상 단위 데이터에 대한 분류 및 변환 데이터로의 변환을 수행할 수 있다(S220). 구체적으로, 데이터 변환부(180)는 각 대상 단위 데이터를 복수의 그룹 중 하나의 그룹에 속하도록 분류하고, 상기 복수의 그룹 중 같은 그룹에 속하는 대상 단위 데이터를 동일한 값을 갖는 변환 데이터로 변환할 수 있다. 이와 같은 분류 및 변환에는 데이터베이스(170)에 저장된 사전이 이용될 수 있으며, 이로써 인식 대상 데이터에도 학습용 데이터와 같은 기준의 전처리가 수행될 수 있다.
다음으로, 대상 인식부(190)는 상기 대상 단위 데이터에 대한 합성곱 연산의 결과를 도출하여(S230), 인식 대상 데이터에 대한 인식 결과를 생성할 수 있다(S240). 요컨대, 대상 인식부(190)는 신경망 모델을 이용하여 인식 대상 데이터의 인식을 수행할 수 있는 것이다. 보다 구체적으로, 대상 인식부(190)는 상기 신경망 모델에 상기 각 대상 단위 데이터가 변환되어 생성된 각 변환 데이터로 구성된 대상 데이터 행렬을 입력할 경우의 출력에 기초하여 상기 인식을 수행할 수 있다.
다만, 전술한 바와 같이 대상 인식부(190)는 합성곱 연산을 일일이 수행하는 대신, 대상 데이터 행렬의 일부인 대상 부분 행렬과 동일한 원소를 갖는 행렬과 특징 추출 필터(250) 간에 기 수행된 합성곱 연산의 결과가 기 저장된 연산 테이블로부터 상기 대상 부분 행렬과 특징 추출 필터(250) 간의 합성곱 연산의 결과만을 추출하여 사용할 수 있다. 즉, 대상 부분 행렬의 각 원소와 특징 추출 필터(250)의 각 원소끼리의 곱셈 및 곱셈 결과에 대한 덧셈을 일일이 수행하지 않고도 합성곱 연산의 결과를 연산 테이블을 통해 쉽게 얻음으로써, 획기적인 연산 가속화가 달성될 수 있다.
아울러, 상기 신경망 모델을 이용한 인식 과정에서는, 합성곱 연산의 결과 도출 이후에도 맥스 풀링(max pooling), 신경망을 통한 분류(classification) 등의 세부 과정이 수행될 수 있으며, 이에 대해서는 통상의 기술자에게 용이한 것이므로 자세한 설명은 생략한다.
도 6은 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 활용 방법의 효과를 설명하기 위한 도면이다. 인식 대상 데이터로부터 생성된 대상 데이터 행렬(260)의 행의 개수를 Hseq, 열의 개수를 Wseq라 하도록 한다. 그리고 특징 추출 필터(250)는 크기(즉, 정사각 행렬에서의 행 혹은 열의 개수)별로 다양하게 마련될 수 있는데, 같은 크기(fn)를 갖는 특징 추출 필터(250)의 개수는 Nfilter라 하고, 이러한 특징 추출 필터(250)를 1 x fn 크기를 갖는 fn개의 필터로 분리하였다고 가정하도록 한다. 이 때, 본 발명의 일 실시예에 의해 줄어들게 되는 덧셈 연산의 횟수는 아래 수학식 1과 같다.
Figure 112020026478463-pat00001
또한, 본 발명의 일 실시예에 의해 줄어들게 되는 곱셈 연산의 횟수는 아래 수학식 2와 같다.
Figure 112020026478463-pat00002
상기 수학식 1 및 2를 통해, 본 발명의 일 실시예에 의하면 비약적인 연산량 감소의 효과를 달성할 수 있다는 결론을 얻을 수 있다.
지금까지 설명한 바와 같은 본 발명의 일 실시예에 따르면, 합성곱 신경망이 적용된 특징 모델을 이용하여 인식 대상 데이터를 인식하는 과정에서의 연산의 중복 수행이 방지될 수 있으며, 이에 따라 연산량이 획기적으로 줄어들어 상기 신경망 모델을 이용하는 시스템의 효율이 증대될 수 있다. 특히 본 발명의 일 실시예에서는, 영상 데이터와 같이 입력 데이터의 양 및 가짓수가 매우 많은 경우에 있어서도, 전술한 전처리 과정을 통해 입력 데이터의 양 및 가짓수를 합리적인 수준으로 줄임으로써, 인식 과정에서의 효율성 증대 및 저장 공간의 절약 등의 효과를 달성할 수 있다.
본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방법으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명의 일 실시예에 따르면, 합성곱 신경망이 적용된 특징 모델을 이용하여 인식 대상 데이터를 인식하는 과정에서의 연산의 중복 수행이 방지될 수 있으며, 이에 따라 연산량이 획기적으로 줄어들 수 있다. 또한, 상기 연산 테이블과 같은 시스템에 저장되어야 하는 정보의 양이 감소될 수 있으며, 신경망 모델의 생성 및 활용에 있어서의 효율이 크게 향상될 수 있다.
100: 서버 장치
110: 입력부
120: 데이터 분할부
130: 전처리부
140: 모델 생성부
150: 사전 생성부
160: 테이블 생성부
170: 데이터베이스
180: 데이터 변환부
190: 대상 인식부

Claims (14)

  1. 학습용 데이터가 분할된 복수의 단위 데이터를, 소정의 분류 기준에 따라, 복수의 그룹 중 어느 하나의 그룹으로 분류하는 단계;
    상기 복수의 단위 데이터 중에서 같은 그룹에 속하는 단위 데이터를 동일한 값을 갖는 변환 데이터로 변환하는 단계;
    상기 변환 데이터로 구성된 데이터 행렬에, 서로 다른 크기를 갖는 복수 개의 특징 추출 필터를 적용하여 합성곱 연산을 수행하는 단계; 및
    상기 데이터 행렬의 일부인 부분 행렬과 상기 복수 개의 특징 추출 필터 중에서 어느 하나의 특징 추출 필터의 상기 합성곱 연산의 결과를 상기 부분 행렬 및 상기 어느 하나의 특징 추출 필터와 매칭하여, 인식 대상 데이터의 인식에 이용되는 연산 테이블을 생성하는 단계를 포함하는
    연산 테이블을 생성하는 방법.
  2. 제 1 항에 있어서,
    상기 학습용 데이터는 영상(image) 데이터이며,
    상기 단위 데이터는 픽셀(pixel) 단위로 상기 학습용 데이터로부터 분할된
    연산 테이블을 생성하는 방법.
  3. 제 2 항에 있어서,
    상기 분류하는 단계는,
    상기 학습용 데이터에 포함된 복수의 픽셀들의 픽셀 값의 범위를 복수의 구간들로 분할하는 단계; 및
    상기 복수의 픽셀들 각각의 픽셀 값이 상기 복수의 구간들 중 어느 구간에 속하는지에 기초하여 상기 각 단위 데이터를 분류하는 단계를 포함하는
    연산 테이블을 생성하는 방법.
  4. 제 2 항에 있어서,
    상기 분류하는 단계는,
    상기 학습용 데이터에 포함된 각 픽셀을 표현하는 둘 이상의 색상의 픽셀 값의 평균 값에 기초하여 상기 복수의 단위 데이터를 분류하는
    연산 테이블을 생성하는 방법.
  5. 제 4 항에 있어서,
    상기 평균 값은 상기 픽셀 값의 종류에 따라 결정되는 가중치를 이용하여 가중평균(weighted mean)된 값인
    연산 테이블을 생성하는 방법.
  6. 제 1 항에 있어서,
    상기 부분 행렬은 상기 어느 하나의 특징 추출 필터와 같은 크기로 구성되고,
    상기 합성곱 연산 중 상기 부분 행렬에 대한 연산은, 상기 부분 행렬의 각 원소와, 상기 어느 하나의 특징 추출 필터 중에서 상기 부분 행렬의 각 원소에 대응되는 위치의 원소를 곱한 결과를 모두 더하여 산출되는
    연산 테이블을 생성하는 방법.
  7. 제 1 항에 있어서,
    상기 복수의 단위 데이터의 변환 기준이 저장된 사전을 생성하는 단계를 더 포함하고,
    상기 변환 기준은 상기 복수의 그룹 중 상이한 그룹에 속한 단위 데이터는 상이한 변환 데이터로 변환되도록 정의되는
    연산 테이블을 생성하는 방법.
  8. 인식 대상 데이터가 분할된 복수의 단위 데이터를, 소정의 분류 기준에 따라 복수의 그룹 중 어느 하나의 그룹으로 분류하는 단계;
    상기 복수의 단위 데이터 중에서 같은 그룹에 속하는 단위 데이터를 동일한 값을 갖는 변환 데이터로 변환하는 단계;
    상기 변환 데이터로 구성된 데이터 행렬의 부분 행렬이 기 저장된 연산 테이블에 포함된 부분 행렬과 일치하고, 합성곱 연산을 수행하기 위한 특징 추출 필터가 상기 연산 테이블에 포함된 적어도 둘 이상이 서로 다른 크기를 갖는 복수 개의 특징 추출 필터 중에서 어느 하나의 특징 추출 필터와 일치하는지 여부를 판단하는 단계; 및
    상기 판단의 결과에 기초하여 상기 합성곱 연산을 수행하는 단계를 포함하고,
    상기 합성곱 연산을 수행하는 단계는,
    부분 행렬 및 특징 추출 필터가 일치하는 경우, 상기 연산 테이블에 매칭된 합성곱 연산의 결과를 획득하고,
    부분 행렬 및 특징 추출 필터 중에서 적어도 하나가 일치하지 않는 경우, 상기 합성곱 연산을 수행하는
    합성곱 연산을 수행하는 방법.
  9. 제 8 항에 있어서,
    상기 데이터 행렬의 부분 행렬은 상기 합성곱 연산을 수행하기 위한 특징 추출 필터와 같은 크기로 구성되고,
    상기 데이터 행렬의 부분 행렬과 상기 합성곱 연산을 수행하기 위한 특징 추출 필터 간의 합성곱 연산은, 상기 데이터 행렬의 부분 행렬의 각 원소와, 상기 합성곱 연산을 수행하기 위한 특징 추출 필터 중에서 상기 데이터 행렬의 부분 행렬의 각 원소에 대응되는 위치의 원소를 곱한 결과를 모두 더하여 산출되는
    합성곱 연산을 수행하는 방법.
  10. 제 8 항에 있어서,
    상기 변환하는 단계는,
    상기 복수의 단위 데이터를 변환 데이터로 변환하는 변환 기준이 기 저장된 사전을 이용하여 상기 복수의 단위 데이터에 대한 변환을 수행하는
    합성곱 연산을 수행하는 방법.
  11. 학습용 데이터가 분할된 복수의 단위 데이터를, 소정의 분류 기준에 따라, 복수의 그룹 중 어느 하나의 그룹으로 분류하고, 상기 복수의 단위 데이터 중에서 같은 그룹에 속하는 단위 데이터를 동일한 값을 갖는 변환 데이터로 변환하는 전처리부;
    상기 변환 데이터로 구성된 데이터 행렬에, 적어도 둘 이상이 서로 다른 크기를 갖는 복수 개의 특징 추출 필터를 적용하여 합성곱 연산을 수행하는 모델 생성부; 및
    상기 데이터 행렬의 일부인 부분 행렬과 상기 복수 개의 특징 추출 필터 중에서 어느 하나의 특징 추출 필터의 상기 합성곱 연산의 결과를 상기 부분 행렬 및 상기 어느 하나의 특징 추출 필터와 매칭하여, 인식 대상 데이터의 인식에 이용되는 연산 테이블을 생성하는 테이블 생성부를 포함하는
    연산 테이블을 생성하는 장치.
  12. 인식 대상 데이터가 분할된 복수의 단위 데이터를, 소정의 분류 기준에 따라 복수의 그룹 중 어느 하나의 그룹으로 분류하고, 상기 복수의 단위 데이터 중에서 같은 그룹에 속하는 단위 데이터를 동일한 값을 갖는 변환 데이터로 변환하는 데이터 변환부; 및
    상기 변환 데이터로 구성된 데이터 행렬의 부분 행렬이 기 저장된 연산 테이블에 포함된 부분 행렬과 일치하고, 합성곱 연산을 수행하기 위한 특징 추출 필터가 상기 연산 테이블에 포함된 적어도 둘 이상이 서로 다른 크기를 갖는 복수 개의 특징 추출 필터 중에서 어느 하나의 특징 추출 필터와 일치하는지 여부를 판단하고, 상기 판단의 결과에 기초하여 상기 합성곱 연산을 수행하는 대상 인식부를 포함하고,
    상기 대상 인식부는,
    부분 행렬 및 특징 추출 필터가 일치하는 경우, 상기 연산 테이블에 매칭된 합성곱 연산의 결과를 획득하고,
    부분 행렬 및 특징 추출 필터 중에서 적어도 하나가 일치하지 않는 경우, 상기 합성곱 연산을 수행하는
    합성곱 연산을 수행하는 장치.
  13. 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,
    상기 컴퓨터 프로그램은,
    제 1 항 내지 제 10 항 중 어느 한 항에 따른 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는, 컴퓨터 판독 가능한 기록매체.
  14. 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은,
    제 1 항 내지 제 10 항 중 어느 한 항에 따른 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는, 컴퓨터 프로그램.
KR1020200031002A 2020-03-12 2020-03-12 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법 KR102227437B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200031002A KR102227437B1 (ko) 2020-03-12 2020-03-12 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200031002A KR102227437B1 (ko) 2020-03-12 2020-03-12 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170152180A Division KR102095335B1 (ko) 2017-11-15 2017-11-15 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20200030524A KR20200030524A (ko) 2020-03-20
KR102227437B1 true KR102227437B1 (ko) 2021-03-12

Family

ID=69958400

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200031002A KR102227437B1 (ko) 2020-03-12 2020-03-12 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102227437B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102494833B1 (ko) * 2021-10-12 2023-02-06 연세대학교 산학협력단 생체 데이터 기반 초입방 형상을 활용한 임상적 의사결정 인공지능 개발을 위한 전처리 및 합성곱 연산 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151025A (en) * 1997-05-07 2000-11-21 Hewlett-Packard Company Method and apparatus for complexity reduction on two-dimensional convolutions for image processing
KR101719278B1 (ko) 2015-04-14 2017-04-04 (주)한국플랫폼서비스기술 비주얼 콘텐츠기반 영상 인식을 위한 딥러닝 프레임워크 및 영상 인식 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Manu Mathew 외 3명. Sparse, Quantized, Full Frame CNN for Low Power Embedded Devices. 2017년 7월 1부.*
Mohammad Samragh Razlighi 외 3명. LookNN: Neural Network with No Multiplication. 2017년 3월*
Wikipedia: Color quantization. 2017.09.26.*

Also Published As

Publication number Publication date
KR20200030524A (ko) 2020-03-20

Similar Documents

Publication Publication Date Title
KR102095335B1 (ko) 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법
Li et al. Highly efficient forward and backward propagation of convolutional neural networks for pixelwise classification
TWI806134B (zh) 用於分層權重稀疏卷積處理之方法和系統及其相關的非暫時性電腦可讀儲存媒體
CN107871306B (zh) 一种图片去噪的方法和装置
JP2021509747A (ja) ハードウェアベースのプーリングのシステムおよび方法
CN113076957A (zh) 一种基于跨模态特征融合的rgb-d图像显著性目标检测方法
CN110298446A (zh) 面向嵌入式系统的深度神经网络压缩和加速方法及系统
KR102227437B1 (ko) 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법
JP2015036939A (ja) 特徴抽出プログラム及び情報処理装置
CN115984701A (zh) 一种基于编解码结构的多模态遥感图像语义分割方法
CN110110849B (zh) 基于图分割的行固定数据流映射方法
CN106682258B (zh) 一种高层次综合工具中的多操作数加法优化方法及系统
CN115131710A (zh) 基于多尺度特征融合注意力的实时动作检测方法
JP7163515B2 (ja) ニューラルネットワークのトレーニング方法、ビデオ認識方法及び装置
EP4121846A1 (en) Processing in memory methods for convolutional operations
Kharinov et al. Object detection in color image
CN114846382A (zh) 具有卷积神经网络实现的显微镜和方法
CN112434731A (zh) 图像识别方法、装置及可读存储介质
CN112612762B (zh) 数据处理方法及相关设备
Happ et al. Towards distributed region growing image segmentation based on MapReduce
JP2023541466A (ja) 階層的パレットテーブル生成を利用したパレットモードビデオ符号化
KR20220068357A (ko) 딥러닝 객체 검출 처리 장치
CN110648287A (zh) 盒式滤波器并行高效计算方法
KR102592348B1 (ko) 이미지 스타일 전이 방법 및 장치
KR102599753B1 (ko) 이중경로 블록으로 구성된 뉴럴 네트워크를 활용한yuv 이미지 처리 방법 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant