Electronic device and control method therefor

WO2024253317A3PCT designated stage expired Publication Date: 2025-08-21SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/004985
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-06-05
Filing Date
2024-04-12
Publication Date
2025-08-21

Smart Images

  • Figure KR2024004985_21082025_PF_FP_ABST
    Figure KR2024004985_21082025_PF_FP_ABST
Patent Text Reader

Abstract

This electronic device comprises: a memory for storing sample data, a first feature extraction model, a noise application module, a data generator, and a second feature extraction model; and at least one processor connected to the memory and controlling the electronic device. The at least one processor: inputs the sample data into the first feature extraction model so as to obtain first data including a feature map of the sample data; inputs the first data into the noise application module so as to obtain second data derived by applying a noise filter to the first data; inputs the second data into the data generator so as to obtain third data which is different from the second data; inputs the third data into the second feature extraction model so as to obtain fourth data including a feature map of the third data; obtains a loss value on the basis of the fourth data; and trains the data generator on the basis of the loss value.
Need to check novelty before this filing date? Find Prior Art

Description

Electronic device and method of controlling the same

[0001] The present disclosure relates to an electronic device and a control method thereof, and more particularly, to an electronic device that generates synthetic data and a control method thereof.

[0002] The generator included in the AI ​​network can generate virtual data based on input vectors. Virtual data can refer to data created by the generator rather than actual data. When real data is insufficient, the AI ​​network can be trained using additional virtual data.

[0003] To generate additional virtual data, the generator can augment the data. The data generated by the generator may need to have some similarity to the original data.

[0004] Data generated by the generator may be subject to artificial mixing, cropping, rotation, and other manipulations. In these cases, artificial data augmentation can reduce the similarity between the original data and the original data. This reduced similarity can lower the reliability of learning operations using the virtual data.

[0005] Additionally, if learning operations are performed using data created through artificial data augmentation operations, an overfitting problem may occur.

[0006] The present disclosure is designed to improve the above-described problem, and an object of the present disclosure is to provide an electronic device and a control method thereof that generates synthetic data by inputting a feature map of sample data into a generator and trains the generator by calculating a loss value for the feature map of the synthetic data.

[0007] In one embodiment, an electronic device comprises: a memory storing sample data, a first feature extraction model, a noise application module, a data generator, and a second feature extraction model; and at least one processor connected to the memory and controlling the electronic device, wherein the at least one processor inputs the sample data into the first feature extraction model to obtain first data including a feature map of the sample data, inputs the first data into the noise application module to obtain second data having a noise filter applied to the first data, inputs the second data into the data generator to obtain third data different from the second data, inputs the third data into the second feature extraction model to obtain fourth data including a feature map of the third data, obtains a loss value based on the fourth data, and trains the data generator based on the loss value.

[0008] The at least one processor can determine the third data as synthetic data if the loss value satisfies a preset condition, and can train the data generator if the loss value does not satisfy the preset condition.

[0009] The third data is data obtained based on a first parameter of the data generator, and the at least one processor can change the first parameter of the data generator to a second parameter if the loss value does not satisfy the preset condition.

[0010] The at least one processor may perform a backpropagation process by inputting the fourth data into the second feature extraction model if the loss value does not satisfy the preset condition, obtain fifth data as a result of the backpropagation process, and train the data generator based on the fifth data.

[0011] The at least one processor can input the fifth data into the noise application module to obtain sixth data to which a noise filter is applied to the fifth data, and train the data generator based on the sixth data.

[0012] The loss value is a first loss value, and the at least one processor can input the sixth data into the data generator to obtain seventh data that is different from the sixth data based on the second parameter of the data generator, input the seventh data into the second feature extraction model to obtain eighth data including a feature map of the seventh data, obtain a second loss value based on the eighth data, and train the data generator based on the second loss value.

[0013] The fourth data is data obtained based on a third parameter of the second feature extraction model, and the at least one processor can change the third parameter of the second feature extraction model to a fourth parameter if the loss value does not satisfy the preset condition.

[0014] The at least one processor may perform a backpropagation process based on the fourth parameter of the second feature extraction model by inputting the fourth data into the second feature extraction model if the loss value does not satisfy the preset condition, obtain fifth data as a result of the backpropagation process, and train the data generator based on the fifth data.

[0015] The above loss value is a final loss value, and the at least one processor can obtain the final loss value based on at least one of a BNS (Batch Normalization layers) loss value, a CE (Cross Entropy) loss value, or an AR (Activation Regularization) loss value.

[0016] The above first feature extraction model and the above second feature extraction model may be the same model.

[0017] According to an embodiment, a control method of an electronic device storing sample data, a first feature extraction model, a noise application module, a data generator, and a second feature extraction model includes the steps of: obtaining first data including a feature map of the sample data by inputting the sample data into the first feature extraction model; obtaining second data having a noise filter applied to the first data by inputting the first data into the noise application module; obtaining third data different from the second data by inputting the second data into the data generator; obtaining fourth data including a feature map of the third data by inputting the third data into the second feature extraction model; obtaining a loss value based on the fourth data; and training the data generator based on the loss value.

[0018] The step of training the above data generator may determine the third data as synthetic data if the loss value satisfies a preset condition, and train the data generator if the loss value does not satisfy a preset condition.

[0019] The third data is data obtained based on the first parameter of the data generator, and the step of learning the data generator may change the first parameter of the data generator to a second parameter if the loss value does not satisfy the preset condition.

[0020] The step of learning the data generator may include, if the loss value does not satisfy the preset condition, performing a back propagation process by inputting the fourth data into the second feature extraction model, obtaining fifth data as a result of the back propagation process, and learning the data generator based on the fifth data.

[0021] The step of learning the data generator may include inputting the fifth data into the noise application module to obtain sixth data to which a noise filter is applied to the fifth data, and learning the data generator based on the sixth data.

[0022] The above loss value is a first loss value, and the step of learning the data generator may include inputting the sixth data into the data generator to obtain seventh data that is different from the sixth data based on the second parameter of the data generator, inputting the seventh data into the second feature extraction model to obtain eighth data including a feature map of the seventh data, obtaining a second loss value based on the eighth data, and learning the data generator based on the second loss value.

[0023] The fourth data is data obtained based on the third parameter of the second feature extraction model, and the control method can change the third parameter of the second feature extraction model to the fourth parameter if the loss value does not satisfy the preset condition.

[0024] The step of learning the data generator may include, if the loss value does not satisfy the preset condition, inputting the fourth data into the second feature extraction model to perform a backpropagation process based on the fourth parameter of the second feature extraction model, obtaining fifth data as a result of the backpropagation process, and learning the data generator based on the fifth data.

[0025] The above loss value is a final loss value, and the step of obtaining the loss value can obtain the final loss value based on at least one of a BNS (Batch Normalization layers) loss value, a CE (Cross Entropy) loss value, or an AR (Activation Regularization) loss value.

[0026] The above first feature extraction model and the above second feature extraction model may be the same model.

[0027] FIG. 1 is a drawing for explaining a system including an electronic device and an external device.

[0028] Figure 2 is a block diagram illustrating a configuration included in an electronic device.

[0029] Figure 3 is a block diagram illustrating a configuration included in an external device.

[0030] FIG. 4 is a diagram for explaining a data generation operation according to one embodiment.

[0031] FIG. 5 is a diagram for explaining a data generation operation according to one embodiment.

[0032] Figure 6 is a flowchart for explaining a data generation operation according to one embodiment.

[0033] Figure 7 is a diagram explaining the forward propagation and back propagation processes performed by the learning module.

[0034] Figure 8 is a diagram for explaining a convolution operation and a transposed convolution operation.

[0035] FIG. 9 is a block diagram illustrating an operation of generating synthetic data through a learning method according to one embodiment.

[0036] FIG. 10 is a block diagram illustrating an operation of generating synthetic data through a learning method according to one embodiment.

[0037] Figure 11 is a flowchart illustrating a process for calculating a loss value using a learning method according to one embodiment.

[0038] FIG. 12 is a flowchart illustrating an operation of generating synthetic data based on updated parameters, according to one embodiment.

[0039] FIG. 13 is a block diagram illustrating an operation in which a noise application module is not used in an update process, according to one embodiment.

[0040] FIG. 14 is a flowchart for explaining an operation in which a noise application module is not used in an update process, according to one embodiment.

[0041] FIG. 15 is a block diagram illustrating an operation that does not utilize a backpropagation operation in an update process, according to one embodiment.

[0042] FIG. 16 is a flowchart for explaining an operation that does not utilize a backpropagation operation in an update process, according to one embodiment.

[0043] FIG. 17 is a block diagram illustrating an operation that does not utilize a backpropagation operation in an update process, according to one embodiment.

[0044] FIG. 18 is a flowchart for explaining an operation that does not utilize a backpropagation operation in an update process, according to one embodiment.

[0045] FIG. 19 is a block diagram illustrating an operation of updating parameters of a data generator and parameters of a second feature extraction model, according to one embodiment.

[0046] FIG. 20 is a flowchart illustrating an operation of updating parameters of a second feature extraction model according to one embodiment.

[0047] FIG. 21 is a flowchart illustrating a second feature extraction model that performs a backpropagation operation based on updated parameters, according to one embodiment.

[0048] Figure 22 is a drawing for explaining a loss value according to one embodiment.

[0049] FIG. 23 is a drawing for explaining a control method of an electronic device according to one embodiment.

[0050] Hereinafter, the present disclosure will be described in detail with reference to the attached drawings.

[0051] The terms used in the embodiments of this disclosure have been selected from widely used, current terms, taking into account the functions of this disclosure. However, these terms may vary depending on the intentions of those skilled in the art, precedents, the emergence of new technologies, etc. Furthermore, in certain cases, terms may be arbitrarily selected by the applicant, and in such cases, their meanings will be described in detail in the description of the relevant disclosure. Therefore, the terms used in this disclosure should not be defined simply as names of terms, but rather based on the meanings of the terms and the overall content of this disclosure.

[0052] In this specification, expressions such as “has,” “can have,” “includes,” or “may include” indicate the presence of a feature (e.g., a number, function, operation, or component such as a part), and do not exclude the presence of additional features.

[0053] The expression "at least one of A and / or B" should be understood to mean either "A" or "B" or "A and B".

[0054] As used herein, the expressions “first,” “second,” “first,” or “second,” etc., may describe various components, regardless of order and / or importance, and are only used to distinguish one component from another, but do not limit the components.

[0055] When it is said that a component (e.g., a first component) is “(operatively or communicatively) coupled with / to” or “connected to” another component (e.g., a second component), it should be understood that the component may be directly coupled to the other component, or may be connected through another component (e.g., a third component).

[0056] Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, terms such as "comprise" or "consist of" are intended to indicate the presence of a feature, number, step, operation, component, part, or combination thereof described in the specification, but should be understood not to preclude the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

[0057] In the present disclosure, a "module" or "part" performs at least one function or operation and may be implemented as hardware or software, or as a combination of hardware and software. Furthermore, multiple "modules" or multiple "parts" may be integrated into at least one module and implemented as at least one processor (not shown), excluding any "modules" or "parts" that need to be implemented as specific hardware.

[0058] In this specification, the term user may refer to a person using an electronic device or a device using an electronic device (e.g., an artificial intelligence electronic device).

[0059] In the present disclosure, learning an artificial intelligence model means that a basic artificial intelligence model (e.g., an artificial intelligence model including any random parameters) is learned using a plurality of training data by a learning algorithm, thereby creating a predefined operation rule or artificial intelligence model set to perform a desired characteristic (or purpose). Such learning may be performed through a separate server and / or system, but is not limited thereto, and may also be performed in the electronic device (100). Examples of learning algorithms include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, transfer learning, or reinforcement learning.

[0060] Here, each artificial intelligence model can be implemented as, for example, a Convolutional Neural Network (CNN), a Recurrent Neural Network (RNN), a Restricted Boltzmann Machine (RBM), a Deep Belief Network (DBN), a Bidirectional Recurrent Deep Neural Network (BRDNN), or a Deep Q-Network, but is not limited thereto.

[0061] A processor (140) for executing an artificial intelligence model according to an embodiment of the present disclosure may be implemented through a combination of software and a general-purpose processor such as a CPU, an AP, a DSP (Digital Signal Processor), a graphics-only processor such as a GPU, a VPU (Vision Processing Unit), or an artificial intelligence-only processor such as an NPU. The processor (140) may be controlled to process input data according to predefined operation rules or an artificial intelligence model stored in the memory (120). Alternatively, if the processor (140) is a dedicated processor (or an artificial intelligence-only processor), it may be designed as a hardware structure specialized for processing a specific artificial intelligence model. For example, hardware specialized for processing a specific artificial intelligence model may be designed as a hardware chip such as an ASIC or an FPGA. If the processor (140) is implemented as a dedicated processor, it may be implemented to include a memory for implementing an embodiment of the present disclosure, or it may be implemented to include a memory processing function for utilizing an external memory.

[0062] In another example, the memory (120) may store information regarding an artificial intelligence model including a plurality of layers. Here, storing information regarding the artificial intelligence model may mean storing various information related to the operation of the artificial intelligence model, such as information regarding the plurality of layers included in the artificial intelligence model, information regarding parameters (e.g., filter coefficients, biases, etc.) used in each of the plurality of layers, etc.

[0063] An embodiment of the present disclosure will be described in more detail with reference to the attached drawings below.

[0064] FIG. 1 is a drawing for explaining a system (1000) including an electronic device (100) and an external device (200).

[0065] Referring to FIG. 1, a system (1000) may include an electronic device (100) and an external device (200).

[0066] The electronic device (100) may be a device that trains and compresses a specific learning model. The specific learning model may refer to an artificial intelligence model. The external device (200) may be a device that receives the compressed learning model obtained during the compression process. The external device (200) may provide a service to the user based on the compressed (received) learning model.

[0067] Figure 2 is a block diagram illustrating a configuration included in an electronic device (100).

[0068] Referring to FIG. 2, the electronic device (100) may include at least one of a memory (110), at least one processor (120), or a communication interface (130).

[0069] The memory (110) may be implemented as an internal memory such as a ROM (e.g., an electrically erasable programmable read-only memory (EEPROM)) or RAM included in the processor (120), or may be implemented as a separate memory from the processor (120). In this case, the memory (110) may be implemented as a memory embedded in the electronic device (100) or as a memory that can be detachably attached to the electronic device (100) depending on the purpose of data storage. For example, data for driving the electronic device (100) may be stored in a memory embedded in the electronic device (100), and data for expanding the functions of the electronic device (100) may be stored in a memory that can be detachably attached to the electronic device (100).

[0070] In the case of memory embedded in the electronic device (100), it may be implemented as at least one of volatile memory (e.g., dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM)), non-volatile memory (e.g., one time programmable ROM (OTPROM), programmable ROM (PROM), erasable and programmable ROM (EPROM), electrically erasable and programmable ROM (EEPROM), mask ROM, flash ROM, flash memory (e.g., NAND flash or NOR flash), etc.), hard drive, or solid state drive (SSD), and in the case of memory that can be attached or detached to the electronic device (100), it may be implemented in the form of a memory card (e.g., compact flash (CF), secure digital (SD), micro secure digital (Micro-SD), mini secure digital (Mini-SD), extreme digital (xD), multi-media card (MMC), etc.), external memory that can be connected to a USB port (e.g., USB memory), etc.

[0071] The processor (120) can perform overall control operations of the electronic device (100). Specifically, the processor (120) has a function of controlling the overall operations of the electronic device (100).

[0072] The processor (120) may be implemented as a digital signal processor (DSP), a microprocessor, or a time controller (TCON) that processes digital signals. However, the present invention is not limited thereto, and may include one or more of a central processing unit (CPU), a micro controller unit (MCU), a micro processing unit (MPU), a controller, an application processor (AP), a graphics-processing unit (GPU), a communication processor (CP), or an advanced reduced instruction set computer (RISC) machines (ARM) processor, or may be defined by the relevant terminology. In addition, the processor (120) may be implemented as a system on chip (SoC) or large scale integration (LSI) having a processing algorithm built in, or may be implemented in the form of a field programmable gate array (FPGA). In addition, the processor (120) may perform various functions by executing computer executable instructions stored in a memory.

[0073] The electronic device (100) may be a server that learns an artificial intelligence model.

[0074] The electronic device (100) includes at least one of a memory (110), at least one processor (120), or a communication interface (130).

[0075] The memory (110) can store sample data (x0), a first feature extraction model (142), a noise application module (151), a data generator (152), and a second feature extraction model (154).

[0076] At least one processor (120) can be connected to a memory (110) to control the electronic device (100).

[0077] At least one processor (120) can input sample data (x0) into a first feature extraction model (142), thereby obtaining first data (x1) including a feature map of the sample data (x0), input the first data (x1) into a noise application module (151), thereby obtaining second data (x2) to which a noise filter is applied to the first data (x1), input the second data (x2) into a data generator (152), thereby obtaining third data (x3) different from the second data (x2), input the third data (x3) into a second feature extraction model (154), thereby obtaining fourth data (x4) including a feature map of the third data (x3), obtain a loss value based on the fourth data (x4), and train the data generator (152) based on the loss value.

[0078] The sample data may be described as real data or original data. At least one processor (120) may input the sample data (x0) into the first feature extraction model (142) to obtain first data (x1).

[0079] The first feature extraction model (142) may be a model that extracts features of input data. The first feature extraction model (142) may obtain information including a feature map of the input data. The first data (x1) may include a feature map of sample data (x0).

[0080] The first feature extraction model (142) may be described as a first feature extraction model or a preprocessing model.

[0081] At least one processor (120) can transform the first data (x1) through a noise application module (151).

[0082] The noise application module (151) may include a function to change data in a user-defined or random manner by applying a noise filter. The noise filter may be described as a normalization filter.

[0083] At least one processor (120) can reflect a noise filter by applying the first data (x1) to the noise application module (151). At least one processor (120) can input the first data (x1) to the noise application module (151). The noise application module (151) can obtain second data (x2) based on the first data (x1) and the noise filter.

[0084] At least one processor (120) can input second data (x2) to which a noise filter is applied to the data generator (152). At least one processor (120) can obtain third data (x3) through the data generator (152). The third data (x3) may be different from the sample data (x0), the first data (x1), the second data (x2), etc.

[0085] The data generator (152) may include a function for generating data that matches the user's settings (or intentions). The data generator (152) may generate data similar to the input data. The data generator (152) may generate data within a similarity range of a threshold level with the input data. The data generator (152) may generate data that is not identical to the input data but has a similarity within the threshold range.

[0086] At least one processor (120) can obtain fourth data (x4) including feature data of third data (x3) through a second feature extraction model (154).

[0087] The second feature extraction model (154) may be a model that extracts features of input data. The second feature extraction model (154) may obtain information including a feature map of the input data. The fourth data (x4) may include a feature map of the third data (x3).

[0088] In one embodiment, the first feature extraction model (142) and the second feature extraction model (154) may be the same model.

[0089] In one embodiment, the first feature extraction model (142) and the second feature extraction model (154) may be different models.

[0090] The computational processing capability of the first feature extraction model (142) and the computational processing capability of the second feature extraction model (154) may be different. The computational processing capability may include at least one of processing capacity and processing speed.

[0091] The number of times the first feature extraction model (142) is used may be less than the number of times the second feature extraction model (154) is used. The capacity of the second feature extraction model (154) may need to be smaller. The amount of calculations performed in the first feature extraction model (142) may be greater than the amount of calculations performed in the second feature extraction model (154).

[0092] Meanwhile, at least one processor (120) can determine the third data (x3) as synthetic data if the loss value satisfies a preset condition, and can train the data generator (152) if the loss value does not satisfy a preset condition.

[0093] Predefined conditions may vary depending on the user's settings. Predefined conditions may include events where the loss value falls within a critical range.

[0094] Depending on the type of loss value, the preset conditions may vary. For the first type of loss value, events where the loss value is below the first threshold may be included in the preset conditions. For the second type of loss value, events where the loss value is above the second threshold may be included in the preset conditions.

[0095] At least one processor (120) can train the data generator (152) based on the loss value. At least one processor (120) can train (or update) parameters applied to the data generator (152).

[0096] According to one embodiment, the third data (x3) is data obtained based on the first parameter of the data generator (152), and at least one processor (120) can change the first parameter of the data generator (152) to the second parameter if the loss value does not satisfy a preset condition.

[0097] The first parameter may include at least one detailed parameter. The second parameter may include at least one detailed parameter. The first parameter may be described as first parameter information, and the second parameter may be described as second parameter information.

[0098] According to one embodiment, at least one processor (120) may input the fourth data (x4) into the second feature extraction model (154) to perform a back propagation process if the loss value does not satisfy a preset condition, obtain fifth data (x5) as a result of the back propagation process, and train the data generator (152) based on the fifth data (x5).

[0099] The backpropagation process is specifically described in Figs. 7 and 8.

[0100] According to one embodiment, at least one processor (120) can input fifth data (x5) into a noise application module (151), thereby obtaining sixth data (x6) to which a noise filter is applied to the fifth data (x5), and train a data generator (152) based on the sixth data (x6).

[0101] According to one embodiment, the loss value is a first loss value, and at least one processor (120) inputs sixth data (x6) into a data generator (152), thereby obtaining seventh data (x7) different from the sixth data (x6) based on a second parameter of the data generator (152), inputs the seventh data (x7) into a second feature extraction model (154), thereby obtaining eighth data (x8) including a feature map of the seventh data (x7), obtaining a second loss value based on the eighth data (x8), and training the data generator (152) based on the second loss value. Specific descriptions related thereto are described in FIGS. 9 to 12.

[0102] According to one embodiment, the fourth data (x4) is data obtained based on the third parameter of the second feature extraction model (154), and at least one processor (120) may change the third parameter of the second feature extraction model (154) to the fourth parameter if the loss value does not satisfy a preset condition. A specific description related thereto is described in FIGS. 19 to 21.

[0103] The third parameter may include at least one detailed parameter. The fourth parameter may include at least one detailed parameter. The third parameter may be described as third parameter information, and the fourth parameter may be described as fourth parameter information.

[0104] According to one embodiment, at least one processor (120) may input fourth data (x4) into the second feature extraction model (154) if the loss value does not satisfy a preset condition, thereby performing a back propagation process based on the fourth parameter of the second feature extraction model (154), obtaining fifth data (x5) as a result of the back propagation process, and training the data generator (152) based on the fifth data (x5).

[0105] According to one embodiment, the loss value is a final loss value, and at least one processor (120) can obtain the final loss value based on at least one of a Batch Normalization layers (BNS) loss value, a Cross Entropy (CE) loss value, or an Activation Regularization (AR) loss value. A specific description thereof is described in FIG. 22.

[0106] At least one processor (120) can perform a learning operation so that the BNS loss value is minimized.

[0107] At least one processor (120) can perform a learning operation so that the CE loss value is maximized.

[0108] At least one processor (120) can perform a learning operation so that the AR loss value is minimized.

[0109] When performing a learning operation using all three loss values, at least one processor (120) can perform the learning operation so that the BNS loss value is minimized, the CE loss value is maximized, and the AR loss value is minimized.

[0110] When two loss values ​​are used, the learning operation can be performed by combining the two conditions.

[0111] The BNS loss value may include at least one of the first type loss value described in the embodiment (2210) of FIG. 22 or the second type loss value described in the embodiment (2220) of FIG. 22.

[0112] The CE loss value may correspond to the embodiment (2230) of FIG. 22. The AR loss value may correspond to the embodiment (2240) of FIG. 22.

[0113] The data described in various embodiments may be described as vectors.

[0114] Meanwhile, the electronic device (100) may further include a communication interface (130), and at least one processor (120) may transmit the second learning model (153) to an external device (200) through the communication interface (130).

[0115] When a preset condition is satisfied, at least one processor (120) can determine a parameter of a data generator (152) at the time when the preset condition is satisfied. At least one processor (120) can obtain a data generator (152) including the determined parameter. At least one processor (120) can obtain an artificial intelligence network including the determined data generator (152). At least one processor (120) can transmit the determined artificial intelligence network to an external device (200) via a communication interface (130).

[0116] When the learning operation is completed by satisfying the preset conditions, at least one processor (120) can obtain (or determine or confirm) a final data generator (152) composed of final parameters. At least one processor (120) can obtain an artificial intelligence network including the final data generator (152).

[0117] The data unit transmitted to the external device (200) may vary depending on user settings.

[0118] According to one embodiment, at least one processor (120) can transmit the final data generator (152) to an external device (200) via a communication interface (130).

[0119] According to one embodiment, at least one processor (120) can transmit a second network (150) including a final data generator (152) to an external device (200) via a communication interface (130).

[0120] According to one embodiment, at least one processor (120) can transmit an artificial intelligence network (1000) including a final data generator (152) to an external device (200) via a communication interface (130).

[0121] The communication interface (130) is a configuration that performs communication with various types of external devices according to various types of communication methods. The communication interface (130) may include a wireless communication module or a wired communication module. Here, each communication module may be implemented in the form of at least one hardware chip.

[0122] A wireless communication module may be a module that communicates wirelessly with an external device. For example, the wireless communication module may include at least one of a Wi-Fi module, a Bluetooth module, an infrared communication module, or other communication modules.

[0123] Wi-Fi and Bluetooth modules can communicate via Wi-Fi and Bluetooth, respectively. When using a Wi-Fi or Bluetooth module, various connection information, such as the service set identifier (SSID) and session key, is first transmitted and received. This information is then used to establish a communication connection before various other information can be transmitted and received.

[0124] Infrared communication modules perform communication based on infrared communication (IrDA, infrared Data Association) technology, which transmits data wirelessly over short distances using infrared light, which is between visible light and millimeter waves.

[0125] In addition to the above-described communication method, other communication modules may include at least one communication chip that performs communication according to various wireless communication standards such as zigbee, 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution), LTE-A (LTE Advanced), 4G (4th Generation), 5G (5th Generation), etc.

[0126] A wired communication module may be a module that communicates with an external device via a wire. For example, the wired communication module may include at least one of a Local Area Network (LAN) module, an Ethernet module, a paired cable, a coaxial cable, a fiber optic cable, or an Ultra Wide-Band (UWB) module.

[0127] An external device (200) can request a compressed model from the electronic device (100). At least one processor (120) can transmit the learned model to the external device (200) in response to the request from the external device (200).

[0128] The electronic device (100) can prevent overfitting that may occur during fine-tuning (or post-training quantization, continuous learning) due to a limited number of samples.

[0129] The electronic device (100) can increase the generality of synthetic data even in general learning operations.

[0130] At least one processor (120) can obtain randomly generated synthetic data through a data generator (152). The data generator (152) can generate synthetic data having a Gaussian distribution through randomly generated random numbers. The synthetic data may refer to a latent vector. The synthetic data may be a vector to which a Gaussian distribution (N(0,I)) is applied.

[0131] Synthetic data may refer to virtual data generated through a data generator (152) set based on user settings. Data intended to be generated by the user may be described as target data. The data generator (152) may generate synthetic data related to the target data based on an input vector.

[0132] For example, assuming that the target data is a dog, the data generator (152) can generate synthetic data (or a virtual image) related to a dog based on an input vector. The input vector can include parameters necessary for generating a virtual image related to a dog. For example, the parameters of the input vector can include parameters related to at least one of eyes, nose, mouth, ears, species, and fur color. The data generator (152) can generate the input vector based on a randomly generated random number related to the parameters related to the dog. At least one processor (120) can obtain synthetic data (or a virtual image) related to a dog by providing the input vector obtained through the data generator (152) to the data generator (152).

[0133] At least one processor (120) can input (or provide) synthetic data acquired through a data generator (152) to a second feature extraction model (154). At least one processor (120) can acquire feature data corresponding to the synthetic data through the second feature extraction model (154).

[0134] The second feature extraction model (154) may be a model that analyzes input data and outputs the analysis results as feature data.

[0135] The second feature extraction model (154) may be a model that outputs statistical characteristic data corresponding to input data as feature data. At least one processor (120) may learn at least one parameter included in the data generator (152) based on the statistical characteristic data.

[0136] The second feature extraction model (154) may be a model that outputs a category probability value (or object probability value) corresponding to input data as feature data. At least one processor (120) may learn at least one parameter included in the data generator (152) based on the category probability value (or object probability value).

