WO2024085337A1 - 변동성 플로팅 포인트 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 자기지도학습 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치 - Google Patents

변동성 플로팅 포인트 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 자기지도학습 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치 Download PDF

Info

Publication number
WO2024085337A1
WO2024085337A1 PCT/KR2023/007657 KR2023007657W WO2024085337A1 WO 2024085337 A1 WO2024085337 A1 WO 2024085337A1 KR 2023007657 W KR2023007657 W KR 2023007657W WO 2024085337 A1 WO2024085337 A1 WO 2024085337A1
Authority
WO
WIPO (PCT)
Prior art keywords
binary
learning
neural network
parameters
vector
Prior art date
Application number
PCT/KR2023/007657
Other languages
English (en)
French (fr)
Inventor
최종현
김다현
Original Assignee
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 연세대학교 산학협력단 filed Critical 연세대학교 산학협력단
Publication of WO2024085337A1 publication Critical patent/WO2024085337A1/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

Definitions

  • the present invention relates to an SSL method and device for learning a binary neural network using a variable FP neural network as a moving target, and a test method and test device using the same.
  • FP neural net is a network that uses values such as weights and activations in FP form. It has the advantage of accuracy in that accurate values are used for calculation, but it has the disadvantage of consuming a lot of computing power.
  • a binary neural network that uses values such as weights and activations in binary form may be less accurate than an FP neural network, but the model size is generally much smaller than an FP neural network and consumes much less computing power. This is a network with Recently, as the use of low-power devices has increased, the demand for binary neural networks, which have the advantage of efficiency, is increasing.
  • SSL which is a branch of unsupervised learning that performs learning using only training data for which no correct answer data exists, is a method of learning a pretext task using training data and then transferring it to a downstream task to perform learning, has recently been developed. It is a method that has made tremendous progress and shows the same or better performance as general supervised learning without labeling costs. If this can be applied to a binary neural network, significant technological progress can be made, but the SSL method studied so far Most of them are based on large models such as FP neural net. In this situation, Shen et al. proposed S2-BNN, which applied the SSL method to binary neural net, in S2-bnn: Bridging the gap between self-supervised real and 1-bit neural networks via guided distribution calibration (2021). This will be explained below.
  • Figures 6a and 6b respectively show the conventional Supervised KL Div. This is a diagram showing the learning method and the S2-BNN learning method applied by applying the SSL method.
  • Supervised KL Div. is generally used to learn binary neural networks. You can check the method. To explain it roughly, this is to generate a loss by comparing the output of the learned FP neural net and the output of the binary neural net in a supervised learning state of the FP neural net, and then compare the output of the binary neural net to the output of the learned FP neural net. This is a method of performing learning so that it is similar to the output, that is, using the FP neural network as the target of the binary neural network.
  • the KL divergence loss function is widely known to those skilled in the art, its description will be omitted.
  • S2-BNN applies this method to train the FP neural network through the SSL method and then performs learning by using the learned FP neural network as the target of the binary neural network.
  • SSL is used as a binary neural network.
  • the performance is good, but there is a problem that causes some inefficiency due to the method of using the FP neural net, which is immutable after learning, as a fixed target.
  • the present invention aims to solve the above-mentioned problems.
  • the present invention provides an SSL method for a binary neural network that uses the FP neural network as a moving target, which changes as the learning scenario progresses, by allowing the FP function parameters of the FP neural network to be learned together while learning the binary neural network in a non-fixed state.
  • the purpose is to
  • the purpose of the present invention is to provide an SSL method that can improve the accuracy of binary neural net by additionally applying feature similarity loss, dynamic balancing, and multi-stage learning methods.
  • a self-supervised learning (SSL) method for learning a binary neural network using a volatile floating point (FP) neural network as a moving target (a) a learning device , once the training vector is obtained, (i) a process for causing the binary neural network to include binary parameters, at least some of which are in binary format, to apply at least one binary operation to the training vector, and (ii) at least some of which are SSL methodologies.
  • SSL methodologies Includes FP parameters in an FP format learned according to, wherein at least some of the FP parameters are adjusted in the process of learning at least some of the binary parameters, causing the variable FP neural network to perform at least one FP operation on the learning vector.
  • the learning device determines the coupling loss between the binary neural network and the variable FP neural network by referring to (i) the binary output for learning obtained from the binary neural net and (ii) the FP learning output obtained from the variable FP neural net.
  • a method is disclosed, comprising the step of learning at least some of the FP parameters while learning at least some of the binary parameters using the coupling loss.
  • step (a) the learning device inputs the learning vector to the variable FP neural network, and (i) FP feature parameters that are at least some of the FP parameters included in the variable FP neural network are
  • a learned and immutable FP feature unit applies an FP feature extraction operation, which is at least part of the FP operation, to the learning vector to generate a learning FP feature vector, and then (ii) included in the variable FP neural network,
  • the FP function unit which is learned together through a process of learning at least some of the binary parameters in a state where at least some of the FP functional unit parameters, which are at least some of the FP parameters, are not pre-learned but are randomly initialized, performs the FP operation on the learning FP feature vector.
  • a method is disclosed, characterized in that the learning FP output is generated by applying at least a portion of the FP function operation.
  • step (b) the learning device performs learning by generating the coupling loss according to the following equation,
  • FP function parameter means the binary parameter, means the average operation, means the learning vector, means a learning data set including the learning vector, refers to the KL divergence loss function, refers to the FP function operation, refers to the FP feature extraction operation, A method is disclosed, wherein means the binary operation.
  • the learning device inputs the learning vector to the binary neural network, and (i) creates a binary variable including binary feature parameters that are at least some of the binary parameters included in the binary neural network.
  • a feature unit applies a binary feature extraction operation, which is at least part of the binary operation, to the learning vector to generate a binary feature vector for learning, and then (ii) a binary function unit which is at least a part of the binary parameters included in the binary neural network.
  • a method is disclosed wherein a binary function unit including a parameter applies a binary function operation, which is at least part of the binary operation, to the binary feature vector for learning to generate the binary output for learning.
  • step (b) is a process in which the learning device generates a KL divergence loss with reference to the learning binary output and the learning FP output, and (ii) the learning FP feature vector and the learning binary.
  • a method is disclosed, which includes performing a process of generating a feature similarity loss with reference to a feature vector, and then generating the coupling loss with reference to the KL divergence loss and the feature similarity loss.
  • step (b) the learning device generates the coupling loss according to the following formula
  • means the FP function parameter means the binary parameter, means the average operation, means the learning vector, means learning data including the learning vector, refers to the KL divergence loss function, refers to the FP function operation, refers to the FP feature extraction operation, refers to the binary function operation, refers to the binary feature extraction operation, means a preset static balancing parameter, refers to a feature similarity operation, and the first term of the average operation refers to the KL divergence loss, and the second term refers to the feature similarity loss.
  • the learning device performs the feature similarity calculation according to the following formula,
  • Is and A method is disclosed, characterized in that it means the cosine similarity between the two.
  • step (b) the learning device generates the coupling loss with reference to a dynamic balancing parameter that changes depending on the number of iterations, along with the KL divergence loss and the feature similarity loss.
  • a method is disclosed.
  • step (b) the learning device performs learning by generating the coupling loss according to the following equation,
  • means the FP function parameter means the binary parameter, means the average operation, means the learning vector, means learning data including the learning vector, refers to the KL divergence loss function, refers to the FP function operation, refers to the FP feature extraction operation, refers to the binary function operation, refers to the binary feature extraction operation, means the dynamic balancing parameter, means the number of iterations, refers to a feature similarity operation, the first term within the average operation refers to the KL divergence loss, and the second term refers to the feature similarity loss.
  • step (b) the learning device calculates the dynamic balancing parameter according to the following formula,
  • step (a) when applying a multi-stage learning process, before step (a), (a0) the learning device obtains the binary parameters including the binarized activation value and the non-binaryized weight value. step; further comprising: (c) the learning device, (i) causing an adjusted binary neural network obtained by binarizing the weight value of the binary neural network learned using the coupling loss to include at least a second learning vector; a process for applying one adjusted binary operation; and (ii) causing the adjusted volatility FP neural network in a state in which at least some of the FP parameters of the volatility FP neural network have been learned using the coupling loss to generate the second learning vector.
  • the method further includes completing a multi-stage learning process by learning at least some of the adjusted binary parameters of the adjusted binary neural network using the second coupling loss.
  • a test device in a method for testing a self-supervised learning (SSL) binary neural network using a volatile floating point (FP) neural network as a moving target, (a) a test device (1) Once a training vector is obtained, (i) a process for causing the binary neural network to include binary parameters, at least some of which are in binary format, to apply at least one binary operation to the training vector, and (ii) at least The variable FP neural network includes FP parameters in an FP format, some of which are learned according to the SSL methodology, and at least some of the FP parameters are adjusted in the process of learning at least some of the binary parameters, and at least one A process that performs a process to apply an FP operation of; and (2) after generating a coupling loss between the binary neural network and the variable FP neural network with reference to (i) the training binary output obtained from the binary neural network and (ii) the learning FP output obtained from the variable FP neural network, When learning is completed by performing a process of learning at least some of the FP parameters
  • a self-supervised learning (SSL) device for learning a binary neural network using a volatile floating point (FP) neural network as a moving target, one device for storing instructions more memory; and one or more processors configured to perform the instructions, wherein (I) when a training vector is obtained, (i) the binary neural network including binary parameters, at least some of which are in binary form, generates the training vector. a process for applying at least one binary operation to , and (ii) FP parameters in an FP format, at least some of which are learned according to an SSL methodology, wherein at least some of the FP parameters are used in the process of learning at least some of the binary parameters.
  • SSL self-supervised learning
  • An apparatus is disclosed, characterized in that it performs a process of learning at least some of the FP parameters while learning at least some of the binary parameters using the coupling loss.
  • the (I) process is such that the processor inputs the learning vector to the variable FP neural network, so that (i) FP feature parameters, which are at least some of the FP parameters included in the variable FP neural network, are already learned. Apply an FP feature extraction operation, which is at least part of the FP operation, to the learning vector to generate an FP feature vector for learning, (ii) the FP included in the variable FP neural network At least some of the FP function parameters, which are among the parameters, are not pre-learned and are randomly initialized, so that the FP function unit, which is learned together through a process of learning at least some of the binary parameters, performs at least the FP operation in the learning FP feature vector.
  • a device is disclosed, characterized in that it generates the learning FP output by applying a part of the FP function operation.
  • the processor performs learning by generating the coupling loss according to the following equation,
  • FP function parameter means the binary parameter, means the average operation, means the learning vector, means a learning data set including the learning vector, refers to the KL divergence loss function, refers to the FP function operation, refers to the FP feature extraction operation,
  • a device is disclosed, characterized in that refers to the binary operation.
  • the (I) process includes the processor inputting the training vector to the binary neural network, (i) binary features including binary feature parameters that are at least some of the binary parameters included in the binary neural network.
  • An apparatus is disclosed, characterized in that it causes a binary function unit including a binary function operation, which is at least part of the binary operation, to be applied to the binary feature vector for learning to generate the binary output for learning.
  • the process (II) is a process in which the processor generates a KL divergence loss with reference to the learning binary output and the learning FP output, and (ii) the learning FP feature vector and the learning binary feature.
  • An apparatus is disclosed, characterized in that it performs a process of generating a feature similarity loss with reference to a vector and then generates the coupling loss with reference to the KL divergence loss and the feature similarity loss.
  • the processor generates the coupling loss according to the following formula
  • means the FP function parameter means the binary parameter, means the average operation, means the learning vector, means learning data including the learning vector, refers to the KL divergence loss function, refers to the FP function operation, refers to the FP feature extraction operation, refers to the binary function operation, refers to the binary feature extraction operation, means a preset static balancing parameter, refers to a feature similarity operation, and the first term of the average operation refers to the KL divergence loss, and the second term refers to the feature similarity loss.
  • the processor performs the feature similarity calculation according to the following equation,
  • Is In the above formula, and is a random input vector, Is and A device characterized in that it means the cosine similarity between the two is disclosed.
  • the processor generates the coupling loss with reference to a dynamic balancing parameter that changes depending on the number of iterations, along with the KL divergence loss and the feature similarity loss. is initiated.
  • the processor performs learning by generating the coupling loss according to the following equation,
  • means the FP function parameter means the binary parameter, means the average operation, means the learning vector, means learning data including the learning vector, refers to the KL divergence loss function, refers to the FP function operation, refers to the FP feature extraction operation, refers to the binary function operation, refers to the binary feature extraction operation, means the dynamic balancing parameter, means the number of iterations, refers to a feature similarity operation, the first term within the average operation refers to the KL divergence loss, and the second term refers to the feature similarity loss.
  • the process (II) includes the processor calculating the dynamic balancing parameter according to the following equation,
  • the processor when applying a multi-stage learning process, prior to the (I) process, (I0) the process in which the processor obtains the binary parameters including the binarized activation value and the unbinarized weight value. ; further performing, (III) the processor: (i) causing the adjusted binary neural network obtained by binarizing the weight value of the binary neural network learned using the coupling loss to include at least one A process for applying an adjusted binary operation of and (ii) causing the adjusted volatility FP neural network, in which at least some of the FP parameters of the volatile FP neural network are learned using the coupling loss, to the second learning vector.
  • the apparatus further performs a process of completing the multi-stage learning process by learning at least some of the adjusted binary parameters of the adjusted binary neural network using the second coupling loss.
  • a test device for a self-supervised learning (SSL) binary neural network using a volatile floating point (FP) neural network as a moving target one device for storing instructions more memory; and one or more processors configured to perform the instructions, wherein the processor (I) (1) once a training vector is obtained, (i) causes the binary neural network to include binary parameters, at least some of which are in binary form, a process for applying at least one binary operation to the learning vector; and (ii) FP parameters in FP format, at least some of which are learned according to an SSL methodology, wherein in the process of learning at least some of the binary parameters, the FP parameters a process for causing the variable FP neural network, at least a portion of which is adjusted, to apply at least one FP operation to the learning vector; and (2) after generating a coupling loss between the binary neural network and the variable FP neural network with reference to (i) the training binary output obtained from the binary neural network and (ii) the learning FP output obtained from the variable FP
  • the present invention has the effect of providing an SSL method for a binary neural network that uses the FP neural network as a moving target that changes as the learning scenario progresses by allowing the functional parts of the FP neural network to be learned together while learning the binary neural network in a non-fixed state. There is.
  • the present invention has the effect of providing an SSL method that can improve the accuracy of binary neural net by additionally applying feature similarity loss, dynamic balancing, and multi-stage learning methods.
  • Figure 1 is a diagram showing the configuration of a learning device that performs an SSL method for learning a binary neural network using a variable FP neural network as a moving target according to an embodiment of the present invention.
  • Figures 2a and 2b are diagrams showing the configuration of a variable FP neural network and a binary neural network used to perform an SSL method of learning a binary neural network using a variable FP neural network as a moving target according to an embodiment of the present invention.
  • Figure 3 is a flowchart showing an SSL method for learning a binary neural network using a variable FP neural network as a moving target according to an embodiment of the present invention.
  • Figure 4 is a diagram showing step-by-step embodiments of an SSL method for learning a binary neural network using a variable FP neural network as a moving target according to an embodiment of the present invention.
  • Figure 5 is a graph showing the change in accuracy during testing according to each embodiment of the SSL method for learning a binary neural network using the variable FP neural network of the present invention as a moving target.
  • Figures 6a and 6b respectively show the conventional Supervised KL Div. This is a diagram showing the learning method and the S2-BNN learning method applied by applying the SSL method.
  • Figure 1 is a diagram showing the configuration of a learning device that performs an SSL method for learning a binary neural network using a variable FP neural network as a moving target according to an embodiment of the present invention.
  • the learning device 100 may include a variable FP neural network 130 and a binary neural network 140.
  • the input/output and calculation processes of the variable FP neural net 130 and the binary neural net 140 may be performed by the communication unit 110 and the processor 120, respectively.
  • the specific connection relationship between the communication unit 110 and the processor 120 is omitted.
  • the memory 115 may store various instructions to be described later, and the processor 120 may perform the instructions stored in the memory, thereby performing processes to be described later to perform the present invention.
  • the learning device 100 is depicted in this way, the case where the learning device 100 includes an integrated processor in which a medium, processor, and memory for implementing the present invention are integrated is not excluded.
  • the configuration of the volatility FP neural network 130 and the binary neural network 140 will be described.
  • Figures 2a and 2b are diagrams showing the configuration of a variable FP neural network and a binary neural network used to perform an SSL method of learning a binary neural network using a variable FP neural network as a moving target according to an embodiment of the present invention.
  • variable FP neural network 130 includes an FP feature 131 and an FP function 132.
  • the FP feature unit 131 may perform the function of extracting a feature value, that is, an FP feature vector, from the input using a convolution operation, etc., and its internal configuration may be the same or similar to the corresponding part of general neural networks. there is.
  • the FP function unit 132 can use the FP feature vector acquired through the FP feature unit 131 to perform functions according to the purpose of constructing the variable FP neural network 130, for example, image classification, It may be one of various functions such as image segmentation, pattern recognition, and control, and its internal structure may be the same or similar to the corresponding function when a generally known neural network performs the function. Parameters such as weight and activation values of the FP feature unit 131 and the FP function unit 132 may be in FP format.
  • the FP feature parameters of the FP feature unit 131 may be immutable because learning has been completed, and the FP function parameters of the FP function unit 132 may be randomly initialized without learning.
  • the volatility FP neural network 130 is calculated from the formula: As, the FP feature 131 is As, the FP functional unit 132 is It will be displayed as .
  • the binary neural network 140 includes a binary feature portion 141 and a binary function portion 142.
  • the binary feature unit 141 may perform the function of extracting a feature value, that is, a binary feature vector, from the input using a convolution operation, etc., and its internal configuration may be the same or similar to the corresponding part of general neural networks.
  • the binary function unit 142 can use the binary feature vector obtained through the binary feature unit 141 to perform functions according to the purpose of configuring the binary neural network 140, for example, image classification, image classification, etc.
  • the function performed by the binary function unit 142 will be the same as that performed by the FP function unit 132.
  • Parameters such as the weight and activation value of the binary feature unit 141 and the binary function unit 142 may be in binary format.
  • the activation value is first binarized and then the weight value is converted to binary form. It can also be implemented by changing the time order, such as by binarizing. Conversely, it could be implemented by first binarizing the weight value and then binarizing the activation value.
  • the binary neural net 140 below is expressed in the formula As, the binary feature portion 141 is As, the binary function unit 142 is It will be displayed as .
  • Figure 3 is a flowchart showing an SSL method for learning a binary neural network using a variable FP neural network as a moving target according to an embodiment of the present invention.
  • the learning device 100 can cause the binary neural network 140, which includes binary parameters in binary format, to apply at least one binary operation to the learning vector ( S01-1). And, in parallel, when the learning device 100 obtains a learning vector, at least some of it includes FP parameters in FP format learned according to the SSL methodology, and in the process of learning at least some of the binary parameters, FP parameters
  • the variable FP neural network 130 at least a portion of which is adjusted, can be made to apply at least one FP operation to the learning vector (S01-2).
  • the learning device 100 refers to (i) the learning binary output obtained from the binary neural net 140 and (ii) the learning FP output obtained from the volatility FP neural net 130 to create a couple between the binary neural net and the volatility FP neural net. Ring loss can be created (S02). Additionally, the learning device 100 may learn at least some of the FP parameters while learning at least some of the binary parameters using a coupling loss (S03).
  • Figure 4 is a diagram showing step-by-step embodiments of an SSL method for learning a binary neural network using a variable FP neural network as a moving target according to an embodiment of the present invention.
  • each embodiment of the present invention is indicated by 1234.
  • 1234 does not mean temporal order.
  • the first, most simplified embodiment that best shows the basic concept of the present invention is the 1 embodiment that uses only the KL divergence loss, and the 1 + 2 embodiment improves this and additionally uses the feature similarity loss, which is again used.
  • the 1+2+3 embodiment may be an improvement in which dynamic balancing is applied.
  • 4 Embodiment may be an embodiment in which performance can be improved by selecting any of embodiments 1, 1+2, and 1+2+3 and applying them in parallel. Below, each embodiment will be described in order starting from 1.
  • the learning device 100 can input it to the volatility FP neural network 130 and the binary neural network 140 in parallel, respectively. That is, in the case of the variable FP neural network 100, the learning device 100 uses the FP feature parameters 131 in which at least some of the FP parameters included in the variable FP neural network 100 are pre-learned and invariant. ) can generate a learning FP feature vector by applying an FP feature extraction operation, which is at least part of the FP operation, to the learning vector.
  • the learning device 100 through a process of learning at least some of the binary parameters in a state in which the FP functional unit parameters, which are at least some of the FP parameters included in the variable FP neural network 130, are not pre-learned and are randomly initialized.
  • the FP function unit 132 which is learned together, can generate a learning FP output by applying an FP function operation, which is at least part of the FP operation, to the learning FP feature vector. That is, at least some of the FP parameters learned according to the SSL methodology referred to in step S01-2 described above may be FP feature parameters, and at least some of the FP parameters learned together in the process of learning binary parameters may be FP function parameters. It can be.
  • the learning device 100 in parallel with the process of the above-mentioned volatility FP neural network 130, the learning device 100 generates binary feature parameters that are at least some of the binary parameters included in the binary neural network 140.
  • the included binary feature unit 141 may generate a binary feature vector for learning by applying a binary feature extraction operation, which is at least part of a binary operation, to the learning vector.
  • the learning device 100 causes the binary function unit 142, which includes the binary function unit parameter that is at least part of the binary parameters included in the binary neural network 140, to apply a binary function that is at least part of the binary operation to the binary feature vector for learning. Function operations can be applied to generate binary output for learning.
  • the learning device 100 can perform learning by generating a coupling loss according to the following equation, referring to the learning binary output and the learning FP output.
  • FP function parameter means a binary parameter
  • means the average operation refers to the learning vector
  • means a training data set containing training vectors refers to the KL divergence loss function
  • means FP function operation means FP feature extraction operation, may mean binary operation.
  • the learning device 100 may learn at least some of the FP parameters, specifically, FP function parameters of the FP function unit 132 while learning at least some of the binary parameters.
  • FP functional parameters there may be questions about whether FP functional parameters can be learned correctly, but Chen et al.'s A simple framework for contrastive learning on visual representations (2020), Chen et al.'s Big self-supervised models are strong.
  • FP functions When the unit 132 performs an image classification operation, learning can be done in the right direction even if only the FP function unit 132 is trained using the SSL method in this manner. In addition, as the FP function unit 132 continues to change according to learning, the binary network 140 can perform learning based on a moving target rather than a fixed target, thereby showing better performance.
  • 1+2 is an example in which when generating the coupling loss of 1, not only the KL divergence function is used, but also a feature similarity operation is used. That is, the learning device 100 processes (i) a process of generating a KL divergence loss by referring to the binary output for learning and the FP output for learning, and (ii) generating a feature similarity loss by referring to the FP feature vector for learning and the binary feature vector for learning. After performing the process, learning can be performed by generating coupling loss with reference to KL divergence loss and feature similarity loss. This can be expressed in a formula as follows.
  • FP function parameter means a binary parameter
  • the average operation refers to the learning vector
  • means FP function operation means FP feature extraction operation
  • means binary function operation means binary feature extraction operation
  • the first term of the average function may refer to the KL divergence loss
  • the second term may refer to the feature similarity loss.
  • the loss for this is the feature similarity loss, which is proportional to the difference between the output of the binary feature 141 and the output of the FP feature 131, and the binary feature 141 is calculated by finding the binary feature parameter that minimizes this.
  • the feature similarity operation must be an operation that can represent the difference between the binary feature vector for learning and the FP feature vector for learning, and according to one embodiment, it may be a cosine distance operation according to the following equation.
  • Is and It may mean the cosine similarity between the two.
  • the 1+2+3 embodiment of FIG. 4 will now be described.
  • the balancing parameters is preset and is in a static state.
  • the gradient size and variability problems caused by the FP functional unit 132 have a significant impact in the early stages of learning, and have less influence towards the later stages of learning.
  • balancing parameters for more efficient learning 1+2+3 is an example in which 1+2+3 is dynamically adjusted to change depending on the number of iterations, specifically to be large at the beginning of learning and small at the end of learning.
  • the formula of this embodiment will be described.
  • FP function parameter means the binary parameter, means the average operation, means the learning vector, means learning data including the learning vector, refers to the KL divergence loss function, means FP function operation, means FP feature extraction operation, means binary function operation, refers to the binary feature extraction operation, refers to the dynamic balancing parameter, means the number of iterations, refers to the feature similarity operation, the first term within the average operation may refer to the KL divergence loss, and the second term may refer to the feature similarity loss. Since other parts are the same as above, description will be omitted, and dynamic balancing parameters Explain how to make it large at the beginning of learning and small at the end of learning.
  • the learning device 100 calculates the dynamic balancing parameter according to the formula below,
  • means the preset maximum number of iterations means the preset balancing parameter at the maximum iteration between 0 and 1
  • the multi-stage learning process which is the 4 embodiment of FIG. 4, will be described below.
  • the 1, 1+2, and 1+2+3 embodiments Any of them can be selected and applied in parallel, but the following description will be explained assuming the case where it is applied to Example 1.
  • the large structures of embodiments 1, 1+2, and 1+2+3 are similar, it may be sufficient to explain only the case of application to embodiment 1.
  • the multistage learning process includes Bulat et al.'s Bats: Binary architecture search (2020), Liu et al.'s Reactnet: Towards precise binary neural network with generalized activation functions (2020), and Martinez et al.'s Training binary neural networks with real An effective learning method that can be applied to binary neural networks, proposed in -to-binary convolutions (2020), etc., the gist of it is to perform primary learning while binarizing only the activation values and not binarizing the weight values. Afterwards, the weight values learned without binarization are binarized to obtain an entirely binarized neural network, and then secondary learning is performed again.
  • This multi-stage learning process has the advantage that convergence occurs quickly because the initial value of secondary learning is close to the optimal value.
  • the multi-stage learning process according to the prior art cannot be directly applied to the embodiments of the present invention, which is because the convergence speed of the binary neural net 140 is too high compared to the FP function unit 132 in secondary learning. This is because it is fast, and learning may end before the binary neural network 140 has reached an optimized state.
  • the multi-stage learning process when applying the multi-stage learning process to the embodiments of the present invention, even in the case of FP function parameters, the values obtained in the first learning are used as initial values in the second learning, The convergence speed of the FP functional unit 132 and the binary neural net 140 can be adjusted similarly.
  • the learning device 100 may acquire binary parameters including a binarized activation value and a non-binarized weight value before S01-1 and S01-2 of FIG. 3.
  • the activation value and weight value may be randomly initialized values, or may be the same as the corresponding values of the volatility FP neural network 130.
  • the learning device 100 (i) an adjusted binary neural net obtained by binarizing the weight value of the binary neural net 140 learned using the coupling loss.
  • a process may be performed to apply at least one adjustment FP operation to .
  • the above process can be performed similarly to S01-1 and S01-2 of FIG. 3 described above, except that the adjusted binary neural network and the adjusted volatility FP neural network are used.
  • the learning device 100 generates a second coupling loss with reference to (i) the second binary output for learning obtained from the adjusted binary neural net and (ii) the second learning FP output obtained from the adjusted volatility FP neural net. Afterwards, at least some of the adjusted binary parameters of the adjusted binary neural network can be learned using the second coupling loss.
  • the FP function parameters of the adjusted volatility FP neural network which were first learned, can be learned together with at least some of the adjusted binary parameters, and can be performed similarly to S02 and S03 in FIG. 3.
  • the neural net finally obtained through learning will be a coordinated binary neural net
  • the neural net finally obtained through learning will be may be a binary neural net (140).
  • test method of the binary neural network 140 obtained as described above will be described below. 4 It will be obvious that the following test method can be equally applied to the adjusted binary neural network obtained when applying the embodiment.
  • the test device can provide the user with a binary output for testing, obtained from the binary neural network.
  • Figure 5 is a graph showing the change in accuracy during testing according to each embodiment of the SSL method for learning a binary neural network using the variable FP neural network of the present invention as a moving target.
  • ImageNet Linear Evaluation Accuracy values when the FP function unit 132 performs image classification can be confirmed. It can be seen that the 1 example alone shows a significant accuracy of 57.33%, and the examples with additional configurations of 1+2, 1+2+3, and 1+2+3+4 show better accuracy.
  • Embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium.
  • the computer-readable recording medium may include program instructions, data files, data structures, etc., singly or in combination.
  • the program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention or may be known and usable by those skilled in the computer software field.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specifically configured to store and perform program instructions, such as ROM, RAM, flash memory, etc.
  • Examples of program instructions include not only machine language code such as that created 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 may be configured to operate as one or more software modules to perform processing according to the invention and vice versa.

Landscapes

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

Abstract

변동성 플로팅 포인트(Floating Point, FP) 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 자기지도학습(Self-Supervised Learning, SSL) 방법에 있어서, 학습 장치가, (a) 학습용 벡터가 획득되면, (i) 바이너리 형식인 바이너리 파라미터를 포함하는 상기 바이너리 뉴럴넷으로 하여금, 상기 학습용 벡터에 바이너리 연산을 인가하도록 하고, (ii) SSL 방법론에 따라 학습된 FP 형식의 FP 파라미터를 포함하되, 상기 바이너리 파라미터를 학습하는 과정에서 상기 FP 파라미터가 조정되는 상기 변동성 FP 뉴럴넷으로 하여금, 상기 학습용 벡터에 FP 연산을 가하도록 하는 단계; 및 (b) (i) 상기 바이너리 뉴럴넷으로부터 획득된 학습용 바이너리 출력 및 (ii) 상기 변동성 FP 뉴럴넷으로부터 획득된 학습용 FP 출력을 참조하여 생성된 상기 바이너리 뉴럴넷 및 상기 변동성 FP 뉴럴넷 간 커플링 로스를 사용하여 상기 바이너리 파라미터를 학습하면서 상기 FP 파라미터를 학습하는 단계를 포함하는 것을 특징으로 하는 방법이 개시된다.

Description

