KR102061935B1 - Knowledge Transfer Method Using Deep Neural Network and Apparatus Therefor - Google Patents

Knowledge Transfer Method Using Deep Neural Network and Apparatus Therefor Download PDF

Info

Publication number
KR102061935B1
KR102061935B1 KR1020170102269A KR20170102269A KR102061935B1 KR 102061935 B1 KR102061935 B1 KR 102061935B1 KR 1020170102269 A KR1020170102269 A KR 1020170102269A KR 20170102269 A KR20170102269 A KR 20170102269A KR 102061935 B1 KR102061935 B1 KR 102061935B1
Authority
KR
South Korea
Prior art keywords
neural network
deep neural
information flow
information
flow
Prior art date
Application number
KR1020170102269A
Other languages
Korean (ko)
Other versions
KR20180096469A (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 한국과학기술원
Publication of KR20180096469A publication Critical patent/KR20180096469A/en
Application granted granted Critical
Publication of KR102061935B1 publication Critical patent/KR102061935B1/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
    • G06N3/045Combinations of networks
    • G06N3/0454

Abstract

딥 신경망을 이용한 정보 이전 방법 및 그 장치가 개시된다. 본 발명의 일 실시예에 따른 정보 이전 방법은 이미 학습된 제1 딥 신경망의 레이어들 간 정보 흐름을 정의하는 단계; 및 상기 정의된 정보 흐름을 이용하여 학습시키고자 하는 제2 딥 신경망을 학습시키는 단계를 포함하고, 상기 정의하는 단계는 두 레이어 사이의 특성들 간의 흐름을 상기 정보 흐름으로 정의하며, 상기 흐름은 두 벡터 간의 방향성을 나타내는 내적을 사용한 매트릭스로 정의될 수 있다.Disclosed are a method and apparatus for transferring information using a deep neural network. Information transfer method according to an embodiment of the present invention comprises the steps of defining the information flow between the layers of the first deep neural network that has already been learned; And learning a second deep neural network to be trained using the defined information flow, wherein the defining step defines a flow between characteristics between two layers as the information flow, wherein the flow is two It can be defined as a matrix using dot products representing the directionality between vectors.

Figure R1020170102269
Figure R1020170102269

Description

딥 신경망을 이용한 정보 이전 방법 및 그 장치 {Knowledge Transfer Method Using Deep Neural Network and Apparatus Therefor}Information transfer method using deep neural network and its device {Knowledge Transfer Method Using Deep Neural Network and Apparatus Therefor}

본 발명은 정보 이전(knowledge transfer) 기술에 관한 것으로서, 보다 구체적으로 딥 신경망을 구성하는 레이어 간의 상관관계에 대응하는 정보 흐름을 이용하여 새로운 딥 신경망에 정보를 전달할 수 있는 정보 이전 방법 및 그 장치에 관한 것이다.The present invention relates to a technology for transferring information, and more particularly, to an information transfer method and apparatus for transmitting information to a new deep neural network using an information flow corresponding to a correlation between layers constituting a deep neural network. It is about.

DNN(Deep Neural Network)은 매우 다양한 분야에서 높은 성능을 자랑하고 있다. 특정 태스크에 맞게 DNN를 설계하고 이를 학습하게 되는데, 대부분의 학습된 DNN은 단순히 추론을 하는 데에만 사용한다. 하지만 이는 이미 학습된 DNN의 능력을 모두 사용했다고 할 수 없다.Deep Neural Networks (DNNs) have high performance in a wide variety of applications. You will design the DNN for a specific task and learn about it. Most learned DNNs are only used for reasoning. However, this does not mean that you have used up all the skills of a DNN that has already been learned.

이미 학습된 네트워크의 능력을 보다 충분히 사용하는 방법 중 하나는 네트워크의 유용한 정보를 추출하고 이를 새로운 네트워크에 전달하는 것이다. 이를 정보 이전(Knowledge transfer) 기술이라 하고, 기존의 많은 연구자들은 이러한 기술에 대해 연구를 진행하였다. One way to more fully use the capabilities of already learned networks is to extract useful information from the network and pass it on to the new network. This is known as knowledge transfer technology, and many existing researchers have studied this technology.

종래의 정보 이전 기술에 대한 일 예는, 다크 정보(Dark knowledge)라는 기술을 이용하여 이미 학습된 네트워크의 출력 특성(output feature)을 소프트하게(softened) 하여 이를 그대로 새로운 네트워크도 만들게끔 학습을 하였다.As an example of the conventional information transfer technology, the knowledge of the network has been learned to soften the output features of the already learned network by using a technique called dark knowledge to create a new network as it is. .

종래의 정보 이전 기술에 대한 다른 일 예는, 가장 마지막에 있는 출력 특성 뿐만이 아니라 중간에 있는 특성도 동일하게 만들게 하는 로스(loss)를 줌으로써 새로운 네트워크가 티쳐(teacher) 네트워크의 특성을 흉내 낼 수 있게 하였다.Another example of a conventional information transfer technique is to allow the new network to mimic the nature of a teaser network by giving a loss that not only makes the last output characteristic but also the middle characteristic the same. It was.

하지만, 이러한 기존 기법인 학생(student) DNN으로 하여금 티쳐(teacher) DNN이 생성해내는 특성을 정확히 같이 만들라고 하는 것은 매우 힘든 일이 될 수 있고, 이는 단순히 티쳐 DNN을 흉내 내는 일이라고 할 수 있다.  However, it can be very difficult to have the student DNN, the existing technique, make exactly the characteristics that the teaser DNN generates, which is simply a mimic of the teaser DNN. .

따라서, 새로운 방식의 정보 이전 기술의 필요성이 대두된다.Thus, there is a need for a new way of transferring information.

본 발명의 실시예들은, 딥 신경망을 구성하는 레이어 간의 상관관계에 대응하는 정보 흐름을 이용하여 새로운 딥 신경망에 정보를 이전(또는 전달)할 수 있는 정보 이전 방법 및 그 장치를 제공한다.Embodiments of the present invention provide an information transfer method and apparatus capable of transferring (or transferring) information to a new deep neural network using an information flow corresponding to a correlation between layers constituting the deep neural network.

본 발명의 일 실시예에 따른 정보 이전 방법은 이미 학습된 제1 딥 신경망의 레이어들 간 정보 흐름을 정의하는 단계; 및 상기 정의된 정보 흐름을 이용하여 학습시키고자 하는 제2 딥 신경망을 학습시키는 단계를 포함한다.Information transfer method according to an embodiment of the present invention comprises the steps of defining the information flow between the layers of the first deep neural network that has already been learned; And training a second deep neural network to be trained using the information flow defined above.

상기 정의하는 단계는 두 레이어 사이의 특성들 간의 흐름을 상기 정보 흐름으로 정의하며, 상기 흐름은 두 벡터 간의 방향성을 나타내는 내적을 사용한 매트릭스로 정의될 수 있다.The defining step defines the flow between the properties between the two layers as the information flow, and the flow may be defined as a matrix using a dot product representing the direction between the two vectors.

상기 학습시키는 단계는 상기 제2 딥 신경망의 정보 흐름이 상기 제1 딥 신경망의 정보 흐름과 똑같아지도록 상기 제2 딥 신경망의 정보 흐름을 학습시킬 수 있다.The training may include learning the information flow of the second deep neural network such that the information flow of the second deep neural network is the same as the information flow of the first deep neural network.

상기 학습시키는 단계는 상기 제2 딥 신경망의 정보 흐름이 상기 제1 딥 신경망의 정보 흐름과 똑같아지도록 유클리드 로스(Euclidean loss)를 이용하여 상기 제2 딥 신경망의 정보 흐름을 학습시킬 수 있다.The learning may include learning the information flow of the second deep neural network using Euclidean loss such that the information flow of the second deep neural network is the same as the information flow of the first deep neural network.

상기 학습시키는 단계는 상기 정보 흐름이 학습된 제2 딥 신경망의 웨이트(weight)를 초기 웨이트로 하는 분류 로스(classification loss)를 사용한 분류 태스크를 수행함으로써, 상기 제2 딥 신경망을 학습시킬 수 있다.The learning may be performed by training a second deep neural network by performing a classification task using a classification loss in which an initial weight is used as a weight of a second deep neural network learned from the information flow.

본 발명의 일 실시예에 따른 정보 이전 장치는 이미 학습된 제1 딥 신경망의 레이어들 간 정보 흐름을 정의하는 정의부; 및 상기 정의된 정보 흐름을 이용하여 학습시키고자 하는 제2 딥 신경망을 학습시키는 학습부를 포함한다.An apparatus for transferring information according to an embodiment of the present invention includes: a definer defining an information flow between layers of a first deep neural network that has been learned; And a learning unit learning a second deep neural network to be trained using the defined information flow.

상기 정의부는 두 레이어 사이의 특성들 간의 흐름을 상기 정보 흐름으로 정의하며, 상기 흐름은 두 벡터 간의 방향성을 나타내는 내적을 사용한 매트릭스로 정의될 수 있다.The definition unit defines the flow between the properties between the two layers as the information flow, and the flow may be defined as a matrix using a dot product representing the direction between two vectors.

상기 학습부는 상기 제2 딥 신경망의 정보 흐름이 상기 제1 딥 신경망의 정보 흐름과 똑같아지도록 상기 제2 딥 신경망의 정보 흐름을 학습시킬 수 있다.The learner may learn the information flow of the second deep neural network so that the information flow of the second deep neural network is the same as the information flow of the first deep neural network.

상기 학습부는 상기 제2 딥 신경망의 정보 흐름이 상기 제1 딥 신경망의 정보 흐름과 똑같아지도록 유클리드 로스(Euclidean loss)를 이용하여 상기 제2 딥 신경망의 정보 흐름을 학습시킬 수 있다.The learner may learn the information flow of the second deep neural network using Euclidean loss such that the information flow of the second deep neural network is the same as the information flow of the first deep neural network.

상기 학습부는 상기 정보 흐름이 학습된 제2 딥 신경망의 웨이트(weight)를 초기 웨이트로 하는 분류 로스(classification loss)를 사용한 분류 태스크를 수행함으로써, 상기 제2 딥 신경망을 학습시킬 수 있다.The learner may learn the second deep neural network by performing a classification task using a classification loss in which the weight of the second deep neural network learned from the information flow is used as an initial weight.

본 발명의 실시예들에 따르면, 딥 신경망을 구성하는 레이어 간의 상관관계에 대응하는 정보 흐름을 이용하여 새로운 딥 신경망에 정보를 이전(또는 전달)할 수 있다.According to embodiments of the present invention, information may be transferred (or transferred) to a new deep neural network by using an information flow corresponding to a correlation between layers constituting the deep neural network.

본 발명의 실시예들에 따르면, 기존의 방법들에 비해 덜 제한적이며 자유롭고, 압축 시 성능 면에서 기존 방법에 비해 뛰어난 효과가 있다.According to embodiments of the present invention, it is less restrictive and free than existing methods, and has an excellent effect compared to the existing methods in terms of performance in compression.

본 발명의 실시예들에 따르면, 딥 신경망을 이용한 영상 인식, 물체 인식, 판별 및 오류 검출 등 다양한 분야에서 학습 속도를 향상시킬 수 있으며, 컴퓨터에 비해서 메모리와 연산 능력이 제한적인 스마트 디바이스 예를 들어, 스마트폰, 스마트 와치 등에서 기존의 방법들보다 높은 성능을 기대할 수 있다.According to embodiments of the present invention, a smart device that can improve learning speed in various fields such as image recognition, object recognition, discrimination, and error detection using a deep neural network, and has limited memory and computational power, as compared to a computer, for example You can expect higher performance than existing methods in smart phones, smart watches and smart watch.

도 1은 본 발명의 일 실시예에 따른 정보 이전 방법에 대한 동작 흐름도를 나타낸 것이다.
도 2는 정보 흐름을 정의하는 과정을 설명하기 위한 일 예시도를 나타낸 것이다.
도 3은 정보 흐름을 이용하여 DNN을 학습하는 과정을 설명하기 위한 일 예시도를 나타낸 것이다.
도 4는 본 발명의 방법에 대한 결과의 일 예시도를 나타낸 것이다.
도 5는 본 발명의 일 실시예에 따른 방법을 설명하기 위한 일 예시도를 나타낸 것이다.
도 6은 본 발명의 일 실시예에 따른 정보 이전 장치에 대한 구성을 나타낸 것이다.
1 is a flowchart illustrating an operation of a method for transferring information according to an embodiment of the present invention.
2 illustrates an example diagram for describing a process of defining an information flow.
Figure 3 shows an example for explaining the process of learning the DNN using the information flow.
4 shows an exemplary view of the results for the method of the present invention.
Figure 5 shows an exemplary view for explaining a method according to an embodiment of the present invention.
6 shows a configuration of an information transfer apparatus according to an embodiment of the present invention.

이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited or limited by the embodiments. Also, like reference numerals in the drawings denote like elements.

본 발명의 실시예들은, 딥 신경망을 구성하는 레이어 간의 상관관계를 정보 흐름으로 정의하고, 이렇게 정의된 정보 흐름을 이용하여 새로운 딥 신경망 예를 들어, 학생 DNN에 정보를 이전(또는 전달)하는 것을 그 요지로 한다.Embodiments of the present invention define a correlation between layers constituting a deep neural network as an information flow, and use the defined information flow to transfer (or transfer) information to a new deep neural network, for example, a student DNN. That's the point.

여기서, 본 발명은 미리 학습된 제1 DNN 예를 들어, 티쳐 DNN을 구성하는 레이어들 간의 상관관계 즉, 정보의 흐름을 학습시키고자 하는 제2 DNN을 구성하는 레이어들 간의 정보 흐름과 같도록 제2 DNN을 학습시킬 수 있다.Herein, the present invention provides a correlation between the layers constituting the first DNN pre-learned, for example, the teaching DNN, that is, the information flow between the layers constituting the second DNN to learn the flow of information. 2 Can train DNN.

도 1은 본 발명의 일 실시예에 따른 정보 이전 방법에 대한 동작 흐름도를 나타낸 것이다.1 is a flowchart illustrating an operation of a method for transferring information according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 정보 이전 방법은 이미 학습된 제1 딥 신경망(DNN) 예를 들어, 티쳐 DNN을 구성하는 레이어들 간 정보 흐름을 정의한다(S110).Referring to FIG. 1, the information transfer method according to an embodiment of the present invention defines a flow of information between layers constituting a first deep neural network (DNN) that is already learned, for example, a teaching DNN (S110).

여기서, 단계 S110은 이미 학습된 티쳐 DNN을 구성하는 레이어들에서 두 레이어들 사이의 특성들 간의 흐름을 정의할 수 있으며, 흐름은 두 레이어의 특성들 간의 내적을 계산함으로써, 정의될 수 있다. 또한, 흐름은 두 레이어의 특성들에 대한 두 벡터 간의 방향성을 나타내는 내적을 사용한 매트릭스로 정의될 수도 있다.Here, step S110 may define a flow between the properties between the two layers in the layers constituting the learned DNN, and the flow may be defined by calculating the inner product between the properties of the two layers. Also, the flow may be defined as a matrix using a dot product representing the direction between two vectors for the properties of two layers.

예를 들어, 단계 S110은 도 2에 도시된 바와 같이, 티쳐 DNN을 구성하는 레이어의 입력과 출력 간의 특성들(feature map)을 이용하여 티쳐 DNN의 정보 흐름을 나타내는 매트릭스 예를 들어, Gram Matrix 또는 FSP(Flow of Solving a Problem) Matrix로 정보 흐름을 정의할 수 있다. 이렇게 정의된 정보 흐름 또는 매트릭스는 학습시키고자 하는 새로운 DNN 예를 들어, 학생 DNN을 학습시키는데 사용될 수 있다(transfer the distilled knowledge).For example, as illustrated in FIG. 2, step S110 is a matrix representing the flow of information of the teaching DNN using a feature map between inputs and outputs of the layers constituting the teaching DNN, for example, Gram Matrix or You can define the flow of information in the Flow of Solving a Problem (FSP) Matrix. The information flow or matrix defined in this way can be used to learn new DNNs to learn, for example, student DNNs.

예컨대, 두 레이어 간의 흐름을 나타내는 매트릭스가 G라고 가정하면, G는

Figure 112017077665991-pat00001
로 나타낼 수 있으며,
Figure 112017077665991-pat00002
는 한 레이어의 i번째 채널 특성을 의미하고,
Figure 112017077665991-pat00003
는 또 다른 레이어의 j번째 채널 특성을 의미할 수 있다.For example, suppose a matrix representing the flow between two layers is G.
Figure 112017077665991-pat00001
Can be represented by
Figure 112017077665991-pat00002
Is the i-th channel characteristic of one layer,
Figure 112017077665991-pat00003
May mean the j-th channel characteristic of another layer.

본 발명에서는 티쳐 DNN의 입력 공간(input space)에서 출력 공간(output space)로 만드는 정보의 흐름이 학생 DNN을 빠르게 학습시킬 수 있는 중요한 특성이 되며, 이러한 정보 흐름은 티쳐 DNN을 구성하는 레이어들 간의 상관 관계로 정의할 수도 있다.In the present invention, the flow of information from the input space of the teach-in DNN to the output space becomes an important characteristic to quickly learn the student DNN, and the flow of information between the layers constituting the teach-in DNN is provided. It can also be defined as a correlation.

단계 S110에 의해 티쳐 DNN의 정보 흐름의 정의되면, 이렇게 정의된 정보 흐름을 이용하여 학습시키고자 하는 제2 DNN 예를 들어, 학생 DNN을 학습시킨다(S120).If the flow of information of the teaching DNN is defined in step S110, a second DNN, for example, a student DNN, is trained using the information flow defined as described above (S120).

여기서, 단계 S120은 제2 DNN의 정보 흐름이 제1 DNN의 정보 흐름과 똑같아지도록 제1 DNN의 정보 흐름을 이용하여 제2 DNN의 정보 흐름을 학습시킬 수 있다.Here, step S120 may learn the information flow of the second DNN using the information flow of the first DNN so that the information flow of the second DNN becomes the same as the information flow of the first DNN.

본 발명에서 단계 S120은 두 단계의 로스를 이용하여 제2 DNN을 학습시킬 수 있으며, 유클리드 로스(Euclidean loss)와 분류 로스(classification loss)의 두 로스를 이용하여 제2 DNN을 학습시킬 수 있다.In the present invention, step S120 can learn the second DNN using two levels of loss, and can learn the second DNN using two losses of Euclidean loss and classification loss.

즉, 도 3에 도시된 바와 같이, 단계 S120은 학생 DNN의 정보 흐름 예를 들어, 매트릭스(GS)가 티쳐 DNN에서 정의된 정보 흐름 예를 들어, 매트릭스(GT)와 똑같아지도록 유클리드 로스(Euclidean loss)를 이용하여 티쳐 DNN의 정보 흐름을 학습시킬 수 있다. 예컨대, 미리 학습된 티쳐 DNN의 매트릭스를 G1이라 가정하고, 학생 DNN의 매트릭스를 G2라 가정하면, 두 매트릭스를 똑같이 맞추도록 유클리드 로스(Euclidean loss)

Figure 112017077665991-pat00004
를 사용할 수 있다.That is, as shown in Fig. 3, step S120 is an example of a student DNN information flow, the matrix (G S), for an information flow example defined by the Teacher DNN, Euclidean so like all the rest of the matrix (G T) Ross ( Euclidean loss can be used to learn the information flow of the teaching DNN. For example, assuming that the matrix of the pre-learned teacher DNN is G1 and the matrix of the student DNN is G2, Euclidean loss is made to equalize the two matrices.
Figure 112017077665991-pat00004
Can be used.

그리고, 분류 로스를 이용하여 유클리드 로스에 의해 학습된 학생 DNN을 학습시킬 수 있다. 즉, 단계 S120은 유클리드 로스에 의해 학습된 학생 DNN의 웨이트를 초기 웨이트로 하여 분류 로스를 사용한 분류 태스크를 수행함으로써, 학생 DNN의 최종 학습시키고, 이를 통해 티쳐 DNN에서 학생 DNN으로 정보 전이를 빠르게 수행할 수 있다.The classification loss may be used to train the student DNN learned by Euclid Ross. That is, step S120 performs the classification task using the classification loss by using the weight of the student DNN learned by Euclidean as the initial weight, thereby making the final learning of the student DNN, and thereby quickly transferring information from the teacher DNN to the student DNN. can do.

이러한 본 발명은 빠른 최적화(fast optimization) 기법과 함께 정보 이전 기술을 이용하여 DNN의 성능을 향상시킬 수 있다.The present invention can improve the performance of the DNN by using an information transfer technique together with a fast optimization technique.

도 4는 본 발명의 방법에 대한 결과의 일 예시도를 나타낸 것으로, CIFAR-10의 데이터 셋을 사용한 경우의 결과를 나타낸 것이다.Figure 4 shows an example of the results for the method of the present invention, showing the results when using the data set of CIFAR-10.

여기서, 데이터 셋은 10개의 클래스로 구성되어있으며, 총 5만장의 트레이닝 셋(training set)과 만장의 테스트 셋(test set)을 가지고 있으며, 티쳐 네트워크는 잔여 네트워크(Residual network) 중 26층짜리의 네트워크를 사용하고, 학생 네트워크는 티쳐 네트워크와 같은 구조를 사용할 수 있다.Here, the data set is composed of 10 classes, and has a total of 50,000 training sets and a full set of test sets, and the Teach Network is a 26-storey residual network. The network may be used, and the student network may use the same structure as the teacher network.

도 4에서의 매트릭스는 특성의 공간 사이즈(spatial size)가 줄어드는 총 3 부분에서 추출되었으며, 도 4에 도시된 바와 같이, 본 발명의 정보 전이 방법을 사용하였을 경우, 기존 기법보다 빠르게 학습되는 것을 볼 수 있으며, 약 3배 이상 빠르게 수렴하는 것을 알 수 있다.The matrix in FIG. 4 was extracted from a total of three parts of which the spatial size of the characteristic was reduced. As shown in FIG. 4, when the information transfer method of the present invention was used, the matrix was learned faster than the conventional technique. It can be seen that it converges about three times faster.

아래 표 1은 위의 열에서부터 각각 26층짜리 residual network를 64000 iteration으로 돌린 것, 21000 iteration으로 돌린 것, 본 발명을 이용하여(iteration 21000) 학습을 한 후, 21000 iteration을 돌린 것에 대한 성능 및 앙상블 성능을 보인 것이다.Table 1 below shows the performance and ensembles of each of the 26-layer residual networks turned to 64000 iterations, 21000 iterations, and 21000 iterations after learning using the invention (iteration 21000). It showed performance.

Accuracy1Accuracy1 Accuracy2Accuracy2 Accuracy3Accuracy3 EnsembleEnsemble OriginalOriginal 91.6191.61 91.5691.56 92.0992.09 93.4893.48 Original with 1/3 iterOriginal with 1/3 iter 90.4790.47 90.8390.83 90.6290.62 92.692.6 Proposed methodProposed method 92.2892.28 92.2492.24 92.0792.07 93.2693.26

표 1에서 보는 바와 같이 기존방식(original)의 경우, 64000 iteration에서 21000 iteration으로 1/3배가량 iteration수가 줄어들었을 때 약 1.5%가량 성능 하락을 보이는 것을 알 수 있는 반면, 본 발명은 1/3배의 iteration만 돌렸음에도 불구하고 기존의 성능을 그대로 보이는 것을 알고 있다. 이는 본 발명에서 정보 흐름의 매트릭스를 활용한 초기 웨이트가 좋은 초기 포인트가 되었음을 알 수 있다. As shown in Table 1, in the case of the original method, when the number of iterations decreased by about one-third from 64000 iterations to 21000 iterations, the performance was reduced by about 1.5%. We know that we're still doing the same, even though we've only run the ship's iteration. This indicates that the initial weight using the matrix of information flow is a good initial point in the present invention.

아래 표 2는 본 발명의 네트워크에서 추출된 정보를 얕은 네트워크로 전달했을 경우의 성능 향상을 기존 방식과 비교하여 나타낸 것으로, 티쳐 네트워크는 26개의 층을 사용한 잔여 네트워크이고, 학생 네트워크는 8개의 레이어를 사용한 결과를 나타낸 것이다. 여기서, 매트릭스는 특성의 공간 사이즈(spatial size)가 줄어드는 총 3 부분에서 추출될 수 있다.Table 2 below shows the performance improvement when the information extracted from the network of the present invention is delivered to the shallow network, and the teaching network is a residual network using 26 layers, and the student network has 8 layers. The results used are shown. Here, the matrix may be extracted from three parts in which the spatial size of the characteristic is reduced.

AccuracyAccuracy OriginalOriginal 87.987.9 RomeroRomero 88.3488.34 ProposedProposed 88.6288.62

표 2를 통해 알 수 있듯이, 본 발명에 따른 방법(proposed)은 일반적인 기법(original)을 사용하여 학습 하였을 때보다 약 0.7%가량 성능이 증가된 것을 알 수 있다.As can be seen from Table 2, the method according to the present invention (proposed) can be seen that the performance is increased by about 0.7% than when using the conventional techniques (original).

이와 같이, 본 발명에 따른 방법은 기존 방식에 비해서 성능이 향상되고, 네트워크가 빠르게 학습될 수 있으며, 여러 네트워크의 앙상블이 필요한 태스크의 경우와 작은 네트워크를 필요로 하는 태스크의 경우 모두에 유용하게 사용될 수 있다.As described above, the method according to the present invention improves performance compared to the conventional method, the network can be learned quickly, and can be useful for both a task requiring an ensemble of several networks and a task requiring a small network. Can be.

이러한 본 발명에 대해 조금 더 구체적으로 설명하면 다음과 같다.The present invention will be described in more detail as follows.

본 발명에 따른 정보 이전 방법은 제1 딥 신경망 예를 들어, 티쳐 DNN의 중요 정보를 정의하고 다른 DNN 예를 들어, 학생 DNN에 디스틸드 정보(distilled knowledge)를 전달 하는 것이다.The method for transferring information according to the present invention is to define important information of a first deep neural network, for example, a teaching DNN, and to convey distilled knowledge to another DNN, for example, a student DNN.

본 발명에서의 In the present invention 디스틸드Distill 정보 Information

DNN은 레이어간 특성들을 생성한다. 상위 레이어 특성들은 주요 태스크를 수행할 수 있는 유용한 특성들에 가깝다. DNN의 입력을 질문으로 하고 출력을 대답으로 한다면, 중간 결과로서 DNN의 중간에서 생성되는 특성들을 생각할 수 있으며, 이러한 관점에서 정보 이전 기술은 학생 DNN이 티쳐 DNN의 중간 결과를 단순히 모방하는 것으로 볼 수 있다. 그러나, DNN의 경우 입력으로부터 출력을 생성하는 문제를 해결할 수 있는 다양한 방법이 있으며, 이런 의미에서 티쳐 DNN의 생성된 특성들을 모방하는 것은 학생 DNN에 대한 제약이 될 수 있다.The DNN creates interlayer characteristics. Higher layer properties are close to useful properties that can perform key tasks. If the input of the DNN is the question and the output is the answer, then you can think of the characteristics that are generated in the middle of the DNN as intermediate results. In this sense, information transfer techniques can be seen as simply mimicking the intermediate results of the teacher DNN. have. However, in the case of DNN, there are various ways to solve the problem of generating output from input. In this sense, mimicking the generated characteristics of the teaching DNN can be a limitation for the student DNN.

사람의 경우, 선생은 문제를 푸는 과정을 설명하고, 학생은 문제를 푸는 과정을 학습한다. 학생 DNN은 특정 질문이 입력되는 경우 중간 출력을 학습할 필요는 없지만 특정 형태의 질문을 마주하였을 때 그 문제를 해결할 수 있는 방법을 학습할 수 있다. 이와 같은 방법으로 본 발명은 중간 결과를 티칭하는 것보다 더 나은 방법을 제공할 수 있다.In humans, the teacher explains the process of solving a problem, and the student learns the process of solving a problem. The student DNN does not need to learn the intermediate output when a specific question is entered, but can learn how to solve the problem when faced with a particular type of question. In this way the present invention can provide a better method than teaching an intermediate result.

디스틸드Distill 정보의 수학적인 표현 Mathematical representation of information

본 발명은 두 중간 결과 간의 관계를 정의할 수 있다. DNN의 경우 관계는 두 레이어들의 특성들 간 방향에 의해 수학적으로 고려될 수 있다. 본 발명에서는 솔루션 프로세서의 플로우(또는 흐름)를 FSP 매트릭스로 나타낼 수 있다. FSP 매트릭스

Figure 112017077665991-pat00005
는 두 레이어들의 특성들에 의해 생성된다. 선택된 레이어들 중 하나가 특성 맵
Figure 112017077665991-pat00006
을 생성한다고 하면 다른 선택된 레이어는 특성 맵
Figure 112017077665991-pat00007
를 생성한다. 여기서, h, w, m은 각각 채널의 높이, 폭과 수를 의미할 수 있다.The present invention may define a relationship between two intermediate results. In the case of the DNN, the relationship can be considered mathematically by the direction between the properties of the two layers. In the present invention, the flow (or flow) of the solution processor may be represented by an FSP matrix. FSP Matrix
Figure 112017077665991-pat00005
Is generated by the properties of the two layers. One of the selected layers is the property map
Figure 112017077665991-pat00006
If you create a different layer
Figure 112017077665991-pat00007
Create Here, h, w and m may mean the height, width and number of the channels, respectively.

그러면, FSP 매트릭스

Figure 112017077665991-pat00008
는 아래 <수학식 1>과 같이 계산될 수 있다.Then, the FSP matrix
Figure 112017077665991-pat00008
May be calculated as in Equation 1 below.

[수학식 1][Equation 1]

Figure 112017077665991-pat00009
Figure 112017077665991-pat00009

여기서, x와 W는 각각 DNN의 입력 이미지와 웨이트들을 의미할 수 있다. 본 발명에서는 CIFAR-10 데이터셋에 의해 트레이닝된 8, 26, 36 레이어들을 가지는 잔여 네트워크를 이용하여 설명할 수 있다. 공간적인 사이즈가 변화하는 CIFAR-10 데이터셋에 대해 잔여 네트워크는 세가지 포인트들을 가지고 있을 수 있으며, 본 발명은 도 5에 도시된 바와 같이 FSP 매트릭스을 생성하는 여러 포인트들을 선택할 수 있다.Here, x and W may mean the input image and the weight of the DNN, respectively. In the present invention, it can be described using a residual network having 8, 26, 36 layers trained by the CIFAR-10 dataset. For a CIFAR-10 dataset whose spatial size varies, the residual network may have three points, and the present invention may select several points for generating an FSP matrix as shown in FIG.

FSPFSP 매트릭스의 로스 Ross of the matrix

학생 네트워크를 돕기 위하여, 본 발명은 티쳐 네트워크의 디스틸트 정보를 학생 네트워크로 이전 또는 전달하는 것으로, 상술한 바와 같이, 디스틸트 정보는 솔루션 과정의 플로우에 대한 정보를 포함하는 FSP 매트릭스 형태로 나타낼 수 있다. 티쳐 네트워크에 의해 생성되는 n FSP 행렬을

Figure 112017077665991-pat00010
, 학생 네트워크에 의해 생성되는 n FSP 행렬을
Figure 112017077665991-pat00011
라 가정하면, 본 발명은 같은 공간 사이즈를 가지는 티쳐 네트워크와 학생 네트워크 간 FSP 행렬의 쌍
Figure 112017077665991-pat00012
을 고려한다. 각 쌍에 대한 비용 함수로 제곱된 L2 표준을 이용하며, 디스틸드 정보 이전에 대한 비용 함수는 아래 수학식 2와 같이 정의될 수 있다.In order to assist the student network, the present invention transfers or transmits the tilt information of the teaching network to the student network. As described above, the tilt information may be represented in the form of an FSP matrix including information on the flow of a solution process. have. N FSP matrices generated by the
Figure 112017077665991-pat00010
, The n FSP matrix generated by the student network
Figure 112017077665991-pat00011
In the present invention, the present invention provides a pair of FSP matrices between a student network and a student network having the same spatial size.
Figure 112017077665991-pat00012
Consider. Using the L2 standard squared as the cost function for each pair, the cost function for the transfer of detiled information may be defined as in Equation 2 below.

[수학식 2][Equation 2]

Figure 112017077665991-pat00013
Figure 112017077665991-pat00013

여기서.

Figure 112017077665991-pat00014
는 각 로스 텀에 대한 웨이트를 의미하고, N은 데이터 포인트들의 수를 의미할 수 있다.here.
Figure 112017077665991-pat00014
Denotes the weight for each loss term, and N may denote the number of data points.

본 발명은 전체 로스 텀이 똑같이 중요하다 가정한다. 즉, 똑같은

Figure 112017077665991-pat00015
를 사용한다.The present invention assumes that the entire loss term is equally important. In other words, the same
Figure 112017077665991-pat00015
Use

학습 learning 프로시져Procedure

본 발명에 따른 정보 이전 방법은 티쳐 네트워크에 의해 생성된 디스틸드 정보를 사용한다. 본 발명에서 티쳐 네트워크가 무엇인지 명확하게 설명하기 위하여 다음과 같은 두 조건을 정의한다.The information transfer method according to the present invention uses the de-tilt information generated by the teach network. In the present invention, two conditions are defined in order to clarify what a teaching network is.

첫 째, 티쳐 네트워크는 미리 설정된 데이터셋에 의해 미리 트레이닝되어 있어야 한다. 이 때, 티쳐 네트워크를 트레이닝하는 데이터셋은 학생 네트워크가 학습한 데이터셋과 같거나 다를 수 있다. 티쳐 네트워크는 전이 학습 태스크의 경우 학생 네트워크의 데이터셋과 다른 데이터셋을 사용할 수 잇다.First, the teaching network must be trained by a preset dataset. At this time, the data set for training the teacher network may be the same as or different from the data set learned by the student network. The teaching network can use a dataset different from the student network's dataset for transfer learning tasks.

둘 째, 티쳐 네트워크는 학생 네트워크보다 더 깊거나 더 ?을 수 있는데, 본 발명의 상세한 설명에서는 티쳐 네트워크가 학생 네트워크에 비해 그 깊이가 같거나 더 깊은 경우로 설명한 것이다.Second, the teaching network may be deeper or larger than the student network. In the detailed description of the present invention, the teaching network is described as having the same depth or deeper than the student network.

학습 프로시져는 트레이닝의 두 단계를 포함한다. 첫 째, 본 발명은 학생 네트워크의 FSP 매트릭스를 티쳐 네트워크의 FSP 매트릭스와 같게 만들기 위하여 로스 함수 LFSP를 최소화한다. 첫 번째 단계를 거친 학생 네트워크는 두 번째 단계에서 주요 태스크 로스에 의해 트레이닝 된다. 본 발명에서는 주요 태스크 로스로, 소프트맥스 크로스 엔트로피 로스 Lori를 사용할 수 있다.The learning procedure involves two stages of training. First, the present invention minimizes the loss function L FSP to make the FSP matrix of the student network the same as the FSP matrix of the teacher network. In the first phase, the student network is trained by the main task loss. In the present invention, the soft task cross entropy loss Lori may be used as the main task loss.

즉, 본 발명의 학습 프로시져는 아래 <수학식 3>을 이용하여 첫 번째 단계인 FSP 매트릭스를 학습하고, 첫 번째 단계에서 FSP 매트릭스가 학습된 학생 네트워크에 대하여, 아래 <수학식 4>를 이용하여 두 번째 단계인 오리지널 태스크를 트레이닝한다.That is, the learning procedure of the present invention learns the FSP matrix, which is the first step, by using Equation 3 below, and, for the student network where the FSP matrix is learned in the first step, uses Equation 4 below. Train the second step, the original task.

<수학식 3><Equation 3>

Figure 112017077665991-pat00016
Figure 112017077665991-pat00016

여기서, Ws와 Wt는 학생 네트워크의 웨이트들과 티쳐 네트워크의 웨이트들을 의미할 수 있다.Here, Ws and Wt may refer to weights of the student network and weights of the teacher network.

<수학식 4><Equation 4>

Figure 112017077665991-pat00017
Figure 112017077665991-pat00017

딥 잔여 네트워크(deep residual network)는 바로가기 연결(shortcut connection)을 통해 앙상블 구조를 만들 수 있으며, 바로가기 연결은 더 깊은 네트워크의 트레이닝을 수행할 수 있다.A deep residual network may create an ensemble structure through a shortcut connection, and the shortcut connection may perform training of a deeper network.

도 5는 본 발명의 일 실시예에 따른 방법을 설명하기 위한 일 예시도를 나타낸 것으로, 32 레이어들의 티쳐 네트워크와 14 레이어들의 학생 네트워크를 예로 설명하였지만, 티쳐 네트워크의 레이어 수와 학생 네트워크의 레이어 수는 변화될 수 있다.FIG. 5 illustrates an exemplary view for explaining a method according to an embodiment of the present invention. Although the teaching network of 32 layers and the student network of 14 layers have been described as an example, the number of layers of the teaching network and the number of layers of the student network are illustrated. Can be changed.

도 5에 도시된 바와 같이, FSP 행렬은 같은 공간 사이즈를 유지하는 세 개의 섹션들에서 추출될 수 있으며, 첫 번째 단계에서 학생 네트워크와 티쳐 네트워크이 FSP 행렬 간 거리가 최소가되도록 학생 네트워크를 트레이닝하고, 학생 DNN의 미리 트레이닝된 웨이트들은 두 번째 단계에서 초기 웨이트로 사용된다. 두 번째 단계는 노말 트레이닝 프로시져를 나타낸다.As shown in FIG. 5, the FSP matrix can be extracted from three sections maintaining the same spatial size, in the first step the student network and the teacher network train the student network so that the distance between the FSP matrices is minimal, The pre-trained weights of the student DNN are used as initial weights in the second stage. The second stage represents the normal training procedure.

즉, 딥 잔여 네트워크는 세 개의 섹션을 포함하고, FSP 매트릭스를 만들기 위하여 두 개의 레이어들을 선택하는데, 두 개의 레이어들을 선택하는 방법에는 제한이 없다. 예를 들어, 첫 번째 레이어와 마지막 레이어를 FSP 매트릭스를 만들기 위하여 선택할 수도 있다. FSP 매트릭스는 같은 공간 사이즈를 가지는 두 레이어 특성들에 의해 생성되기 때문에 두 레이어 특성들의 사이즈가 다를 경우 동일 공간 사이즈를 만들기 위하여 맥스 풀링 레이어를 사용할 수 있다.That is, the deep residual network includes three sections and selects two layers to create an FSP matrix, and there is no limit to the method of selecting the two layers. For example, you can select the first and last layer to create an FSP matrix. Since the FSP matrix is generated by two layer properties having the same spatial size, the max pooling layer can be used to make the same spatial size when the two layer properties have different sizes.

티쳐 DNN의 사이즈는 학생 DNN의 사이즈보다 더 크며, 학생 DNN은 티쳐 DNN에서 잔여 모듈들의 수를 간단하게 줄임으로써, 구성될 수 있다. 따라서, 학생 DNN은 티쳐 DNN보다 더 작은 파라미터들을 사용할 수 있다.The size of the teaching DNN is larger than the size of the student DNN, and the student DNN can be constructed by simply reducing the number of remaining modules in the teaching DNN. Thus, the student DNN may use smaller parameters than the teacher DNN.

도 5는 본 발명의 일 실시예에 따른 정보 이전 장치에 대한 구성을 나타낸 것으로, 상술한 도 1 내지 도 4의 방법을 수행하는 장치에 대한 구성을 나타낸 것이다.5 illustrates a configuration of an apparatus for transferring information according to an embodiment of the present invention, and illustrates a configuration of an apparatus for performing the method of FIGS. 1 to 4 described above.

도 5를 참조하면, 본 발명의 일 실시예에 따른 정보 이전 장치(500)는 정의부(510)와 학습부(520)를 포함한다.Referring to FIG. 5, an apparatus 500 for transferring information according to an embodiment of the present invention includes a definer 510 and a learner 520.

정의부(510)는 이미 학습된 제1 딥 신경망 예를 들어, 티쳐 DNN의 레이어들 간 정보 흐름을 정의한다.The definition unit 510 defines a flow of information between layers of the first deep neural network that is already learned, for example, the TDN.

여기서, 정의부(510)는 두 레이어 사이의 특성들 간의 흐름을 정보 흐름으로 정의하며, 흐름은 두 벡터 간의 방향성을 나타내는 내적을 사용한 매트릭스로 정의될 수 있다.Here, the definition unit 510 defines a flow between the characteristics between the two layers as an information flow, and the flow may be defined as a matrix using a dot product representing the direction between the two vectors.

학습부(520)는 정의부(510)에 의해 정의된 티쳐 DNN의 정보 흐름을 이용하여 학습시키고자 하는 제2 딥 신경망 예를 들어, 학생 DNN을 학습시킨다.The learner 520 learns a second deep neural network, for example, a student DNN, to be trained by using the information flow of the teach-in DNN defined by the definer 510.

여기서, 학습부(520)는 제2 딥 신경망의 정보 흐름이 제1 딥 신경망의 정보 흐름과 똑같아지도록 제2 딥 신경망의 정보 흐름을 학습시킬 수 있다.Here, the learner 520 may learn the information flow of the second deep neural network so that the information flow of the second deep neural network becomes the same as the information flow of the first deep neural network.

예컨대, 학습부(520)는 제2 딥 신경망의 정보 흐름이 제1 딥 신경망의 정보 흐름과 똑같아지도록 유클리드 로스(Euclidean loss)를 이용하여 제2 딥 신경망의 정보 흐름을 학습시킬 수 있으며, 추가적으로, 정보 흐름이 학습된 제2 딥 신경망의 웨이트(weight)를 초기 웨이트로 하는 분류 로스(classification loss)를 사용한 분류 태스크를 수행함으로써, 제2 딥 신경망을 학습시킬 수 있다.For example, the learner 520 may learn the information flow of the second deep neural network using Euclidean loss so that the information flow of the second deep neural network is the same as the information flow of the first deep neural network. The second deep neural network may be trained by performing a classification task using a classification loss in which the weight of the second deep neural network learned as the information flow is used as an initial weight.

비록, 도 5의 장치에서 그 설명이 생략되었더라도 도 5의 장치는 도 1 내지 도 4에서 설명한 내용을 모두 포함할 수 있으며, 정보 이전과 관련된 모든 기능 또는 내용을 포함할 수 있다는 것은 이 기술 분야에 종사하는 당업자에게 있어서 자명하다.Although the description of the apparatus of FIG. 5 is omitted, the apparatus of FIG. 5 may include all the contents described with reference to FIGS. 1 to 4, and may include all functions or contents related to information transfer. It is obvious to those skilled in the art.

이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system or apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the systems, devices, and components described in the embodiments may include, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable arrays (FPAs). ), A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers. 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. For the convenience of understanding, a processing device may be described as one being used, but a person skilled in the art will appreciate that the 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. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.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. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted. 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.

실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiments may be embodied in the form of program instructions that may be executed by various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, 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 not only machine code generated by a compiler, but also 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 embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the claims that follow.

Claims (10)

정의부에서 이미 학습된 제1 딥 신경망의 레이어들 간 정보 흐름을 정의하는 단계; 및
학습부에서 상기 정의된 정보 흐름을 이용하여 학습시키고자 하는 제2 딥 신경망을 학습시키는 단계
를 포함하며,
상기 정의하는 단계는
두 레이어 사이의 특성들 간의 흐름을 상기 정보 흐름으로 정의하며,
상기 흐름은
두 벡터 간의 방향성을 나타내는 내적을 사용한 매트릭스로 정의되는 정보 이전 방법.
Defining an information flow between layers of the first deep neural network already learned in the definition unit; And
Learning a second deep neural network to learn by using the information flow defined in the learning unit
Including;
The defining step
The flow between the properties between two layers is defined as the information flow,
The flow is
A method of transferring information defined by matrices using dot products representing the direction between two vectors.
삭제delete 삭제delete 정의부에서 이미 학습된 제1 딥 신경망의 레이어들 간 정보 흐름을 정의하는 단계; 및
학습부에서 상기 정의된 정보 흐름을 이용하여 학습시키고자 하는 제2 딥 신경망을 학습시키는 단계
를 포함하며,
상기 학습시키는 단계는
상기 제2 딥 신경망의 정보 흐름이 상기 제1 딥 신경망의 정보 흐름과 똑같아지도록 유클리드 로스(Euclidean loss)를 이용하여 상기 제2 딥 신경망의 정보 흐름을 학습시키는 것을 특징으로 하는 정보 이전 방법.
Defining an information flow between layers of the first deep neural network already learned in the definition unit; And
Learning a second deep neural network to learn by using the information flow defined in the learning unit
Including;
The learning step
And information flow of the second deep neural network using Euclidean loss so that the information flow of the second deep neural network is the same as the information flow of the first deep neural network.
제4항에 있어서,
상기 학습시키는 단계는
상기 정보 흐름이 학습된 제2 딥 신경망의 웨이트(weight)를 초기 웨이트로 하는 분류 로스(classification loss)를 사용한 분류 태스크를 수행함으로써, 상기 제2 딥 신경망을 학습시키는 것을 특징으로 하는 정보 이전 방법.
The method of claim 4, wherein
The learning step
And training the second deep neural network by performing a classification task using a classification loss in which the weight of the second deep neural network learned by the information flow is used as an initial weight.
이미 학습된 제1 딥 신경망의 레이어들 간 정보 흐름을 정의하는 정의부; 및
상기 정의된 정보 흐름을 이용하여 학습시키고자 하는 제2 딥 신경망을 학습시키는 학습부
를 포함하며,
상기 정의부는
두 레이어 사이의 특성들 간의 흐름을 상기 정보 흐름으로 정의하며,
상기 흐름은
두 벡터 간의 방향성을 나타내는 내적을 사용한 매트릭스로 정의되는 정보 이전 장치.
A definition unit defining an information flow between layers of the first deep neural network that has already been learned; And
Learning unit for learning a second deep neural network to learn using the information flow defined above
Including;
The definition part
The flow between the properties between two layers is defined as the information flow,
The flow is
Information transfer device defined as a matrix using dot products representing the direction between two vectors.
삭제delete 삭제delete 이미 학습된 제1 딥 신경망의 레이어들 간 정보 흐름을 정의하는 정의부; 및
상기 정의된 정보 흐름을 이용하여 학습시키고자 하는 제2 딥 신경망을 학습시키는 학습부
를 포함하며,
상기 학습부는
상기 제2 딥 신경망의 정보 흐름이 상기 제1 딥 신경망의 정보 흐름과 똑같아지도록 유클리드 로스(Euclidean loss)를 이용하여 상기 제2 딥 신경망의 정보 흐름을 학습시키는 것을 특징으로 하는 정보 이전 장치.
A definition unit defining an information flow between layers of the first deep neural network that has already been learned; And
Learning unit for learning a second deep neural network to learn using the information flow defined above
Including;
The learning unit
And information flow of the second deep neural network using Euclidean loss so that the information flow of the second deep neural network becomes the same as the information flow of the first deep neural network.
제9항에 있어서,
상기 학습부는
상기 정보 흐름이 학습된 제2 딥 신경망의 웨이트(weight)를 초기 웨이트로 하는 분류 로스(classification loss)를 사용한 분류 태스크를 수행함으로써, 상기 제2 딥 신경망을 학습시키는 것을 특징으로 하는 정보 이전 장치.
The method of claim 9,
The learning unit
And training the second deep neural network by performing a classification task using a classification loss in which the weight of the second deep neural network learned by the information flow is used as an initial weight.
KR1020170102269A 2017-02-21 2017-08-11 Knowledge Transfer Method Using Deep Neural Network and Apparatus Therefor KR102061935B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170023057 2017-02-21
KR20170023057 2017-02-21

Publications (2)

Publication Number Publication Date
KR20180096469A KR20180096469A (en) 2018-08-29
KR102061935B1 true KR102061935B1 (en) 2020-01-02

Family

ID=63434757

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020170102269A KR102061935B1 (en) 2017-02-21 2017-08-11 Knowledge Transfer Method Using Deep Neural Network and Apparatus Therefor
KR1020170117000A KR102063376B1 (en) 2017-02-21 2017-09-13 Knowledge Sharing Based Knowledge Transfer Method for Improving Quality of Knowledge and Apparatus Therefor
KR1020170117001A KR102063377B1 (en) 2017-02-21 2017-09-13 Incremental Training Based Knowledge Transfer Method for Training Large Deep Neural Networks and Apparatus Therefor

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020170117000A KR102063376B1 (en) 2017-02-21 2017-09-13 Knowledge Sharing Based Knowledge Transfer Method for Improving Quality of Knowledge and Apparatus Therefor
KR1020170117001A KR102063377B1 (en) 2017-02-21 2017-09-13 Incremental Training Based Knowledge Transfer Method for Training Large Deep Neural Networks and Apparatus Therefor

Country Status (1)

Country Link
KR (3) KR102061935B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220055970A (en) 2020-10-27 2022-05-04 연세대학교 산학협력단 Image Upscaling Apparatus And Method Based On Learning With Privileged Information

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200044173A (en) 2018-10-05 2020-04-29 삼성전자주식회사 Electronic apparatus and control method thereof
US11640522B2 (en) * 2018-12-13 2023-05-02 Tybalt, Llc Computational efficiency improvements for artificial neural networks
KR102168541B1 (en) * 2018-12-20 2020-10-21 주식회사 마인즈랩 A method and computer program of learning a second neural network using a first neural network
KR102191351B1 (en) 2020-04-28 2020-12-15 아주대학교산학협력단 Method for semantic segmentation based on knowledge distillation
KR102225579B1 (en) * 2020-05-14 2021-03-10 아주대학교산학협력단 Method for semantic segmentation based on knowledge distillation with improved learning performance
KR102354145B1 (en) * 2020-10-23 2022-01-24 광주과학기술원 A logit adjustment and memory management method for incremental mearning
KR20240023905A (en) * 2022-08-16 2024-02-23 주식회사 맨드언맨드 Data processing method using edited artificial neural network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Hinton, Geoffrey, Oriol Vinyals, and Jeff Dean. Distilling the knowledge in a neural network. arXiv preprint arXiv:1503.02531. 2015.
Romero, Adriana, et al. Fitnets: Hints for thin deep nets. arXiv preprint arXiv:1412.6550. 2014.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220055970A (en) 2020-10-27 2022-05-04 연세대학교 산학협력단 Image Upscaling Apparatus And Method Based On Learning With Privileged Information

Also Published As

Publication number Publication date
KR20180096474A (en) 2018-08-29
KR20180096469A (en) 2018-08-29
KR102063376B1 (en) 2020-01-07
KR102063377B1 (en) 2020-01-07
KR20180096473A (en) 2018-08-29

Similar Documents

Publication Publication Date Title
KR102061935B1 (en) Knowledge Transfer Method Using Deep Neural Network and Apparatus Therefor
US11775804B2 (en) Progressive neural networks
US11501076B2 (en) Multitask learning as question answering
US11657254B2 (en) Computation method and device used in a convolutional neural network
CN110163299B (en) Visual question-answering method based on bottom-up attention mechanism and memory network
US10740433B2 (en) Universal transformers
CN109643383B (en) Domain split neural network
CN114051615A (en) Dynamic processing element array expansion
US11651214B2 (en) Multimodal data learning method and device
WO2018210796A1 (en) Neural network systems for action recognition in videos
US20180129930A1 (en) Learning method based on deep learning model having non-consecutive stochastic neuron and knowledge transfer, and system thereof
CN111782840B (en) Image question-answering method, device, computer equipment and medium
CN111325318B (en) Neural network training method, neural network training device and electronic equipment
US9536206B2 (en) Method and apparatus for improving resilience in customized program learning network computational environments
US20190236136A1 (en) Visual reference resolution using attention memory for visual dialog
JP2018026040A (en) Information processing apparatus and information processing method
KR102236582B1 (en) Image processing apparatus and operating method for the same
KR20210064817A (en) Method for Transfer Learning between Different Deep Learning Models
CN110175231B (en) Visual question answering method, device and equipment
US20230306262A1 (en) Method and device with inference-based differential consideration
EP4089585A1 (en) Device and method with multidimensional vector neural network
US20240143691A1 (en) Universal transformers
KR20240047086A (en) Method and apparatus for training and inference of multi-modal artificial neural network models

Legal Events

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