[0137] The second feature extraction model (154) may be a discriminator model that determines whether input data is real or fake data in relation to target data. At least one processor (120) may learn at least one parameter included in the data generator (152) based on the output value of the discriminator.

[0138] At least one parameter included in the data generator (152) may include an element constituting a latent vector. At least one parameter included in the data generator (152) may include a weight applied by the data generator (152).

[0139] Feature data may include statistical characteristic data of the synthetic data. The statistical characteristic data may include at least one of a mean value, a standard deviation value, or a variance value.

[0140] The feature data may include a mean value and a standard deviation value of the synthetic data, and at least one processor (120) may obtain a first difference value between the mean value of the synthetic data and the mean value of the BN (Batch Normalization) layer of the second feature extraction model (154), obtain a second difference value between the standard deviation value of the synthetic data and the standard deviation value of the BN (Batch Normalization) layer of the second feature extraction model (154), and obtain a loss value based on the first difference value and the second difference value.

[0141] According to various embodiments, at least one processor (120) may use a variance value instead of a standard deviation value.

[0142] The first difference value may refer to "μl^s-μl" in Fig. 22. The second difference value may refer to "σl^s-σl" in Fig. 9. The specific operation for obtaining the loss value is described in Fig. 22.

[0143] At least one processor (120) obtains stride data of at least one convolution layer included in the second feature extraction model (154), and when a convolution layer having a stride data size of 2 or more among at least one convolution layer is identified, the identified convolution layer is replaced with a swing convolution, and the swing convolution layer may be a convolution layer that randomly selects an object of operation based on padding data.

[0144] At least one processor (120) can identify a convolution layer having a stride size of 2 or more among at least one convolution layer included in the second feature extraction model (154). In addition, at least one processor (120) can replace the identified convolution layer with a swing convolution layer.

[0145] A stride can refer to a computational unit (or step) in a convolution operation. A description of the convolution operation and the transposed convolution operation is provided in Fig. 8.

[0146] The data generator (152) is a generator that generates a latent vector based on at least one parameter, and at least one parameter included in the data generator (152) may be a parameter used to generate synthetic data related to a target set by a user.

[0147] Synthetic data may be image data related to a target set by the user.

[0148] Figure 3 is a block diagram illustrating a configuration included in an external device (200).

[0149] Referring to FIG. 3, the external device (200) may include at least one of a memory (210), at least one processor (220), a communication interface (230), a display (240), an operation interface (250), an input / output interface (260), a speaker (270), or a microphone (280).

[0150] The memory (210), at least one processor (220), and the communication interface (230) may correspond to the memory (110), at least one processor (120), and the communication interface (130) of FIG. 2. Therefore, redundant descriptions are omitted.

[0151] The display (240) may be implemented as a variety of displays such as a liquid crystal display (LCD), an organic light emitting diode (OLED) display, a plasma display panel (PDP), etc. The display (240) may also include a driving circuit, a backlight unit, etc., which may be implemented as a form such as an a-si TFT (amorphous silicon thin film transistor), an LTPS (low temperature poly silicon) TFT, an OTFT (organic TFT), etc. The display (240) may be implemented as a touch screen combined with a touch sensor, a flexible display, a three-dimensional display (3D display, three-dimensional dispaly), etc. In addition, according to an embodiment of the present disclosure, the display (240) may include not only a display panel that outputs an image, but also a bezel that houses the display panel. In particular, according to an embodiment of the present disclosure, the bezel may include a touch sensor (not shown) for detecting user interaction.

[0152] The operation interface (250) may be implemented as a device such as a button, a touch pad, a mouse, and a keyboard, or as a touch screen capable of performing the above-described display function and operation input function. Here, the button may be a mechanical button, a touch pad, a wheel, or any other type of button formed in any area such as the front, side, or back of the main body of the external device (200).

[0153] The input / output interface (260) may be any one of HDMI (High Definition Multimedia Interface), MHL (Mobile High-Definition Link), USB (Universal Serial Bus), DP (Display Port), Thunderbolt, VGA (Video Graphics Array) port, RGB port, D-SUB (D-subminiature), and DVI (Digital Visual Interface). The input / output interface (260) may input / output at least one of audio and video signals. Depending on the implementation example, the input / output interface (260) may include a port that inputs / outputs only audio signals and a port that inputs / outputs only video signals as separate ports, or may be implemented as a single port that inputs / outputs both audio signals and video signals. The external device (200) may transmit at least one of the audio and video signals to an external device (e.g., an external display device or an external speaker) through the input / output interface (260). Specifically, an output port included in the input / output interface (260) can be connected to an external device, and the external device (200) can transmit at least one of an audio and video signal to the external device through the output port.

[0154] The speaker (270) may be a component that outputs various audio data as well as various notification sounds or voice messages.

[0155] The microphone (280) is a component for receiving a user's voice or other sounds and converting them into audio data. The microphone (280) can receive the user's voice in an activated state. For example, the microphone (280) can be formed integrally on the upper side, front side, side side, etc. of the external device (200). The microphone (280) can include various components such as a microphone for collecting the user's voice in analog form, an amplifier circuit for amplifying the collected user's voice, an A / D conversion circuit for sampling the amplified user's voice and converting it into a digital signal, and a filter circuit for removing noise components from the converted digital signal.

[0156] FIG. 4 is a diagram for explaining a data generation operation according to one embodiment.

[0157] The electronic device (100) can obtain synthetic data based on sample data. The electronic device (100) can obtain synthetic data using an artificial intelligence network. The artificial intelligence network can be described as an artificial intelligence model.

[0158] Synthetic data may refer to data that is not identical to the sample data or has a threshold level of similarity. A threshold level of similarity may refer to a photo that can be recognized as a similar photo to the sample data and the synthetic data. The degree of identity or similarity may be determined by the degree of similarity. The electronic device (100) may obtain the degree of similarity between the sample data and the synthetic data. The electronic device (100) may determine whether the sample data and the synthetic data are identical or similar based on the degree of similarity. The electronic device (100) may use the sample data to generate synthetic data similar to the sample data.

[0159] Training an AI network may require a large amount of training data. The more training data available, the better the performance (e.g., accuracy) of the AI ​​network. When training an AI network with a limited amount of sample data, the electronic device (100) can generate synthetic data for use in training.

[0160] Referring to the embodiment (410) of FIG. 4, the electronic device (100) can input sample data (411) into an artificial intelligence network to obtain synthetic data (412). The synthetic data (412) may be data with a changed resolution of the sample data (411). For example, the sample data (411) may be a first resolution, but the synthetic data (412) may be a second resolution different from the first resolution.

[0161] Referring to the embodiment (420) of FIG. 4, the electronic device (100) can input sample data (421) into an artificial intelligence network to obtain synthetic data (422). The synthetic data (422) may be data in which a portion of the sample data (421) is cropped. For example, the sample data (421) may include the entire area of ​​an object, but the synthetic data (422) may include only a portion of the object.

[0162] FIG. 5 is a diagram for explaining a data generation operation according to one embodiment.

[0163] Referring to the embodiment (510) of FIG. 5, the electronic device (100) can input sample data (511) into an artificial intelligence network to obtain synthetic data (512). The synthetic data (512) may be data to which noise has been added to the sample data (511). For example, while noise may not be present in the sample data (511), noise may be present in the synthetic data (512).

[0164] Referring to the embodiment (520) of FIG. 5, the electronic device (100) can input sample data (521) into an artificial intelligence network to obtain synthetic data (522). The synthetic data (522) may be data in which the external appearance information of an object included in the sample data (521) has been changed. For example, the synthetic data (522) may be data in which the external appearance (ears, leg length, tail position, etc.) of an object (dog) included in the sample data (511) has been changed. The external appearance information may include at least one of shape, color, and position.

[0165] Figure 6 is a flowchart for explaining a data generation operation according to one embodiment.

[0166] Referring to FIG. 6, the electronic device (100) can obtain sample data (S605). The sample data can be used as input data for an artificial intelligence network that generates synthetic data.

[0167] The electronic device (100) can acquire first data by inputting sample data into the first feature extraction model (142) (S610). The first data may include a feature map of the sample data.

[0168] The electronic device (100) can input first data into a noise application module (151) to obtain second data (S615). The second data may be data to which a noise filter has been applied to the first data.

[0169] The electronic device (100) can input second data into a data generator (152) to obtain third data (S620). The third data may include synthetic data similar to the sample data.

[0170] The electronic device (100) can input third data into the second feature extraction model (154) to obtain fourth data (S625). The fourth data may include a feature map of the third data.

[0171] The electronic device (100) can calculate (or obtain) a loss value based on the fourth data (S630). Various methods for obtaining the loss value are described in FIG. 22.

[0172] The electronic device (100) can learn the parameters of the data generator (152) based on the loss value (S635). The electronic device (100) can update (or change or learn) the parameters of the data generator (152) using the loss value so that the data generator (152) can generate synthetic data intended by the user.

[0173] Meanwhile, the AI ​​network can perform forward propagation and back propagation processes.

[0174] Figure 7 is a diagram for explaining the forward propagation and back propagation processes performed by the artificial intelligence network (1000).

[0175] Referring to FIG. 7, the artificial intelligence network (1000) can perform learning operations using forward propagation and backpropagation processes.

[0176] It is assumed that the artificial intelligence network (1000) uses a convolutional layer (710) in the forward propagation process. The artificial intelligence network (1000) may use a transposed convolutional layer (720) instead of the convolutional layer (710) in the backpropagation process.

[0177] It is assumed that the artificial intelligence network (1000) uses a convolutional layer (730) with a stride size of 2 or more in the forward propagation process. The artificial intelligence network (1000) may use a transposed convolutional layer (740) instead of the convolutional layer (730) in the backpropagation process.

[0178] Figure 8 is a diagram for explaining a convolution operation and a transposed convolution operation.

[0179] An embodiment (810) of FIG. 8 illustrates an operation process performed in a convolution layer. In the embodiment (810), the stride size is assumed to be 1. The electronic device (100) can obtain output data (813) by performing a convolution operation on input data (811) and kernel data (812). The size of the input data can be reduced through the convolution operation. Therefore, the convolution operation may mean down sampling.

[0180] An embodiment (820) of FIG. 8 illustrates an operation process performed in a transposed convolution layer. In the embodiment (810), the stride size is assumed to be 1. The electronic device (100) can obtain output data (823) by performing a convolution operation on input data (821) and kernel data (822). The size of the input data can increase through the transposed convolution operation. Therefore, the convolution operation may mean up sampling.

[0181] FIG. 9 is a block diagram illustrating an operation of generating synthetic data through a learning method according to one embodiment.

[0182] Referring to FIG. 9, the electronic device (100) may include an artificial intelligence network. The artificial intelligence network may include a first network (140) and a second network (150). The first network (140) may extract a feature map for sample data. The second network (150) may generate synthetic data.

[0183] The first network (140) performs a one-time computational operation, while the second network (150) can perform repetitive computational operations. The repetitive computational operations may include performing learning operations such as forward propagation and backpropagation.

[0184] The first network (140) may include at least one of a sample data storage module (141) or a first feature extraction model (142).

[0185] The second network (150) may include at least one of a noise application module (151), a data generator (152), a synthetic data storage module (153), a second feature extraction model (154), or a loss value calculation module (155).

[0186] The sample data storage module (141) can store at least one sample data. The electronic device (100) can obtain sample data and store the obtained sample data in the sample data storage module (141). The electronic device (100) can store a plurality of sample data. The electronic device (100) can store sample data by category. For example, the electronic device (100) can store a first sample group corresponding to a first category. The electronic device (100) can store a second sample group corresponding to a second category. Each of the first sample group and the second sample group can include at least one sample data.

[0187] The first feature extraction model (142) can obtain a feature map (or feature data) for input data. The first feature extraction model (142) can receive (or obtain) sample data (x0) from the sample data storage module (141). The first feature extraction model (142) can use the sample data (x0) as input data. The first feature extraction model (142) can obtain first data (x1) including a feature map corresponding to the sample data (x0) as output data. The first feature extraction model (142) can transmit the first data (x1) to the noise application module (151).

[0188] The noise application module (151) can receive first data (x1) from the first feature extraction model (142). The noise application module (151) can apply a noise filter to the first data (x1) to obtain second data (x2). The noise application module (151) can be described as a noise filter module or a normalization filter module. The noise application module (151) can transmit the second data (x2) to the data generator (152).

[0189] The data generator (152) can receive second data (x2) from the noise application module (151). The data generator (152) can use the second data (x2) as input data. The data generator (152) can include a first parameter. The data generator (152) can obtain third data (x3) corresponding to the second data (x2) as output data based on the second data (x2) and the first parameter. The third data (x3) can be described as synthetic data. The data generator (152) can transmit the third data (x3) to the synthetic data storage module (153).

[0190] The synthetic data storage module (153) can receive third data (x3) from the data generator (152). The synthetic data storage module (153) can store the received third data (x3). Meanwhile, the synthetic data storage module (153) can transmit the third data (x3) to the second feature extraction model (154).

[0191] The second feature extraction model (154) can receive third data (x3) from the synthetic data storage module (153). The second feature extraction model (154) can use the third data (x3) as input data. The second feature extraction model (154) can obtain fourth data (x4) including a feature map corresponding to the third data (x3) as output data. The second feature extraction model (154) can transmit the fourth data (x4) to the loss value calculation module (155).

[0192] The loss value calculation module (155) can obtain fourth data (x4) from the second feature extraction model (154). The loss value calculation module (155) can obtain a loss value based on the fourth data (x4). The loss value calculation module (155) can perform a learning operation based on the loss value. The learning operation can include an operation of optimizing parameters applied to the second network (150).

[0193] If the loss value satisfies the preset conditions, the loss value calculation module (155) can finally confirm (or determine) the parameters currently applied to the second network (150). The loss value calculation module (155) can confirm (or determine) the synthetic data obtained as the third data (x3) as the final synthetic data.

[0194] If the loss value does not satisfy the preset conditions, the loss value calculation module (155) can change (or update) the parameters currently applied to the second network (150). The second network (150) can repeat the data learning operation based on the changed (or updated) parameters.

[0195] If the loss value does not satisfy the preset condition, the loss value calculation module (155) can change the parameters of the data generator (152). The loss value calculation module (155) can change (or update) the first parameter applied to the data generator (152) to a second parameter. The loss value calculation module (155) can transmit the second parameter to the data generator (152).

[0196] The data generator (152) can receive a second parameter, which is an updated parameter, from the loss value calculation module (155). The data generator (152) can generate synthetic data by deleting the first parameter and using (or applying) the received second parameter.

[0197] If the loss value does not satisfy the preset condition, the loss value calculation module (155) can transmit the fourth data (x4) to the second feature extraction model (154) for the backpropagation process.

[0198] The second feature extraction model (154) can receive the fourth data (x4) from the loss value calculation module (155). The second feature extraction model (154) can perform a backpropagation process based on the fourth data (x4). The backpropagation process is described in FIGS. 7 and 9. The second feature extraction model (154) can obtain the fifth data (x5) based on the backpropagation process for the fourth data (x4). The second feature extraction model (154) can transmit the fifth data (x5) to the noise application module (151).

[0199] The noise application module (151) can receive the fifth data (x5) from the second feature extraction model (154). The noise application module (151) can apply a noise filter to the fifth data (x5) to obtain the sixth data (x6). The noise application module (151) can transmit the sixth data (x6) to the data generator (152).

[0200] The data generator (152) can receive the sixth data (x6) from the noise application module (151). The data generator (152) can use the sixth data (x6) as input data. The data generator (152) can generate the sixth data (x6) corresponding to the sixth data (x6).

[0201] The data generator (152) can receive the sixth data (x6) from the noise application module (151). The data generator (152) can use the sixth data (x6) as input data. The data generator (152) can include a second parameter. The data generator (152) can obtain seventh data (x7) corresponding to the sixth data (x6) as output data based on the sixth data (x6) and the second parameter. The seventh data (x7) can be described as synthetic data. The data generator (152) can transmit the seventh data (x7) to the synthetic data storage module (153).

[0202] The synthetic data storage module (153) can receive the seventh data (x7) from the data generator (152). The synthetic data storage module (153) can store the received seventh data (x7). Meanwhile, the synthetic data storage module (153) can transmit the seventh data (x7) to the second feature extraction model (154).

[0203] The second feature extraction model (154) can receive the seventh data (x7) from the synthetic data storage module (153). The second feature extraction model (154) can use the seventh data (x7) as input data. The second feature extraction model (154) can obtain the eighth data (x8) including the feature map corresponding to the seventh data (x7) as output data. The second feature extraction model (154) can transmit the eighth data (x8) to the loss value calculation module (155).

[0204] The loss value calculation module (155) can obtain the eighth data (x8) from the second feature extraction model (154). The loss value calculation module (155) can obtain the loss value based on the eighth data (x8). The loss value calculation module (155) can perform a learning operation based on the loss value. The learning operation can include an operation of optimizing parameters applied to the second network (150).

[0205] If the loss value satisfies the preset conditions, the loss value calculation module (155) can finally confirm (or determine) the parameters (second parameters) currently applied to the second network (150). The loss value calculation module (155) can confirm (or determine) the synthetic data obtained as the seventh data (x7) as the final synthetic data.

[0206] If the loss value does not satisfy the preset conditions, the electronic device (100) can perform a learning operation by changing the parameters of the data generator (152) again.

[0207] At least one of the multiple operations described in FIG. 9 may be performed by at least one processor (120) included in the electronic device (100). For example, the learning operation performed based on the loss value described as being performed by the loss value calculation module (155) may be performed by at least one processor (120). At least one processor (120) may be connected to each of the first network (140) and the second network (150).

[0208] FIG. 10 is a block diagram illustrating an operation of generating synthetic data through a learning method according to one embodiment.

[0209] The first network (140), the second network (150), the first feature extraction model (142), the noise application module (151), the data generator (152), the second feature extraction model (154), the loss value calculation module (155), etc. of Fig. 10 may correspond to Fig. 9. Therefore, redundant descriptions are omitted.

[0210] The artificial intelligence network of FIG. 9 is described as including a sample data storage module (141) and a synthetic data storage module (153). The artificial intelligence network of FIG. 10 may not include at least one of the sample data storage module (141) or the synthetic data storage module (153). Each module may not be directly included in the artificial intelligence network, and each piece of data may be stored in the temporary memory of the artificial intelligence network or the temporary memory of the electronic device (100).

[0211] The first feature extraction model (142) can receive sample data (x0). The first feature extraction model (142) can obtain first data (x1) based on the sample data (x0).

[0212] The data generator (152) can transmit the third data (x3) to the second feature extraction model (154). The second feature extraction model (154) can receive the third data (x3) from the data generator (152).

[0213] Figure 11 is a flowchart illustrating a process for calculating a loss value using a learning method according to one embodiment.

[0214] Referring to FIG. 11, the first feature extraction model (142) can obtain sample data (x0) (S1100). The first feature extraction model (142) can obtain a feature map of the sample data (x0). The first feature extraction model (142) can obtain first data based on the feature map of the sample data (x0) (S1101). The first data can include the feature map of the sample data (x0). The first feature extraction model (142) can transmit the first data (x1) to the noise application module (151) (S1102).

[0215] The noise application module (151) can receive first data (x1) from the first feature extraction model (142). The noise application module (151) can apply noise (noise filter) to the first data (x1) to obtain second data (x2) (S1110). The noise application module (151) can transmit the second data (x2) to the data generator (152) (S1111).

[0216] The data generator (152) can receive second data (x2) from the noise application module (151). The data generator (152) can obtain third data (x3) based on the second data (x2) and the first parameter (S1120). The first parameter can be a current parameter applied to the data generator (152). The data generator (152) can transmit the first parameter to the loss value calculation module (155) (S1121). The synthetic data storage module (153) can transmit the third data (x3) to the second feature extraction model (154) (S1122).

[0217] The second feature extraction model (154) can receive third data (x3) from the data generator (152). The second feature extraction model (154) can obtain fourth data (x4) based on the feature map of the third data (x3) (S1130). The fourth data (x4) can include the feature map of the third data (x3). The second feature extraction model (154) can transmit the fourth data (x4) to the loss value calculation module (155) (S1131).

[0218] The loss value calculation module (155) can receive a first parameter from the data generator (152). The loss value calculation module (155) can receive fourth data (x4) from the second feature extraction model (154). The loss value calculation module (155) can calculate a first loss value based on the fourth data (x4) (S1140). The loss value calculation module (155) can obtain a second parameter based on the first loss value and the first parameter (S1141). The loss value calculation module (155) can learn the parameters of the data generator (152) so that the loss value becomes an optimal value intended by the user.

[0219] If the first loss value satisfies the preset condition, the loss value calculation module (155) can determine the first parameter of the data generator (152) as the final parameter. The loss value calculation module (155) can determine the third data (x3) as the final synthetic data.

[0220] If the first loss value does not satisfy the preset condition, the loss value calculation module (155) can perform the operations included in the embodiment of FIG. 12.

[0221] FIG. 12 is a flowchart illustrating an operation of generating synthetic data based on updated parameters, according to one embodiment.

[0222] Step S1241 of FIG. 12 may correspond to step S1141 of FIG. 11. Therefore, redundant description is omitted.

[0223] After obtaining the second parameter, the loss value calculation module (155) can transmit the second parameter to the data generator (152) (S1242). The loss value calculation module (155) can transmit the fourth data (x4) to the second feature extraction model (154) (S1243).

[0224] The second feature extraction model (154) can receive the fourth data (x4) from the loss value calculation module (155). The second feature extraction model (154) can obtain the fifth data (x5) based on the feature map of the fourth data (S1250). The second feature extraction model (154) can obtain the fifth data (x5) through a backpropagation process. The second feature extraction model (154) can transmit the fifth data (x5) to the noise application module (151) (S1251).

[0225] The noise application module (151) can receive the fifth data (x5) from the second feature extraction model (154). The noise application module (151) can apply noise (noise filter) to the fifth data (x5) to obtain the sixth data (x6) (S1260). The noise application module (151) can transmit the sixth data (x6) to the data generator (152) (S1261).

[0226] The data generator (152) can receive a second parameter from the loss value calculation module (155). The data generator (152) can receive sixth data (x6) from the noise application module (151). The data generator (152) can obtain seventh data (x7) based on the sixth data (x6) and the second parameter (S1270). The data generator (152) can transmit the second parameter to the loss value calculation module (155) (S1271). The data generator (152) can transmit the seventh data (x7) to the second feature extraction model (154) (S1272).

[0227] The second feature extraction model (154) can receive the seventh data (x7) from the data generator (152). The second feature extraction model (154) can obtain the eighth data (x8) based on the feature map of the seventh data (x7) (S1280). The eighth data (x8) can include the feature map of the seventh data (x7). The second feature extraction model (154) can transmit the eighth data (x8) to the loss value calculation module (155) (S1281).

[0228] The loss value calculation module (155) can receive a second parameter from the data generator (152). The loss value calculation module (155) can receive eighth data (x8) from the second feature extraction model (154). The loss value calculation module (155) can calculate a second loss value based on the eighth data (x8).

[0229] If the second loss value satisfies the preset condition, the loss value calculation module (155) can determine the second parameter of the data generator (152) as the final parameter. The loss value calculation module (155) can determine the seventh data (x7) as the final synthetic data.

[0230] If the second loss value does not satisfy the preset conditions, the loss value calculation module (155) can re-perform the operations included in the embodiment of FIG. 12.

[0231] FIG. 13 is a block diagram for explaining an operation in which a noise application module (151) is not used in an update process, according to one embodiment.

[0232] The first network (140), the second network (150), the sample data storage module (141), the first feature extraction model (142), the noise application module (151), the data generator (152), the synthetic data storage module (153), the second feature extraction model (154), the loss value calculation module (155), etc. of Fig. 13 may correspond to Fig. 9. Therefore, redundant descriptions are omitted.

[0233] In the embodiment of Fig. 9, it is described that the fifth data (x5) is transmitted to the noise application module (151). In the embodiment of Fig. 13, the fifth data (x5) can be transmitted directly to the data generator (152).

[0234] In the embodiment of Fig. 9, the sixth data (x6) to which a noise filter is applied to the fifth data (x5) can be used as input data of the data generator (152). In the embodiment of Fig. 13, the fifth data (x5) itself can be used as input data of the data generator (152).

[0235] The second feature extraction model (154) can transmit the fifth data (x5) to the data generator (152). The data generator (152) can receive the fifth data (x5) from the second feature extraction model (154). The data generator (152) can obtain the seventh data (x7) based on the fifth data (x5) and the second parameter.

[0236] FIG. 14 is a flowchart for explaining an operation in which a noise application module (151) is not used in an update process, according to one embodiment.

[0237] S1441, S1442, S1443, S1450, S1471, S1472, S1480, S1481, S1490, etc. of Fig. 14 may correspond to S1241, S1242, S1243, S1250, S1271, S1272, S1280, S1281, S1290, etc. of Fig. 12. Therefore, redundant explanation is omitted.

[0238] After the second feature extraction model (154) obtains the fifth data (x5), the second feature extraction model (154) can transmit the fifth data (x5) to the data generator (152) (S1451).

[0239] The data generator (152) can receive the fifth data (x5) from the second feature extraction model (154). The data generator (152) can obtain the seventh data (x7) based on the fifth data (x5) and the second parameter (S1470). Thereafter, steps S1471, S1472, S1480, S1481, and S1490 can be performed.

[0240] FIG. 15 is a block diagram illustrating an operation that does not utilize a backpropagation operation in an update process, according to one embodiment.

[0241] The first network (140), the second network (150), the sample data storage module (141), the first feature extraction model (142), the noise application module (151), the data generator (152), the synthetic data storage module (153), the second feature extraction model (154), the loss value calculation module (155), etc. of Fig. 15 may correspond to Fig. 9. Therefore, redundant descriptions are omitted.

[0242] In the embodiment of FIG. 9, the second network (150) may perform a backpropagation process. In the embodiment of FIG. 15, the second network (150) may not perform a backpropagation process. The fourth data (x4) including the feature map may be directly transmitted to the noise application module (151).

[0243] The loss value calculation module (155) can transmit the fourth data (x4) to the noise application module (151).

[0244] The noise application module (151) can receive the fourth data (x4) from the loss value calculation module (155). The noise application module (151) can apply a noise filter to the fourth data (x4) to obtain the sixth data (x6). The noise application module (151) can transmit the sixth data (x6) to the data generator (152).

[0245] According to another embodiment, the loss value calculation module (155) can directly transmit the fourth data (x4) to the data generator (152). The data generator (152) can obtain the seventh data (x7) based on the fourth data (x4) and the second parameter.

[0246] FIG. 16 is a flowchart for explaining an operation that does not utilize a backpropagation operation in an update process, according to one embodiment.

[0247] Steps S1641, S1642, S1661, S1670, S1671, S1672, S1680, S1681, and S1690 of FIG. 16 may correspond to steps S1241, S1242, S1261, S1270, S1271, S1272, S1280, S1281, and S1290 of FIG. 12. Therefore, redundant description is omitted.

[0248] After the loss value calculation module (155) obtains the second parameter, the loss value calculation module (155) can transmit the fourth data (x4) to the noise application module (151) (S1643).

[0249] The noise application module (151) can receive the fourth data (x4) from the loss value calculation module (155). The noise application module (151) can apply noise (or a noise filter) to the fourth data (x4) to obtain the sixth data (x6) (S1660). Thereafter, steps S1661, S1670, S1671, S1672, S1680, S1681, and S1690 can be performed.

[0250] FIG. 17 is a block diagram illustrating an operation that does not utilize a backpropagation operation in an update process, according to one embodiment.

[0251] The first network (140), the second network (150), the sample data storage module (141), the first feature extraction model (142), the noise application module (151), the data generator (152), the synthetic data storage module (153), the second feature extraction model (154), the loss value calculation module (155), etc. of Fig. 17 may correspond to Fig. 9. Therefore, redundant descriptions are omitted.

[0252] In the embodiment of FIG. 9, the second network (150) may perform a backpropagation process. In the embodiment of FIG. 17, the second network (150) may not perform a backpropagation process. The data generator (152) may obtain seventh data (x7) based on the second data (x2) and the updated second parameter.

[0253] The second network (150) can perform a learning operation by only changing the parameters of the data generator (152).

[0254] FIG. 18 is a flowchart for explaining an operation that does not utilize a backpropagation operation in an update process, according to one embodiment.

[0255] Steps S1841, S1842, S1871, S1872, S1880, S1881, and S1890 of FIG. 18 may correspond to steps S1241, S1242, S1271, S1272, S1280, S1281, and S1290 of FIG. 12. Therefore, redundant description is omitted.

[0256] After the loss value calculation module (155) obtains the second parameter, the loss value calculation module (155) can transmit the second parameter to the data generator (152) (S1842).

[0257] The data generator (152) can receive a second parameter from the loss value calculation module (155). The data generator (152) can obtain seventh data (x7) based on the second data and the second parameter (S1870). Thereafter, steps S1871, S1872, S1880, S1881, and S1890 can be performed.

[0258] FIG. 19 is a block diagram illustrating an operation of updating parameters of a data generator (152) and parameters of a second feature extraction model (154), according to one embodiment.

[0259] The first network (140), the second network (150), the sample data storage module (141), the first feature extraction model (142), the noise application module (151), the data generator (152), the synthetic data storage module (153), the second feature extraction model (154), the loss value calculation module (155), etc. of FIG. 19 may correspond to FIG. 9. Therefore, redundant descriptions are omitted.

[0260] The data generator (152) can generate synthetic data (third data (x3)) using the first parameter. The second feature extraction model (154) can obtain feature data (seventh data (x7)) using the third parameter.

[0261] The artificial intelligence network can perform a learning operation by updating both the parameters of the data generator (152) and the parameters of the second feature extraction model (154).

[0262] The loss value calculation module (155) can update parameters based on the loss value. The loss value calculation module (155) can change the first parameter to a second parameter based on the loss value. The loss value calculation module (155) can transmit the second parameter to the data generator (152).

[0263] The loss value calculation module (155) can change the third parameter into a fourth parameter based on the loss value. The loss value calculation module (155) can transmit the fourth parameter to the second feature extraction model (154).

[0264] The data generator (152) can obtain seventh data (x7) based on the updated second parameter and sixth data (x6).

[0265] The second feature extraction model (154) can perform a backpropagation process based on the updated fourth parameter and fourth data (x4). The second feature extraction model (154) can obtain fifth data (x5) as a result of the backpropagation process.

[0266] The second feature extraction model (154) can obtain the eighth data (x8) based on the seventh data (x7) and the fourth parameter.

[0267] FIG. 20 is a flowchart illustrating an operation of updating parameters of a second feature extraction model (154), according to one embodiment.

[0268] Steps S2000, S2001, S2002, S2010, S2011, S2020, S2021, S2022, S2031, S2040, S2041 of FIG. 20 may correspond to steps S1100, S1101, S1102, S1110, S1111, S1120, S1121, S1122, S1131, S1140, S1141 of FIG. 11. Therefore, redundant description is omitted.

[0269] The second feature extraction model (154) can acquire (or extract) feature data based on a third parameter. The third parameter may be a parameter currently applied to the second feature extraction model (154). The second feature extraction model (154) can acquire fourth data (x4) based on the third data (x3) and the third parameter (S2030). Thereafter, steps S2031, S2040, and S2041 may be performed.

[0270] The loss value calculation module (155) can obtain a fourth parameter based on the first loss value and the third parameter (S2041-2). The fourth parameter may be a parameter to be applied to the second feature extraction model (154).

[0271] FIG. 21 is a flowchart illustrating a second feature extraction model (154) that performs a backpropagation operation based on updated parameters, according to one embodiment.

[0272] Steps S2141, S2142, S2143, S2151, S2160, S2161, S2170, S2171, S2172, S2181, S2190 of FIG. 21 may correspond to steps S1241, S1242, S1243, S1251, S1260, S1261, S1270, S1271, S1272, S1281, S1290 of FIG. 12. Therefore, redundant description is omitted.

[0273] After the loss value calculation module (155) obtains the second parameter, the loss value calculation module (155) can obtain the fourth parameter based on the first loss value and the third parameter (S2141-2). Step S2141-2 may correspond to step S2041-2 of FIG. 20.

[0274] The loss value calculation module (155) can transmit the second parameter to the data generator (152) (S2142). The loss value calculation module (155) can transmit the fourth data (x4) and the fourth parameter to the second feature extraction model (154) (S2150). Thereafter, steps S2151, S2160, S2161, S2170, S2171, and S2172 can be performed.

[0275] The second feature extraction model (154) can receive the fourth parameter from the loss value calculation module (155). After the second feature extraction model (154) obtains the seventh data (x7), the second feature extraction model (154) can obtain the eighth data (x8) based on the seventh data (x7) and the fourth parameter (S2180). Thereafter, steps S2181 and S2190 can be performed.

[0276] Figure 22 is a drawing for explaining a loss value according to one embodiment.

[0277] The electronic device (100) can obtain a loss value associated with a target model. For example, the target model may include a second feature extraction model (154).

[0278] Embodiment (2210) of FIG. 22 may include a mathematical formula for calculating a loss value (L_BNS).

[0279] BNS can stand for Batch Normalization layers.

[0280] l represents a number to specify the BN (Batch Normalization) layer. L represents the total number of BN layers included in the target model that calculates the loss value.

[0281] μl^s can represent the mean value corresponding to the synthetic data. μl^s can be the mean value associated with the BN layer obtained by applying the synthetic data to the target model.

[0282] μl can represent the average value of the BN layer included in the target model. μl can be a preset value (or a fixed value).

[0283] σl^s can represent the standard deviation value corresponding to the synthetic data. σl^s can be the standard deviation value of the values ​​related to the BN layer obtained by applying the synthetic data to the target model.

[0284] σl can represent the standard deviation value of the BN layer included in the target model. σl can be a preset value (or a fixed value).

[0285] "|| ||" can represent the norm operation symbol.

[0286] The electronic device (100) can obtain a loss value (L_BNS) based on the embodiment (2210). The electronic device (100) can update (or learn) the latent vector (z) and the weight (Wg) included in the data generator (152) so that the loss value (L_BNS) is minimized.

[0287] Embodiment 22 (2220) of FIG. 22 may include another mathematical formula for calculating the loss value (L_BNS).

[0288] In embodiment (2220), μl^r can be used instead of μl in embodiment (2210). In embodiment (2220), σl^r can be used instead of σl in embodiment (2210).

[0289] μl^r can represent the mean value corresponding to the sample data. μl^r can be the mean value associated with the BN layer obtained by applying the sample data to the target model.

[0290] σl^r can represent the standard deviation value corresponding to the sample data. σl^r can be the standard deviation value of the values ​​related to the BN layer obtained by applying the sample data to the target model.

[0291] Embodiment 2230 of FIG. 22 may include a mathematical formula for calculating a cross entropy loss (CE). The CE loss may be calculated based on a loss function that measures the difference between predicted data and actual data. The loss function may be CE(fp(x), y). The loss function may calculate the cross entropy between the probability distribution of predicted data and the probability distribution of actual data.

[0292] As the difference between predicted data and actual data increases, the CE loss value may increase. Based on the CE loss value, the electronic device (100) may perform a learning operation so that the label of the predicted data (or target data or synthetic data) is confused with the label of the actual data (or sample data).

[0293] In the embodiment of FIG. 9, fp may represent a second feature extraction model (154). x may be third data (x3) or seventh data (x7) input to the second feature extraction model (154). y may be sample data (or a label of the sample data).

[0294] E stands for the function that calculates the average value.

[0295] The embodiment (2240) of FIG. 22 may include a mathematical formula for calculating a loss value using Activation Regularization (AR). The electronic device (100) may apply the activation regularization loss value to the training process. The activation regularization loss value may be used to prevent overfitting. The electronic device (100) may limit the distribution of activation values ​​by minimizing the activation regularization loss value. By limiting the distribution of activation values, the complexity of the model may be reduced and generalization performance may be improved.

[0296] p may be a parameter related to Lp regularization (p-norm regularization). The electronic device (100) may utilize a p-square operation in the norm operation. When p=2, a square operation may be utilized. p may have a value of 1 or 2. Depending on the value of p, the degree of normalization of the activation values ​​may vary.

[0297] The BNS loss value of Example (2210) can be described as a first type loss value.

[0298] The BNS loss value of Example (2220) can be described as a second type loss value.

[0299] The CE loss value of Example (2230) can be described as a third type loss value.

[0300] The AR loss value of Example (2240) can be described as a type 4 loss value.

[0301] The electronic device (100) can calculate a loss value based on at least one of a first type loss value, a second type loss value, a third type loss value, or a fourth type loss value.

[0302] For example, the electronic device (100) can calculate a final loss value based on one type of loss value.

[0303] For example, the electronic device (100) can obtain a final loss value based on two types of loss values.

[0304] For example, the electronic device (100) can obtain a final loss value based on three types of loss values. The electronic device (100) can obtain a final loss value using the first, third, and fourth types of loss values. The electronic device (100) can obtain a final loss value using the second, third, and fourth types of loss values.

[0305] For example, the electronic device (100) can obtain a final loss value based on four types of loss values.

[0306] FIG. 23 is a drawing for explaining a control method of an electronic device (100) according to one embodiment.

[0307] Referring to FIG. 23, a control method of an electronic device (100) storing sample data (x0), a first feature extraction model (142), a noise application module (151), a data generator (152), and a second feature extraction model (154) comprises the steps of: obtaining first data (x1) including a feature map of the sample data (x0) by inputting the sample data (x0) into the first feature extraction model (142); obtaining second data (x2) to which a noise filter is applied to the first data (x1) by inputting the first data (x1) into the noise application module (151); obtaining third data (x3) different from the second data (x2) by inputting the second data (x2) into the data generator (152); obtaining fourth data (x4) including a feature map of the third data (x3) by inputting the third data (x3) into the second feature extraction model (154); It includes a step of obtaining a loss value based on data (x4) and a step of training a data generator (152) based on the loss value.

[0308] The step of learning the data generator (152) is such that if the loss value satisfies a preset condition, the third data (x3) is determined as synthetic data, and if the loss value does not satisfy the preset condition, the data generator (152) can be learned.

[0309] The third data (x3) is data obtained based on the first parameter of the data generator (152), and in the step of learning the data generator (152), if the loss value does not satisfy a preset condition, the first parameter of the data generator (152) can be changed to a second parameter.

[0310] The step of learning the data generator (152) is to input the fourth data (x4) into the second feature extraction model (154) if the loss value does not satisfy the preset condition, thereby performing a back propagation process, and obtain fifth data (x5) as a result of the back propagation process, and learn the data generator (152) based on the fifth data (x5).

[0311] The step of learning the data generator (152) is to input the fifth data (x5) into the noise application module (151), thereby obtaining the sixth data (x6) to which a noise filter is applied to the fifth data (x5), and learning the data generator (152) based on the sixth data (x6).

[0312] The loss value is a first loss value, and the step of learning the data generator (152) is to input the sixth data (x6) into the data generator (152), thereby obtaining seventh data (x7) different from the sixth data (x6) based on the second parameter of the data generator (152), and to input the seventh data (x7) into the second feature extraction model (154), thereby obtaining eighth data (x8) including a feature map of the seventh data (x7), and to obtain a second loss value based on the eighth data (x8), and to learn the data generator (152) based on the second loss value.

[0313] The fourth data (x4) is data obtained based on the third parameter of the second feature extraction model (154), and the control method can change the third parameter of the second feature extraction model (154) to the fourth parameter if the loss value does not satisfy the preset condition.

[0314] The step of learning the data generator (152) is to input the fourth data (x4) into the second feature extraction model (154) if the loss value does not satisfy the preset condition, thereby performing a back propagation process based on the fourth parameter of the second feature extraction model (154), and to obtain fifth data (x5) as a result of the back propagation process, and to learn the data generator (152) based on the fifth data (x5).

[0315] The loss value is a final loss value, and the step of obtaining the loss value can obtain the final loss value based on at least one of the BNS (Batch Normalization layers) loss value, the CE (Cross Entropy) loss value, or the AR (Activation Regularization) loss value.

[0316] The first feature extraction model (142) and the second feature extraction model (154) may be the same model.

[0317] Meanwhile, the control method of an electronic device (100) such as FIG. 23 can be executed on an electronic device (100) having the configuration of FIG. 2 or FIG. 3, and can also be executed on an electronic device (100) having other configurations.

[0318] Meanwhile, the methods according to the various embodiments of the present disclosure described above can be implemented in the form of applications that can be installed on existing electronic devices.

[0319] Additionally, the methods according to the various embodiments of the present disclosure described above can be implemented only with a software upgrade or a hardware upgrade for an existing electronic device.

[0320] Additionally, the various embodiments of the present disclosure described above may also be performed through an embedded server provided in an electronic device, or an external server of at least one of the electronic device and the display device.

[0321] Meanwhile, according to a temporary example of the present disclosure, the various embodiments described above can be implemented as software including instructions stored in a machine-readable storage medium that can be read by a machine (e.g., a computer). The device is a device that can call instructions stored in the storage medium and operate according to the called instructions, and may include an electronic device according to the disclosed embodiments. When an instruction is executed by a processor, the processor can perform a function corresponding to the instruction directly or under the control of the processor by using other components. The instruction may include code generated or executed by a compiler or interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' means that the storage medium does not contain a signal and is tangible, but does not distinguish between whether data is stored semi-permanently or temporarily in the storage medium.

[0322] Furthermore, according to one embodiment of the present disclosure, the method according to the various embodiments described above may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or online through an application store (e.g., Play Store™). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

[0323] In addition, each of the components (e.g., modules or programs) according to the various embodiments described above may be composed of a single or multiple entities, and some of the corresponding sub-components described above may be omitted, or other sub-components may be further included in various embodiments. Alternatively or additionally, some components (e.g., modules or programs) may be integrated into a single entity, which may perform the same or similar functions as those performed by each of the corresponding components prior to integration. Operations performed by modules, programs or other components according to various embodiments may be executed sequentially, in parallel, iteratively or heuristically, or at least some operations may be executed in a different order, omitted, or other operations may be added.

[0324] Although the preferred embodiments of the present disclosure have been illustrated and described above, the present disclosure is not limited to the specific embodiments described above, and various modifications may be made by a person having ordinary skill in the art to which the present disclosure pertains without departing from the gist of the present disclosure as claimed in the claims, and such modifications should not be understood individually from the technical idea or prospect of the present disclosure.

Claims

1. In electronic devices, Memory storing sample data, a first feature extraction model, a noise application module, a data generator, and a second feature extraction model; At least one processor connected to said memory and controlling said electronic device; At least one processor of the above, By inputting the above sample data into the first feature extraction model, first data including a feature map of the sample data is obtained, By inputting the first data into the noise application module, second data with a noise filter applied to the first data is obtained, By inputting the second data into the data generator, third data different from the second data is obtained, By inputting the third data into the second feature extraction model, fourth data including a feature map of the third data is obtained, Obtain the loss value based on the above fourth data, An electronic device that trains the data generator based on the loss value.

2. In paragraph 1, At least one processor of the above, If the above loss value satisfies the preset condition, the third data is determined as synthetic data, An electronic device that trains the data generator if the above loss value does not satisfy a preset condition.

3. In paragraph 2, The above third data is, Data obtained based on the first parameter of the above data generator, At least one processor of the above, An electronic device that changes the first parameter of the data generator to a second parameter if the above loss value does not satisfy the above preset condition.

4. In paragraph 3, At least one processor of the above, If the above loss value does not satisfy the above preset condition, the back propagation process is performed by inputting the fourth data into the second feature extraction model, As a result of the above backpropagation process, the fifth data is obtained, An electronic device that trains the data generator based on the fifth data.

5. In paragraph 4, At least one processor of the above, By inputting the above fifth data into the noise application module, sixth data with a noise filter applied to the above fifth data is obtained, An electronic device that trains the data generator based on the sixth data.

6. In paragraph 5, The above loss value is the first loss value, At least one processor of the above, By inputting the sixth data into the data generator, seventh data different from the sixth data is obtained based on the second parameter of the data generator, By inputting the seventh data into the second feature extraction model, eighth data including a feature map of the seventh data is obtained, Obtain the second loss value based on the above eighth data, An electronic device that trains the data generator based on the second loss value.

7. In paragraph 2, The above fourth data is, Data obtained based on the third parameter of the second feature extraction model, At least one processor of the above, An electronic device that changes the third parameter of the second feature extraction model to a fourth parameter if the above loss value does not satisfy the above preset condition.

8. In paragraph 7, At least one processor of the above, If the above loss value does not satisfy the above preset condition, by inputting the fourth data into the second feature extraction model, a back propagation process is performed based on the fourth parameter of the second feature extraction model. As a result of the above backpropagation process, the fifth data is obtained, An electronic device that trains the data generator based on the fifth data.

9. In paragraph 1, The above loss value is, is the final loss value, At least one processor of the above, An electronic device that obtains the final loss value based on at least one of a BNS (Batch Normalization layers) loss value, a CE (Cross Entropy) loss value, or an AR (Activation Regularization) loss value.

10. In paragraph 1, An electronic device, wherein the first feature extraction model and the second feature extraction model are the same model.

11. A control method of an electronic device storing sample data, a first feature extraction model, a noise application module, a data generator, and a second feature extraction model, A step of obtaining first data including a feature map of the sample data by inputting the sample data into the first feature extraction model; A step of obtaining second data to which a noise filter is applied to the first data by inputting the first data into the noise application module; A step of obtaining third data different from the second data by inputting the second data into the data generator; A step of obtaining fourth data including a feature map of the third data by inputting the third data into the second feature extraction model; A step of obtaining a loss value based on the fourth data; and A control method, comprising: a step of training the data generator based on the loss value; 12. In paragraph 11, The step of training the above data generator is: If the above loss value satisfies the preset condition, the third data is determined as synthetic data, A control method for training the data generator if the above loss value does not satisfy a preset condition.

13. In paragraph 12, The above third data is, Data obtained based on the first parameter of the above data generator, The step of training the above data generator is: A control method for changing the first parameter of the data generator to a second parameter if the above loss value does not satisfy the above preset condition.

14. In paragraph 13, The step of training the above data generator is: If the above loss value does not satisfy the above preset condition, the back propagation process is performed by inputting the fourth data into the second feature extraction model, As a result of the above backpropagation process, the fifth data is obtained, A control method for training the data generator based on the fifth data.

15. In paragraph 14, The step of training the above data generator is: By inputting the above fifth data into the noise application module, sixth data with a noise filter applied to the above fifth data is obtained, A control method for training the data generator based on the sixth data.

Citation Information

Patent Citations

  • Model training method and device based on small data generation network, equipment and medium

    CN115223013A

  • AdvGAN-based adversarial sample generation method

    CN115510986A

  • Extending supervision using machine learning

    KR1020220156754A

  • Contour Probability Prediction Method

    KR1020240137418A

  • Training a filter for noise reduction in a hearing device

    US10897675B1