KR20220075965A - Device and method for supporting deep learning - Google Patents
Device and method for supporting deep learning Download PDFInfo
- Publication number
- KR20220075965A KR20220075965A KR1020200164632A KR20200164632A KR20220075965A KR 20220075965 A KR20220075965 A KR 20220075965A KR 1020200164632 A KR1020200164632 A KR 1020200164632A KR 20200164632 A KR20200164632 A KR 20200164632A KR 20220075965 A KR20220075965 A KR 20220075965A
- Authority
- KR
- South Korea
- Prior art keywords
- edge
- deep learning
- edge device
- support
- learning model
- Prior art date
Links
- 238000013135 deep learning Methods 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000013136 deep learning model Methods 0.000 claims abstract description 85
- 230000015654 memory Effects 0.000 claims abstract description 27
- 238000004891 communication Methods 0.000 claims description 24
- 238000002372 labelling Methods 0.000 claims description 14
- 238000012549 training Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 238000007667 floating Methods 0.000 claims description 5
- 230000007786 learning performance Effects 0.000 claims description 5
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000002950 deficient Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 102100025508 Cytoplasmic tRNA 2-thiolation protein 2 Human genes 0.000 description 1
- 101000856509 Homo sapiens Cytoplasmic tRNA 2-thiolation protein 2 Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시하며, 일 실시예에 따르면, 딥러닝을 수행하는 엣지 디바이스와 통신하는 지원 디바이스로서, 딥러닝을 수행하기 위한 프로그램이 저장되는 메모리, 및 상기 프로그램을 실행함으로써 딥러닝을 수행하는 제어부를 포함하며, 상기 제어부는, 상기 엣지 디바이스로부터 획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공할 수 있다.A deep learning support device and a deep learning support method are provided, and according to an embodiment, as a support device communicating with an edge device performing deep learning, a memory in which a program for performing deep learning is stored, and executing the program and a controller for performing deep learning by doing so, wherein the controller may provide an edge-supported deep learning model learned based on the learning data obtained from the edge device to the edge device.
Description
본 명세서에서 개시되는 실시예들은 딥러닝 지원 디바이스 및 딥러닝 지원 방법에 관한 것으로, 보다 상세하게는 엣지 디바이스에서의 딥러닝 수행을 지원하는 디바이스 및 방법에 관한 것이다.Embodiments disclosed herein relate to a device and a method for supporting deep learning, and more particularly, to a device and method for supporting performing deep learning in an edge device.
최근 들어 컴퓨팅 기술의 발전에 따라 머신러닝의 적용이 증가하고 있으며, 최근 머신러닝 중에서 딥러닝 기술이 비약적으로 발전하고 있다.Recently, with the development of computing technology, the application of machine learning is increasing, and among recent machine learning, deep learning technology is developing rapidly.
한편 사용자나 데이터의 위치에서 컴퓨팅이 수행되는 엣지 디바이스가 널리 보급되고 있다. 일 예로서, 엣지 디바이스로서 구현된 카메라는 공장 등의 산업현장에 설치되어 머신 비전을 수행하기도 하며, 또 다른 예로서, 엣지 디바이스로서 구현된 카메라는 교통 사거리나 골목 등의 도로에 설치되어 트래픽을 제어하거나 교통 법규 준수 여부를 관리하기도 한다.Meanwhile, edge devices in which computing is performed at the location of users or data have become widespread. As an example, a camera implemented as an edge device is installed in an industrial site such as a factory to perform machine vision, and as another example, a camera implemented as an edge device is installed on a road such as a traffic intersection or alley to reduce traffic. It also controls or manages compliance with traffic laws.
이러한 엣지 디바이스는 많은 데이터를 처리하기 때문에 그 성능을 향상시키기 위해 딥러닝 모델을 적용하고자 하는 시도가 이루어지고 있다. Since these edge devices process a lot of data, attempts are being made to apply a deep learning model to improve its performance.
다만 엣지 디바이스는 사용자단에서 설치되어 이용되기 때문에 제한된 환경 내에서 동작하고 그에 따라 그 크기나 성능이 경량화되어 있는 경우가 많으며, 또한, 엣지 디바이스가 설치될 때 마다 설치되는 환경이 서로 다른 경우가 많아, 엣지 디바이스에 딥러닝 모델을 적용하기 위해서는 별도로 엣지 디바이스에 저장된 딥러닝 모델을 학습시켜야 하며 딥러닝 모델 학습을 위한 학습데이터도 별도로 수집해야 하는 불편함이 있다. However, since edge devices are installed and used at the user end, they operate within a limited environment and their size and performance are often reduced accordingly. , in order to apply a deep learning model to an edge device, it is necessary to separately train the deep learning model stored in the edge device, and there is the inconvenience of separately collecting training data for learning the deep learning model.
따라서 딥러닝을 수행할 수 있는 엣지 디바이스를 구현하는데 많은 어려움이 있다.Therefore, there are many difficulties in implementing an edge device that can perform deep learning.
관련하여 선행기술 문헌인 대한민국 등록특허 제10-2016-0096460 호에는 딥러닝 기반 인식 시스템에 관한 것으로서 상기 시스템은, 입력 영상에 대해 제1 분류 기준에 따라 학습을 수행하여 제1 분류 결과를 출력하는 제1 분류기, 및 제1 분류 결과에 대하여 제1 분류 기준과 상이한 제2 분류 기준에 따라 학습을 수행하여 제2 분류 결과를 출력하는 제2 분류기를 포함하며, 제1 분류 기준은 제2 분류 기준의 선결적 관계가 되는 기준에 있는 것에 대해 기재하고 있다. 즉, 선행기술은 딥러닝 기반으로 입력값에 대한 결과를 출력하는데 그칠 뿐 딥러닝을 수행하는 엣지 디바이스를 구현하기 위한 방법을 제안하고 있지 못하다.In relation to this, a prior art document, Republic of Korea Patent Registration No. 10-2016-0096460, relates to a deep learning-based recognition system, wherein the system performs learning on an input image according to a first classification criterion to output a first classification result. a first classifier and a second classifier configured to output a second classification result by performing learning on the first classification result according to a second classification criterion different from the first classification criterion, wherein the first classification criterion is the second classification criterion It describes what is in the criteria that is a prerequisite for That is, the prior art does not propose a method for realizing an edge device that performs deep learning only by outputting a result for an input value based on deep learning.
따라서 상술된 문제점을 해결하기 위한 기술이 필요하게 되었다.Therefore, there is a need for a technique for solving the above-mentioned problems.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.On the other hand, the above-mentioned background art is technical information that the inventor possessed for the purpose of derivation of the present invention or acquired during the derivation process of the present invention, and it cannot be said that it is necessarily known technology disclosed to the general public before the filing of the present invention. .
본 명세서에서 개시되는 실시예들은, 딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시하는데 목적이 있다.Embodiments disclosed herein, it is an object to present a deep learning support device and deep learning support method.
또한, 본 명세서에서 개시되는 실시예들은, 최소한의 시간과 최소한의 리소스로 엣지 디바이스의 딥러닝 수행을 지원할 수 있는 딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시하는데 목적이 있다.In addition, the embodiments disclosed herein have an object to provide a deep learning support device and deep learning support method that can support the deep learning performance of the edge device with a minimum amount of time and minimum resources.
또한, 본 명세서에서 개시되는 실시예들은, 설치와 동시에 엣지 디바이스의 학습을 위한 학습데이터를 수집할 수 있는 딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시하는데 목적이 있다. In addition, the embodiments disclosed in the present specification, it is an object to present a deep learning support device and deep learning support method that can collect learning data for learning of the edge device at the same time as installation.
또한, 본 명세서에서 개시되는 실시예들은, 엣지 디바이스와 지원 디바이스 간의 실시간 통신이 필요하지 않는 딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시하는데 목적이 있다.In addition, embodiments disclosed herein have an object to provide a deep learning support device and a deep learning support method that do not require real-time communication between the edge device and the support device.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 명세서에 기재된 일 실시예에 따르면, 딥러닝을 수행하는 엣지 디바이스와 통신하는 지원 디바이스로서, 딥러닝을 수행하기 위한 프로그램이 저장되는 메모리, 및 상기 프로그램을 실행함으로써 딥러닝을 수행하는 제어부를 포함하며, 상기 제어부는, 상기 엣지 디바이스로부터 획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공할 수 있다.As a technical means for achieving the above-described technical problem, according to an embodiment described in the present specification, as a support device that communicates with an edge device that performs deep learning, a memory in which a program for performing deep learning is stored, and the and a controller for performing deep learning by executing a program, wherein the controller may provide an edge-supported deep learning model learned based on the learning data obtained from the edge device to the edge device.
또한, 상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 명세서에 기재된 일 실시예에 따르면, 딥러닝을 수행하는 엣지 디바이스와 통신하는 지원 디바이스가, 상기 엣지 디바이스의 딥러닝 수행을 지원하기 위한 방법으로서, 상기 엣지 디바이스로부터 학습데이터를 획득하는 단계, 및 획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는 단계를 포함할 수 있다.In addition, as a technical means for achieving the above-described technical problem, according to an embodiment described in the present specification, a support device that communicates with an edge device performing deep learning, a method for supporting the deep learning performance of the edge device As such, it may include acquiring training data from the edge device, and providing an edge-supported deep learning model learned based on the acquired training data to the edge device.
또한, 상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 명세서에 기재된 일 실시예에 따르면, 지원 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체로서 상기 지원 방법은, 엣지 디바이스로부터 학습데이터를 획득하는 단계, 및 획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는 단계를 포함할 수 있다.In addition, as a technical means for achieving the above-described technical problem, according to an embodiment described in the present specification, as a computer-readable recording medium on which a program for performing a support method is recorded, the support method includes learning data from an edge device. It may include obtaining, and providing an edge-supported deep learning model learned based on the obtained learning data to the edge device.
또한, 상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 명세서에 기재된 일 실시예에 따르면, 딥러닝을 수행하는 엣지 디바이스와 통신하는 지원 디바이스에 의해 수행되며, 지원 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램으로서 상기 지원 방법은, 엣지 디바이스로부터 학습데이터를 획득하는 단계, 및 획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는 단계를 포함할 수 있다.In addition, as a technical means for achieving the above-described technical problem, according to an embodiment described in the present specification, it is performed by a support device that communicates with an edge device that performs deep learning, and is stored in the medium to perform the support method. As a computer program, the support method may include acquiring training data from an edge device, and providing an edge-supported deep learning model learned based on the acquired training data to the edge device.
또한, 상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 명세서에 기재된 일 실시예에 따르면, 딥러닝을 수행하는 엣지 디바이스, 및 상기 엣지 디바이스와 통신하는 지원 디바이스를 포함하는 딥러닝 시스템이, 상기 엣지 디바이스의 딥러닝 수행을 지원하기 위한 방법으로서, 상기 지원 디바이스가, 상기 엣지 디바이스로부터 학습데이터를 획득하는 단계, 상기 지원 디바이스가, 획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는 단계, 및 상기 엣지 디바이스가, 상기 엣지 지원 딥러닝 모델을 기반으로 엣지 전용 딥러닝 모델을 구성하는 단계를 포함할 수 있다.In addition, as a technical means for achieving the above-described technical problem, according to an embodiment described in the present specification, a deep learning system including an edge device performing deep learning, and a support device communicating with the edge device, the A method for supporting the deep learning performance of an edge device, the support device acquiring learning data from the edge device, the support device, the edge support deep learning model learned based on the acquired learning data It may include providing the edge device to the edge device, and the edge device configuring an edge-only deep learning model based on the edge supported deep learning model.
전술한 과제 해결 수단 중 하나에 의하면, 딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시할 수 있다.According to one of the above-mentioned problem solving means, it is possible to present a deep learning support device and a deep learning support method.
또한, 전술한 과제 해결 수단 중 하나에 의하면, 최소한의 시간과 최소한의 리소스로 엣지 디바이스의 딥러닝 수행을 지원할 수 있는 딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시할 수 있다. 또한 엣지 디바이스를 설치할 때마다 비용과 시간이 많이 드는 수동 라벨링을 하지 않아도 학습을 진행할 수 있다.In addition, according to one of the above-mentioned problem solving means, it is possible to present a deep learning support device and a deep learning support method that can support the deep learning performance of an edge device with a minimum amount of time and minimum resources. In addition, learning can proceed without costly and time-consuming manual labeling every time an edge device is installed.
또한, 전술한 과제 해결 수단 중 하나에 의하면, 설치와 동시에 엣지 디바이스의 학습을 위한 학습데이터를 수집할 수 있는 딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시할 수 있다. 이를 통해 엣지 디바이스의 딥러닝 구현을 위해 별도의 시간 또는 리소스를 투입하여 학습데이터를 따로 수집하지 않아도 된다. In addition, according to one of the above-described problem solving means, it is possible to present a deep learning support device and a deep learning support method that can collect learning data for learning of an edge device at the same time as installation. Through this, there is no need to separately collect learning data by investing extra time or resources to implement deep learning of edge devices.
또한, 전술한 과제 해결 수단 중 하나에 의하면, 엣지 디바이스와 지원 디바이스 간의 실시간 통신이 필요하지 않는 딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시할 수 있다. 즉 엣지 디바이스에서 실시간 추론을 하기 때문에, 엣지 디바이스와 지원 디바이스 간의 실시간 통신이 필요하지 않게 되므로 양 디바이스 간의 통신을 위한 대역폭이 넓지 않아도 좋다.In addition, according to one of the above-described problem solving means, it is possible to present a deep learning support device and a deep learning support method that do not require real-time communication between the edge device and the support device. That is, since real-time inference is performed by the edge device, real-time communication between the edge device and the supported device is not required, so the bandwidth for communication between the two devices does not need to be wide.
개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Effects obtainable in the disclosed embodiments are not limited to the above-mentioned effects, and other effects not mentioned are clear to those of ordinary skill in the art to which the embodiments disclosed from the description below belong. can be understood clearly.
도 1은 본 명세서에 개시된 일 실시예에 따른 딥러닝 시스템을 설명하기 위한 구성도이다.
도 2는 본 명세서에 개시된 일 실시예에 따른 딥러닝 지원 디바이스의 구성을 나타내는 블록도이다.
도 3 내지 도 4는 본 명세서에 기재된 일 실시예에 따른 딥러닝 지원 방법을 설명하기 위한 순서도이다.1 is a configuration diagram for explaining a deep learning system according to an embodiment disclosed in the present specification.
2 is a block diagram showing the configuration of a deep learning support device according to an embodiment disclosed in the present specification.
3 to 4 are flowcharts for explaining a deep learning support method according to an embodiment described in the present specification.
아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, various embodiments will be described in detail with reference to the accompanying drawings. The embodiments described below may be modified and implemented in various different forms. In order to more clearly describe the characteristics of the embodiments, detailed descriptions of matters widely known to those of ordinary skill in the art to which the following embodiments belong are omitted. In addition, in the drawings, parts irrelevant to the description of the embodiments are omitted, and similar reference numerals are attached to similar parts throughout the specification.
명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐 아니라, ‘그 중간에 다른 구성을 사이에 두고 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.Throughout the specification, when a component is said to be "connected" with another component, it includes not only the case where it is 'directly connected', but also the case where it is 'connected with another component in between'. In addition, when a component "includes" a component, it means that other components may be further included, rather than excluding other components, unless otherwise stated.
이하 첨부된 도면을 참고하여 실시예들을 상세히 설명하기로 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.
도 1은 본 명세서에 개시된 일 실시예에 따른 딥러닝 시스템을 설명하기 위한 구성도이다.1 is a configuration diagram for explaining a deep learning system according to an embodiment disclosed in the present specification.
도 1에서 도시된 바와 같이 딥러닝 시스템(100)은 엣지 디바이스(10) 및 딥러닝 지원 디바이스(20)를 포함하며, 엣지 디바이스(10) 및 딥러닝 지원 디바이스(20)는 네트워크를 통해 통신할 수 있다.1, the
엣지 디바이스(10)는 딥러닝 지원 디바이스(20)에 비해 경량화되어 구현되고 그에 따라 예를 들어, 플롭스(FLOPS, FLoating point Operations Per Second), 램(RAM) 크기, GPU 크기, 이미지 해상도 및 처리속도(fps) 중 적어도 하나가 딥러닝 지원 디바이스(20)에 비해 상대적으로 더 낮은 성능을 가질 수 있다.The
관련하여 상용화된 딥러닝 장비(intel NCS2, NVIDIA Jetson NANO 등)에서 30FPS(실시간 기준) 이상으로 동작할 수 있는 경량화된 네트워크(mobilenet부류의 네트워크)를 수정하여 엣지 디바이스(10)에서 사용할 수 있다.In relation to this, it is possible to modify a lightweight network (mobilenet-type network) that can operate at 30 FPS (real-time basis) or more in commercially available deep learning equipment (intel NCS2, NVIDIA Jetson NANO, etc.) and use it in the
이러한 엣지 디바이스(10)는 입력된 데이터에 대한 딥러닝을 수행하여 결과를 출력하는 디바이스로서 딥러닝 모델을 수행하기 위한 프로그램이 설치 및 구동될 수 있고, 엣지 디바이스(10)는 구동된 컴퓨터 프로그램의 제어에 따라 입력된 데이터에 대한 딥러닝을 수행하여 결과값을 제공할 수 있다. The
엣지 디바이스(10)에는 딥러닝 모델로서 엣지 전용 딥러닝 모델을 저장할 수 있고, 엣지 전용 딥러닝 모델은 예를 들어, DNN(Deep neural network), CNN(Convolutional neural network), RNN (Recurrent Neural Network) 등으로 구현될 수 있다. 따라서 엣지 디바이스(10)는 처리 대상이 되는 데이터를 획득하면, 학습된 딥러닝 모델에 기반하여 결과값을 출력할 수 있다.The
이처럼 딥러닝 시스템(100)에 포함되는 엣지 디바이스(10)는 획득된 데이터에 대해 딥러닝을 수행하여 결과값을 출력하므로 딥러닝 지원 디바이스(20)와 실시간으로 통신할 필요가 없으며 그에 따라 통신에 필요한 대역폭이 넓을 필요가 없다.As such, the
한편 도 2는 일 실시예에 따른 딥러닝 지원 디바이스의 구성을 도시한 도면이다. Meanwhile, FIG. 2 is a diagram illustrating the configuration of a device for supporting deep learning according to an embodiment.
일 실시예에 따르면, 지원 디바이스(20)에는 딥러닝 모델을 수행하기 위한 프로그램이 설치 및 구동될 수 있고, 지원 디바이스(20)는 구동된 컴퓨터 프로그램의 제어에 따라 본 명세서에 기재된 실시예에 따른 지원 방법을 수행할 수 있다. According to an embodiment, a program for performing a deep learning model may be installed and driven in the
이와 같은 지원 디바이스(20)는 서버로 구현되거나 또는 서버-클라이언트 시스템으로 구현될 수 있으며, 지원 디바이스(20)가 서버-클라이언트 시스템으로 구현되어 전자단말기를 포함한다면 전자단말기는 엣지 디바이스(10)로부터 획득된 데이터를 입력받기 위한 인터페이스를 포함할 수 있다.Such a
이때 전자단말기는 네트워크를 통해 원격지의 서버에 접속하거나, 타 디바이스 및 서버와 연결 가능한 컴퓨터나 휴대용 단말기, 텔레비전, 웨어러블 디바이스(Wearable Device) 등으로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop)등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), GSM(Global System for Mobile communications), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), 스마트폰(Smart Phone), 모바일 WiMAX(Mobile Worldwide Interoperability for Microwave Access) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, 텔레비전은 IPTV(Internet Protocol Television), 인터넷 TV(Internet Television), 지상파 TV, 케이블 TV 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 디바이스와 연결될 수 있다.In this case, the electronic terminal may be implemented as a computer, a portable terminal, a television, a wearable device, etc. that can connect to a remote server through a network or connect to other devices and servers. Here, the computer includes, for example, a laptop, a desktop, and a laptop equipped with a web browser, and the portable terminal is, for example, a wireless communication device that ensures portability and mobility. , PCS (Personal Communication System), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), GSM (Global System for Mobile communications), IMT (International Mobile Telecommunication)-2000, CDMA (Code) All kinds of handhelds such as Division Multiple Access)-2000, W-Code Division Multiple Access (W-CDMA), Wireless Broadband Internet (Wibro), Smart Phone, Mobile Worldwide Interoperability for Microwave Access (WiMAX), etc. It may include a (Handheld)-based wireless communication device. In addition, the television may include IPTV (Internet Protocol Television), Internet TV (Internet Television), terrestrial TV, cable TV, and the like. Furthermore, a wearable device is, for example, a type of information processing device that can be worn directly on the human body, such as watches, glasses, accessories, clothes, shoes, etc. can be connected with
그리고 서버는, 네트워크를 통해 통신이 가능한 컴퓨터로 구현되거나 클라우드 컴퓨팅 서버로 구현될 수 있다. 또한, 서버는 데이터를 저장할 수 있는 저장장치를 포함하거나 제 3의 서버를 통해 데이터를 저장할 수 있다.In addition, the server may be implemented as a computer capable of communication through a network or may be implemented as a cloud computing server. In addition, the server may include a storage device capable of storing data or may store data through a third server.
상술된 바와 같이 지원 디바이스(20)는 서버 또는 서버-클라이언트 시스템 중 어느 하나의 형태로 구현될 수 있으며, 지원 디바이스(20)를 구성하는 구성부는 물리적으로 분리된 복수의 서버에서 수행되거나 하나의 서버에서 수행될 수 있다.As described above, the
실시예에 따른 지원 디바이스(20)는 통신부(210), 메모리(220) 및 제어부(230)를 포함할 수 있다.The
통신부(210)는 지원 디바이스(20)가 엣지 디바이스(10) 또는 네트워크와 유무선 통신을 수행하도록 할 수 있다. 가령 통신부(210)는 제3의 서버와 통신하여 지원 방법을 수행하기 위한 각종 데이터를 송수신할 수 있다. 이를 위해, 통신부(210)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 모듈은 칩셋(chipset)의 형태로 구현될 수 있다.The
이때, 통신부(210)가 지원하는 무선 통신은, 예를 들어 Wi-Fi(Wireless Fidelity), Wi-Fi Direct, 블루투스(Bluetooth), UWB(Ultra Wide Band) 또는 NFC(Near Field Communication) 등일 수 있다. 또한, 통신부(210)가 지원하는 유선 통신은, 예를 들어 USB 또는 HDMI(High Definition Multimedia Interface) 등일 수 있다.In this case, the wireless communication supported by the
실시예에 따르면, 지원 디바이스(20)가 서버로 구성될 때, 통신부(210)는 엣지 디바이스(10)로부터, 상기 엣지 디바이스에 저장된 엣지 전용 딥러닝 모델에 관한 모델정보 또는 성능정보를 수신할 수 있고, 지원 방법의 수행에 따른 연산 결과를 엣지 디바이스(10)로 송신할 수도 있다.According to the embodiment, when the
반면 메모리(220)에는 파일, 애플리케이션 및 프로그램 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 제어부(230)는 메모리(220)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(220)에 저장할 수도 있다. 또한, 제어부(230)는 메모리(220)에 설치된 프로그램을 실행할 수도 있다. 예를 들어, 메모리(220)는 딥러닝 모델이 구현된 프로그램이 설치될 수 있으며, 상술한 바와 같이 엣지 디바이스(10)로부터 획득한 데이터를 저장할 수도 있다.On the other hand, various types of data such as files, applications, and programs may be installed and stored in the
반면 제어부(230)는 지원 디바이스(20)의 전체적인 동작을 제어하며, CPU, GPU 등과 같은 프로세서를 포함할 수 있다. 제어부(230)는 딥러닝 수행을 위한 지원을 수행하도록 지원 디바이스(20)에 포함된 다른 구성들을 제어할 수 있다. 예를 들어, 제어부(230)는 메모리(220)에 저장된 프로그램을 실행시키거나, 메모리(220)에 저장된 파일을 읽어오거나, 새로운 파일을 메모리(220)에 저장할 수도 있다.On the other hand, the
실시예에 따르면, 제어부(230)는 엣지 디바이스(10)로부터 획득된 데이터를 라벨링하기 위한 라벨링 네트워크를 학습시킬 수 있다.According to an embodiment, the
이때 라벨링 네트워크에 적용되는 딥러닝 모델은 예를 들어, DNN(Deep neural network), CNN(Convolutional neural network), RNN (Recurrent Neural Network) 등이 될 수 있으며 상술된 예에 제한되지 않는다.In this case, the deep learning model applied to the labeling network may be, for example, a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), and the like, and is not limited to the above-described example.
또 다른 실시예에 따르면, 라벨링 네트워크는 범용 라벨링 네트워크로서 제어부(230)에 저장되어 있어, 엣지 디바이스(10)로부터 획득한 학습데이터를 최초로 라벨링할 때 학습이 필요하지 않은 경우도 있다According to another embodiment, the labeling network is stored in the
제어부(230)는 라벨링 네트워크를 이용하여, 엣지 디바이스(10)로부터 획득된 데이터를 라벨링할 수 있다. The
그리고 제어부(230)는 라벨링된 데이터 중에서 신뢰도가 높은 데이터를 선별하고 선별된 데이터를 입력값으로 하여 엣지 전용 딥러닝 모델의 출력값을 출력하도록 엣지 지원 딥러닝 모델을 학습시킬 수 있다.In addition, the
아울러 제어부(230)는 라벨링된 데이터 중에서 신뢰도가 높은 데이터를 선별하고 선별된 데이터로 라벨링 네트워크를 재학습시킬 수 있다.In addition, the
이때 신뢰도는 라벨링이 적합하게 될수록 높아질 수 있으며, 예를 들어 대상이미지의 클래스를 추론하여 대상이미지가 속하는 클래스로 라벨링하였을 때 해당 클래스 관련 스코어를 신뢰도로 결정할 수 있다. In this case, the reliability can be increased as the labeling becomes more suitable. For example, when the class of the target image is inferred and labeled with the class to which the target image belongs, the corresponding class-related score can be determined as the reliability.
제어부(230)는 학습된 엣지 지원 딥러닝 모델을 엣지 디바이스(10)로 제공할 수 있다.The
일 실시예에 따르면 제어부(230)는 학습된 엣지 지원 딥러닝 모델에서의 가중치(weight) 값을 엣지 디바이스(10)로 제공할 수 있다. 그에 따라 가중치 값을 수신한 엣지 디바이스(10)는 엣지 전용 딥러닝 모델의 가중치 값을 지원 디바이스(20)로부터 수신된 가중치 값에 따라 변경함으로써 엣지 전용 딥러닝 모델을 최적화할 수 있다.According to an embodiment, the
한편 제어부(230)는 엣지 지원 딥러닝 모델의 학습을 위해 엣지 전용 딥러닝 모델에 관한 모델정보를 엣지 디바이스(10)로부터 획득할 수 있다.Meanwhile, the
예를 들어 제어부(230)는 복수 개의 딥러닝 모델 중에서, 엣지 전용 딥러닝 모델에 매칭되는 모델을 선택할 수 있다. 예를 들어 엣지 디바이스(10)로부터 엣지 전용 딥러닝 모델이 CNN으로 구현됨을 나타내는 모델정보를 획득하면 해당 모델정보에 매칭되는 CNN을 선택할 수 있다. 또한 예를 들어 제어부(230)는 엣지 전용 딥러닝 모델을 구성하는 계층에 관한 정보를 포함하는 모델정보를 획득하면 해당 모델정보를 기반으로 엣지 지원 딥러닝 모델의 계층을 동일하게 구성할 수 있다.For example, the
또한 제어부(230-)는 엣지 지원 딥러닝 모델의 학습을 위해, 엣지 디바이스(10)로 구현된 기기의 성능에 관한 성능정보를 엣지 디바이스(10)로부터 획득할 수 있다.In addition, the controller 230 - may obtain performance information about the performance of a device implemented as the
예를 들어 제어부(230)는 성능정보로서, 플롭스(FLOPS, FLoating point Operations Per Second), 램(RAM) 크기, GPU 크기, 이미지 해상도 및 처리속도(또는 검사속도; FPS) 중 적어도 하나를 엣지 디바이스로부터 획득할 수 있다.For example, the
그리고 제어부(230)는 엣지 디바이스(10)로부터 획득한 모델정보에 기반하여 엣지 지원 딥러닝 모델을 구성할 수 있다.In addition, the
예를 들어 처리속도가 소정의 값임을 획득하게 되면 제어부(230)는 엣지 지원 딥러닝 모델에 대한 입력값이 입력되었을 때 상기 처리속도에 맞춰 출력값이 출력될 수 있도록 엣지 지원 딥러닝 모델을 구성할 수 있다. 또는 예를 들어 GPU크기가 소정의 크기임을 획득하게 되면, 제어부(230)는 엣지 지원 딥러닝 모델을 위해 할당되는 GPU크기를 획득된 성능정보에 맞춰 조정할 수 있다.For example, when it obtains that the processing speed is a predetermined value, the
상술된 바에 따른 딥러닝 시스템(100)은 예를 들어, 머신비전 시스템(미도시)에 구현될 수 있다.The
여기서 머신비전이란, 물체를 검사하거나 측정하기 위해, 사람이 육안으로 판단하던 기존의 방식을 대신하여, 카메라(시각 인식), CPU, SW 를 통해 산업을 자동화시켜주는 것을 의미한다.Here, machine vision means to automate the industry through a camera (visual recognition), CPU, and SW, instead of the existing method that humans judged with the naked eye to inspect or measure an object.
예를 들어, 딥러닝 시스템(100)는 머신비전 시스템(미도시)에 포함되거나, 머신비전 시스템(미도시)을 포함하거나 머신비전 시스템(미도시)과 통신하면서, 스마트 공장에서 제품의 양불 판정을 수행할 수 있다.For example, the
이하에서는 딥러닝 시스템(100)이 머신비전 시스템(미도시)에 포함된 것을 일례로 설명한다.Hereinafter, the
즉 머신비전 시스템(미도시)은 본 명세서에 개시된 일 실시예에 따른 딥러닝 시스템(100)을 포함할 수 있고 그에 따라 엣지 디바이스(10) 및 지원 디바이스(20)를 포함할 수 있다.That is, the machine vision system (not shown) may include the
따라서 엣지 디바이스(10)를 통해 제품을 촬영할 수 있고 엣지 디바이스(10)는 지원 디바이스(20)에 의해 구현된 엣지 전용 딥러닝 모델에 기반하여 활영된 이미지를 분석하여 제품이 정상인지 불량인지를 판별하거나 불량의 종류를 판별할 수 있다. 그리고 관리자단말을 통해 불량의 존재를 알리거나, 학습되지 않은 종류의 불량 또는 정상 이미지가 수신되었음을 관리자단말로 통지할 수 있다.Therefore, the product can be photographed through the
이를 위해 머신비전 시스템(미도시)은 엣지 디바이스(10)에 의해 촬영된 제품의 이미지를 지원 디바이스(20)로 제공하여 라벨링하고 그에 따라 딥러닝 모델을 학습시킬 수 있다.To this end, the machine vision system (not shown) may provide the image of the product photographed by the
이를 통해 공장 라인에서 예측하지 못한 학습데이터를 확보하기 위해 라인이 돌아가는 것을 중지시키는 등의 불필요한 동작을 할 필요가 없고, 그에 따라 실시간으로 라인이 돌아갈 수 있는 스마트 공장을 구현할 수 있다. This eliminates the need to perform unnecessary actions such as stopping the line from running in order to secure unexpected learning data from the factory line, and accordingly, a smart factory that can run the line in real time can be implemented.
한편 도 3은 일 실시예에 따른 딥러닝 지원 디바이스가 딥러닝 수행을 지원하는 방법을 설명하기 위한 순서도이며, 도 4는 일 실시예에 따른 딥러닝 시스템이 딥러닝 수행을 지원하는 방법을 설명하기 위한 순서도이다. Meanwhile, FIG. 3 is a flowchart for explaining a method in which the deep learning support device according to an embodiment supports performing deep learning, and FIG. 4 is a method for the deep learning system according to an embodiment to support performing deep learning. is a flowchart for
도 3 및 도 4에 도시된 지원 방법은 도 1 및 도 2를 통해 설명된 딥러닝 시스템(100) 및 지원 디바이스(20) 각각에서 시계열적으로 처리하는 단계들을 포함한다. 따라서 이하에서 생략된 내용이라고 하더라도 도 1 및 도 2에 도시된 딥러닝 시스템(100) 및 지원 디바이스(20)에 관하여 이상에서 기술한 내용은 도 3 내지 도 4에 도시된 실시예에 따른 지원 방법에도 이용될 수 있다.The support method shown in FIGS. 3 and 4 includes time-series processing in each of the
도 3을 참조하면, 지원 디바이스(20)는 엣지 지원 딥러닝 모델을 구성할 수 있고(S310), 학습데이터를 획득하면 획득된 학습데이터를 라벨링 네트워크에 기반하여 라벨링하고(S320), 신뢰도가 높은 라벨링된 학습데이터를 입력값으로 하여 엣지 지원 딥러닝 모델을 학습시킬 수 있다 (S330).Referring to FIG. 3 , the
이를 위해 지원 디바이스(20)는 엣지 디바이스(10)에 저장된 엣지 전용 딥러닝 모델에 관한 모델정보를, 상기 엣지 디바이스(10)로부터 획득하고 상기 모델정보에 기초하여 엣지 지원 딥러닝 모델을 구성할 수 있다.To this end, the
또는 지원 디바이스(20)는 엣지 디바이스(10)에 관한 성능정보로서, 플롭스(FLOPS, FLoating point Operations Per Second), 램(RAM) 크기, GPU 크기, 이미지 해상도 및 처리속도 중 적어도 하나를 상기 엣지 디바이스(10)로부터 획득하여 상기 엣지 지원 딥러닝 모델을 구성할 수 있다.Alternatively, the
즉, 도 4에서 도시된 바와 같이, 지원 디바이스(20)는 모델정보 및 성능정보 중 적어도 하나를 엣지 디바이스(10)로부터 획득할 수 있다(S410).That is, as shown in FIG. 4 , the
그리고 획득한 정보를 토대로 지원 디바이스(20)는 엣지 지원 딥러닝 모델을 구현할 수 있다(S310).And based on the obtained information, the
이후 엣지 디바이스(10)는 학습데이터를 수신할 수 있으며 수신된 학습데이터를 지원 디바이스(20)로 제공할 수 있다(S420).Thereafter, the
이때 엣지 디바이스(10)는 학습을 위한 학습데이터를 별도로 입력받을 수 있고, 또한 엣지 디바이스(10)가 설치된 환경에서 분석 대상이 되는 이미지를 복수개 획득함으로써 학습데이터를 입력받을 수 있다.In this case, the
엣지 디바이스(10)로부터 획득한 학습데이터를, 라벨링 네트워크를 기반으로 라벨링할 수 있다. 이때 신뢰도가 높은 라벨링된 학습데이터를 입력값으로 하여 엣지 지원 딥러닝 모델을 학습시킬 수 있다(S330). Learning data obtained from the
그리고 지원 디바이스(20)는 학습된 엣지 지원 딥러닝 모델을 엣지 디바이스로 제공할 수 있다(S430).And the
예를 들어 지원 디바이스(20)는 학습된 엣지 지원 딥러닝 모델의 가중치값을 엣지 디바이스(10)로 제공할 수 있다.For example, the
이처럼 지원 디바이스로(20)로부터 학습된 엣지 지원 딥러닝 모델을 제공받은 엣지 디바이스(10)는 엣지 전용 딥러닝 모델을 학습시킬 수 있다 (S440).As such, the
예를 들어 엣지 디바이스(10)는 학습된 엣지 지원 딥러닝 모델의 가중치값을, 엣지 전용 딥러닝 모델에 적용함으로써 엣지 전용 딥러닝 모델을 구성할 수 있다. 이처럼 엣지 디바이스(10)는 학습된 엣지 지원 딥러닝 모델을 지원 디바이스(20)로부터 제공받음으로써 엣지 디바이스(10) 내에서 학습할 필요없이 학습된 엣지 전용 딥러닝 모델을 구성할 수 있다.For example, the
그리고 엣지 디바이스(10)는 학습된 엣지 전용 딥러닝 모델을 기반으로 입력값을 처리하여 결과값을 출력할 수 있다 (S450). And the
예를 들어 엣지 디바이스(10)가 머신 비전 시스템으로 구성되었다면 양불 판정에 있어 촬영된 이미지가 불량 제품에 관한 이미지인지 여부를 판별할 수 있다. For example, if the
한편 엣지 디바이스(10)는 입력값을 획득할 때마다 엣지 전용 딥러닝 모델의 업데이트 여부를 판단할 수 있다(S460).Meanwhile, the
예를 들어 소정의 주기마다 업데이트하기로 한 경우 엣지 디바이스(10)는 주기가 다가올 때마다 엣지 전용 딥러닝 모델을 업데이트할 것을 결정할 수 있다. 또는 예를 들어 엣지 전용 딥러닝 모델의 업데이트 이후 누적된 입력값의 수가 소정의 값 이상이 되면 엣지 전용 딥러닝 모델의 업데이트가 필요하다고 결정할 수 있다. 또는 한번에 들어오는 입력값의 크기가 소정의 값 이상이면 엣지 전용 딥러닝 모델의 업데이트가 필요하다고 판단할 수 있다.For example, when it is decided to update every predetermined period, the
엣지 디바이스(10)는 엣지 전용 딥러닝 모델의 업데이트가 필요할 때까지 단계 S450을 수행할 수 있으며, 엣지 전용 딥러닝 모델의 업데이트가 필요하면 단계 S420로 이동하여 엣지 전용 딥러닝 모델의 업데이트를 수행하도록 지원 디바이스(20)로 입력값을 제공할 수 있다. 이때 누적된 입력값을 제공할 수 있으며, 예를 들어, 엣지 전용 딥러닝 모델의 가장 최근의 업데이트 이후 누적된 입력값, 소정의 기간 동안 누적된 입력값 등을 제공할 수 있다.The
이상에서 설명한 실시예들에 따를 경우, 경량화된 성능을 갖는 엣지 디바이스(10)로 딥러닝의 구현이 가능하다. 그에 따라 엣지 디바이스(10)가 설치된 환경이 변경됨에 따라 딥러닝 모델을 별도로 학습시켜야 하는 상황이더라도 지원 디바이스(20)를 통해 최소한의 리소스로 빠른 시간 내에 학습이 가능하다. According to the embodiments described above, it is possible to implement deep learning with the
아울러 예를 들어, 머신 비전 시스템과 같이 양불판정에 있어, 학습되지 않은 다른 종류의 불량 이미지가 들어오더라도 엣지 디바이스(10)는 지원 디바이스(20)를 통해 해당 이미지의 존재를 감지할 수 있다.In addition, for example, in determining whether or not a machine vision system is good or bad, the
상기와 같이 설명된 딥러닝 지원 방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다. The deep learning support method described above may also be implemented in the form of a computer-readable medium for storing instructions and data executable by a computer. In this case, the instructions and data may be stored in the form of program code, and when executed by the processor, a predetermined program module may be generated to perform a predetermined operation. In addition, computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may be a computer recording medium, which is a volatile and non-volatile and non-volatile storage medium implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. It may include both volatile, removable and non-removable media. For example, the computer recording medium may be a magnetic storage medium such as HDD and SSD, an optical recording medium such as CD, DVD, and Blu-ray disc, or a memory included in a server accessible through a network.
상기와 같이 설명된 딥러닝 지원 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Prog램(RAM)ming Language), 객체 지향 프로그래밍 언어(Object-oriented Prog램(RAM)ming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다. The deep learning support method described above may be implemented as a computer program (or computer program product) including instructions executable by a computer. A computer program includes programmable machine instructions that are processed by a processor, and includes a high-level programming language (RAM) ming language, an object-oriented programming language (RAM) ming language, and assembly It may be implemented in a language or a machine language. In addition, the computer program may be recorded in a tangible computer-readable recording medium (eg, a memory, a hard disk, a magnetic/optical medium, or a solid-state drive (SSD), etc.).
상기와 같이 설명된 딥러닝 지원 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.The deep learning support method described above may be implemented by executing the computer program as described above by a computing device. The computing device may include at least a portion of a processor, a memory, a storage device, a high-speed interface connected to the memory and the high-speed expansion port, and a low-speed interface connected to the low-speed bus and the storage device. Each of these components is connected to each other using various buses, and may be mounted on a common motherboard or in any other suitable manner.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다. Here, the processor may process a command within the computing device, such as, for example, to display graphic information for providing a graphic user interface (GUI) on an external input or output device, such as a display connected to a high-speed interface. Examples are instructions stored in memory or a storage device. In other embodiments, multiple processors and/or multiple buses may be used with multiple memories and types of memory as appropriate. In addition, the processor may be implemented as a chipset formed by chips including a plurality of independent analog and/or digital processors.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다. Memory also stores information within the computing device. As an example, the memory may be configured as a volatile memory unit or a set thereof. As another example, the memory may be configured as a non-volatile memory unit or a set thereof. The memory may also be another form of computer readable medium, such as, for example, a magnetic or optical disk.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.In addition, the storage device may provide a large-capacity storage space to the computing device. A storage device may be a computer-readable medium or a component comprising such a medium, and may include, for example, devices or other components within a storage area network (SAN), a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory, or other semiconductor memory device or device array similar thereto.
이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field prog램(RAM)mable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.The term '~ unit' used in the above embodiments means a hardware component such as software or an FPGA (field program (RAM)mable gate array) or ASIC, and '~ unit' performs certain roles. However, '-part' is not limited to software or hardware. '~' may be configured to reside on an addressable storage medium or may be configured to refresh one or more processors. Accordingly, as an example, '~' indicates components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, and procedures. , subroutines, segments of program patent code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.The functions provided in the components and '~ units' may be combined into a smaller number of elements and '~ units' or separated from additional components and '~ units'.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다. 상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.In addition, components and '~ units' may be implemented to play one or more CPUs in a device or secure multimedia card. The above-described embodiments are for illustration, and those of ordinary skill in the art to which the above-described embodiments pertain can easily transform into other specific forms without changing the technical idea or essential features of the above-described embodiments. You will understand. Therefore, it should be understood that the above-described embodiments are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a dispersed form, and likewise components described as distributed may also be implemented in a combined form.
본 명세서를 통해 보호받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.The scope to be protected through the present specification is indicated by the claims described below rather than the above detailed description, and should be construed to include all changes or modifications derived from the meaning and scope of the claims and their equivalents. .
100: 딥러닝 시스템
10: 엣지 디바이스
20: 지원 디바이스
210: 입출력부
220: 메모리
220: 통신부
230: 제어부 100: deep learning system
10: Edge device 20: Supported device
210: input/output unit 220: memory
220: communication unit 230: control unit
Claims (12)
딥러닝을 수행하기 위한 프로그램이 저장되는 메모리; 및
상기 프로그램을 실행함으로써 딥러닝을 수행하는 제어부를 포함하며,
상기 제어부는,
상기 엣지 디바이스로부터 획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는, 지원 디바이스.As a supporting device that communicates with an edge device performing deep learning,
a memory in which a program for performing deep learning is stored; and
A control unit for performing deep learning by executing the program,
The control unit is
A support device that provides an edge support deep learning model learned based on the learning data obtained from the edge device to the edge device.
상기 제어부는,
상기 엣지 디바이스로부터 획득된 학습데이터에 대한 라벨링을 수행하며 라벨링된 학습데이터를 기반으로 상기 엣지 지원 딥러닝 모델을 학습시키고 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는, 지원 디바이스.According to claim 1,
The control unit is
A support device that performs labeling on the learning data obtained from the edge device, learns the edge-supported deep learning model based on the labeled learning data, and provides the learned edge-supported deep learning model to the edge device.
상기 제어부는,
상기 엣지 디바이스에 저장된 엣지 전용 딥러닝 모델에 관한 모델정보를, 상기 엣지 디바이스로부터 획득하고 상기 모델정보에 기초하여 상기 엣지 지원 딥러닝 모델을 구성하는, 지원 디바이스.According to claim 1,
The control unit is
A support device that acquires model information about an edge-only deep learning model stored in the edge device from the edge device and configures the edge-supported deep learning model based on the model information.
상기 제어부는,
상기 엣지 디바이스에 관한 성능정보로서, 플롭스(FLOPS, FLoating point Operations Per Second), 램(RAM) 크기, GPU 크기, 이미지 해상도 및 처리속도 중 적어도 하나를 상기 엣지 디바이스로부터 획득하고 상기 성능정보에 기초하여 상기 엣지 지원 딥러닝 모델을 구성하는, 지원 디바이스.According to claim 1,
The control unit is
As performance information about the edge device, at least one of FLOPS (FLoating point Operations Per Second), RAM size, GPU size, image resolution, and processing speed is obtained from the edge device, and based on the performance information A support device constituting the edge-supported deep learning model.
상기 엣지 지원 딥러닝 모델을 기반으로 엣지 전용 딥러닝 모델을 구성하는, 엣지 디바이스.An edge device in communication with the support device of claim 1, comprising:
An edge device that configures an edge-only deep learning model based on the edge-supported deep learning model.
상기 엣지 디바이스로부터 학습데이터를 획득하는 단계; 및
획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는 단계를 포함하는, 지원 방법.A support device communicating with an edge device performing deep learning, as a method for supporting deep learning performance of the edge device,
obtaining learning data from the edge device; and
A support method comprising the step of providing an edge support deep learning model learned on the basis of the acquired learning data to the edge device.
상기 엣지 디바이스로 제공하는 단계는,
상기 엣지 디바이스로부터 획득된 학습데이터에 대한 라벨링을 수행하는 단계;
라벨링된 학습데이터를 기반으로 상기 엣지 지원 딥러닝 모델을 학습시키는 단계; 및
학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는 단계를 포함하는, 지원 방법.7. The method of claim 6,
The step of providing to the edge device comprises:
performing labeling on the learning data obtained from the edge device;
training the edge-supported deep learning model based on the labeled training data; and
A support method comprising the step of providing a learned edge-supported deep learning model to the edge device.
상기 엣지 디바이스에 저장된 엣지 전용 딥러닝 모델에 관한 모델정보를, 상기 엣지 디바이스로부터 획득하는 단계; 및
상기 모델정보에 기초하여 상기 엣지 지원 딥러닝 모델을 구성하는 단계를 더 포함하는, 지원 방법.7. The method of claim 6,
acquiring model information about an edge-only deep learning model stored in the edge device from the edge device; and
Further comprising the step of configuring the edge support deep learning model based on the model information, support method.
상기 엣지 디바이스에 관한 성능정보로서, 플롭스(FLOPS, FLoating point Operations Per Second), 램(RAM) 크기, GPU 크기, 이미지 해상도 및 처리속도 중 적어도 하나를 상기 엣지 디바이스로부터 획득하는 단계; 및
상기 성능정보에 기초하여 상기 엣지 지원 딥러닝 모델을 구성하는 단계를 더 포함하는, 지원 방법.7. The method of claim 6,
acquiring, from the edge device, at least one of FLOPS (FLoating point Operations Per Second), RAM size, GPU size, image resolution, and processing speed, as performance information about the edge device; and
Further comprising the step of configuring the edge support deep learning model based on the performance information, support method.
상기 지원 디바이스가, 상기 엣지 디바이스로부터 학습데이터를 획득하는 단계;
상기 지원 디바이스가, 획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는 단계; 및
상기 엣지 디바이스가, 상기 엣지 지원 딥러닝 모델을 기반으로 엣지 전용 딥러닝 모델을 구성하는 단계를 포함하는, 지원 방법.A deep learning system comprising an edge device that performs deep learning, and a support device that communicates with the edge device, as a method for supporting deep learning of the edge device,
obtaining, by the support device, learning data from the edge device;
providing, by the support device, an edge support deep learning model learned based on the acquired learning data to the edge device; and
Supporting method, comprising the step of configuring, by the edge device, an edge-only deep learning model based on the edge supported deep learning model.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200164632A KR102499215B1 (en) | 2020-11-30 | 2020-11-30 | Device and method for supporting deep learning |
PCT/KR2021/013142 WO2022114489A1 (en) | 2020-11-30 | 2021-09-27 | Deep learning support device and deep learning support method |
CN202180070323.6A CN116547673A (en) | 2020-11-30 | 2021-09-27 | Deep learning support apparatus and deep learning support method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200164632A KR102499215B1 (en) | 2020-11-30 | 2020-11-30 | Device and method for supporting deep learning |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220075965A true KR20220075965A (en) | 2022-06-08 |
KR102499215B1 KR102499215B1 (en) | 2023-02-13 |
Family
ID=81755223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200164632A KR102499215B1 (en) | 2020-11-30 | 2020-11-30 | Device and method for supporting deep learning |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR102499215B1 (en) |
CN (1) | CN116547673A (en) |
WO (1) | WO2022114489A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170068360A (en) * | 2015-12-09 | 2017-06-19 | 삼성전자주식회사 | Storage device for decentralized machine learning and machine learning method thereof |
JP2019139734A (en) * | 2018-02-14 | 2019-08-22 | 株式会社日立システムズ | Edge server and ai learning model generation and operation method in edge server |
KR20190116035A (en) * | 2018-03-21 | 2019-10-14 | 엘지전자 주식회사 | Artificial server |
KR20200093093A (en) * | 2019-01-08 | 2020-08-05 | 삼성전자주식회사 | Distributed inference system and operating method of the same |
KR102156439B1 (en) * | 2018-11-06 | 2020-09-16 | 한국전자기술연구원 | Cloud-edge system and method for processing data thereof |
-
2020
- 2020-11-30 KR KR1020200164632A patent/KR102499215B1/en active IP Right Grant
-
2021
- 2021-09-27 WO PCT/KR2021/013142 patent/WO2022114489A1/en active Application Filing
- 2021-09-27 CN CN202180070323.6A patent/CN116547673A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170068360A (en) * | 2015-12-09 | 2017-06-19 | 삼성전자주식회사 | Storage device for decentralized machine learning and machine learning method thereof |
JP2019139734A (en) * | 2018-02-14 | 2019-08-22 | 株式会社日立システムズ | Edge server and ai learning model generation and operation method in edge server |
KR20190116035A (en) * | 2018-03-21 | 2019-10-14 | 엘지전자 주식회사 | Artificial server |
KR102156439B1 (en) * | 2018-11-06 | 2020-09-16 | 한국전자기술연구원 | Cloud-edge system and method for processing data thereof |
KR20200093093A (en) * | 2019-01-08 | 2020-08-05 | 삼성전자주식회사 | Distributed inference system and operating method of the same |
Also Published As
Publication number | Publication date |
---|---|
WO2022114489A1 (en) | 2022-06-02 |
CN116547673A (en) | 2023-08-04 |
KR102499215B1 (en) | 2023-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11301676B2 (en) | Reducing the search space for recognition of objects in an image based on wireless signals | |
US11216694B2 (en) | Method and apparatus for recognizing object | |
US20210090327A1 (en) | Neural network processing for multi-object 3d modeling | |
US11170201B2 (en) | Method and apparatus for recognizing object | |
US10282623B1 (en) | Depth perception sensor data processing | |
US9489739B2 (en) | Scene analysis for improved eye tracking | |
WO2021129105A1 (en) | Mask rcnn network model-based target identification method and apparatus | |
US20170323184A1 (en) | Dynamic Classifier Selection Based On Class Skew | |
US10762440B1 (en) | Sensor fusion and deep learning | |
US11430136B2 (en) | Methods and apparatus to improve efficiency of object tracking in video frames | |
US20180268533A1 (en) | Digital Image Defect Identification and Correction | |
WO2017015390A1 (en) | Deep multi-task learning framework for face detection, landmark localization, pose estimation, and gender recognition | |
US20220198609A1 (en) | Modifying sensor data using generative adversarial models | |
KR101986307B1 (en) | Method and system of attention memory for locating an object through visual dialogue | |
US10997947B2 (en) | Electronic device and control method thereof | |
KR20220017673A (en) | Apparatus and method for classification based on deep learning | |
JP2019160299A (en) | Automated tracking and retaining of articulated object in sequence of image frames | |
KR20220075965A (en) | Device and method for supporting deep learning | |
US20230306609A1 (en) | Method, device, and computer program for detecting boundary of object in image | |
JP2022089798A (en) | Training device, method, apparatus, and computer readable medium | |
EP4406216A1 (en) | Contextual usage control of cameras | |
KR102273334B1 (en) | Method and apparatus for learning neural network using multi channel image | |
KR102587234B1 (en) | Deep learning method and apparatus based on tsn for real-time hand gesture recognition in video | |
KR102648683B1 (en) | Method for image denoising using neural network model | |
US20240362746A1 (en) | Modifying sensor data using generative adversarial models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |