WO2019235821A1 - 모바일 환경에서 실시간 추론이 가능한 dnn 구성을 위한 최적화 기법 - Google Patents

모바일 환경에서 실시간 추론이 가능한 dnn 구성을 위한 최적화 기법 Download PDF

Info

Publication number
WO2019235821A1
WO2019235821A1 PCT/KR2019/006746 KR2019006746W WO2019235821A1 WO 2019235821 A1 WO2019235821 A1 WO 2019235821A1 KR 2019006746 W KR2019006746 W KR 2019006746W WO 2019235821 A1 WO2019235821 A1 WO 2019235821A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
style
dnn
learning
transition
Prior art date
Application number
PCT/KR2019/006746
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 네이버 주식회사
Publication of WO2019235821A1 publication Critical patent/WO2019235821A1/ko
Priority to US17/112,069 priority Critical patent/US20210089914A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Definitions

  • the description below relates to techniques for optimizing a deep neural network (DNN) model.
  • DNN deep neural network
  • deep learning is defined as a set of machine learning algorithms that attempt a high level of abstraction through a combination of several nonlinear transformations, and is a field of machine learning that teaches a computer's way of thinking in a large framework. .
  • a lot of research is being conducted to express data in a form that can be understood by a computer (for example, an image representing a pixel as a column vector) and apply it to learning.
  • DNNs deep neural networks
  • CNNs convolutional neural networks
  • RNNs recurrent neural networks
  • Korean Patent Laid-Open Publication No. 10-2015-0079064 (published on July 08, 2015) receives a still image that a user wants to store and understands the image context through deep learning, and obtains physical and semantic information.
  • a technique for inferring and automatically tagging metadata is disclosed.
  • DNN deep neural network
  • a computer-implemented system comprising: at least one processor implemented to execute computer readable instructions, wherein the at least one processor is based on a deep neural network (DNN) using a particular style of image to learn And a learning unit for learning a style transfer model, wherein the style transfer model is a DNN model having a structure in which the number of deep layers is reduced through a transfer learning method using pre-trained results.
  • DNN deep neural network
  • the style transfer model is a DNN model having a structure in which the number of deep layers is reduced through a transfer learning method using pre-trained results.
  • the style transition model may be a DNN model that learns through transition learning in another DNN model.
  • the style transition model may be a DNN model that obtains an intermediate learning result of a DNN model that has learned an image of a style similar to the specific style among previous DNN models that have already been trained, and performs transition learning.
  • the style transfer model may be a DNN model composed of some layers of a DNN model that has learned an image of a style similar to the specific style among previously trained DNN models.
  • the at least one processor may measure the similarity between the DNN models by extracting a feature map from some layers of the DNN model.
  • the style transition model may be a DNN model having a structure in which feature sizes of at least one layer are reduced.
  • the style transition model may be a DNN model having a structure in which an instance normalization operator is added to a residual layer.
  • the residual layer may be configured in the order of a convolution operator, an instance normalization operator, an activation function, a convolution operator, an instance normalization operator.
  • a structure may be included in which the scaling result of the calculation result of the previous layer is reduced in the last layer of the residual layer.
  • a computer-implemented method comprising: learning a DNN-based style transition model using an image of a specific style to learn; And providing a result image to which the specific style is applied to the input image through the style transition model, wherein the style transition model has a structure in which the number of deep layers is reduced through a transition learning method using pre-trained results. It provides a method characterized in that the DNN model of.
  • a computer program stored on a computer readable recording medium for executing the method on the computer is provided.
  • a computer-readable recording medium which has a program recorded thereon for executing the method on a computer.
  • FIG. 1 is a block diagram illustrating an example of an internal configuration of a computer system according to an embodiment of the present invention.
  • FIG. 2 illustrates an example of components that may be included in a processor of a computer system according to an exemplary embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating an example of a deep learning based real time inference method that may be performed by a computer system according to an exemplary embodiment of the present invention.
  • FIG. 4 is an exemplary diagram for explaining an example of an optimization technique of a DNN model according to an embodiment of the present invention.
  • FIG. 5 is a diagram for explaining an example of reducing the number of layers through transfer learning in an embodiment of the present invention.
  • FIG. 6 is a diagram for explaining an example of measuring image similarity for transition learning in one embodiment of the present invention.
  • FIG. 7 is an exemplary diagram for explaining another example of an optimization technique of a DNN model according to an embodiment of the present invention.
  • FIG. 8 is an exemplary diagram for explaining another example of an optimization technique of a DNN model according to an embodiment of the present invention.
  • Embodiments of the present invention relate to techniques for optimizing a DNN model.
  • Embodiments including those specifically disclosed herein, can provide a DNN optimization model capable of real-time inference in a mobile environment, thereby significantly reducing configuration, reducing computation, efficiency, accuracy, speed, cost, and the like. Achieve the advantages.
  • FIG. 1 is a block diagram illustrating an example of an internal configuration of a computer system according to an embodiment of the present invention.
  • a deep learning system according to embodiments of the present invention may be implemented through the computer system 100 of FIG. 1.
  • the computer system 100 is a component for executing a deep learning based real time inference method.
  • the processor 110, the memory 120, the persistent storage 130, the bus 140, and the input / output It may include an interface 150 and a network interface 160.
  • the processor 110 may comprise or be part of any device capable of processing a sequence of instructions as a component for deep learning based real time inference.
  • Processor 110 may include, for example, a processor within a computer processor, mobile device or other electronic device, and / or a digital processor.
  • the processor 110 may be included in, for example, a server computing device, a server computer, a series of server computers, a server farm, a cloud computer, a content platform, and the like.
  • the processor 110 may be connected to the memory 120 through the bus 140.
  • Memory 120 may include volatile memory, permanent, virtual, or other memory for storing information used by or output by computer system 100.
  • the memory 120 may include, for example, random access memory (RAM) and / or dynamic RAM (DRAM).
  • RAM random access memory
  • DRAM dynamic RAM
  • Memory 120 may be used to store any information, such as status information of computer system 100.
  • Memory 120 may also be used to store instructions of computer system 100 including, for example, deep learning based real time inference.
  • Computer system 100 may include one or more processors 110 as needed or where appropriate.
  • Bus 140 may include a communication infrastructure that enables interaction between various components of computer system 100.
  • Bus 140 may carry data, for example, between components of computer system 100, for example, between processor 110 and memory 120.
  • Bus 140 may include wireless and / or wired communication media between components of computer system 100 and may include parallel, serial, or other topology arrangements.
  • Persistent storage 130 is a component, such as a memory or other persistent storage, such as used by computer system 100 to store data for some extended period of time (eg, relative to memory 120). Can include them. Persistent storage 130 may include non-volatile main memory as used by processor 110 within computer system 100. Persistent storage 130 may include, for example, flash memory, hard disk, optical disk, or other computer readable medium.
  • the input / output interface 150 may include interfaces for a keyboard, mouse, voice command input, display, or other input or output device. Configuration commands and / or input for deep learning based real time inference may be received via the input / output interface 150.
  • Network interface 160 may include one or more interfaces to networks such as a local area network or the Internet.
  • Network interface 160 may include interfaces for wired or wireless connections. Configuration commands and / or input for deep learning based real time inference may be received via network interface 160.
  • computer system 100 may include more components than the components of FIG. 1. However, it is not necessary to clearly show most of the prior art components.
  • the computer system 100 may be implemented to include at least some of the input / output devices connected to the input / output interface 150 described above, or may include a transceiver, a global positioning system (GPS) module, a camera, various sensors, It may further include other components such as a database.
  • GPS global positioning system
  • the present invention provides a DNN optimization model capable of real-time inference in a mobile environment.
  • Deep learning is used in various technical fields such as speech signal processing, natural language processing, vision processing, etc.
  • a style transfer filter is a deep learning-based image filter. It can provide the effect of styling a.
  • FIG. 2 is a diagram illustrating an example of components that a processor of a computer system according to an embodiment of the present invention may include, and FIG. 3 is a deep learning method that may be performed by the computer system according to an embodiment of the present invention. It is a flowchart showing an example of the based real time inference method.
  • the processor 110 may include a learning unit 210 and an inference unit 220.
  • the components of such a processor 110 may be representations of different functions performed by the processor 110 in accordance with a control instruction provided by at least one program code.
  • the learner 210 may be used as a functional representation that operates to control the computer system 100 so that the processor 110 performs image learning.
  • the processor 110 and the components of the processor 110 may perform steps S310 to S330 included in the deep learning based real time inference method of FIG. 3.
  • the processor 110 and the components of the processor 110 may be implemented to execute instructions according to the code of the operating system included in the memory 120 and the at least one program code described above.
  • the at least one program code may correspond to a code of a program implemented to process the deep learning based real time inference method.
  • the deep learning based real time inference method may not occur in the order shown, and some of the steps may be omitted or an additional process may be further included.
  • the processor 110 may load the program code stored in the program file for the deep learning based real time inference method into the memory 120.
  • the program file for the deep learning based real time inference method may be stored in the persistent storage 130 described with reference to FIG. 1, and the processor 110 may store the program stored in the persistent storage 130 through a bus.
  • Computer system 110 may be controlled such that program code from a file is loaded into memory 120.
  • each of the processor 110, the learning unit 210 and the inference unit 220 included in the processor 110 executes an instruction of a corresponding part of the program code loaded in the memory 120 to perform subsequent steps ( Different functional representations of the processor 110 for executing S320 to S330.
  • the processor 110 and the components of the processor 110 may directly process an operation according to a control command or control the computer system 100.
  • the learner 210 may learn the training image data set to generate an image transform network as a DNN model.
  • learning can be conducted through a learning module using a style image and a style weight as input data.
  • the learner 210 may learn a style transition model based on an image of a style to be serviced, and at this point, may learn an image of a corresponding style using a DNN model.
  • the image data set for learning may use the correct answer image of the style for each style that is a transition filter to be serviced.
  • an image transformation network can be generated, and the input image x can be applied to the image transformation network to generate a result image y of a specific style.
  • the learner 210 may generate an image conversion network by applying a DNN model that is frequently used to extract a feature of an image required for learning.
  • the inference unit 220 performs the inference through the image conversion network of the selected style model with respect to the input image, thereby applying the corresponding style.
  • An image can be obtained.
  • the inference unit 220 may pass the input image through an image conversion network generated through the learning model of the learner 210 to provide a result of the new image to which the user's desired style is applied.
  • DNN models vary by classification, detection, segmentation, etc., and most tasks are performed by training DNN models on high-end GPU servers.
  • the structure of the DNN model is designed in a complex structure that is difficult to infer in a mobile environment.
  • the DNN model requires a lot of computation because it consists of a deep layer and a large number of layers.
  • the structure of the DNN is designed for the purpose of increasing accuracy, there are bound to be layers and features that are not needed when the actual inference proceeds, and the inference time also increases due to this complicated structure. Done.
  • Float32 Single-precision type, double-precision type
  • Float16 In a resource-rich environment such as a GPU server, whereas in a mobile environment, in order to efficiently use limited resources (eg, CPU, GPU, memory, etc.)
  • half-precision types such as Float16.
  • a DNN optimization model suitable for a mobile environment, which enables real-time inference in a client of a mobile environment and previews an effect (style transition filter) applied to an image in real time.
  • the number of layers may be reduced in the deep layer structure.
  • the DNN model may be optimized by reducing the number of residual layers.
  • a complex DNN model composed of 32 layers ie, a teacher network
  • a simple DNN model composed of 14 layers through a transfer learning method.
  • the intermediate learning result of the previous DNN model is obtained and the transition learning is performed.
  • the DNN model that learns the style of the image to transfer the style
  • Transfer learning can be performed by obtaining a learning result of the DNN model that has learned a style image similar to the style to be learned.
  • the previous two layers are obtained from the previously trained task A model 501 and configured as the two previous layers of the task B model 502 newly trained. have.
  • the similarity between task A and task B needs to be measured.
  • a style image when a style image is learned, a DNN model uses a gram matrix as shown in FIG. You will follow the style.
  • This learning method can measure similarity between style images of currently trained models.
  • the style transition uses the VGG-19 pretrained network, which performs an image classification task well to obtain a gram matrix.
  • VGG-19 we use the feature map generated from the calculation of some layers to create a gram matrix.
  • the similarity between the two models can be measured by extracting the feature map from the layer.
  • a style transition model optimized for a mobile environment can be implemented by reducing the number of deep layers to be newly learned through a transition learning method using another DNN model.
  • Another method of optimizing the DNN model is to reduce the feature size of each layer (see FIG. 7).
  • the size of the feature in each layer can be reduced in the direction of maintaining the maximum accuracy while reducing the amount of calculation according to the task. Even though the feature size of each layer is reduced by half in the existing model, studies have shown that the loss of accuracy is extremely low or even higher depending on the model, compared to a three-fold reduction in total computations (MACs) and parameters compared to the existing model. exist.
  • MACs total computations
  • the present invention can implement a style transition model optimized for a mobile environment by reducing the feature size of each layer constituting the DNN model.
  • Another way to optimize the DNN model is to construct the residual layer as a structure to avoid overflow.
  • the residual layer of the existing model is composed of two convolution operators (Conv) and an activation function (ReLU, Rectified Linear Unit).
  • Conv convolution operators
  • ReLU Rectified Linear Unit
  • the residual layer may be configured in the order of a convolution operator (Conv), an instance normalization operator (Instance Norm), an activation function (ReLU), a convolution operator (Conv), and an instance normalization operator (Instance Norm).
  • Instance normalization is one of the normalization techniques, for example, calculate the average and variance of pixel values for each channel (RGB) of the output image as a result of a convolution operation of the input image x, and then subtract the average value from each pixel value. Is the process of dividing by the variance value.
  • the result of normalizing the result of the convolution operation to a value between 0 and 1 can be obtained. If the convolution operation is performed again after the previous normalization result, Float16 expression is different from the structure of the existing model. It has a characteristic that does not go out of range.
  • the present invention may include a structure that scales the result value in the last layer of the residual layer, as opposed to reflecting the result value of the previous layer in the last layer of the residual layer. have.
  • the resulting value can be multiplied by 0.5 to scale. This scaling prevents overflow that may occur in the residual layer and minimizes unstable parts by reducing the relative influence of the residual layer in the structure of the entire layer by keeping the resulting value of the residual layer small. can do.
  • the present invention can implement a style transition model optimized for a mobile environment by adding a normalization operator to the residual layer of the DNN model and further including a structure for reducing and adjusting the result of the residual layer.
  • the apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components.
  • the devices and components described in the embodiments may include a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable PLU (programmable). It can be implemented using one or more general purpose or special purpose computers, such as logic units, microprocessors, or any other device capable of executing and responding to instructions.
  • the processing device may execute an operating system (OS) and one or more software applications running on the operating system.
  • the processing device may also access, store, manipulate, process, and generate data in response to the execution of the software.
  • OS operating system
  • the processing device may also access, store, manipulate, process, and generate data in response to the execution of the software.
  • processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include.
  • the processing device may include a plurality of processors or one processor and one controller.
  • other processing configurations are possible, such as parallel processors.
  • the software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device.
  • the software and / or data may be embodied in any type of machine, component, physical device, computer storage medium or device in order to be interpreted by or provided to the processing device or to provide instructions or data. have.
  • the software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.
  • Method according to the embodiment is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium.
  • the medium may be to continuously store a program executable by the computer, or to temporarily store for execution or download.
  • the medium may be a variety of recording means or storage means in the form of a single or several hardware combined, not limited to a medium directly connected to any computer system, it may be distributed on the network. Examples of media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, And program instructions may be stored including a ROM, a RAM, a flash memory, and the like.
  • examples of another medium may include a recording medium or a storage medium managed by an app store that distributes an application, a site that supplies or distributes various software, a server, or the like.

Landscapes

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

Abstract

컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 학습하고자 하는 특정 스타일의 이미지를 이용하여 DNN(deep neural network) 기반 스타일 전이 모델(style transfer model)을 학습하는 학습부를 포함하고, 상기 스타일 전이 모델은 미리 학습된 결과를 이용한 전이 학습(transfer learning) 방식을 통해 딥 레이어의 개수가 축소된 구조의 DNN 모델인 것을 특징으로 하는 시스템을 제공한다.

Description

모바일 환경에서 실시간 추론이 가능한 DNN 구성을 위한 최적화 기법
아래의 설명은 DNN(deep neural network) 모델을 최적화하는 기술에 관한 것이다.
일반적으로 딥러닝(Deep learning)은 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화를 시도하는 기계 학습 알고리즘의 집합으로 정의되며, 큰 틀에서 사람의 사고 방식을 컴퓨터에게 가르치는 기계학습의 한 분야이다.
어떠한 데이터가 있을 때 이를 컴퓨터가 알아 들을 수 있는 형태(예를 들어, 이미지의 경우 픽셀 정보를 열 벡터로 표현하는 툴)로 표현하고 이를 학습에 적용하기 위해 많은 연구가 진행되고 있다.
DNN(deep neural networks), CNN(convolutional neural network), RNN(recurrent neural network) 등과 같은 다양한 딥러닝 기법들이 음성 신호 처리, 자연 언어 처리, 비전 처리 등의 분야에 적용되어 우수한 성능의 응용 프로그램들이 개발되고 있다.
예컨대, 한국공개특허공보 제10-2015-0079064호(공개일 2015년 07월 08일)에는 사용자가 저장하고자 하는 정지 영상을 입력 받아 딥러닝을 통해 영상 콘텍스트를 이해하고 물리적인 정보, 의미론적인 정보, 메타 데이터를 추론하여 자동 태깅하는 기술이 개시되어 있다.
모바일 환경에서 실시간 추론(real-time inference)이 가능한 DNN(deep neural network) 최적화 모델을 제공한다.
컴퓨터로 구현되는 시스템에 있어서, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 학습하고자 하는 특정 스타일의 이미지를 이용하여 DNN(deep neural network) 기반 스타일 전이 모델(style transfer model)을 학습하는 학습부를 포함하고, 상기 스타일 전이 모델은 미리 학습된 결과를 이용한 전이 학습(transfer learning) 방식을 통해 딥 레이어의 개수가 축소된 구조의 DNN 모델인 것을 특징으로 하는 시스템을 제공한다.
일 측면에 따르면, 상기 스타일 전이 모델은 다른 DNN 모델에서의 전이 학습을 통해 학습을 진행하는 DNN 모델일 수 있다.
다른 측면에 따르면, 상기 스타일 전이 모델은 이미 학습된 이전 DNN 모델 중에서 상기 특정 스타일과 유사한 스타일의 이미지를 학습한 DNN 모델의 중간 학습 결과를 얻어와 전이 학습을 진행하는 DNN 모델일 수 있다.
또 다른 측면에 따르면, 상기 스타일 전이 모델은 이미 학습된 이전 DNN 모델 중에서 상기 특정 스타일과 유사한 스타일의 이미지를 학습한 DNN 모델의 일부 레이어로 구성되는 DNN 모델일 수 있다.
또 다른 측면에 따르면, 상기 적어도 하나의 프로세서는, DNN 모델의 일부 레이어에서 피처 맵을 추출하여 DNN 모델 간의 유사도를 측정할 수 있다.
또 다른 측면에 따르면, 상기 스타일 전이 모델은 적어도 하나의 레이어의 피처 사이즈(feature size)가 축소된 구조의 DNN 모델일 수 있다.
또 다른 측면에 따르면, 상기 스타일 전이 모델은 잔류층(residual layer)에 인스턴스 정규화(instance normalization) 연산자가 추가된 구조의 DNN 모델일 수 있다.
또 다른 측면에 따르면, 상기 잔류층이 컨볼루션 연산자, 인스턴스 정규화 연산자, 활성화 함수, 컨볼루션 연산자, 인스턴스 정규화 연산자의 순으로 구성될 수 있다.
또 다른 측면에 따르면, 상기 잔류층의 마지막 레이어에서 이전 레이어의 연산 결과 값을 축소 조정(scaling)하는 구조가 포함될 수 있다.
컴퓨터로 구현되는 방법에 있어서, 학습하고자 하는 특정 스타일의 이미지를 이용하여 DNN 기반 스타일 전이 모델을 학습하는 단계; 및 입력 이미지에 대해 상기 스타일 전이 모델을 통해 상기 특정 스타일이 적용된 결과 이미지를 제공하는 단계를 포함하고, 상기 스타일 전이 모델은 미리 학습된 결과를 이용한 전이 학습 방식을 통해 딥 레이어의 개수가 축소된 구조의 DNN 모델인 것을 특징으로 하는 방법을 제공한다.
컴퓨터와 결합되어 상기 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.
상기 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체를 제공한다.
본 발명의 실시예들에 따르면, 모바일 환경에서 실시간 추론이 가능한 DNN 최적화 모델을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 컴퓨터 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 컴퓨터 시스템이 수행할 수 있는 딥러닝 기반 실시간 추론 방법의 예를 도시한 순서도이다.
도 4는 본 발명의 일 실시예에 있어서 DNN 모델의 최적화 기법의 일례를 설명하기 위한 예시 도면이다.
도 5는 본 발명의 일 실시예에 있어서 전이 학습(transfer learning)을 통해 레이어 개수를 축소하는 예시를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 있어서 전이 학습을 위해 이미지 유사도를 측정하는 예시를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 있어서 DNN 모델의 최적화 기법의 다른 예를 설명하기 위한 예시 도면이다.
도 8은 본 발명의 일 실시예에 있어서 DNN 모델의 최적화 기법의 또 다른 예를 설명하기 위한 예시 도면이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 실시예들은 DNN 모델을 최적화하는 기술에 관한 것이다.
본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 모바일 환경에서 실시간 추론이 가능한 DNN 최적화 모델을 제공할 수 있고 이를 통해 구성 축소, 연산 감량, 효율성, 정확성, 신속성, 비용 절감 등의 측면에 있어서 상당한 장점들을 달성한다.
도 1은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다. 예를 들어, 본 발명의 실시예들에 따른 딥러닝 시스템이 도 1의 컴퓨터 시스템(100)을 통해 구현될 수 있다. 도 1에 도시한 바와 같이, 컴퓨터 시스템(100)은 딥러닝 기반 실시간 추론 방법을 실행하기 위한 구성요소로서 프로세서(110), 메모리(120), 영구 저장 장치(130), 버스(140), 입출력 인터페이스(150) 및 네트워크 인터페이스(160)를 포함할 수 있다.
프로세서(110)는 딥러닝 기반의 실시간 추론을 위한 구성요소로서 명령어들의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(110)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(110)는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 컨텐츠 플랫폼 등에 포함될 수 있다. 프로세서(110)는 버스(140)를 통해 메모리(120)에 접속될 수 있다.
메모리(120)는 컴퓨터 시스템(100)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 메모리(120)는 예를 들어 랜덤 액세스 메모리(RAM: random access memory) 및/또는 다이내믹 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리(120)는 컴퓨터 시스템(100)의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리(120)는 예를 들어 딥러닝 기반의 실시간 추론을 위한 명령어들을 포함하는 컴퓨터 시스템(100)의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 시스템(100)은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서(110)를 포함할 수 있다.
버스(140)는 컴퓨터 시스템(100)의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스(140)는 예를 들어 컴퓨터 시스템(100)의 컴포넌트들 사이에, 예를 들어 프로세서(110)와 메모리(120) 사이에 데이터를 운반할 수 있다. 버스(140)는 컴퓨터 시스템(100)의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.
영구 저장 장치(130)는 (예를 들어, 메모리(120)에 비해) 소정의 연장된 기간 동안 데이터를 저장하기 위해 컴퓨터 시스템(100)에 의해 사용되는 바와 같은 메모리 또는 다른 영구 저장 장치와 같은 컴포넌트들을 포함할 수 있다. 영구 저장 장치(130)는 컴퓨터 시스템(100) 내의 프로세서(110)에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 영구 저장 장치(130)는 예를 들어 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.
입출력 인터페이스(150)는 키보드, 마우스, 음성 명령 입력, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 딥러닝 기반의 실시간 추론을 위한 입력이 입출력 인터페이스(150)를 통해 수신될 수 있다.
네트워크 인터페이스(160)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(160)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 딥러닝 기반의 실시간 추론을 위한 입력이 네트워크 인터페이스(160)를 통해 수신될 수 있다.
또한, 다른 실시예들에서 컴퓨터 시스템(100)은 도 1의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템(100)은 상술한 입출력 인터페이스(150)와 연결되는 입출력 장치들 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
본 발명은 모바일 환경에서 실시간 추론이 가능한 DNN 최적화 모델을 제공한다.
딥러닝은 음성 신호 처리, 자연 언어 처리, 비전 처리 등과 같은 다양한 기술 분야에 이용되고 있으며, 일례로 스타일 전이 필터(style transfer filter)는 딥러닝 기반의 이미지 필터로 이미지에 반고흐나 피카소 등 특정 화풍의 스타일을 입혀주는 효과를 제공할 수 있다.
도 2는 본 발명의 일 실시예에 따른 컴퓨터 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이고, 도 3은 본 발명의 일 실시예에 따른 컴퓨터 시스템이 수행할 수 있는 딥러닝 기반 실시간 추론 방법의 예를 도시한 순서도이다.
도 2에 도시된 바와 같이, 프로세서(110)는 학습부(210), 및 추론부(220)를 포함할 수 있다. 이러한 프로세서(110)의 구성요소들은 적어도 하나의 프로그램 코드에 의해 제공되는 제어 명령에 따라 프로세서(110)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 프로세서(110)가 이미지 학습을 수행하도록 컴퓨터 시스템(100)을 제어하기 위해 동작하는 기능적 표현으로서 학습부(210)가 사용될 수 있다. 프로세서(110) 및 프로세서(110)의 구성요소들은 도 3의 딥러닝 기반 실시간 추론 방법이 포함하는 단계들(S310 내지 S330)을 수행할 수 있다. 예를 들어, 프로세서(110) 및 프로세서(110)의 구성요소들은 메모리(120)가 포함하는 운영체제의 코드와 상술한 적어도 하나의 프로그램 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 적어도 하나의 프로그램 코드는 딥러닝 기반 실시간 추론 방법을 처리하기 위해 구현된 프로그램의 코드에 대응될 수 있다.
딥러닝 기반 실시간 추론 방법은 도시된 순서대로 발생하지 않을 수 있으며, 단계들 중 일부가 생략되거나 추가의 과정이 더 포함될 수 있다.
단계(S310)에서 프로세서(110)는 딥러닝 기반 실시간 추론 방법을 위한 프로그램 파일에 저장된 프로그램 코드를 메모리(120)에 로딩할 수 있다. 예를 들어, 딥러닝 기반 실시간 추론 방법을 위한 프로그램 파일은 도 1을 통해 설명한 영구 저장 장치(130)에 저장되어 있을 수 있고, 프로세서(110)는 버스를 통해 영구 저장 장치(130)에 저장된 프로그램 파일로부터 프로그램 코드가 메모리(120)에 로딩되도록 컴퓨터 시스템(110)을 제어할 수 있다. 이때, 프로세서(110) 및 프로세서(110)가 포함하는 학습부(210), 및 추론부(220) 각각은 메모리(120)에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(S320 내지 S330)을 실행하기 위한 프로세서(110)의 서로 다른 기능적 표현들일 수 있다. 단계들(S320 내지 S330)의 실행을 위해, 프로세서(110) 및 프로세서(110)의 구성요소들은 직접 제어 명령에 따른 연산을 처리하거나 또는 컴퓨터 시스템(100)을 제어할 수 있다.
단계(S320)에서 학습부(210)는 학습 이미지 데이터 셋을 학습하여 DNN 모델로서 이미지 변환 네트워크(image transform network)를 생성할 수 있다. 스타일 전이 서비스를 위해서는 스타일 이미지와 스타일 가중치를 입력 데이터로 사용하여 학습 모듈을 통해 학습을 진행할 수 있다. 다시 말해, 학습부(210)는 서비스하고자 하는 스타일의 이미지를 기반으로 스타일 전이 모델을 학습할 수 있으며, 이때 DNN 모델을 활용하여 해당 스타일의 이미지를 학습할 수 있다. 학습을 위한 이미지 데이터 셋은 서비스하고자 하는 전이 필터인 각 스타일 별로 해당 스타일의 정답 이미지들을 사용할 수 있다. 정답 이미지에 대한 학습을 진행함으로써 이미지 변환 네트워크를 생성할 수 있으며, 이러한 이미지 변환 네트워크에 입력 이미지 x를 적용하여 특정 스타일의 결과 이미지 y를 생성할 수 있다. 이때, 학습부(210)는 학습에 필요한 이미지의 특징을 추출하는데 많이 사용되는 DNN 모델을 적용하여 이미지 변환 네트워크를 생성할 수 있다.
단계(S330)에서 추론부(220)는 사용자가 스타일 전이를 원하는 이미지를 입력하고 원하는 스타일 모델을 선택하는 경우 입력 이미지에 대해 선택된 스타일 모델의 이미지 변환 네트워크를 통한 추론을 수행함으로써 해당 스타일이 적용된 결과 이미지를 획득할 수 있다. 추론부(220)는 입력 이미지를 학습부(210)의 학습 모델을 통해 생성된 이미지 변환 네트워크를 통과함으로써 사용자가 원하는 스타일이 적용된 새로운 이미지를 결과물로 제공할 수 있다.
현재 DNN 모델들의 태스크는 분류(classification), 탐지(detection), 분할(segmentation) 등으로 다양하며, 대부분의 태스크들은 고사양의 GPU 서버에서 DNN 모델 학습을 통해 이루어진다.
DNN 모델의 구조는 모바일 환경에서 추론(inference)가 어려울 정도로 복잡한 구조로 설계되어 있는 문제가 있다. 첫째, DNN 모델은 딥 레이어(deep layer)의 구성으로 이루어져 있고 많은 수의 레이어로 구성되어 있기 때문에 많은 연산을 필요로 한다. 둘째, DNN의 구조가 대부분 정확도를 올리기 위한 목적으로 설계되기 때문에 실제 추론이 진행될 때 필요하지 않은 레이어와 피처들(features)이 존재할 수 밖에 없으며, 이러한 복잡한 구조로 인하여 추론 시간(inference time) 또한 증가하게 된다. 셋째, GPU 서버와 같이 리소스가 충분한 환경에서는 Float32(single-precision type, double-precision type)를 사용하는 반면에, 모바일 환경에서는 한정된 리소스(예컨대, CPU, GPU, 메모리 등)를 효율적으로 사용하기 위해서 Float16 등과 같은 반-정밀도 타입(half-precision type)을 사용하고 있다. 이러한 리소스 차이로 인해서 모바일 환경에서 DNN 모델을 이용할 경우 쉽게 오버플로(overflow)가 발생할 가능성이 높아진다.
본 발명에서는 모바일 환경의 클라이언트에서 실시간 추론이 가능하고 이미지에 적용된 효과(스타일 전이 필터)를 실시간으로 프리뷰(preview)할 수 있는, 모바일 환경에 적합한 DNN 최적화 모델을 제공할 수 있다.
(1) DNN 모델을 최적화하는 방법 중 하나는 레이어의 개수를 축소하는 것이다.
일례로, 딥 레이어 구조에서 레이어의 개수를 축소할 수 있다. 도 4를 참조하면, 잔류층(residual layer)의 개수를 줄이는 방식으로 DNN 모델을 최적화할 수 있다. 예를 들어, 32개의 레이어로 구성된 복잡한 DNN 모델(즉, teacher network)을 14개의 레이어로 구성된 간단한 DNN 모델(student network)에게 전이 학습(transfer learning) 방식을 통해서 학습을 진행할 수 있다. 전이 학습 방식을 채택하여 간단한 모델에서도 복잡한 모델이 가진 성능을 얻을 수 있다.
다른 예로, 학습된 이전 DNN 모델들의 리스트 중에서 현재 학습하고자 하는 DNN 모델의 스타일 유사도를 판단하여 유사한 모델이 존재하는 경우 이전의 DNN 모델의 중간 학습 결과를 얻어와서 전이 학습을 진행하는 것이다. 스타일 전이를 위해 이미지의 스타일을 학습하는 DNN 모델의 경우 기존에 학습된 다른 스타일의 모델의 중간 학습 결과를 얻어와서 학습이 가능하다. 각 스타일 별로 동일한 구조의 DNN 모델이 존재하게 되는데, 학습하고자 하는 스타일과 유사한 스타일 이미지를 학습한 DNN 모델의 학습 결과를 얻어와서 전이 학습을 진행할 수 있다. 예를 들어, 도 5에 도시한 바와 같이 이전에 미리 학습된 태스크 A 모델(501)에서 앞 2개의 레이어를 얻어와서 새롭게 학습하는 태스크 B 모델(502)의 앞 2개의 레이어로 구성하여 학습할 수 있다. 전이 학습 방식을 적용하기 위해서는 태스크 A와 태스크 B 간의 유사도를 측정해야 하는데, 스타일 전이에서는 스타일 이미지를 학습할 때 도 6에 도시한 바와 같이 그램 매트릭스(gram matrix)를 사용하여 DNN 모델이 스타일 이미지의 화풍을 따라 학습하게 된다. 이러한 학습 방법을 이용하여 현재 학습된 모델들의 스타일 이미지 간에 유사도를 측정할 수 있다. 스타일 전이에서는 그램 매트릭스를 얻기 위해서 이미지 분류 태스크(image classification task)를 잘 수행하는 VGG-19 사전 학습 네트워크(pretrained network)를 사용한다. VGG-19에서 일부 레이어들의 연산 결과로 나온 피처 맵(feature map)을 활용하여 그램 매트릭스를 만들어서 사용하게 되는데, 해당 레이어에서의 피처 맵을 추출하여 두 모델 간의 유사도를 측정할 수 있다.
따라서, 본 발명에서는 다른 DNN 모델을 이용한 전이 학습 방식을 통해 새로 학습하고자 하는 딥 레이어의 개수를 줄임으로써 모바일 환경에 최적화된 스타일 전이 모델을 구현할 수 있다.
(2) DNN 모델을 최적화하는 방법 중 다른 하나는 각 레이어의 피처 사이즈(feature size)를 축소하는 것이다(도 7 참조).
본 발명에서는 태스크에 따라서 연산량을 줄이면서 정확도를 최대한 유지하는 방향으로 각 레이어에서의 피처 사이즈를 축소할 수 있다. 기존 모델에서 각 레이어의 피처 사이즈를 절반으로 줄이더라도 기존 모델과 대비하여 총 연산량(MACs)과 파라미터가 3배 가량 감소하는 것에 비해 정확도 손실은 극히 낮거나 모델에 따라 오히려 더 높아지는 것을 입증한 연구들이 존재한다.
따라서, 본 발명에서는 DNN 모델을 구성하는 각 레이어의 피처 사이즈를 줄임으로써 모바일 환경에 최적화된 스타일 전이 모델을 구현할 수 있다.
(3) DNN 모델을 최적화하는 방법 중 또 다른 하나는 잔류층을 오버플로 회피를 위한 구조로 구성하는 것이다.
도 8을 참조하면, 기존 모델의 잔류층은 두 번의 컨볼루션(convolution) 연산자(Conv)와 활성화 함수(ReLU, Rectified Linear Unit)로 구성되어 있다. 상기한 구조의 잔류층으로 모바일 환경에서 연산이 이루어질 경우에는 컨볼루션 연산이 두 번 이루어지는 동안 Float16의 제한적인 표현 범위로 인하여 오버플로가 일어날 여지가 많다. 이를 해결하기 위해, 도 8의 오른쪽 도면과 같이 각 컨볼루션 연산자(Conv) 다음에 인스턴스 정규화(instance normalization) 연산자(Instance Norm)를 추가하여 새로운 구조의 잔류층을 구성할 수 있다. 다시 말해, 컨볼루션 연산자(Conv), 인스턴스 정규화 연산자(Instance Norm), 활성화 함수(ReLU), 컨볼루션 연산자(Conv), 인스턴스 정규화 연산자(Instance Norm)의 순으로 잔류층을 구성할 수 있다. 인스턴스 정규화는 정규화 기법 중 하나로, 예를 들어 입력 이미지 x의 컨볼루션 연산에 따른 출력 이미지의 각 채널(RGB)에 대해 픽셀 값의 평균 값과 분산 값을 구한 후 각 픽셀 값에서 평균 값을 뺀 값을 분산 값으로 나누는 과정이다.
인스턴스 정규화 연산자를 추가함으로써 컨볼루션 연산을 통해 나온 결과를 0~1 사이의 값으로 정규화하는 효과를 얻을 수 있고, 이전 정규화 결과를 이후 다시 컨볼루션 연산을 하게 되면 기존 모델의 구조와 다르게 Float16의 표현 범위를 벗어나지 않는 특징을 갖게 된다.
그리고, 기존 모델의 경우 잔류층의 마지막 레이어에서 이전 레이어의 연산 결과 값(res)을 그대로 반영하는 것과 달리 본 발명에서는 잔류층의 마지막 레이어에서 결과 값을 축소 조정(scaling)하는 구조를 포함할 수 있다. 예를 들어, 잔류층의 마지막 레이어에서 결과 값에 0.5를 곱하여 스케일링해줄 수 있다. 이러한 스케일링을 통해 잔류층에서 발생할 수 있는 오버플로를 방지할 수 있고, 잔류층의 결과 값을 작게 가져감으로써 전체 레이어의 구조에서 볼 때 잔류층의 상대적인 영향력이 줄어들게 되므로 불안정한(unstable) 부분을 최소화할 수 있다.
따라서, 본 발명에서는 DNN 모델의 잔류층에 정규화 연산자를 추가하고 더 나아가 잔류층의 결과를 축소 조정하는 구조를 포함시킴으로써 모바일 환경에 최적화된 스타일 전이 모델을 구현할 수 있다.
이처럼 본 발명의 실시예들에 따르면, DNN 기반 스타일 전이 모델을 상기한 (1) 내지 (3)의 방법으로 축소함으로써 모바일 환경에서 실시간 추론이 가능하도록 최적화된 스타일 전이 모델을 구현할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 컴퓨터로 구현되는 시스템에 있어서,
    컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    학습하고자 하는 특정 스타일의 이미지를 이용하여 DNN(deep neural network) 기반 스타일 전이 모델(style transfer model)을 학습하는 학습부
    를 포함하고,
    상기 스타일 전이 모델은 미리 학습된 결과를 이용한 전이 학습(transfer learning) 방식을 통해 딥 레이어의 개수가 축소된 구조의 DNN 모델인 것
    을 특징으로 하는 시스템.
  2. 제1항에 있어서,
    상기 스타일 전이 모델은 다른 DNN 모델에서의 전이 학습을 통해 학습을 진행하는 DNN 모델인 것
    을 특징으로 하는 시스템.
  3. 제1항에 있어서,
    상기 스타일 전이 모델은 이미 학습된 이전 DNN 모델 중에서 상기 특정 스타일과 유사한 스타일의 이미지를 학습한 DNN 모델의 중간 학습 결과를 얻어와 전이 학습을 진행하는 DNN 모델인 것
    을 특징으로 하는 시스템.
  4. 제1항에 있어서,
    상기 스타일 전이 모델은 이미 학습된 이전 DNN 모델 중에서 상기 특정 스타일과 유사한 스타일의 이미지를 학습한 DNN 모델의 일부 레이어로 구성되는 DNN 모델인 것
    을 특징으로 하는 시스템.
  5. 제3항 또는 제4항에 있어서,
    상기 적어도 하나의 프로세서는,
    DNN 모델의 일부 레이어에서 피처 맵을 추출하여 DNN 모델 간의 유사도를 측정하는 것
    을 특징으로 하는 시스템.
  6. 제1항에 있어서,
    상기 스타일 전이 모델은 적어도 하나의 레이어의 피처 사이즈(feature size)가 축소된 구조의 DNN 모델인 것
    을 특징으로 하는 시스템.
  7. 제1항에 있어서,
    상기 스타일 전이 모델은 잔류층(residual layer)에 인스턴스 정규화(instance normalization) 연산자가 추가된 구조의 DNN 모델인 것
    을 특징으로 하는 시스템.
  8. 제7항에 있어서,
    상기 잔류층이 컨볼루션 연산자, 인스턴스 정규화 연산자, 활성화 함수, 컨볼루션 연산자, 인스턴스 정규화 연산자의 순으로 구성되는 것
    을 특징으로 하는 시스템.
  9. 제7항에 있어서,
    상기 잔류층의 마지막 레이어에서 이전 레이어의 연산 결과 값을 축소 조정(scaling)하는 구조가 포함되는 것
    을 특징으로 하는 시스템.
  10. 컴퓨터로 구현되는 방법에 있어서,
    학습하고자 하는 특정 스타일의 이미지를 이용하여 DNN 기반 스타일 전이 모델을 학습하는 단계; 및
    입력 이미지에 대해 상기 스타일 전이 모델을 통해 상기 특정 스타일이 적용된 결과 이미지를 제공하는 단계
    를 포함하고,
    상기 스타일 전이 모델은 미리 학습된 결과를 이용한 전이 학습 방식을 통해 딥 레이어의 개수가 축소된 구조의 DNN 모델인 것
    을 특징으로 하는 방법.
  11. 제10항에 있어서,
    상기 스타일 전이 모델은 다른 DNN 모델에서의 전이 학습을 통해 학습을 진행하는 DNN 모델인 것
    을 특징으로 하는 방법.
  12. 제10항에 있어서,
    상기 스타일 전이 모델은 이미 학습된 이전 DNN 모델 중에서 상기 특정 스타일과 유사한 스타일의 이미지를 학습한 DNN 모델의 중간 학습 결과를 얻어와 전이 학습을 진행하는 DNN 모델인 것
    을 특징으로 하는 방법.
  13. 제10항에 있어서,
    상기 스타일 전이 모델은 이미 학습된 이전 DNN 모델 중에서 상기 특정 스타일과 유사한 스타일의 이미지를 학습한 DNN 모델의 일부 레이어로 구성되는 DNN 모델인 것
    을 특징으로 하는 방법.
  14. 제12항 또는 제13항에 있어서,
    상기 학습하는 단계는,
    DNN 모델의 일부 레이어에서 피처 맵을 추출하여 DNN 모델 간의 유사도를 측정하는 단계
    를 포함하는 방법.
  15. 제10항에 있어서,
    상기 스타일 전이 모델은 적어도 하나의 레이어의 피처 사이즈가 축소된 구조의 DNN 모델인 것
    을 특징으로 하는 방법.
  16. 제10항에 있어서,
    상기 스타일 전이 모델은 잔류층에 인스턴스 정규화 연산자가 추가된 구조의 DNN 모델인 것
    을 특징으로 하는 방법.
  17. 제16항에 있어서,
    상기 잔류층이 컨볼루션 연산자, 인스턴스 정규화 연산자, 활성화 함수, 컨볼루션 연산자, 인스턴스 정규화 연산자의 순으로 구성되는 것
    을 특징으로 하는 방법.
  18. 제16항에 있어서,
    상기 잔류층의 마지막 레이어에서 이전 레이어의 연산 결과 값을 축소 조정하는 구조가 포함되는 것
    을 특징으로 하는 방법.
  19. 컴퓨터와 결합되어 제10항 내지 제13항, 제15항 내지 제18항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  20. 제10항 내지 제13항, 제15항 내지 제18항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체.
PCT/KR2019/006746 2018-06-05 2019-06-04 모바일 환경에서 실시간 추론이 가능한 dnn 구성을 위한 최적화 기법 WO2019235821A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/112,069 US20210089914A1 (en) 2018-06-05 2020-12-04 Optimization technique for forming dnn capable of performing real-time inference in mobile environment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180064897A KR102096388B1 (ko) 2018-06-05 2018-06-05 모바일 환경에서 실시간 추론이 가능한 dnn 구성을 위한 최적화 기법
KR10-2018-0064897 2018-06-05

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/112,069 Continuation US20210089914A1 (en) 2018-06-05 2020-12-04 Optimization technique for forming dnn capable of performing real-time inference in mobile environment

Publications (1)

Publication Number Publication Date
WO2019235821A1 true WO2019235821A1 (ko) 2019-12-12

Family

ID=68769633

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/006746 WO2019235821A1 (ko) 2018-06-05 2019-06-04 모바일 환경에서 실시간 추론이 가능한 dnn 구성을 위한 최적화 기법

Country Status (3)

Country Link
US (1) US20210089914A1 (ko)
KR (1) KR102096388B1 (ko)
WO (1) WO2019235821A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111815627A (zh) * 2020-08-24 2020-10-23 成都睿沿科技有限公司 遥感图像变化检测方法、模型训练方法及对应装置
CN111915525A (zh) * 2020-08-05 2020-11-10 湖北工业大学 基于改进深度可分离生成对抗网络的低照度图像增强方法
WO2021228641A1 (en) * 2020-05-12 2021-11-18 Interdigital Ce Patent Holdings Systems and methods for training and/or deploying a deep neural network
CN116596825A (zh) * 2023-07-18 2023-08-15 深智透医疗科技发展(上海)有限责任公司 磁共振图像对比度合成方法及***

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200042137A (ko) * 2018-10-15 2020-04-23 삼성전자주식회사 변형 발화 텍스트를 제공하는 전자 장치 및 그것의 동작 방법
CN111679903A (zh) * 2020-01-09 2020-09-18 北京航空航天大学 一种面向深度学习的边云协同装置
KR102516812B1 (ko) * 2020-11-13 2023-03-31 네이버 주식회사 기계학습을 이용하여 이미지 압축 품질을 최적화하는 방법 및 시스템
CN113485801B (zh) * 2021-06-25 2023-07-28 中国科学技术大学苏州高等研究院 基于神经网络相似度建模的实时dnn调度***及方法
KR102580658B1 (ko) * 2022-06-28 2023-09-21 국민대학교산학협력단 스케치 이미지 객체 탐지를 위한 이미지 변환 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170034258A (ko) * 2015-09-18 2017-03-28 삼성전자주식회사 모델 학습 방법 및 장치, 및 데이터 인식 방법
KR20170106338A (ko) * 2015-01-22 2017-09-20 퀄컴 인코포레이티드 모델 압축 및 미세-튜닝
KR20180034395A (ko) * 2015-07-22 2018-04-04 퀄컴 인코포레이티드 뉴럴 네트워크들에서의 러닝 트랜스퍼
WO2018075927A1 (en) * 2016-10-21 2018-04-26 Google Llc Stylizing input images

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150324686A1 (en) * 2014-05-12 2015-11-12 Qualcomm Incorporated Distributed model learning
US9576351B1 (en) * 2015-11-19 2017-02-21 Adobe Systems Incorporated Style transfer for headshot portraits
WO2018042388A1 (en) * 2016-09-02 2018-03-08 Artomatix Ltd. Systems and methods for providing convolutional neural network based image synthesis using stable and controllable parametric models, a multiscale synthesis framework and novel network architectures
JP6761128B2 (ja) * 2016-09-06 2020-09-23 エレクタ、インク.Elekta, Inc. 合成医療画像を生成するためのニューラルネットワーク
JP2018132855A (ja) 2017-02-14 2018-08-23 国立大学法人電気通信大学 画像スタイル変換装置、画像スタイル変換方法および画像スタイル変換プログラム
US10565757B2 (en) * 2017-06-09 2020-02-18 Adobe Inc. Multimodal style-transfer network for applying style features from multi-resolution style exemplars to input images
US10318889B2 (en) * 2017-06-26 2019-06-11 Konica Minolta Laboratory U.S.A., Inc. Targeted data augmentation using neural style transfer
US10664718B1 (en) * 2017-09-11 2020-05-26 Apple Inc. Real-time adjustment of hybrid DNN style transfer networks
CN107767343B (zh) * 2017-11-09 2021-08-31 京东方科技集团股份有限公司 图像处理方法、处理装置和处理设备
US10984286B2 (en) * 2018-02-02 2021-04-20 Nvidia Corporation Domain stylization using a neural network model

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170106338A (ko) * 2015-01-22 2017-09-20 퀄컴 인코포레이티드 모델 압축 및 미세-튜닝
KR20180034395A (ko) * 2015-07-22 2018-04-04 퀄컴 인코포레이티드 뉴럴 네트워크들에서의 러닝 트랜스퍼
KR20170034258A (ko) * 2015-09-18 2017-03-28 삼성전자주식회사 모델 학습 방법 및 장치, 및 데이터 인식 방법
WO2018075927A1 (en) * 2016-10-21 2018-04-26 Google Llc Stylizing input images

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LIM, HYUNGJUN AL ET AL.: "Sound event classification using deep neural network based transfer learning", THE JOURNAL OF THE ACOUSTICAL SOCIETY OF KOREA, vol. 35, no. 2, 2016, pages 143 - 148 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021228641A1 (en) * 2020-05-12 2021-11-18 Interdigital Ce Patent Holdings Systems and methods for training and/or deploying a deep neural network
CN111915525A (zh) * 2020-08-05 2020-11-10 湖北工业大学 基于改进深度可分离生成对抗网络的低照度图像增强方法
CN111915525B (zh) * 2020-08-05 2024-03-01 湖北工业大学 基于改进深度可分离生成对抗网络的低照度图像增强方法
CN111815627A (zh) * 2020-08-24 2020-10-23 成都睿沿科技有限公司 遥感图像变化检测方法、模型训练方法及对应装置
CN116596825A (zh) * 2023-07-18 2023-08-15 深智透医疗科技发展(上海)有限责任公司 磁共振图像对比度合成方法及***
CN116596825B (zh) * 2023-07-18 2023-10-17 深智透医疗科技发展(上海)有限责任公司 磁共振图像对比度合成方法及***

Also Published As

Publication number Publication date
US20210089914A1 (en) 2021-03-25
KR20190138438A (ko) 2019-12-13
KR102096388B1 (ko) 2020-04-06

Similar Documents

Publication Publication Date Title
WO2019235821A1 (ko) 모바일 환경에서 실시간 추론이 가능한 dnn 구성을 위한 최적화 기법
JP7087079B2 (ja) 深層学習アプリケーションのための堅牢な勾配重み圧縮方式
WO2017124646A1 (zh) 一种用于稀疏连接的人工神经网络计算装置和方法
WO2022068627A1 (zh) 一种数据处理方法及相关设备
KR102655950B1 (ko) 뉴럴 네트워크의 고속 처리 방법 및 그 방법을 이용한 장치
CN113449859A (zh) 一种数据处理方法及其装置
WO2022111617A1 (zh) 一种模型训练方法及装置
CN113095129B (zh) 姿态估计模型训练方法、姿态估计方法、装置和电子设备
WO2022179586A1 (zh) 一种模型训练方法及其相关联设备
CN113313241A (zh) 确定深度学习模型的张量信息的方法和计算装置
US11443173B2 (en) Hardware-software co-design for accelerating deep learning inference
US20220004849A1 (en) Image processing neural networks with dynamic filter activation
Jin et al. Embedded real-time pedestrian detection system using YOLO optimized by LNN
WO2020192523A1 (zh) 译文质量检测方法、装置、机器翻译***和存储介质
EP4176393A1 (en) Systems and methods for automatic mixed-precision quantization search
CN112528108B (zh) 一种模型训练***、模型训练中梯度聚合的方法及装置
CN114912629A (zh) 联合感知模型训练、联合感知方法、装置、设备和介质
WO2021091096A1 (ko) 공정성 분류 네트워크를 이용한 시각 질의 응답 방법 및 장치
CN111898544A (zh) 文字图像匹配方法、装置和设备及计算机存储介质
WO2023033194A1 (ko) 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템
EP3871109A1 (en) System and method for cached convolution calculation
CN106845503A (zh) 一种Hog并行化设计方法及***
CN112130827A (zh) 基于云端模块化技术的模型开发方法、平台和智能终端
WO2022163985A1 (ko) 인공지능 추론모델을 경량화하는 방법 및 시스템
Schmidt et al. Out-of-core GPU-accelerated causal structure learning

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: 19815688

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19815688

Country of ref document: EP

Kind code of ref document: A1