KR102055359B1 - 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법 - Google Patents
연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법 Download PDFInfo
- Publication number
- KR102055359B1 KR102055359B1 KR1020170138598A KR20170138598A KR102055359B1 KR 102055359 B1 KR102055359 B1 KR 102055359B1 KR 1020170138598 A KR1020170138598 A KR 1020170138598A KR 20170138598 A KR20170138598 A KR 20170138598A KR 102055359 B1 KR102055359 B1 KR 102055359B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- unit
- neural network
- network model
- vector
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, 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)
- Machine Translation (AREA)
Abstract
본 발명의 일 실시예에 따른, 연산 가속화가 적용된 신경망 모델을 생성하기 위한 서버 장치는, 복수의 학습용 데이터 각각을, 소정의 분할 기준에 따라 복수의 단위 데이터로 분할하는 데이터 분할부, 상기 각 단위 데이터가 변환되어 생성된, 소정 개수의 숫자를 원소로 갖는 복수의 입력 벡터에 대해, 상기 소정 개수 이상의 개수의 숫자를 원소로 갖는 벡터인 특징 추출 필터를 적용하여 합성곱(convolution) 연산을 수행한 결과 및 상기 각 학습용 데이터에 포함된 정보 간의 관계에 기초하여, 상기 각 학습용 데이터와는 다른 인식 대상 데이터에 포함된 정보의 인식을 위한 신경망 모델을 생성하는 모델 생성부 및 상기 각 입력 벡터와, 상기 합성곱 연산의 결과 중 해당 입력 벡터에 대해 수행된 부분이 매칭되어 저장된 연산 테이블을 생성하는 테이블 생성부를 포함할 수 있다.
Description
본 발명은 합성곱 신경망(convolution neural network, CNN) 모델을 이용하여 인식 대상 데이터를 인식하는 데 있어서, 연산량을 줄임으로써 인식의 속도를 향상시키기 위한 장치 및 방법에 관한 것이다.
영상 데이터 혹은 텍스트 데이터 등의 인식 대상 데이터를 자동으로 분석하여, 상기 인식 대상 데이터를 유형별로 분류하거나 상기 인식 대상 데이터에 포함된 정보를 추출해 내는 기술이 최근 각광받고 있다. 예컨대, 문자 메시지 중 사용자가 수신을 원치 않는 스팸 메시지를 차단함에 있어서도, 수천만 명에 달하는 이동통신 가입자들 사이에서 전송되는 방대한 양의 문자 메시지를 수동으로 일일이 검사하는 것은 현실적으로 불가능하므로, 자동으로 스팸 메시지를 정확하면서도 신속하게 식별해 내기 위한 기술은 그 개발의 필요성이 크다 할 수 있다.
특히 최근에는 딥 러닝(deep learning)과 같은 기계 학습(machine learning) 기법이 데이터 인식 기술에 적용되고 있다. 이와 같은 딥 러닝 기법 중 널리 알려진 합성곱 신경망 기법은 영상 데이터 인식에 특화된 것으로 종래에 알려져 있었으나, 최근에는 텍스트 데이터 인식에 있어서도 그 성능을 인정받고 있다.
합성곱 신경망 기법을 이용하여 인식 대상 데이터에 포함된 정보를 인식하는 과정에서는, 곱셈과 덧셈의 조합으로 이루어지는 합성곱(convolution) 연산이 다수 회 수행된다. 이와 같이 거듭되어 수행되는 방대한 연산량의 합성곱 연산은 합성곱 신경망 기법을 통한 데이터 인식에 걸림돌로 작용할 수 있다. 특히, 위에서 언급한 문자 메시지의 전송에 있어서는 전송 과정에서의 지연 시간을 줄이는 것이 매우 중요한데, 스팸 메시지 차단에 상기 합성곱 신경망 기법을 적용할 경우, 합성곱 연산에 소요되는 시간은 큰 문제가 될 수 있다.
본 발명이 해결하고자 하는 과제는, 합성곱 신경망 모델을 이용한 인식 대상 데이터의 인식 작업의 속도를 향상시키기 위한 장치 및 방법을 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른, 연산 가속화가 적용된 신경망 모델을 생성하기 위한 서버 장치는, 복수의 학습용 데이터 각각을, 소정의 분할 기준에 따라 복수의 단위 데이터로 분할하는 데이터 분할부, 상기 각 단위 데이터가 변환되어 생성된, 소정 개수의 숫자를 원소로 갖는 복수의 입력 벡터에 대해, 상기 소정 개수 이상의 개수의 숫자를 원소로 갖는 벡터인 특징 추출 필터를 적용하여 합성곱(convolution) 연산을 수행한 결과 및 상기 각 학습용 데이터에 포함된 정보 간의 관계에 기초하여, 상기 각 학습용 데이터와는 다른 인식 대상 데이터에 포함된 정보의 인식을 위한 신경망 모델을 생성하는 모델 생성부 및 상기 각 입력 벡터와 상기 합성곱 연산의 결과 중, 해당 입력 벡터에 대해 수행된 부분이 매칭되어 저장된 연산 테이블을 생성하는 테이블 생성부를 포함할 수 있다.
본 발명의 일 실시예에 따른, 연산 가속화가 적용된 신경망 모델을 이용하는 서버 장치는, 인식 대상 데이터를, 소정의 분할 기준에 따라 복수의 단위 데이터로 분할하는 데이터 분할부, 상기 각 단위 데이터를, 소정의 변환 기준에 따라 소정 개수의 숫자를 원소로 갖는 입력 벡터로 각각 변환하는 데이터 변환부 및 상기 각 입력 벡터에 대해 상기 소정 개수 이상의 개수의 숫자를 원소로 갖는 벡터인 특징 추출 필터를 적용하여 기 수행된 합성곱(convolution) 연산의 결과가 기 저장된 연산 테이블을 이용하여, 상기 인식 대상 데이터의 특징을 추출함으로써 상기 인식 대상 데이터에 포함된 정보를 인식하는 대상 인식부를 포함할 수 있다.
본 발명의 일 실시예에 따른, 연산 가속화가 적용된 신경망 모델을 생성하기 위한 방법은, 복수의 학습용 데이터 각각을, 소정의 분할 기준에 따라 복수의 단위 데이터로 분할하는 단계, 상기 각 단위 데이터가 변환되어 생성된, 소정 개수의 숫자를 원소로 갖는 복수의 입력 벡터에 대해, 상기 소정 개수 이상의 개수의 숫자를 원소로 갖는 벡터인 특징 추출 필터를 적용하여 합성곱(convolution) 연산을 수행한 결과 및 상기 각 학습용 데이터에 포함된 정보 간의 관계에 기초하여, 상기 각 학습용 데이터와는 다른 인식 대상 데이터에 포함된 정보의 인식을 위한 신경망 모델을 생성하는 단계 및 상기 각 입력 벡터와, 상기 합성곱 연산의 결과 중 해당 입력 벡터에 대해 수행된 부분이 매칭되어 저장된 연산 테이블을 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른, 연산 가속화가 적용된 신경망 모델을 이용한 데이터 인식 방법은, 인식 대상 데이터를, 소정의 분할 기준에 따라 복수의 단위 데이터로 분할하는 단계, 상기 각 단위 데이터를, 소정의 변환 기준에 따라 소정 개수의 숫자를 원소로 갖는 입력 벡터로 각각 변환하는 단계 및 상기 각 입력 벡터에 대해 상기 소정 개수 이상의 개수의 숫자를 원소로 갖는 벡터인 특징 추출 필터를 적용할 때 기 수행된 합성곱(convolution) 연산의 결과가 기 저장된 연산 테이블을 이용하여, 상기 인식 대상 데이터의 특징을 추출함으로써 상기 인식 대상 데이터에 포함된 정보를 인식하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 합성곱 신경망 모델 생성 과정에서 입력 가능한 모든 데이터와 합성곱 신경망 간의 연산을 미리 수행하여 연산 테이블에 저장해 놓고, 인식 대상 데이터를 인식하는데 이를 이용할 수 있다. 이로써 인식 과정에서의 연산의 중복 수행이 방지될 수 있으며, 결과적으로 실시간 처리가 불가능할 정도의 연산량이 획기적으로 줄어들어 신경망 모델을 이용하는 시스템의 효율이 증대될 수 있다. 특히 본 발명의 일 실시예에 의하면, 영상 데이터 등에 비해 상대적으로 포함할 수 있는 정보의 가짓수가 적은 텍스트 데이터에 대한 스팸 필터링, 의미 인식 등의 작업의 효율이 크게 향상될 수 있다.
도 1은 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 서버 장치의 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 생성 방법의 각 단계를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 의한 단위 데이터를 입력 벡터로 변환하는 과정에 대해 설명하기 위한 도면이다.
도 4는 합성곱 신경망에서의 합성곱 연산에 대해 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 활용 방법의 각 단계를 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 합성곱 연산의 가속화 기법에 대해 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 활용 방법의 효과를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 생성 방법의 각 단계를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 의한 단위 데이터를 입력 벡터로 변환하는 과정에 대해 설명하기 위한 도면이다.
도 4는 합성곱 신경망에서의 합성곱 연산에 대해 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 활용 방법의 각 단계를 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 합성곱 연산의 가속화 기법에 대해 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 활용 방법의 효과를 설명하기 위한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 서버 장치의 구성을 도시한 도면이다. 도 1의 서버 장치(100)는 입력부(110), 데이터 분할부(120), 모델 생성부(130), 테이블 생성부(140), 사전 생성부(150), 데이터베이스(160), 데이터 변환부(170) 및 대상 인식부(180)를 포함할 수 있다. 다만, 도 1의 서버 장치(100)의 구성 요소는 본 발명의 일 실시예에 불과하므로, 도 1에 의해 본 발명의 기술적 사상이 한정 해석되는 것은 아니다.
입력부(110)는 복수의 학습용 데이터를 입력받을 수 있다. 상기 학습용 데이터 각각은 복수의 부호로 구성된 것이라면 어느 것이든 될 수 있겠지만, 이하에서는 텍스트 데이터임을 가정하고 설명하도록 하며, 이에 따라 상기 복수의 학습용 데이터는 이동통신망을 통해 전송되는 복수 건의 문자 메시지 등이 될 수 있을 것이다. 입력부(110)는 키보드(keyboard), 마우스(mouse) 등의 입력 장치, 데이터의 수신을 위한 데이터 버스, 혹은 유/무선 통신 모듈 등을 포함하여 구현될 수 있다.
데이터 분할부(120)는 각 학습용 데이터를 소정의 분할 기준에 따라 복수의 단위 데이터로 분할할 수 있다. 예컨대, 텍스트 형태의 학습용 데이터가 가정될 경우, 상기 분할 기준은 공백(space)을 경계로 한 분할, 단어 혹은 형태소 단위의 분할, 문자 단위의 분할 등이 될 수 있으며, 텍스트가 한글일 경우 자모(字母) 단위의 분할도 가능하다.
또한, 데이터 분할부(120)는 신경망 모델의 성능 향상을 위해, 각 단위 데이터의 성격 혹은 의미를 명확히 하기 위한 부가적인 정보를 각 단위 데이터에 추가할 수 있다. 예컨대, 데이터 분할부(120)는 형태소 단위의 분할을 가정할 경우 각 단위 데이터에 해당 단위 데이터의 품사의 종류와 같은 부가적인 정보를 덧붙일 수도 있다. 데이터 분할부(120)는 마이크로프로세서(microprocessor)를 포함하는 연산 장치에 의해 구현될 수 있으며, 이는 후술할 모델 생성부(130), 테이블 생성부(140), 사전 생성부(150), 데이터 변환부(170) 및 대상 인식부(180)에 대해서도 같다.
사전 생성부(130)는 각 학습용 데이터로부터 분할된 단위 데이터 중, 의미가 있다고 판단되는 단위 데이터들의 목록인 사전을 저장할 수 있다. 여기서 의미가 있다고 판단되는 단위 데이터는, 신경망 모델을 이용한 대상 인식 결과에 일정 수준 이상의 영향을 끼칠 수 있는 단위 데이터로 생각할 수 있다.
사전 생성부(130)가 의미가 있다고 판단되는 단위 데이터를 선정하는 기준은 여러 가지가 있을 수 있지만, 한 예로서 학습용 데이터에서의 등장 빈도를 기준으로 삼을 수 있다. 예컨대 사전 생성부(150)는, 학습용 데이터가 문자 메시지 등의 텍스트 데이터이고, 분할 기준으로서 단어별 분할이 적용되어 있다면, 단위 데이터는 텍스트 데이터 내의 각 단어들이 될 것이다. 그러면 사전 생성부(150)는 등장 빈도가 일정 수준 이상인 단어들만 의미가 있는 단위 데이터라 판단하고, 이러한 단어들이 어떠한 입력 벡터로 변환되는지에 대한 정보를 사전에 저장할 수 있을 것이다.
모델 생성부(140)는 단위 데이터로 분할된 상기 각 학습용 데이터를,사전 생성부(130)에 의해 생성된 사전을 이용하여 학습함으로써, 학습용 데이터와는 또 다른 데이터로서 인식의 대상이 되는 인식 대상 데이터의 인식을 위한 신경망 모델을 생성할 수 있다. 이와 같은 신경망 모델은 인식 대상 데이터의 인식 과정에서 합성곱 연산을 활용하는 모델이라면 어떤 것이든 될 수 있다. 신경망 모델의 구체적인 생성 및 활용 방법에 대해서는 머신 러닝 분야의 통상의 기술자에게 용이한 것이므로 여기에서는 자세한 설명을 생략한다.
모델 생성부(140)의 자세한 동작과 상기 신경망 모델의 구체적인 사항에 대해서는 이하의 도 2 내지 7을 참조하여 후술하도록 한다. 한편, 상기 인식 대상 데이터 역시 학습용 데이터와 마찬가지로 입력부(110)를 통해 입력되어, 데이터 분할부(120)를 통해 학습용 데이터와 같은 분할 기준을 이용하여 각 단위 데이터로 분할될 수 있다.
테이블 생성부(150)는 모델 생성부(140)가 신경망 모델을 생성하는 과정에서 수행된 합성곱 연산의 결과를 저장하는 연산 테이블을 생성할 수 있다. 구체적으로, 상기 연산 테이블에는, 각 단위 데이터가 모델 생성부(140)에 의해 변환되어 생성된 각 입력 벡터와, 상기 합성곱 연산의 결과 중 해당 입력 벡터에 대해 수행된 부분이 매칭되어 저장될 수 있다. 입력 벡터는, 단위 데이터가 신경망 모델이 연산할 수 있는 형태로 변환된 것으로서, 예컨대 소정 개수 이상의 숫자(자연수, 정수 혹은 실수 등)를 원소로 갖는 벡터일 수 있다.
데이터베이스(160)는 생성된 신경망 모델과 사전을 저장할 수 있다. 물론 데이터베이스(160)가 저장할 수 있는 정보는 반드시 이에 한정되지 않고, 서버 장치(100)의 동작에 필요한 임시적 혹은 영구적 정보라면 어떤 것이든 될 수 있다. 데이터베이스(160)는 컴퓨터 판독 기록 매체로서 구현될 수 있으며, 상기 컴퓨터 판독 기록 매체의 예로는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 플래시 메모리(flash memory)와 같은 프로그램 명령어들을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 들 수 있다.
데이터 변환부(170)는 인식 대상 데이터가 데이터 분할부(120)에 의해 분할되어 생성된 각 단위 데이터를 입력 벡터로 변환할 수 있다. 이와 같은 변환은 데이터베이스(160)에 저장된 사전을 이용하여 수행될 수 있다. 즉, 텍스트 형태의 인식 대상 데이터의 단위 데이터 중 "카지노"라는 단어가 있었다면, 데이터 변환부(170)는 상기 사전으로부터 "카지노"에 대응되는 입력 벡터를 추출할 수 있다. 이와 같은 사전의 정보는 전술한 바와 같이 학습용 데이터에 포함된 "카지노"라는 단어의 변환 결과로부터 얻어진 것이다.
대상 인식부(180)는 데이터베이스(160)에 저장된 신경망 모델을 이용하여 인식 대상 데이터의 특징을 추출하고, 이를 바탕으로 인식 대상 데이터에 포함된 정보를 인식하여, 인식 대상 데이터의 분류 혹은 내용 파악 등의 작업을 수행할 수 있다. 이와 같은 대상 인식부(180)의 신경망 모델 이용 과정에서는 합성곱 연산이 수행될 수 있는데, 대상 인식부(180)는 합성곱 연산을 일일이 수행하는 대신, 데이터베이스(160)에 저장된 연산 테이블로부터 합성곱 연산의 결과를 획득하여 사용할 수 있다. 이와 같은 연산 테이블의 사용은 본 발명의 일 실시예에 따른 대상 인식 과정의 효율을 비약적으로 증대시킬 수 있다.
도 2는 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 생성 방법의 각 단계를 도시한 도면이다. 도 2의 방법은 도 1을 참조하여 설명한 서버 장치(100)에 의해 수행될 수 있다. 단, 도 2에 도시된 방법은 본 발명의 일 실시예에 불과하므로 도 2에 의해 본 발명의 사상이 한정 해석되는 것은 아니며, 도 2에 도시된 방법의 각 단계는 경우에 따라 도면에 제시된 바와 그 순서를 달리하여 수행될 수 있음은 물론이다. 또한, 도 1과 중복되는 바에 대해서는 자세한 설명이 생략될 수 있다.
우선, 입력부(110)는 학습용 데이터를 복수 개 획득할 수 있다(S110). 이하에서는 학습용 데이터 및 인식 대상 데이터를 스팸 메시지 차단 기능의 대상이 되는 문자 메시지 형태의 텍스트 데이터로 가정하도록 하겠지만, 본 발명의 적용 범위가 반드시 이에 한정되는 것은 아니다. 데이터 분할부(120)는 소정의 분할 기준에 따라 상기 복수 개의 학습용 데이터(예컨대, 복수 개의 문자 메시지) 각각을 복수의 단위 데이터로 분할할 수 있다(S120). 이와 같은 단위 데이터는 분할 기준에 따라 음절이나 형태소 단위, 단어 단위, 글자 단위 또는 자소 단위로 이루어질 수 있다.
한편, 학습용 데이터로서 이용되는 각 텍스트 데이터에 매우 낮은 빈도수로 등장하는 단어라면, 신경망 모델의 성능에 거의 영향을 미치지 않는다고 볼 수 있다. 이에 따라, 사전 생성부(130)는 복수의 단위 데이터(210) 중 해당 단위 데이터(210)와 동일한 단위 데이터의 개수가 소정의 임계 개수 이상인 단위 데이터(210)를 선택하고, 이들 선택된 단위 데이터(210)에 대해서만 입력 벡터(230)로의 변환 관계를 정의하는 사전(dictionary)을 생성할 수 있다(S130).
즉, 사전 생성부(130)는 각 학습용 데이터 내에서 등장하는 총 빈도수가 일정 수준 이상인 단위 데이터(210)만을 사전에 수록할 수 있다. 이 때, 사전에 저장된 서로 다른 단위 데이터(210) 각각은 서로 다른 입력 벡터(230)로 각각 변환되도록 정의될 수 있다. 또한, 사전에 수록되지 않은 단위 데이터들은 신경망 모델의 성능에 영향을 거의 미치지 않으므로, 사전 생성부(130)는 상기 낮은 빈도수의 단위 데이터(210)들을 하나의 동일한 더미(dummy) 데이터로 취급하여, 하나의 동일한 더미 입력 벡터로 변환되도록 할 수 있다. 예컨대, 사전 생성부(130)는 상기 낮은 빈도수의 단위 데이터(210)들을 하나의 동일한 더미 단위 데이터로 변환하고, 학습을 통한 신경망 모델 생성에 이들 더미 단위 데이터가 이용되도록 할 수 있다.
다음으로 모델 생성부(140)가 상기 각 단위 데이터를 이용하여, 신경망 모델을 생성할 수 있다(S140). 즉, 신경망 모델은 모델 생성부(140)가 각 단위 데이터의 분석을 통해 학습용 데이터를 학습한 결과에 기초하여 생성된다. 이 과정에서, 모델 생성부(140)는 단어나 글자의 형태를 갖는 각 단위 데이터를 소정 개수의 숫자를 원소로 갖는 입력 벡터로 각각 변환할 수 있다.
도 3은 본 발명의 일 실시예에 의한 단위 데이터를 입력 벡터로 변환하는 과정에 대해 설명하기 위한 도면이다. 학습용 데이터로부터 분할된 도 3의 각 단위 데이터(210)는 하나의 부호(글자)로 이루어져 있으며, 각 단위 데이터(210)는 예컨대 원 핫 인코딩(one hot encoding)에 의해 0 혹은 1의 바이너리 데이터를 원소로 갖는 이진 벡터(220)로 변환될 수 있으며, 서로 다른 단위 데이터(210)는 서로 다른 이진 벡터(220)로 변환될 수 있다.
다만, 이진 벡터(220)는 0 혹은 1만을 원소로 갖기 때문에 많은 종류의 서로 다른 단위 데이터(210)를 구별하여 나타내기 위해서는 포함하는 원소의 수가 매우 많아질 수 밖에 없다. 따라서, 모델 생성부(130)는 신경망 모델 생성 과정에서 상기 각 이진 벡터(220)를, 보다 적은 수의 원소로도 서로 다른 단위 데이터(210)를 식별할 수 있는, 실수로 된 원소를 갖는 입력 벡터(230)로 변환할 수 있다.
이와 같은 변환은, 각 단위 데이터(210)의 특징을 보다 잘 표현하기 위한 의미도 가질 수 있다. 예컨대, 본 발명의 일 실시예에 따른 방법을 스팸 필터링에 적용한다고 가정할 경우, 스팸 필터링의 결과의 정확도는 스팸 필터링의 대상이 되는 문자 메시지 내의 각 단어가 어떠한 입력 벡터(230)로 변환되었는가에 영향을 받을 수 있다. 즉, 입력 벡터(230)의 원소를 구성하는 수치는 각 단위 데이터(210)의 특징 및 이들 단위 데이터(210) 간의 관계를 나타낸다고 볼 수 있으며, 이러한 입력 벡터(230)는 학습 과정에서 최적화될 수 있다.
도 4는 합성곱 신경망에서의 합성곱 연산에 대해 설명하기 위한 도면이다. 모델 생성부(140)는 각 학습용 데이터의 각 단위 데이터(210)가 변환된 각 입력 벡터(230)와, 특징 추출 필터(240) 간의 합성곱 연산의 결과에 기초하여 각 학습용 데이터의 특징을 추출할 수 있으며, 각 학습용 데이터로부터 추출된 특징과 각 학습용 데이터에 포함된 정보(예컨대, 학습용 데이터가 광고 목적의 정보를 포함하는 스팸 문자인지 아닌지 여부)에 기초하여 신경망 모델을 생성할 수 있다. 신경망 모델을 생성하는 과정에서, 상기 특징 추출 필터(240) 역시 학습에 의해 적응적으로 변화함으로써 최적화될 수 있다. 특징 추출 필터(240)의 최적화 과정 및 특징 추출 필터(240)에 의한 합성곱 연산의 결과를 활용하는 과정의 구체적인 사항에 대해서는 통상의 기술자에게 용이한 것이므로 여기에서는 자세한 설명을 생략한다.
한편, 모델 생성부(140)는 다양한 기준에 따라 다수의 신경망 모델을 생성하고, 이들 중 학습용 데이터의 인식의 정확도가 가장 높은 신경망 모델을 최적의 신경망 모델로서 선택할 수도 있다. 이 경우, 각 신경망 모델 간에는 단위 데이터(210)를 분할하는 기준이 다를 수도 있고, 사전에 단위 데이터(210)를 수록하는 기준이 다를 수도 있다. 즉, 모델 생성부(140)는 상기 기준을 변화시켜 가면서 생성된 다수의 신경망 모델 중 최적의 신경망 모델을 선택할 수 있다.
이하에서는 모델 생성부(140)에 의해 생성된 최적의 신경망 모델에 대해, 기 수행된 합성곱 연산의 결과에 기초하여 연산 테이블을 생성하는 과정에 대해 설명한다. 도 4에서, 특징 추출 필터(240) 역시 입력 벡터(230)와 마찬가지로 숫자로 된 원소로 구성되는 벡터일 수 있다. 특징 추출 필터(240)의 원소의 개수는 입력 벡터(230)의 원소의 개수 이상, 바람직하게는 입력 벡터(230)의 원소의 개수의 정수배일 수 있다. 여기에서는 상기 정수배를 특징 추출 필터(240)의 "크기"라 칭할 수 있으며, 특징 추출 필터(240)의 크기는 하나의 학습용 데이터가 분할 기준에 의해 보다 더 많은 수의 단위 데이터(210)로 분할될수록 증가할 수 있다. 예컨대, 학습용 데이터에 해당하는 문자 메시지가 단어 단위로 분할될 때보다 글자 단위로 분할될 때 더 많은 수의 단위 데이터가 생성될 것이므로, 글자 단위로 분할될 때 특징 추출 필터(240)의 길이가 더 길도록 할 수 있다.
특징 추출 필터(240)는 각 입력 벡터(230)를 순서대로 스캔하면서 합성곱 연산을 복수 회 수행할 수 있다. 특징 추출 필터(240)가 도 4와 같이 2의 크기를 갖는다고 할 때, 특징 추출 필터(240)는 각 입력 벡터(230)와 같은 개수의 원소를 각각 갖는 제 1 부분 필터(241)와 제 2 부분 필터(242)로 나뉠 수 있다.
첫 번째 합성곱 연산에서는 제 1 입력 벡터(231)와 제 1 부분 필터(241)의 내적(內積) 연산의 값과 제 2 입력 벡터(232)와 제 2 부분 필터(242)의 내적 연산의 값이 서로 더해진 값이 13.25가 제 1 연산 결과(261)로서 출력된다. 다음의 두 번째 합성곱 연산에서는 제 2 입력 벡터(232)와 제 1 부분 필터(241)의 내적 연산의 값과 제 3 입력 벡터(233)와 제 2 부분 필터(242)의 내적 연산의 값이 서로 더해진 값인 23.49가 제 2 연산 결과(262)로서 출력된다. 이와 같은 복수 회의 합성곱 연산은, 특징 추출 필터(240)가 각 입력 벡터(230)를 모두 스캔할 때까지 반복되며, 해당 반복에 따라 합성곱 연산의 결과(260)가 생성될 수 있다.
상기 내적 연산에 의한 합성곱 연산은 입력 벡터(230)와 특징 추출 필터(240)의 각 원소 간의 곱셈 및 이들 곱셈의 결과에 대한 덧셈을 포함하므로, 그 연산의 양이 매우 많아 비효율적이다. 이와 같은 비효율의 방지를 위해, 본 발명의 일 실시예에서는 테이블 생성부(140)가 가능한 모든 입력 벡터(230)에 대응되는 상기 합성곱 연산의 결과(260)가 저장된 연산 테이블을 생성할 수 있다(S150). 구체적으로, 연산 테이블에는 특정 단위 데이터(210)로부터 변환된 입력 벡터(230)에 대해 특징 추출 필터(240)를 이용한 합성곱 연산(즉, 제 1 부분 필터(241) 혹은 제 2 부분 필터(242)와의 내적 연산)이 수행되었을 때 어떤 연산 결과가 도출되었는지에 대한 정보가, 상기 특정 단위 데이터(210) 및 입력 벡터(230)와 매칭되어 저장될 수 있다.
텍스트 데이터의 경우, 영상 데이터 등에 비해 동일한 단위 데이터(210)가 여러 번 등장하는 경우가 매우 많다. 예컨대, 학습용 데이터에 등장한 "카지노"라는 단어는 인식 대상 데이터에서도 또 등장할 수 있다. 이 때, 복수의 인식 대상 데이터에 걸쳐 여러 번 등장하는 "카지노"라는 단어에 대해(정확히는 "카지노"가 변환되어 생성된 입력 벡터(230)에 대해) 덧셈과 곱셈이 조합된 합성곱 연산을 일일이 수행하지 않고, 상기 연산 테이블에 저장된, "카지노"라는 단어에 대해 합성곱 연산을 수행한 결과를 조회하여 연산 결과를 얻는다면, 연산량이 획기적으로 감소될 수 있을 것이다.
도 5는 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 활용 방법의 각 단계를 도시한 도면이다. 도 5의 방법은 도 1을 참조하여 설명한 서버 장치(100)에 의해 수행될 수 있다. 단, 도 5에 도시된 방법은 본 발명의 일 실시예에 불과하므로 도 5에 의해 본 발명의 사상이 한정 해석되는 것은 아니며, 도 5에 도시된 방법의 각 단계는 경우에 따라 도면에 제시된 바와 그 순서를 달리하여 수행될 수 있음은 물론이다. 또한, 도 1 내지 4와 중복되는 바에 대해서는 자세한 설명이 생략될 수 있다.
우선 입력부(110)는 인식 대상 데이터를 획득할 수 있으며(S210), 데이터 분할부(120)는 인식 대상 데이터를 복수의 대상 단위 데이터로 분할할 수 있다(S220). 이와 같은 분할에는 학습용 데이터와 같은 분할 기준이 적용될 수 있다. 그리고, 데이터 변환부(170)는 사전을 참고하여 상기 각 단위 데이터를 입력 벡터로 변환할 수 있다(S230).
다음으로, 대상 인식부(180)는 상기 대상 단위 데이터에 대한 합성곱 연산의 결과를 도출하여(S240), 인식 대상 데이터에 대한 인식 결과를 생성할 수 있다(S250). 즉, 대상 인식부(180)는 신경망 모델을 이용하여 인식 대상 데이터의 인식을 수행할 수 있는 것이다. 보다 구체적으로, 대상 인식부(180)는 상기 신경망 모델에 상기 각 대상 단위 데이터가 변환되어 생성된 각 입력 벡터를 입력할 경우의 출력에 기초하여 상기 인식을 수행할 수 있다. 다만, 전술한 바와 같이 대상 인식부(180)는 상기 대상 단위 데이터가 변환되어 생성된 각 입력 벡터에 대한 합성곱 연산을 일일이 수행하는 것이 아니라, 연산 테이블로부터 합성곱 연산의 결과만을 추출하여 사용할 수 있다. 상기 신경망 모델을 이용한 인식 과정에서는, 합성곱 연산의 결과 도출 이후에도 맥스 풀링(max pooling), 신경망을 통한 분류(classification) 등의 세부 과정이 수행될 수 있으며, 이에 대해서는 통상의 기술자에게 용이한 것이므로 자세한 설명은 생략한다.
도 6은 본 발명의 일 실시예에 따른 합성곱 연산의 가속화 기법에 대해 설명하기 위한 도면이다. 인식 대상 데이터의 분할을 통해 단위 데이터(310)가 생성되었으며, 여기에서는 "카", "지", "노", "놀", "러", "와"라는 각 단위 데이터(310)가 인식 대상 데이터에 포함되어 있다고 하자. 그러면, 상기 도 4의 특징 추출 필터(240)가 상기 각 단위 데이터(310)에 적용될 수 있는데, 이 경우 도 4를 통해 설명한 합성곱 연산을 일일이 수행하는 대신, 연산 테이블에 저장된 결과를 이용하는 것이 가능하다.
예컨대, "카"라는 문자에 대응되는, 도 4의 제 1 입력 벡터(231)와, 도 4의 제 1 부분 필터(241) 간의 내적을 직접 수행하지 않고, 해당 연산의 결과인 4.00을 연산 테이블로부터 가져올 수 있다. 이에 따라, 각 내적 연산의 결과(350)를 연산 테이블을 참조하여 얻을 수 있으며, 최종적인 합성곱 연산 결과(360)를 얻기 위해서는 상기 각 내적 연산의 결과(350)에 대한 덧셈만을 수행하면 된다. 예컨대, 제 1 연산 결과(361)는 4.00과 9.25의 덧셈을 수행하는 것만으로 얻어진다. 이러한 일련의 과정을 통해, 제 2 연산 결과(362) 등을 추가로 포함하는 합성곱 연산 결과(360)를, 내적 연산을 직접 수행하지 않고도 얻을 수 있다.
도 7은 본 발명의 일 실시예에 따른 연산 가속화가 적용된 신경망 모델의 활용 방법의 효과를 설명하기 위한 도면이다. 인식 대상 데이터로부터 생성된 각 단위 데이터(310)의 총 개수를 Lseq, 각 단위 데이터(310)가 변환된 각 입력 벡터(330)에 각각 포함된 원소의 개수를 Sembed라 가정하자. 그리고 특징 추출 필터(340)는 크기별로 다양하게 마련될 수 있는데, 같은 크기(fn)를 갖는 특징 추출 필터(340)의 개수는 Nfilter라 가정하도록 한다. 이 때, 본 발명의 일 실시예에 의해 줄어들게 되는 덧셈 연산의 횟수는 아래 수학식 1과 같다.
또한, 본 발명의 일 실시예에 의해 줄어들게 되는 곱셈 연산의 횟수는 아래 수학식 2와 같다.
상기 수학식 1 및 2를 통해, 본 발명의 일 실시예에 의하면 비약적인 연산량 감소의 효과를 달성할 수 있다는 결론을 얻을 수 있다.
또한, 본 발명의 일 실시예에 의한 중요한 특징 중 하나는, 단위 데이터(310)로부터 입력 벡터(330)를 생성함에 있어 벡터의 크기(즉, 원소의 개수)를 충분히 크게 할 수 있게 된다는 것이다. 각 단위 데이터(310)의 특징 및 이들 간의 관계를 충분히 표현하기 위해서는 입력 벡터(330)의 크기가 커야 유리하지만, 입력 벡터(330)의 크기가 크면 연산량이 증가한다는 문제가 있다. 하지만 본 발명의 일 실시예에 의하면, 전술한 바와 같이 입력 벡터(330)의 크기가 전체 연산량에 영향을 미치지 않으므로, 입력 벡터(330)의 크기를 충분히 크게 할 수 있게 된다.
지금까지 설명한 바와 같은 본 발명의 일 실시예에 따르면, 합성곱 신경망이 적용된 특징 모델을 이용하여 인식 대상 데이터를 인식하는 과정에서의 연산의 중복 수행이 방지될 수 있으며, 이에 따라 실시간 처리가 불가능할 정도의 연산량이 획기적으로 줄어들어 상기 신경망 모델을 이용하는 시스템의 효율이 증대될 수 있다. 구체적으로, 영상 데이터 등 다른 유형의 데이터에 비해 동일한 정보의 반복이 보다 빈번한 텍스트 데이터에 대한 스팸 필터링, 의미 인식 등에 본 발명의 일 실시예가 적용될 경우, 작업의 효율이 크게 향상될 수 있다.
본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방법으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명의 일 실시예에 따르면, 합성곱 신경망이 적용된 특징 모델을 이용하여 인식 대상 데이터를 인식하는 과정에서의 연산의 중복 수행이 방지될 수 있으며, 이에 따라 실시간 처리가 불가능할 정도의 연산량이 획기적으로 줄어들어 상기 신경망 모델을 이용하는 시스템의 효율이 증대될 수 있다. 구체적으로, 텍스트 데이터에 대한 스팸 필터링, 의미 인식 등에 본 발명의 일 실시예가 적용될 경우, 작업의 효율이 크게 향상될 수 있다.
100: 서버 장치
110: 입력부
120: 데이터 분할부
130: 사전 생성부
140: 모델 생성부
150: 테이블 생성부
160: 데이터베이스
170: 데이터 변환부
180: 대상 인식부
110: 입력부
120: 데이터 분할부
130: 사전 생성부
140: 모델 생성부
150: 테이블 생성부
160: 데이터베이스
170: 데이터 변환부
180: 대상 인식부
Claims (11)
- 복수의 학습용 데이터 각각을, 소정의 분할 기준에 따라 복수의 단위 데이터로 분할하는 데이터 분할부;
상기 학습용 데이터가 분할된 각 단위 데이터가 변환되어 생성되고 제1 개수의 숫자를 원소로 갖는 복수의 입력 벡터를, 상기 제1 개수 이상의 제2 개수의 숫자를 원소로 갖는 필터 벡터로 구성되는 특징 추출 필터에 입력하여 상기 복수의 입력 벡터와 상기 필터 벡터 간에 합성곱(convolution) 연산을 수행하고, 상기 합성곱 연산의 결과 및 상기 각 학습용 데이터에 포함된 정보 간의 관계에 기초하여, 상기 각 학습용 데이터와는 다른 인식 대상 데이터에 포함된 정보의 인식을 위한 신경망 모델을 생성하는 모델 생성부; 및
상기 각 입력 벡터와, 상기 합성곱 연산의 결과 중 상기 각 입력 벡터에 대응되는 결과 부분이 매칭되어 저장된 연산 테이블을 생성하는 테이블 생성부를 포함하는
연산 가속화가 적용된 신경망 모델을 생성하기 위한 서버 장치. - 제 1 항에 있어서,
상기 제2 개수는 상기 제1 개수의 정수배이고,
상기 특징 추출 필터는 각각이 상기 제1 개수의 원소를 갖는 하나 이상의 단위 벡터로 구성되며,
상기 테이블 생성부는, 상기 합성곱 연산 과정에서 상기 각 입력 벡터와 상기 각 단위 벡터 간에 수행된 각 내적(內積) 연산의 결과를, 상기 각 내적 연산의 결과를 도출한 입력 벡터와 단위 벡터에 매칭시켜 상기 연산 테이블에 저장하는
연산 가속화가 적용된 신경망 모델을 생성하기 위한 서버 장치. - 제 2 항에 있어서,
상기 분할 기준에 기초하여 결정되는, 상기 각 학습용 데이터가 분할되어 생성되는 상기 단위 데이터의 개수가 증가할수록, 상기 정수배의 크기가 증가하는
연산 가속화가 적용된 신경망 모델을 생성하기 위한 서버 장치. - 제 1 항에 있어서,
상기 복수의 단위 데이터 중 자신과 동일한 단위 데이터의 개수가 소정의 임계 개수 이상인 단위 데이터를 선택하고, 상기 선택된 각 단위 데이터와 상기 각 입력 벡터 간의 변환 관계가 저장된 사전을 생성하는 사전 생성부를 더 포함하며,
상기 변환 관계는, 상기 선택된 각 단위 데이터 중 상이한 단위 데이터는 상이한 입력 벡터로 변환되도록 정의되는
연산 가속화가 적용된 신경망 모델을 생성하기 위한 서버 장치. - 제 4 항에 있어서,
상기 사전 생성부는, 상기 단위 데이터 중 상기 선택에서 배제된 각 단위 데이터는 하나의 동일한 더미(dummy) 입력 벡터로 변환되도록 하며,
상기 더미 입력 벡터는, 상기 소정의 각 단위 데이터가 변환되어 생성된 각 입력 벡터와는 상이한
연산 가속화가 적용된 신경망 모델을 생성하기 위한 서버 장치. - 제 4 항에 있어서,
상기 데이터 분할부는, 상기 인식 대상 데이터를, 상기 분할 기준에 따라 복수의 대상 단위 데이터로 분할하고,
상기 각 대상 단위 데이터를, 상기 사전에 저장된 상기 변환 관계에 기초하여 상기 입력 벡터 중 어느 하나로 각각 변환하는 데이터 변환부; 및
상기 각 대상 단위 데이터가 변환되어 생성된 각 입력 벡터를 상기 신경망 모델에 입력할 경우의 출력에 기초하여 상기 인식 대상 데이터에 포함된 정보를 인식하되, 상기 각 대상 단위 데이터가 변환되어 생성된 각 입력 벡터에 대해 상기 특징 추출 필터를 적용할 경우 수행될 합성곱 연산의 결과를 상기 연산 테이블로부터 획득하는 대상 인식부를 더 포함하는
연산 가속화가 적용된 신경망 모델을 생성하기 위한 서버 장치. - 인식 대상 데이터를, 소정의 분할 기준에 따라 복수의 대상 단위 데이터로 분할하는 데이터 분할부;
상기 인식 대상 데이터가 분할된 각 대상 단위 데이터를, 소정의 변환 관계에 기초하여 제1 개수의 숫자를 원소로 갖는 입력 벡터로 각각 변환하는 데이터 변환부; 및
상기 각 입력 벡터 및 기 저장된 연산 테이블을 이용하여 상기 인식 대상 데이터의 특징을 추출함으로써 상기 인식 대상 데이터에 포함된 정보를 인식하는 대상 인식부를 포함하고,
상기 기 저장된 연산 테이블은 상기 제1 개수 이상의 제2 개수의 숫자를 원소로 갖는 벡터로 구성되는 특징 추출 필터를 이용하여 기 수행된 합성곱(convolution) 연산의 결과를 저장하는
연산 가속화가 적용된 신경망 모델을 이용하는 서버 장치. - 제 7 항에 있어서,
상기 제2 개수는 상기 제1 개수의 정수배이고,
상기 특징 추출 필터는 각각이 상기 제1 개수의 원소를 갖는 하나 이상의 단위 벡터로 구성되며,
상기 대상 인식부는, 상기 합성곱 연산 과정에서 상기 각 입력 벡터와 상기 각 단위 벡터 간에 내적(內積) 연산을 수행해야 할 경우, 상기 각 입력 벡터와 상기 각 단위 벡터 간에 기 수행된 각 내적 연산의 결과를 저장하는 상기 연산 테이블로부터, 상기 수행해야 할 내적 연산의 결과를 획득하는
연산 가속화가 적용된 신경망 모델을 이용하는 서버 장치. - 제 7 항에 있어서,
상기 데이터 변환부는, 상기 변환 관계가 기 저장된 사전을 이용하여 상기 각 단위 데이터에 대한 변환을 수행하는
연산 가속화가 적용된 신경망 모델을 이용하는 서버 장치. - 복수의 학습용 데이터 각각을, 소정의 분할 기준에 따라 복수의 단위 데이터로 분할하는 단계;
상기 학습용 데이터가 분할된 각 단위 데이터가 변환되어 생성되고 제1 개수의 숫자를 원소로 갖는 복수의 입력 벡터를, 상기 제1 개수 이상의 제2 개수의 숫자를 원소로 갖는 필터 벡터로 구성되는 특징 추출 필터에 입력하여 상기 복수의 입력 벡터와 상기 필터 벡터 간에 합성곱(convolution) 연산을 수행하고, 상기 합성곱 연산의 결과 및 상기 각 학습용 데이터에 포함된 정보 간의 관계에 기초하여, 상기 각 학습용 데이터와는 다른 인식 대상 데이터에 포함된 정보의 인식을 위한 신경망 모델을 생성하는 단계; 및
상기 각 입력 벡터와, 상기 합성곱 연산의 결과 중 상기 각 입력 벡터에 대응되는 결과 부분이 매칭되어 저장된 연산 테이블을 생성하는 단계를 포함하는
연산 가속화가 적용된 신경망 모델을 생성하기 위한 방법. - 인식 대상 데이터를, 소정의 분할 기준에 따라 복수의 대상 단위 데이터로 분할하는 단계;
상기 인식 대상 데이터가 분할된 각 대상 단위 데이터를, 소정의 변환 관계에 기초하여 제1 개수의 숫자를 원소로 갖는 입력 벡터로 각각 변환하는 단계; 및
상기 각 입력 벡터 및 기 저장된 연산 테이블을 이용하여 상기 인식 대상 데이터의 특징을 추출함으로써 상기 인식 대상 데이터에 포함된 정보를 인식하는 단계를 포함하고,
상기 기 저장된 연산 테이블은 상기 제1 개수 이상의 제2 개수의 숫자를 원소로 갖는 벡터로 구성되는 특징 추출 필터를 이용하여 기 수행된 합성곱(convolution) 연산의 결과를 저장하는
연산 가속화가 적용된 신경망 모델을 이용한 데이터 인식 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170138598A KR102055359B1 (ko) | 2017-10-24 | 2017-10-24 | 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170138598A KR102055359B1 (ko) | 2017-10-24 | 2017-10-24 | 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190045716A KR20190045716A (ko) | 2019-05-03 |
KR102055359B1 true KR102055359B1 (ko) | 2019-12-12 |
Family
ID=66582758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170138598A KR102055359B1 (ko) | 2017-10-24 | 2017-10-24 | 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102055359B1 (ko) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100813168B1 (ko) * | 2006-06-08 | 2008-03-17 | 삼성전자주식회사 | 사전 모양 정보를 이용한 디지털 영상에서의 물체를추출하기 위한 방법 및 상기 방법을 수행하는 시스템 |
EP3035204B1 (en) * | 2014-12-19 | 2018-08-15 | Intel Corporation | Storage device and method for performing convolution operations |
CN106156807B (zh) * | 2015-04-02 | 2020-06-02 | 华中科技大学 | 卷积神经网络模型的训练方法及装置 |
KR101719278B1 (ko) | 2015-04-14 | 2017-04-04 | (주)한국플랫폼서비스기술 | 비주얼 콘텐츠기반 영상 인식을 위한 딥러닝 프레임워크 및 영상 인식 방법 |
-
2017
- 2017-10-24 KR KR1020170138598A patent/KR102055359B1/ko active IP Right Grant
Non-Patent Citations (1)
Title |
---|
컨볼루션 신경망 모델 만들어보기(웹 문서).2017.03.08..출처:https://tykimos.github.io/2017/03/08/CNN_Getting_Started/* |
Also Published As
Publication number | Publication date |
---|---|
KR20190045716A (ko) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106328127B (zh) | 语音识别设备,语音识别方法和电子装置 | |
CN106560891B (zh) | 使用声学建模的语音识别设备和方法 | |
KR102494139B1 (ko) | 뉴럴 네트워크 학습 장치 및 방법과, 음성 인식 장치 및 방법 | |
KR102313028B1 (ko) | 음성 인식 시스템 및 방법 | |
US11113335B2 (en) | Dialogue system and computer program therefor | |
US20160358599A1 (en) | Speech enhancement method, speech recognition method, clustering method and device | |
CN111445898B (zh) | 语种识别方法、装置、电子设备和存储介质 | |
CN110047517A (zh) | 语音情感识别方法、问答方法及计算机设备 | |
CN110570879A (zh) | 基于情绪识别的智能会话方法、装置及计算机设备 | |
US10373028B2 (en) | Pattern recognition device, pattern recognition method, and computer program product | |
CN112562640B (zh) | 多语言语音识别方法、装置、系统及计算机可读存储介质 | |
EP4086893B1 (en) | Natural language understanding method and device, vehicle and medium | |
CN110717027A (zh) | 多轮智能问答方法、系统以及控制器和介质 | |
CN110442855A (zh) | 一种语音分析方法和系统 | |
KR102167157B1 (ko) | 발음 변이를 적용시킨 음성 인식 방법 | |
JP2015001695A (ja) | 音声認識装置、音声認識方法及びプログラム | |
CN117033600A (zh) | 用于认知实体合成的生成性角色引擎 | |
CN110708619B (zh) | 一种智能设备的词向量训练方法及装置 | |
KR102055359B1 (ko) | 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법 | |
CN111680514B (zh) | 信息处理和模型训练方法、装置、设备及存储介质 | |
KR101727306B1 (ko) | 언어모델 군집화 기반 음성인식 장치 및 방법 | |
CN112256864A (zh) | 多意图识别的方法、装置、电子设备及可读存储介质 | |
CN111898363A (zh) | 文本长难句的压缩方法、装置、计算机设备及存储介质 | |
CN116070642A (zh) | 一种基于表情嵌入的文本情感分析方法及相关装置 | |
CN109190703B (zh) | 基于dnn的多态蠕虫特征码自动提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |