KR20220113089A - 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법, 장치 및 컴퓨터 프로그램 - Google Patents

분산 된 인공 신경망을 이용한 데이터 프로세싱 방법, 장치 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20220113089A
KR20220113089A KR1020210016844A KR20210016844A KR20220113089A KR 20220113089 A KR20220113089 A KR 20220113089A KR 1020210016844 A KR1020210016844 A KR 1020210016844A KR 20210016844 A KR20210016844 A KR 20210016844A KR 20220113089 A KR20220113089 A KR 20220113089A
Authority
KR
South Korea
Prior art keywords
data
neural network
artificial neural
individual device
individual
Prior art date
Application number
KR1020210016844A
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 KR1020210016844A priority Critical patent/KR20220113089A/ko
Publication of KR20220113089A publication Critical patent/KR20220113089A/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/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 개별 디바이스에 분산 된 인공 신경망을 이용하여 데이터를 프로세싱 하는 방법은, 개별 디바이스로부터 제1 데이터를 수신하는 단계로써, 상기 제1 데이터는 상기 개별 디바이스가 학습된 제1 인공 신경망을 이용하여 상기 개별 디바이스에 대한 입력 데이터로부터 생성한 출력 데이터를 포함하고; 및 사용자 단말로부터 수신된 제1 데이터의 제공 요청에 따라 상기 사용자 단말에 상기 제1 데이터를 제공하는 단계;를 포함할 수 있다.

Description

분산 된 인공 신경망을 이용한 데이터 프로세싱 방법, 장치 및 컴퓨터 프로그램{Data processing method, apparatus and computer program using distributed artificial neural network}
본 발명은 개별 디바이스에 분산 된 인공 신경망을 이용하여 데이터를 프로세싱 하는 방법에 관한 것 이다.
정보통신 기술의 발달로 많은 애플리케이션에 인공 지능 기술의 도입이 이루어 지고 있다. 가령 종래에는 영상에서 특정 객체를 인식함에 있어서 미리 입력된 템플릿과 입력 영상 간의 유사도에 기반하여 객체를 인식하였는데, 최근에는 학습 된 인공 신경망을 이용하여 객체를 인식하기에 이르게 되었다.
한편 인공 신경망을 이용한 프로세스는 많은 연산 리소스를 요하며, 일반적으로는 연산 리소스로써 GPU(Graphic Processing Unit)를 이용한다. 이와 같은 GPU는 규모와 요구되는 전원의 크기가 개별 디바이스(예를 들어 개별 감시카메라, 개별 사용자 단말 등)에 구비되기는 어려운 측면이 있기에, 일반적으로는 서버에 구비되었다.
따라서 종래기술들은 인공 신경망을 이용한 프로세스가 주로 서버에서 수행되었으며, 이에 따라 개별 디바이스들은 인공 신경망의 입력이 되는 데이터 그 자체를 서버로 전송해야 했다.
그러나 이와 같이 입력 데이터 그 자체를 서버에 전송하는 것은 네트워크 자원을 과도하게 점유할 뿐만 아니라, 전체 시스템의 응답 속도를 저하시키는 문제점이 있었다. 특히 입력 데이터가 영상 또는 동영상인 경우 개별 디바이스에서 서버로 전송되기 까지 많은 네트워크 리소스가 점유되었으며, 전송에 따른 지연 시간이 발생되는 문제점이 있었다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 개별 디바이스에 분산 된 인공 신경망을 이용하여 데이터를 프로세싱 하고자 한다.
본 발명의 일 실시예에 따른 개별 디바이스에 분산 된 인공 신경망을 이용하여 데이터를 프로세싱 하는 방법은, 개별 디바이스로부터 제1 데이터를 수신하는 단계로써, 상기 제1 데이터는 상기 개별 디바이스가 학습된 제1 인공 신경망을 이용하여 상기 개별 디바이스에 대한 입력 데이터로부터 생성한 출력 데이터를 포함하고; 및 사용자 단말로부터 수신된 제1 데이터의 제공 요청에 따라 상기 사용자 단말에 상기 제1 데이터를 제공하는 단계;를 포함할 수 있다.
상기 개별 디바이스는 복수이고, 상기 복수의 개별 디바이스 각각은 각각의 디바이스 상의 학습된 제1 인공 신경망을 이용하여 각각의 개별 디바이스에 대한 입력 데이터로부터 출력 데이터를 생성할 수 있다.
상기 제1 데이터를 수신하는 단계는 상기 복수의 개별 디바이스 각각으로부터 상기 출력 데이터를 포함하는 제1 데이터를 수신하는 단계;를 포함할 수 있다.
본 발명의 일 실시예에 따른 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법은 상기 제1 데이터를 수신하는 단계 이전에, 제1 학습 데이터에 기반하여 상기 제1 인공 신경망을 학습시키는 단계; 및 상기 학습된 제1 인공 신경망을 상기 복수의 개별 디바이스에 배포하는 단계;를 포함할 수 있다.
본 발명의 일 실시예에 따른 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법은 제2 학습 데이터에 기반하여 상기 제1 인공 신경망과 상이한 제2 인공 신경망을 학습시키는 단계; 및 상기 학습된 제2 인공 신경망을 상기 복수의 개별 디바이스에 배포하는 단계;를 포함할 수 있다. 이때 상기 복수의 개별 디바이스 각각은 상기 제2 인공 신경망을 이용하여 입력 데이터로부터 출력 데이터를 생성할 수 있다.
상기 제1 데이터는 상기 개별 디바이스의 상태 정보를 나타내는 데이터를 더 포함하고, 상기 제1 데이터를 제공하는 단계는 상기 제1 데이터와 상기 상태 정보를 나타내는 데이터를 함께 제공하는 단계;를 포함할 수 있다.
상기 상태 정보를 나타내는 데이터는 상기 개별 디바이스의 리소스 상태 정보 데이터, 상기 개별 디바이스의 설치 위치 데이터, 상기 개별 디바이스의 식별 번호 데이터 및 상기 개별 디바이스의 하나 이상의 설정 값 데이터 중 적어도 하나 이상을 포함할 수 있다.
상기 개별 디바이스는 도로 상의 복수의 지점에 설치된 영상 획득 장치이고, 상기 개별 디바이스에 대한 상기 입력 데이터는 상기 도로 상의 자동차의 번호판을 포함하는 영상을 포함하고 상기 개별 디바이스가 상기 제1 인공 신경망을 이용하여 생성 출력 데이터는 상기 영상으로부터 식별된 차량의 식별 정보 및 상기 차량의 주행 차로를 포함할 수 있다.
상기 제1 데이터는 상기 차량의 식별 정보 및 상기 차량의 주행 차로를 포함하는 출력 데이터와 상기 차량의 번호판이 나타나는 이미지를 포함하고, 상기 제1 데이터를 제공하는 단계는 상기 출력 데이터와 함께 상기 차량의 번호판이 나타나는 이미지를 제공하는 단계;를 포함할 수 있다.
본 발명의 일 실시예에 따른 개별 디바이스에 분산 된 인공 신경망을 이용하여 데이터를 프로세싱 하는 장치는, 개별 디바이스로부터 제1 데이터를 수신하고, 상기 제1 데이터는 상기 개별 디바이스가 학습된 제1 인공 신경망을 이용하여 상기 개별 디바이스에 대한 입력 데이터로부터 생성한 출력 데이터를 포함하고, 사용자 단말로부터 수신된 제1 데이터의 제공 요청에 따라 상기 사용자 단말에 상기 제1 데이터를 제공 할 수 있다.
상기 개별 디바이스는 복수이고, 상기 복수의 개별 디바이스 각각은 각각의 디바이스 상의 학습된 제1 인공 신경망을 이용하여 각각의 개별 디바이스에 대한 입력 데이터로부터 출력 데이터를 생성할 수 있다.
상기 데이터 프로세싱 장치는 상기 복수의 개별 디바이스 각각으로부터 상기 출력 데이터를 포함하는 제1 데이터를 수신할 수 있다.
상기 데이터 프로세싱 장치는 제1 학습 데이터에 기반하여 상기 제1 인공 신경망을 학습시키고, 상기 학습된 제1 인공 신경망을 상기 복수의 개별 디바이스에 배포할 수 있다.
상기 데이터 프로세싱 장치는 제2 학습 데이터에 기반하여 상기 제1 인공 신경망과 상이한 제2 인공 신경망을 학습시키고, 상기 학습된 제2 인공 신경망을 상기 복수의 개별 디바이스에 배포하고, 상기 복수의 개별 디바이스 각각은 상기 제2 인공 신경망을 이용하여 입력 데이터로부터 출력 데이터를 생성할 수 있다.
상기 제1 데이터는 상기 개별 디바이스의 상태 정보를 나타내는 데이터를 더 포함하고, 상기 데이터 프로세싱 장치는 상기 제1 데이터와 상기 상태 정보를 나타내는 데이터를 함께 제공할 수 있다.
상기 상태 정보를 나타내는 데이터는 상기 개별 디바이스의 리소스 상태 정보 데이터, 상기 개별 디바이스의 설치 위치 데이터, 상기 개별 디바이스의 식별 번호 데이터 및 상기 개별 디바이스의 하나 이상의 설정 값 데이터 중 적어도 하나 이상을 포함할 수 있다.
상기 개별 디바이스는 도로 상의 복수의 지점에 설치된 영상 획득 장치이고, 상기 개별 디바이스에 대한 상기 입력 데이터는 상기 도로 상의 자동차의 번호판을 포함하는 영상을 포함하고 상기 개별 디바이스가 상기 제1 인공 신경망을 이용하여 생성 출력 데이터는 상기 영상으로부터 식별된 차량의 식별 정보 및 상기 차량의 주행 차로를 포함 할 수 있다.
상기 제1 데이터는 상기 차량의 식별 정보 및 상기 차량의 주행 차로를 포함하는 출력 데이터와 상기 차량의 번호판이 나타나는 이미지를 포함하고, 상기 데이터 프로세싱 장치는 상기 출력 데이터와 함께 상기 차량의 번호판이 나타나는 이미지를 제공할 수 있다.
본 발명에 따르면 개별 디바이스에 분산 된 인공 신경망을 이용하여 데이터를 프로세싱 할 수 있다.
이에 따라 본 발명은 네트워크 리소스를 보다 효율적으로 사용할 수 있으며, 시스템 전체적으로 응답 속도를 향상시킬 수 있다.
또한 본 발명은 원본 데이터가 개별 디바이스의 수준에서 처리되도록 하고, 이에 따라 원본 데이터를 네트워크를 통해 전송될 필요가 없게 하여 시스템의 보안을 강화할 수 있다.
또한 본 발명은 개별 디바이스에서 주요 프로세스를 수행하기에, 서버에서 모든 주요 프로세스를 처리하던 종래기술 대비 시스템의 안정성을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 데이터 프로세싱 시스템의 구성을 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 서버(100)의 구성을 개략적으로 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 개별 디바이스(301)의 구성을 개략적으로 도시한 도면이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 서버(100)에 의해 학습된 인공 신경망의 예시적인 구조를 설명하기 위한 도면이다.
도 6은 서버(100)에 의해 수행되는 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 서버(100)가 복수의 학습 데이터(510)를 이용하여 제1 인공 신경망(520)을 학습하는 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 개별 디바이스(300)가 배포된 제1 인공 신경망(520)을 이용하여 출력 데이터를 생성하는 과정을 설명하기 위한 도면이다.
도 9는 서버(100)에 의해 갱신된 제2 인공 신경망이 배포되는 과정을 설명하기 위한 도면이다.
도 10은 사용자 단말(200)에 제1 데이터가 표시된 화면(1000)의 예시이다.
도 11은 사용자 단말(200)에 개별 디바이스(300)의 상태 정보가 표시된 화면(1100)의 예시이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 형태는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
도 1은 본 발명의 일 실시예에 따른 데이터 프로세싱 시스템의 구성을 개략적으로 도시한 도면이다.
본 발명의 일 실시예에 따른 데이터 프로세싱 시스템은 개별 디바이스(300)에 분산 된 인공 신경망을 이용하여 데이터를 프로세싱 할 수 있다. 가령 본 발명의 일 실시예에 따른 데이터 프로세싱 시스템이 도로상의 자동차를 모니터링하는 목적으로 사용되는 경우, 개별 디바이스인 영상 획득 장치 각각은 인공 신경망을 이용하여 영상으로부터 유효 데이터를 인식하고, 서버는 유효 데이터 만을 수신하여 소정의 목적에 따라 유효 데이터를 처리할 수 있다.
본 발명에서 제1 인공 신경망 및 제2 인공 신경망과 같은 '인공 신경망'은 개별 디바이스(300)에 의해 수행되는 데이터 프로세싱 방법에 적합하게 학습된 신경망으로, 머신 러닝(Machine Learning) 또는 딥러닝(Deep Learning) 기법에 의해 학습된 인공 신경망을 의미할 수 있다. 이와 같은 신경망의 구조에 대해서는 도 4 내지 도 5를 참조하여 후술한다.
본 발명의 일 실시예에 따른 데이터 프로세싱 시스템은 도 1에 도시된 바와 같이 서버(100), 사용자 단말(200), 개별 디바이스(300) 및 통신망(400)을 포함할 수 있다.
본 발명의 일 실시예에 따른 사용자 단말(200)은 사용자가 서버(100)에 의해 제공되는 다양한 서비스를 이용할 수 있도록 사용자와 서버(100)를 매개하는 다양한 형태의 장치를 의미할 수 있다. 바꾸어 말하면, 본 발명의 일 실시예에 따른 사용자 단말(200)은 서버(100)와 데이터를 송수신 하는 다양한 장치를 의미할 수 있다.
본 발명의 일 실시예에 따른 사용자 단말(200)은 서버(100)에 의해 제공되는 제1 데이터를 수신하고, 이를 사용자에게 제공할 수 있다. 이와 같은 사용자 단말(200)은 도 1에 도시된 바와 같이, 휴대용 단말(201, 202, 203)을 의미할 수도 있고, 컴퓨터(204)를 의미할 수도 있다.
한편 사용자 단말(200)은 상술한 기능을 수행하기 위해 콘텐츠 등을 표시하기 위한 표시수단, 이러한 콘텐츠에 대한 사용자의 입력을 획득하기 위한 입력수단을 구비할 수 있다. 이 때 입력수단 및 표시수단은 다양하게 구성될 수 있다. 가령 입력수단은 키보드, 마우스, 트랙볼, 마이크, 버튼, 터치패널 등을 포함할 수 있으나 이에 한정되지 않는다.
본 발명의 일 실시예에 따른 통신망(400)은 데이터 프로세싱 시스템의 각 구성 간의 데이터 송수신을 매개하는 통신망을 의미할 수 있다. 가령 통신망(400)은 LANs(Local Area Networks), WANs(Wide Area Networks), MANs(Metropolitan Area Networks), ISDNs(Integrated Service Digital Networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어 통신망(400)은 개별 디바이스(300)가 생성한 제1 데이터가 서버(100)로 전송되는 경로를 제공할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 개별 디바이스(300)가 학습 된 인공 신경망을 이용하여 프로세싱 한 데이터를 수신하고, 이를 관리 및/또는 처리 할 수 있다.
도 2는 본 발명의 일 실시예에 따른 서버(100)의 구성을 개략적으로 도시한 도면이다. 본 명세서에서 서버(100)는 때때로 '데이터 프로세싱 장치'로 명명되어 설명될 수 있다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 서버(100)는 통신부(110), 제1 프로세서(120), 메모리(130) 및 제2 프로세서(140)를 포함할 수 있다. 또한 도면에는 도시되지 않았으나, 본 발명의 일 실시예에 따른 서버(100)는 입/출력부, 프로그램 저장부 등을 더 포함할 수 있다.
통신부(110)는 서버(100)가 사용자 단말(200) 및/또는 개별 디바이스(300)와 같은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
제1 프로세서(120)는 개별 디바이스(300)로부터 수신된 데이터를 관리 및/또는 처리하는 장치일 수 있다. 또한 제1 프로세서(120)는 사용자의 입력에 기반하여 개별 디바이스(300)를 제어하는 장치일 수도 있다.
이때 프로세서(Processor)는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(Microprocessor), 중앙처리장치(Central Processing Unit: CPU), 프로세서 코어(Processor Core), 멀티프로세서(Multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
메모리(130)는 서버(100)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 메모리는 자기 저장 매체(Magnetic Storage Media) 또는 플래시 저장 매체(Flash Storage Media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 가령 메모리(130)는 학습된 인공 신경망을 구성하는 데이터들(가령 계수들)을 일시적 및/또는 영구적으로 저장할 수 있다. 물론 메모리(130)는 인공 신경망을 학습하기 위한 학습 데이터 또는 개별 디바이스(300)로부터 수신된 데이터를 저장할 수도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
제2 프로세서(140)는 전술한 제1 프로세서(120)의 제어에 따라 연산을 수행하는 장치를 의미할 수 있다. 이때 제2 프로세서(140)는 전술한 제1 프로세서(120)보다 높은 연산 능력을 갖는 장치일 수 있다. 가령 제2 프로세서(140)는 GPU(Graphics Processing Unit)로 구성될 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 본 발명의 일 실시예에서, 제2 프로세서(140)는 복수일 수도 있고, 단수일 수도 있다.
본 발명의 일 실시예에 따른 개별 디바이스(300)는 학습된 제1 인공 신경망을 이용하여 개별 디바이스(300)에 대한 입력 데이터로부터 출력 데이터를 생성하여 서버(100)에 전송할 수 있다. 가령 본 발명의 일 실시예에 따른 데이터 프로세싱 시스템이 도로상의 자동차를 모니터링하는 목적으로 사용될 경우, 개별 디바이스(300)는 영상 획득 장치의 형태로 구성될 수 있다. 또한 개별 디바이스(300)는 학습 된 인공 신경망을 이용하여 영상으로부터 자동차의 번호, 자동차의 모델 정보 등을 인식하고 인식된 정보를 서버(100)로 전송할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
도 3은 본 발명의 일 실시예에 따른 개별 디바이스(301)의 구성을 개략적으로 도시한 도면이다. 도 3에서는 예시적으로 개별 디바이스(301)의 구성만을 도시하지만, 나머지 개별 디바이스(302, 303)의 구성도 이와 마찬가지 일 수 있다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 개별 디바이스(301)는 통신부(301-1), 제3 프로세서(301-2), 메모리(301-3) 및 제4 프로세서(301-4)를 포함할 수 있다. 또한 도면에는 도시되지 않았으나, 본 발명의 일 실시예에 따른 개별 디바이스(301)는 그 용도에 따라 영상 획득부(미도시), 음향 획득부(미도시), 온습도 센싱부(미도시)와 같이 주변 환경을 모니터링하는 구성요소를 더 포함할 수도 있다.
통신부(301-1)는 개별 디바이스(301)가 서버(100)와 같은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
제3 프로세서(301-2)는 서버(100)로부터 수신된 소정의 요청에 따라 개별 디바이스(301)의 각 구성요소를 제어하여 제1 데이터를 생성하는 장치일 수 있다. 가령 제3 프로세서(301-2)는 영상 획득부(미도시)를 이용하여 영상을 획득하고, 제4 프로세서(301-4)를 이용하여 획득된 영상으로부터 유효 데이터를 인식하여 제1 데이터를 생성할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
이때 프로세서(Processor)는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(Microprocessor), 중앙처리장치(Central Processing Unit: CPU), 프로세서 코어(Processor Core), 멀티프로세서(Multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
메모리(301-3)는 개별 디바이스(301)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 메모리(301-3)는 자기 저장 매체(Magnetic Storage Media) 또는 플래시 저장 매체(Flash Storage Media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 가령 메모리(301-3)는 학습된 인공 신경망을 구성하는 데이터들(가령 계수들)을 일시적 및/또는 영구적으로 저장할 수 있다. 물론 메모리(301-3)는 획득한 영상 및/또는 영상으로부터 생성된 제1 데이터도 저장할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
제4 프로세서(301-4)는 전술한 제3 프로세서(301-2)의 제어에 따라 연산을 수행하는 장치를 의미할 수 있다. 이때 제4 프로세서(301-4)는 전술한 제3 프로세서(301-2)보다 높은 연산 능력을 갖는 장치일 수 있다. 가령 제4 프로세서(301-4)는 GPU(Graphics Processing Unit)로 구성될 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 본 발명의 일 실시예에서, 제4 프로세서(301-4)는 복수일 수도 있고, 단수일 수도 있다.
본 발명의 일 실시예에서, 개별 디바이스(300)는 도 1에 도시된 바와 같이 복수일 수 있다. 이때 각각의 개별 디바이스(300)는 서버(100)에 의해 학습되어 배포된 인공 신경망을 이용하여 입력 데이터로부터 출력 데이터를 생성할 수 있다.
한편 개별 디바이스(300)는 시스템의 목적에 따라 다양한 형태의 장치로 구성되거나 다양한 형태의 장치로 구현될 수 있다. 가령 전술한 예시에서와 같이 본 발명의 일 실시예에 따른 데이터 프로세싱 시스템이 도로상의 자동차를 모니터링하는 목적으로 사용될 경우, 개별 디바이스(300)는 영상 획득 장치의 형태로 구성될 수 있다.
또한 경우에 따라서 개별 디바이스(300)는 주변 환경을 모니터링하는 센서의 형태로 구현될 수도 있고, 일반적으로 사용되는 사용자 단말의 형태(예를 들어 휴대폰 및/또는 스마트폰)로 구현될 수도 있다. 물론 개별 디바이스(300)는 일반적 가전 제품(예를 들어 TV, 냉장고, 세탁기 등)의 형태로 구현될 수도 있으며, 네트워킹 장치의 형태(예를 들어 공유기, 라우터, 게이트웨이 허브 등)로 구현될 수 도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 서버(100)에 의해 학습된 인공 신경망의 예시적인 구조를 설명하기 위한 도면이다. 이하에서는 설명의 편의를 위하여 제1 인공 신경망 및 제2 인공 신경망을 '인공 신경망'으로 통칭하여 설명한다.
본 발명의 일 실시예에 따른 인공 신경망은 도 4에 도시된 바와 같은 합성 곱 신경망(CNN: Convolutional Neural Network) 모델에 따른 인공 신경망일 수 있다. 이때 CNN 모델은 복수의 연산 레이어(Convolutional Layer, Pooling Layer)를 번갈아 수행하여 최종적으로는 입력 데이터의 특징을 추출하는 데 사용되는 계층 모델일 수 있다.
본 발명의 일 실시예에 따른 제1 프로세서(120)는 학습 데이터를 지도학습(Supervised Learning) 기법에 따라 처리하여 인공 신경망 모델을 구축하거나 학습시킬 수 있다. 제1 프로세서(120)가 인공 신경망을 학습시키는 방법에 대한 상세한 설명은 후술한다.
본 발명의 일 실시예에 따른 제1 프로세서(120)는 복수의 학습 데이터를 이용하여, 어느 하나의 입력 데이터를 인공 신경망에 입력하여 생성된 출력 값이 해당 학습 데이터에 표지된 값에 근접하도록 각 레이어 및/또는 각 노드의 가중치를 갱신하는 과정을 반복하여 수행함으로써 인공 신경망을 학습시킬 수 있다.
이때 본 발명의 일 실시예에 따른 제1 프로세서(120)는 역전파(Back Propagation) 알고리즘에 따라 각 레이어 및/또는 각 노드의 가중치(또는 계수)를 갱신할 수 있다.
본 발명의 일 실시예에 따른 제1 프로세서(120)는 입력 데이터의 특징 값을 추출하기 위한 컨볼루션 레이어(Convolution layer), 추출된 특징 값을 결합하여 특징 맵을 구성하는 풀링 레이어(pooling layer)를 생성할 수 있다.
또한 본 발명의 일 실시예에 따른 제1 프로세서(120)는 생성된 특징 맵을 결합하여, 입력 데이터가 복수의 항목 각각에 해당할 확률을 결정할 준비를 하는 풀리 커넥티드 레이어(Fully Conected Layer)를 생성할 수 있다.
본 발명의 일 실시예에 따른 제1 프로세서(120)는 입력 데이터에 대응되는 출력을 포함하는 아웃풋 레이어(Output Layer)를 산출할 수 있다.
도 4에 도시된 예시에서는, 입력 데이터가 5X7 형태의 블록으로 나누어지며, 컨볼루션 레이어의 생성에 5X3 형태의 단위 블록이 사용되고, 풀링 레이어의 생성에 1X4 또는 1X2 형태의 단위 블록이 사용되는 것으로 도시되었지만, 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 따라서 입력 데이터의 종류 및/또는 각 블록의 크기는 다양하게 구성될 수 있다.
한편 이와 같은 인공 신경망은 전술한 메모리(130)에 인공 신경망의 모델의 종류, 인공 신경망을 구성하는 적어도 하나의 노드의 계수, 노드의 가중치 및 인공 신경망을 구성하는 복수의 레이어 간의 관계를 정의하는 함수의 계수들의 형태로 저장될 수 있다. 물론 인공 신경망의 구조 또한 메모리(130)에 소스코드 및/또는 프로그램의 형태로 저장될 수 있다.
본 발명의 일 실시예에 따른 인공 신경망은 도 5에 도시된 바와 같은 순환 신경망(Recurrent Neural Network, RNN) 모델에 따른 인공 신경망일 수 있다.
도 5를 참조하면, 이와 같은 순환 신경망(RNN) 모델에 따른 인공 신경망은 적어도 하나의 입력 노드(N1)를 포함하는 입력 레이어(L1), 복수의 히든 노드(N2)를 포함하는 히든 레이어(L2) 및 적어도 하나의 출력 노드(N3)를 포함하는 출력 레이어(L3)를 포함할 수 있다.
히든 레이어(L2)는 도시된 바와 같이 전체적으로 연결된(Fully Connected) 하나 이상의 레이어를 포함할 수 있다. 히든 레이어(L2)가 복수의 레이어를 포함하는 경우, 인공 신경망은 각각의 히든 레이어 사이의 관계를 정의하는 함수(미도시)를 포함할 수 있다.
출력 레이어(L3)의 적어도 하나의 출력 노드(N3)는 제1 프로세서(120)의 제어에 따라 인공 신경망이 입력 레이어(L1)의 입력 값으로부터 생성한 출력 값을 포함할 수 있다.
한편 각 레이어의 각 노드에 포함되는 값은 벡터일 수 있다. 또한 각 노드는 해당 노드의 중요도에 대응되는 가중치를 포함할 수도 있다.
한편 인공 신경망은 입력 레이어(L1)와 히든 레이어(L2)의 관계를 정의하는 제1 함수(F1) 및 히든 레이어(L2)와 출력 레이어(L3)의 관계를 정의하는 제2 함수(F2)를 포함할 수 있다.
제1 함수(F1)는 입력 레이어(L1)에 포함되는 입력 노드(N1)와 히든 레이어(L2)에 포함되는 히든 노드(N2)간의 연결관계를 정의할 수 있다. 이와 유사하게, 제2 함수(F2)는 히든 레이어(L2)에 포함되는 히든 노드(N2)와 출력 레이어(L2)에 포함되는 출력 노드(N2)간의 연결관계를 정의할 수 있다.
이와 같은 제1 함수(F1), 제2 함수(F2) 및 히든 레이어 사이의 함수들은 이전 노드의 입력에 기초하여 결과물을 출력하는 순환 신경망 모델을 포함할 수 있다.
제1 프로세서(120)에 의해 인공 신경망이 학습되는 과정에서, 복수의 학습 데이터에 기초하여 제1 함수(F1) 및 제2 함수(F2)가 학습될 수 있다. 물론 인공 신경망이 학습되는 과정에서 전술한 제1 함수(F1) 및 제2 함수(F2) 외에 복수의 히든 레이어 사이의 함수들 또한 학습될 수 있다.
본 발명의 일 실시예에 따른 인공 신경망은 표지(Labeled)된 학습 데이터를 기반으로 지도학습(Supervised Learning) 방식으로 학습될 수 있다.
본 발명의 일 실시예에 따른 제1 프로세서(120)는 복수의 학습 데이터를 이용하여, 어느 하나의 입력 데이터를 인공 신경망에 입력하여 생성된 출력 값이 해당 학습 데이터에 표지된 값에 근접하도록 전술한 함수들(F1, F2, 히든 레이어 사이의 함수들 등)을 갱신하는 과정을 반복하여 수행함으로써 인공 신경망을 학습시킬 수 있다.
이때 본 발명의 일 실시예에 따른 제1 프로세서(120)는 역전파(Back Propagation) 알고리즘에 따라 전술한 함수들(F1, F2, 히든 레이어 사이의 함수들 등)을 갱신할 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
도 4 및 도 5에서 설명한 인공 신경망의 종류 및/또는 구조는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 따라서 다양한 종류의 모델의 인공 신경망이 명세서를 통하여 설명하는 '인공 신경망'에 해당할 수 있다.
이하에서는 서버(100)에 의해 수행되는 데이터 프로세싱 방법을 중심으로 설명한다.
도 6은 서버(100)에 의해 수행되는 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법을 설명하기 위한 도면이다. 이하에서는 설명의 편의를 위해 도 7 내지 도 8을 함께 참조하여 설명한다.
본 발명의 일 실시예에 따른 서버(100)는 제1 인공 신경망을 학습시킬 수 있다.(S810)
도 7은 본 발명의 일 실시예에 따른 서버(100)가 복수의 학습 데이터(510)를 이용하여 제1 인공 신경망(520)을 학습하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제1 인공 신경망(520)은 복수의 학습 데이터(510) 각각에 포함되는 입력 데이터와 출력 데이터 간의 상관관계를 학습한(또는 학습하는) 신경망을 의미할 수 있다. 이 때 복수의 학습 데이터(510) 각각에 포함되는 입력 데이터와 출력 데이터는 시스템의 목적 및/또는 용도에 따라 다양하게 결정될 수 있다.
따라서 본 발명의 일 실시예에 따른 제1 인공 신경망(520)은 입력 데이터의 입력에 따라, 그에 대응되는 출력 데이터를 출력하도록 학습된(또는 학습 되는) 신경망을 의미할 수 있다.
가령 제1 인공 신경망(520)이 도로 상의 자동차 영상으로부터 자동차에 대한 정보를 추출하는데 사용되는 경우, 복수의 학습 데이터(510) 각각은 자동차를 포함하는 영상, 해당 영상에서 자동차의 위치, 해당 영상에서 번호판의 위치, 자동차의 주행 방향, 자동차의 주행 차선, 자동차의 번호 및 자동차의 타입을 포함할 수 있다.
가령 첫 번째 학습 데이터(511)의 경우 자동차를 포함하는 영상(511A), 해당 영상(511A)에서 자동차의 위치(511B), 해당 영상(511A)에서 번호판의 위치(511C), 자동차의 주행 방향(511D), 자동차의 주행 차선(511E), 자동차의 번호(511F) 및 자동차의 타입(511G)을 포함할 수 있다. 이와 유사하게 두 번째 학습 데이터(512) 및 세 번째 학습 데이터(513)도 각각 상술한 항목들을 포함할 수 있다. 다만 상술한 항목들은 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 서버(100)는 제2 프로세서(140)를 이용하여 상술한 과정에 따라 제1 인공 신경망(520)을 학습시킬 수 있다. 물론 이때 제1 프로세서(120)가 함께 사용될 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 단계 S810에서 학습된 제1 인공 신경망(520)을 개별 디바이스(300)에 배포할 수 있다. 본 발명에서 제1 인공 신경망(520)과 같은 인공 신경망을 '배포'하는 것은 인공 신경망을 수신하는 장치에서 해당 인공 신경망에 따라 입력 데이터로부터 출력 데이터를 생성할 수 있도록 하기 위해 인공 신경망을 전송하는 것을 포함하는 개념일 수 있다. 이때 인공 신경망을 '전송'하는 것은 인공 신경망의 모델의 종류, 인공 신경망을 구성하는 적어도 하나의 노드의 계수, 노드의 가중치 및 인공 신경망을 구성하는 복수의 레이어 간의 관계를 정의하는 함수의 계수들 등을 전송하는 것을 의미할 수 있다.
이에 따라 본 발명에서 인공 신경망의 학습은 서버(100)에 의해 수행되고, 학습 된 인공 신경망을 이용한 프로세스는 개별 디바이스(300)에서 수행될 수 있다.
본 발명의 일 실시예에 따른 개별 디바이스(300)는 배포된 제1 인공 신경망을 이용하여 출력 데이터를 생성하고, 출력 데이터에 기초하여 제1 데이터를 생성할 수 있다.
가령 첫 번째 개별 디바이스(301)는 배포된 제1 인공 신경망(520)을 이용하여 출력 데이터를 생성하고, 출력 데이터에 기초하여 제1 데이터를 생성할 수 있다. (S830) 물론 이와 유사하게 N 번째 개별 디바이스(303)도 배포된 제1 인공 신경망(520)을 이용하여 출력 데이터를 생성하고, 출력 데이터에 기초하여 제1 데이터를 생성할 수 있다.(S840)
도 8은 본 발명의 일 실시예에 따른 개별 디바이스(300)가 배포된 제1 인공 신경망(520)을 이용하여 출력 데이터를 생성하는 과정을 설명하기 위한 도면이다.
전술한 바와 같이 제1 인공 신경망(520)은 입력 데이터의 입력에 따라, 그에 대응되는 출력 데이터를 출력하도록 학습된(또는 학습 되는) 신경망을 의미할 수 있다. 가령 제1 인공 신경망(520)이 도로 상의 자동차 영상으로부터 자동차에 대한 정보를 추출하는데 사용되는 경우, 제1 인공 신경망(520)은 자동차를 포함하는 영상(530)의 입력에 따라 영상(530)에서 자동차의 위치(Car_Pos), 영상(530)에서 번호판의 위치(Plate_Pos), 자동차의 주행 방향(Direction), 자동차의 주행 차선(Lane), 자동차의 번호(Number) 및 자동차의 타입(Car_type)을 출력할 수 있다.
바꾸어말하면 본 발명의 일 실시예에 따른 개별 디바이스(300)는 제1 인공 신경망(520)에 자동차를 포함하는 영상의 입력하고, 영상에서 자동차의 위치, 영상에서 번호판의 위치, 자동차의 주행 방향, 자동차의 주행 차선, 자동차의 번호 및 자동차의 타입을 제1 인공 신경망(520)의 출력으로써 얻을 수 있다.
이때 본 발명의 일 실시예에 따른 개별 디바이스(300)는 제1 인공 신경망(520)의 출력 데이터를 포함하는 제1 데이터를 생성할 수 있다.
본 발명의 선택적 실시예에 따른 개별 디바이스(300)는 제1 데이터를 생성함에 있어서, 제1 인공 신경망(520)의 출력 데이터 외에, 개별 디바이스(300)의 상태 정보를 나타내는 데이터가 더 포함되도록 할 수 있다. 이때 상태 정보를 나타내는 데이터는 개별 디바이스(300)의 리소스 상태 정보 데이터(예를 들어 제3 프로세서(301-2) 및 제4 프로세서(301-4)의 가용 리소스 정보 데이터), 개별 디바이스의 설치 위치 데이터, 개별 디바이스의 식별 번호 데이터 및 개별 디바이스의 하나 이상의 설정 값 데이터를 포함할 수 있다. 다만 상술한 항목들은 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 서버(100)는 개별 디바이스(300)로부터 제1 데이터를 수신할 수 있다.(S850, S860) 이때 제1 데이터는 개별 디바이스(300)가 단계 S830, S840에서 설명한 과정에 따라 제1 인공 신경망(520)을 이용하여 개별 디바이스(300)에 대한 입력 데이터로부터 생성한 출력 데이터를 포함할 수 있다. 물론 선택적 실시예에 따를 경우 제1 데이터는 개별 디바이스(300)의 상태 정보를 나타내는 데이터를 더 포함할 수도 있다.
본 발명의 일 실시예 따른 서버(100)는 개별 디바이스(300)로부터 수신된 제1 데이터를 처리할 수 있다.(S870) 이때 제1 데이터를 '처리'하는 것은 예를 들어 제1 데이터를 데이터베이스화 하여 조회, 검색 및/또는 수정이 가능한 상태로 만드는 것을 의미할 수 있다. 예를 들어 제1 데이터를 '처리'하는 것은 데이터베이스의 각 필드에 맞게 제1 데이터에 포함된 데이터를 변환하는 과정을 포함할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 선택적 실시예에서, 서버(100)는 학습된 제3 인공 신경망을 이용하여 제1 데이터로부터 제2 데이터를 생성할 수 있다. 바꾸어 말하면 서버(100)는 제3 인공 신경망에 개별 디바이스(300)로부터 수신된 제1 데이터를 입력하여 제3 데이터를 생성할 수 있다. 이때 제3 인공 신경망은 소정의 목적에 따라 학습된 인공 신경망일 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 사용자 단말(200)로부터 제1 데이터의 제공 요청을 수신하고(S880), 수신된 요청에 따라 사용자 단말(200)에 제1 데이터를 제공할 수 있다.(S890) 가령 제1 데이터가 차량의 식별 정보 및 차량의 주행 차로를 포함하는 출력 데이터와 차량의 번호판이 나타나는 이미지를 포함하는 경우, 서버(100)는 출력 데이터와 함께 차량의 번호판이 나타나는 이미지를 사용자 단말(200)에 제공할 수 있다.
도 10은 사용자 단말(200)에 제1 데이터가 표시된 화면(1000)의 예시이다.
도 10을 참조하면, 화면(1000)은 제1 데이터의 조회의 기준을 설정하기 위한 인터페이스가 표시되는 영역(1010), 입력 데이터 및 참고 데이터(출력 데이터의 일부)가 표시되는 영역(1020) 및 출력 데이터가 표시되는 영역(1030)을 포함할 수 있다.
도 10에 도시된 바와 같이 개별 디바이스(300)가 도로 상의 복수의 지점에 설치된 영상 획득 장치이고, 개별 디바이스(300)에 대한 입력 데이터가 도로 상의 자동차의 번호판을 포함하는 영상이며, 개별 디바이스(300)가 제1 인공 신경망을 이용하여 생성 출력 데이터가 영상으로부터 식별된 차량의 식별 정보 및 상기 차량의 주행 차로를 포함하는 경우를 가정하여 살펴보자.
상술한 가정 하에 영역(1010)에는 영상 획득 장치의 설치 위치 등을 기준으로 제1 데이터를 조회하기 위한 인터페이스가 표시될 수 있다. 또한 영역(1020)에는 도로 상의 자동차의 번호판을 포함하는 영상과 번호판이 크롭 된 영상, 그리고 영상 상에서 자동차로 인식된 영역 및 도로 상의 자동차 감지 대상 영역 등이 표시될 수 있다. 또한 영역(1030)에는 출력 데이터로써 차량 방향, 인식 차로, 차량 번호, 차량 종류 및 신뢰도 등이 표시될 수 있다.
다만 도 10에 도시된 화면은 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
도 11은 사용자 단말(200)에 개별 디바이스(300)의 상태 정보가 표시된 화면(1100)의 예시이다.
도 11을 참조하면, 화면(1100)은 개별 디바이스(300)의 조회 기준을 설정하기 위한 인터페이스가 표시되는 영역(1110), 조회 된 개별 디바이스(300)의 상태가 표시되는 영역(1120) 및 영역(1120)에서 선택 된 개별 디바이스(300)의 상세 정보가 표시되는 영역(1130)을 포함할 수 있다.
사용자는 영역(1110)에서 적절한 조회 기준을 선택하여, 자신이 의도한 개별 디바이스의 상태가 영역(1120)에 표시되도록 할 수 있고, 영역(1120)에 표시되는 다양한 제어 인터페이스에 따라 개별 디바이스(300)를 제어할 수 있다. 가령 사용자는 특정 개별 디바이스에 대한 '재시작' 버튼에 대한 입력을 수행함으로써 해당 디바이스가 재시작되도록 할 수 있다. 물론 사용자는 영역(1120)에 표시되는 상태정보(예를 들어 제3 프로세서 및 제4 프로세서의 가용 정도)를 참조하여 개별 디바이스의 상태를 확인할 수도 있다.
도 9는 서버(100)에 의해 갱신된 제2 인공 신경망이 배포되는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 서버(100)는 제2 인공 신경망을 학습시킬 수 있다.(S910) 이때 제2 인공 신경망은 제1 인공 신경망와 상이한 인공 신경망을 의미할 수 있다. 가령 제2 인공 신경망은 제1 인공 신경망과 학습 데이터가 상이한 인공 신경망일 수도 있고, 제1 인공 신경망과 학습 모델이 상이한 인공 신경망일 수도 있다. 물론 제2 인공 신경망은 제1 인공 신경망 대비 적어도 하나의 가중치가 변경된 신경망일 수도 있다.
한편 서버(100)가 학습 데이터에 기초하여 인공 신경망을 학습시키는 과정은 도 7을 통하여 설명되었기에, 서버(100)가 제2 인공 신경망을 학습시키는 과정에 대한 상세한 설명은 생략한다.
본 발명의 일 실시예에 따른 서버(100)는 제2 인공 신경망을 개별 디바이스(300)에 배포할 수 있다.(S920) 이에 따라 개별 디바이스(300)는 인공 신경망을 업데이트 할 수 있다.(S830) 또한 개별 디바이스(300)는 제2 인공 신경망을 이용하여 제1 데이터를 생성하여 서버(100)로 전송할 수 있다.
이와 같이 본 발명은 인공 신경망의 학습은 서버(100)에서 수행하고, 학습 된 인공 신경망을 이용한 프로세스는 개별 디바이스(300)에서 수행함으로써, 네트워크 리소스를 보다 효율적으로 사용할 수 있으며, 시스템 전체적으로 응답 속도를 향상시킬 수 있다.
또한 본 발명은 원본 데이터가 개별 디바이스의 수준에서 처리되도록 하고, 이에 따라 원본 데이터를 네트워크를 통해 전송될 필요가 없게 하여 시스템의 보안을 강화할 수 있다.
또한 본 발명은 개별 디바이스에서 주요 프로세스를 수행하기에, 서버에서 모든 주요 프로세스를 처리하던 종래기술 대비 시스템의 안정성을 향상시킬 수 있다.
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 저장하는 것일 수 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 서버
110: 통신부
120: 제1 프로세서
130: 메모리
140: 제2 프로세서
200: 사용자 단말
300: 개별 디바이스
301, 302, 303: 개별 디바이스
301-1: 통신부
301-2: 제3 프로세서
301-3: 메모리
301-4: 제4 프로세서
400: 통신망

Claims (10)

  1. 개별 디바이스에 분산 된 인공 신경망을 이용하여 데이터를 프로세싱 하는 방법에 있어서,
    개별 디바이스로부터 제1 데이터를 수신하는 단계로써, 상기 제1 데이터는 상기 개별 디바이스가 학습된 제1 인공 신경망을 이용하여 상기 개별 디바이스에 대한 입력 데이터로부터 생성한 출력 데이터를 포함하고; 및
    사용자 단말로부터 수신된 제1 데이터의 제공 요청에 따라 상기 사용자 단말에 상기 제1 데이터를 제공하는 단계;를 포함하는, 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법.
  2. 청구항 1에 있어서
    상기 개별 디바이스는 복수이고,
    상기 복수의 개별 디바이스 각각은 각각의 디바이스 상의 학습된 제1 인공 신경망을 이용하여 각각의 개별 디바이스에 대한 입력 데이터로부터 출력 데이터를 생성하는, 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법.
  3. 청구항 2에 있어서
    상기 제1 데이터를 수신하는 단계는
    상기 복수의 개별 디바이스 각각으로부터 상기 출력 데이터를 포함하는 제1 데이터를 수신하는 단계;를 포함하는, 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법.
  4. 청구항 2에 있어서
    상기 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법은
    상기 제1 데이터를 수신하는 단계 이전에,
    제1 학습 데이터에 기반하여 상기 제1 인공 신경망을 학습시키는 단계; 및
    상기 학습된 제1 인공 신경망을 상기 복수의 개별 디바이스에 배포하는 단계;를 포함하는, 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법.
  5. 청구항 2에 있어서
    상기 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법은
    제2 학습 데이터에 기반하여 상기 제1 인공 신경망과 상이한 제2 인공 신경망을 학습시키는 단계; 및
    상기 학습된 제2 인공 신경망을 상기 복수의 개별 디바이스에 배포하는 단계;를 포함하고
    상기 복수의 개별 디바이스 각각은
    상기 제2 인공 신경망을 이용하여 입력 데이터로부터 출력 데이터를 생성하는, 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법.
  6. 청구항 1에 있어서
    상기 제1 데이터는
    상기 개별 디바이스의 상태 정보를 나타내는 데이터를 더 포함하고,
    상기 제1 데이터를 제공하는 단계는
    상기 제1 데이터와 상기 상태 정보를 나타내는 데이터를 함께 제공하는 단계;를 포함하는, 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법.
  7. 청구항 6에 있어서
    상기 상태 정보를 나타내는 데이터는
    상기 개별 디바이스의 리소스 상태 정보 데이터, 상기 개별 디바이스의 설치 위치 데이터, 상기 개별 디바이스의 식별 번호 데이터 및 상기 개별 디바이스의 하나 이상의 설정 값 데이터 중 적어도 하나 이상을 포함하는, 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법.
  8. 청구항 1에 있어서
    상기 개별 디바이스는
    도로 상의 복수의 지점에 설치된 영상 획득 장치이고,
    상기 개별 디바이스에 대한 상기 입력 데이터는
    상기 도로 상의 자동차의 번호판을 포함하는 영상을 포함하고
    상기 개별 디바이스가 상기 제1 인공 신경망을 이용하여 생성 출력 데이터는
    상기 영상으로부터 식별된 차량의 식별 정보 및 상기 차량의 주행 차로를 포함하는, 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법.
  9. 청구항 8에 있어서
    상기 제1 데이터는
    상기 차량의 식별 정보 및 상기 차량의 주행 차로를 포함하는 출력 데이터와 상기 차량의 번호판이 나타나는 이미지를 포함하고,
    상기 제1 데이터를 제공하는 단계는
    상기 출력 데이터와 함께 상기 차량의 번호판이 나타나는 이미지를 제공하는 단계;를 포함하는, 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법.
  10. 컴퓨터를 이용하여 제1 항 내지 제9 항 중 어느 한 항의 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램.
KR1020210016844A 2021-02-05 2021-02-05 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법, 장치 및 컴퓨터 프로그램 KR20220113089A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210016844A KR20220113089A (ko) 2021-02-05 2021-02-05 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법, 장치 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210016844A KR20220113089A (ko) 2021-02-05 2021-02-05 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법, 장치 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20220113089A true KR20220113089A (ko) 2022-08-12

Family

ID=82803988

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210016844A KR20220113089A (ko) 2021-02-05 2021-02-05 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법, 장치 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR20220113089A (ko)

Similar Documents

Publication Publication Date Title
KR20190056720A (ko) 뉴럴 네트워크 학습 방법 및 디바이스
US11669781B2 (en) Artificial intelligence server and method for updating artificial intelligence model by merging plurality of pieces of update information
KR102190103B1 (ko) 인공 신경망의 상용화 서비스 제공 방법
KR20190056940A (ko) 멀티모달 데이터 학습 방법 및 장치
CN111046027A (zh) 时间序列数据的缺失值填充方法和装置
US11887224B2 (en) Method, apparatus, and computer program for completing painting of image, and method, apparatus, and computer program for training artificial neural network
CN111264054A (zh) 电子装置及其控制方法
KR20190140801A (ko) 영상, 음성, 텍스트 정보를 기반으로 사용자의 감정, 나이, 성별을 인식하는 방법
CN114972591A (zh) 动画生成模型的训练方法、动画生成方法和装置
CN114549369B (zh) 数据修复方法、装置、计算机及可读存储介质
CN116164770B (zh) 路径规划方法、装置、电子设备和计算机可读介质
KR20220113089A (ko) 분산 된 인공 신경망을 이용한 데이터 프로세싱 방법, 장치 및 컴퓨터 프로그램
CN116246127A (zh) 图像模型训练方法、图像处理方法、装置、介质及设备
KR102168541B1 (ko) 제1 신경망을 이용한 제2 신경망 학습 방법 및 컴퓨터 프로그램
KR102190100B1 (ko) 인공 신경망 학습 방법
KR20230128833A (ko) 전시 서비스 제공 방법
CN114500900A (zh) 丢失对象的寻找方法及装置
KR20210149336A (ko) 멀티디바이스 기반 화자분할 성능 향상을 위한 방법 및 시스템
KR102507892B1 (ko) 객체 상태 인식 방법, 장치 및 컴퓨터 프로그램
KR102430548B1 (ko) 구조화된 학습 데이터의 전처리 방법
CN113469159B (zh) 障碍物信息生成方法、装置、电子设备和计算机可读介质
KR20230162430A (ko) 사용자의 위험 상황을 감지하는 사용자 단말
KR20230118737A (ko) 위험 상황 감지 시스템
CN110633707A (zh) 预测速度的方法和装置
KR102643766B1 (ko) 기계학습 및 증강현실 기술 기반의 객체 정보 표시 방법 및 객체 정보 표시 시스템