Domain Generalization Margin Using Meta-Learning for Deep Face Recognition
The method addresses data distribution biases in deep face recognition by using meta-learning to dynamically adjust sample importance and incorporate a multi-variation margin loss, enhancing recognition accuracy across diverse conditions.
Patent Information
- Application Number
- JP2023528160
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-11-08
- Filing Date
- 2021-11-09
- Publication Date
- 2025-01-24
- Estimated Expiration
- 2041-11-09
AI Technical Summary
Deep face recognition systems face challenges due to biased training data distribution, leading to inaccuracies in recognizing variations such as occlusion and ethnic differences, which existing methods fail to adequately address.
A method using meta-learning to dynamically adjust the importance of training samples based on their variations, incorporating a multi-variation margin loss function to balance the training data distribution and improve recognition accuracy across diverse scenarios.
The proposed method effectively balances training data distribution, enhancing the model's ability to recognize faces under various conditions, including occlusion and ethnic variations, thereby improving overall recognition accuracy and robustness.
Smart Images

Figure 0007621480000091 
Figure 0007621480000092 
Figure 0007621480000093
Abstract
Description
[Technical Field]
[0001] This application claims priority to U.S. Patent Application No. 17 / 521,252, filed November 8, 2021, U.S. Provisional Patent Application No. 63 / 111,658, filed November 10, 2020, and U.S. Provisional Patent Application No. 63 / 114,014, filed November 16, 2020, the disclosures of which are incorporated herein in their entireties.
[0002] The present invention relates to face recognition, and more particularly to domain generalization margins using meta-learning for deep face recognition. [Background technology]
[0003] Deep face recognition has made remarkable progress, with several methods achieving strong results in public benchmarks. However, the distribution of training data remains biased, and methods trained on uniform sampling of data can lead to undesirable consequences, such as reduced accuracy due to certain factors (e.g., occlusion) and perceptions of model unfairness (e.g., against ethnic minorities).
[0004] Because it is impractical to collect training data that sufficiently covers a wide range of variations, there is a pressing need to develop training methods that algorithmically mitigate dataset bias associated with multiple sources of variation. Summary of the Invention
[0005] According to an aspect of the present invention, a computer-implemented method for training a model for deep face recognition is provided. The method includes performing forward training on a training batch of samples to form a face recognition model w(t). The method further includes calculating weights for the samples of the training batch based on a meta-learner. The method also includes, by a processor device, obtaining gradients of the training batch with respect to the model weights of the training batch, and using the gradients of the training batch to train the face recognition model w(t) relative to the face recognition model w(t). hat(t). Further, the method includes updating the validation batch of samples to the face recognition model w hat Additionally, the method includes obtaining, by a processor device, gradients of the validation batch with respect to the meta-learner theta(t), and transferring the gradients of the validation batch and the face recognition model w(t). hat updating sample-level importance weights of the samples in the training batch using the updated sample-level importance weights of the samples in the training batch. Further, the method includes obtaining, by the processor device, upgraded gradients of the training batch based on the updated sample-level importance weights of the samples in the training batch, and updating the face recognition model w(t) to a trained model w(t+1) corresponding to the next iteration using the upgraded gradients of the training batch.
[0006] According to another aspect of the present invention, there is provided a computer program product for training a model for deep face recognition. The computer program product includes a non-transitory computer-readable storage medium having program instructions thereon. The program instructions are executable by a computer to cause the computer to perform a method. The method includes performing forward training on a training batch of samples to form a face recognition model w(t). The method further includes calculating weights for the samples of the training batch based on a meta-learner. The method also includes, by a processor device, obtaining gradients of the training batch with respect to the model weights of the training batch, and using the gradients of the training batch to train the face recognition model w(t) relative to the face recognition model w(t). hat (t). Further, the method includes updating the validation batch of samples to the face recognition model w hat Additionally, the method includes obtaining, by a processor device, gradients of the validation batch with respect to the meta-learner theta(t), and transferring the gradients of the validation batch and the face recognition model w(t). hatupdating sample-level importance weights of the samples in the training batch using the training batch (t) to obtain updated sample-level importance weights of the samples. The method further includes obtaining, by the processor device, upgraded gradients of the training batch based on the updated sample-level importance weights of the samples in the training batch, and updating the face recognition model w(t) to a trained model w(t+1) corresponding to the next iteration using the upgraded gradients of the training batch.
[0007] According to yet another aspect of the present invention, there is provided a computer processing system for training a model for deep face recognition. The computer processing system includes a memory device for storing program code. The computer processing system further includes a processor device operatively connected to the memory device for executing the program code, which performs forward training on a training batch of samples to form a face recognition model w(t). The processor device further executes the program code to calculate weights for the samples of the training batch based on a meta-learner. The processor device also executes the program code to obtain gradients of the training batch with respect to the model weights of the training batch, and to use the gradients of the training batch to train the face recognition model w(t) relative to the face recognition model w(t). hat (t). Further, the processor device executes the program code to update the validation batch of samples to the face recognition model w hat In addition, the processor unit executes the program code to obtain the gradient of the validation batch with respect to the meta-learner theta(t), and transfers the gradient of the validation batch and the face recognition model w(t). hatThe processor device executes the program code to update sample-level importance weights of the samples in the training batch using w(t) to obtain updated sample-level importance weights of the samples. The processor device also executes the program code to obtain upgraded gradients of the training batch based on the updated sample-level importance weights of the samples in the training batch, and to update the face recognition model w(t) to a trained model w(t+1) corresponding to the next iteration using the upgraded gradients of the training batch.
[0008] These and other features and advantages will become apparent from the following detailed description of exemplary embodiments, which is to be read in conjunction with the accompanying drawings.
[0009] In the present disclosure, preferred embodiments are described in detail below with reference to the following drawings: [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 1 is a block diagram illustrating an exemplary computing device, according to one embodiment of the present invention.
[0011] [Figure 2] FIG. 2 is a block diagram illustrating an exemplary framework 200, according to one embodiment of the present invention.
[0012] [Figure 3] FIG. 3 is a high-level block diagram illustrating a deep face recognition system / method 300 according to one embodiment of the present invention.
[0013] [Figure 4] FIG. 4 illustrates pseudocode 400 for meta-learning for face recognition, according to one embodiment of the present invention.
[0014] [Figure 5] FIG. 5 illustrates pseudocode 500 for meta-learning of sample-level margins, according to one embodiment of the present invention.
[0015] [Figure 6] FIG. 6 is a flow diagram illustrating an exemplary method 600 for meta-learning of sample-level margins, according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0016] Embodiments of the present invention are directed to domain generalization margins using meta-learning for deep face recognition. The terms "margin" and various forms of the same "sample-level importance" are used interchangeably herein. The terms "instance" and "sample" are also used interchangeably herein.
[0017] Embodiments of the present invention provide a training method that simultaneously overcomes multiple factors of data imbalance, such as volume, ethnicity, occlusion, and head pose, in a unified framework. This represents an advancement over previous work that uses class reweighting strategies and only deals with volume imbalance.
[0018] In an embodiment of the present invention, we provide an instance-level variation-aware loss (ILVA) that formulates each long-tail factor of variation into an importance model. Next, we propose an additive model of prior importance with residuals, where the residuals are learned using meta-learning under a provided meta-training set. Finally, the learned multiple importances are combined to rebalance the distribution of training data across several factors of variation.
[0019] 1 is a block diagram illustrating an exemplary computing device 100 configured to provide a domain generalization margin via meta-learning for deep face recognition, in accordance with one embodiment of the present invention.
[0020] Computing device 100 encompasses any type of computing or computing device capable of performing the functions described herein, including, but not limited to, a computer, a server, a rack-based server, a blade server, a workstation, a desktop computer, a laptop computer, a notebook computer, a tablet computer, a mobile computing device, a wearable computing device, a network appliance, a web appliance, a distributed computing system, a processor-based system, and / or a consumer electronics device. Additionally or alternatively, computing device 100 may encompass one or more computing sleds, memory sleds, or other racks, sleds, computing chassis, or other components of a physically distributed computing device. As shown in FIG. 1 , computing device 100 illustratively includes processor 110, input / output subsystem 120, memory 130, data storage device 140, communication subsystem 150, and / or other components and devices typically found in a server or similar computing device. Of course, computing device 100 may include other or additional components, such as components typically found in a server computer (e.g., various input / output devices), in other embodiments. Additionally, in some embodiments, one or more of the illustrated components may be incorporated into or form part of another component. For example, memory 130, or portions thereof, may be incorporated into processor 110 in some embodiments.
[0021] Processor 110 may include any type of processor capable of implementing the functions described herein, including a single processor, multiple processors, a central processing unit (CPU), a graphics processing unit (GPU), a single or multi-core processor, a digital signal processor, a microcontroller, or other processor or processing / control circuitry.
[0022] Memory 130 may include any type of volatile or non-volatile memory or data storage device capable of performing the functions described herein. During operation, memory 130 may store various data and software used during the operation of computing device 100, such as an operating system, applications, programs, libraries, and drivers. Memory 130 is communicatively coupled to processor 110 via I / O subsystem 120, which includes circuits and / or components that facilitate input / output operations with processor 110, memory 130, and other components of computing device 100. For example, I / O subsystem 120 may be embodied in or include a memory controller hub, an input / output control hub, a platform controller hub, integrated control circuitry, firmware devices, communication links (e.g., point-to-point links, bus links, wires, cables, light guides, printed circuit board traces, etc.), and / or other components and subsystems that facilitate input / output operations. In some embodiments, I / O subsystem 120 may form part of a system-on-chip (SOC) and may be integrated with processor 110, memory 130, and other components of computing device 100 on a single integrated circuit chip.
[0023] Data storage 140 may be embodied by any type of device or devices configured for short-term or long-term storage of data, such as, for example, memory devices and circuits, memory cards, hard disk drives, solid-state drives, or other data storage devices. Data storage 140 may store program code for providing a domain generalization margin using meta-learning for deep face recognition. Communications subsystem 150 of computing device 100 may include any network interface controller or other communications circuitry, device, or collection thereof that enables communications between computing device 100 and other remote devices over a network. Communications subsystem 150 may be configured to perform such communications using any one or more communications technologies (e.g., wired or wireless communications) and associated protocols (e.g., Ethernet, InfiniBand, Bluetooth, Wi-Fi, WiMAX, etc.).
[0024] As shown, computing device 100 may include one or more peripheral devices 160. Peripheral devices 160 may include any number of additional input / output devices, interface devices, and / or other peripheral devices. For example, in some embodiments, peripheral devices 160 may include a display, a touch screen, graphics circuitry, a keyboard, a mouse, a speaker system, a microphone, a network interface, and / or other input / output devices, interface devices, video capture devices, and / or peripherals.
[0025] Of course, computing device 100 may include other elements (not shown) or omit certain elements, as would readily occur to one skilled in the art. For example, computing device 100 may include various other sensors, input devices, and / or output devices, depending on the particular implementation, as would be readily apparent to one skilled in the art. For example, various types of wireless and / or wired input and / or output devices may be utilized. Furthermore, various configurations of additional processors, controllers, memory, etc. may be utilized. These and other variations of processing system 100 will be readily apparent to one skilled in the art in view of the teachings of the present invention provided herein.
[0026] As used herein, the terms "hardware processor subsystem" or "hardware processor" refer to a processor, memory, software, or combination thereof that cooperate to perform one or more specific tasks. In useful embodiments, the hardware processor subsystem may include one or more data processing elements (e.g., logic circuits, processing circuits, instruction execution units, etc.). The one or more data processing elements may include a central processing unit, a graphics processing unit, and / or individual processors or computing element-based controllers (e.g., logic gates, etc.). The hardware processor subsystem may include one or more on-board memories (e.g., cache, dedicated memory array, read-only memory, etc.). In any embodiment, the hardware processor subsystem may be on-board or off-board, or may include one or more memories dedicated for use by the hardware processor subsystem (e.g., ROM, RAM, basic input / output system (BIOS), etc.).
[0027] In some embodiments, a hardware processor subsystem may include and execute one or more software elements, which may include an operating system and / or one or more applications and / or specific code for achieving a particular result.
[0028] In other embodiments, the hardware processor subsystem may include dedicated circuitry that performs one or more electronic processing functions to achieve a specified result. Such circuitry may include one or more application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), and / or programmable logic arrays (PLAs).
[0029] These and other variations of the hardware processor subsystem are also contemplated by embodiments of the present invention.
[0030] 2 is a block diagram illustrating an exemplary framework 200, according to one embodiment of the present invention. The framework includes a training set 210 with training batches T 211, a sample mining process 215, a validation set 220, a validation batch V 221, a shared backbone 230, an importance margin 240, a meta-learner 250, a multi-variation margin 260, and an IVLA loss 270. These elements are described in further detail herein below.
[0031] FIG. 3 is a high-level block diagram illustrating a deep face recognition system / method 300 according to one embodiment of the present invention.
[0032] The system / method 300 includes a train face recognition engine block 310, a compute loss block 320, a validation set 330, an importance weighting meta-learning block 340, an update meta-training block 350, and an update face recognition engine block 360.
[0033] The recognition engine training block 310 uses a ResNet-101 based backbone and takes cropped face images of size 100x100x3 as input.
[0034] The loss computation block 320 takes as input the feature vectors that are output from the recognition engine block, processes the features into identity-related logits, and penalizes the ground truth identity labels for loss.
[0035] The validation set 330 is independently selected to perform the meta-learning stage.
[0036] Importance weighted meta-learning 340 is a model-agnostic meta-learning framework that penalizes variation loss to select samples from the validation set 330 that have the most complementary distribution information with the current training set batch, thereby improving on a more balanced training distribution.
[0037] The meta-training update block 350 uses the newly fed back validation data to update the importance weights of the current training batch.
[0038] Recognition Engine Update Block 360. The loss calculation 320 is run again based on the new updated importance weights, updating the recognition engine weights to finish this exemplary update iteration.
[0039] Here, we introduce three typical scalable variations to augment the training data: blur, occlusion, and head pose. Of course, other variations may be used while maintaining the intent of the present invention.
[0040] In the following, a confidence-aware discriminative loss is introduced to learn from hard examples. This is then further extended by splitting the feature vector into sub-embeddings with independent confidences. The introduced scalable variation is then applied to further decorrelate the feature embeddings. A non-scalable variation discovery is proposed to explore more variations for better decorrelation. Finally, an uncertainty-based pairwise metric is proposed for inference.
[0041] Self-supervised multitask learning.
[0042] The variable definitions are as follows: x: Input face image y: ground truth identity label θ: Model parameters of the recognition engine w: parameters of the recognition classifier v: indicates a specific domain (variation) f i :Feature (output of 310) vector s i :L idt Scale factor of loss (equation (2)) m:L idt Loss Margin
[0043] (1) Useful for hard case study. Help optimization.
number
[0044] Domain Balancing Using Meta-Learning
number
[0045] Class Balancing as Domain Adaptation
[0046] Long-tail distribution P s A training set (source domain) drawn from (x,y) with independent and identical distributions (iid)
number
number
number
number
number
[0047] Then, we apply the importance sampling trick to connect the expected error with the long-tail source domain as follows:
number
number
[0048] Existing class-balanced methods focus on how to balance class-wise weights {w y}, which results in the following objective function for training:
number
number
number
[0049] shared conditional distribution
number
number
[0050] Modeling condition differences.
[0051] For simplicity, the conditional weights
number
number
number
number
number
[0052] Class-wise weights {W y}Estimation
[0053] The present invention makes the classwise weights similar to experimentally successful designs in the literature. In particular, the present invention estimates the classwise weights by the recently proposed "effective number": n for the yth class. y Assuming there are training examples,
number
number
number
[0054] Conditional Weights
number
[0055] The conditional weights are estimated by customizing the meta-learning framework.
[0056] The main idea is to provide a balanced development set D from the training set and use it to generate the best-performing recognition model on the development set.
number
number
number
number
number
[0057] Brute force search, e.g., all possible sets of conditional weights
number
number
[0058] Instead, we modify the meta-learning framework to search for conditional weights in a greedy manner. Given the current time step t, we find the weights
number
[0059]
number
[0060]
number
[0061]
number
[0062] The first equation is the current conditional weight
number
number
number
number
number
number
[0063] FIG. 4 illustrates exemplary pseudocode 400 for instance-level margin meta-learning, according to one embodiment of the present invention.
[0064] Further discussion will now be given regarding the approach according to one embodiment of the present invention.
[0065] We first show that the cosine loss margin can be interpreted as a measure of sampling importance, which is not shown in the literature. In contrast to cosine loss, which guarantees a predefined constant as the margin, we propose an instance-level, variation-aware margin for each training sample that incorporates its importance. Furthermore, the margin is split into a priori constant term and a residual dynamic term, where the latter represents multiple variation factors. Finally, we introduce a meta-learning framework to adapt the residual term of the margin for each sample.
[0066] Next, an interpretation margin as a measure of sampling importance according to one embodiment of the present invention will be described.
[0067]
number
number
number
number
number
number
number
number
number
[0068] On the other hand, the importance reweighting method generally reweights each sample loss component according to the long-tail state of the sample.
number
number
number
number
number
number
number
[0069] Typically, different classes i For all the denominators, the denominators are generally similar, i.e.,
number
number
[0070] The reweighted loss in Equation 16 is
number
number
number
[0071] Next, a multivariate cosine margin according to one embodiment of the present invention will be described.
[0072] CosFace and other cosine distance-based methods assume a constant margin shared across the entire dataset, which is equivalent to assigning equal sampling importance to all training data. As described herein, sampling importance at the instance level provides better capture of variation, and these variations are reflected in the discriminative loss, which helps compensate for bias in the training data.
[0073] To this end, the present invention uses an instance-level variation-aware margin to assign importance weights to each sample.
number
number
number
[0074] where:
number
number
[0075] α is a hyperparameter,
number
[0076] In Equation 15, k is an index that lists the variations defined in the present invention, including eth for ethnicity, pose for head pose change, occ for the occlusion ratio of the entire image, and blur for the blur level of the image. The present invention uses a compound occlusion and Gaussian blur for training. λ k is the coupling coefficient for each variation, which is inversely proportional to the number of long-tail samples for each variation.
number
number
[0077] Variation-aware surplus meta-learning according to one embodiment of the present invention will now be described.
[0078] Variation-aware surplus meta-learning according to one embodiment of the present invention will now be described.
[0079] To obtain the residual term of the importance weight, we utilize a meta-learning framework, which uses a predefined validation set V as input. The validation set does not share identity with the original training set. The main idea is to check the variation of each sample in the training batch, and the meta-learning is expected to dynamically update the importance of each sample so that the inadequacies of each variation (e.g., ethnicity, head pose) from this particular sample can be highlighted. By feeding back the highlighted residual to form an adaptive cosine loss margin, the proposed ILVA loss updates feature learning in an alternative way.
[0080] A multi-branching baseline according to one embodiment of the present invention will now be described.
[0081] As introduced herein, the present invention uses a pre-determined constant term based on the imbalance of class amounts and the remainder term of Equation 15.
number
number
number
number
[0082] In contrast to classical multitask learning, variation tasks rely on a shared backbone
number
number
[0083] The goal of training a variation classifier is to use the cross entropy loss
number
number
number
[0084] Multivariate meta-learning, according to one embodiment of the present invention, will now be described.
[0085] The baseline is achieved by not changing the importance weights. To find the imbalance in the distribution along each of the variations, we use the trained classifier v k The scores are given using the predicted logit of the variance. Samples with similar distributions of variation are expected to yield similar classifier logits.
[0086] Hard validation sample mining according to one embodiment of the present invention will now be described.
[0087] To effectively feed back tailed distribution information based on one training batch, the present invention implements hard sample mining to search for the most representative samples from a predefined validation set V whose identities do not overlap with those of the training set.
number
number
[0088] Next, we describe the steps required to run one iteration of our proposed meta-learning framework. For simplicity, the class index i is omitted from the equations, and only the sample index j is retained.
[0089] Next, updating of the pseudo model according to one embodiment of the present invention will be described.
[0090] At each iteration t, we uniformly sample a batch T from the training data and feed it to the recognition model to update the model parameters Ω. Note that if the current model Ω does not improve performance, we can roll back the update of model Ω to the previous iteration t-1.
number
[0091] Next, margin remainder meta updating according to one embodiment of the present invention will be described.
[0092] We create a validation batch from the validation set V using the online hard sample mining method described in Equation 22. Then, we use the model parameters Ω updated in the previous step to generate a validation batch. t Using the margin remainder term
number
[0093]
number
number
number
number
[0094] Next, updating of the real model according to one embodiment of the present invention will be described.
[0095] The present invention utilizes the new margin of importance obtained
number
number
[0096] The entire algorithm is summarized in Algorithm 2 in Figure 5. The present invention uses a face recognition model
number
number
[0097] FIG. 6 is a flow diagram illustrating an exemplary method for meta-learning of sample-level margins, according to one embodiment of the present invention.
[0098] At block 610, forward training is performed on the training batch of samples to form a face recognition model w(t).
[0099] At block 620, weights for the samples in the training batch are calculated based on the meta-learner.
[0100] In block 630, the gradient of the training batch with respect to the model weights of the training batch is obtained, and the gradient of the training batch is used to calculate the face recognition model w(t) as the face recognition model W hat Update to (t).
[0101] At block 640, the validation batch of samples is applied to the facial recognition model W hat Transfer to (t).
[0102] In block 650, the gradient of the validation batch with respect to the meta-learner theta(t) is obtained, and the gradient of the validation batch and the face recognition model W hat (t) is used to update the sample-level importance weights of the samples in the training batch to obtain updated sample-level importance weights of the samples in the training batch.
[0103] In block 660, an upgraded gradient of the training batch is obtained based on the updated sample-level importance weights of the samples in the training batch, and the upgraded gradient of the training batch is used to transform the face recognition model w(t) into a trained model w(t+1) corresponding to the next iteration.
[0104] The importance of adapting to the next iteration. The meta-learning-based model w(t) update is important because it utilizes complementary information from the validation set and automatically discovers distribution imbalances based on domain (variation) classifier feedback to mitigate imbalances in face recognition training. Because training is iterative, the training model at each stage is based on updates to the previous training model. The updated training model w(t+1) is the starting point for the next iteration.
[0105] The present invention may be a system, a method and / or an integratable computer program product at a level of technical detail. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions for causing a processor to perform aspects of the present invention.
[0106] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile disc (DVD), memory stick, floppy disk, punch cards, or mechanical encoding devices such as grooved ridge structures having instructions recorded thereon, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium should not be construed as a transitory signal itself, such as, for example, radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over a wire.
[0107] The computer-readable program instructions described herein can be downloaded from a computer-readable recording medium to each computing / processing device or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage on a computer-readable recording medium in each computing / processing device.
[0108] The computer-readable program instructions for carrying out the operations of the present invention may be either source code or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or object code written in any combination of one or more programming languages, including object-oriented programming languages such as SMALLTAL® K, C++, and the like, as well as conventional procedural programming languages such as the “C” programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, to carry out aspects of the present invention, an electronic circuit comprising, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may execute computer readable program instructions using state information of the computer readable program instructions to personalize the electronic circuit.
[0109] Aspects of the present invention are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0110] These computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to generate a machine such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts identified in each block of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored on a computer-readable recording medium that causes a computer, programmable data processing apparatus, and / or other apparatus to function in a particular manner, and a computer-readable recording medium having instructions stored thereon has a product containing instructions that implement aspects of the functions / acts identified in the blocks or blocks of the flowcharts and / or block diagrams.
[0111] The computer-readable program instructions are loaded into a computer, other programmable data processing device, or other device, and cause the computer, other programmable device, or other device to perform a series of operational steps such that the instructions, when executed by the computer, other programmable device, or other device, implement the functions / operations identified in the blocks or individual blocks of the flowcharts and / or block diagrams, thereby generating a computer-implemented process.
[0112] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions, which includes one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may actually be executed substantially concurrently or in the reverse order, depending on the functionality involved. It should also be noted that each block in the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or operations or executes a combination of dedicated hardware and computer instructions.
[0113] References herein to "one embodiment" or "one embodiment" of the invention, as well as other variations, mean that a particular feature, structure, characteristic, etc. described in connection with an embodiment is included in at least one embodiment of the invention. Thus, appearances of the phrases "in one embodiment" or "in an embodiment," as well as any other variations appearing in various places throughout this specification, are not necessarily all referring to the same embodiment.
[0114] For example, the use of any of " / ," "and / or," and "at least one of" in "A / B," "A and / or B," and "at least one of A and B" should be understood to be intended to include selecting only the first listed alternative (A), selecting only the second listed alternative (B), or selecting both alternatives (A and B). By way of further example, in the case of "A, B, and / or C" and "at least one of A, B, and C," such phrases are intended to include selecting only the first listed alternative (A), selecting only the second listed alternative (B), selecting only the third listed alternative (C), selecting only the first and second listed alternatives (A and B), selecting only the first and third listed alternatives (A and C), selecting only the second and third listed alternatives (B and C), or selecting all three alternatives (A, B, and C). The above examples can be expanded to include a larger number of items listed, as would be readily apparent to one of ordinary skill in the art.
[0115] The foregoing should be considered in all respects as illustrative and exemplary, and not restrictive, and the scope of the invention disclosed herein should be determined not from the detailed description but from the claims, which are to be interpreted in accordance with the broadest scope permitted by patent law. It should be understood that the embodiments shown and described herein are merely illustrative of the principles of the invention, and that various modifications could be made by those skilled in the art without departing from the scope and spirit of the invention. Various other feature combinations could be implemented by those skilled in the art without departing from the scope and spirit of the invention. While aspects of the invention have been described above with the particularity and particularity required by patent law, the scope of what is sought to be protected by letters patent is set forth in the appended claims.
Claims
1. 1. A computer-implemented method for training a model for deep face recognition, comprising: performing forward training on a training batch of samples to form a face recognition model w(t) (610); Calculating (620) weights for the samples of the training batch based on a meta-learner; A processor unit obtains gradients of the training batch with respect to model weights of the training batch, and uses the gradients of the training batch to calculate the face recognition model w(t). hat (t) (630); The validation batch of samples is then run through the face recognition model w hat (t) (640); The processor unit obtains gradients of the validation batch with respect to a meta-learner theta(t), and calculates the gradients of the validation batch and the face recognition model w hat updating (650) sample-level importance weights of samples in the training batch using (t) to obtain updated sample-level importance weights of samples; obtaining, by the processor device, upgraded gradients of the training batch based on the updated sample-level importance weights of the samples in the training batch (660); and updating, by using the upgraded gradients of the training batch, the face recognition model w(t) to a trained model w(t+1) corresponding to a next iteration (660); 23. A computer-implemented method comprising:
2. 2. The computer-implemented method of claim 1, wherein a weight for each of the samples in the training batch used to train a model comprises a class-level weight and the upgraded sample-level importance weight.
3. 3. The computer-implemented method of claim 2, wherein the updated sample-level importance weights of the samples in the training batch are proportional to class-recognition weights for the samples in the training batch.
4. 2. The computer-implemented method of claim 1, further comprising: checking sample variation for each of a plurality of samples in the training batch to dynamically update the sample-level importance weights for each of the plurality of samples to highlight insufficient variation.
5. The computer-implemented method of claim 4 , wherein the insufficient variation is selected from the group consisting of ethnic variation, pose variation, overall image occlusion ratio, and image blur level.
6. 2. The computer-implemented method of claim 1, wherein the updated sample-level importance weights of the samples in the training batch are not uniform across the samples in the training batch.
7. 2. The computer-implemented method of claim 1, further comprising: performing a facial recognition session with the trained model w(t+1) to generate individual identities.
8. A program for training a model for deep face recognition, comprising: performing forward training on a training batch of samples to form a face recognition model w(t) (610); Calculating weights for the samples of the training batch based on a meta-learner (620); Obtain gradients of the training batch with respect to the model weights of the training batch, and use the gradients of the training batch to calculate the face recognition model w(t) as a face recognition model w(t). hat (t) (630); The validation batch of samples is then run through the face recognition model w hat (640) a step of transferring the Obtain the gradient of the validation batch with respect to a meta-learner theta(t), and compare the gradient of the validation batch with the face recognition model w hat updating (650) sample-level importance weights of samples in the training batch using (t) to obtain updated sample-level importance weights of the samples; obtaining (660) upgraded gradients for the training batch based on the updated sample-level importance weights of the samples in the training batch, and updating (660) the face recognition model w(t) to a trained model w(t+1) corresponding to the next iteration using the upgraded gradients for the training batch; A program for causing a computer to execute the following.
9. 9. The method of claim 8, wherein weights for each of the samples in the training batch used to train a model include class-level weights and the upgraded sample-level importance weights.
10. 10. The program of claim 9, wherein the updated sample-level importance weights of the samples in the training batch are proportional to class-recognition weights for the samples in the training batch.
11. 9. The program of claim 8, further comprising: checking sample variation for each of a plurality of samples in the training batch to dynamically update the sample-level importance weights for each of the plurality of samples to highlight insufficient variation.
12. The method of claim 11 , wherein the insufficient variation is selected from the group consisting of ethnic variation, pose variation, overall image occlusion ratio, and image blur level.
13. 9. The method of claim 8, wherein the updated sample-level importance weights of the samples in the training batch are not uniform across the samples in the training batch.
14. 10. The method of claim 8, further comprising: performing a face recognition session with the trained model w(t+1) to generate individual identities.
15. 1. A computer processing system for training a model for deep face recognition, comprising: A memory device (140) for storing program code; Executing the program code, To form a face recognition model w(t), perform forward training on a training batch of samples; Calculating weights for the samples of the training batch based on a meta-learner; Obtain gradients of the training batch with respect to the model weights of the training batch, and use the gradients of the training batch to calculate the face recognition model w(t) as a face recognition model w(t). hat (t), The validation batch of samples is then run through the face recognition model w hat (t), Obtain the gradient of the validation batch with respect to a meta-learner theta(t), and compare the gradient of the validation batch with the face recognition model w hat (t) to update sample-level importance weights of samples in the training batch to obtain updated sample-level importance weights of the samples; a processor unit (110) operatively connected to the memory unit for obtaining upgraded gradients of the training batch based on updated sample-level importance weights of samples in the training batch, and updating the face recognition model w(t) to a trained model w(t+1) corresponding to a next iteration using the upgraded gradients of the training batch; A computer processing system having:
16. 16. The computer processing system of claim 15, wherein a weight for each of the samples in the training batch used to train a model comprises a class-level weight and the upgraded sample-level importance weight.
Citation Information
Patent Citations
Quantum processing apparatus and method
JP2018529142A
Gradient compression device, gradient compression method and program
JP2019080232A
Method and system for performing real-time analytics on a plurality of data streams
WO2018037388A1