WO2022114489A1 - 딥러닝 지원 디바이스 및 딥러닝 지원 방법 - Google Patents

딥러닝 지원 디바이스 및 딥러닝 지원 방법 Download PDF

Info

Publication number
WO2022114489A1
WO2022114489A1 PCT/KR2021/013142 KR2021013142W WO2022114489A1 WO 2022114489 A1 WO2022114489 A1 WO 2022114489A1 KR 2021013142 W KR2021013142 W KR 2021013142W WO 2022114489 A1 WO2022114489 A1 WO 2022114489A1
Authority
WO
WIPO (PCT)
Prior art keywords
edge
deep learning
edge device
support
learning model
Prior art date
Application number
PCT/KR2021/013142
Other languages
English (en)
French (fr)
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 CN202180070323.6A priority Critical patent/CN116547673A/zh
Publication of WO2022114489A1 publication Critical patent/WO2022114489A1/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/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Definitions

  • 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.
  • 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.
  • 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.
  • edge devices 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.
  • 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.
  • 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
  • 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.
  • Embodiments disclosed herein it is an object to present a deep learning support device and deep learning support method.
  • 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.
  • 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.
  • 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
  • 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.
  • 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.
  • the support method is to receive 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.
  • 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.
  • 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, wherein the support device obtains training data from the edge device, and the support device generates an edge support deep learning model learned based on the acquired training 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.
  • FIG. 1 is a configuration diagram for explaining a deep learning system according to an embodiment disclosed in the present specification.
  • FIG. 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.
  • FIG. 1 is a configuration diagram for explaining a deep learning system according to an embodiment disclosed in the present specification.
  • the deep learning system 100 includes an edge device 10 and a deep learning support device 20, and the edge device 10 and the deep learning support device 20 communicate through a network.
  • the edge device 10 is implemented to be lightweight compared to the deep learning support device 20, and accordingly, for example, FLOPS (FLoating point Operations Per Second), RAM (RAM) size, GPU size, image resolution and processing speed (fps) at least one may have a relatively lower performance compared to the deep learning support device (20).
  • FLOPS FLoating point Operations Per Second
  • RAM RAM
  • GPU GPU size
  • image resolution and processing speed fps
  • 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 edge device 10 .
  • the edge device 10 is a device that performs deep learning on input data and outputs a result, and a program for performing a deep learning model can be installed and driven, and the edge device 10 is a computer program that is driven The result can be provided by performing deep learning on the input data according to the control.
  • the edge device 10 may store an edge-only deep learning model as a deep learning model, and the edge-only deep learning model is, for example, a deep neural network (DNN), a convolutional neural network (CNN), or a recurrent neural network (RNN). etc. can be implemented. Therefore, when the edge device 10 obtains the data to be processed, it may output a result value based on the learned deep learning model.
  • DNN deep neural network
  • CNN convolutional neural network
  • RNN recurrent neural network
  • the edge device 10 included in the deep learning system 100 performs deep learning on the acquired data and outputs a result value, so there is no need to communicate with the deep learning support device 20 in real time.
  • the bandwidth required does not have to be wide.
  • FIG. 2 is a diagram illustrating the configuration of a device for supporting deep learning according to an embodiment.
  • a program for performing a deep learning model may be installed and driven in the support device 20, and the support device 20 according to the embodiment described herein according to the control of the driven computer program. Support methods can be carried out.
  • Such a support device 20 may be implemented as a server or a server-client system, and if the support device 20 is implemented as a server-client system and includes an electronic terminal, the electronic terminal is provided from the edge device 10 An interface for receiving the acquired data may be included.
  • 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.
  • the computer includes, for example, a laptop, a desktop, and a laptop equipped with a web browser
  • the portable terminal is, for example, a wireless communication device that ensures portability and mobility.
  • 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
  • the server may be implemented as a computer capable of communication through a network or may be implemented as a cloud computing server.
  • the server may include a storage device capable of storing data or may store data through a third server.
  • the support device 20 may be implemented in any one form of a server or a server-client system, and the components constituting the support device 20 may be performed in a plurality of physically separated servers or one server. can be performed in
  • the support device 20 may include a communication unit 210 , a memory 220 , and a control unit 230 .
  • the communication unit 210 may allow the support device 20 to perform wired/wireless communication with the edge device 10 or a network.
  • the communication unit 210 may communicate with a third server to transmit/receive various data for performing a support method.
  • the communication unit 210 may include a communication module that supports at least one of various wired and wireless communication methods.
  • the communication module may be implemented in the form of a chipset.
  • the wireless communication supported by the communication unit 210 may be, for example, Wireless Fidelity (Wi-Fi), Wi-Fi Direct, Bluetooth, Ultra Wide Band (UWB), or Near Field Communication (NFC).
  • the wired communication supported by the communication unit 210 may be, for example, USB or High Definition Multimedia Interface (HDMI).
  • the communication unit 210 may receive, from the edge device 10 , model information or performance information about an edge-only deep learning model stored in the edge device. Also, an operation result according to the execution of the support method may be transmitted to the edge device 10 .
  • various types of data such as files, applications, and programs may be installed and stored in the memory 220 .
  • the controller 230 may access and use data stored in the memory 220 , or may store new data in the memory 220 .
  • the controller 230 may execute a program installed in the memory 220 .
  • a program in which a deep learning model is implemented may be installed, and data obtained from the edge device 10 may be stored as described above.
  • the controller 230 controls the overall operation of the support device 20 , and may include a processor such as a CPU or GPU.
  • the controller 230 may control other components included in the support device 20 to perform support for performing deep learning.
  • the controller 230 may execute a program stored in the memory 220 , read a file stored in the memory 220 , or store a new file in the memory 220 .
  • the controller 230 may learn a labeling network for labeling data obtained from the edge device 10 .
  • 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.
  • DNN deep neural network
  • CNN convolutional neural network
  • RNN recurrent neural network
  • the labeling network is stored in the controller 230 as a general-purpose labeling network, so learning is not required when first labeling the learning data obtained from the edge device 10.
  • the controller 230 may label data obtained from the edge device 10 using a labeling network.
  • control unit 230 may train the edge-supported deep learning model to select data with high reliability from the labeled data and output the output value of the edge-only deep learning model by using the selected data as an input value.
  • control unit 230 may select data with high reliability from among the labeled data and retrain the labeling network with the selected data.
  • the reliability can be increased as the labeling becomes more suitable.
  • the corresponding class-related score can be determined as the reliability.
  • the controller 230 may provide the learned edge support deep learning model to the edge device 10 .
  • the controller 230 may provide a weight value in the learned edge support deep learning model to the edge device 10 . Accordingly, the edge device 10 receiving the weight value may optimize the edge-only deep learning model by changing the weight value of the edge-only deep learning model according to the weight value received from the support device 20 .
  • the controller 230 may obtain model information about the edge-only deep learning model from the edge device 10 for learning the edge-supported deep learning model.
  • the controller 230 may select a model matching an edge-only deep learning model from among a plurality of deep learning models. For example, when model information indicating that an edge-only deep learning model is implemented as a CNN is obtained from the edge device 10, a CNN matching the corresponding model information can be selected. Also, for example, when the control unit 230 obtains model information including information on the layers constituting the edge-only deep learning model, the layer of the edge-supported deep learning model can be equally configured based on the model information.
  • controller 230 - may obtain performance information about the performance of a device implemented as the edge device 10 from the edge device 10 for learning the edge-supported deep learning model.
  • control unit 230 may provide at least one of FLOPS (FLoating point Operations Per Second), RAM size, GPU size, image resolution and processing speed (or inspection speed; FPS) as performance information to the edge device.
  • FLOPS FLoating point Operations Per Second
  • RAM size RAM size
  • GPU size GPU size
  • image resolution and processing speed or inspection speed; FPS
  • controller 230 may configure an edge-supported deep learning model based on the model information obtained from the edge device 10 .
  • the control unit 230 configures the edge support deep learning model so that when an input value for the edge support deep learning model is input, the output value can be output according to the processing speed.
  • the controller 230 may adjust the size of the GPU allocated for the edge-supported deep learning model according to the obtained performance information.
  • the deep learning system 100 as described above may be implemented in, for example, a machine vision system (not shown).
  • 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.
  • the deep learning system 100 is included in a machine vision system (not shown), includes a machine vision system (not shown), or while communicating with a machine vision system (not shown), determining whether or not a product is acceptable in a smart factory. can be performed.
  • the deep learning system 100 will be described as an example included in the machine vision system (not shown).
  • the machine vision system may include the deep learning system 100 according to an embodiment disclosed herein, and accordingly, the edge device 10 and the support device 20 .
  • the product can be photographed through the edge device 10, and the edge device 10 analyzes the projected image based on the edge-only deep learning model implemented by the support device 20 to determine whether the product is normal or defective. or the type of defect can be identified.
  • the machine vision system may provide the image of the product photographed by the edge device 10 to the support device 20 to label it and train the deep learning model accordingly.
  • FIG. 3 is a flowchart for explaining a method in which the deep learning support device according to an embodiment supports performing deep learning
  • FIG. 4 is a method for the deep learning system according to an embodiment to support performing deep learning. is a flowchart for
  • the support method shown in FIGS. 3 and 4 includes time-series processing in each of the deep learning system 100 and the support device 20 described with reference to FIGS. 1 and 2 . Therefore, even if omitted below, the content described above with respect to the deep learning system 100 and the support device 20 shown in FIGS. 1 and 2 is a support method according to the embodiment shown in FIGS. 3 to 4 . can also be used for
  • the support device 20 may configure an edge-supported deep learning model (S310), and when acquiring training data, labels the acquired training data based on the labeling network (S320), and has high reliability
  • An edge-supported deep learning model can be trained using the labeled training data as an input (S330).
  • the support device 20 obtains model information about the edge-only deep learning model stored in the edge device 10, from the edge device 10, and configures the edge support deep learning model based on the model information. have.
  • the support device 20 may provide at least one of FLOPS (FLoating point Operations Per Second), RAM size, GPU size, image resolution and processing speed as performance information regarding the edge device 10 to the edge device. It is possible to construct the edge-supported deep learning model by obtaining from (10).
  • the support device 20 may obtain at least one of model information and performance information from the edge device 10 ( S410 ).
  • the support device 20 may implement an edge support deep learning model (S310).
  • the edge device 10 may receive the learning data and may provide the received learning data to the support device 20 ( S420 ).
  • the edge device 10 may separately receive learning data for learning, and may also receive the learning data by acquiring a plurality of images to be analyzed in an environment in which the edge device 10 is installed.
  • Learning data obtained from the edge device 10 may be labeled based on a labeling network.
  • the edge-supported deep learning model may be trained by using the highly reliable labeled training data as an input value (S330).
  • the support device 20 may provide the learned edge support deep learning model to the edge device (S430).
  • the support device 20 may provide a weight value of the learned edge support deep learning model to the edge device 10 .
  • the edge device 10 provided with the edge support deep learning model learned from the support device 20 may learn the edge-only deep learning model (S440).
  • the edge device 10 may configure an edge-only deep learning model by applying a weight value of the learned edge-supported deep learning model to the edge-only deep learning model. In this way, the edge device 10 receives the learned edge support deep learning model from the support device 20 , so that it is possible to configure a trained edge-only deep learning model without the need to learn within the edge device 10 .
  • the edge device 10 may process an input value based on the learned edge-only deep learning model and output a result value (S450).
  • the edge device 10 may be determined whether a photographed image is an image of a defective product in determining whether the device is defective or not.
  • the edge device 10 may determine whether to update the edge-only deep learning model whenever an input value is obtained ( S460 ).
  • the edge device 10 may determine to update the edge-only deep learning model whenever the period approaches. Alternatively, for example, if the number of accumulated input values after the update of the edge-only deep learning model is greater than or equal to a predetermined value, it may be determined that the edge-only deep learning model needs to be updated. Alternatively, if the size of the input value that comes in at once is greater than or equal to a predetermined value, it may be determined that the edge-only deep learning model needs to be updated.
  • the edge device 10 may perform step S450 until the edge-only deep learning model needs to be updated, and if the edge-only deep learning model needs to be updated, go to step S420 to perform the edge-only deep learning model update.
  • An input value may be provided to the support device 20 .
  • the accumulated input value may be provided, for example, the accumulated input value since the most recent update of the edge-only deep learning model, the accumulated input value for a predetermined period, etc. may be provided.
  • the edge device 10 having a lightweight performance. Accordingly, as the environment in which the edge device 10 is installed is changed, even in a situation where the deep learning model needs to be separately learned, learning is possible in a short time with minimal resources through the support device 20 .
  • the edge device 10 may detect the presence of the corresponding image through the support device 20 even if a different type of bad image that has not been learned is received.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • GUI graphic user interface
  • Examples are instructions stored in memory or a storage device.
  • multiple processors and/or multiple buses may be used with multiple memories and types of memory as appropriate.
  • 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.
  • the memory may be configured as a volatile memory unit or a set thereof.
  • 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.
  • a 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.
  • SAN storage area network
  • floppy disk device a hard disk device
  • an optical disk device or a tape device
  • flash memory or other semiconductor memory device or device array similar thereto.
  • ' ⁇ unit' used in the above embodiments means software or hardware components such as a field program (RAM)mable gate array (FPGA) or ASIC, and ' ⁇ unit' performs certain roles.
  • '-part' is not limited to software or hardware.
  • ' ⁇ unit' may be configured to reside on an addressable storage medium or may be configured to refresh one or more processors.
  • ' ⁇ ' refers to 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.
  • 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.

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

딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시하며, 일 실시예에 따르면, 딥러닝을 수행하는 엣지 디바이스와 통신하는 지원 디바이스로서, 딥러닝을 수행하기 위한 프로그램이 저장되는 메모리, 및 상기 프로그램을 실행함으로써 딥러닝을 수행하는 제어부를 포함하며, 상기 제어부는, 상기 엣지 디바이스로부터 획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공할 수 있다.

Description

딥러닝 지원 디바이스 및 딥러닝 지원 방법
본 명세서에서 개시되는 실시예들은 딥러닝 지원 디바이스 및 딥러닝 지원 방법에 관한 것으로, 보다 상세하게는 엣지 디바이스에서의 딥러닝 수행을 지원하는 디바이스 및 방법에 관한 것이다.
본 연구는 산업통상자원부와 한국산업기술평가관리원의 산업용임베디드시스템기술개발 사업의 연구결과로 수행되었음(KEIT-20006489).
최근 들어 컴퓨팅 기술의 발전에 따라 머신러닝의 적용이 증가하고 있으며, 최근 머신러닝 중에서 딥러닝 기술이 비약적으로 발전하고 있다.
한편 사용자나 데이터의 위치에서 컴퓨팅이 수행되는 엣지 디바이스가 널리 보급되고 있다. 일 예로서, 엣지 디바이스로서 구현된 카메라는 공장 등의 산업현장에 설치되어 머신 비전을 수행하기도 하며, 또 다른 예로서, 엣지 디바이스로서 구현된 카메라는 교통 사거리나 골목 등의 도로에 설치되어 트래픽을 제어하거나 교통 법규 준수 여부를 관리하기도 한다.
이러한 엣지 디바이스는 많은 데이터를 처리하기 때문에 그 성능을 향상시키기 위해 딥러닝 모델을 적용하고자 하는 시도가 이루어지고 있다.
다만 엣지 디바이스는 사용자단에서 설치되어 이용되기 때문에 제한된 환경 내에서 동작하고 그에 따라 그 크기나 성능이 경량화되어 있는 경우가 많으며, 또한, 엣지 디바이스가 설치될 때 마다 설치되는 환경이 서로 다른 경우가 많아, 엣지 디바이스에 딥러닝 모델을 적용하기 위해서는 별도로 엣지 디바이스에 저장된 딥러닝 모델을 학습시켜야 하며 딥러닝 모델 학습을 위한 학습데이터도 별도로 수집해야 하는 불편함이 있다.
따라서 딥러닝을 수행할 수 있는 엣지 디바이스를 구현하는데 많은 어려움이 있다.
관련하여 선행기술 문헌인 대한민국 등록특허 제10-2016-0096460 호에는 딥러닝 기반 인식 시스템에 관한 것으로서 상기 시스템은, 입력 영상에 대해 제1 분류 기준에 따라 학습을 수행하여 제1 분류 결과를 출력하는 제1 분류기, 및 제1 분류 결과에 대하여 제1 분류 기준과 상이한 제2 분류 기준에 따라 학습을 수행하여 제2 분류 결과를 출력하는 제2 분류기를 포함하며, 제1 분류 기준은 제2 분류 기준의 선결적 관계가 되는 기준에 있는 것에 대해 기재하고 있다. 즉, 선행기술은 딥러닝 기반으로 입력값에 대한 결과를 출력하는데 그칠 뿐 딥러닝을 수행하는 엣지 디바이스를 구현하기 위한 방법을 제안하고 있지 못하다.
따라서 상술된 문제점을 해결하기 위한 기술이 필요하게 되었다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 명세서에서 개시되는 실시예들은, 딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시하는데 목적이 있다.
또한, 본 명세서에서 개시되는 실시예들은, 최소한의 시간과 최소한의 리소스로 엣지 디바이스의 딥러닝 수행을 지원할 수 있는 딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시하는데 목적이 있다.
또한, 본 명세서에서 개시되는 실시예들은, 설치와 동시에 엣지 디바이스의 학습을 위한 학습데이터를 수집할 수 있는 딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시하는데 목적이 있다.
또한, 본 명세서에서 개시되는 실시예들은, 엣지 디바이스와 지원 디바이스 간의 실시간 통신이 필요하지 않는 딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시하는데 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 명세서에 기재된 일 실시예에 따르면, 딥러닝을 수행하는 엣지 디바이스와 통신하는 지원 디바이스로서, 딥러닝을 수행하기 위한 프로그램이 저장되는 메모리, 및 상기 프로그램을 실행함으로써 딥러닝을 수행하는 제어부를 포함하며, 상기 제어부는, 상기 엣지 디바이스로부터 획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공할 수 있다.
또한, 상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 명세서에 기재된 일 실시예에 따르면, 딥러닝을 수행하는 엣지 디바이스와 통신하는 지원 디바이스가, 상기 엣지 디바이스의 딥러닝 수행을 지원하기 위한 방법으로서, 상기 엣지 디바이스로부터 학습데이터를 획득하는 단계, 및 획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는 단계를 포함할 수 있다.
또한, 상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 명세서에 기재된 일 실시예에 따르면, 지원 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체로서 상기 지원 방법은, 엣지 디바이스로부터 학습데이터를 획득하는 단계, 및 획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는 단계를 포함할 수 있다.
또한, 상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 명세서에 기재된 일 실시예에 따르면, 딥러닝을 수행하는 엣지 디바이스와 통신하는 지원 디바이스에 의해 수행되며, 지원 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램으로서 상기 지원 방법은, 엣지 디바이스로부터 학습데이터를 획득하는 단계, 및 획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는 단계를 포함할 수 있다.
또한, 상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 명세서에 기재된 일 실시예에 따르면, 딥러닝을 수행하는 엣지 디바이스, 및 상기 엣지 디바이스와 통신하는 지원 디바이스를 포함하는 딥러닝 시스템이, 상기 엣지 디바이스의 딥러닝 수행을 지원하기 위한 방법으로서, 상기 지원 디바이스가, 상기 엣지 디바이스로부터 학습데이터를 획득하는 단계, 상기 지원 디바이스가, 획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는 단계, 및 상기 엣지 디바이스가, 상기 엣지 지원 딥러닝 모델을 기반으로 엣지 전용 딥러닝 모델을 구성하는 단계를 포함할 수 있다.
전술한 과제 해결 수단 중 하나에 의하면, 딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시할 수 있다.
또한, 전술한 과제 해결 수단 중 하나에 의하면, 최소한의 시간과 최소한의 리소스로 엣지 디바이스의 딥러닝 수행을 지원할 수 있는 딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시할 수 있다. 또한 엣지 디바이스를 설치할 때마다 비용과 시간이 많이 드는 수동 라벨링을 하지 않아도 학습을 진행할 수 있다.
또한, 전술한 과제 해결 수단 중 하나에 의하면, 설치와 동시에 엣지 디바이스의 학습을 위한 학습데이터를 수집할 수 있는 딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시할 수 있다. 이를 통해 엣지 디바이스의 딥러닝 구현을 위해 별도의 시간 또는 리소스를 투입하여 학습데이터를 따로 수집하지 않아도 된다.
또한, 전술한 과제 해결 수단 중 하나에 의하면, 엣지 디바이스와 지원 디바이스 간의 실시간 통신이 필요하지 않는 딥러닝 지원 디바이스 및 딥러닝 지원 방법을 제시할 수 있다. 즉 엣지 디바이스에서 실시간 추론을 하기 때문에, 엣지 디바이스와 지원 디바이스 간의 실시간 통신이 필요하지 않게 되므로 양 디바이스 간의 통신을 위한 대역폭이 넓지 않아도 좋다.
개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 명세서에 개시된 일 실시예에 따른 딥러닝 시스템을 설명하기 위한 구성도이다.
도 2는 본 명세서에 개시된 일 실시예에 따른 딥러닝 지원 디바이스의 구성을 나타내는 블록도이다.
도 3 내지 도 4는 본 명세서에 기재된 일 실시예에 따른 딥러닝 지원 방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐 아니라, ‘그 중간에 다른 구성을 사이에 두고 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.
이하 첨부된 도면을 참고하여 실시예들을 상세히 설명하기로 한다.
도 1은 본 명세서에 개시된 일 실시예에 따른 딥러닝 시스템을 설명하기 위한 구성도이다.
도 1에서 도시된 바와 같이 딥러닝 시스템(100)은 엣지 디바이스(10) 및 딥러닝 지원 디바이스(20)를 포함하며, 엣지 디바이스(10) 및 딥러닝 지원 디바이스(20)는 네트워크를 통해 통신할 수 있다.
엣지 디바이스(10)는 딥러닝 지원 디바이스(20)에 비해 경량화되어 구현되고 그에 따라 예를 들어, 플롭스(FLOPS, FLoating point Operations Per Second), 램(RAM) 크기, GPU 크기, 이미지 해상도 및 처리속도(fps) 중 적어도 하나가 딥러닝 지원 디바이스(20)에 비해 상대적으로 더 낮은 성능을 가질 수 있다.
관련하여 상용화된 딥러닝 장비(intel NCS2, NVIDIA Jetson NANO 등)에서 30FPS(실시간 기준) 이상으로 동작할 수 있는 경량화된 네트워크(mobilenet부류의 네트워크)를 수정하여 엣지 디바이스(10)에서 사용할 수 있다.
이러한 엣지 디바이스(10)는 입력된 데이터에 대한 딥러닝을 수행하여 결과를 출력하는 디바이스로서 딥러닝 모델을 수행하기 위한 프로그램이 설치 및 구동될 수 있고, 엣지 디바이스(10)는 구동된 컴퓨터 프로그램의 제어에 따라 입력된 데이터에 대한 딥러닝을 수행하여 결과값을 제공할 수 있다.
엣지 디바이스(10)에는 딥러닝 모델로서 엣지 전용 딥러닝 모델을 저장할 수 있고, 엣지 전용 딥러닝 모델은 예를 들어, DNN(Deep neural network), CNN(Convolutional neural network), RNN (Recurrent Neural Network) 등으로 구현될 수 있다. 따라서 엣지 디바이스(10)는 처리 대상이 되는 데이터를 획득하면, 학습된 딥러닝 모델에 기반하여 결과값을 출력할 수 있다.
이처럼 딥러닝 시스템(100)에 포함되는 엣지 디바이스(10)는 획득된 데이터에 대해 딥러닝을 수행하여 결과값을 출력하므로 딥러닝 지원 디바이스(20)와 실시간으로 통신할 필요가 없으며 그에 따라 통신에 필요한 대역폭이 넓을 필요가 없다.
한편 도 2는 일 실시예에 따른 딥러닝 지원 디바이스의 구성을 도시한 도면이다.
일 실시예에 따르면, 지원 디바이스(20)에는 딥러닝 모델을 수행하기 위한 프로그램이 설치 및 구동될 수 있고, 지원 디바이스(20)는 구동된 컴퓨터 프로그램의 제어에 따라 본 명세서에 기재된 실시예에 따른 지원 방법을 수행할 수 있다.
이와 같은 지원 디바이스(20)는 서버로 구현되거나 또는 서버-클라이언트 시스템으로 구현될 수 있으며, 지원 디바이스(20)가 서버-클라이언트 시스템으로 구현되어 전자단말기를 포함한다면 전자단말기는 엣지 디바이스(10)로부터 획득된 데이터를 입력받기 위한 인터페이스를 포함할 수 있다.
이때 전자단말기는 네트워크를 통해 원격지의 서버에 접속하거나, 타 디바이스 및 서버와 연결 가능한 컴퓨터나 휴대용 단말기, 텔레비전, 웨어러블 디바이스(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 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 디바이스와 연결될 수 있다.
그리고 서버는, 네트워크를 통해 통신이 가능한 컴퓨터로 구현되거나 클라우드 컴퓨팅 서버로 구현될 수 있다. 또한, 서버는 데이터를 저장할 수 있는 저장장치를 포함하거나 제 3의 서버를 통해 데이터를 저장할 수 있다.
상술된 바와 같이 지원 디바이스(20)는 서버 또는 서버-클라이언트 시스템 중 어느 하나의 형태로 구현될 수 있으며, 지원 디바이스(20)를 구성하는 구성부는 물리적으로 분리된 복수의 서버에서 수행되거나 하나의 서버에서 수행될 수 있다.
실시예에 따른 지원 디바이스(20)는 통신부(210), 메모리(220) 및 제어부(230)를 포함할 수 있다.
통신부(210)는 지원 디바이스(20)가 엣지 디바이스(10) 또는 네트워크와 유무선 통신을 수행하도록 할 수 있다. 가령 통신부(210)는 제3의 서버와 통신하여 지원 방법을 수행하기 위한 각종 데이터를 송수신할 수 있다. 이를 위해, 통신부(210)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 모듈은 칩셋(chipset)의 형태로 구현될 수 있다.
이때, 통신부(210)가 지원하는 무선 통신은, 예를 들어 Wi-Fi(Wireless Fidelity), Wi-Fi Direct, 블루투스(Bluetooth), UWB(Ultra Wide Band) 또는 NFC(Near Field Communication) 등일 수 있다. 또한, 통신부(210)가 지원하는 유선 통신은, 예를 들어 USB 또는 HDMI(High Definition Multimedia Interface) 등일 수 있다.
실시예에 따르면, 지원 디바이스(20)가 서버로 구성될 때, 통신부(210)는 엣지 디바이스(10)로부터, 상기 엣지 디바이스에 저장된 엣지 전용 딥러닝 모델에 관한 모델정보 또는 성능정보를 수신할 수 있고, 지원 방법의 수행에 따른 연산 결과를 엣지 디바이스(10)로 송신할 수도 있다.
반면 메모리(220)에는 파일, 애플리케이션 및 프로그램 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 제어부(230)는 메모리(220)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(220)에 저장할 수도 있다. 또한, 제어부(230)는 메모리(220)에 설치된 프로그램을 실행할 수도 있다. 예를 들어, 메모리(220)는 딥러닝 모델이 구현된 프로그램이 설치될 수 있으며, 상술한 바와 같이 엣지 디바이스(10)로부터 획득한 데이터를 저장할 수도 있다.
반면 제어부(230)는 지원 디바이스(20)의 전체적인 동작을 제어하며, CPU, GPU 등과 같은 프로세서를 포함할 수 있다. 제어부(230)는 딥러닝 수행을 위한 지원을 수행하도록 지원 디바이스(20)에 포함된 다른 구성들을 제어할 수 있다. 예를 들어, 제어부(230)는 메모리(220)에 저장된 프로그램을 실행시키거나, 메모리(220)에 저장된 파일을 읽어오거나, 새로운 파일을 메모리(220)에 저장할 수도 있다.
실시예에 따르면, 제어부(230)는 엣지 디바이스(10)로부터 획득된 데이터를 라벨링하기 위한 라벨링 네트워크를 학습시킬 수 있다.
이때 라벨링 네트워크에 적용되는 딥러닝 모델은 예를 들어, DNN(Deep neural network), CNN(Convolutional neural network), RNN (Recurrent Neural Network) 등이 될 수 있으며 상술된 예에 제한되지 않는다.
또 다른 실시예에 따르면, 라벨링 네트워크는 범용 라벨링 네트워크로서 제어부(230)에 저장되어 있어, 엣지 디바이스(10)로부터 획득한 학습데이터를 최초로 라벨링할 때 학습이 필요하지 않은 경우도 있다
제어부(230)는 라벨링 네트워크를 이용하여, 엣지 디바이스(10)로부터 획득된 데이터를 라벨링할 수 있다.
그리고 제어부(230)는 라벨링된 데이터 중에서 신뢰도가 높은 데이터를 선별하고 선별된 데이터를 입력값으로 하여 엣지 전용 딥러닝 모델의 출력값을 출력하도록 엣지 지원 딥러닝 모델을 학습시킬 수 있다.
아울러 제어부(230)는 라벨링된 데이터 중에서 신뢰도가 높은 데이터를 선별하고 선별된 데이터로 라벨링 네트워크를 재학습시킬 수 있다.
이때 신뢰도는 라벨링이 적합하게 될수록 높아질 수 있으며, 예를 들어 대상이미지의 클래스를 추론하여 대상이미지가 속하는 클래스로 라벨링하였을 때 해당 클래스 관련 스코어를 신뢰도로 결정할 수 있다.
제어부(230)는 학습된 엣지 지원 딥러닝 모델을 엣지 디바이스(10)로 제공할 수 있다.
일 실시예에 따르면 제어부(230)는 학습된 엣지 지원 딥러닝 모델에서의 가중치(weight) 값을 엣지 디바이스(10)로 제공할 수 있다. 그에 따라 가중치 값을 수신한 엣지 디바이스(10)는 엣지 전용 딥러닝 모델의 가중치 값을 지원 디바이스(20)로부터 수신된 가중치 값에 따라 변경함으로써 엣지 전용 딥러닝 모델을 최적화할 수 있다.
한편 제어부(230)는 엣지 지원 딥러닝 모델의 학습을 위해 엣지 전용 딥러닝 모델에 관한 모델정보를 엣지 디바이스(10)로부터 획득할 수 있다.
예를 들어 제어부(230)는 복수 개의 딥러닝 모델 중에서, 엣지 전용 딥러닝 모델에 매칭되는 모델을 선택할 수 있다. 예를 들어 엣지 디바이스(10)로부터 엣지 전용 딥러닝 모델이 CNN으로 구현됨을 나타내는 모델정보를 획득하면 해당 모델정보에 매칭되는 CNN을 선택할 수 있다. 또한 예를 들어 제어부(230)는 엣지 전용 딥러닝 모델을 구성하는 계층에 관한 정보를 포함하는 모델정보를 획득하면 해당 모델정보를 기반으로 엣지 지원 딥러닝 모델의 계층을 동일하게 구성할 수 있다.
또한 제어부(230-)는 엣지 지원 딥러닝 모델의 학습을 위해, 엣지 디바이스(10)로 구현된 기기의 성능에 관한 성능정보를 엣지 디바이스(10)로부터 획득할 수 있다.
예를 들어 제어부(230)는 성능정보로서, 플롭스(FLOPS, FLoating point Operations Per Second), 램(RAM) 크기, GPU 크기, 이미지 해상도 및 처리속도(또는 검사속도; FPS) 중 적어도 하나를 엣지 디바이스로부터 획득할 수 있다.
그리고 제어부(230)는 엣지 디바이스(10)로부터 획득한 모델정보에 기반하여 엣지 지원 딥러닝 모델을 구성할 수 있다.
예를 들어 처리속도가 소정의 값임을 획득하게 되면 제어부(230)는 엣지 지원 딥러닝 모델에 대한 입력값이 입력되었을 때 상기 처리속도에 맞춰 출력값이 출력될 수 있도록 엣지 지원 딥러닝 모델을 구성할 수 있다. 또는 예를 들어 GPU크기가 소정의 크기임을 획득하게 되면, 제어부(230)는 엣지 지원 딥러닝 모델을 위해 할당되는 GPU크기를 획득된 성능정보에 맞춰 조정할 수 있다.
상술된 바에 따른 딥러닝 시스템(100)은 예를 들어, 머신비전 시스템(미도시)에 구현될 수 있다.
여기서 머신비전이란, 물체를 검사하거나 측정하기 위해, 사람이 육안으로 판단하던 기존의 방식을 대신하여, 카메라(시각 인식), CPU, SW 를 통해 산업을 자동화시켜주는 것을 의미한다.
예를 들어, 딥러닝 시스템(100)는 머신비전 시스템(미도시)에 포함되거나, 머신비전 시스템(미도시)을 포함하거나 머신비전 시스템(미도시)과 통신하면서, 스마트 공장에서 제품의 양불 판정을 수행할 수 있다.
이하에서는 딥러닝 시스템(100)이 머신비전 시스템(미도시)에 포함된 것을 일례로 설명한다.
즉 머신비전 시스템(미도시)은 본 명세서에 개시된 일 실시예에 따른 딥러닝 시스템(100)을 포함할 수 있고 그에 따라 엣지 디바이스(10) 및 지원 디바이스(20)를 포함할 수 있다.
따라서 엣지 디바이스(10)를 통해 제품을 촬영할 수 있고 엣지 디바이스(10)는 지원 디바이스(20)에 의해 구현된 엣지 전용 딥러닝 모델에 기반하여 활영된 이미지를 분석하여 제품이 정상인지 불량인지를 판별하거나 불량의 종류를 판별할 수 있다. 그리고 관리자단말을 통해 불량의 존재를 알리거나, 학습되지 않은 종류의 불량 또는 정상 이미지가 수신되었음을 관리자단말로 통지할 수 있다.
이를 위해 머신비전 시스템(미도시)은 엣지 디바이스(10)에 의해 촬영된 제품의 이미지를 지원 디바이스(20)로 제공하여 라벨링하고 그에 따라 딥러닝 모델을 학습시킬 수 있다.
이를 통해 공장 라인에서 예측하지 못한 학습데이터를 확보하기 위해 라인이 돌아가는 것을 중지시키는 등의 불필요한 동작을 할 필요가 없고, 그에 따라 실시간으로 라인이 돌아갈 수 있는 스마트 공장을 구현할 수 있다.
한편 도 3은 일 실시예에 따른 딥러닝 지원 디바이스가 딥러닝 수행을 지원하는 방법을 설명하기 위한 순서도이며, 도 4는 일 실시예에 따른 딥러닝 시스템이 딥러닝 수행을 지원하는 방법을 설명하기 위한 순서도이다.
도 3 및 도 4에 도시된 지원 방법은 도 1 및 도 2를 통해 설명된 딥러닝 시스템(100) 및 지원 디바이스(20) 각각에서 시계열적으로 처리하는 단계들을 포함한다. 따라서 이하에서 생략된 내용이라고 하더라도 도 1 및 도 2에 도시된 딥러닝 시스템(100) 및 지원 디바이스(20)에 관하여 이상에서 기술한 내용은 도 3 내지 도 4에 도시된 실시예에 따른 지원 방법에도 이용될 수 있다.
도 3을 참조하면, 지원 디바이스(20)는 엣지 지원 딥러닝 모델을 구성할 수 있고(S310), 학습데이터를 획득하면 획득된 학습데이터를 라벨링 네트워크에 기반하여 라벨링하고(S320), 신뢰도가 높은 라벨링된 학습데이터를 입력값으로 하여 엣지 지원 딥러닝 모델을 학습시킬 수 있다 (S330).
이를 위해 지원 디바이스(20)는 엣지 디바이스(10)에 저장된 엣지 전용 딥러닝 모델에 관한 모델정보를, 상기 엣지 디바이스(10)로부터 획득하고 상기 모델정보에 기초하여 엣지 지원 딥러닝 모델을 구성할 수 있다.
또는 지원 디바이스(20)는 엣지 디바이스(10)에 관한 성능정보로서, 플롭스(FLOPS, FLoating point Operations Per Second), 램(RAM) 크기, GPU 크기, 이미지 해상도 및 처리속도 중 적어도 하나를 상기 엣지 디바이스(10)로부터 획득하여 상기 엣지 지원 딥러닝 모델을 구성할 수 있다.
즉, 도 4에서 도시된 바와 같이, 지원 디바이스(20)는 모델정보 및 성능정보 중 적어도 하나를 엣지 디바이스(10)로부터 획득할 수 있다(S410).
그리고 획득한 정보를 토대로 지원 디바이스(20)는 엣지 지원 딥러닝 모델을 구현할 수 있다(S310).
이후 엣지 디바이스(10)는 학습데이터를 수신할 수 있으며 수신된 학습데이터를 지원 디바이스(20)로 제공할 수 있다(S420).
이때 엣지 디바이스(10)는 학습을 위한 학습데이터를 별도로 입력받을 수 있고, 또한 엣지 디바이스(10)가 설치된 환경에서 분석 대상이 되는 이미지를 복수개 획득함으로써 학습데이터를 입력받을 수 있다.
엣지 디바이스(10)로부터 획득한 학습데이터를, 라벨링 네트워크를 기반으로 라벨링할 수 있다. 이때 신뢰도가 높은 라벨링된 학습데이터를 입력값으로 하여 엣지 지원 딥러닝 모델을 학습시킬 수 있다(S330).
그리고 지원 디바이스(20)는 학습된 엣지 지원 딥러닝 모델을 엣지 디바이스로 제공할 수 있다(S430).
예를 들어 지원 디바이스(20)는 학습된 엣지 지원 딥러닝 모델의 가중치값을 엣지 디바이스(10)로 제공할 수 있다.
이처럼 지원 디바이스로(20)로부터 학습된 엣지 지원 딥러닝 모델을 제공받은 엣지 디바이스(10)는 엣지 전용 딥러닝 모델을 학습시킬 수 있다 (S440).
예를 들어 엣지 디바이스(10)는 학습된 엣지 지원 딥러닝 모델의 가중치값을, 엣지 전용 딥러닝 모델에 적용함으로써 엣지 전용 딥러닝 모델을 구성할 수 있다. 이처럼 엣지 디바이스(10)는 학습된 엣지 지원 딥러닝 모델을 지원 디바이스(20)로부터 제공받음으로써 엣지 디바이스(10) 내에서 학습할 필요없이 학습된 엣지 전용 딥러닝 모델을 구성할 수 있다.
그리고 엣지 디바이스(10)는 학습된 엣지 전용 딥러닝 모델을 기반으로 입력값을 처리하여 결과값을 출력할 수 있다 (S450).
예를 들어 엣지 디바이스(10)가 머신 비전 시스템으로 구성되었다면 양불 판정에 있어 촬영된 이미지가 불량 제품에 관한 이미지인지 여부를 판별할 수 있다.
한편 엣지 디바이스(10)는 입력값을 획득할 때마다 엣지 전용 딥러닝 모델의 업데이트 여부를 판단할 수 있다(S460).
예를 들어 소정의 주기마다 업데이트하기로 한 경우 엣지 디바이스(10)는 주기가 다가올 때마다 엣지 전용 딥러닝 모델을 업데이트할 것을 결정할 수 있다. 또는 예를 들어 엣지 전용 딥러닝 모델의 업데이트 이후 누적된 입력값의 수가 소정의 값 이상이 되면 엣지 전용 딥러닝 모델의 업데이트가 필요하다고 결정할 수 있다. 또는 한번에 들어오는 입력값의 크기가 소정의 값 이상이면 엣지 전용 딥러닝 모델의 업데이트가 필요하다고 판단할 수 있다.
엣지 디바이스(10)는 엣지 전용 딥러닝 모델의 업데이트가 필요할 때까지 단계 S450을 수행할 수 있으며, 엣지 전용 딥러닝 모델의 업데이트가 필요하면 단계 S420로 이동하여 엣지 전용 딥러닝 모델의 업데이트를 수행하도록 지원 디바이스(20)로 입력값을 제공할 수 있다. 이때 누적된 입력값을 제공할 수 있으며, 예를 들어, 엣지 전용 딥러닝 모델의 가장 최근의 업데이트 이후 누적된 입력값, 소정의 기간 동안 누적된 입력값 등을 제공할 수 있다.
이상에서 설명한 실시예들에 따를 경우, 경량화된 성능을 갖는 엣지 디바이스(10)로 딥러닝의 구현이 가능하다. 그에 따라 엣지 디바이스(10)가 설치된 환경이 변경됨에 따라 딥러닝 모델을 별도로 학습시켜야 하는 상황이더라도 지원 디바이스(20)를 통해 최소한의 리소스로 빠른 시간 내에 학습이 가능하다.
아울러 예를 들어, 머신 비전 시스템과 같이 양불판정에 있어, 학습되지 않은 다른 종류의 불량 이미지가 들어오더라도 엣지 디바이스(10)는 지원 디바이스(20)를 통해 해당 이미지의 존재를 감지할 수 있다.
상기와 같이 설명된 딥러닝 지원 방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다.
상기와 같이 설명된 딥러닝 지원 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Prog램(RAM)ming Language), 객체 지향 프로그래밍 언어(Object-oriented Prog램(RAM)ming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
상기와 같이 설명된 딥러닝 지원 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field prog램(RAM)mable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다. 상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 명세서를 통해 보호받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.

Claims (11)

  1. 딥러닝을 수행하는 엣지 디바이스와 통신하는 지원 디바이스로서,
    딥러닝을 수행하기 위한 프로그램이 저장되는 메모리; 및
    상기 프로그램을 실행함으로써 딥러닝을 수행하는 제어부를 포함하며,
    상기 제어부는,
    상기 엣지 디바이스로부터 획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는, 지원 디바이스.
  2. 제1항에 있어서,
    상기 제어부는,
    상기 엣지 디바이스로부터 획득된 학습데이터에 대한 라벨링을 수행하며 라벨링된 학습데이터를 기반으로 상기 엣지 지원 딥러닝 모델을 학습시키고 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는, 지원 디바이스.
  3. 제1항에 있어서,
    상기 제어부는,
    상기 엣지 디바이스에 저장된 엣지 전용 딥러닝 모델에 관한 모델정보를, 상기 엣지 디바이스로부터 획득하고 상기 모델정보에 기초하여 상기 엣지 지원 딥러닝 모델을 구성하는, 지원 디바이스.
  4. 제1항에 있어서,
    상기 제어부는,
    상기 엣지 디바이스에 관한 성능정보로서, 플롭스(FLOPS, FLoating point Operations Per Second), 램(RAM) 크기, GPU 크기, 이미지 해상도 및 처리속도 중 적어도 하나를 상기 엣지 디바이스로부터 획득하고 상기 성능정보에 기초하여 상기 엣지 지원 딥러닝 모델을 구성하는, 지원 디바이스.
  5. 제1항의 지원 디바이스와 통신하는 엣지 디바이스로서,
    상기 엣지 지원 딥러닝 모델을 기반으로 엣지 전용 딥러닝 모델을 구성하는, 엣지 디바이스.
  6. 딥러닝을 수행하는 엣지 디바이스와 통신하는 지원 디바이스가, 상기 엣지 디바이스의 딥러닝 수행을 지원하기 위한 방법으로서,
    상기 엣지 디바이스로부터 학습데이터를 획득하는 단계; 및
    획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는 단계를 포함하는, 지원 방법.
  7. 제6항에 있어서,
    상기 엣지 디바이스로 제공하는 단계는,
    상기 엣지 디바이스로부터 획득된 학습데이터에 대한 라벨링을 수행하는 단계;
    라벨링된 학습데이터를 기반으로 상기 엣지 지원 딥러닝 모델을 학습시키는 단계; 및
    학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는 단계를 포함하는, 지원 방법.
  8. 제6항에 있어서,
    상기 엣지 디바이스에 저장된 엣지 전용 딥러닝 모델에 관한 모델정보를, 상기 엣지 디바이스로부터 획득하는 단계; 및
    상기 모델정보에 기초하여 상기 엣지 지원 딥러닝 모델을 구성하는 단계를 더 포함하는, 지원 방법.
  9. 제6항에 있어서,
    상기 엣지 디바이스에 관한 성능정보로서, 플롭스(FLOPS, FLoating point Operations Per Second), 램(RAM) 크기, GPU 크기, 이미지 해상도 및 처리속도 중 적어도 하나를 상기 엣지 디바이스로부터 획득하는 단계; 및
    상기 성능정보에 기초하여 상기 엣지 지원 딥러닝 모델을 구성하는 단계를 더 포함하는, 지원 방법.
  10. 제6항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
  11. 딥러닝을 수행하는 엣지 디바이스, 및 상기 엣지 디바이스와 통신하는 지원 디바이스를 포함하는 딥러닝 시스템이, 상기 엣지 디바이스의 딥러닝 수행을 지원하기 위한 방법으로서,
    상기 지원 디바이스가, 상기 엣지 디바이스로부터 학습데이터를 획득하는 단계;
    상기 지원 디바이스가, 획득된 학습데이터에 기초하여 학습된 엣지 지원 딥러닝 모델을 상기 엣지 디바이스로 제공하는 단계; 및
    상기 엣지 디바이스가, 상기 엣지 지원 딥러닝 모델을 기반으로 엣지 전용 딥러닝 모델을 구성하는 단계를 포함하는, 지원 방법.
PCT/KR2021/013142 2020-11-30 2021-09-27 딥러닝 지원 디바이스 및 딥러닝 지원 방법 WO2022114489A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202180070323.6A CN116547673A (zh) 2020-11-30 2021-09-27 深度学习支持设备与深度学习支持方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0164632 2020-11-30
KR1020200164632A KR102499215B1 (ko) 2020-11-30 2020-11-30 딥러닝 지원 디바이스 및 딥러닝 지원 방법

Publications (1)

Publication Number Publication Date
WO2022114489A1 true WO2022114489A1 (ko) 2022-06-02

Family

ID=81755223

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/013142 WO2022114489A1 (ko) 2020-11-30 2021-09-27 딥러닝 지원 디바이스 및 딥러닝 지원 방법

Country Status (3)

Country Link
KR (1) KR102499215B1 (ko)
CN (1) CN116547673A (ko)
WO (1) WO2022114489A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170068360A (ko) * 2015-12-09 2017-06-19 삼성전자주식회사 분산 기계 학습을 위한 저장 장치 및 그것의 기계 학습 방법
JP2019139734A (ja) * 2018-02-14 2019-08-22 株式会社日立システムズ エッジサーバおよびエッジサーバにおけるai学習モデル生成・運用方法
KR20190116035A (ko) * 2018-03-21 2019-10-14 엘지전자 주식회사 인공지능 서버
KR20200093093A (ko) * 2019-01-08 2020-08-05 삼성전자주식회사 분산 추론 시스템 및 이의 동작 방법
KR102156439B1 (ko) * 2018-11-06 2020-09-16 한국전자기술연구원 클라우드-엣지 시스템 및 이의 데이터 처리 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170068360A (ko) * 2015-12-09 2017-06-19 삼성전자주식회사 분산 기계 학습을 위한 저장 장치 및 그것의 기계 학습 방법
JP2019139734A (ja) * 2018-02-14 2019-08-22 株式会社日立システムズ エッジサーバおよびエッジサーバにおけるai学習モデル生成・運用方法
KR20190116035A (ko) * 2018-03-21 2019-10-14 엘지전자 주식회사 인공지능 서버
KR102156439B1 (ko) * 2018-11-06 2020-09-16 한국전자기술연구원 클라우드-엣지 시스템 및 이의 데이터 처리 방법
KR20200093093A (ko) * 2019-01-08 2020-08-05 삼성전자주식회사 분산 추론 시스템 및 이의 동작 방법

Also Published As

Publication number Publication date
CN116547673A (zh) 2023-08-04
KR102499215B1 (ko) 2023-02-13
KR20220075965A (ko) 2022-06-08

Similar Documents

Publication Publication Date Title
WO2017213398A1 (en) Learning model for salient facial region detection
WO2018135881A1 (en) Vision intelligence management for electronic devices
WO2021261696A1 (en) Visual object instance segmentation using foreground-specialized model imitation
WO2021221254A1 (en) Method for performing continual learning on classifier in client capable of classifying images by using continual learning server and continual learning server using the same
WO2019045244A1 (ko) 시각 대화를 통해 객체의 위치를 알아내기 위한 주의 기억 방법 및 시스템
WO2020027454A1 (en) Multi-layered machine learning system to support ensemble learning
WO2015108300A1 (ko) 프레임률 제어 방법 및 그 전자 장치
WO2021187683A1 (ko) 딥러닝을 이용한 신규 제품의 품질 검사 방법 및 시스템
WO2020117028A1 (ko) 질의 응답 장치 및 방법
WO2022055099A1 (ko) 이상 탐지 방법 및 이를 위한 장치
WO2022139327A1 (en) Method and apparatus for detecting unsupported utterances in natural language understanding
WO2022114489A1 (ko) 딥러닝 지원 디바이스 및 딥러닝 지원 방법
CN113033680B (zh) 视频分类方法、装置、可读介质及电子设备
WO2024090786A1 (ko) 레이더 데이터에 기반한 낙상 감지 모델의 학습 방법
WO2020256407A1 (ko) 제품 검사를 위한 자동 학습 방법 및 시스템
WO2021085785A1 (en) Electronic apparatus and method for controlling thereof
US20230259457A1 (en) Electronic apparatus and control method thereof
US20210183038A1 (en) Object detection with missing annotations in visual inspection
WO2022191424A1 (ko) 전자 장치 및 그 제어 방법
WO2021125550A1 (en) Electronic device and method for controlling the electronic device.
WO2021049802A1 (ko) 전자 장치 및 이의 제어 방법
WO2023068480A1 (ko) 전자 장치, 단말 장치 및 그 제어 방법
WO2023058842A1 (ko) 전자 장치 및 타겟 도메인 생성 방법
WO2024005383A1 (en) Online speaker diarization using local and global clustering
WO2021054612A1 (ko) 전자 장치 및 이의 제어 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21898316

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180070323.6

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21898316

Country of ref document: EP

Kind code of ref document: A1