변동성 플로팅 포인트 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 자기지도학습 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
본 발명은 변동성 FP 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 SSL 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치에 관한 것이다.
FP 뉴럴넷이란, 웨이트 및 액티베이션 등의 값들을 FP 형태로 사용하는 네트워크로서, 정확한 값을 연산에 사용한다는 점에서 정확도 면의 장점이 있으나, 컴퓨팅 파워를 많이 소모하는 단점이 있다. 이와 반대로, 웨이트 및 액티베이션 등의 값들을 바이너리 형태로 사용하는 바이너리 뉴럴넷은, FP 뉴럴넷에 비해 정확도가 떨어질 수 있으나, 일반적으로 모델의 크기도 FP 뉴럴넷에 비해 훨씬 작고, 컴퓨팅 파워를 훨씬 덜 소모하는 장점이 있는 네트워크이다. 최근 저전력 기기의 사용이 많아짐에 따라, 효율성 면의 장점이 있는 바이너리 뉴럴넷에 대한 수요가 높아지고 있는 상황이다.
한편, 정답 데이터가 존재하지 않는 학습 데이터만을 사용하여 학습을 수행하는 비지도학습의 한 갈래인, 학습 데이터를 사용하여 pretext task를 학습한 다음 downstream task로 transfer하여 학습을 수행하는 방식인 SSL은 최근 엄청난 발전을 이루어, 라벨링 비용이 들지 않으면서도 일반적인 지도학습과 동일하거나 오히려 더 나은 성능을 보이고 있는 방법으로, 이를 바이너리 뉴럴넷에 적용할 수 있다면 상당한 기술적 진전을 이룰 수 있을 것이나, 지금까지 연구된 SSL 방법은 주로 FP 뉴럴넷과 같은 큰 모델을 기준으로 한 것이 대부분이다. 이와 같은 상황에서, Shen et al.은 S2-bnn: Bridging the gap between self-supervised real and 1-bit neural networks via guided distribution calibration(2021)에서 SSL 방법을 바이너리 뉴럴넷에 적용한 S2-BNN을 제안하였는데, 이에 대해 이하 설명하도록 한다.
도 6a 및 도 6b는 각각 종래의 Supervised KL Div. 학습 방법 및 이에 SSL 방법을 적용하여 응용한 S2-BNN 학습 방법을 나타낸 도면이다.
도 6a를 참조하면, 일반적으로 바이너리 뉴럴넷을 학습하는 데에 사용되는 Supervised KL Div. 방법을 확인할 수 있는데, 개략적으로 설명하면, 이는 FP 뉴럴넷을 지도학습한 상태에서, 학습된 FP 뉴럴넷의 출력과 바이너리 뉴럴넷의 출력을 비교하여 로스를 생성한 다음 바이너리 뉴럴넷의 출력이 학습된 FP 뉴럴넷의 출력과 유사해지도록, 즉 FP 뉴럴넷을 바이너리 뉴럴넷의 타겟으로 삼아 학습을 수행하는 방식이다. 여기서 KL 발산 로스 함수는 통상의 기술자에게 널리 알려진 것이므로 설명을 생략하도록 한다.
또한, 도 6b를 참조하면, S2-BNN은 이와 같은 방식을 응용하여, FP 뉴럴넷을 SSL 방법을 통해 학습시킨 다음 학습된 FP 뉴럴넷을 바이너리 뉴럴넷의 타겟으로 삼아 학습을 수행하는 방식인데, SSL을 바이너리 뉴럴넷에 적용하고자 한 시도들 중에는 성능이 좋은 편이나, 학습이 완료되어 불변하는 FP 뉴럴넷을 고정된 타겟으로 삼는 방식 때문에 다소의 비효율이 초래되는 문제가 있다.
본 발명은 상술한 문제점을 해결하는 것을 목적으로 한다.
또한 본 발명은 FP 뉴럴넷의 FP 기능부 파라미터가 고정되지 않은 상태에서 바이너리 뉴럴넷을 학습하면서 함께 학습되도록 함으로써 학습 시나리오의 진행에 따라 변화되는 FP 뉴럴넷을 이동 표적으로 사용하는, 바이너리 뉴럴넷의 SSL 방법을 제공하는 것을 목적으로 한다.
또한 본 발명은 피처 유사성 로스, 동적 밸런싱 및 멀티스테이지 학습 방식을 추가적으로 적용하여 바이너리 뉴럴넷의 정확도를 향상시킬 수 있는 SSL 방법을 제공하는 것을 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 변동성 플로팅 포인트(Floating Point, FP) 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 자기지도학습(Self-Supervised Learning, SSL) 방법에 있어서, (a) 학습 장치가, 학습용 벡터가 획득되면, (i) 적어도 일부가 바이너리 형식인 바이너리 파라미터를 포함하는 상기 바이너리 뉴럴넷으로 하여금, 상기 학습용 벡터에 적어도 하나의 바이너리 연산을 인가하도록 하는 프로세스 및 (ii) 적어도 일부가 SSL 방법론에 따라 학습된 FP 형식의 FP 파라미터를 포함하되, 상기 바이너리 파라미터 중 적어도 일부를 학습하는 과정에서 상기 FP 파라미터 중 적어도 일부가 조정되는 상기 변동성 FP 뉴럴넷으로 하여금, 상기 학습용 벡터에 적어도 하나의 FP 연산을 가하도록 하는 프로세스를 수행하는 단계; 및 (b) 상기 학습 장치가, (i) 상기 바이너리 뉴럴넷으로부터 획득된 학습용 바이너리 출력 및 (ii) 상기 변동성 FP 뉴럴넷으로부터 획득된 학습용 FP 출력을 참조하여 상기 바이너리 뉴럴넷 및 상기 변동성 FP 뉴럴넷 간의 커플링 로스를 생성한 후, 상기 커플링 로스를 사용하여 상기 바이너리 파라미터 중 적어도 일부를 학습하면서 상기 FP 파라미터 중 적어도 일부를 학습하는 단계를 포함하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계는, 상기 학습 장치가, 상기 변동성 FP 뉴럴넷에 상기 학습용 벡터를 입력하여, (i) 상기 변동성 FP 뉴럴넷에 포함된, 상기 FP 파라미터 중 적어도 일부인 FP 특징부 파라미터가 기학습된 상태이며 불변하는 FP 특징부로 하여금, 상기 학습용 벡터에 상기 FP 연산의 적어도 일부인 FP 특징추출 연산을 인가하여 학습용 FP 특징벡터를 생성하도록 한 다음, (ii) 상기 변동성 FP 뉴럴넷에 포함된, 상기 FP 파라미터 중 적어도 일부인 FP 기능부 파라미터가 기학습되지 않고 랜덤하게 초기화된 상태에서 상기 바이너리 파라미터 중 적어도 일부를 학습하는 과정을 통해 함께 학습되는 FP 기능부로 하여금, 상기 학습용 FP 특징벡터에 상기 FP 연산의 적어도 일부인 FP 기능 연산을 인가하여 상기 학습용 FP 출력을 생성하도록 하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계는, 상기 학습 장치가, 하기 수식에 따라 상기 커플링 로스를 생성하여 학습을 수행하되,
Figure PCTKR2023007657-appb-img-000001
상기 수식에서,
Figure PCTKR2023007657-appb-img-000002
는 상기 FP 기능부 파라미터를 의미하고,
Figure PCTKR2023007657-appb-img-000003
는 상기 바이너리 파라미터를 의미하며,
Figure PCTKR2023007657-appb-img-000004
는 평균 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000005
는 상기 학습용 벡터를 의미하며,
Figure PCTKR2023007657-appb-img-000006
는 상기 학습용 벡터를 포함하는 학습 데이터 세트를 의미하고,
Figure PCTKR2023007657-appb-img-000007
은 KL 발산 로스 함수를 의미하며,
Figure PCTKR2023007657-appb-img-000008
는 상기 FP 기능 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000009
는 상기 FP 특징추출 연산을 의미하며,
Figure PCTKR2023007657-appb-img-000010
는 상기 바이너리 연산을 의미하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계는, 상기 학습 장치가, 상기 바이너리 뉴럴넷에 상기 학습용 벡터를 입력하여, (i) 상기 바이너리 뉴럴넷에 포함된, 상기 바이너리 파라미터 중 적어도 일부인 바이너리 특징부 파라미터를 포함하는 바이너리 특징부로 하여금, 상기 학습용 벡터에 상기 바이너리 연산의 적어도 일부인 바이너리 특징추출 연산을 인가하여 학습용 바이너리 특징벡터를 생성하도록 한 다음, (ii) 상기 바이너리 뉴럴넷에 포함된, 상기 바이너리 파라미터 중 적어도 일부인 바이너리 기능부 파라미터를 포함하는 바이너리 기능부로 하여금, 상기 학습용 바이너리 특징벡터에 상기 바이너리 연산의 적어도 일부인 바이너리 기능 연산을 인가하여 상기 학습용 바이너리 출력을 생성하도록 하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계는, 상기 학습 장치가, (i) 상기 학습용 바이너리 출력 및 상기 학습용 FP 출력을 참조하여 KL 발산 로스를 생성하는 프로세스 및 (ii) 상기 학습용 FP 특징벡터 및 상기 학습용 바이너리 특징벡터를 참조하여 피처 유사성 로스를 생성하는 프로세스를 수행한 다음, 상기 KL 발산 로스 및 상기 피처 유사성 로스를 참조하여 상기 커플링 로스를 생성하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계는, 상기 학습 장치가, 하기 수식에 따라 상기 커플링 로스를 생성하되,
Figure PCTKR2023007657-appb-img-000011
상기 수식에서,
Figure PCTKR2023007657-appb-img-000012
는 상기 FP 기능부 파라미터를 의미하고,
Figure PCTKR2023007657-appb-img-000013
는 상기 바이너리 파라미터를 의미하며,
Figure PCTKR2023007657-appb-img-000014
는 평균 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000015
는 상기 학습용 벡터를 의미하며,
Figure PCTKR2023007657-appb-img-000016
는 상기 학습용 벡터를 포함하는 학습 데이터를 의미하고,
Figure PCTKR2023007657-appb-img-000017
은 KL 발산 로스 함수를 의미하며,
Figure PCTKR2023007657-appb-img-000018
는 상기 FP 기능 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000019
는 상기 FP 특징추출 연산을 의미하며,
Figure PCTKR2023007657-appb-img-000020
는 상기 바이너리 기능 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000021
는 상기 바이너리 특징추출 연산을 의미하며,
Figure PCTKR2023007657-appb-img-000022
는 기설정된 정적 밸런싱 파라미터를 의미하고,
Figure PCTKR2023007657-appb-img-000023
는 피처 유사성 연산을 의미하며, 상기 평균 연산의 첫번째 텀(term)은 상기 KL 발산 로스, 두번째 텀(term)은 상기 피처 유사성 로스를 의미하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 학습 장치가, 하기 수식에 따라 상기 피처 유사성 연산을 수행하되,
Figure PCTKR2023007657-appb-img-000024
상기 수식에서,
Figure PCTKR2023007657-appb-img-000025
Figure PCTKR2023007657-appb-img-000026
는 임의의 입력 벡터이고,
Figure PCTKR2023007657-appb-img-000027
Figure PCTKR2023007657-appb-img-000028
Figure PCTKR2023007657-appb-img-000029
간의 코사인 유사도를 의미하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계는, 상기 학습 장치가, 상기 KL 발산 로스 및 상기 피처 유사성 로스와 함께, Iteration 수에 따라 변동되는 동적 밸런싱 파라미터를 참조하여 상기 커플링 로스를 생성하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계는, 상기 학습 장치가, 하기 수식에 따라 상기 커플링 로스를 생성하여 학습을 수행하되,
Figure PCTKR2023007657-appb-img-000030
상기 수식에서,
Figure PCTKR2023007657-appb-img-000031
는 상기 FP 기능부 파라미터를 의미하고,
Figure PCTKR2023007657-appb-img-000032
는 상기 바이너리 파라미터를 의미하며,
Figure PCTKR2023007657-appb-img-000033
는 평균 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000034
는 상기 학습용 벡터를 의미하며,
Figure PCTKR2023007657-appb-img-000035
는 상기 학습용 벡터를 포함하는 학습 데이터를 의미하고,
Figure PCTKR2023007657-appb-img-000036
은 KL 발산 로스 함수를 의미하며,
Figure PCTKR2023007657-appb-img-000037
는 상기 FP 기능 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000038
는 상기 FP 특징추출 연산을 의미하며,
Figure PCTKR2023007657-appb-img-000039
는 상기 바이너리 기능 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000040
는 상기 바이너리 특징추출 연산을 의미하며,
Figure PCTKR2023007657-appb-img-000041
는 상기 동적 밸런싱 파라미터를 의미하고,
Figure PCTKR2023007657-appb-img-000042
는 상기 Iteration 수를 의미하며,
Figure PCTKR2023007657-appb-img-000043
는 피처 유사성 연산을 의미하고, 상기 평균 연산 내부의 첫번째 텀(term)은 상기 KL 발산 로스, 두번째 텀(term)은 상기 피처 유사성 로스를 의미하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계는, 상기 학습 장치가, 하기 수식에 따라 상기 동적 밸런싱 파라미터를 계산하되,
Figure PCTKR2023007657-appb-img-000044
상기 수식에서,
Figure PCTKR2023007657-appb-img-000045
는 기설정된 최대 Iteration 수를 의미하고,
Figure PCTKR2023007657-appb-img-000046
는 상기 최대 Iteration 시의 기설정된 밸런싱 파라미터를 의미하며,
Figure PCTKR2023007657-appb-img-000047
는 최초 Iteration 시의 기설정된 밸런싱 파라미터를 의미하고,
Figure PCTKR2023007657-appb-img-000048
Figure PCTKR2023007657-appb-img-000049
에 비해 작은 것을 특징으로 하는 방법이 개시된다.
일례로서, 멀티스테이지 학습 프로세스를 적용하는 경우, 상기 (a) 단계 이전에, (a0) 상기 학습 장치가, 상기 바이너리화된 액티베이션 값 및 바이너리화되지 않은 웨이트 값을 포함하는 상기 바이너리 파라미터를 획득하는 단계; 를 더 포함하고, (c) 상기 학습 장치가, (i) 상기 커플링 로스를 사용하여 학습된 상기 바이너리 뉴럴넷의 상기 웨이트 값을 바이너리화함으로써 획득된 조정 바이너리 뉴럴넷으로 하여금, 제2 학습용 벡터에 적어도 하나의 조정 바이너리 연산을 인가하도록 하는 프로세스 및 (ii) 상기 변동성 FP 뉴럴넷의 상기 FP 파라미터 중 적어도 일부가 상기 커플링 로스를 사용하여 학습된 상태인 상기 조정 변동성 FP 뉴럴넷으로 하여금, 상기 제2 학습용 벡터에 적어도 하나의 조정 FP 연산을 가하도록 하는 프로세스를 수행하는 단계; 및 (d) 상기 학습 장치가, (i) 상기 조정 바이너리 뉴럴넷으로부터 획득된 제2 학습용 바이너리 출력 및 (ii) 상기 조정 변동성 FP 뉴럴넷으로부터 획득된 제2 학습용 FP 출력을 참조하여 제2 커플링 로스를 생성한 후, 상기 제2 커플링 로스를 사용하여 상기 조정 바이너리 뉴럴넷의 조정 바이너리 파라미터 중 적어도 일부를 학습함으로써 멀티스테이지 학습 프로세스를 완료하는 단계를 더 포함하는 것을 특징으로 하는 방법이 개시된다.
본 발명의 다른 태양에 따르면, 변동성 플로팅 포인트(Floating Point, FP) 뉴럴넷을 이동 표적으로 사용하여 자기지도학습(Self-Supervised Learning, SSL)된 바이너리 뉴럴넷을 테스트하는 방법에 있어서, (a) 테스트 장치가, (1) 학습용 벡터가 획득되면, (i) 적어도 일부가 바이너리 형식인 바이너리 파라미터를 포함하는 상기 바이너리 뉴럴넷으로 하여금, 상기 학습용 벡터에 적어도 하나의 바이너리 연산을 인가하도록 하는 프로세스 및 (ii) 적어도 일부가 SSL 방법론에 따라 학습된 FP 형식의 FP 파라미터를 포함하되, 상기 바이너리 파라미터 중 적어도 일부를 학습하는 과정에서 상기 FP 파라미터 중 적어도 일부가 조정되는 상기 변동성 FP 뉴럴넷으로 하여금, 상기 학습용 벡터에 적어도 하나의 FP 연산을 가하도록 하는 프로세스를 수행하는 프로세스; 및 (2) (i) 상기 바이너리 뉴럴넷으로부터 획득된 학습용 바이너리 출력 및 (ii) 상기 변동성 FP 뉴럴넷으로부터 획득된 학습용 FP 출력을 참조하여 상기 바이너리 뉴럴넷 및 상기 변동성 FP 뉴럴넷 간의 커플링 로스를 생성한 후, 상기 커플링 로스를 사용하여 상기 바이너리 파라미터 중 적어도 일부를 학습하면서 상기 FP 파라미터 중 적어도 일부를 학습하는 프로세스를 수행함으로써 학습이 완료된 상태에서, 테스트용 벡터가 획득되면, 상기 바이너리 뉴럴넷으로 하여금, 상기 바이너리 뉴럴넷에 적어도 하나의 바이너리 연산을 인가하도록 하는 단계; 및 (b) 상기 테스트 장치가, 상기 바이너리 뉴럴넷으로부터 획득된 테스트용 바이너리 출력을 사용자에게 제공하는 단계를 포함하는 것을 특징으로 하는 방법이 개시된다.
본 발명의 또다른 태양에 따르면, 변동성 플로팅 포인트(Floating Point, FP) 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 자기지도학습(Self-Supervised Learning, SSL) 장치에 있어서, 인스트럭션들을 저장하는 하나 이상의 메모리; 및 상기 인스트럭션들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되, 상기 프로세서는, (I) 학습용 벡터가 획득되면, (i) 적어도 일부가 바이너리 형식인 바이너리 파라미터를 포함하는 상기 바이너리 뉴럴넷으로 하여금, 상기 학습용 벡터에 적어도 하나의 바이너리 연산을 인가하도록 하는 프로세스 및 (ii) 적어도 일부가 SSL 방법론에 따라 학습된 FP 형식의 FP 파라미터를 포함하되, 상기 바이너리 파라미터 중 적어도 일부를 학습하는 과정에서 상기 FP 파라미터 중 적어도 일부가 조정되는 상기 변동성 FP 뉴럴넷으로 하여금, 상기 학습용 벡터에 적어도 하나의 FP 연산을 가하도록 하는 프로세스를 수행하는 프로세스; 및 (II) (i) 상기 바이너리 뉴럴넷으로부터 획득된 학습용 바이너리 출력 및 (ii) 상기 변동성 FP 뉴럴넷으로부터 획득된 학습용 FP 출력을 참조하여 상기 바이너리 뉴럴넷 및 상기 변동성 FP 뉴럴넷 간의 커플링 로스를 생성한 후, 상기 커플링 로스를 사용하여 상기 바이너리 파라미터 중 적어도 일부를 학습하면서 상기 FP 파라미터 중 적어도 일부를 학습하는 프로세스를 수행하는 것을 특징으로 하는 장치가 개시된다.
일례로서, 상기 (I) 프로세스는, 상기 프로세서가, 상기 변동성 FP 뉴럴넷에 상기 학습용 벡터를 입력하여, (i) 상기 변동성 FP 뉴럴넷에 포함된, 상기 FP 파라미터 중 적어도 일부인 FP 특징부 파라미터가 기학습된 상태이며 불변하는 FP 특징부로 하여금, 상기 학습용 벡터에 상기 FP 연산의 적어도 일부인 FP 특징추출 연산을 인가하여 학습용 FP 특징벡터를 생성하도록 한 다음, (ii) 상기 변동성 FP 뉴럴넷에 포함된, 상기 FP 파라미터 중 적어도 일부인 FP 기능부 파라미터가 기학습되지 않고 랜덤하게 초기화된 상태에서 상기 바이너리 파라미터 중 적어도 일부를 학습하는 과정을 통해 함께 학습되는 FP 기능부로 하여금, 상기 학습용 FP 특징벡터에 상기 FP 연산의 적어도 일부인 FP 기능 연산을 인가하여 상기 학습용 FP 출력을 생성하도록 하는 것을 특징으로 하는 장치가 개시된다.
일례로서, 상기 (II) 프로세스는, 상기 프로세서가, 하기 수식에 따라 상기 커플링 로스를 생성하여 학습을 수행하되,
Figure PCTKR2023007657-appb-img-000050
상기 수식에서,
Figure PCTKR2023007657-appb-img-000051
는 상기 FP 기능부 파라미터를 의미하고,
Figure PCTKR2023007657-appb-img-000052
는 상기 바이너리 파라미터를 의미하며,
Figure PCTKR2023007657-appb-img-000053
는 평균 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000054
는 상기 학습용 벡터를 의미하며,
Figure PCTKR2023007657-appb-img-000055
는 상기 학습용 벡터를 포함하는 학습 데이터 세트를 의미하고,
Figure PCTKR2023007657-appb-img-000056
은 KL 발산 로스 함수를 의미하며,
Figure PCTKR2023007657-appb-img-000057
는 상기 FP 기능 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000058
는 상기 FP 특징추출 연산을 의미하며,
Figure PCTKR2023007657-appb-img-000059
는 상기 바이너리 연산을 의미하는 것을 특징으로 하는 장치가 개시된다.
일례로서, 상기 (I) 프로세스는, 상기 프로세서가, 상기 바이너리 뉴럴넷에 상기 학습용 벡터를 입력하여, (i) 상기 바이너리 뉴럴넷에 포함된, 상기 바이너리 파라미터 중 적어도 일부인 바이너리 특징부 파라미터를 포함하는 바이너리 특징부로 하여금, 상기 학습용 벡터에 상기 바이너리 연산의 적어도 일부인 바이너리 특징추출 연산을 인가하여 학습용 바이너리 특징벡터를 생성하도록 한 다음, (ii) 상기 바이너리 뉴럴넷에 포함된, 상기 바이너리 파라미터 중 적어도 일부인 바이너리 기능부 파라미터를 포함하는 바이너리 기능부로 하여금, 상기 학습용 바이너리 특징벡터에 상기 바이너리 연산의 적어도 일부인 바이너리 기능 연산을 인가하여 상기 학습용 바이너리 출력을 생성하도록 하는 것을 특징으로 하는 장치가 개시된다.
일례로서, 상기 (II) 프로세스는, 상기 프로세서가, (i) 상기 학습용 바이너리 출력 및 상기 학습용 FP 출력을 참조하여 KL 발산 로스를 생성하는 프로세스 및 (ii) 상기 학습용 FP 특징벡터 및 상기 학습용 바이너리 특징벡터를 참조하여 피처 유사성 로스를 생성하는 프로세스를 수행한 다음, 상기 KL 발산 로스 및 상기 피처 유사성 로스를 참조하여 상기 커플링 로스를 생성하는 것을 특징으로 하는 장치가 개시된다.
상기 (II) 프로세스는, 상기 프로세서가, 하기 수식에 따라 상기 커플링 로스를 생성하되,
Figure PCTKR2023007657-appb-img-000060
상기 수식에서,
Figure PCTKR2023007657-appb-img-000061
는 상기 FP 기능부 파라미터를 의미하고,
Figure PCTKR2023007657-appb-img-000062
는 상기 바이너리 파라미터를 의미하며,
Figure PCTKR2023007657-appb-img-000063
는 평균 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000064
는 상기 학습용 벡터를 의미하며,
Figure PCTKR2023007657-appb-img-000065
는 상기 학습용 벡터를 포함하는 학습 데이터를 의미하고,
Figure PCTKR2023007657-appb-img-000066
은 KL 발산 로스 함수를 의미하며,
Figure PCTKR2023007657-appb-img-000067
는 상기 FP 기능 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000068
는 상기 FP 특징추출 연산을 의미하며,
Figure PCTKR2023007657-appb-img-000069
는 상기 바이너리 기능 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000070
는 상기 바이너리 특징추출 연산을 의미하며,
Figure PCTKR2023007657-appb-img-000071
는 기설정된 정적 밸런싱 파라미터를 의미하고,
Figure PCTKR2023007657-appb-img-000072
는 피처 유사성 연산을 의미하며, 상기 평균 연산의 첫번째 텀(term)은 상기 KL 발산 로스, 두번째 텀(term)은 상기 피처 유사성 로스를 의미하는 것을 특징으로 하는 장치가 개시된다.
일례로서, 상기 프로세서가, 하기 수식에 따라 상기 피처 유사성 연산을 수행하되,
Figure PCTKR2023007657-appb-img-000073
상기 수식에서,
Figure PCTKR2023007657-appb-img-000074
Figure PCTKR2023007657-appb-img-000075
는 임의의 입력 벡터이고,
Figure PCTKR2023007657-appb-img-000076
Figure PCTKR2023007657-appb-img-000077
Figure PCTKR2023007657-appb-img-000078
간의 코사인 유사도를 의미하는 것을 특징으로 하는 장치가 개시된다.
일례로서, 상기 (II) 프로세스는, 상기 프로세서가, 상기 KL 발산 로스 및 상기 피처 유사성 로스와 함께, Iteration 수에 따라 변동되는 동적 밸런싱 파라미터를 참조하여 상기 커플링 로스를 생성하는 것을 특징으로 하는 장치가 개시된다.
일례로서, 상기 (II) 프로세스는, 상기 프로세서가, 하기 수식에 따라 상기 커플링 로스를 생성하여 학습을 수행하되,
Figure PCTKR2023007657-appb-img-000079
상기 수식에서,
Figure PCTKR2023007657-appb-img-000080
는 상기 FP 기능부 파라미터를 의미하고,
Figure PCTKR2023007657-appb-img-000081
는 상기 바이너리 파라미터를 의미하며,
Figure PCTKR2023007657-appb-img-000082
는 평균 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000083
는 상기 학습용 벡터를 의미하며,
Figure PCTKR2023007657-appb-img-000084
는 상기 학습용 벡터를 포함하는 학습 데이터를 의미하고,
Figure PCTKR2023007657-appb-img-000085
은 KL 발산 로스 함수를 의미하며,
Figure PCTKR2023007657-appb-img-000086
는 상기 FP 기능 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000087
는 상기 FP 특징추출 연산을 의미하며,
Figure PCTKR2023007657-appb-img-000088
는 상기 바이너리 기능 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000089
는 상기 바이너리 특징추출 연산을 의미하며,
Figure PCTKR2023007657-appb-img-000090
는 상기 동적 밸런싱 파라미터를 의미하고,
Figure PCTKR2023007657-appb-img-000091
는 상기 Iteration 수를 의미하며,
Figure PCTKR2023007657-appb-img-000092
는 피처 유사성 연산을 의미하고, 상기 평균 연산 내부의 첫번째 텀(term)은 상기 KL 발산 로스, 두번째 텀(term)은 상기 피처 유사성 로스를 의미하는 것을 특징으로 하는 장치가 개시된다.
일례로서, 상기 (II) 프로세스는, 상기 프로세서가, 하기 수식에 따라 상기 동적 밸런싱 파라미터를 계산하되,
Figure PCTKR2023007657-appb-img-000093
상기 수식에서,
Figure PCTKR2023007657-appb-img-000094
는 기설정된 최대 Iteration 수를 의미하고,
Figure PCTKR2023007657-appb-img-000095
는 상기 최대 Iteration 시의 기설정된 밸런싱 파라미터를 의미하며,
Figure PCTKR2023007657-appb-img-000096
는 최초 Iteration 시의 기설정된 밸런싱 파라미터를 의미하고,
Figure PCTKR2023007657-appb-img-000097
Figure PCTKR2023007657-appb-img-000098
에 비해 작은 것을 특징으로 하는 장치가 개시된다.
일례로서, 멀티스테이지 학습 프로세스를 적용하는 경우, 상기 (I) 프로세스 이전에, (I0) 상기 프로세서가, 상기 바이너리화된 액티베이션 값 및 바이너리화되지 않은 웨이트 값을 포함하는 상기 바이너리 파라미터를 획득하는 프로세스; 를 더 수행하고, (III) 상기 프로세서가, (i) 상기 커플링 로스를 사용하여 학습된 상기 바이너리 뉴럴넷의 상기 웨이트 값을 바이너리화함으로써 획득된 조정 바이너리 뉴럴넷으로 하여금, 제2 학습용 벡터에 적어도 하나의 조정 바이너리 연산을 인가하도록 하는 프로세스 및 (ii) 상기 변동성 FP 뉴럴넷의 상기 FP 파라미터 중 적어도 일부가 상기 커플링 로스를 사용하여 학습된 상태인 상기 조정 변동성 FP 뉴럴넷으로 하여금, 상기 제2 학습용 벡터에 적어도 하나의 조정 FP 연산을 가하도록 하는 프로세스를 수행하는 프로세스; 및 (IV) 상기 프로세서가, (i) 상기 조정 바이너리 뉴럴넷으로부터 획득된 제2 학습용 바이너리 출력 및 (ii) 상기 조정 변동성 FP 뉴럴넷으로부터 획득된 제2 학습용 FP 출력을 참조하여 제2 커플링 로스를 생성한 후, 상기 제2 커플링 로스를 사용하여 상기 조정 바이너리 뉴럴넷의 조정 바이너리 파라미터 중 적어도 일부를 학습함으로써 멀티스테이지 학습 프로세스를 완료하는 프로세스를 더 수행하는 것을 특징으로 하는 장치가 개시된다.
본 발명의 또다른 태양에 따르면, 변동성 플로팅 포인트(Floating Point, FP) 뉴럴넷을 이동 표적으로 사용하여 자기지도학습(Self-Supervised Learning, SSL)된 바이너리 뉴럴넷의 테스트 장치에 있어서, 인스트럭션들을 저장하는 하나 이상의 메모리; 및 상기 인스트럭션들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되, 상기 프로세서는, (I) (1) 학습용 벡터가 획득되면, (i) 적어도 일부가 바이너리 형식인 바이너리 파라미터를 포함하는 상기 바이너리 뉴럴넷으로 하여금, 상기 학습용 벡터에 적어도 하나의 바이너리 연산을 인가하도록 하는 프로세스 및 (ii) 적어도 일부가 SSL 방법론에 따라 학습된 FP 형식의 FP 파라미터를 포함하되, 상기 바이너리 파라미터 중 적어도 일부를 학습하는 과정에서 상기 FP 파라미터 중 적어도 일부가 조정되는 상기 변동성 FP 뉴럴넷으로 하여금, 상기 학습용 벡터에 적어도 하나의 FP 연산을 가하도록 하는 프로세스를 수행하는 프로세스; 및 (2) (i) 상기 바이너리 뉴럴넷으로부터 획득된 학습용 바이너리 출력 및 (ii) 상기 변동성 FP 뉴럴넷으로부터 획득된 학습용 FP 출력을 참조하여 상기 바이너리 뉴럴넷 및 상기 변동성 FP 뉴럴넷 간의 커플링 로스를 생성한 후, 상기 커플링 로스를 사용하여 상기 바이너리 파라미터 중 적어도 일부를 학습하면서 상기 FP 파라미터 중 적어도 일부를 학습하는 프로세스를 수행함으로써 학습이 완료된 상태에서, 테스트용 벡터가 획득되면, 상기 바이너리 뉴럴넷으로 하여금, 상기 바이너리 뉴럴넷에 적어도 하나의 바이너리 연산을 인가하도록 하는 프로세스; 및 (II) 상기 바이너리 뉴럴넷으로부터 획득된 테스트용 바이너리 출력을 사용자에게 제공하는 프로세스를 수행하도록 설정된 것을 특징으로 하는 장치가 개시된다.
본 발명은 FP 뉴럴넷의 기능부가 고정되지 않은 상태에서 바이너리 뉴럴넷을 학습하면서 함께 학습되도록 함으로써 학습 시나리오의 진행에 따라 변화되는 FP 뉴럴넷을 이동 표적으로 사용하는, 바이너리 뉴럴넷의 SSL 방법을 제공할 수 있는 효과가 있다.
또한 본 발명은 피처 유사성 로스, 동적 밸런싱 및 멀티스테이지 학습 방식을 추가적으로 적용하여 바이너리 뉴럴넷의 정확도를 향상시킬 수 있는 SSL 방법을 제공할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 변동성 FP 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 SSL 방법을 수행하는 학습 장치의 구성을 나타낸 도면이다.
도 2a 및 2b는 본 발명의 일 실시예에 따른 변동성 FP 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 SSL 방법을 수행하는 데에 사용되는 변동성 FP 뉴럴넷 및 바이너리 뉴럴넷의 구성을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 변동성 FP 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 SSL 방법을 나타낸 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 변동성 FP 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 SSL 방법의 실시예들을 단계적으로 나타낸 도면이다.
도 5는 본 발명의 변동성 FP 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 SSL 방법의 각 실시예를 적용함에 따른 테스트 시의 정확도의 변화를 나타낸 그래프이다.
도 6a 및 도 6b는 각각 종래의 Supervised KL Div. 학습 방법 및 이에 SSL 방법을 적용하여 응용한 S2-BNN 학습 방법을 나타낸 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 변동성 FP 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 SSL 방법을 수행하는 학습 장치의 구성을 나타낸 도면이다.
도 1을 참조하면, 학습 장치(100)는 변동성 FP 뉴럴넷(130) 및 바이너리 뉴럴넷(140)을 포함할 수 있다. 이 때, 변동성 FP 뉴럴넷(130) 및 바이너리 뉴럴넷(140)의 입출력 및 연산 과정은 각각 통신부(110) 및 프로세서(120)에 의해 이루어질 수 있다. 다만, 도 1에서는 통신부(110) 및 프로세서(120)의 구체적인 연결 관계를 생략하였다. 또한, 메모리(115)는 후술할 여러 가지 인스트럭션들을 저장한 상태일 수 있고, 프로세서(120)는 메모리에 저장된 인스트럭션들을 수행하도록 됨으로써 추후 설명할 프로세스들을 수행하여 본 발명을 수행할 수 있다. 이와 같이 학습 장치(100)가 묘사되었다고 하여, 학습 장치(100)가 본 발명을 실시하기 위한 미디엄, 프로세서 및 메모리가 통합된 형태인 통합 프로세서를 포함하는 경우를 배제하는 것은 아니다. 이하 변동성 FP 뉴럴넷(130) 및 바이너리 뉴럴넷(140)의 구성에 대해 설명하도록 한다.
도 2a 및 2b는 본 발명의 일 실시예에 따른 변동성 FP 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 SSL 방법을 수행하는 데에 사용되는 변동성 FP 뉴럴넷 및 바이너리 뉴럴넷의 구성을 나타낸 도면이다.
도 2a를 참조하면, 변동성 FP 뉴럴넷(130)은 FP 특징부(131) 및 FP 기능부(132)를 포함함을 알 수 있다. 여기서 FP 특징부(131)는, 컨벌루션 연산 등을 사용하여 입력으로부터 특징 값, 즉 FP 특징벡터를 추출하는 기능을 수행할 수 있으며, 내부적인 구성은 일반적인 뉴럴 네트워크들의 해당 부분과 동일 또는 유사할 수 있다. 또한, FP 기능부(132)는, FP 특징부(131)를 통해 획득된 FP 특징벡터를 사용하여 변동성 FP 뉴럴넷(130)의 구성 목적에 따른 기능을 수행할 수 있는데, 예를 들어 이미지 분류, 이미지 세그멘테이션, 패턴 인식, 제어 등의 다양한 기능들 중 하나일 수 있으며, 이의 내부 구조는 일반적으로 알려진 뉴럴 네트워크가 해당 기능을 수행하는 경우의 해당 기능부와 동일 또는 유사할 수 있다. 이와 같은 FP 특징부(131) 및 FP 기능부(132)의 웨이트 및 액티베이션 값 등의 파라미터들은 FP 형식일 수 있다. 또한, FP 특징부(131)의 FP 특징부 파라미터는 학습이 완료되어 불변할 수 있고, FP 기능부(132)의 FP 기능부 파라미터는 학습이 되지 않은 상태로 랜덤하게 초기화된 상태일 수 있다. 이와 같은 상태가 본 발명의 방법 수행에 어떠한 영향을 미치는지는 추후 설명될 것이다. 그리고, 도면에서와 같이, 이하 변동성 FP 뉴럴넷(130)은 수식에서
Figure PCTKR2023007657-appb-img-000099
로, FP 특징부(131)는
Figure PCTKR2023007657-appb-img-000100
로, FP 기능부(132)는
Figure PCTKR2023007657-appb-img-000101
로 표기될 것이다.
도 2b를 참조하면, 바이너리 뉴럴넷(140)은 바이너리 특징부(141) 및 바이너리 기능부(142)를 포함함을 알 수 있다. 여기서 바이너리 특징부(141)는, 컨벌루션 연산 등을 사용하여 입력으로부터 특징 값, 즉 바이너리 특징벡터를 추출하는 기능을 수행할 수 있으며, 내부적인 구성은 일반적인 뉴럴 네트워크들의 해당 부분과 동일 또는 유사할 수 있다. 또한, 바이너리 기능부(142)는, 바이너리 특징부(141)를 통해 획득된 바이너리 특징벡터를 사용하여 바이너리 뉴럴넷(140)의 구성 목적에 따른 기능을 수행할 수 있는데, 예를 들어 이미지 분류, 이미지 세그멘테이션, 패턴 인식, 제어 등의 다양한 기능들 중 하나일 수 있으며, 이의 내부 구조는 일반적으로 알려진 뉴럴 네트워크가 해당 기능을 수행하는 경우의 해당 기능부와 동일 또는 유사할 수 있다. 여기서 바이너리 기능부(142)가 수행하는 기능은 FP 기능부(132)가 수행하는 것과 동일할 것이다. 이와 같은 바이너리 특징부(141) 및 바이너리 기능부(142)의 웨이트 및 액티베이션 값 등의 파라미터들은 바이너리 형식일 수 있는데, 이하 설명하겠지만, 실시예에 따라 액티베이션 값을 먼저 바이너리화한 다음 차후에 웨이트 값을 바이너리화하는 방식 등으로 시간 순서를 달리하여 구현될 수도 있다. 이와 반대로, 웨이트 값을 먼저 바이너리화한 다음 액티베이션 값을 바이너리화하는 방식으로 구현될 수도 있을 것이다. 그리고, 도면에서와 같이, 이하 바이너리 뉴럴넷(140)은 수식에서
Figure PCTKR2023007657-appb-img-000102
로, 바이너리 특징부(141)는
Figure PCTKR2023007657-appb-img-000103
로, 바이너리 기능부(142)는
Figure PCTKR2023007657-appb-img-000104
로 표기될 것이다.
이하 전술한 학습 장치(100)를 사용하여 수행되는, 본 발명의 일 실시예에 따른 SSL 방법에 대해 구체적으로 설명하도록 한다. 이를 위해 도 3을 참조한다.
도 3은 본 발명의 일 실시예에 따른 변동성 FP 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 SSL 방법을 나타낸 흐름도이다.
도 3을 참조하면, 학습 장치(100)가, 학습용 벡터가 획득되면, 바이너리 형식의 바이너리 파라미터를 포함하는 바이너리 뉴럴넷(140)으로 하여금, 학습용 벡터에 적어도 하나의 바이너리 연산을 인가하도록 할 수 있다(S01-1). 그리고, 이와 병렬적으로, 학습 장치(100)가, 학습용 벡터가 획득되면, 적어도 일부가 SSL 방법론에 따라 학습된 FP 형식의 FP 파라미터를 포함하되, 바이너리 파라미터 중 적어도 일부를 학습하는 과정에서 FP 파라미터 중 적어도 일부가 조정되는 변동성 FP 뉴럴넷(130)으로 하여금, 학습용 벡터에 적어도 하나의 FP 연산을 가하도록 할 수 있다(S01-2). 이후, 학습 장치(100)가, (i) 바이너리 뉴럴넷(140)으로부터 획득된 학습용 바이너리 출력 및 (ii) 변동성 FP 뉴럴넷(130)으로부터 획득된 학습용 FP 출력을 참조하여 바이너리 뉴럴넷 및 변동성 FP 뉴럴넷 간의 커플링 로스를 생성할 수 있다(S02). 그리고, 학습 장치(100)가, 커플링 로스를 사용하여 바이너리 파라미터 중 적어도 일부를 학습하면서 FP 파라미터 중 적어도 일부를 학습할 수 있다(S03).
이하 본 발명의 SSL 방법에 대해 더욱 자세히 설명할 것인데, 이는 상술한 도 3의 프로세스 흐름을 큰 틀로 하여, 다소 단순화된 실시예부터 여러 가지 개선구성이 추가된 실시예 중 하나가 선택적으로 수행될 수 있는바, 각각에 대해 설명하기 위해 도 4를 참조하도록 한다.
도 4는 본 발명의 일 실시예에 따른 변동성 FP 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 SSL 방법의 실시예들을 단계적으로 나타낸 도면이다.
도 4를 참조하면, 본 발명의 각각의 실시예의 구성이 ①②③④로 표시된 것을 확인할 수 있다. 여기서, ①②③④는 시간적 순서를 의미하는 것은 아니다.
참고로, 먼저 가장 단순화되어 있으면서 본 발명의 기본적인 컨셉을 가장 잘 보여주는 실시예는 KL 발산 로스만을 사용하는 ① 실시예이고, 이를 개선하여 피처 유사성 로스를 추가적으로 사용한 것이 ①+② 실시예, 이를 또다시 개선하여 동적 밸런싱을 적용한 것이 ①+②+③ 실시예일 수 있다. ④ 실시예는, ①, ①+②, ①+②+③ 실시예 중 어느 것을 선택하여 병렬적으로 적용하여 성능을 향상시킬 수 있는 실시예일 수 있다. 이하 각각의 실시예에 대해, ①부터 순서대로 설명하도록 한다.
즉, 학습 장치(100)는, 학습 데이터 세트에 포함된 학습용 벡터가 획득되면, 이를 변동성 FP 뉴럴넷(130)과 바이너리 뉴럴넷(140)에 각각 병렬적으로 입력할 수 있다. 즉, 변동성 FP 뉴럴넷(100)의 경우, 학습 장치(100)가, 변동성 FP 뉴럴넷(100)에 포함된, FP 파라미터 중 적어도 일부인 FP 특징부 파라미터가 기학습된 상태이며 불변하는 FP 특징부(131)로 하여금, 학습용 벡터에 FP 연산의 적어도 일부인 FP 특징추출 연산을 인가하여 학습용 FP 특징벡터를 생성하도록 할 수 있다. 이후, 학습 장치(100)는, 변동성 FP 뉴럴넷(130)에 포함된, FP 파라미터 중 적어도 일부인 FP 기능부 파라미터가 기학습되지 않고 랜덤하게 초기화된 상태에서 바이너리 파라미터 중 적어도 일부를 학습하는 과정을 통해 함께 학습되는 FP 기능부(132)로 하여금, 학습용 FP 특징벡터에 FP 연산의 적어도 일부인 FP 기능 연산을 인가하여 학습용 FP 출력을 생성하도록 할 수 있다. 즉, 전술한 S01-2 단계에서 지칭된 SSL 방법론에 따라 학습된 FP 파라미터 중 적어도 일부는 FP 특징부 파라미터일 수 있고, 바이너리 파라미터의 학습 과정에서 함께 학습되는 FP 파라미터 중 적어도 일부는 FP 기능부 파라미터일 수 있다.
한편, 바이너리 뉴럴넷(140)의 경우, 이상의 변동성 FP 뉴럴넷(130)의 프로세스와 병렬적으로, 학습 장치(100)가, 바이너리 뉴럴넷(140)에 포함된, 바이너리 파라미터 중 적어도 일부인 바이너리 특징부 파라미터를 포함하는 바이너리 특징부(141)로 하여금, 학습용 벡터에 바이너리 연산의 적어도 일부인 바이너리 특징추출 연산을 인가하여 학습용 바이너리 특징벡터를 생성하도록 할 수 있다. 그리고, 학습 장치(100)가, 바이너리 뉴럴넷(140)에 포함된, 바이너리 파라미터 중 적어도 일부인 바이너리 기능부 파라미터를 포함하는 바이너리 기능부(142)로 하여금, 학습용 바이너리 특징벡터에 바이너리 연산의 적어도 일부인 바이너리 기능 연산을 인가하여 학습용 바이너리 출력을 생성하도록 할 수 있다.
이와 같은 병렬적인 과정이 완료되면, 학습 장치(100)는, 학습용 바이너리 출력 및 학습용 FP 출력을 참조하여, 하기 수식에 따라 커플링 로스를 생성하여 학습을 수행할 수 있다.
Figure PCTKR2023007657-appb-img-000105
상기 수식에서,
Figure PCTKR2023007657-appb-img-000106
는 FP 기능부 파라미터를 의미하고,
Figure PCTKR2023007657-appb-img-000107
는 바이너리 파라미터를 의미하며,
Figure PCTKR2023007657-appb-img-000108
는 평균 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000109
는 학습용 벡터를 의미하며,
Figure PCTKR2023007657-appb-img-000110
는 학습용 벡터를 포함하는 학습 데이터 세트를 의미하고,
Figure PCTKR2023007657-appb-img-000111
은 KL 발산 로스 함수를 의미하며,
Figure PCTKR2023007657-appb-img-000112
는 FP 기능 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000113
는 FP 특징추출 연산을 의미하며,
Figure PCTKR2023007657-appb-img-000114
는 바이너리 연산을 의미할 수 있다.
이상의 커플링 로스가 생성되면, 학습 장치(100)는 바이너리 파라미터 중 적어도 일부를 학습하면서 FP 파라미터 중 적어도 일부, 구체적으로는 FP 기능부(132)의 FP 기능부 파라미터를 학습할 수 있다. 여기서, FP 기능부 파라미터가 올바르게 학습될 수 있을지에 대한 의문이 들 수 있으나, Chen et al.의 A simple framework for contrastive learning on visual representations(2020), Chen et al.의 Big self-supervised models are strong semi-supervised learners(2020), Chen and He의 Exploring simple Siamese representation learning(2021), Goyal et al.의 Self-supervised pretraining of visual features in the wild(2021) 등의 선행 연구에서 확인할 수 있듯, FP 기능부(132)가 이미지 분류 연산을 수행하는 경우, 이와 같은 방식으로 FP 기능부(132)만을 SSL 방식으로 학습하더라도 옳은 방향으로 학습이 이루어질 수 있다. 또한, 이와 같이 FP 기능부(132)가 학습에 따라 계속 변화함으로써, 바이너리 네트워크(140)가 고정 표적이 아닌 이동 표적을 기준으로 학습을 수행하여, 더욱 나은 성능을 보일 수 있게 된다.
이상 도 4의 ① 실시예에 대해 설명하였고, 이하 도 4의 ①+② 실시예에 대해 설명하도록 한다. ①+②는 ①의 커플링 로스를 생성할 때, KL 발산 함수만을 사용하는 것이 아니라, 피처 유사성 연산을 함께 사용하는 실시예이다. 즉, 학습 장치(100)가, (i) 학습용 바이너리 출력 및 학습용 FP 출력을 참조하여 KL 발산 로스를 생성하는 프로세스 및 (ii) 학습용 FP 특징벡터 및 학습용 바이너리 특징벡터를 참조하여 피처 유사성 로스를 생성하는 프로세스를 수행한 다음, KL 발산 로스 및 피처 유사성 로스를 참조하여 커플링 로스를 생성하여 학습을 수행할 수 있다. 이를 수식으로 표현하면 하기와 같다.
Figure PCTKR2023007657-appb-img-000115
상기 수식에서,
Figure PCTKR2023007657-appb-img-000116
는 FP 기능부 파라미터를 의미하고,
Figure PCTKR2023007657-appb-img-000117
는 바이너리 파라미터를 의미하며,
Figure PCTKR2023007657-appb-img-000118
는 평균 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000119
는 학습용 벡터를 의미하며,
Figure PCTKR2023007657-appb-img-000120
는 학습용 벡터를 포함하는 학습 데이터를 의미하고,
Figure PCTKR2023007657-appb-img-000121
은 KL 발산 로스 함수를 의미하며,
Figure PCTKR2023007657-appb-img-000122
는 FP 기능 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000123
는 FP 특징추출 연산을 의미하며,
Figure PCTKR2023007657-appb-img-000124
는 바이너리 기능 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000125
는 바이너리 특징추출 연산을 의미하며,
Figure PCTKR2023007657-appb-img-000126
는 0 이상 1 이하의 기설정된 정적 밸런싱 파라미터를 의미하고,
Figure PCTKR2023007657-appb-img-000127
는 피처 유사성 연산을 의미하며, 평균 함수의 첫번째 텀(term)은 KL 발산 로스, 두번째 텀(term)은 피처 유사성 로스를 의미할 수 있다.
여기서 KL 발산 로스 부분은 이전에 설명한 것과 동일하므로 설명을 생략하고, 피처 유사성 로스 부분에 대해 설명하도록 한다. 피처 유사성 로스가 필요한 이유에 대해 먼저 설명하면, FP 기능부(132)의 FP 기능부 파라미터가 학습되지 않은 상태이므로, 이를 기준으로 KL 발산 로스를 계산하면 그라디언트가 과도하게 크면서도 변동성이 크게 된다. 이는 학습의 안정성을 해치므로, 일단 FP 기능부 파라미터가 안정화될 때까지는 바이너리 특징부(141)가 FP 특징부(131)를 기준으로 먼저 학습하도록 하는 프로세스가 필요하다. 이를 위한 로스가 피처 유사성 로스로, 이는 바이너리 특징부(141)의 출력과 FP 특징부(131)의 출력 간의 차이에 비례하며, 이를 최소화하는 바이너리 특징부 파라미터를 찾음으로써 바이너리 특징부(141)가 FP 기능부(132)의 초기 급변동에도 불구하고 올바르게, 즉 FP 특징부(131)의 출력과 유사한 출력을 생성할 수 있도록 한다. 따라서 피처 유사성 연산은, 학습용 바이너리 특징벡터 및 학습용 FP 특징벡터 간의 차이를 나타낼 수 있는 연산이어야 하고, 일 실시예에 따르면, 이하의 수식에 따른 코사인 거리 연산일 수 있다.
Figure PCTKR2023007657-appb-img-000128
상기 수식에서,
Figure PCTKR2023007657-appb-img-000129
Figure PCTKR2023007657-appb-img-000130
는 임의의 입력 벡터이고,
Figure PCTKR2023007657-appb-img-000131
Figure PCTKR2023007657-appb-img-000132
Figure PCTKR2023007657-appb-img-000133
간의 코사인 유사도를 의미할 수 있다.
이상 도 4의 ①+② 실시예에 대해 설명한 바, 이하 도 4의 ①+②+③ 실시예에 대해 설명하도록 한다. 전술한 ①+② 실시예에서는, 밸런싱 파라미터
Figure PCTKR2023007657-appb-img-000134
가 기설정되어 정적인 상태이다. 하지만, FP 기능부(132)에 의한 그라디언트 크기 및 변동성 문제는 학습 초반에 영향을 많이 끼치고, 학습 후반으로 갈수록 영향이 적다. 이에 따라 더욱 효율적인 학습을 위해 밸런싱 파라미터
Figure PCTKR2023007657-appb-img-000135
가 Iteration 수에 따라 변동되도록, 구체적으로는 학습 초반에는 크고, 학습 후반에는 작아지도록 동적으로 조정하는 실시예가 ①+②+③이다. 이하 바로 본 실시예의 수식에 대해 설명하도록 한다.
Figure PCTKR2023007657-appb-img-000136
상기 수식에서,
Figure PCTKR2023007657-appb-img-000137
는 FP 기능부 파라미터를 의미하고, 상기
Figure PCTKR2023007657-appb-img-000138
는 상기 바이너리 파라미터를 의미하며,
Figure PCTKR2023007657-appb-img-000139
는 평균 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000140
는 상기 학습용 벡터를 의미하며,
Figure PCTKR2023007657-appb-img-000141
는 상기 학습용 벡터를 포함하는 학습 데이터를 의미하고,
Figure PCTKR2023007657-appb-img-000142
은 KL 발산 로스 함수를 의미하며,
Figure PCTKR2023007657-appb-img-000143
는 FP 기능 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000144
는 FP 특징추출 연산을 의미하며,
Figure PCTKR2023007657-appb-img-000145
는 바이너리 기능 연산을 의미하고,
Figure PCTKR2023007657-appb-img-000146
는 상기 바이너리 특징추출 연산을 의미하며,
Figure PCTKR2023007657-appb-img-000147
는 동적 밸런싱 파라미터를 의미하고,
Figure PCTKR2023007657-appb-img-000148
는 Iteration 수를 의미하며,
Figure PCTKR2023007657-appb-img-000149
는 피처 유사성 연산을 의미하고, 평균 연산 내부의 첫번째 텀(term)은 상기 KL 발산 로스, 두번째 텀(term)은 상기 피처 유사성 로스를 의미할 수 있다. 다른 부분은 전술한 것과 동일하므로 설명을 생략하고, 동적 밸런싱 파라미터
Figure PCTKR2023007657-appb-img-000150
가 어떻게 학습 초반에는 크고 학습 후반에는 작도록 하는지에 대해 설명하도록 한다.
즉, 학습 장치(100)는, 하기 수식에 따라 동적 밸런싱 파라미터를 계산하되,
Figure PCTKR2023007657-appb-img-000151
상기 수식에서,
Figure PCTKR2023007657-appb-img-000152
는 기설정된 최대 Iteration 수를 의미하고,
Figure PCTKR2023007657-appb-img-000153
는 0 이상 1 이하의 최대 Iteration 시의 기설정된 밸런싱 파라미터를 의미하며,
Figure PCTKR2023007657-appb-img-000154
는 0 이상 1 이하의 최초 Iteration 시의 기설정된 밸런싱 파라미터를 의미할 수 있다. 여기서
Figure PCTKR2023007657-appb-img-000155
Figure PCTKR2023007657-appb-img-000156
에 비해 작게 설정되면, Iteration이 진행될수록
Figure PCTKR2023007657-appb-img-000157
가 작아짐은 명백하다.
이상 도 4의 ①+②+③ 실시예에 대해 설명한 바, 이하 도 4의 ④ 실시예인 멀티스테이지 학습 프로세스에 대해 설명할 것인데, 전술한 바와 같이 ①, ①+②, ①+②+③ 실시예 중 어느 것을 선택하여 병렬적으로 적용할 수 있는 것이나, 이하 설명에서는 ① 실시예에 적용한 경우를 상정하여 설명하도록 한다. 여기서 ①, ①+②, ①+②+③ 실시예 모두 큰 구조는 비슷하므로, ① 실시예에 적용한 경우만을 상정하여 설명하여도 무방할 것이다.
멀티스테이지 학습 프로세스는 Bulat et al.의 Bats: Binary architecture search(2020), Liu et al.의 Reactnet: Towards precise binary neural network with generalized activation functions(2020) 및 Martinez et al.의 Training binary neural networks with real-to-binary convolutions(2020) 등에서 제안된, 바이너리 뉴럴 네트워크에 적용할 수 있는 효과적인 학습 방식으로, 골자는, 액티베이션 값만 바이너리화하고 웨이트 값은 바이너리화하지 않은 상태에서 1차적인 학습을 진행하고, 이후 바이너리화하지 않은 상태에서 학습된 웨이트 값을 바이너리화하여 전체가 바이너리화된 뉴럴 네트워크를 획득한 다음 다시 2차 학습을 진행한다는 것이다. 이와 같은 멀티스테이지 학습 프로세스는, 2차 학습의 초기값이 최적화 값에 가까운 상태라 수렴이 빨리 일어난다는 장점이 있다. 하지만 이와 같은 종래 기술에 따른 멀티스테이지 학습 프로세스를 직접적으로 본 발명의 실시예들에 적용할 수는 없는데, 이는 2차 학습에서 FP 기능부(132)에 비해 바이너리 뉴럴넷(140)의 수렴 속도가 너무 빨라, 바이너리 뉴럴넷(140)이 최적화 상태에 도달하지 못한 상태에서 학습이 종료될 수 있기 때문이다. 이와 같은 문제점을 해결하기 위해, 본 발명의 실시예들에 멀티스테이지 학습 프로세스를 적용할 때에는, FP 기능부 파라미터의 경우에도 1차 학습에서 획득된 값을 2차 학습에서 그대로 초기값으로 사용하여, FP 기능부(132)와 바이너리 뉴럴넷(140)의 수렴 속도를 유사하게 조정할 수 있다.
즉, 학습 장치(100)는, 도 3의 S01-1 및 S01-2 이전에, 바이너리화된 액티베이션 값 및 바이너리화되지 않은 웨이트 값을 포함하는 바이너리 파라미터를 획득할 수 있다. 여기서 액티베이션 값 및 웨이트 값은 랜덤하게 초기화된 값일 수 있고, 또는 변동성 FP 뉴럴넷(130)의 대응되는 값들과 동일할 수도 있다. 이후, S01 내지 S03이 수행됨으로써 1차 학습이 완료되면, 학습 장치(100)가, (i) 커플링 로스를 사용하여 학습된 바이너리 뉴럴넷(140)의 웨이트 값을 바이너리화함으로써 획득된 조정 바이너리 뉴럴넷으로 하여금, 제2 학습용 벡터에 적어도 하나의 조정 바이너리 연산을 인가하도록 하는 프로세스 및 (ii) FP 파라미터 중 적어도 일부가 커플링 로스를 사용하여 학습된 상태인 조정 변동성 FP 뉴럴넷으로 하여금, 제2 학습용 벡터에 적어도 하나의 조정 FP 연산을 가하도록 하는 프로세스를 수행할 수 있다. 이상의 과정은 조정 바이너리 뉴럴넷 및 조정 변동성 FP 뉴럴넷을 사용했다는 점 외에는 전술한 도 3의 S01-1 및 S01-2와 유사하게 수행될 수 있다. 이후, 학습 장치(100)가, (i) 조정 바이너리 뉴럴넷으로부터 획득된 제2 학습용 바이너리 출력 및 (ii) 조정 변동성 FP 뉴럴넷으로부터 획득된 제2 학습용 FP 출력을 참조하여 제2 커플링 로스를 생성한 후, 제2 커플링 로스를 사용하여 조정 바이너리 뉴럴넷의 조정 바이너리 파라미터 중 적어도 일부를 학습할 수 있다. 이 경우에도, 1차 학습되었던, 조정 변동성 FP 뉴럴넷의 FP 기능부 파라미터가 조정 바이너리 파라미터 중 적어도 일부와 함께 학습될 수 있으며, 도 3의 S02 및 S03과 유사하게 수행될 수 있다. 이상의 ④ 실시예를 적용할 경우, 최종적으로 학습을 통해 획득되는 뉴럴넷은 조정 바이너리 뉴럴넷일 것이고, ①, ①+②, ①+②+③ 실시예를 적용할 경우, 최종적으로 학습을 통해 획득되는 뉴럴넷은 바이너리 뉴럴넷(140)일 수 있다.
이상 설명한 바에 따라 획득된 바이너리 뉴럴넷(140)의 테스트 방법에 대해 이하 설명하도록 한다. ④ 실시예를 적용한 경우에 획득되는 조정 바이너리 뉴럴넷의 경우에도 이하의 테스트 방법이 동일하게 적용될 수 있음은 자명할 것이다.
즉, (1) 학습용 벡터가 획득되면, (i) 적어도 일부가 바이너리 형식인 바이너리 파라미터를 포함하는 바이너리 뉴럴넷으로 하여금, 학습용 벡터에 적어도 하나의 바이너리 연산을 인가하도록 하는 프로세스 및 (ii) 적어도 일부가 SSL 방법론에 따라 학습된 FP 형식의 FP 파라미터를 포함하되, 바이너리 파라미터 중 적어도 일부를 학습하는 과정에서 FP 파라미터 중 적어도 일부가 조정되는 변동성 FP 뉴럴넷으로 하여금, 학습용 벡터에 적어도 하나의 FP 연산을 가하도록 하는 프로세스를 수행하는 프로세스; 및 (2) (i) 바이너리 뉴럴넷으로부터 획득된 학습용 바이너리 출력 및 (ii) 변동성 FP 뉴럴넷으로부터 획득된 학습용 FP 출력을 참조하여 바이너리 뉴럴넷 및 변동성 FP 뉴럴넷 간의 커플링 로스를 생성한 후, 커플링 로스를 사용하여 바이너리 파라미터 중 적어도 일부를 학습하면서 FP 파라미터 중 적어도 일부를 학습하는 프로세스를 수행함으로써 학습이 완료된 상태에서, 테스트용 벡터가 획득되면, 테스트 장치가, 바이너리 뉴럴넷으로 하여금, 바이너리 뉴럴넷에 적어도 하나의 바이너리 연산을 인가하도록 할 수 있다. 그리고, 테스트 장치가, 바이너리 뉴럴넷으로부터 획득된, 테스트용 바이너리 출력을 사용자에게 제공할 수 있다. 이하, 이상의 각 실시예를 적용한 경우의 테스트 시의 성능에 대해 설명하도록 한다.
도 5는 본 발명의 변동성 FP 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 SSL 방법의 각 실시예를 적용함에 따른 테스트 시의 정확도의 변화를 나타낸 그래프이다.
도 5를 참조하면, FP 기능부(132)가 이미지 분류를 수행하는 경우의 ImageNet Linear Evaluation Accuracy 값들을 확인할 수 있다. ① 실시예만으로도 57.33%의 상당한 정확도를 보이고, ①+②, ①+②+③ 및 ①+②+③+④로 추가적인 구성을 부가한 실시예일수록 더 나은 정확도를 보임을 확인할 수 있다.
이하 ①+②+③+④ 실시예를 선택한 경우의 전체 알고리즘을 소개하고 마무리하도록 한다. 이하의 알고리즘에서 사용된 문자들과 함수들은 모두 이상 설명한 그것들과 동일하므로, 추가적인 설명의 부가 없이도 통상의 기술자가 용이하게 이하의 알고리즘을 이해할 것으로 본다.
Figure PCTKR2023007657-appb-img-000158
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기계로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (24)

  1. 변동성 플로팅 포인트(Floating Point, FP) 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 자기지도학습(Self-Supervised Learning, SSL) 방법에 있어서,
    (a) 학습 장치가, 학습용 벡터가 획득되면, (i) 적어도 일부가 바이너리 형식인 바이너리 파라미터를 포함하는 상기 바이너리 뉴럴넷으로 하여금, 상기 학습용 벡터에 적어도 하나의 바이너리 연산을 인가하도록 하는 프로세스 및 (ii) 적어도 일부가 SSL 방법론에 따라 학습된 FP 형식의 FP 파라미터를 포함하되, 상기 바이너리 파라미터 중 적어도 일부를 학습하는 과정에서 상기 FP 파라미터 중 적어도 일부가 조정되는 상기 변동성 FP 뉴럴넷으로 하여금, 상기 학습용 벡터에 적어도 하나의 FP 연산을 가하도록 하는 프로세스를 수행하는 단계; 및
    (b) 상기 학습 장치가, (i) 상기 바이너리 뉴럴넷으로부터 획득된 학습용 바이너리 출력 및 (ii) 상기 변동성 FP 뉴럴넷으로부터 획득된 학습용 FP 출력을 참조하여 상기 바이너리 뉴럴넷 및 상기 변동성 FP 뉴럴넷 간의 커플링 로스를 생성한 후, 상기 커플링 로스를 사용하여 상기 바이너리 파라미터 중 적어도 일부를 학습하면서 상기 FP 파라미터 중 적어도 일부를 학습하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 (a) 단계는,
    상기 학습 장치가, 상기 변동성 FP 뉴럴넷에 상기 학습용 벡터를 입력하여, (i) 상기 변동성 FP 뉴럴넷에 포함된, 상기 FP 파라미터 중 적어도 일부인 FP 특징부 파라미터가 기학습된 상태이며 불변하는 FP 특징부로 하여금, 상기 학습용 벡터에 상기 FP 연산의 적어도 일부인 FP 특징추출 연산을 인가하여 학습용 FP 특징벡터를 생성하도록 한 다음, (ii) 상기 변동성 FP 뉴럴넷에 포함된, 상기 FP 파라미터 중 적어도 일부인 FP 기능부 파라미터가 기학습되지 않고 랜덤하게 초기화된 상태에서 상기 바이너리 파라미터 중 적어도 일부를 학습하는 과정을 통해 함께 학습되는 FP 기능부로 하여금, 상기 학습용 FP 특징벡터에 상기 FP 연산의 적어도 일부인 FP 기능 연산을 인가하여 상기 학습용 FP 출력을 생성하도록 하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 (b) 단계는,
    상기 학습 장치가, 하기 수식에 따라 상기 커플링 로스를 생성하여 학습을 수행하되,
    Figure PCTKR2023007657-appb-img-000159
    상기 수식에서,
    Figure PCTKR2023007657-appb-img-000160
    는 상기 FP 기능부 파라미터를 의미하고,
    Figure PCTKR2023007657-appb-img-000161
    는 상기 바이너리 파라미터를 의미하며,
    Figure PCTKR2023007657-appb-img-000162
    는 평균 연산을 의미하고,
    Figure PCTKR2023007657-appb-img-000163
    는 상기 학습용 벡터를 의미하며,
    Figure PCTKR2023007657-appb-img-000164
    는 상기 학습용 벡터를 포함하는 학습 데이터 세트를 의미하고,
    Figure PCTKR2023007657-appb-img-000165
    은 KL 발산 로스 함수를 의미하며,
    Figure PCTKR2023007657-appb-img-000166
    는 상기 FP 기능 연산을 의미하고,
    Figure PCTKR2023007657-appb-img-000167
    는 상기 FP 특징추출 연산을 의미하며,
    Figure PCTKR2023007657-appb-img-000168
    는 상기 바이너리 연산을 의미하는 것을 특징으로 하는 방법.
  4. 제2항에 있어서,
    상기 (a) 단계는,
    상기 학습 장치가, 상기 바이너리 뉴럴넷에 상기 학습용 벡터를 입력하여, (i) 상기 바이너리 뉴럴넷에 포함된, 상기 바이너리 파라미터 중 적어도 일부인 바이너리 특징부 파라미터를 포함하는 바이너리 특징부로 하여금, 상기 학습용 벡터에 상기 바이너리 연산의 적어도 일부인 바이너리 특징추출 연산을 인가하여 학습용 바이너리 특징벡터를 생성하도록 한 다음, (ii) 상기 바이너리 뉴럴넷에 포함된, 상기 바이너리 파라미터 중 적어도 일부인 바이너리 기능부 파라미터를 포함하는 바이너리 기능부로 하여금, 상기 학습용 바이너리 특징벡터에 상기 바이너리 연산의 적어도 일부인 바이너리 기능 연산을 인가하여 상기 학습용 바이너리 출력을 생성하도록 하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 (b) 단계는,
    상기 학습 장치가, (i) 상기 학습용 바이너리 출력 및 상기 학습용 FP 출력을 참조하여 KL 발산 로스를 생성하는 프로세스 및 (ii) 상기 학습용 FP 특징벡터 및 상기 학습용 바이너리 특징벡터를 참조하여 피처 유사성 로스를 생성하는 프로세스를 수행한 다음, 상기 KL 발산 로스 및 상기 피처 유사성 로스를 참조하여 상기 커플링 로스를 생성하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 (b) 단계는,
    상기 학습 장치가, 하기 수식에 따라 상기 커플링 로스를 생성하되,
    Figure PCTKR2023007657-appb-img-000169
    상기 수식에서,
    Figure PCTKR2023007657-appb-img-000170
    는 상기 FP 기능부 파라미터를 의미하고,
    Figure PCTKR2023007657-appb-img-000171
    는 상기 바이너리 파라미터를 의미하며,
    Figure PCTKR2023007657-appb-img-000172
    는 평균 연산을 의미하고,
    Figure PCTKR2023007657-appb-img-000173
    는 상기 학습용 벡터를 의미하며,
    Figure PCTKR2023007657-appb-img-000174
    는 상기 학습용 벡터를 포함하는 학습 데이터를 의미하고,
    Figure PCTKR2023007657-appb-img-000175
    은 KL 발산 로스 함수를 의미하며,
    Figure PCTKR2023007657-appb-img-000176
    는 상기 FP 기능 연산을 의미하고,
    Figure PCTKR2023007657-appb-img-000177
    는 상기 FP 특징추출 연산을 의미하며,
    Figure PCTKR2023007657-appb-img-000178
    는 상기 바이너리 기능 연산을 의미하고,
    Figure PCTKR2023007657-appb-img-000179
    는 상기 바이너리 특징추출 연산을 의미하며,
    Figure PCTKR2023007657-appb-img-000180
    는 기설정된 정적 밸런싱 파라미터를 의미하고,
    Figure PCTKR2023007657-appb-img-000181
    는 피처 유사성 연산을 의미하며, 상기 평균 연산의 첫번째 텀(term)은 상기 KL 발산 로스, 두번째 텀(term)은 상기 피처 유사성 로스를 의미하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 학습 장치가, 하기 수식에 따라 상기 피처 유사성 연산을 수행하되,
    Figure PCTKR2023007657-appb-img-000182
    상기 수식에서,
    Figure PCTKR2023007657-appb-img-000183
    Figure PCTKR2023007657-appb-img-000184
    는 임의의 입력 벡터이고,
    Figure PCTKR2023007657-appb-img-000185
    Figure PCTKR2023007657-appb-img-000186
    Figure PCTKR2023007657-appb-img-000187
    간의 코사인 유사도를 의미하는 것을 특징으로 하는 방법.
  8. 제5항에 있어서,
    상기 (b) 단계는,
    상기 학습 장치가, 상기 KL 발산 로스 및 상기 피처 유사성 로스와 함께, Iteration 수에 따라 변동되는 동적 밸런싱 파라미터를 참조하여 상기 커플링 로스를 생성하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 (b) 단계는,
    상기 학습 장치가, 하기 수식에 따라 상기 커플링 로스를 생성하여 학습을 수행하되,
    Figure PCTKR2023007657-appb-img-000188
    상기 수식에서,
    Figure PCTKR2023007657-appb-img-000189
    는 상기 FP 기능부 파라미터를 의미하고,
    Figure PCTKR2023007657-appb-img-000190
    는 상기 바이너리 파라미터를 의미하며,
    Figure PCTKR2023007657-appb-img-000191
    는 평균 연산을 의미하고,
    Figure PCTKR2023007657-appb-img-000192
    는 상기 학습용 벡터를 의미하며,
    Figure PCTKR2023007657-appb-img-000193
    는 상기 학습용 벡터를 포함하는 학습 데이터를 의미하고,
    Figure PCTKR2023007657-appb-img-000194
    은 KL 발산 로스 함수를 의미하며,
    Figure PCTKR2023007657-appb-img-000195
    는 상기 FP 기능 연산을 의미하고,
    Figure PCTKR2023007657-appb-img-000196
    는 상기 FP 특징추출 연산을 의미하며,
    Figure PCTKR2023007657-appb-img-000197
    는 상기 바이너리 기능 연산을 의미하고,
    Figure PCTKR2023007657-appb-img-000198
    는 상기 바이너리 특징추출 연산을 의미하며,
    Figure PCTKR2023007657-appb-img-000199
    는 상기 동적 밸런싱 파라미터를 의미하고,
    Figure PCTKR2023007657-appb-img-000200
    는 상기 Iteration 수를 의미하며,
    Figure PCTKR2023007657-appb-img-000201
    는 피처 유사성 연산을 의미하고, 상기 평균 연산 내부의 첫번째 텀(term)은 상기 KL 발산 로스, 두번째 텀(term)은 상기 피처 유사성 로스를 의미하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서,
    상기 (b) 단계는,
    상기 학습 장치가, 하기 수식에 따라 상기 동적 밸런싱 파라미터를 계산하되,
    Figure PCTKR2023007657-appb-img-000202
    상기 수식에서,
    Figure PCTKR2023007657-appb-img-000203
    는 기설정된 최대 Iteration 수를 의미하고,
    Figure PCTKR2023007657-appb-img-000204
    는 상기 최대 Iteration 시의 기설정된 밸런싱 파라미터를 의미하며,
    Figure PCTKR2023007657-appb-img-000205
    는 최초 Iteration 시의 기설정된 밸런싱 파라미터를 의미하고,
    Figure PCTKR2023007657-appb-img-000206
    Figure PCTKR2023007657-appb-img-000207
    에 비해 작은 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    멀티스테이지 학습 프로세스를 적용하는 경우,
    상기 (a) 단계 이전에,
    (a0) 상기 학습 장치가, 상기 바이너리화된 액티베이션 값 및 바이너리화되지 않은 웨이트 값을 포함하는 상기 바이너리 파라미터를 획득하는 단계;
    를 더 포함하고,
    (c) 상기 학습 장치가, (i) 상기 커플링 로스를 사용하여 학습된 상기 바이너리 뉴럴넷의 상기 웨이트 값을 바이너리화함으로써 획득된 조정 바이너리 뉴럴넷으로 하여금, 제2 학습용 벡터에 적어도 하나의 조정 바이너리 연산을 인가하도록 하는 프로세스 및 (ii) 상기 변동성 FP 뉴럴넷의 상기 FP 파라미터 중 적어도 일부가 상기 커플링 로스를 사용하여 학습된 상태인 조정 변동성 FP 뉴럴넷으로 하여금, 상기 제2 학습용 벡터에 적어도 하나의 조정 FP 연산을 가하도록 하는 프로세스를 수행하는 단계; 및
    (d) 상기 학습 장치가, (i) 상기 조정 바이너리 뉴럴넷으로부터 획득된 제2 학습용 바이너리 출력 및 (ii) 상기 조정 변동성 FP 뉴럴넷으로부터 획득된 제2 학습용 FP 출력을 참조하여 제2 커플링 로스를 생성한 후, 상기 제2 커플링 로스를 사용하여 상기 조정 바이너리 뉴럴넷의 조정 바이너리 파라미터 중 적어도 일부를 학습함으로써 멀티스테이지 학습 프로세스를 완료하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  12. 변동성 플로팅 포인트(Floating Point, FP) 뉴럴넷을 이동 표적으로 사용하여 자기지도학습(Self-Supervised Learning, SSL)된 바이너리 뉴럴넷을 테스트하는 방법에 있어서,
    (a) (1) 학습용 벡터가 획득되면, (i) 적어도 일부가 바이너리 형식인 바이너리 파라미터를 포함하는 상기 바이너리 뉴럴넷으로 하여금, 상기 학습용 벡터에 적어도 하나의 바이너리 연산을 인가하도록 하는 프로세스 및 (ii) 적어도 일부가 SSL 방법론에 따라 학습된 FP 형식의 FP 파라미터를 포함하되, 상기 바이너리 파라미터 중 적어도 일부를 학습하는 과정에서 상기 FP 파라미터 중 적어도 일부가 조정되는 상기 변동성 FP 뉴럴넷으로 하여금, 상기 학습용 벡터에 적어도 하나의 FP 연산을 가하도록 하는 프로세스를 수행하는 프로세스; 및 (2) (i) 상기 바이너리 뉴럴넷으로부터 획득된 학습용 바이너리 출력 및 (ii) 상기 변동성 FP 뉴럴넷으로부터 획득된 학습용 FP 출력을 참조하여 상기 바이너리 뉴럴넷 및 상기 변동성 FP 뉴럴넷 간의 커플링 로스를 생성한 후, 상기 커플링 로스를 사용하여 상기 바이너리 파라미터 중 적어도 일부를 학습하면서 상기 FP 파라미터 중 적어도 일부를 학습하는 프로세스를 수행함으로써 학습이 완료된 상태에서, 테스트용 벡터가 획득되면, 테스트 장치가, 상기 바이너리 뉴럴넷으로 하여금, 상기 바이너리 뉴럴넷에 적어도 하나의 바이너리 연산을 인가하도록 하는 단계; 및
    (b) 상기 테스트 장치가, 상기 바이너리 뉴럴넷으로부터 획득된 테스트용 바이너리 출력을 사용자에게 제공하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  13. 변동성 플로팅 포인트(Floating Point, FP) 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 자기지도학습(Self-Supervised Learning, SSL) 장치에 있어서,
    인스트럭션들을 저장하는 하나 이상의 메모리; 및
    상기 인스트럭션들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되, 상기 프로세서는, (I) 학습용 벡터가 획득되면, (i) 적어도 일부가 바이너리 형식인 바이너리 파라미터를 포함하는 상기 바이너리 뉴럴넷으로 하여금, 상기 학습용 벡터에 적어도 하나의 바이너리 연산을 인가하도록 하는 프로세스 및 (ii) 적어도 일부가 SSL 방법론에 따라 학습된 FP 형식의 FP 파라미터를 포함하되, 상기 바이너리 파라미터 중 적어도 일부를 학습하는 과정에서 상기 FP 파라미터 중 적어도 일부가 조정되는 상기 변동성 FP 뉴럴넷으로 하여금, 상기 학습용 벡터에 적어도 하나의 FP 연산을 가하도록 하는 프로세스를 수행하는 프로세스; 및 (II) (i) 상기 바이너리 뉴럴넷으로부터 획득된 학습용 바이너리 출력 및 (ii) 상기 변동성 FP 뉴럴넷으로부터 획득된 학습용 FP 출력을 참조하여 상기 바이너리 뉴럴넷 및 상기 변동성 FP 뉴럴넷 간의 커플링 로스를 생성한 후, 상기 커플링 로스를 사용하여 상기 바이너리 파라미터 중 적어도 일부를 학습하면서 상기 FP 파라미터 중 적어도 일부를 학습하는 프로세스를 수행하는 것을 특징으로 하는 장치.
  14. 제13항에 있어서,
    상기 (I) 프로세스는,
    상기 프로세서가, 상기 변동성 FP 뉴럴넷에 상기 학습용 벡터를 입력하여, (i) 상기 변동성 FP 뉴럴넷에 포함된, 상기 FP 파라미터 중 적어도 일부인 FP 특징부 파라미터가 기학습된 상태이며 불변하는 FP 특징부로 하여금, 상기 학습용 벡터에 상기 FP 연산의 적어도 일부인 FP 특징추출 연산을 인가하여 학습용 FP 특징벡터를 생성하도록 한 다음, (ii) 상기 변동성 FP 뉴럴넷에 포함된, 상기 FP 파라미터 중 적어도 일부인 FP 기능부 파라미터가 기학습되지 않고 랜덤하게 초기화된 상태에서 상기 바이너리 파라미터 중 적어도 일부를 학습하는 과정을 통해 함께 학습되는 FP 기능부로 하여금, 상기 학습용 FP 특징벡터에 상기 FP 연산의 적어도 일부인 FP 기능 연산을 인가하여 상기 학습용 FP 출력을 생성하도록 하는 것을 특징으로 하는 장치.
  15. 제14항에 있어서,
    상기 (II) 프로세스는,
    상기 프로세서가, 하기 수식에 따라 상기 커플링 로스를 생성하여 학습을 수행하되,
    Figure PCTKR2023007657-appb-img-000208
    상기 수식에서,
    Figure PCTKR2023007657-appb-img-000209
    는 상기 FP 기능부 파라미터를 의미하고,
    Figure PCTKR2023007657-appb-img-000210
    는 상기 바이너리 파라미터를 의미하며,
    Figure PCTKR2023007657-appb-img-000211
    는 평균 연산을 의미하고,
    Figure PCTKR2023007657-appb-img-000212
    는 상기 학습용 벡터를 의미하며,
    Figure PCTKR2023007657-appb-img-000213
    는 상기 학습용 벡터를 포함하는 학습 데이터 세트를 의미하고,
    Figure PCTKR2023007657-appb-img-000214
    은 KL 발산 로스 함수를 의미하며,
    Figure PCTKR2023007657-appb-img-000215
    는 상기 FP 기능 연산을 의미하고,
    Figure PCTKR2023007657-appb-img-000216
    는 상기 FP 특징추출 연산을 의미하며,
    Figure PCTKR2023007657-appb-img-000217
    는 상기 바이너리 연산을 의미하는 것을 특징으로 하는 장치.
  16. 제14항에 있어서,
    상기 (I) 프로세스는,
    상기 프로세서가, 상기 바이너리 뉴럴넷에 상기 학습용 벡터를 입력하여, (i) 상기 바이너리 뉴럴넷에 포함된, 상기 바이너리 파라미터 중 적어도 일부인 바이너리 특징부 파라미터를 포함하는 바이너리 특징부로 하여금, 상기 학습용 벡터에 상기 바이너리 연산의 적어도 일부인 바이너리 특징추출 연산을 인가하여 학습용 바이너리 특징벡터를 생성하도록 한 다음, (ii) 상기 바이너리 뉴럴넷에 포함된, 상기 바이너리 파라미터 중 적어도 일부인 바이너리 기능부 파라미터를 포함하는 바이너리 기능부로 하여금, 상기 학습용 바이너리 특징벡터에 상기 바이너리 연산의 적어도 일부인 바이너리 기능 연산을 인가하여 상기 학습용 바이너리 출력을 생성하도록 하는 것을 특징으로 하는 장치.
  17. 제16항에 있어서,
    상기 (II) 프로세스는,
    상기 프로세서가, (i) 상기 학습용 바이너리 출력 및 상기 학습용 FP 출력을 참조하여 KL 발산 로스를 생성하는 프로세스 및 (ii) 상기 학습용 FP 특징벡터 및 상기 학습용 바이너리 특징벡터를 참조하여 피처 유사성 로스를 생성하는 프로세스를 수행한 다음, 상기 KL 발산 로스 및 상기 피처 유사성 로스를 참조하여 상기 커플링 로스를 생성하는 것을 특징으로 하는 장치.
  18. 제17항에 있어서,
    상기 (II) 프로세스는,
    상기 프로세서가, 하기 수식에 따라 상기 커플링 로스를 생성하되,
    Figure PCTKR2023007657-appb-img-000218
    상기 수식에서,
    Figure PCTKR2023007657-appb-img-000219
    는 상기 FP 기능부 파라미터를 의미하고,
    Figure PCTKR2023007657-appb-img-000220
    는 상기 바이너리 파라미터를 의미하며,
    Figure PCTKR2023007657-appb-img-000221
    는 평균 연산을 의미하고,
    Figure PCTKR2023007657-appb-img-000222
    는 상기 학습용 벡터를 의미하며,
    Figure PCTKR2023007657-appb-img-000223
    는 상기 학습용 벡터를 포함하는 학습 데이터를 의미하고,
    Figure PCTKR2023007657-appb-img-000224
    은 KL 발산 로스 함수를 의미하며,
    Figure PCTKR2023007657-appb-img-000225
    는 상기 FP 기능 연산을 의미하고,
    Figure PCTKR2023007657-appb-img-000226
    는 상기 FP 특징추출 연산을 의미하며,
    Figure PCTKR2023007657-appb-img-000227
    는 상기 바이너리 기능 연산을 의미하고,
    Figure PCTKR2023007657-appb-img-000228
    는 상기 바이너리 특징추출 연산을 의미하며,
    Figure PCTKR2023007657-appb-img-000229
    는 기설정된 정적 밸런싱 파라미터를 의미하고,
    Figure PCTKR2023007657-appb-img-000230
    는 피처 유사성 연산을 의미하며, 상기 평균 연산의 첫번째 텀(term)은 상기 KL 발산 로스, 두번째 텀(term)은 상기 피처 유사성 로스를 의미하는 것을 특징으로 하는 장치.
  19. 제18항에 있어서,
    상기 프로세서가, 하기 수식에 따라 상기 피처 유사성 연산을 수행하되,
    Figure PCTKR2023007657-appb-img-000231
    상기 수식에서,
    Figure PCTKR2023007657-appb-img-000232
    Figure PCTKR2023007657-appb-img-000233
    는 임의의 입력 벡터이고,
    Figure PCTKR2023007657-appb-img-000234
    Figure PCTKR2023007657-appb-img-000235
    Figure PCTKR2023007657-appb-img-000236
    간의 코사인 유사도를 의미하는 것을 특징으로 하는 장치.
  20. 제17항에 있어서,
    상기 (II) 프로세스는,
    상기 프로세서가, 상기 KL 발산 로스 및 상기 피처 유사성 로스와 함께, Iteration 수에 따라 변동되는 동적 밸런싱 파라미터를 참조하여 상기 커플링 로스를 생성하는 것을 특징으로 하는 장치.
  21. 제20항에 있어서,
    상기 (II) 프로세스는,
    상기 프로세서가, 하기 수식에 따라 상기 커플링 로스를 생성하여 학습을 수행하되,
    Figure PCTKR2023007657-appb-img-000237
    상기 수식에서,
    Figure PCTKR2023007657-appb-img-000238
    는 상기 FP 기능부 파라미터를 의미하고,
    Figure PCTKR2023007657-appb-img-000239
    는 상기 바이너리 파라미터를 의미하며,
    Figure PCTKR2023007657-appb-img-000240
    는 평균 연산을 의미하고,
    Figure PCTKR2023007657-appb-img-000241
    는 상기 학습용 벡터를 의미하며,
    Figure PCTKR2023007657-appb-img-000242
    는 상기 학습용 벡터를 포함하는 학습 데이터를 의미하고,
    Figure PCTKR2023007657-appb-img-000243
    은 KL 발산 로스 함수를 의미하며,
    Figure PCTKR2023007657-appb-img-000244
    는 상기 FP 기능 연산을 의미하고,
    Figure PCTKR2023007657-appb-img-000245
    는 상기 FP 특징추출 연산을 의미하며,
    Figure PCTKR2023007657-appb-img-000246
    는 상기 바이너리 기능 연산을 의미하고,
    Figure PCTKR2023007657-appb-img-000247
    는 상기 바이너리 특징추출 연산을 의미하며,
    Figure PCTKR2023007657-appb-img-000248
    는 상기 동적 밸런싱 파라미터를 의미하고,
    Figure PCTKR2023007657-appb-img-000249
    는 상기 Iteration 수를 의미하며,
    Figure PCTKR2023007657-appb-img-000250
    는 피처 유사성 연산을 의미하고, 상기 평균 연산 내부의 첫번째 텀(term)은 상기 KL 발산 로스, 두번째 텀(term)은 상기 피처 유사성 로스를 의미하는 것을 특징으로 하는 장치.
  22. 제21항에 있어서,
    상기 (II) 프로세스는,
    상기 프로세서가, 하기 수식에 따라 상기 동적 밸런싱 파라미터를 계산하되,
    Figure PCTKR2023007657-appb-img-000251
    상기 수식에서,
    Figure PCTKR2023007657-appb-img-000252
    는 기설정된 최대 Iteration 수를 의미하고,
    Figure PCTKR2023007657-appb-img-000253
    는 상기 최대 Iteration 시의 기설정된 밸런싱 파라미터를 의미하며,
    Figure PCTKR2023007657-appb-img-000254
    는 최초 Iteration 시의 기설정된 밸런싱 파라미터를 의미하고,
    Figure PCTKR2023007657-appb-img-000255
    Figure PCTKR2023007657-appb-img-000256
    에 비해 작은 것을 특징으로 하는 장치.
  23. 제13항에 있어서,
    멀티스테이지 학습 프로세스를 적용하는 경우,
    상기 (I) 프로세스 이전에,
    (I0) 상기 프로세서가, 상기 바이너리화된 액티베이션 값 및 바이너리화되지 않은 웨이트 값을 포함하는 상기 바이너리 파라미터를 획득하는 프로세스;
    를 더 수행하고,
    (III) 상기 프로세서가, (i) 상기 커플링 로스를 사용하여 학습된 상기 바이너리 뉴럴넷의 상기 웨이트 값을 바이너리화함으로써 획득된 조정 바이너리 뉴럴넷으로 하여금, 제2 학습용 벡터에 적어도 하나의 조정 바이너리 연산을 인가하도록 하는 프로세스 및 (ii) 상기 변동성 FP 뉴럴넷의 상기 FP 파라미터 중 적어도 일부가 상기 커플링 로스를 사용하여 학습된 상태인 조정 변동성 FP 뉴럴넷으로 하여금, 상기 제2 학습용 벡터에 적어도 하나의 조정 FP 연산을 가하도록 하는 프로세스를 수행하는 프로세스; 및 (IV) 상기 프로세서가, (i) 상기 조정 바이너리 뉴럴넷으로부터 획득된 제2 학습용 바이너리 출력 및 (ii) 상기 조정 변동성 FP 뉴럴넷으로부터 획득된 제2 학습용 FP 출력을 참조하여 제2 커플링 로스를 생성한 후, 상기 제2 커플링 로스를 사용하여 상기 조정 바이너리 뉴럴넷의 조정 바이너리 파라미터 중 적어도 일부를 학습함으로써 멀티스테이지 학습 프로세스를 완료하는 프로세스를 더 수행하는 것을 특징으로 하는 장치.
  24. 변동성 플로팅 포인트(Floating Point, FP) 뉴럴넷을 이동 표적으로 사용하여 자기지도학습(Self-Supervised Learning, SSL)된 바이너리 뉴럴넷의 테스트 장치에 있어서,
    인스트럭션들을 저장하는 하나 이상의 메모리; 및
    상기 인스트럭션들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되, 상기 프로세서는, (I) (1) 학습용 벡터가 획득되면, (i) 적어도 일부가 바이너리 형식인 바이너리 파라미터를 포함하는 상기 바이너리 뉴럴넷으로 하여금, 상기 학습용 벡터에 적어도 하나의 바이너리 연산을 인가하도록 하는 프로세스 및 (ii) 적어도 일부가 SSL 방법론에 따라 학습된 FP 형식의 FP 파라미터를 포함하되, 상기 바이너리 파라미터 중 적어도 일부를 학습하는 과정에서 상기 FP 파라미터 중 적어도 일부가 조정되는 상기 변동성 FP 뉴럴넷으로 하여금, 상기 학습용 벡터에 적어도 하나의 FP 연산을 가하도록 하는 프로세스를 수행하는 프로세스; 및 (2) (i) 상기 바이너리 뉴럴넷으로부터 획득된 학습용 바이너리 출력 및 (ii) 상기 변동성 FP 뉴럴넷으로부터 획득된 학습용 FP 출력을 참조하여 상기 바이너리 뉴럴넷 및 상기 변동성 FP 뉴럴넷 간의 커플링 로스를 생성한 후, 상기 커플링 로스를 사용하여 상기 바이너리 파라미터 중 적어도 일부를 학습하면서 상기 FP 파라미터 중 적어도 일부를 학습하는 프로세스를 수행함으로써 학습이 완료된 상태에서, 테스트용 벡터가 획득되면, 상기 바이너리 뉴럴넷으로 하여금, 상기 바이너리 뉴럴넷에 적어도 하나의 바이너리 연산을 인가하도록 하는 프로세스; 및 (II) 상기 바이너리 뉴럴넷으로부터 획득된 테스트용 바이너리 출력을 사용자에게 제공하는 프로세스를 수행하도록 설정된 것을 특징으로 하는 장치.
PCT/KR2023/007657 2022-10-20 2023-06-02 변동성 플로팅 포인트 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 자기지도학습 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치 WO2024085337A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220136035A KR102612695B1 (ko) 2022-10-20 2022-10-20 변동성 플로팅 포인트 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 자기지도학습 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR10-2022-0136035 2022-10-20

Publications (1)

Publication Number Publication Date
WO2024085337A1 true WO2024085337A1 (ko) 2024-04-25

Family

ID=89157643

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/007657 WO2024085337A1 (ko) 2022-10-20 2023-06-02 변동성 플로팅 포인트 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 자기지도학습 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치

Country Status (2)

Country Link
KR (1) KR102612695B1 (ko)
WO (1) WO2024085337A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019135274A1 (ja) * 2018-01-04 2019-07-11 株式会社Abeja ニューラル・ネットワークを有するデータ処理システム
JP2020113273A (ja) * 2019-01-09 2020-07-27 三星電子株式会社Samsung Electronics Co.,Ltd. ニューラルネットワーク量子化のための方法及び装置
CN112308210A (zh) * 2020-10-27 2021-02-02 中国人民解放军战略支援部队信息工程大学 基于神经网络的跨架构二进制函数相似性检测方法及系统
KR20210064109A (ko) * 2018-09-27 2021-06-02 인텔 코포레이션 복합 바이너리 분해 네트워크

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019135274A1 (ja) * 2018-01-04 2019-07-11 株式会社Abeja ニューラル・ネットワークを有するデータ処理システム
KR20210064109A (ko) * 2018-09-27 2021-06-02 인텔 코포레이션 복합 바이너리 분해 네트워크
JP2020113273A (ja) * 2019-01-09 2020-07-27 三星電子株式会社Samsung Electronics Co.,Ltd. ニューラルネットワーク量子化のための方法及び装置
CN112308210A (zh) * 2020-10-27 2021-02-02 中国人民解放军战略支援部队信息工程大学 基于神经网络的跨架构二进制函数相似性检测方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KIM DAHYUN; CHOI JONGHYUN: "Unsupervised Representation Learning for Binary Networks by Joint Classifier Learning", 2022 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), IEEE, 18 June 2022 (2022-06-18), pages 9737 - 9746, XP034194941, DOI: 10.1109/CVPR52688.2022.00952 *
ZHIQIANG SHEN; ZECHUN LIU; JIE QIN; LEI HUANG; KWANG-TING CHENG; MARIOS SAVVIDES: "S2-BNN: Bridging the Gap Between Self-Supervised Real and 1-bit Neural Networks via Guided Distribution Calibration", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 21 June 2021 (2021-06-21), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081979274 *

Also Published As

Publication number Publication date
KR102612695B1 (ko) 2023-12-13

Similar Documents

Publication Publication Date Title
WO2023128083A1 (ko) 그레디언트 독립적인 업데이트를 추가하여 그레디언트-기반 학습의 한계점을 보완하는 신경망의 양자화 인식 학습 방법
Wang et al. Asymptotic tracking control for time-delay nonlinear systems with parametric uncertainties and full state constraints
WO2019164237A1 (ko) 시스톨릭 배열을 이용하여 딥 러닝 연산을 수행하는 방법 및 장치
WO2022039316A1 (ko) 치과용 3차원 데이터 위치 정렬 자동화 방법 및 이를 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체
WO2023014007A1 (ko) 화합물 정보 추출을 위한 장치 및 방법
WO2022124725A1 (ko) 화합물과 단백질의 상호작용 예측 방법, 장치 및 컴퓨터 프로그램
WO2020189844A1 (ko) 인공 신경망을 처리하는 방법 및 이를 위한 전자 장치
WO2020004686A1 (ko) 블록체인 dPoC 합의알고리즘 기반 합의 인증 수행 방법
WO2024085337A1 (ko) 변동성 플로팅 포인트 뉴럴넷을 이동 표적으로 사용하여 바이너리 뉴럴넷을 학습하는 자기지도학습 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
WO2018212584A2 (ko) 딥 뉴럴 네트워크를 이용하여 문장이 속하는 클래스를 분류하는 방법 및 장치
WO2018151356A1 (ko) 다중 스케일 곡률 기반 가시적 벡터 모델 해싱 방법
Zhang et al. Base-2 softmax function: Suitability for training and efficient hardware implementation
Shan et al. DRRNets: Dynamic recurrent routing via low-rank regularization in recurrent neural networks
WO2017171142A1 (ko) 얼굴의 특징점 검출 시스템 및 방법
WO2014104481A1 (ko) 구들의 교집합을 이용한 바운딩 볼륨 생성 장치 및 방법
WO2020204610A1 (ko) 딥러닝 기반 컬러링 방법, 시스템 및 프로그램
WO2022158847A1 (ko) 멀티 모달 데이터를 처리하는 전자 장치 및 그 동작 방법
WO2023153606A1 (ko) 컴퓨터 단층촬영 영상을 활용한 3차원 구강 스캔 데이터 복원 장치 및 방법
WO2023033281A1 (ko) 약물 및 타겟 물질 간의 친화도를 예측하는 방법
WO2019198900A1 (en) Electronic apparatus and control method thereof
WO2022119092A2 (ko) 프레임 동기워드의 오류율 비를 이용한 비트오류확률 추정 방법
WO2023286914A1 (ko) 비디오 스토리 질의응답을 위한 트랜스포머 모델을 구축하는 방법 및 이를 수행하기 위한 컴퓨팅 장치
WO2023106479A1 (ko) Ste 및 최적 중단시점 자동 결정 알고리즘을 적용한 dip를 사용하여 노이즈 이미지를 디노이징하는 방법 및 장치
WO2023090749A1 (ko) 비선형 최적 제어 방법
WO2024147664A1 (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: 23879922

Country of ref document: EP

Kind code of ref document: A1