KR102051390B1 - Apparatus and method for training a deep neural network - Google Patents

Apparatus and method for training a deep neural network Download PDF

Info

Publication number
KR102051390B1
KR102051390B1 KR1020170098838A KR20170098838A KR102051390B1 KR 102051390 B1 KR102051390 B1 KR 102051390B1 KR 1020170098838 A KR1020170098838 A KR 1020170098838A KR 20170098838 A KR20170098838 A KR 20170098838A KR 102051390 B1 KR102051390 B1 KR 102051390B1
Authority
KR
South Korea
Prior art keywords
value
neural network
gradient
label
deep neural
Prior art date
Application number
KR1020170098838A
Other languages
Korean (ko)
Other versions
KR20190014829A (en
Inventor
오병태
양윤모
Original Assignee
한국항공대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국항공대학교산학협력단 filed Critical 한국항공대학교산학협력단
Priority to KR1020170098838A priority Critical patent/KR102051390B1/en
Publication of KR20190014829A publication Critical patent/KR20190014829A/en
Application granted granted Critical
Publication of KR102051390B1 publication Critical patent/KR102051390B1/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/04Architecture, e.g. interconnection topology

Landscapes

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

Abstract

심층 신경망 학습 방법에 관한 것이며, 심층 신경망 학습 방법은 (a) 신경망 모델에 포함된 복수의 손실 계층 각각에서 사용되는 레이블 값을 결정하는 단계; (b) 결정된 상기 레이블 값에 기초한 신경망 학습 수행시 상기 복수의 손실 계층 각각에서 발생하는 그래디언트(gradient) 값을 조절하는 단계; 및 (c) 조절된 상기 그래디언트 값에 기초하여 상기 신경망 모델에 기반한 심층 신경망 학습을 수행하는 단계를 포함할 수 있다.A deep neural network learning method, the deep neural network learning method comprising: (a) determining a label value used in each of a plurality of loss layers included in a neural network model; (b) adjusting a gradient value generated in each of the plurality of loss layers when performing neural network learning based on the determined label value; And (c) performing deep neural network learning based on the neural network model based on the adjusted gradient value.

Description

심층 신경망 학습 장치 및 방법 {APPARATUS AND METHOD FOR TRAINING A DEEP NEURAL NETWORK}Deep neural network learning apparatus and method {APPARATUS AND METHOD FOR TRAINING A DEEP NEURAL NETWORK}

본원은 심층 신경망 학습 장치 및 방법에 관한 것이다.The present application relates to a deep neural network learning apparatus and method.

영상 복원은 왜곡된 영상으로부터 원래의 영상을 얻어내는 것을 의미한다. 왜곡된 영상을 원래의 영상으로 복원하는 방법에는 Inverse Filter, Kalman Filter 등 여러가지 고전적인 필터링 방법들이 있으나, 이러한 접근 방법은 영상 복원 성능에 있어서 한계를 가지고 있었다.Image reconstruction means obtaining the original image from the distorted image. There are various classical filtering methods such as Inverse Filter and Kalman Filter to restore the distorted image to the original image. However, this approach has a limitation in image reconstruction performance.

이러한 문제를 해소하기 위해 최근 신경망(neural network) 모델을 이용하는 딥러닝(deep running) 기반의 영상 복원 방법이 개발되고 있다. 그런데, 종래에 공지된 신경망 모델을 이용한 영상 복원 방법은 잘못된 방향으로 학습이 이루어지는 등의 문제로 인해 상술한 바와 같이 영상 복원의 성능 향상 수준이 충분치 못한 실정이다.In order to solve this problem, a deep running based image reconstruction method using a neural network model has recently been developed. However, the image reconstruction method using a neural network model known in the related art does not have sufficient performance improvement level as described above due to problems such as learning in the wrong direction.

본원의 배경이 되는 기술은 논문 "Dong, Chao, et al. "Compression artifacts reduction by a deep convolutional network." Proceedings of the IEEE International Conference on Computer Vision. 2015."에 개시되어 있다.Background art of this application is disclosed in the paper "Dong, Chao, et al." Compression artifacts reduction by a deep convolutional network. "Proceedings of the IEEE International Conference on Computer Vision. 2015."

본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 올바른 방향으로 신경망 학습이 이루어지도록 하여 심층 신경망 학습의 성능을 향상시킬 수 있는 심층 신경망 학습 장치 및 방법을 제공하려는 것을 목적으로 한다.An object of the present invention is to provide a deep neural network learning apparatus and method capable of improving the performance of deep neural network learning by performing neural network learning in a correct direction.

본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 심층 신경망 학습의 성능 향상을 통해 영상 복원의 성능을 보다 향상시킬 수 있는 심층 신경망 학습 장치 및 방법을 제공하려는 것을 목적으로 한다.The present invention is to solve the above-mentioned problems of the prior art, an object of the present invention is to provide a deep neural network learning apparatus and method that can further improve the performance of image reconstruction through the performance of deep neural network learning.

다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the embodiments of the present application is not limited to the technical problems as described above, and other technical problems may exist.

상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 제1 측면에 따른 심층 신경망 학습 방법은, (a) 신경망 모델에 포함된 복수의 손실 계층 각각에서 사용되는 레이블 값을 결정하는 단계; (b) 결정된 상기 레이블 값에 기초한 신경망 학습 수행시 상기 복수의 손실 계층 각각에서 발생하는 그래디언트(gradient) 값을 조절하는 단계; 및 (c) 조절된 상기 그래디언트 값에 기초하여 상기 신경망 모델에 기반한 심층 신경망 학습을 수행하는 단계를 포함할 수 있다.As a technical means for achieving the above technical problem, the deep neural network learning method according to the first aspect of the present invention, (a) determining a label value used in each of the plurality of loss layers included in the neural network model; (b) adjusting a gradient value generated in each of the plurality of loss layers when performing neural network learning based on the determined label value; And (c) performing deep neural network learning based on the neural network model based on the adjusted gradient value.

상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 제2 측면에 따른 심층 신경망 학습 장치는, 신경망 모델에 포함된 복수의 손실 계층 각각에서 사용되는 레이블 값을 결정하는 결정부; 결정된 상기 레이블 값에 기초한 신경망 학습 수행시 상기 복수의 손실 계층 각각에서 발생하는 경사(gradient) 값을 조절하는 조절부; 및 조절된 상기 경사 값에 기초하여 상기 신경망 모델에 기반한 심층 신경망 학습을 수행하는 수행부를 포함할 수 있다.As a technical means for achieving the above technical problem, the deep neural network learning apparatus according to the second aspect of the present invention, the determination unit for determining the label value used in each of the plurality of loss layers included in the neural network model; An adjusting unit adjusting a gradient value generated in each of the plurality of loss layers when performing neural network learning based on the determined label value; And an execution unit that performs deep neural network learning based on the neural network model based on the adjusted slope value.

상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 제3 측면에 따른 컴퓨터 프로그램은, 본원의 제1 측면에 따른 심층 신경망 학습 방법을 실행시키기 위하여 기록매체에 저장되는 것일 수 있다.As a technical means for achieving the above technical problem, the computer program according to the third aspect of the present application may be stored in a recording medium to execute the deep neural network learning method according to the first aspect of the present application.

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.The above-mentioned means for solving the problems are merely exemplary and should not be construed as limiting the present application. In addition to the above-described exemplary embodiments, additional embodiments may exist in the drawings and detailed description of the invention.

전술한 본원의 과제 해결 수단에 의하면, 신경망 모델에 포함된 복수의 손실 계층 각각에서 사용되는 레이블 값을 결정하고, 결정된 레이블 값에 기초한 신경망 학습 수행시 복수의 손실 계층 각각에서 발생하는 그래디언트(gradient) 값을 조절하고, 조절된 그래디언트 값에 기초하여 심층 신경망 학습을 수행함으로써, 그래디언트 값이 잘못된 방향으로 변하여 신경망 학습이 잘못 이루어지는 문제를 해소할 수 있다.According to the above-described problem solving means of the present invention, a label value used in each of the plurality of loss layers included in the neural network model, and the gradient generated in each of the plurality of loss layers when performing neural network learning based on the determined label value By adjusting the value and performing deep neural network learning based on the adjusted gradient value, the gradient value is changed in the wrong direction and neural network learning is incorrectly solved.

전술한 본원의 과제 해결 수단에 의하면, 신경망 모델에 복수의 손실 계층을 도입함으로써, 올바른 그래디언트 방향으로 신경망의 파라미터 값의 학습이 이루어지도록 하여 네트워크의 학습 성능 및 영상 복원의 성능을 향상시킬 수 있다.According to the above-described problem solving means of the present application, by introducing a plurality of loss layers in the neural network model, it is possible to learn the parameter values of the neural network in the correct gradient direction to improve the learning performance of the network and the performance of image reconstruction.

다만, 본원에서 얻을 수 있는 효과는 상기된 바와 같은 효과들로 한정되지 않으며, 또 다른 효과들이 존재할 수 있다.However, the effects obtainable herein are not limited to the effects as described above, and other effects may exist.

도 1은 본원의 일 실시예에 따른 심층 신경망 학습 장치의 개략적인 블록도이다.
도 2a는 신경망 모델의 구조 상에서 본원의 일 실시예에 따른 심층 신경망 학습 장치를 통한 학습 과정을 설명하기 위한 도면이다.
도 2b는 신경망 모델의 구조 상에서 본원의 일 실시예에 따른 심층 신경망 학습 장치를 통한 테스트 수행(적용) 과정을 설명하기 위한 도면이다.
도 3은 본원의 일 실시예에 따른 심층 신경망 학습 방법에 대한 개략적인 동작 흐름도이다.
1 is a schematic block diagram of a deep neural network learning apparatus according to an embodiment of the present application.
FIG. 2A is a diagram for describing a learning process through a deep neural network learning apparatus according to an embodiment of the present disclosure on the structure of a neural network model.
FIG. 2B is a diagram for describing a test execution (application) process through a deep neural network learning apparatus according to an embodiment of the present application on the structure of a neural network model.
3 is a schematic operation flowchart of a deep neural network learning method according to an embodiment of the present application.

아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present disclosure. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted for simplicity of explanation, and like reference numerals designate like parts throughout the specification.

본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결" 또는 "간접적으로 연결"되어 있는 경우도 포함한다. Throughout this specification, when a part is "connected" to another part, it is not only "directly connected" but also "electrically connected" or "indirectly connected" with another element in between. "Includes the case.

본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout this specification, when a member is said to be located on another member "on", "upper", "top", "bottom", "bottom", "bottom", this means that any member This includes not only the contact but also the presence of another member between the two members.

본원 명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.Throughout this specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding the other components unless specifically stated otherwise.

최근 딥러닝(deep running) 기술의 급격한 발달로 다양한 분야에서 딥러닝 기술을 도입하고 있다. 특히, 영상처리 분야에서도 기존의 영상 복원 문제를 해결하기 위해 딥러닝 기술을 이용하고 있으며, 이러한 딥러닝 기술의 성능은 신경망을 학습시키는 방법에 영향을 크게 받는다.Recently, due to the rapid development of deep running technology, various fields are introducing deep learning technology. In particular, in the image processing field, deep learning technology is used to solve the existing image reconstruction problem, and the performance of the deep learning technology is greatly influenced by the method of learning neural networks.

구체적으로, 신경망(또는 네트워크) 학습 과정은 신경망의 손실 계층에서 신경망의 추정 값과 레이블(label) 값의 차이를 기반으로 손실 함수(loss function)를 정의하고, 정의된 손실 함수를 경사 하강법(gradient descent method)을 이용하여 손실 함수를 최소화하는 신경망의 파라미터 값을 찾는 과정으로 이루어진다. 이때, 추정 값과 레이블 값 간의 차이가 클 경우에는 파라미터 값이 잘못된 그래디언트(gradient) 방향으로 변화하는 경우가 발생하여 신경망 학습의 성능 또는 네트워크의 성능이 저하되는 문제가 발생한다.Specifically, the neural network (or network) learning process defines a loss function based on the difference between the estimated value and the label value of the neural network in the loss layer of the neural network, and decrements the defined loss function using a gradient descent method ( The method consists of finding the parameter values of the neural network that minimizes the loss function using the gradient descent method. In this case, when the difference between the estimated value and the label value is large, the parameter value may change in the wrong gradient direction, and thus, the neural network learning performance or the network performance may be degraded.

이에 따라, 본원은 기존의 딥러닝 네트워크에 새롭게 정의한 복수의 손실 계층을 삽입함으로써, 딥러닝을 이용한 영상 복원 수행시 네트워크의 파라미터 값을 점진적으로 올바른 그래디언트(gradient) 방향으로 변화시켜 신경망의 학습 성능 및/또는 네트워크의 성능을 향상시키는 심층 신경망 학습 장치 및 방법에 관한 것이다. 구체적인 설명은 다음과 같다.Accordingly, the present application inserts a plurality of newly defined loss layers into the existing deep learning network, and gradually changes the parameter values of the network in the correct gradient direction when performing the image reconstruction using the deep learning network, thereby improving the learning performance and And / or a deep neural network learning apparatus and method for improving the performance of a network. The detailed description is as follows.

도 1은 본원의 일 실시예에 따른 심층 신경망 학습 장치(10)의 개략적인 블록도이다.1 is a schematic block diagram of a deep neural network learning apparatus 10 according to an embodiment of the present application.

도 1을 참조하면, 본원의 일 실시예에 따른 심층 신경망 학습 장치(10)는 결정부(11), 조절부(12) 및 수행부(13)를 포함할 수 있다.Referring to FIG. 1, the deep neural network learning apparatus 10 according to an exemplary embodiment of the present disclosure may include a determiner 11, an adjuster 12, and an performer 13.

심층 신경망 학습 장치(10)는 심층 신경망(deep neural network, 딥 신경망) 학습을 수행하는 장치를 의미한다.The deep neural network learning apparatus 10 refers to a device for performing deep neural network (deep neural network) learning.

결정부(11)는 신경망 모델에 포함된 복수의 손실 계층 각각에서 사용되는 레이블(lable) 값을 결정할 수 있다. 이때, 신경망 모델의 구조는 일예로 도 2a 및 도 2b를 참조하여 이해될 수 있다.The determination unit 11 may determine a label value used in each of the plurality of loss layers included in the neural network model. In this case, the structure of the neural network model may be understood with reference to FIGS. 2A and 2B as an example.

도 2a는 신경망 모델의 구조 상에서 본원의 일 실시예에 따른 심층 신경망 학습 장치(10)를 통한 학습 과정을 설명하기 위한 도면이다.FIG. 2A is a diagram for describing a learning process through the deep neural network learning apparatus 10 according to an embodiment of the present disclosure on the structure of the neural network model.

도 2a를 참조하면, 신경망 모델본원의 일 실시예에 따른 심층 신경망 학습 장치(10)에서 학습을 위한 신경망 모델은 입력 계층(21)과 출력 계층(22) 사이에 복수의 은닉 계층(23)이 포함되도록 형성되며, 복수의 은닉 계층(23) 각각에는 손실 계층(24)이 대응되도록 형성될 수 있다. 달리 표현하여, 심층 신경망 학습 장치(10)에서 학습을 위한 신경망 모델은 입력 계층(21)과 출력 계층(22) 사이에 존재하는 복수의 은닉 계층(23) 각각에 대응하도록 형성되는 복수의 손실 계층(24)을 포함할 수 있다.Referring to FIG. 2A, a neural network model for learning in the deep neural network training apparatus 10 according to an embodiment of the neural network model includes a plurality of hidden layers 23 between an input layer 21 and an output layer 22. The loss layer 24 may be formed to correspond to each of the plurality of hidden layers 23. In other words, the neural network model for learning in the deep neural network learning apparatus 10 includes a plurality of loss layers formed to correspond to each of the plurality of hidden layers 23 existing between the input layer 21 and the output layer 22. And (24).

도 2a에서, F i 는 손실 계층의 레이블 결정 함수를 나타내고, G i 는 손실 계층의 그래디언트(gradient) 조절 함수를 나타내고, x는 입력 계층(21)에서의 입력 값을 나타내고, g는 원 데이터(Ground-truth)로서, 추정 값의 정확도를 평가하고자 할 때 그 비교 기준이 되는 실제 값, 즉 실제 참(true) 값을 의미한다. 또한, 도 2a에서 실선의 흐름은 순방향 전파(즉, 순전파, forward-propagation) 흐름을 나타내고, 점선의 흐름은 역방향 전파(즉, 역전파, backward-propagation) 흐름을 나타낸다. 일예로, 순방향 전파의 흐름 이후 역방향 전파의 흐름이 수행됨으로써, 학습이 수행되었다고 할 수 있다.In FIG. 2A, F i represents the label determination function of the loss layer, G i represents the gradient adjustment function of the loss layer, x represents the input value in the input layer 21, and g represents the raw data ( Ground-truth) refers to the actual value, that is, the true value, to which the comparison value is to be evaluated when evaluating the accuracy of the estimated value. In addition, in FIG. 2A, the flow of a solid line represents a forward propagation (ie, forward-propagation) flow, and the dotted line represents a reverse propagation (ie, backward-propagation) flow. For example, it may be said that learning has been performed by performing a flow of backward propagation after the flow of forward propagation.

본원의 일 실시예에 따른 심층 신경망 학습 장치(10)는 심층 신경망 학습 수행시 역전파를 수행할 수 있으며, 역전파를 수행하기 이전에 복수의 손실 계층(24)에서 사용되는(또는 사용될) 레이블 값 결정 과정과 그래디언트 값의 조절 과정을 수행할 수 있다. 이에 대한 설명은 후술하여 보다 자세히 설명하기로 한다.The deep neural network learning apparatus 10 according to an embodiment of the present disclosure may perform back propagation when performing deep neural network learning, and may be used (or used) in a plurality of loss layers 24 before performing back propagation. Value determination and gradient value adjustment can be performed. This will be described in more detail later.

결정부(11)는 신경망 모델에 포함된 복수의 손실 계층(24) 각각에서 사용되는(또는 사용될) 레이블(lable) 값을 결정할 수 있다. The determination unit 11 may determine a label value used (or used) in each of the plurality of loss layers 24 included in the neural network model.

여기서, 레이블 값은 복수의 손실 계층 각각에서 발생하는 그래디언트의 방향 중 비정상 학습에 대응하는 복수의 잘못된 그래디언트 방향에 대한 그래디언트 값의 적어도 일부가 상쇄되도록 결정될 수 있다. 여기서, 비정상 학습은 통상적으로 신경망 학습 분야에서 정상적인 영상 복원에 대한 학습이 이루어질 때 정상적인 학습 범주에 속하는 그래디언트 방향의 범위를 벗어나는 방향에 대하여 그래디언트 값이 형성되는 학습을 의미할 수 있다.Here, the label value may be determined such that at least a part of the gradient values for the plurality of wrong gradient directions corresponding to abnormal learning among the directions of the gradients generated in each of the plurality of loss layers are canceled out. Here, the abnormal learning may mean a learning in which a gradient value is formed with respect to a direction out of a range of gradient directions belonging to a normal learning category when learning about normal image reconstruction is normally performed in the neural network learning field.

또한 상기 복수의 잘못된 그래디언트 방향에 대한 그래디언트 값의 적어도 일부가 상쇄된다는 것은 잘못된 그래디언트 방향에 대한 그래디언트 값들 간에 상쇄되는 것을 의미할 수 있고, 또는 잘못된 그래디언트 방향에 대한 그래디언트 값이 올바른 학습 범주에 속하는 그래디언트 방향에 대한 그래디언트 값에 의하여 상쇄되는 것을 의미할 수 있다.Also, canceling out at least a portion of the gradient values for the plurality of wrong gradient directions may mean canceling between gradient values for the wrong gradient direction, or gradient values for the wrong gradient direction belonging to the correct learning category. This may mean offset by a gradient value for.

이러한 본원의 심층 신경망 학습 장치(10)는 레이블 값을 상기와 같이 결정함에 따라, 복수의 손실 계층 각각에서 발생한 그래디언트 값들 중 잘못된 그래디언트 방향에 대한 그래디언트 값이 존재하더라도 잘못된 그래디언트 방향에 대한 그래디언트 값을 상쇄시킴으로써, 영상 복원 수행시 네트워크의 파라미터 값이 점진적으로 올바른 그래디언트 방향으로 변화시켜 신경망의 학습 성능 및/또는 네트워크의 성능을 향상시킬 수 있다.As the deep neural network learning apparatus 10 of the present application determines the label value as described above, even if there is a gradient value for the wrong gradient direction among gradient values generated in each of the plurality of loss layers, the gradient value for the wrong gradient direction is canceled out. In this way, when performing image reconstruction, the parameter values of the network may be gradually changed in the correct gradient direction to improve the learning performance of the neural network and / or the performance of the network.

결정부(11)는 복수의 손실 계층 각각에서 사용되는 레이블 값을 임의로 결정하거나 자동으로 결정할 수 있다.The determination unit 11 may arbitrarily determine or automatically determine a label value used in each of the plurality of loss layers.

구체적으로, 신경망 모델의 복수의 손실 계층(24) 각각에서 사용되는(사용될) 레이블 값은 다음의 방법을 통해 결정될 수 있다.Specifically, the label value used (to be used) in each of the plurality of loss layers 24 of the neural network model may be determined through the following method.

일예로, 레이블 값은 신경망 모델의 입력 값과 복수의 손실 계층(24) 각각에 대한 레이블 값의 블렌딩(blending, 조합)에 의하여 생성된 가공 레이블 값으로 결정될 수 있다. 달리 말해, 입력 값과 레이블 값의 조합을 통해 복수의 은닉 계층(23) 각각의 사이사이에 삽입되는 복수의 손실 계층의 레이블 값이 결정될 수 있다.In one example, the label value may be determined as a processed label value generated by blending the input value of the neural network model with the label value for each of the plurality of loss layers 24. In other words, a label value of a plurality of lost layers inserted between each of the plurality of hidden layers 23 may be determined through a combination of input values and label values.

다른 일예로, 레이블 값은 신경망 모델의 입력 값 또는 복수의 손실 계층 각각에 대한 레이블 값에 후처리를 적용하여 생성된 가공 레이블 값으로 결정할 수 있다. 달리 말해, 입력 값 또는 레이블 값에 후처리 기법을 적용하여 생성된 값을 복수의 손실 계층에서 사용되는 레이블 값으로 사용할 수 있다. 예를 들어, 결정부(11)는 레이블 값에 후처리 기법으로서 임의의 필터(filter)를 적용함으로써 산출된 값(가공된 값)을 복수의 손실 계층에서 사용되는 레이블 값으로 사용할 수 있다.As another example, the label value may be determined as a processed label value generated by applying post-processing to a label value for each of a plurality of loss layers or an input value of the neural network model. In other words, a value generated by applying a post-processing technique to an input value or a label value may be used as a label value used in a plurality of loss layers. For example, the determination unit 11 may use a value (processed value) calculated by applying an arbitrary filter to the label value as a post-processing technique as a label value used in a plurality of loss layers.

결정부(11)는 심층 신경망 학습에서 신경망 모델의 은닉층에 삽입되는 손실 계층에서 사용되는 레이블 값들을 원 데이터 이외의 다른 정보를 이용해 임의로 가공함으로써 사용할 수 있다. 또한, 결정부(11)는 원 데이터와 입력 값의 선형, 비선형 조합 등을 이용하여 복수의 손실 계층 각각에 사용되는 레이블 값을 결정할 수 있다.The determination unit 11 may use the label values used in the loss layer inserted into the hidden layer of the neural network model in the deep neural network learning using arbitrary information other than the original data. In addition, the determination unit 11 may determine a label value used in each of the plurality of loss layers by using a linear or nonlinear combination of the raw data and the input value.

이와 같이, 본원의 일 실시예에 따른 심층 신경망 학습 장치(10)는 결정부(11)가 복수의 은닉 계층 각각에서 사용되는 레이블 값을 블렌딩 기법 또는 후처리를 통해 생성된 새로운 레이블 값(즉, 가공 레이블 값)으로 결정함으로써, 신경망 모델의 중간에 삽입된 복수의 손실 계층 각각에서 발생하는 그래디언트 값들이 잘못된 방향의 그래디언트 값을 상쇄시켜 신경망(또는 네트워크) 학습 수행시 잘못된 그래디언트 방향으로 파라미터 값이 변하는 것을 방지할 수 있다. 즉, 심층 신경망 학습 장치(10)는 신경망(또는 네트워크) 학습 수행시 옳은 그래디언트 방향으로 파라미터 값이 변화되도록 할 수 있다. As described above, the deep neural network learning apparatus 10 according to an exemplary embodiment of the present disclosure may determine a new label value generated by blending or post-processing a label value used by each of the plurality of hidden layers by the determination unit 11 (ie, By determining the processing label value, the gradient values generated in each of the plurality of loss layers inserted in the middle of the neural network model cancel the gradient values in the wrong direction so that the parameter values change in the wrong gradient direction when performing neural network (or network) learning. Can be prevented. That is, the deep neural network learning apparatus 10 may change the parameter value in the correct gradient direction when performing neural network (or network) learning.

조절부(12)는 결정부(11)에서 결정된 레이블 값에 기초한 신경망 학습 수행시 복수의 손실 계층 각각에서 발생하는 그래디언트(gradient) 값을 조절(또는 변환)할 수 있다.The adjuster 12 may adjust (or convert) gradient values generated in each of the plurality of loss layers when performing neural network learning based on the label value determined by the determiner 11.

조절부(12)는 복수의 손실 계층 각각의 손실 함수에 의하여 산출된 에러 값을 기 설정된 허용 범위 조건을 충족하도록 변환함으로써 그래디언트 값을 조절할 수 있다. 여기서, 기 설정된 허용 범위(tolerance) 조건이라 함은 에러 값이 임계값 미만이면 0을 갖도록 하거나 실제 값보다 적은 에러 값을 갖도록 하는 조건을 의미할 수 있다. 달리 말해, 조절부(12)는 손실 계층의 에러에 허용 범위를 미리 설정해 둔 후 산출된 에러 값이 임계값 미만이면 0 값을 갖도록 조절하거나 실제 값보다 적은 에러 값을 갖도록 변환함으로써 복수의 손실 계층에서 생성되는 그래디언트의 값을 조절할 수 있다. 구체적인 설명은 다음과 같다.The adjusting unit 12 may adjust the gradient value by converting the error value calculated by the loss function of each of the plurality of loss layers so as to satisfy a predetermined allowable range condition. Here, the preset tolerance condition may refer to a condition in which an error value is 0 or less than an actual value when the error value is less than the threshold value. In other words, the adjusting unit 12 sets the allowable range for the error of the loss layer in advance and adjusts to have a zero value if the calculated error value is less than the threshold value or converts the loss layer to have a smaller error value than the actual value. You can adjust the value of the gradient created in. The detailed description is as follows.

조절부(12)는 그래디언트 값 조절(또는 변환)시 소프트 임계 처리(soft thresholding) 방법 및 하드 임계 처리(hard thresholding) 방법 중 어느 하나를 이용할 수 있다.The adjusting unit 12 may use any one of a soft thresholding method and a hard thresholding method when adjusting (or converting) a gradient value.

조절부(12)는 소프트 임계 처리를 이용하는 경우, 기 설정된 임계값 이상인 제1 그래디언트 값은 제1 그래디언트 값보다 임계값 만큼 감소한 값을 갖도록 조절하고, 기 설정된 임계값 미만인 제2 그래디언트 값은 0을 갖도록 조절할 수 있다.When using the soft threshold processing, the adjusting unit 12 adjusts the first gradient value that is greater than or equal to the preset threshold value to have a value reduced by a threshold value from the first gradient value, and sets the second gradient value that is less than the preset threshold value to 0. It can be adjusted to have.

조절부(12)는 소프트 임계 처리를 이용하는 경우, 하기 수학식 1을 만족하도록 그래디언트 값을 조절할 수 있다.When using the soft threshold processing, the adjusting unit 12 may adjust the gradient value to satisfy the following equation (1).

[수학식 1][Equation 1]

Figure 112017075300197-pat00001
Figure 112017075300197-pat00001

수학식 1은 기 설정된 허용 범위(tolerance) 조건을 나타내며, 여기서, e는 입력 값을 나타내고, T 는 그래디언트 값의 임계값(또는 문턱값)을 나타낸다.Equation 1 represents a preset tolerance condition, where e represents an input value, and T represents a threshold (or threshold) of the gradient value.

수학식 1을 참조하면, 소프트 임계 처리를 이용하는 경우, 조절부(12)는 손실 계층에서 발생한 그래디언트 값이 임계값 이상인 경우, 해당 값을 임계값만큼 감소한 값을 갖도록 조절할 수 있다. 한편, 조절부(12)는 손실 계층에서 발생한 그래디언트 값이 임계값 미만인 경우, 해당 값을 0 값을 갖도록 조절할 수 있다.Referring to Equation 1, when the soft threshold processing is used, the adjusting unit 12 may adjust the value so that the corresponding value is reduced by the threshold value when the gradient value generated in the loss layer is greater than or equal to the threshold value. Meanwhile, when the gradient value generated in the loss layer is less than the threshold value, the controller 12 may adjust the value to have a value of zero.

조절부(12)는 하드 임계 처리를 이용하는 경우, 기 설정된 임계값 이상인 제3 그래디언트 값은 제3 그래디언트 값으로 유지하고, 상기 임계값 미만인 제4 그래디언트 값은 0을 갖도록 조절할 수 있다.When using the hard threshold processing, the adjusting unit 12 may maintain the third gradient value that is greater than or equal to the preset threshold value as the third gradient value and adjust the fourth gradient value that is less than the threshold value to have zero value.

조절부(12)는 하드 임계 처리를 이용하는 경우, 하기 수학식 2를 만족하도록 그래디언트 값을 조절할 수 있다.When using the hard threshold processing, the adjusting unit 12 may adjust the gradient value to satisfy the following equation (2).

[수학식 2][Equation 2]

Figure 112017075300197-pat00002
Figure 112017075300197-pat00002

수학식 2는 기 설정된 허용 범위(tolerance) 조건을 나타내며, 여기서, e는 입력 값을 나타내고, T 는 그래디언트 값의 임계값(또는 문턱값)을 나타낸다.Equation 2 represents a preset tolerance condition, where e represents an input value, and T represents a threshold (or threshold) of the gradient value.

수학식 2를 참조하면, 하드 임계 처리를 이용하는 경우, 조절부(12)는 손실 계층에서 발생한 그래디언트 값이 임계값 이상인 경우, 해당 값을 조절 없이 그대로 유지할 수 있다. 한편, 조절부(12)는 손실 계층에서 발생한 그래디언트 값이 임계값 미만인 경우, 해당 값을 0 값을 갖도록 조절할 수 있다.Referring to Equation 2, when the hard threshold processing is used, if the gradient value generated in the loss layer is greater than or equal to the threshold value, the adjusting unit 12 may maintain the value without adjustment. Meanwhile, when the gradient value generated in the loss layer is less than the threshold value, the controller 12 may adjust the value to have a value of zero.

이와 같이, 본원의 일 실시예에 따른 심층 신경망 학습 장치(10)는 조절부(12)가 복수의 손실 계층 각각에서 발생하는 그래디언트 값을 기 설정된 허용 범위 조건을 충족하도록 변환함으로써, 신경망 모델의 복수의 손실 계층 각각에서 발생하는 그래디언트 값들이 점진적으로 올바른 그래디언트 방향의 그래디언트 값을 갖도록 변화되는 학습이 이루어지도록 제공할 수 있다. 즉, 심층 신경망 학습 장치(10)는 잘못된 그래디언트 방향으로 신경망(또는 네트워크)의 파라미터가 학습되는 것을 방지할 수 있다.As described above, the deep neural network learning apparatus 10 according to the exemplary embodiment of the present invention converts the gradient value generated in each of the plurality of loss layers to satisfy the preset allowable range condition, thereby adjusting the plurality of neural network models. Gradient values occurring in each of the loss layers of G may be provided such that learning is gradually changed to have a gradient value in the correct gradient direction. That is, the deep neural network learning apparatus 10 may prevent the neural network (or network) parameter from being learned in the wrong gradient direction.

달리 표현하여, 본원의 일 실시예에 따른 심층 신경망 학습 장치(10)는 조절부(12)가 복수의 손실 계층 각각에서 발생하는 그래디언트 값에 따라 서로 다른 허용 범위(예를 들어, 임계값 이상인 경우와 임계값 미만인 경우)를 적용함으로써, 복수의 손실 계층 각각에서 발생하는 그래디언트의 방향이 올바른 방향으로 변화되도록 할 수 있다. 이를 통해, 심층 신경망 학습 장치(10)는 신경망(또는 네트워크) 학습 수행시 옳은 그래디언트 방향으로 파라미터 값이 변화되도록 할 수 있다. In other words, the deep neural network learning apparatus 10 according to an exemplary embodiment of the present disclosure may have a different allowable range (eg, greater than or equal to a threshold value) according to a gradient value generated by each of the plurality of loss layers. And less than the threshold value), it is possible to change the direction of the gradient occurring in each of the plurality of loss layers in the correct direction. In this way, the deep neural network learning apparatus 10 may allow a parameter value to be changed in the correct gradient direction when neural network (or network) learning is performed.

본원의 일 실시예에 따른 심층 신경망 학습 장치(10)는, 결정부(11)에서 결정된 레이블 값에 기초하여 복수의 손실 계층 각각의 손실 함수에 의해 에러 값(또는 오류 값)이 산출될 수 있으며, 이후 오류 역전파를 수행하기 전에 조절부(12)에 의하여 해당 에러 값을 선형 또는 비선형 필터를 이용하여 조절할 수 있다.In the deep neural network learning apparatus 10 according to the exemplary embodiment of the present application, an error value (or an error value) may be calculated by a loss function of each of a plurality of loss layers based on a label value determined by the determiner 11. After that, before performing the error backpropagation, the controller 12 may adjust the corresponding error value by using a linear or nonlinear filter.

수행부(13)는 조절부(12)에서 조절된 그래디언트 값에 기초하여 신경망 모델에 기반한 심층 신경망 학습을 수행할 수 있다.The performer 13 may perform deep neural network learning based on a neural network model based on the gradient value adjusted by the controller 12.

앞선 설명에서는 레이블 값을 결정하는 과정을 수행한 이후에, 결정된 레이블 값에 기초한 신경망 학습 수행시 복수의 손실 계층 각각에서 발생하는 그래디언트 값을 조절하고, 조절된 그래디언트 값에 기초하여 수행부(13)가 심층 신경망 학습을 수행하는 것으로만 예시하였으나, 이에만 한정된 것은 아니다.In the foregoing description, after the process of determining the label value, the gradient value generated in each of the plurality of loss layers is adjusted when the neural network learning is performed based on the determined label value, and the execution unit 13 is based on the adjusted gradient value. Is illustrated as performing deep neural network learning, but is not limited thereto.

일예로, 수행부(13)는 결정부(11)에 의하여 신경망 모델에 포함된 복수의 손실 계층 각각에서 사용되는 레이블 값이 결정되면, 결정된 레이블 값에 기초하여 심층 신경망 학습을 수행할 수 있다. 다른 일예로, 수행부(13)는 조절부(12)에 의하여 신경망 모델에 포함된 복수의 손실 계층 각각에서 발생하는 그래디언트 값이 조절되면, 조절된 그래디언트 값에 기초하여 심층 신경망 학습을 수행할 수 있다. 즉, 본원의 심층 신경망 학습 장치(10)는 레이블 값 결정 과정과 그래디언트 값의 조절 과정 중 어느 하나의 수행에 기초하여 심층 신경망 학습을 수행할 수 있으며, 이러한 경우에도 잘못된 그래디언트 방향으로 파라미터가 학습되는 것(달리 말해, 파라미터 값이 변하는 것)이 방지될 수 있다. 다만, 신경망 학습의 성능을 보다 향상시키기 위해서는 레이블 값 결정 과정과 그래디언트 값의 조절 과정을 모두 수행되는 것이 바람직하다.For example, if the label value used in each of the plurality of loss layers included in the neural network model is determined by the determiner 11, the performer 13 may perform deep neural network learning based on the determined label value. As another example, if the gradient value generated in each of the plurality of loss layers included in the neural network model is adjusted by the controller 12, the performer 13 may perform deep neural network learning based on the adjusted gradient value. have. That is, the deep neural network learning apparatus 10 of the present application may perform deep neural network learning based on any one of a label value determination process and a gradient value adjustment process, and in this case, parameters are learned in the wrong gradient direction. (In other words, changing a parameter value) can be prevented. However, in order to further improve the performance of neural network learning, it is preferable to perform both a label value determination process and a gradient value adjustment process.

본원의 일 실시예에 따른 심층 신경망 학습 장치(10)는 잘못된 방향으로 학습이 이루어지는 것을 방지하기 위해 신경망 모델에 복수의 손실 계층을 도입하여 올바른 방향으로 학습이 이루어지도록 할 수 있다. 이러한 심층 신경망 학습 장치(10)는 딥러닝 네트워크의 학습 성능을 보다 효과적으로 향상시킬 수 있다. 본원의 심층 신경망 학습 장치(10)는 기존의 딥러닝을 이용하는 영상 복원 분야에 적용될 수 있다.The deep neural network learning apparatus 10 according to an exemplary embodiment of the present disclosure may introduce a plurality of loss layers into the neural network model to prevent learning in the wrong direction so that the learning may be performed in the right direction. The deep neural network learning apparatus 10 may more effectively improve the learning performance of the deep learning network. The deep neural network learning apparatus 10 of the present application may be applied to an image reconstruction field using deep learning.

한편, 본원의 일 실시예에 따른 심층 신경망 학습 장치(10)는 심층 신경망 학습을 수행할 때에는 도 2a와 같은 흐름에 따라 학습을 수행할 수 있으며, 테스트 수행(또는 실제 적용)은 도 2b와 같은 흐름에 기반하여 진행될 수 있다.Meanwhile, when the deep neural network learning apparatus 10 according to the exemplary embodiment of the present application performs the deep neural network learning, the learning may be performed according to the flow as shown in FIG. 2A, and the test execution (or the actual application) may be performed as shown in FIG. 2B. It can proceed based on the flow.

도 2b는 신경망 모델의 구조 상에서 본원의 일 실시예에 따른 심층 신경망 학습 장치(10)를 통한 테스트 수행(적용) 과정을 설명하기 위한 도면이다.FIG. 2B is a diagram for describing a test execution (application) process through the deep neural network learning apparatus 10 according to an embodiment of the present disclosure on the structure of the neural network model.

도 2b를 참조하면, 테스트 수행(또는 실제 적용)시 신경망 모델에서 이용되는 계층은 입력 계층(21), 출력 계층(22) 및 입력 계층(21)과 출력 계층(22) 사이에 형성되는 복수의 은닉 계층(23)을 포함할 수 있다.Referring to FIG. 2B, the layers used in the neural network model when performing a test (or actual application) may include a plurality of layers formed between the input layer 21, the output layer 22, and the input layer 21 and the output layer 22. It may include a hidden layer 23.

본원의 일 실시예에 따른 심층 신경망 학습 장치(10)는 도 2b와 같은 학습 흐름을 통해 학습된 정보를 기반으로 하여, 도 2a와 같은 적용 흐름을 통해 입력 값(즉, 입력 영상)에 대한 양질의 출력 값(즉, 출력 영상으로서, 복원 영상을 의미할 수 있음)을 출력할 수 있다.The deep neural network learning apparatus 10 according to an exemplary embodiment of the present disclosure is based on information learned through a learning flow as shown in FIG. 2B, and provides a good quality of an input value (ie, an input image) through an application flow as shown in FIG. May output an output value (that is, an output image, which may mean a reconstructed image).

이하에서는 상기에 자세히 설명된 내용을 기반으로, 본원의 동작 흐름을 간단히 살펴보기로 한다.Hereinafter, based on the details described above, the operation flow of the present application will be briefly described.

도 3은 본원의 일 실시예에 따른 심층 신경망 학습 방법에 대한 개략적인 동작 흐름도이다.3 is a schematic operation flowchart of a deep neural network learning method according to an embodiment of the present application.

도 3에 도시된 심층 신경망 학습 방법은 앞서 설명된 심층 신경망 학습 장치(10)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 심층 신경망 학습 장치(10)에 대하여 설명된 내용은 심층 신경망 학습 방법에 대한 설명에도 동일하게 적용될 수 있다.The deep neural network learning method illustrated in FIG. 3 may be performed by the deep neural network learning apparatus 10 described above. Therefore, even if omitted below, the content described with respect to the deep neural network learning apparatus 10 may be equally applied to the description of the deep neural network learning method.

도 3을 참조하면, 단계S31에서는 신경망 모델에 포함된 복수의 손실 계층 각각에서 사용되는 레이블 값을 결정할 수 있다.Referring to FIG. 3, in step S31, a label value used in each of the plurality of loss layers included in the neural network model may be determined.

여기서, 레이블 값은 복수의 손실 계층 각각에서 발생하는 그래디언트의 방향 중 비정상 학습에 대응하는 복수의 잘못된 그래디언트 방향에 대한 그래디언트 값의 적어도 일부가 상쇄되도록 결정될 수 있다.Here, the label value may be determined such that at least a part of the gradient values for the plurality of wrong gradient directions corresponding to abnormal learning among the directions of the gradients generated in each of the plurality of loss layers are canceled out.

또한, 신경망 모델은, 입력 계층과 출력 계층 사이에 존재하는 복수의 은닉 계층 각각에 대응하도록 형성되는 복수의 손실 계층을 포함할 수 있다.In addition, the neural network model may include a plurality of lossy layers formed to correspond to each of the plurality of hidden layers existing between the input layer and the output layer.

또한, 레이블 값은, 신경망 모델의 입력 값과 복수의 손실 계층 각각에 대한 레이블 값의 블렌딩(blending, 조합)에 의하여 생성된 가공 레이블 값으로 결정될 수 있다.Also, the label value may be determined as a processed label value generated by blending an input value of the neural network model and a label value for each of the plurality of loss layers.

또한, 레이블 값은, 신경망 모델의 입력 값 또는 복수의 손실 계층 각각에 대한 레이블 값에 후처리를 적용하여 생성된 가공 레이블 값으로 결정될 수 있다.In addition, the label value may be determined as a processed label value generated by applying post-processing to a label value for each of a plurality of loss layers or an input value of the neural network model.

다음으로, 단계S32에서는 단계S31에서 결정된 레이블 값에 기초한 신경망 학습 수행시 복수의 손실 계층 각각에서 발생하는 그래디언트(gradient) 값을 조절할 수 있다.Next, in step S32, a gradient value generated in each of the plurality of loss layers may be adjusted when neural network learning is performed based on the label value determined in step S31.

단계S32에서는 복수의 손실 계층 각각의 손실 함수에 의하여 산출된 에러 값을 기 설정된 허용 범위 조건을 충족하도록 변환함으로써 그래디언트 값을 조절할 수 있다.In operation S32, the gradient value may be adjusted by converting an error value calculated by the loss function of each of the plurality of loss layers to satisfy a predetermined allowable range condition.

또한, 단계S32에서는 소프트 임계 처리를 이용하는 경우, 기 설정된 임계값 이상인 제1 그래디언트 값은 제1 그래디언트 값보다 임계값 만큼 감소한 값을 갖도록 조절하고, 임계값 미만인 제2 그래디언트 값은 0을 갖도록 조절할 수 있다.In addition, in the step S32, when the soft threshold processing is used, the first gradient value that is greater than or equal to the preset threshold value may be adjusted to have a value reduced by the threshold value than the first gradient value, and the second gradient value that is less than the threshold value may be adjusted to have zero value. have.

단계S32에서는 소프트 임계 처리를 이용하는 경우 상기 수학식 1을 만족하도록 그래디언트 값을 조절할 수 있다.In step S32, when the soft threshold processing is used, the gradient value may be adjusted to satisfy the equation (1).

또한, 단계S32에서는 하드 임계 처리를 이용하는 경우, 기 설정된 임계값 이상인 제3 그래디언트 값은 제3 그래디언트 값으로 유지하고, 임계값 미만인 제4 그래디언트 값은 0을 갖도록 조절할 수 있다.In addition, in step S32, when the hard threshold processing is used, the third gradient value that is greater than or equal to the preset threshold value may be maintained as the third gradient value, and the fourth gradient value that is less than the threshold value may be adjusted to have zero.

단계S32에서는 하드 임계 처리를 이용하는 경우 상기 수학식 2를 만족하도록 그래디언트 값을 조절할 수 있다.In step S32, when the hard threshold processing is used, the gradient value may be adjusted to satisfy Equation 2 above.

다음으로, 단계S33에서는 단계S32에서 조절된 그래디언트 값에 기초하여 신경망 모델에 기반한 심층 신경망 학습을 수행할 수 있다.Next, in step S33, deep neural network learning based on a neural network model may be performed based on the gradient value adjusted in step S32.

상술한 설명에서, 단계 S31 내지 S33은 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.In the above description, steps S31 to S33 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present disclosure. In addition, some steps may be omitted as necessary, and the order between the steps may be changed.

본원의 일 실시 예에 따른 심층 신경망 학습 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The deep neural network learning method according to an exemplary embodiment of the present disclosure may be implemented in the form of program instructions that may be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine code, such as produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

또한, 전술한 심층 신경망 학습 방법은 기록 매체에 저장되는 컴퓨터에 의해 실행되는 컴퓨터 프로그램 또는 애플리케이션의 형태로도 구현될 수 있다.In addition, the above-described deep neural network learning method may be implemented in the form of a computer program or an application executed by a computer stored in a recording medium.

전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present application is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present application. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present application is indicated by the following claims rather than the above description, and it should be construed that all changes or modifications derived from the meaning and scope of the claims and their equivalents are included in the scope of the present application.

10: 심층 신경망 학습 장치
11: 결정부
12: 조절부
13: 수행부
10: Deep Neural Network Learning Device
11: decision
12: adjuster
13: execution

Claims (21)

심층 신경망 학습 장치에서 심층 신경망 학습의 성능 향상을 위한 심층 신경망 학습 방법에 있어서,
(a) 상기 장치의 결정부에서, 신경망 모델에 포함된 복수의 은닉 계층에 대응하는 복수의 손실 함수 각각에서의 그래디언트 값 산출시 사용되는 레이블 값을 결정하는 단계;
(b) 상기 장치의 조절부에서, 결정된 상기 레이블 값에 기초한 신경망 학습 수행시 상기 복수의 손실 함수 각각에서 발생하는 그래디언트(gradient) 값을 조절하는 단계; 및
(c) 상기 장치의 수행부에서, 조절된 상기 그래디언트 값에 기초하여 상기 신경망 모델에 기반한 심층 신경망 학습을 수행하는 단계,
를 포함하고,
상기 레이블 값은, 상기 복수의 손실 함수 각각에서 발생하는 그래디언트의 방향 중 비정상 학습에 대응하는 복수의 잘못된 그래디언트 방향에 대한 그래디언트 값의 적어도 일부가 상쇄되도록 결정되고,
상기 (b) 단계는,
상기 복수의 손실 함수 각각에 의하여 산출된 에러 값을 기 설정된 허용 범위 조건을 충족하도록 변환함으로써 상기 그래디언트 값을 조절하되,
소프트 임계 처리를 이용하는 경우, 하기 수학식 1을 만족하도록, 기 설정된 임계값 이상인 제1 그래디언트 값은 상기 제1 그래디언트 값보다 상기 임계값 만큼 감소한 값을 갖도록 조절하고, 상기 임계값 미만인 제2 그래디언트 값은 0을 갖도록 조절하며,
[수학식 1]
Figure 112019104497593-pat00011

여기서, e는 입력 값, T 는 임계 값을 나타내는 것인, 심층 신경망 학습 방법.
In a deep neural network learning method for improving the performance of deep neural network learning in a deep neural network learning apparatus,
(a) determining, by the determining unit of the device, a label value used when calculating a gradient value in each of a plurality of loss functions corresponding to the plurality of hidden layers included in the neural network model;
(b) adjusting a gradient value generated in each of the plurality of loss functions when performing neural network learning based on the determined label value in the controller of the device; And
(c) in the execution unit of the device, performing deep neural network learning based on the neural network model based on the adjusted gradient value;
Including,
The label value is determined such that at least a part of the gradient values for a plurality of wrong gradient directions corresponding to abnormal learning among the directions of the gradient occurring in each of the plurality of loss functions are canceled out,
In step (b),
The gradient value is adjusted by converting an error value calculated by each of the plurality of loss functions to satisfy a preset tolerance range.
In the case of using the soft threshold processing, the first gradient value greater than or equal to a preset threshold value is adjusted to have a value reduced by the threshold value from the first gradient value so as to satisfy Equation 1 below, and the second gradient value less than the threshold value is adjusted. Adjusts to have zero,
[Equation 1]
Figure 112019104497593-pat00011

Where e represents an input value and T represents a threshold value.
삭제delete 제1항에 있어서,
상기 레이블 값은, 상기 신경망 모델의 입력 값과 상기 복수의 손실 함수 각각에 대한 레이블 값의 블렌딩(blending)에 의하여 생성된 가공 레이블 값으로 결정되는 것인, 심층 신경망 학습 방법.
The method of claim 1,
Wherein the label value is determined as a processed label value generated by blending an input value of the neural network model and a label value for each of the plurality of loss functions.
제1항에 있어서,
상기 레이블 값은, 상기 신경망 모델의 입력 값 또는 상기 복수의 손실 함수 각각에 대한 레이블 값에 후처리를 적용하여 생성된 가공 레이블 값으로 결정되는 것인, 심층 신경망 학습 방법.
The method of claim 1,
Wherein the label value is determined as a processed label value generated by applying post-processing to an input value of the neural network model or a label value for each of the plurality of loss functions.
삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 (b) 단계는,
하드 임계 처리를 이용하는 경우, 기 설정된 임계값 이상인 제3 그래디언트 값은 상기 제3 그래디언트 값으로 유지하고, 상기 임계값 미만인 제4 그래디언트 값은 0을 갖도록 조절하는 것인, 심층 신경망 학습 방법.
The method of claim 1,
In step (b),
When the hard threshold processing is used, the third gradient value that is greater than or equal to a predetermined threshold value is maintained as the third gradient value, and the fourth gradient value that is less than the threshold value is adjusted to have zero.
제8항에 있어서,
상기 (b) 단계는,
상기 하드 임계 처리를 이용하는 경우 하기 수학식 2를 만족하도록 상기 그래디언트 값을 조절하는 것인, 심층 신경망 학습 방법;
[수학식 2]
Figure 112017075300197-pat00004

(여기서, e는 입력 값, T는 임계 값을 나타냄).
The method of claim 8,
In step (b),
A deep neural network learning method in which the gradient value is adjusted to satisfy Equation 2 when the hard threshold processing is used;
[Equation 2]
Figure 112017075300197-pat00004

(Where e represents an input value and T represents a threshold).
삭제delete 심층 신경망 학습 장치에 있어서,
신경망 모델에 포함된 복수의 은닉 계층에 대응하는 복수의 손실 함수 각각에서의 그래디언트 값 산출시 사용되는 레이블 값을 결정하는 결정부;
결정된 상기 레이블 값에 기초한 신경망 학습 수행시 상기 복수의 손실 함수 각각에서 발생하는 그래디언트 (gradient) 값을 조절하는 조절부; 및
조절된 상기 그래디언트 값에 기초하여 상기 신경망 모델에 기반한 심층 신경망 학습을 수행하는 수행부,
를 포함하고,
상기 레이블 값은, 상기 복수의 손실 함수 각각에서 발생하는 그래디언트의 방향 중 비정상 학습에 대응하는 복수의 잘못된 그래디언트 방향에 대한 그래디언트 값의 적어도 일부가 상쇄되도록 결정되고,
상기 조절부는,
상기 복수의 손실 함수 각각에 의하여 산출된 에러 값을 기 설정된 허용 범위 조건을 충족하도록 변환함으로써 상기 그래디언트 값을 조절하되,
소프트 임계 처리를 이용하는 경우, 하기 수학식 3을 만족하도록, 기 설정된 임계값 이상인 제1 그래디언트 값은 상기 제1 그래디언트 값보다 상기 임계값 만큼 감소한 값을 갖도록 조절하고, 상기 임계값 미만인 제2 그래디언트 값은 0을 갖도록 조절하며,
[수학식 3]
Figure 112019104497593-pat00012

여기서, e는 입력 값, T는 임계 값을 나타내는 것인, 심층 신경망 학습 장치.
In the deep neural network learning apparatus,
A determination unit that determines a label value used when calculating a gradient value in each of a plurality of loss functions corresponding to the plurality of hidden layers included in the neural network model;
An adjusting unit adjusting a gradient value generated in each of the plurality of loss functions when performing neural network learning based on the determined label value; And
An execution unit performing deep neural network learning based on the neural network model based on the adjusted gradient value,
Including,
The label value is determined such that at least a part of the gradient values for a plurality of wrong gradient directions corresponding to abnormal learning among the directions of the gradient occurring in each of the plurality of loss functions are canceled out,
The control unit,
The gradient value is adjusted by converting an error value calculated by each of the plurality of loss functions to satisfy a preset tolerance range.
In the case of using the soft threshold processing, the first gradient value greater than or equal to a preset threshold value is adjusted to have a value reduced by the threshold value from the first gradient value so as to satisfy Equation 3 below, and the second gradient value less than the threshold value is adjusted. Adjusts to have zero,
[Equation 3]
Figure 112019104497593-pat00012

Wherein e represents an input value, T represents a threshold value, deep neural network learning apparatus.
삭제delete 제11항에 있어서,
상기 레이블 값은, 상기 신경망 모델의 입력 값과 상기 복수의 손실 함수 각각에 대한 레이블 값의 블렌딩(blending)에 의하여 생성된 가공 레이블 값으로 결정되는 것인, 심층 신경망 학습 장치.
The method of claim 11,
Wherein the label value is determined as a processed label value generated by blending an input value of the neural network model and a label value for each of the plurality of loss functions.
제11항에 있어서,
상기 레이블 값은, 상기 신경망 모델의 입력 값 또는 상기 복수의 손실 함수 각각에 대한 레이블 값에 후처리를 적용하여 생성된 가공 레이블 값으로 결정되는 것인, 심층 신경망 학습 장치.
The method of claim 11,
And the label value is determined as a processed label value generated by applying post-processing to an input value of the neural network model or a label value for each of the plurality of loss functions.
삭제delete 삭제delete 삭제delete 제11항에 있어서,
상기 조절부는,
하드 임계 처리를 이용하는 경우, 기 설정된 임계값 이상인 제3 그래디언트 값은 상기 제3 그래디언트 값으로 유지하고, 상기 임계값 미만인 제4 그래디언트 값은 0을 갖도록 조절하는 것인, 심층 신경망 학습 장치.
The method of claim 11,
The control unit,
In the case of using hard threshold processing, the deep gradient network learning apparatus maintains a third gradient value that is greater than or equal to a preset threshold value as the third gradient value and adjusts the fourth gradient value that is less than the threshold value to have zero.
제18항에 있어서,
상기 조절부는,
상기 하드 임계 처리를 이용하는 경우 하기 수학식 4를 만족하도록 상기 그래디언트 값을 조절하는 것인, 심층 신경망 학습 장치;
[수학식 4]
Figure 112017075300197-pat00006

(여기서, e는 입력 값, T는 임계 값을 나타냄).
The method of claim 18,
The control unit,
A deep neural network learning apparatus for adjusting the gradient value so as to satisfy Equation 4 when using the hard threshold processing;
[Equation 4]
Figure 112017075300197-pat00006

(Where e represents an input value and T represents a threshold).
삭제delete 제1항, 제3항, 제4항, 제8항 및 제9항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터에서 판독 가능한 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 1, 3, 4, 8, and 9.
KR1020170098838A 2017-08-04 2017-08-04 Apparatus and method for training a deep neural network KR102051390B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170098838A KR102051390B1 (en) 2017-08-04 2017-08-04 Apparatus and method for training a deep neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170098838A KR102051390B1 (en) 2017-08-04 2017-08-04 Apparatus and method for training a deep neural network

Publications (2)

Publication Number Publication Date
KR20190014829A KR20190014829A (en) 2019-02-13
KR102051390B1 true KR102051390B1 (en) 2019-12-03

Family

ID=65366464

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170098838A KR102051390B1 (en) 2017-08-04 2017-08-04 Apparatus and method for training a deep neural network

Country Status (1)

Country Link
KR (1) KR102051390B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024049025A1 (en) * 2022-09-01 2024-03-07 삼성전자주식회사 Electronic device for training speech recognition model and control method thereof

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102294745B1 (en) 2019-08-20 2021-08-27 한국과학기술원 Apparatus for training deep neural network
KR102304900B1 (en) 2019-09-04 2021-09-24 한국과학기술원 Apparatus and method for training deep neural network
KR102177998B1 (en) * 2019-11-28 2020-11-12 (주)시큐레이어 Learning methods, preprocessing methods, learning devices and preprocessing devices for detecting syn flood attacks based on machine learning models
KR102538542B1 (en) * 2021-04-12 2023-05-30 서울대학교산학협력단 Method and apparatus for diagnosis of motor using current signals

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Selvaraju, Ramprasaath R., et al. Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization. arXiv preprint arXiv:1610.02391v3. 2017.3.21.*
Springenberg, Jost Tobias, et al. Striving for simplicity: The all convolutional net. arXiv preprint arXiv:1412.6806v3. 2015.4.13.*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024049025A1 (en) * 2022-09-01 2024-03-07 삼성전자주식회사 Electronic device for training speech recognition model and control method thereof

Also Published As

Publication number Publication date
KR20190014829A (en) 2019-02-13

Similar Documents

Publication Publication Date Title
KR102051390B1 (en) Apparatus and method for training a deep neural network
KR102144358B1 (en) Learning method and device for image segmentation and image segmentation method and device using the same
JP6720264B2 (en) Learning method and learning apparatus for image segmentation, and image segmentation method and image segmentation apparatus using the same
KR102337381B1 (en) Learning method and learning device for reducing distortion occurred in warped image generated in process of stabilizing jittered image by using gan to enhance fault tolerance and fluctuation robustness in extreme situations
JP7106902B2 (en) Learning program, learning method and learning device
CN111402257A (en) Medical image automatic segmentation method based on multi-task collaborative cross-domain migration
US20200380641A1 (en) Image processing apparatus, image processing method, and storage medium
JP5142316B2 (en) VIDEO QUALITY OBJECTIVE EVALUATION METHOD, VIDEO QUALITY OBJECTIVE EVALUATION DEVICE, AND PROGRAM
CN112085074A (en) Model parameter updating system, method and device
KR20110110252A (en) Video identifier creation device
US11574181B2 (en) Fusion of neural networks
KR102526415B1 (en) System and method for semi-supervised single image depth estimation and computer program for the same
JP2021047797A (en) Machine learning device, machine learning method, and program
WO2014112339A1 (en) Region segmenting device, program, and method
CN116108893A (en) Self-adaptive fine tuning method, device and equipment for convolutional neural network and storage medium
US20210232854A1 (en) Computer-readable recording medium recording learning program, learning method, and learning device
KR102278215B1 (en) Generative adversarial networks based image generation processing device that enables generation of images through machine learning with supplementary discriminator and operating method thereof
KR20220072280A (en) Apparatur to predict aberration of transmission electron microscope and opperating method of thereof
WO2022009449A1 (en) Information processing device, information processing method, and information processing program
KR102559584B1 (en) Apparatus and method for semi-supersivsed learning using grdient-to- grdient regression
KR102654017B1 (en) A method and apparatus for integrating image enhancement and training data generation using a generative recurrent neural network model
WO2023248513A1 (en) Welding assistance device, welding assistance method, and program
KR20240005460A (en) Apparatus operating method for image preprocessing based on neural network and apparatus of thereof
Mittag Double-Ended Speech Quality Prediction Using Siamese Networks
KR20230127508A (en) GAN-based model training method and apparatus

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant