WO2023033194A1 - 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템 - Google Patents

가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템 Download PDF

Info

Publication number
WO2023033194A1
WO2023033194A1 PCT/KR2021/011609 KR2021011609W WO2023033194A1 WO 2023033194 A1 WO2023033194 A1 WO 2023033194A1 KR 2021011609 W KR2021011609 W KR 2021011609W WO 2023033194 A1 WO2023033194 A1 WO 2023033194A1
Authority
WO
WIPO (PCT)
Prior art keywords
neural network
backbone
knowledge distillation
student
teacher
Prior art date
Application number
PCT/KR2021/011609
Other languages
English (en)
French (fr)
Inventor
박한철
김태호
Original Assignee
주식회사 노타
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 노타 filed Critical 주식회사 노타
Priority to PCT/KR2021/011609 priority Critical patent/WO2023033194A1/ko
Priority to KR1020227041865A priority patent/KR102597184B1/ko
Publication of WO2023033194A1 publication Critical patent/WO2023033194A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Definitions

  • the following description relates to a knowledge distillation method and system specialized for light weight pruning-based deep neural networks.
  • a neural network pruning technique used as one of lightweight techniques is a technique to reduce the size of a model by removing redundant neurons involved in a neural network in performing a specific task.
  • the pruning technique generally measures the importance score of each neuron, removes neurons with relatively low importance according to a given criterion (for example, the threshold of the importance score, the pruning ratio for each layer of the neural network, etc.), and then calculates the lost performance. It proceeds in the order of re-learning to restore.
  • a neural network is a backbone that extracts feature information (features) to perform a given task (classification, object detection, image segmentation, etc.) from large input samples. ) neural network, and a head neural network that performs a given task by taking the quality information of the backbone neural network as input.
  • pruning methods for head neural networks are specialized for algorithms or structures used to perform tasks, or pruning cannot be applied depending on circumstances due to the relatively low weight of research.
  • relatively various methods can be applied, so pruning is generally applicable. Therefore, in general, pruning mainly targets backbone neural networks.
  • the knowledge distillation method extracts knowledge (eg, the output of the neural network, the feature information of neural network layers, etc.) of a teacher neural network with good generalization performance, and a student neural network with relatively low generalization performance. ) is a learning methodology that improves the generalization performance of student neural networks by imitating the corresponding knowledge. Since the generalization performance of larger-sized neural networks (over-parameterized neural networks) is generally better than that of small-sized neural networks, the knowledge of large neural networks can be transferred to student neural networks with relatively low generalization performance, thereby reducing the model weight without significant performance degradation.
  • knowledge eg, the output of the neural network, the feature information of neural network layers, etc.
  • a knowledge distillation method performed by a computer device including at least one processor comprising: performing, by the at least one processor, pruning on a backbone neural network included in a neural network model for weight reduction; and performing, by the at least one processor, knowledge distillation on the backbone neural network on which the pruning has been performed, wherein the performing of the knowledge distillation is performed on the teacher backbone neural network, which is the backbone neural network of the original neural network for the input. It provides a knowledge distillation method comprising the step of distilling the feature information into a student backbone neural network that is the pruned backbone neural network.
  • the pruning may include the original neural network and the student neural network generated by the knowledge distillation sharing the same head neural network, and each layer of the student neural network having at least a portion of the layers of the original neural network. It may be characterized in that pruning is performed on the backbone neural network to share parameters.
  • the step of distilling the quality information may include distilling the quality information into the student backbone neural network using a loss function that reduces a distance between backbone outputs of the teacher backbone neural network and the student backbone neural network.
  • the step of distilling the quality information may be characterized in that the output of the teacher backbone neural network is transmitted to the student backbone neural network without conversion.
  • the step of distilling the quality information may be characterized in that only final outputs of the teacher backbone neural network excluding outputs from an intermediate layer of the original neural network are transferred to the student backbone neural network.
  • the performing of the knowledge distillation may further include distilling gradient information of an output of the teacher backbone neural network according to a change in input into the student backbone neural network.
  • the distilling the variation information of the output may include distilling the variation information into the student backbone neural network using a loss function that reduces a distance between slopes of backbone outputs of the teacher backbone neural network and the student backbone neural network. It can be characterized by doing.
  • the step of distilling the variation information of the output may include receiving a set of samples selected based on uncertainty among samples of training data, and determining the output of the teacher backbone neural network for the sample included in the set. It may be characterized in that the variation information is distilled into the student backbone neural network.
  • the samples selected based on the uncertainty may include samples of r (where r is a real number) % having a large value of the task loss function of the original neural network among the samples of the training data.
  • the performing of the knowledge distillation may further include performing knowledge distillation on data that is not observed in the training data.
  • the performing of knowledge distillation on unobserved data in the learning data may include generating a sample having an uncertainty greater than or equal to a threshold value through a CutMix data augmentation technique, and comparing the learning data to the teacher backbone neural network. It may be characterized in that the knowledge distillation of the student backbone neural network is performed.
  • the performing of the knowledge distillation may further include performing learning of the student backbone neural network.
  • the learning of the student backbone neural network may include a first loss value of a first loss function that reduces a distance between the teacher backbone neural network and backbone outputs of the student backbone neural network and the teacher backbone neural network and the student backbone neural network. Learning the student backbone neural network until a loss value for the backbone neural network converged, which is formed as a weighted sum of second loss values of a second loss function that reduces the distance between slopes of the backbone output of the student backbone neural network.
  • the knowledge distillation method may further include performing knowledge distillation on an entire neural network including the pruned backbone neural network and a head neural network of the original neural network.
  • the performing of the knowledge distillation on the entire neural network may include a first loss value of a first loss function that reduces a distance between backbone outputs of the teacher backbone neural network and the student backbone neural network, the teacher backbone neural network, and Until a total loss value formed by a weighted sum of a second loss value of a second loss function and a third loss value of a task loss function that reduces the distance between slopes of the backbone output of the student backbone neural network converges, the entire neural network learning can be characterized.
  • the knowledge distillation method may further include performing additional pruning on the head neural network when pruning of the head neural network of the student neural network is possible for the student neural network on which learning has been completed through the knowledge distillation. may further include.
  • the knowledge distillation method may further include retraining a student neural network in which additional pruning of the head neural network has been performed.
  • a computer program stored in a computer readable recording medium is provided in combination with a computer device to execute the method on the computer device.
  • a computer readable recording medium having a program for executing the method in a computer device is recorded.
  • It includes at least one processor implemented to execute instructions readable by a computer device, and pruning is performed on the backbone neural network included in the neural network model for weight reduction by the at least one processor, and the pruning is performed.
  • FIG. 1 is a block diagram illustrating an example of a computer device according to one embodiment of the present invention.
  • FIG. 2 is a block diagram showing an example of an internal configuration of a knowledge distillation system according to an embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating an example of a knowledge distillation method according to an embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating an example of a process of distilling knowledge for a backbone neural network according to an embodiment of the present invention.
  • 5 is a graph illustrating an example in which a student neural network learns a function different from a function expressed by a teacher for an unobserved sample.
  • a deep learning model lightweight system may be implemented by at least one computer device.
  • a computer program according to an embodiment of the present invention may be installed and driven in the computer device, and the computer device may perform the deep learning model weight reduction method according to the embodiments of the present invention under the control of the driven computer program.
  • the above-described computer program may be combined with a computer device and stored in a computer readable recording medium to execute a deep learning model lightweight method on a computer.
  • a computer device 100 includes a memory 110, a processor 120, a communication interface 130, and an I/O interface 140.
  • the memory 110 is a computer-readable recording medium and may include a random access memory (RAM), a read only memory (ROM), and a permanent mass storage device such as a disk drive.
  • RAM random access memory
  • ROM read only memory
  • a permanent mass storage device such as a disk drive.
  • a non-perishable mass storage device such as a ROM and a disk drive may be included in the computer device 100 as a separate permanent storage device distinct from the memory 110.
  • an operating system and at least one program code may be stored in the memory 110 .
  • These software components may be loaded into the memory 110 from a recording medium readable by a separate computer from the memory 110 .
  • the separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD/CD-ROM drive, and a memory card.
  • software components may be loaded into the memory 110 through the communication interface 130 rather than a computer-readable recording medium.
  • software components may be loaded into the memory 110 of the computer device 100 based on a computer program installed by files received through a network 160 .
  • the processor 120 may be configured to process commands of a computer program by performing basic arithmetic, logic, and input/output operations. Instructions may be provided to processor 120 by memory 110 or communication interface 130 . For example, processor 120 may be configured to execute received instructions according to program codes stored in a recording device such as memory 110 .
  • the communication interface 130 may provide a function for the computer device 100 to communicate with other devices through the network 160 .
  • a request, command, data, file, etc. generated according to a program code stored in a recording device such as the memory 110 by the processor 120 of the computer device 100 is transmitted to the network ( 160) to other devices.
  • signals, commands, data, files, etc. from other devices may be received by the computer device 100 via the communication interface 130 of the computer device 100 via the network 160 .
  • Signals, commands, data, etc. received through the communication interface 130 may be transmitted to the processor 120 or the memory 110, and files, etc. may be stored as storage media that the computer device 100 may further include (described above). permanent storage).
  • the input/output interface 140 may be a means for interface with the input/output device (I/O device, 150).
  • the input device may include a device such as a microphone, keyboard, or mouse
  • the output device may include a device such as a display or speaker.
  • the input/output interface 140 may be a means for interface with a device in which functions for input and output are integrated into one, such as a touch screen.
  • the input/output device 150 and the computer device 100 may be configured as one device.
  • computer device 100 may include fewer or more elements than those of FIG. 1 . However, there is no need to clearly show most of the prior art components.
  • the computer device 100 may be implemented to include at least a portion of the above-described input/output device 150 or may further include other components such as a transceiver and a database.
  • FIG. 2 is a block diagram showing an example of the internal configuration of a knowledge distillation system according to an embodiment of the present invention
  • FIG. 3 is a flowchart showing an example of a knowledge distillation method according to an embodiment of the present invention.
  • 4 is a flowchart illustrating an example of a process of distilling knowledge for a backbone neural network according to an embodiment of the present invention.
  • the knowledge distillation system 200 may be implemented by at least one computer device 100 .
  • the knowledge distillation system 200 of FIG. 2 may include a branching unit 210 , a knowledge distillation unit 220 and a relearning unit 230 .
  • the branching unit 210, the knowledge distillation unit 220, and the relearning unit 230 operate under the control of a computer program by the processor 120 of the computer device 100 implementing the knowledge distillation system 200. It can be a functional expression of a function that does.
  • the processor 120 of the computer device 100 may be implemented to execute control instructions according to codes of an operating system included in the memory 110 or codes of at least one computer program.
  • the processor 120 controls the computer device 100 so that the computer device 100 performs the steps 310 to 350 included in the method of FIG. 3 according to a control command provided by a code stored in the computer device 100. can control.
  • the pruning unit 210, the knowledge distillation unit 220, and the relearning unit 230 may be used as functional representations of the processor 120 for performing each of the steps 310 to 350.
  • the pruning unit 210 may perform pruning on the backbone neural network included in the neural network model for weight reduction.
  • the pruning method for the backbone neural network is not limited to a specific method and various methods may be used.
  • the neural network model can be reduced in weight by using a pruning method that removes channels of each layer of the backbone neural network.
  • the knowledge distillation unit 220 may perform knowledge distillation on the backbone neural network on which the pruning has been performed.
  • the original backbone neural network, which is not pruned may be set as the teacher backbone neural network
  • the lightweight neural network, which is pruned from the teacher backbone neural network may be set as the student backbone neural network.
  • the student backbone neural network generated as a result of pruning the teacher backbone neural network has feature 1 in which the student neural network and the teacher neural network share the same head neural network, and each layer of the student neural network has at least some parameters of the teacher neural network layer. It may include shared feature 2.
  • the teacher neural network (the original neural network) and the student neural network (the neural network to be generated by the knowledge distillation) share the same head neural network, and each layer of the student neural network is at least part of the layers of the teacher neural network. Pruning can be performed on the backbone neural network to share parameters.
  • steps 410 to 440 of FIG. 4 may be included in step 320 of FIG. 3 and performed by the knowledge distillation unit 220 for knowledge distillation of the backbone neural network.
  • the knowledge distillation unit 220 may distill the quality information of the teacher backbone neural network for the input into the student backbone neural network.
  • the student neural network and the teacher neural network share the same head neural network, similar generalization performance can be obtained when the output representation of the student backbone neural network matches the output representation of the teacher backbone neural network for training data.
  • a loss function that reduces the distance of the backbone outputs of the two neural networks (student neural network and teacher neural network) during knowledge distillation may be used as shown in Equation 1 below.
  • 'o' may mean output feature information (features) of the backbone neural network for the input
  • 't' and 's' may mean outputs for the teacher neural network and the student neural network, respectively.
  • “o t ” may mean output feature information of the teacher backbone neural network
  • “o s ” may mean output feature information of the student backbone neural network.
  • n ' may mean a norm. For example, if n is 2, it may mean a Euclidean norm. Equation 1 is only one example of a distance calculation function, but is not limited thereto.
  • the teacher By distilling the feature information by passing the output of the neural network (output of the teacher backbone network) directly to the student backbone neural network without transformation, the pruned student neural network can more closely mimic the behavior of the teacher neural network.
  • the conventional knowledge distillation method delivered outputs from multiple intermediate layers together, but it may be difficult to accommodate all of them because the expressive ability of the pruned neural network is reduced, resulting in restrictions on the intermediate layer. It can be difficult to make the student neural network backbone output identical to the teacher neural network backbone. Therefore, in the knowledge distillation method according to the present embodiment, the output of the backbone neural network can be the same regardless of the intermediate result by transferring only the final output of the backbone to remove restrictions on the result of the intermediate layer and increasing the degree of freedom as much as possible. This can also help the pruned student network more closely mimic the behavior of the teacher network.
  • step 420 the knowledge distillation unit 220 distills gradient information of an output of the teacher backbone neural network according to a change in input into the student backbone neural network. Since the knowledge distillation proceeds only for the training samples, the student neural network can learn a function different from the function expressed by the teacher neural network for the unobserved samples.
  • 5 is a graph illustrating an example in which a student neural network learns a function different from a function expressed by a teacher for an unobserved sample.
  • the output change (gradient) of the teacher backbone neural network according to the input change is applied to the student backbone neural network.
  • Gradient matching may be performed to be the same for When gradient matching is performed, for small changes to the input (samples not used in training), the teacher network and the student network can have nearly identical backbone outputs, making the pruned student network more similar to the behavior of the teacher network. We can help you imitate. Gradient matching can be learned more easily when the parameters of the two neural networks (student neural network and teacher neural network) are similar.
  • Gradient matching may be performed, for example, through the loss function of Equation 2 below.
  • 'o' may mean output feature information (features) of the backbone neural network for the input
  • 't' and 's' may mean outputs for the teacher neural network and the student neural network, respectively.
  • “o t ” may mean output feature information of the teacher backbone neural network
  • “o s ” may mean output feature information of the student backbone neural network.
  • n ' may mean a norm. For example, if n is 2, it may mean a Euclidean norm. Equation 2 is also an example of a distance calculation function, but is not limited thereto.
  • a method of performing gradient matching only for samples with high uncertainty may be used to solve this problem.
  • An example of a sample with high uncertainty may be a case in which the entropy of the distribution of a class for an input in a classification problem is low and cannot be classified into a specific class with certainty.
  • both the student neural network and the teacher neural network can be trained to give correct answers, but the sample with high uncertainty may not. Therefore, the performance of the student model can be improved by making the student model imitate the behavior of the teacher model, which is known to have better generalization performance for samples with high uncertainty.
  • r% of learning samples with a large value of the task loss function (eg, cross-entropy for classification problems) of the teacher model for the learning data can be examples of samples with high uncertainty.
  • Equation 3 below may be used instead of Equation 2 for gradient matching for samples with high uncertainty.
  • U may mean a set of samples determined to have high uncertainty through the teacher neural network. For example, among samples of training data, samples having a value of a task loss function of an original neural network (teacher neural network) equal to or greater than a threshold value may be included in the set “ U ”.
  • the knowledge distillation unit 220 may perform knowledge distillation on unobserved data in the training data.
  • data not observed in the training data may refer to data that has not been used both during training of the teacher neural network model and during knowledge distillation.
  • gradient matching guarantees output consistency only for small changes in the input, outputs may still not match for large changes.
  • knowledge distillation between the teacher backbone neural network and the student backbone neural network may be performed by generating samples with high uncertainty through a CutMix data augmentation technique.
  • the knowledge distillation method according to the present embodiment uses the aforementioned cutmix data augmentation when generating unobserved data. can be used
  • cut-mix data augmentation technique it is first possible to check which class the neural network is confused with for each input through the output of the teacher neural network. This can be done for the efficiency of sample use in that uncertainty is difficult to occur between classes that have no relationship at all. At this time, some data between the confused classes can be mixed through cutmix. For example, in the case of image classification, a patch corresponding to a cat's body and a dog's head is combined, and in case of object detection, a cut-mix is performed by combining patches as in the above example within the bounding box of the correct answer. there is.
  • the knowledge distillation unit 220 may perform learning of the student backbone neural network. If all neural networks including the head are trained from the beginning of training, the parameter values of the head change greatly and the meaning of matching backbone outputs may be lost. To this end, in the knowledge distillation method according to the present embodiment, a method of first learning the backbone may be used. Learning on the student backbone neural network may proceed until the student backbone neural network converges according to Equation 4 below.
  • ' ⁇ ' and ' ⁇ ' may be weights for each loss function.
  • the knowledge distillation unit 220 determines the first loss value (L feature ) of the first loss function that reduces the distance between the backbone outputs of the teacher backbone neural network and the student backbone neural network, and the slopes of the backbone outputs of the teacher backbone neural network and the student backbone neural network.
  • the student backbone neural network may be trained until the total loss (L backbonl ) value formed by the weighted sum of the second loss values (L grad ) of the second loss function that reduces the distance between them converges.
  • the knowledge distillation unit 220 may perform knowledge distillation on the entire neural network including the pruned backbone neural network and the head neural network of the original neural network.
  • the knowledge distillation in the above step if the features from the backbone of the student neural network closely match those of the teacher neural network for the training sample and the unobserved sample, then the head of the student neural network can solve the task better.
  • Learning may be performed by adding a task loss function as shown in Equation 5 below.
  • 'L taste ' may be a loss function for a given task (eg, cross entropy for a classification problem), and similarly, ' ⁇ ', ' ⁇ ', and ' ⁇ ' may be weights for each loss function. . In this case, ' ⁇ ' and ' ⁇ ' may or may not be the same as the weights of Equation 4 above.
  • the knowledge distillation unit 220 determines the first loss value (L feature ) of the first loss function that reduces the distance between the backbone outputs of the teacher backbone neural network and the student backbone neural network, and the slopes of the backbone outputs of the teacher backbone neural network and the student backbone neural network.
  • the entire Neural networks can be trained.
  • the pruning unit 210 may perform additional model compression by performing additional pruning of the head neural network, if pruning of the head neural network is possible for the student neural network for which learning has been completed.
  • the re-learning unit 230 may perform re-learning for performance recovery after pruning the head neural network.
  • the re-learning method is not limited to a specific learning method and may be performed through any one or more of various learning methods.
  • the behavior of the teacher neural network is more diverse by utilizing the characteristics of the pruned neural network, rather than the conventionally proposed general knowledge distillation method. By imitating it, the degree of performance restoration can be improved.
  • the system or device described above may be implemented as a hardware component or a combination of hardware components and software components.
  • devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions.
  • the processing device may run an operating system (OS) and one or more software applications running on the operating system.
  • a processing device may also access, store, manipulate, process, and generate data in response to execution of software.
  • the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include.
  • a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.
  • Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. You can command the device.
  • Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device.
  • can be embodied in Software may be distributed on networked computer systems and stored or executed in a distributed manner.
  • Software and data may be stored on one or more computer readable media.
  • the method according to the embodiment may be implemented in the form of program instructions that can be executed through 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 medium may continuously store programs executable by a computer or temporarily store them for execution or download.
  • the medium may be various recording means or storage means in the form of a single or combined hardware, but is not limited to a medium directly connected to a certain computer system, and may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROM and DVD, magneto-optical media such as floptical disks, and ROM, RAM, flash memory, etc.
  • examples of other media include recording media or storage media managed by an app store that distributes applications, a site that supplies or distributes various other software, and a server.
  • Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Vaporization, Distillation, Condensation, Sublimation, And Cold Traps (AREA)

Abstract

가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템을 개시한다. 일실시예에 따른 지식 증류 방법은, 경량화를 위한 신경망 모델이 포함하는 백본 신경망에 대한 가지치기를 수행하는 단계 및 가지치기가 수행된 백본 신경망에 대한 지식 증류를 수행하는 단계를 포함할 수 있다. 이때, 지식 증류를 수행하는 단계는, 입력에 대한 원본 신경망의 백본 신경망인 교사 백본 신경망의 자질정보를 상기 가지치기가 수행된 백본 신경망인 학생 백본 신경망으로 증류하는 단계를 포함할 수 있다.

Description

가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템
아래의 설명은 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 그 시스템에 관한 것이다.
리소스 크기가 상대적으로 작은 온 디바이스(on-device, 일례로 스마트 폰, 지능형 소형 가전 기기 등)에 심층 신경망 모델을 적재하기 위해서는 모델 경량화가 필수적으로 수반된다. 경량화 기법 중 하나로 사용되는 신경망 가지치기(neural network pruning) 기법은 특정 태스크를 수행하는데 있어 신경망에 수반된 잉여 뉴런을 제거함으로써 모델의 크기를 줄이는 기법이다. 가지치기 기법은 일반적으로 각 뉴런의 중요도 점수를 측정하고, 주어진 기준(일례로, 중요도 점수의 임계치, 신경망 레이어 별 가지치기 비율 등)에 따라 중요도가 상대적으로 낮은 뉴런을 제거한 후, 손실된 성능을 복원하기 위한 재 학습의 순서로 진행된다.
신경망은 크게 입력된 샘플로부터 주어진 태스크(분류(classification), 객체 탐지(object detection), 이미지 객체 영역 분할(image segmentation) 등)를 수행하기 위한 자질정보(특징(features))를 추출하는 백본(backbone) 신경망과, 백본 신경망의 자질정보를 입력으로 하여 주어진 태스크를 수행하는 헤드(head) 신경망으로 구성되어 있다. 헤드 신경망에 대한 가지치기 방법은 태스크를 수행하기 위해 사용되는 알고리즘 또는 구조에 특화되어 있거나, 상대적인 연구 비중이 낮아 상황에 따라 가지치기 적용이 불가능한 경우가 많은 반면, 백본 신경망의 경우 알고리즘이 아닌 신경망 내부의 독립적인 레이어의 유형에 따라 상대적으로 다양한 방법들이 적용될 수 있어 일반적으로 가지치기 적용이 가능하다. 따라서 일반적으로 가지치기는 주로 백본 신경망을 주요 대상으로 한다.
한편, 지식 증류 방법은 일반화 성능이 좋은 교사 신경망(teacher neural network)의 지식(일례로, 신경망의 출력, 신경망 레이어들의 자질정보 등)을 추출하고, 상대적으로 일반화 성능이 낮은 학생 신경망(student neural network)이 해당 지식을 모방하게 하여 학생 신경망의 일반화 성능을 개선시키는 학습 방법론이다. 일반적으로 더 큰 크기의 신경망(over-parameterized neural network)의 일반화 성능이 작은 크기의 신경망보다 우수하기 때문에, 큰 신경망의 지식을 일반화 성능이 상대적으로 낮은 학생 신경망에 전달하여 큰 성능 저하 없이 모델을 경량화 시키는 과정에 사용될 수 있다. 특히 지식 증류 기법을 통해 학생 신경망의 일반화 성능을 목표 수준 이상으로 더 개선시킬 수 있다면, 개선된 정도만큼 성능 저하 현상이 수반되는 가지치기를 추가적으로 수행할 수 있으므로, 경량화의 정도를 더욱 개선시킬 수 있다.
가지치기 이후 지식 증류를 통한 성능 복원에 주로 일반적인 지식 증류 방법((예: 신경망의 출력, 신경망 레이어들의 자질정보를 이용)만이 사용되었으며, 가지치기 된 신경망이 교사 신경망의 행동을 더욱 모방할 수 있는 특화된 방법론들에 대해서는 논의가 부족한 상황이다.
가지치기 이후의 신경망 성능 복원을 위한 재 학습시 기존에 제안된 일반적인 지식 증류 방법이 아닌, 가지치기 된 신경망의 특징을 활용하여 교사 신경망의 행동을 더 다양하게 모방하여 성능 복원 정도를 개선시킬 수 있는 지식 증류 방법 및 시스템을 제공한다.
적어도 하나의 프로세서를 포함하는 컴퓨터 장치에 의해 수행되는 지식 증류 방법에 있어서, 상기 적어도 하나의 프로세서에 의해, 경량화를 위한 신경망 모델이 포함하는 백본 신경망에 대한 가지치기를 수행하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 가지치기가 수행된 백본 신경망에 대한 지식 증류를 수행하는 단계를 포함하고, 상기 지식 증류를 수행하는 단계는, 입력에 대한 원본 신경망의 백본 신경망인 교사 백본 신경망의 자질정보를 상기 가지치기가 수행된 백본 신경망인 학생 백본 신경망으로 증류하는 단계를 포함하는 것을 특징으로 하는 지식 증류 방법을 제공한다.
일측에 따르면, 상기 가지치기를 수행하는 단계는, 상기 원본 신경망과 상기 지식 증류에 의해 생성된 학생 신경망이 동일한 헤드 신경망을 공유하고, 상기 학생 신경망의 각 레이어가 상기 원본 신경망의 레이어의 적어도 일부의 파라미터를 공유하도록 상기 백본 신경망에 대한 가지치기를 수행하는 것을 특징으로 할 수 있다.
다른 측면에 따르면, 상기 자질정보를 증류하는 단계는, 상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력간의 거리를 줄이는 손실함수를 이용하여 상기 자질정보를 상기 학생 백본 신경망으로 증류하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 자질정보를 증류하는 단계는, 상기 교사 백본 신경망의 출력을 변환 없이 상기 학생 백본 신경망에 전달하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 자질정보를 증류하는 단계는, 상기 원본 신경망의 중간 레이어에서의 출력을 제외한 상기 교사 백본 신경망의 최종 출력만을 상기 학생 백본 신경망에 전달하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 지식 증류를 수행하는 단계는, 입력의 변화에 따른 상기 교사 백본 신경망의 출력의 변화량(gradient) 정보를 상기 학생 백본 신경망으로 증류하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 출력의 변화량 정보를 증류하는 단계는, 상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력의 기울기간의 거리를 줄이는 손실함수를 이용하여 상기 변화량 정보를 상기 학생 백본 신경망으로 증류하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 출력의 변화량 정보를 증류하는 단계는, 학습 데이터의 샘플 중에서 불확실성에 기반하여 선정된 샘플들의 집합을 입력받아, 상기 집합에 포함된 샘플에 대한 상기 교사 백본 신경망의 출력의 변화량 정보를 상기 학생 백본 신경망으로 증류하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 불확실성에 기반하여 선정된 샘플들은 상기 학습 데이터의 샘플들 중 상기 원본 신경망의 태스크 손실함수의 값이 큰 r(상기 r은 실수)%의 샘플들을 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 지식 증류를 수행하는 단계는, 학습 데이터에서 관측되지 않은 데이터에 대한 지식 증류를 수행하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 학습 데이터에서 관측되지 않은 데이터에 대한 지식 증류를 수행하는 단계는, 컷믹스 데이터 증강(CutMix data augmentation) 기법을 통해 불확실성이 임계값 이상인 샘플을 생성하여 상기 교사 백본 신경망과 상기 학생 백본 신경망간의 지식 증류를 수행하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 지식 증류를 수행하는 단계는, 상기 학생 백본 신경망의 학습을 수행하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 학생 백본 신경망의 학습을 수행하는 단계는, 상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력간의 거리를 줄이는 제1 손실함수의 제1 손실값과 상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력의 기울기간의 거리를 줄이는 제2 손실함수의 제2 손실값간의 가중합으로 형성되는 백본 신경망에 대한 손실값이 수렴될 때까지, 상기 학생 백본 신경망을 학습하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 지식 증류 방법은 상기 가지치기가 수행된 백본 신경망 및 상기 원본 신경망의 헤드 신경망을 포함하는 전체 신경망에 대한 지식 증류를 수행하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 전체 신경망에 대해 지식 증류를 수행하는 단계는, 상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력간의 거리를 줄이는 제1 손실함수의 제1 손실값, 상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력의 기울기간의 거리를 줄이는 제2 손실함수의 제2 손실값 및 태스크 손실함수의 제3 손실값간의 가중합으로 형성되는 전체 손실값이 수렴될 때까지, 상기 전체 신경망을 학습하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 지식 증류 방법은 상기 지식 증류를 통해 학습이 완료된 학생 신경망에 대해서, 상기 학생 신경망의 헤드 신경망에 대한 가지치기가 가능한 경우, 상기 헤드 신경망에 대한 추가적인 가지치기를 수행하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 지식 증류 방법은 상기 헤드 신경망에 대한 추가적인 가지치기가 수행된 학생 신경망을 재학습하는 단계를 더 포함할 수 있다.
컴퓨터 장치와 결합되어 상기 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.
상기 방법을 컴퓨터 장치에 실행시키기 위한 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체를 제공한다.
컴퓨터 장치에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 경량화를 위한 신경망 모델이 포함하는 백본 신경망에 대한 가지치기를 수행하고, 가지치기가 수행된 백본 신경망에 대한 지식 증류를 수행하고, 상기 지식 증류를 수행하기 위해, 상기 적어도 하나의 프로세서에 의해, 입력에 대한 원본 신경망의 백본 신경망인 교사 백본 신경망의 자질 및/또는 변화량 정보를 상기 가지치기가 수행된 백본 신경망인 학생 백본 신경망으로 증류하는 것을 특징으로 하는 컴퓨터 장치를 제공한다.
가지치기 이후의 신경망 성능 복원을 위한 재 학습시 기존에 제안된 일반적인 지식 증류 방법이 아닌, 가지치기 된 신경망의 특징을 활용하여 교사 신경망의 행동을 더 다양하게 모방하여 성능 복원 정도를 개선시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다.
도 2는 본 발명의 일실시예에 따른 지식 증류 시스템의 내부 구성의 예를 도시한 블록도이다.
도 3은 본 발명의 일실시예에 따른 지식 증류 방법의 예를 도시한 흐름도이다.
도 4는 본 발명의 일실시예에 있어서, 백본 신경망에 대한 지식 증류의 과정의 예를 도시한 흐름도이다.
도 5는 관측되지 않은 샘플에 대해서 학생 신경망이 교사가 표현하는 함수와 상이한 함수를 학습한 예를 도시한 그래프이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
본 발명의 실시예들에 따른 딥러닝 모델 경량화 시스템은 적어도 하나의 컴퓨터 장치에 의해 구현될 수 있다. 이때, 컴퓨터 장치에는 본 발명의 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치는 구동된 컴퓨터 프로그램의 제어에 따라 본 발명의 실시예들에 따른 딥러닝 모델 경량화 방법을 수행할 수 있다. 상술한 컴퓨터 프로그램은 컴퓨터 장치와 결합되어 딥러닝 모델 경량화 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.
도 1은 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다. 컴퓨터 장치(Computer device, 100)는 도 1에 도시된 바와 같이, 메모리(Memory, 110), 프로세서(Processor, 120), 통신 인터페이스(Communication interface, 130) 그리고 입출력 인터페이스(I/O interface, 140)를 포함할 수 있다. 메모리(110)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(110)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 장치(100)에 포함될 수도 있다. 또한, 메모리(110)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(110)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(110)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(130)를 통해 메모리(110)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(Network, 160)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 장치(100)의 메모리(110)에 로딩될 수 있다.
프로세서(120)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(110) 또는 통신 인터페이스(130)에 의해 프로세서(120)로 제공될 수 있다. 예를 들어 프로세서(120)는 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 인터페이스(130)은 네트워크(160)를 통해 컴퓨터 장치(100)가 다른 장치와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 장치(100)의 프로세서(120)가 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(130)의 제어에 따라 네트워크(160)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(160)를 거쳐 컴퓨터 장치(100)의 통신 인터페이스(130)를 통해 컴퓨터 장치(100)로 수신될 수 있다. 통신 인터페이스(130)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(120)나 메모리(110)로 전달될 수 있고, 파일 등은 컴퓨터 장치(100)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.
입출력 인터페이스(140)는 입출력 장치(I/O device, 150)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(140)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(150)는 컴퓨터 장치(100)와 하나의 장치로 구성될 수도 있다.
또한, 다른 실시예들에서 컴퓨터 장치(100)는 도 1의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(100)는 상술한 입출력 장치(150) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
도 2는 본 발명의 일실시예에 따른 지식 증류 시스템의 내부 구성의 예를 도시한 블록도이고, 도 3은 본 발명의 일실시예에 따른 지식 증류 방법의 예를 도시한 흐름도이다. 또한, 도 4는 본 발명의 일실시예에 있어서, 백본 신경망에 대한 지식 증류의 과정의 예를 도시한 흐름도이다.
본 실시예에 따른 지식 증류 시스템(200)은 적어도 하나의 컴퓨터 장치(100)에 의해 구현될 수 있다. 도 2의 지식 증류 시스템(200)은 가지치기부(210), 지식 증류부(220) 및 재학습부(230)를 포함할 수 있다. 이때, 가지치기부(210), 지식 증류부(220) 및 재학습부(230)는 지식 증류 시스템(200)을 구현하는 컴퓨터 장치(100)의 프로세서(120)가 컴퓨터 프로그램의 제어에 따라 동작하는 기능의 기능적 표현(functional expression)일 수 있다. 일례로, 컴퓨터 장치(100)의 프로세서(120)는 메모리(110)가 포함하는 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(120)는 컴퓨터 장치(100)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(100)가 도 3의 방법이 포함하는 단계들(310 내지 350)을 수행하도록 컴퓨터 장치(100)를 제어할 수 있다. 이때, 각 단계들(310 내지 350)의 수행을 위한 프로세서(120)의 기능적 표현으로서 가지치기부(210), 지식 증류부(220) 및 재학습부(230)가 사용될 수 있다.
단계(310)에서 가지치기부(210)는 경량화를 위한 신경망 모델이 포함하는 백본 신경망에 대한 가지치기를 수행할 수 있다. 이때 백본 신경망에 대한 가지치기 방식은 특정 방법에 국한되지 않고 다양한 방식이 사용될 수 있다. 일례로, 합성곱 신경망(convolutional neural network, CNN)을 백본 신경망으로 포함하는 신경망 모델의 경우, 백본 신경망의 각 레이어의 채널들을 제거하는 가지치기 방식을 사용하여 신경망 모델을 경량화 할 수 있다.
단계(320)에서 지식 증류부(220)는 가지치기가 수행된 백본 신경망에 대한 지식 증류를 수행할 수 있다. 일례로, 가지치기가 수행되지 않은 원본 백복 신경망을 교사 백본 신경망으로, 상기 교사 백본 신경망으로부터 가지치기가 수행된 경량화된 신경망을 학생 백본 신경망으로 설정할 수 있다.
이때, 교사 백본 신경망에 대한 가지치기의 수행 결과로 발생되는 학생 백본 신경망은 학생 신경망과 교사 신경망이 동일한 헤드 신경망을 공유하게 되는 특징 1과 학생 신경망의 각 레이어가 교사 신경망 레이어의 적어도 일부의 파라미터를 공유하는 특징 2를 포함할 수 있다. 다시 말해, 지식 증류부(220)는 교사 신경망(원본 신경망)과 학생 신경망(지식 증류에 의해 생성될 신경망)이 동일한 헤드 신경망을 공유하고, 학생 신경망의 각 레이어가 교사 신경망의 레이어의 적어도 일부의 파라미터를 공유하도록 백본 신경망에 대한 가지치기를 수행할 수 있다.
도 4를 참조하면, 도 4의 단계들(410 내지 440)이 백본 신경망에 대한 지식 증류를 위해 도 3의 단계(320)에 포함되어 지식 증류부(220)에 의해 수행될 수 있다.
단계(410)에서 지식 증류부(220)는 입력에 대한 교사 백본 신경망의 자질정보를 학생 백본 신경망으로 증류할 수 있다. 상술한 특징 1에 따라 학생 신경망과 교사 신경망은 동일한 헤드 신경망을 공유하기 때문에 학습 데이터에 대해서 학생 백본 신경망의 출력 표현이 교사 백본 신경망의 출력 표현과 일치할 경우 유사한 일반화 성능을 얻을 수 있다. 이를 위해서 지식 증류 시 두 신경망(학생 신경망 및 교사 신경망)의 백본 출력의 거리를 줄이는 손실함수가 아래 수학식 1과 같이 사용될 수 있다.
[수학식 1]
Figure PCTKR2021011609-appb-img-000001
여기서 'o'는 입력에 대한 백본 신경망의 출력 자질정보(특징(features))를 의미할 수 있으며, 't' 및 's'는 각각 교사 신경망 및 학생 신경망에 대한 출력임을 의미할 수 있다. 일례로, "ot"는 교사 백본 신경망의 출력 자질정보를, "os"는 학생 백본 신경망의 출력 자질정보를 각각 의미할 수 있다. 또한, '||.||n'는 노름(norm)을 의미할 수 있다. 일례로, n이 2이면 유클리디안 노름(Euclidean norm)을 의미할 수 있다. 이러한 수학식 1은 거리 계산 함수의 하나의 예시일 뿐 이에 한정되는 것은 아니다.
종래의 지식 증류 방식은 교사 신경망과 학생 신경망간의 출력 차원이 다르기 때문에, 교사 신경망의 출력을 더 작은 차원으로 비선형 변환하여 전달함으로써, 정보 손실이 발생할 수 있으나, 본 실시예에 따른 지식 증류 방법에서는 교사 신경망의 출력(교사 백본 신경망의 출력)을 변환 없이 직접 학생 백본 신경망에 전달하는 방식으로 자질정보를 증류함으로써 가지치기가 수행된 학생 신경망이 교사 신경망의 행동을 더욱 유사하게 모방할 수 있다.
또한, 종래의 지식 증류 방식은 다수의 중간 레이어에서의 출력들도 함께 전달하였으나, 가지치기 된 신경망은 레이어의 표현 능력이 저하되기 때문에 이를 모두 수용하기 어려울 수 있으며, 결과적으로 중간 레이어에 대한 제약이 교사 신경망의 백본과 동일한 학생 신경망 백본 출력을 만들기 어려울 수 있다. 따라서 본 실시예에 따른 지식 증류 방법에서는 백본에 대한 최종 출력만 전달하여 중간 레이어의 결과에 대한 제약을 없애고 최대한 자유도를 높임으로써 중간 결과물에 관계없이 백본 신경망의 출력을 동일하게 할 수 있다. 이는 또한 가지치기가 수행된 학생 신경망이 교사 신경망의 행동을 더욱 유사하게 모방할 수 있게 도와줄 수 있다.
단계(420)에서 지식 증류부(220)는 입력의 변화에 따른 교사 백본 신경망의 출력의 변화량(gradient) 정보를 학생 백본 신경망으로 증류할 수 있다. 지식 증류는 학습 샘플들에 대해서만 진행되기 때문에 관측되지 않은 샘플에 대해서 학생 신경망은 교사 신경망이 표현하는 함수와 상이한 함수를 학습할 수 있다. 도 5는 관측되지 않은 샘플에 대해서 학생 신경망이 교사가 표현하는 함수와 상이한 함수를 학습한 예를 도시한 그래프이다.
지식 증류에 사용되지 않은 샘플들에 대해서도 교사와 동일한 출력이 유지될 수 있는 한 가지 방법으로 본 실시예에 따른 지식 증류 방법에서는 입력 변화에 따른 교사 백본 신경망의 출력 변화량(gradient)이 학생 백본 신경망에 대해서도 동일할 수 있도록 기울기 매칭(gradient matching)을 수행할 수 있다. 기울기 매칭이 수행되면 입력에 대한 작은 변화(학습 시 사용되지 않은 샘플)에 대해서 교사 신경망 및 학생 신경망이 거의 동일한 백본 출력을 가질 수 있어 가지치기가 수행된 학생 신경망이 교사 신경망의 행동을 더욱 유사하게 모방할 수 있게 도와줄 수 있다. 기울기 매칭은 두 신경망(학생 신경망 및 교사 신경망)의 파라미터가 유사할수록 더 쉽게 학습될 수 있다. 따라서, 두 신경망의 파라미터의 차이가 클수록 기울기 매칭이 특정 학습 기간내에 이뤄질 수 없다. 그러나, 특징 2에서 서술된 바와 같이, 본 실시예에 따른 지식 증류 방법에서는 학생 신경망의 각 레이어가 교사 신경망의 레이어의 일부 파라미터를 공유하기 때문에 가지치기가 수행된 학생 신경망은 파라미터를 공유하지 않은 신경망과 비교했을 때 동일한 학습 기간내에 기울기 매칭의 정도가 높아 질 수 있다.
기울기 매칭은 일례로 아래 수학식 2의 손실함수를 통해 수행될 수 있다.
[수학식 2]
Figure PCTKR2021011609-appb-img-000002
여기서, 'o'는 입력에 대한 백본 신경망의 출력 자질정보(특징(features))를 의미할 수 있으며, 't' 및 's'는 각각 교사 신경망 및 학생 신경망에 대한 출력임을 의미할 수 있다. 일례로, "ot"는 교사 백본 신경망의 출력 자질정보를, "os"는 학생 백본 신경망의 출력 자질정보를 각각 의미할 수 있다. 또한, '||.||n'는 노름(norm)을 의미할 수 있다. 일례로, n이 2이면 유클리디안 노름(Euclidean norm)을 의미할 수 있다. 이러한 수학식 2 역시 거리 계산 함수의 하나의 예시일 뿐 이에 한정되는 것은 아니다.
데이터의 양이 증가하면 학습 시 기울기 매칭의 정도가 낮아지므로, 본 실시예에 따른 지식 증류 방법에서는 이를 해결하기 위해 불확실성이 높은 샘플에 대해서만 기울기 매칭을 수행하는 방식을 사용할 수 있다. 불확실성이 높은 샘플의 예시는 분류 문제에서 입력에 대한 클래스의 분포의 엔트로피가 낮아 확실하게 특정 클래스로 분류하지 못하는 케이스가 될 수 있다. 불확실성이 낮은 샘플의 경우 학생 신경망과 교사 신경망 모두 정답을 맞출 수 있도록 학습될 수 있으나, 불확실성이 높은 샘플은 그렇지 못할 수 있다. 따라서, 불확실성이 높은 샘플에 대해서 일반화 성능이 더 좋다고 알려진 교사 모델의 행동을 학생 모델이 모방하도록 하여 학생 모델의 성능을 개선할 수 있다. 보다 구체적인 예로, 학습 데이터에 대해서 교사 모델의 태스크 손실함수(일례로, 분류 문제를 위한 크로스 엔트로피(cross-entropy))의 값이 큰 r%의 학습 샘플이 불확실성이 높은 샘플의 예시가 될 수 있다. 본 실시예에 따른 지식 증류 방법에서는 불확실성이 높은 샘플에 대한 기울기 매칭을 위해 수학식 2 대신 아래 수학식 3을 사용할 수 있다.
[수학식 3]
Figure PCTKR2021011609-appb-img-000003
여기서 "U"는 교사 신경망을 통해 불확실성이 높다고 판단된 샘플들의 집합을 의미할 수 있다. 일례로, 학습 데이터의 샘플 중 원본 신경망(교사 신경망)의 태스크 손실함수의 값이 임계값 이상인 샘플들이 집합 "U"에 포함될 수 있다.
단계(430)에서 지식 증류부(220)는 학습 데이터에서 관측되지 않은 데이터에 대한 지식 증류를 수행할 수 있다. 앞서 설명한 바와 같이 지식 증류는 학습 샘플에 대해서만 진행되기 때문에 학습 샘플에서 관찰되지 않은 데이터에 대해서는 교사 신경망 모델과 다른 백본 출력을 생성할 수 있다. 여기서 학습 데이터(또는 학습 샘플)에서 관찰되지 않은 데이터는 교사 신경망 모델의 학습과 지식 증류시 모두 사용되지 않았던 데이터를 의미할 수 있다. 또한 기울기 매칭은 입력의 작은 변화에 대해서만 출력 일치성을 보장하기 때문에 큰 변화에 대해서는 여전히 출력이 일치하지 않을 수 있다. 이러한 문제를 해결하기 위해 본 실시예에 따른 지식 증류 방법에서는 컷믹스 데이터 증강(CutMix data augmentation) 기법을 통해 불확실성이 높은 샘플을 생성하여 교사 백본 신경망과 학생 백본 신경망간의 지식 증류를 진행할 수 있다. 이미 설명한 바와 같이 불확실성이 높은 샘플에 대해 교사 신경망의 우수한 처리 능력을 모방하는 것이 성능 개선에 크게 기여할 수 있기 때문에 본 실시예에 따른 지식 증류 방법에서는 관측되지 않은 데이터 생성시 상술한 컷믹스 데이터 증강을 사용할 수 있다.
컷믹스 데이터 증강 기법을 사용하기 위해 우선 신경망이 각 입력에 대한 클래스가 어떤 클래스와 혼동을 많이 하는지를 교사 신경망의 출력을 통해 확인할 수 있다. 이는 전혀 관계가 없는 클래스 간에서는 불확실성이 발생되기 어렵다는 점에서 샘플 사용의 효율성을 위해 수행될 수 있다. 이때, 컷믹스를 통해 혼동되는 클래스 사이의 일부 데이터를 섞을 수 있다. 예를 들어, 이미지 분류의 경우 고양이의 몸과 강아지의 머리에 해당하는 패치를 결합하여 객체 탐지의 경우 정답 바운딩 박스(bounding box)내에서 상기 예시와 같은 패치 결합을 수행함으로써 컷믹스가 수행될 수 있다.
단계(440)에서 지식 증류부(220)는 학생 백본 신경망의 학습을 수행할 수 있다. 학습 초기부터 헤드를 포함한 모든 신경망을 학습할 경우 헤드의 파라미터 값이 크게 변하여 백본 출력을 일치시키는 의미를 상실할 수 있다. 이를 위해 본 실시예에 따른 지식 증류 방법에서는 백본을 우선 학습시키는 방식을 사용할 수 있다. 학생 백본 신경망에 대한 학습은 학생 백본 신경망이 아래 수학식 4에 따라 수렴될 때까지 진행될 수 있다.
[수학식 4]
Figure PCTKR2021011609-appb-img-000004
여기서, 'α'와 'β'는 각 손실함수에 대한 가중치일 수 있다. 다시 말해, 지식 증류부(220)는 교사 백본 신경망 및 학생 백본 신경망의 백본 출력간의 거리를 줄이는 제1 손실함수의 제1 손실값(Lfeature) 및 교사 백본 신경망 및 학생 백본 신경망의 백본 출력의 기울기간의 거리를 줄이는 제2 손실함수의 제2 손실값(Lgrad)간의 가중합으로 형성되는 전체 손실(Lbackbonl)값이 수렴될 때까지, 학생 백본 신경망을 학습할 수 있다.
단계(330)에서 지식 증류부(220)는 가지치기가 수행된 백본 신경망 및 원본 신경망의 헤드 신경망을 포함하는 전체 신경망에 대한 지식 증류를 수행할 수 있다. 전술된 단계에서의 지식 증류를 통해, 학습 샘플 및 관측되지 않은 샘플에 대해서 학생 신경망의 백본으로부터의 자질정보가 교사 신경망의 자질정보와 거의 일치해졌다면, 학생 신경망의 헤드가 태스크를 더 잘 해결할 수 있도록 아래 수학식 5와 같이 태스크 손실함수를 추가하여 학습을 진행할 수 있다.
[수학식 5]
Figure PCTKR2021011609-appb-img-000005
여기서, 'Ltast'는 주어진 태스크에 대한 손실함수(일례로, 분류 문제를 위한 크로스 엔트로피)일 수 있으며, 마찬가지로 'α', 'β', 'γ'는 각 손실함수에 대한 가중치일 수 있다. 이때, 'α', 'β'는 앞서 수학식 4의 가중치와 동일할 수도 있고, 동일하지 않을 수도 있다. 다시 말해, 지식 증류부(220)는 교사 백본 신경망 및 학생 백본 신경망의 백본 출력간의 거리를 줄이는 제1 손실함수의 제1 손실값(Lfeature), 교사 백본 신경망 및 학생 백본 신경망의 백본 출력의 기울기간의 거리를 줄이는 제2 손실함수의 제2 손실값(Lgrad) 및 태스크 손실함수의 제3 손실값(Ltask)간의 가중합으로 형성되는 전체 손실값(Ltotal)이 수렴될 때까지, 전체 신경망을 학습할 수 있다.
단계(340)에서 가지치기부(210)는 학습이 완료된 학생 신경망에 대해서 헤드 신경망에 대한 가지치기가 가능한 경우, 추가적인 헤드 신경망 가지치기를 수행하여 추가적인 모델 압축을 수행할 수 있다.
단계(350)에서 재학습부(230)는 헤드 신경망 가지치기 이후 성능 복원을 위한 재학습을 수행할 수 있다. 이때 재학습 방식은 특정 학습 방식으로 제한되지 않고 다양한 학습 방식들 중 어느 하나 이상을 통해 수행될 수 있다.
이처럼, 본 발명의 실시예들에 따르면, 가지치기 이후의 신경망 성능 복원을 위한 재 학습시 기존에 제안된 일반적인 지식 증류 방법이 아닌, 가지치기 된 신경망의 특징을 활용하여 교사 신경망의 행동을 더 다양하게 모방하여 성능 복원 정도를 개선시킬 수 있다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (20)

  1. 적어도 하나의 프로세서를 포함하는 컴퓨터 장치에 의해 수행되는 지식 증류 방법에 있어서,
    상기 적어도 하나의 프로세서에 의해, 경량화를 위한 신경망 모델이 포함하는 백본 신경망에 대한 가지치기를 수행하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 가지치기가 수행된 백본 신경망에 대한 지식 증류를 수행하는 단계
    를 포함하고,
    상기 지식 증류를 수행하는 단계는,
    입력에 대한 원본 신경망의 백본 신경망인 교사 백본 신경망의 자질정보를 상기 가지치기가 수행된 백본 신경망인 학생 백본 신경망으로 증류하는 단계
    를 포함하는 것
    을 특징으로 하는 지식 증류 방법.
  2. 제1항에 있어서,
    상기 가지치기를 수행하는 단계는,
    상기 원본 신경망과 상기 지식 증류에 의해 생성된 학생 신경망이 동일한 헤드 신경망을 공유하고, 상기 학생 신경망의 각 레이어가 상기 원본 신경망의 레이어의 적어도 일부의 파라미터를 공유하도록 상기 백본 신경망에 대한 가지치기를 수행하는 것을 특징으로 하는 지식 증류 방법.
  3. 제1항에 있어서,
    상기 자질정보를 증류하는 단계는,
    상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력간의 거리를 줄이는 손실함수를 이용하여 상기 자질정보를 상기 학생 백본 신경망으로 증류하는 것을 특징으로 하는 지식 증류 방법.
  4. 제1항에 있어서,
    상기 자질정보를 증류하는 단계는,
    상기 교사 백본 신경망의 출력을 변환 없이 상기 학생 백본 신경망에 전달하는 것을 특징으로 하는 지식 증류 방법.
  5. 제1항에 있어서,
    상기 자질정보를 증류하는 단계는,
    상기 원본 신경망의 중간 레이어에서의 출력을 제외한 상기 교사 백본 신경망의 최종 출력만을 상기 학생 백본 신경망에 전달하는 것을 특징으로 하는 지식 증류 방법.
  6. 제1항에 있어서,
    상기 지식 증류를 수행하는 단계는,
    입력의 변화에 따른 상기 교사 백본 신경망의 출력의 변화량(gradient) 정보를 상기 학생 백본 신경망으로 증류하는 단계
    를 더 포함하는 것을 특징으로 하는 지식 증류 방법.
  7. 제6항에 있어서,
    상기 출력의 변화량 정보를 증류하는 단계는,
    상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력의 기울기간의 거리를 줄이는 손실함수를 이용하여 상기 변화량 정보를 상기 학생 백본 신경망으로 증류하는 것을 특징으로 하는 지식 증류 방법.
  8. 제6항에 있어서,
    상기 출력의 변화량 정보를 증류하는 단계는,
    학습 데이터의 샘플 중에서 불확실성에 기반하여 선정된 샘플들의 집합을 입력받아, 상기 집합에 포함된 샘플에 대한 상기 교사 백본 신경망의 출력의 변화량 정보를 상기 학생 백본 신경망으로 증류하는 것을 특징으로 하는 지식 증류 방법.
  9. 제8항에 있어서,
    상기 불확실성에 기반하여 선정된 샘플들은 상기 학습 데이터의 샘플들 중 상기 원본 신경망의 태스크 손실함수의 값이 큰 r(상기 r은 실수)%의 샘플들을 포함하는 것을 특징으로 하는 지식 증류 방법.
  10. 제1항에 있어서,
    상기 지식 증류를 수행하는 단계는,
    학습 데이터에서 관측되지 않은 데이터에 대한 지식 증류를 수행하는 단계
    를 더 포함하는 것을 특징으로 하는 지식 증류 방법.
  11. 제10항에 있어서,
    상기 학습 데이터에서 관측되지 않은 데이터에 대한 지식 증류를 수행하는 단계는,
    컷믹스 데이터 증강(CutMix data augmentation) 기법을 통해 불확실성이 임계값 이상인 샘플을 생성하여 상기 교사 백본 신경망과 상기 학생 백본 신경망간의 지식 증류를 수행하는 것을 특징으로 하는 지식 증류 방법.
  12. 제1항에 있어서,
    상기 지식 증류를 수행하는 단계는,
    상기 학생 백본 신경망의 학습을 수행하는 단계
    를 더 포함하는 것을 특징으로 하는 지식 증류 방법.
  13. 제12항에 있어서,
    상기 학생 백본 신경망의 학습을 수행하는 단계는,
    상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력간의 거리를 줄이는 제1 손실함수의 제1 손실값과 상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력의 기울기간의 거리를 줄이는 제2 손실함수의 제2 손실값간의 가중합으로 형성되는 백본 신경망에 대한 손실값이 수렴될 때까지, 상기 학생 백본 신경망을 학습하는 것을 특징으로 하는 지식 증류 방법.
  14. 제1항에 있어서,
    상기 가지치기가 수행된 백본 신경망 및 상기 원본 신경망의 헤드 신경망을 포함하는 전체 신경망에 대한 지식 증류를 수행하는 단계
    를 더 포함하는 지식 증류 방법.
  15. 제14항에 있어서,
    상기 전체 신경망에 대해 지식 증류를 수행하는 단계는,
    상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력간의 거리를 줄이는 제1 손실함수의 제1 손실값, 상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력의 기울기간의 거리를 줄이는 제2 손실함수의 제2 손실값 및 태스크 손실함수의 제3 손실값간의 가중합으로 형성되는 전체 손실값이 수렴될 때까지, 상기 전체 신경망을 학습하는 것을 특징으로 하는 지식 증류 방법.
  16. 제1항에 있어서,
    상기 지식 증류를 통해 학습이 완료된 학생 신경망에 대해서, 상기 학생 신경망의 헤드 신경망에 대한 가지치기가 가능한 경우, 상기 헤드 신경망에 대한 추가적인 가지치기를 수행하는 단계
    를 더 포함하는 지식 증류 방법.
  17. 제16항에 있어서,
    상기 헤드 신경망에 대한 추가적인 가지치기가 수행된 학생 신경망을 재학습하는 단계
    를 더 포함하는 지식 증류 방법.
  18. 컴퓨터 장치와 결합되어 제1항 내지 제17항 중 어느 한 항의 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  19. 제1항 내지 제17항 중 어느 한 항의 방법을 컴퓨터 장치에 실행시키기 위한 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체.
  20. 컴퓨터 장치에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서에 의해,
    경량화를 위한 신경망 모델이 포함하는 백본 신경망에 대한 가지치기를 수행하고,
    가지치기가 수행된 백본 신경망에 대한 지식 증류를 수행하고,
    상기 지식 증류를 수행하기 위해, 상기 적어도 하나의 프로세서에 의해,
    입력에 대한 원본 신경망의 백본 신경망인 교사 백본 신경망의 자질정보를 상기 가지치기가 수행된 백본 신경망인 학생 백본 신경망으로 증류하는 것
    을 특징으로 하는 컴퓨터 장치.
PCT/KR2021/011609 2021-08-30 2021-08-30 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템 WO2023033194A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2021/011609 WO2023033194A1 (ko) 2021-08-30 2021-08-30 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템
KR1020227041865A KR102597184B1 (ko) 2021-08-30 2021-08-30 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2021/011609 WO2023033194A1 (ko) 2021-08-30 2021-08-30 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템

Publications (1)

Publication Number Publication Date
WO2023033194A1 true WO2023033194A1 (ko) 2023-03-09

Family

ID=85412549

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/011609 WO2023033194A1 (ko) 2021-08-30 2021-08-30 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템

Country Status (2)

Country Link
KR (1) KR102597184B1 (ko)
WO (1) WO2023033194A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117474914A (zh) * 2023-12-27 2024-01-30 湖南大学 一种基于轻量化神经网络的飞机蒙皮表面缺陷检测方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
AGHLI NIMA; RIBEIRO ERALDO: "Combining Weight Pruning and Knowledge Distillation For CNN Compression", 2021 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION WORKSHOPS (CVPRW), IEEE, 19 June 2021 (2021-06-19), pages 3185 - 3192, XP033967862, DOI: 10.1109/CVPRW53098.2021.00356 *
LEE SEON-WOO, HO-JUN YANG, SEUNG-YEON OH, MUN-HYUNG LEE, JANG-WOO KWON: "Application and Performance Analysis of Double Pruning Method for Deep Neural Networks. Convergence Society for SMB", JOURNAL OF CONVERGENCE FOR INFORMATION TECHNOLOGY, vol. 10, no. 8, 28 August 2020 (2020-08-28), pages 23 - 34, XP093037630, DOI: 10.22156/CS4SMB.2020.10.08.023 *
LUCAS BEYER; XIAOHUA ZHAI; AM\'ELIE ROYER; LARISA MARKEEVA; ROHAN ANIL; ALEXANDER KOLESNIKOV: "Knowledge distillation: A good teacher is patient and consistent", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 9 June 2021 (2021-06-09), 201 Olin Library Cornell University Ithaca, NY 14853, XP081987577 *
SEUL-KI YEOM; PHILIPP SEEGERER; SEBASTIAN LAPUSCHKIN; ALEXANDER BINDER; SIMON WIEDEMANN; KLAUS-ROBERT M\"ULLER; WOJCIECH SAME: "Pruning by Explaining: A Novel Criterion for Deep Neural Network Pruning", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 12 March 2021 (2021-03-12), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081895140, DOI: 10.1016/j.patcog.2021.107899 *
WANG ZHEN; DU LAN; LI YI: "Boosting Lightweight CNNs Through Network Pruning and Knowledge Distillation for SAR Target Recognition", IEEE JOURNAL OF SELECTED TOPICS IN APPLIED EARTH OBSERVATIONS AND REMOTE SENSING, IEEE, USA, vol. 14, 11 August 2021 (2021-08-11), USA, pages 8386 - 8397, XP011876473, ISSN: 1939-1404, DOI: 10.1109/JSTARS.2021.3104267 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117474914A (zh) * 2023-12-27 2024-01-30 湖南大学 一种基于轻量化神经网络的飞机蒙皮表面缺陷检测方法
CN117474914B (zh) * 2023-12-27 2024-04-12 湖南大学 一种基于轻量化神经网络的飞机蒙皮表面缺陷检测方法

Also Published As

Publication number Publication date
KR20230038136A (ko) 2023-03-17
KR102597184B1 (ko) 2023-11-03

Similar Documents

Publication Publication Date Title
WO2018212494A1 (ko) 객체를 식별하는 방법 및 디바이스
WO2019235821A1 (ko) 모바일 환경에서 실시간 추론이 가능한 dnn 구성을 위한 최적화 기법
WO2020122456A1 (ko) 이미지와 텍스트간 유사도 매칭 시스템 및 방법
WO2019098418A1 (ko) 뉴럴 네트워크 학습 방법 및 디바이스
CN111382190B (zh) 一种基于智能的对象推荐方法、装置和存储介质
WO2019164250A1 (ko) 완전 연결 네트워크의 데이터 입력 및 출력을 제어하는 방법 및 장치
CN111666919A (zh) 一种对象识别方法、装置、计算机设备和存储介质
WO2023033194A1 (ko) 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템
WO2018212584A2 (ko) 딥 뉴럴 네트워크를 이용하여 문장이 속하는 클래스를 분류하는 방법 및 장치
KR20200063970A (ko) 신경망 재구성 방법 및 장치
KR20210152269A (ko) 딥러닝 모델 학습 방법 및 이를 수행하기 위한 컴퓨팅 장치
CN112232086A (zh) 一种语义识别方法、装置、计算机设备及存储介质
CN114282059A (zh) 视频检索的方法、装置、设备及存储介质
WO2022146080A1 (ko) 딥러닝 네트워크의 동적 양자화 정밀도 가변 알고리즘 및 방법
CN115168720A (zh) 内容交互预测方法以及相关设备
WO2022163985A1 (ko) 인공지능 추론모델을 경량화하는 방법 및 시스템
WO2023113372A1 (ko) 불균형 데이터에 대한 딥러닝 분류 모델 성능을 향상시키기 위한 레이블 기반 샘플 추출 장치 및 그 방법
Peng et al. Fedgm: Heterogeneous federated learning via generative learning and mutual distillation
WO2021091096A1 (ko) 공정성 분류 네트워크를 이용한 시각 질의 응답 방법 및 장치
KR20200108173A (ko) 스파이킹 뉴럴 네트워크에 대한 연산량을 감소시키는 stdp 기반의 뉴로모픽 연산처리장치
WO2022163996A1 (ko) 자기주의 기반 심층 신경망 모델을 이용한 약물-표적 상호작용 예측 장치 및 그 방법
CN114548382A (zh) 迁移训练方法、装置、设备、存储介质及程序产品
WO2021125431A1 (ko) 분산 평준화를 통한 딥러닝 모델 초기화 방법 및 장치
WO2022239878A1 (ko) 로봇의 파지 방법 및 로봇의 파지를 위한 학습 방법
WO2023095934A1 (ko) 객체 탐지기의 헤드 신경망 경량화 방법 및 시스템

Legal Events

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

Ref document number: 21956122

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE