WO2024071517A1 - Neural compact modeling method and computing device - Google Patents

Neural compact modeling method and computing device Download PDF

Info

Publication number
WO2024071517A1
WO2024071517A1 PCT/KR2022/019333 KR2022019333W WO2024071517A1 WO 2024071517 A1 WO2024071517 A1 WO 2024071517A1 KR 2022019333 W KR2022019333 W KR 2022019333W WO 2024071517 A1 WO2024071517 A1 WO 2024071517A1
Authority
WO
WIPO (PCT)
Prior art keywords
vector
data set
voltage data
updated
encoder
Prior art date
Application number
PCT/KR2022/019333
Other languages
French (fr)
Korean (ko)
Inventor
차예슬
박정환
황현석
Original Assignee
주식회사 알세미
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 알세미 filed Critical 주식회사 알세미
Publication of WO2024071517A1 publication Critical patent/WO2024071517A1/en

Links

Images

Classifications

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

Definitions

  • the present invention relates to a neural compact modeling method and computing device, and more specifically, to a neural compact modeling method and computing device using meta-learning techniques.
  • One semiconductor chip is implemented with multiple transistors.
  • a netlist is created that describes the connectivity between transistors, capacitors, and resistors.
  • the netlist and compact model are used in a simulator such as SPICE (Simulation Program for Integrated Circuit Emphasis) to simulate the operation of each of the transistors.
  • SPICE Simulation Program for Integrated Circuit Emphasis
  • the compact model is simple mathematical descriptions of the behavior of circuit elements that make up one semiconductor chip.
  • the existing semiconductor device modeling method (No. 10-2285516) required a large data set to train a neural network. Therefore, it takes a lot of time and money to secure a large data set.
  • the technical problem to be achieved by the present invention is to provide a neural compact modeling method and computing device that can perform neural compact modeling of a semiconductor device that is a target device using a limited amount of data of the target device.
  • the neural compact modeling method performed by a processor is a second voltage data set of the source device according to a first vector extracted by applying the first voltage data set and the first current of the source device to the encoder. Extracting a second vector for, applying the second vector and the second voltage data set to a decoder and comparing the second current and ground true output to train the encoder and the decoder, the target device generating a third vector using a third voltage data set, a third current, and the trained encoder, and generating a third vector of the target device using the third vector, the trained encoder, and the trained decoder. and estimating a fourth current for the four voltage data set.
  • the encoder includes an initial vector generation module that generates an initial vector of the first vector or the second vector, and updates the first vector by comparing the first voltage data set, the first vector, and the first current. It includes an updater module that outputs a value, and an attention module that compares the first voltage data set and the second voltage data set and outputs a second vector updated from the updated value of the first vector.
  • Extracting the second vector includes generating a first initial vector by applying the first voltage data set to the first neural network of the encoder, and applying the second voltage data set to the first neural network of the encoder.
  • Generating a second initial vector applying the first current, the first voltage data set, and the first initial vector to a second neural network of the encoder to output an update value of the first vector, Setting the update value of the second initial vector as the update value of the first vector and outputting the update value of the second vector, combining the update value of the first vector and the first voltage data set with the third input of the encoder updating the first initial vector and outputting the updated first vector by applying it to a neural network, and converting the first voltage data set, the second voltage data set, and the updated values of the second vector into the first voltage data set of the encoder. 3. It includes the step of updating the second initial vector by applying it to a neural network and outputting the updated second vector.
  • the neural compact modeling method includes a first output operation of applying the first current, the first voltage data set, and the updated first vector to a second neural network of the encoder to output a re-updated value of the first vector.
  • performing a second output operation of setting the re-update value of the updated second vector to the re-update value of the first vector and outputting the re-update value of the second vector,
  • It may further include performing a fourth output operation to output.
  • the first output operation, the second output operation, the third output operation, and the fourth output operation are repeatedly performed for an arbitrary number of times.
  • the second vector is expressed by compressing data about the width, length, and temperature of the source device.
  • the second vector is a function that maps the second voltage data set to data on the width, length, and temperature of the source device.
  • the second voltage data set is drain-source voltage, gate-source voltage, and bulk-source voltage.
  • the encoder parameters and the decoder parameters are not updated.
  • Generating the third vector includes generating a third initial vector by applying the third voltage data set to the first neural network of the trained encoder, and applying the fourth voltage data set to the first neural network of the trained encoder. Generating a fourth initial vector by applying it to a neural network; applying the third current, the third voltage data set, and the third initial vector to a second neural network of the trained encoder to generate an update value of the third vector Outputting, setting the update value of the fourth initial vector as the update value of the third vector and outputting the update value of the fourth vector, and the update value of the third vector and the third voltage data set. Applying to the third neural network of the trained encoder to update the third initial vector and outputting the updated third vector.
  • the step of estimating the fourth current includes outputting an updated fourth vector using the third voltage data set, the fourth voltage data set, and the third vector, and the updated fourth vector using the third voltage data set, the fourth voltage data set, and the third vector. and estimating a fourth current for the fourth voltage data set of the target device by applying it to a trained decoder.
  • a computing device includes a memory that stores instructions, and a processor that executes the instructions.
  • the instructions extract a second vector for the second voltage data set of the source device according to the first vector extracted by applying the first voltage data set and the first current of the source device to the encoder, and the second vector and The encoder and the decoder are trained by comparing the second current output by applying the second voltage data set to the decoder and the ground true, and the third voltage data set, the third current, and the trained encoder of the target device are used.
  • a third vector is generated using the third vector, the trained encoder, and the trained decoder to estimate a fourth current for the fourth voltage data set of the target device.
  • the neural compact modeling method and computing device has the effect of generating an accurate neural compact model of a semiconductor device that is a target device even with a limited amount of data of the target device by using a meta-learning technique.
  • Figure 1 shows a block diagram of a computing device for performing a neural compact modeling method according to an embodiment of the present invention.
  • Figure 2 shows a block diagram of a neural network for performing a neural compact modeling method according to an embodiment of the present invention.
  • Figure 3 shows a flowchart for explaining the neural compact modeling method according to an embodiment of the present invention.
  • Figure 4 shows an internal block diagram of the encoder of the neural network for the source device shown in Figure 2.
  • FIG. 5 shows a flowchart for explaining in detail the operation of extracting the second vector shown in FIG. 3.
  • FIG. 6 shows an internal block diagram of the encoder of the neural network for the target device shown in FIG. 2.
  • FIG. 7 shows a flowchart for explaining in detail the operation of extracting the third vector shown in FIG. 3.
  • FIG. 8 shows a flowchart for explaining in detail the operation of estimating the fourth current shown in FIG. 3.
  • first or second may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another component, for example, without departing from the scope of rights according to the concept of the present invention, a first component may be named a second component, and similarly The second component may also be named the first component.
  • Figure 1 shows a block diagram of a computing device for performing a neural compact modeling method according to an embodiment of the present invention.
  • the computing device 10 for performing the neural compact modeling method can generate an accurate neural compact model of the semiconductor device that is the target device even with a limited amount of data from the target device by using a meta-learning technique.
  • Computing device 10 may be an electronic device such as a server, computer, laptop, tablet PC, or personal PC.
  • Computing device 10 includes a processor 11 and memory 13.
  • the processor 10 executes instructions implementing the neural compact modeling method.
  • the memory 20 stores instructions implementing the neural compact modeling method.
  • a specific neural compact modeling method is disclosed.
  • the neural compact modeling method refers to creating a compact model using a neural network.
  • Figure 2 shows a block diagram of a neural network for performing a neural compact modeling method according to an embodiment of the present invention.
  • the neural network 100 is a neural network for the source device.
  • the source device refers to a semiconductor device that has a lot of data on voltage data sets (21, 25) and drain currents (23, 27).
  • Neural network 200 is a neural network for the target device.
  • the target device refers to a semiconductor device corresponding to the drain current 77 of which the voltage data set 75 is desired.
  • the semiconductor device may be a transistor.
  • the purpose of the present invention is to predict the drain current of the target device using a neural compact modeling method. That is, the purpose of the present invention is to generate a compact model for the target device using a neural compact modeling method.
  • the source device's voltage data sets (21, 25) and drain currents (23, 27) are used.
  • Neural compact modeling means that compact modeling is performed using a neural network.
  • the neural network 100 is first trained using the voltage data sets 21 and 25 and the drain currents 23 and 27 of the source device to create a compact model for the target device with limited data. .
  • Neural network 100 includes an encoder 20 and a decoder 60.
  • Figure 3 shows a flowchart for explaining the neural compact modeling method according to an embodiment of the present invention.
  • the processor 11 applies the first voltage data set 21 and the first current 23 of the source device to the encoder 20 to extract the first vector (31 in FIG. 4) ), the updated second vector 51 for the second voltage data set 25 of the source device is extracted (S100).
  • the extraction refers to the output.
  • the first current 23 refers to the drain current of the source device. That is, the processor 11 applies the first voltage data set 21 and the first current 23 of the source device to the encoder 20 to extract the first vector (31 in FIG. 4) and the first vector (31 in FIG. 4) of the source device.
  • the updated second vector 51 is extracted by comparing the second vector 51 generated by applying the second voltage data set 25 to the encoder 20.
  • the processor 11 applies the first voltage data set 21 and the first current 23 of the source device to the encoder 20 to extract the first vector (31 in FIG. 4) and the first vector of the source device.
  • An updated second vector 51 is extracted from the second vector 51 generated by applying the first voltage data set 21 and the second voltage data set 25 of the source device to the encoder 20.
  • Applying the first vector (31 in FIG. 4) to the encoder 20 means that the updated second vector 51 is extracted using the first vector (31 in FIG. 4).
  • the updated second vector 51 can use Equation 2 below.
  • the first vector 31 is a function that maps the first voltage data set 21 to data about the width, length, and temperature of the source device.
  • the second vector 51 is a function that maps the second voltage data set 25 to data on the width, length, and temperature of the source device.
  • the processor 11 applies the second vector 51 and the second voltage data set 25 to the decoder 60 and compares the second current 27 and ground true output to the encoder 20 and the decoder 60. ) train (S200).
  • the second current 27 refers to the drain current of the source device.
  • the encoder 20 and decoder 60 are trained so that the difference between the second current 27 and ground true is minimized.
  • the processor 11 generates the third vector 91 using the third voltage data set 71, the third current 73, and the trained encoder 80 of the target device (S300). That is, the processor 11 generates the third vector 91 by applying the third voltage data set 71 and the third current 73 of the target device to the trained encoder 80.
  • the processor 11 uses the third vector (91 in FIG. 6), the trained encoder 80, and the trained decoder 130 to calculate the fourth voltage data set 75 of the target device. Estimate the current 77 (S400).
  • the processor 11 applies the third vector (91 in FIG. 6), the third voltage data set 71, and the fourth voltage data set 75 to the trained encoder 80 to generate an updated fourth vector ( 121), and apply the updated fourth vector 121 and the fourth voltage data set 75 to the trained decoder 130 to obtain the fourth voltage data set 75 of the target device. 4Assume current (77).
  • Applying the third vector (91 in FIG. 6) to the trained encoder 80 means that the updated fourth vector 121 is generated using the third vector (91 in FIG. 6).
  • the updated fourth vector 121 can be generated using Equation 2 below.
  • Figure 4 shows an internal block diagram of the encoder of the neural network for the source device shown in Figure 2.
  • the encoder 20 includes an initial vector generation module 30, an updater module 40, and an attention module 50.
  • the initial vector generation module 30, the updater module 40, and the attention module 50 are each implemented with multilayer perception (MLP).
  • MLP multilayer perception
  • FIG. 5 shows a flowchart for explaining in detail the operation (S100) of extracting the second vector shown in FIG. 3.
  • the initial vector generation module 30 receives the first voltage data set 21 of the source device or the second voltage data set 25 of the source device and generates the first vector 31.
  • the initial vector of or the initial vector of the second vector 51 is generated.
  • the first voltage data set 21 includes drain-source voltage (V DS ), gate-source voltage (V GS ), and bulk-source voltage (V BS ) for the source device.
  • the second voltage data set 25 includes drain-source voltage (V DS ), gate-source voltage (V GS ), and bulk-source voltage (V BS ) for the source device.
  • the first voltage data set 21 and the first current 23 may be referred to as a support set.
  • the second voltage data set 25 and the second current 27 may be referred to as a query set.
  • a set of current and voltage data for the width, length, and temperature of the source device is defined as a task. Multiple tasks may be used. Each task can be divided into a support set and a query set.
  • the first vector 31 or the second vector 51 is a vector expressed by compressing data about the width, length, and temperature of the source device.
  • the first vector 31 or the second vector 51 is not a fixed value, but is in the form of a function whose value changes depending on the voltage. Therefore, by using the form of a function, current characteristics that vary in various voltage regions (e.g., linear region, saturation region, and cut-off region) can be more appropriately measured. It can be reflected clearly.
  • the initial vector of the first vector 31 and the initial vector of the second vector 51 mean that the first vector 31 or the second vector 51 is initialized. That is, the processor 11 generates the first initial vector 31 by applying the first voltage data set 21 to the first neural network of the encoder 20 (S110). The processor 11 generates a second initial vector 51 by applying the second voltage data set 25 to the first neural network of the encoder 20 (S115).
  • the first neural network refers to the initial vector generation module 30.
  • the first initial vector 31 refers to the vector in which the first vector 31 is initialized.
  • the second initial vector 51 refers to the vector in which the second vector 51 is initialized.
  • the updater module 40 compares the first voltage data set 21, the first vector 31, and the first current 23 and outputs an updated value of the first vector 31 (S120). Comparing the first voltage data set 21, the first vector 31, and the first current 23 refers to the first voltage data set 21, the first vector 31, and the first current 23. ) is applied to the neural network to output the updated value of the first vector (31).
  • the neural network refers to the updater module 40.
  • the update value of the first vector 31 means a specific value of the function. That is, the processor 11 applies the first initial vector of the first current 23, the first voltage data set 21, and the first vector 31 to the second neural network of the encoder 20 to generate the first vector. Outputs the update value of (31).
  • the second neural network refers to the updater module 40.
  • the attention module 50 compares the first voltage data set 21 and the second voltage data set 25 and outputs a second vector 25 updated from the updated value of the first vector 21.
  • the processor 11 sets the update value of the second initial vector 25 to the update value of the first vector 21 and outputs the update value of the second vector 25 (S125). That is, the processor 11 sets the update value of the first vector 21 to the update value of the second initial vector 25 and outputs the update value of the second vector 25.
  • the update value of the second vector 25 is set to the update value of the first vector 21.
  • the second initial vector 25 refers to the vector from which the second vector 25 was initialized.
  • the output of the update value of the second vector 25 may be performed by the attention module 50.
  • the processor 11 applies the updated value of the first vector 21 and the first voltage data set 21 to the third neural network of the merchant coder 20 to update the first initial vector 31 and update the first initial vector 31.
  • Output vector 31 (S130).
  • the third neural network refers to the attention module 50.
  • the updated first vector 31 can be expressed as Equation 1 below.
  • the updated support representation represents the updated first vector 31
  • the initial support representation represents the first initial vector 31 where the first vector 31 is an initialized vector
  • alpha represents the learning rate.
  • the ATTENTION represents MLP (Multilayer perception)
  • the queries, the keys, and the value represent vectors in the attention of a neural network
  • the support V represents the first voltage data set 21.
  • the support representation initial update value represents the update value of the first vector 31.
  • the processor 11 applies the updated values of the first voltage data set 21, the second voltage data set 25, and the second vector 51 to the third neural network of the encoder 20 to create a second initial vector ( 51) is updated and the updated second vector 51 is output (S135).
  • a second initial vector 51
  • the updated second vector 51 can be expressed as Equation 2 below.
  • the updated query representation represents the updated second vector 51
  • the initial query representation represents the second initial vector 51 where the second vector 51 is an initialized vector
  • alpha represents the learning rate.
  • the ATTENTION represents MLP (Multilayer perception)
  • the queries, the keys, and the value represent vectors in the attention of a neural network
  • the query V represents the second voltage data set 25.
  • the support V represents the first voltage data set (21)
  • the query representation initial update value represents the update value of the second vector (51).
  • the processor 11 applies the first current 23, the first voltage data set 21, and the updated first vector 31 to the second neural network 40 of the encoder 20 to generate a first vector (S140).
  • the processor 11 performs a second output operation of setting the re-update value of the updated second vector 51 to the re-update value of the first vector 31 and outputting the re-update value of the second vector 51.
  • Perform the action The updated re-update value of the second vector 51 is set to the re-update value of the first vector 31.
  • the output of the update value of the second vector 25 may be performed by the attention module 50.
  • the processor 11 applies the re-updated value of the first vector 31 and the first voltage data set 21 to the third neural network 50 of the encoder 20 to regenerate the updated first vector 31.
  • a third output operation is performed to output the updated and re-updated first vector 31 (S150).
  • the processor 11 applies the re-updated values of the first voltage data set 21, the second voltage data set 25, and the second vector 51 to the third neural network 50 of the encoder 20 to A fourth output operation is performed to re-update the updated second vector 51 and output the re-updated second vector 51 (S155). That is, the re-updated second vector 51 is extracted.
  • the processor 11 repeatedly performs the first output operation (S140), the second output operation (S145), the third output operation (S150), and the fourth output operation (S155) for an arbitrary number of times. . That is, the processor 11 performs the first output operation (S140), the second output operation (S145), the third output operation (S150), and the fourth output operation (S155) N times (N is a natural number). ) Determine whether or not it was performed repeatedly. When the processor 11 determines that the operations have been performed repeatedly more than N times, it terminates the operations. Therefore, even if there is no current value for the second voltage data set 25, the second vector 51 for the second voltage data set 25 can be extracted. The arbitrary number of times may be set arbitrarily.
  • the parameters (weights and bias) of the encoder 20 and the parameters of the decoder 60 are not updated. That is, the operation of extracting the second vector 51 is not performed in backpropagation in the training stage of the neural network 100.
  • the processor 11 After extracting the second vector 51 for the second voltage data set 25 of the source device (S100), the processor 11 converts the second vector 51 and the second voltage data set 25 into a decoder ( 60), the encoder 20 and the decoder 60 are trained by comparing the second current 27 output and the ground true (S200). Backpropagation is performed. The parameters (weights and bias) of the encoder 20 and decoder 60 are updated.
  • the processor 11 uses the third voltage data set 71, the third current 73, and the trained encoder 80 of the target device.
  • a third vector (91 in FIG. 6) is generated (S300).
  • Neural network 200 includes a trained encoder 80 and a trained decoder 130.
  • the trained encoder 80 and trained decoder 130 refer to the encoder 20 and decoder 60 trained in the neural network 100. That is, the encoder 20 and decoder 60 whose parameters are updated through training in the neural network 100 are the trained encoder 80 and the trained decoder 130.
  • FIG. 6 shows an internal block diagram of the encoder of the neural network for the target device shown in FIG. 2.
  • the encoder 80 includes an initial vector generation module 90, an updater module 110, and an attention module 120.
  • the initial vector generation module 90, the updater module 110, and the attention module 120 are each implemented with multilayer perception (MLP).
  • MLP multilayer perception
  • the initial vector generation module 90, the updater module 110, and the attention module 120 are the initial vector generation module 30, the updater module 40, and the attention module 50 through training of the neural network 100. This is a module with updated parameters.
  • FIG. 7 shows a flowchart for explaining in detail the operation (S300) of extracting the third vector shown in FIG. 3.
  • the processor 11 generates a third initial vector 91 by applying the third voltage data set 71 to the first neural network of the trained encoder 80 (S310). .
  • the first neural network represents the trained initial vector generation module 90.
  • the processor 11 generates a fourth initial vector 121 by applying the fourth voltage data set 75 to the first neural network 90 of the trained encoder 80 (S315).
  • the third initial vector 91 refers to the vector in which the third vector 91 is initialized.
  • the fourth initial vector 121 refers to the vector in which the fourth vector 121 is initialized.
  • the third vector 91 or the fourth vector 121 is a vector expressed by compressing data about the width, length, and temperature of the target device.
  • the third vector 91 or the fourth vector 121 is not a fixed value, but is a function whose value changes depending on the voltage.
  • the third voltage data set 71 includes drain-source voltage (V DS ), gate-source voltage (V GS ), and bulk-source voltage (V BS ) for the target device.
  • the fourth voltage data set 75 includes drain-source voltage (V DS ), gate-source voltage (V GS ), and bulk-source voltage (V BS ) for the target device.
  • the third voltage data set 71 and the third current 73 may be referred to as a support set.
  • the third current 73 refers to the drain current for the target device.
  • the fourth voltage data set 75 and the fourth current 77 may be referred to as a query set.
  • the fourth current 77 refers to the drain current for the target device.
  • the amount of data in the third voltage data set 71 and third current 73 for the target device is limited.
  • the data amount of the third voltage data set 71 and the third current 73 for the target device is less than the data amount of the first voltage data set 21 and the first current 23 for the source device.
  • the processor 11 applies the third current 73, the third voltage data set 71, and the third initial vector 91 to the second neural network of the trained encoder 80 to generate a third vector 91.
  • the second neural network represents the trained updater module 110.
  • the update value of the third vector 91 means a specific value of the function.
  • the processor 11 sets the update value of the fourth initial vector 121 to the update value of the third vector 91 and outputs the update value of the fourth vector 121 (S325).
  • the processor 11 sets the update value of the third vector 91 to the update value of the fourth initial vector 121 and outputs the update value of the fourth vector 121.
  • the update value of the fourth vector 121 is set to the update value of the third vector 91.
  • the output of the update value of the fourth vector 121 can be performed by the trained attention module 120.
  • the update value of the fourth vector 121 means a specific value of the function.
  • the processor 11 updates the third initial vector 91 by applying the updated value of the third vector 91 and the third voltage data set 71 to the third neural network 120 of the trained encoder 80.
  • the updated third vector 91 is output (S330). Equation 1 above can be applied to the operation (S330) of outputting the updated third vector 91.
  • the updated support representation represents the updated third vector 91
  • the initial support representation represents the third initial vector 91
  • the third vector 91 is an initialized vector
  • the alpha is the learning rate
  • the ATTENTION is MLP (Multilayer perception)
  • the queries, the keys, and the value are vectors in the attention of the neural network
  • the support V is the third voltage data set 71.
  • the support representation initial update value represents the update value of the third vector 91.
  • FIG. 8 shows a flowchart for explaining in detail the operation (S400) of estimating the fourth current shown in FIG. 3.
  • the operation S400 of estimating the fourth current includes an operation S410 of outputting a fourth vector and an operation S440 of estimating the fourth current.
  • the processor 11 outputs the updated fourth vector 121 using the third voltage data set 71, the fourth voltage data set 75, and the third vector 91 (S410).
  • Equation 2 above may be applied to the operation (S410) of outputting the updated fourth vector 121.
  • the updated query representation represents the updated fourth vector 121
  • the initial query representation represents the fourth initial vector 121 in which the fourth vector 121 is an initialized vector
  • the alpha is the learning rate
  • the ATTENTION is MLP (Multilayer perception)
  • the queries, the keys, and the value are vectors in the attention of the neural network
  • the query V is the fourth voltage data set 75.
  • the support V represents the third voltage data set 71
  • the query representation initial update value represents the update value of the fourth vector 121.
  • the processor 11 applies the third voltage data set 71 and the third current 73 to the trained encoder 80 and applies the fourth voltage data set 75 of the target device according to the extracted third vector 91. ) outputs the updated fourth vector 121. That is, the processor 11 applies the third voltage data set 71 and the third current 73 of the target device to the trained encoder 80 to extract the third vector 91 and the third vector 91 of the target device.
  • the updated fourth vector 121 is extracted by comparing the fourth vector 121 generated by applying the 4-voltage data set 75 to the trained encoder 80. In other words, the processor 11 applies the third voltage data set 71 and the third current 73 of the target device to the trained encoder 80 to obtain the extracted third vector 91 and the third vector 91 of the target device.
  • the updated fourth vector 121 is extracted from the voltage data set 71 and the fourth vector 121 generated by applying the fourth voltage data set 75 of the target device to the trained encoder 80. .
  • Applying the third vector 91 to the trained encoder 80 means that the updated fourth vector 121 is extracted using the third vector 91.
  • the updated third vector 91 is generated using Equation 2 above.
  • the operation (S410) of outputting the fourth vector 121 includes the fifth output operation (S415), the sixth output operation (S420), the seventh output operation (S425), the eighth output operation (S430), and the judgment operation ( S435).
  • the processor 11 applies the third current 73, the third voltage data set 71, and the updated third vector 91 to the second neural network 110 of the trained encoder 80 to generate a third A fifth output operation is performed to output the re-updated value of the vector 91 (S415).
  • the second neural network 110 is a trained updater module.
  • the processor 11 performs a sixth output operation of setting the re-update value of the updated fourth vector 121 as the re-update value of the third vector 91 and outputting the re-update value of the fourth vector 121.
  • the re-update value of the fourth vector 121 is set to the re-update value of the third vector 91.
  • the output of the update value of the fourth vector 121 may be performed in the attention module 120.
  • the processor 11 applies the re-updated value of the third vector 91 and the third voltage data set 71 to the third neural network 120 of the trained encoder 80 to generate the updated third vector 91.
  • a seventh output operation is performed to re-update and output the re-updated third vector 91 (S425).
  • the processor 11 applies the re-updated values of the third voltage data set 71, the fourth voltage data set 75, and the fourth vector 121 to the third neural network 120 of the trained encoder 80. Then, the updated fourth vector 121 is re-updated and an eighth output operation is performed to output the re-updated fourth vector 121 (S430). That is, the re-updated fourth vector 121 is extracted.
  • the processor 11 repeatedly performs the fifth output operation (S415), the sixth output operation (S420), the seventh output operation (S425), and the eighth output operation (S430) for an arbitrary number of times. . That is, the processor 11 performs the fifth output operation (S415), the sixth output operation (S420), the seventh output operation (S425), and the eighth output operation (S430) M times (M is a natural number). ) Determine whether the above was performed repeatedly (S435). When the processor 11 determines that the operations have been performed repeatedly M times or more, it ends. The arbitrary number of times may be set arbitrarily.
  • the processor 11 applies the updated fourth vector 121 and the fourth voltage data set 75 to the trained decoder 130 to generate a fourth signal for the fourth voltage data set 75 of the target device.
  • Random initialization refers to a compact modeling method using a single neural network.
  • random initialization is a method in which a neural network is randomly initialized and trained using limited data from the target device.
  • Transfer learning refers to a compact modeling method according to registered patent No. 10-2285516.
  • Meta-learning refers to a compact modeling method according to the present invention.
  • the pre-training time means the training time of the neural network 100 in the present invention.
  • it refers to the training time of the neural network 160.
  • Adaptation time refers to the time until the current state of the target device is ready to be estimated using the neural network 200 in the present invention.
  • it refers to the time when the backpropagation operation is completed for the neural network 175 or the neural network 185. In the present invention, the backpropagation operation of the neural network 200 is not performed.
  • the present invention not only requires a short adaptation time but also has a low error compared to transfer learning.
  • the present invention can increase the accuracy of a neural compact model or ANN (Artificial Neural Network)-based compact model by using meta-learning. This is useful when the amount of data on the target device is limited.
  • ANN Artificial Neural Network

Abstract

A neural compact modeling method performed by a processor is disclosed. The neural compact modeling method comprises the steps of: extracting a second vector for a second voltage dataset of a source device according to a first vector, which is extracted by applying, to an encoder, a first voltage dataset of the source device and a first current; comparing a second current, which is output by applying the second vector to a decoder, with a ground true to train the encoder and the decoder; generating a third vector by using a third voltage dataset of a target device, a third current, and the trained encoder; and estimating a fourth current for a fourth voltage dataset of the target device by using the third vector, the trained encoder, and the trained decoder.

Description

뉴럴 컴팩트 모델링 방법 및 컴퓨팅 장치Neural compact modeling method and computing device
본 발명은 뉴럴 컴팩트 모델링 방법 및 컴퓨팅 장치에 관한 것으로, 상세하게는 메타 러닝 기법을 이용한 뉴럴 컴팩트 모델링 방법 및 컴퓨팅 장치에 관한 것이다. The present invention relates to a neural compact modeling method and computing device, and more specifically, to a neural compact modeling method and computing device using meta-learning techniques.
하나의 반도체 칩은 복수의 트랜지스터들로 구현된다. 상기 하나의 반도체 칩을 설계하는 과정에서 트랜지스터들, 캐패시터들, 및 저항들 사이의 접속을 서술(description of the connectivity)하는 넷리스트(netlist)가 생성된다. 상기 넷리스트와 컴팩트 모델(compact model)은 상기 트랜지스터들 각각의 동작을 시뮬레이션하기 위해 SPICE(Simulation Program for Integrated Circuit Emphasis)와 같은 시뮬레이터(simulator)에서 이용된다. 상기 컴팩트 모델은 하나의 반도체 칩을 구성하는 회로 소자들의 행동(behavior)의 간단한 수식적 서술(simple mathematical descriptions)이다. One semiconductor chip is implemented with multiple transistors. In the process of designing a single semiconductor chip, a netlist is created that describes the connectivity between transistors, capacitors, and resistors. The netlist and compact model are used in a simulator such as SPICE (Simulation Program for Integrated Circuit Emphasis) to simulate the operation of each of the transistors. The compact model is simple mathematical descriptions of the behavior of circuit elements that make up one semiconductor chip.
기존의 반도체 소자 모델링 방법(제10-2285516호)은 신경망을 훈련하는데 많은 데이터 세트가 요구되었다. 따라서 많은 데이터 세트를 확보하기 위해 많은 시간과 비용이 든다. The existing semiconductor device modeling method (No. 10-2285516) required a large data set to train a neural network. Therefore, it takes a lot of time and money to secure a large data set.
본 발명이 이루고자 하는 기술적인 과제는 타겟 장치의 제한된 데이터 양을 이용하여 타겟 장치인 반도체 소자를 뉴럴 컴팩트 모델링할 수 있는 뉴럴 컴팩트 모델링 방법 및 컴퓨팅 장치를 제공하는 것이다. The technical problem to be achieved by the present invention is to provide a neural compact modeling method and computing device that can perform neural compact modeling of a semiconductor device that is a target device using a limited amount of data of the target device.
본 발명의 실시 예에 따른 프로세서에 의해 수행되는 뉴럴 컴팩트 모델링 방법은 소스 장치의 제1전압 데이터 세트와 제1전류를 인코더에 적용하여 추출된 제1벡터에 따라 상기 소스 장치의 제2전압 데이터 세트에 대한 제2벡터를 추출하는 단계, 상기 제2벡터와 상기 제2전압 데이터 세트를 디코더에 적용하여 출력되는 제2전류와 그라운드 트루를 비교하여 상기 인코더와 상기 디코더를 훈련하는 단계, 타겟 장치의 제3전압 데이터 세트, 제3전류, 및 상기 훈련된 인코더를 이용하여 제3벡터를 생성하는 단계, 및 상기 제3벡터, 상기 훈련된 인코더, 및 상기 훈련된 디코더를 이용하여 상기 타겟 장치의 제4전압 데이터 세트에 대한 제4전류를 추정하는 단계를 포함한다.The neural compact modeling method performed by a processor according to an embodiment of the present invention is a second voltage data set of the source device according to a first vector extracted by applying the first voltage data set and the first current of the source device to the encoder. Extracting a second vector for, applying the second vector and the second voltage data set to a decoder and comparing the second current and ground true output to train the encoder and the decoder, the target device generating a third vector using a third voltage data set, a third current, and the trained encoder, and generating a third vector of the target device using the third vector, the trained encoder, and the trained decoder. and estimating a fourth current for the four voltage data set.
상기 인코더는 상기 제1벡터, 또는 상기 제2벡터의 초기 벡터를 생성하는 초기 벡터 생성 모듈, 상기 제1전압 데이터 세트, 상기 제1벡터, 및 상기 제1전류를 비교하여 상기 제1벡터의 업데이트 값을 출력하는 업데이터 모듈, 및 상기 제1전압 데이터 세트와 상기 제2전압 데이터 세트를 비교하여 상기 제1벡터의 업데이트 값으로부터 업데이트된 제2벡터를 출력하는 어텐션 모듈을 포함한다. The encoder includes an initial vector generation module that generates an initial vector of the first vector or the second vector, and updates the first vector by comparing the first voltage data set, the first vector, and the first current. It includes an updater module that outputs a value, and an attention module that compares the first voltage data set and the second voltage data set and outputs a second vector updated from the updated value of the first vector.
상기 제2벡터를 추출하는 단계는 상기 제1전압 데이터 세트를 상기 인코더의 제1신경망에 적용하여 제1초기 벡터를 생성하는 단계, 상기 제2전압 데이터 세트를 상기 인코더의 제1신경망에 적용하여 제2초기 벡터를 생성하는 단계, 상기 제1전류, 상기 제1전압 데이터 세트, 및 상기 제1초기 벡터를 상기 인코더의 제2신경망에 적용하여 상기 제1벡터의 업데이트 값을 출력하는 단계, 상기 제1벡터의 업데이트 값으로 상기 제2초기 벡터의 업데이트 값을 설정하여 상기 제2벡터의 업데이트 값을 출력하는 단계, 상기 제1벡터의 업데이트 값과 상기 제1전압 데이터 세트를 상기 인코더의 제3신경망에 적용하여 상기 제1초기 벡터를 업데이트하고 업데이트된 제1벡터를 출력하는 단계, 및 상기 제1전압 데이터 세트, 상기 제2전압 데이터 세트, 및 상기 제2벡터의 업데이트 값을 상기 인코더의 제3신경망에 적용하여 상기 제2초기 벡터를 업데이트하고 업데이트된 제2벡터를 출력하는 단계를 포함한다. Extracting the second vector includes generating a first initial vector by applying the first voltage data set to the first neural network of the encoder, and applying the second voltage data set to the first neural network of the encoder. Generating a second initial vector, applying the first current, the first voltage data set, and the first initial vector to a second neural network of the encoder to output an update value of the first vector, Setting the update value of the second initial vector as the update value of the first vector and outputting the update value of the second vector, combining the update value of the first vector and the first voltage data set with the third input of the encoder updating the first initial vector and outputting the updated first vector by applying it to a neural network, and converting the first voltage data set, the second voltage data set, and the updated values of the second vector into the first voltage data set of the encoder. 3. It includes the step of updating the second initial vector by applying it to a neural network and outputting the updated second vector.
상기 뉴럴 컴팩트 모델링 방법은 상기 제1전류, 상기 제1전압 데이터 세트, 및 상기 업데이트된 제1벡터를 상기 인코더의 제2신경망에 적용하여 상기 제1벡터의 재업데이트 값을 출력하는 제1출력 동작을 수행하는 단계, 상기 제1벡터의 재업데이트 값으로 상기 업데이트된 제2벡터의 재업데이트 값을 설정하여 상기 제2벡터의 재업데이트 값을 출력하는 제2출력 동작을 수행하는 단계, 상기 제1벡터의 재업데이트 값과 상기 제1전압 데이터 세트를 상기 인코더의 제3신경망에 적용하여 상기 업데이트된 제1벡터를 재업데이트하고 재업데이트된 제1벡터를 출력하는 제3출력 동작을 수행하는 단계, 및 상기 제1전압 데이터 세트, 상기 제2전압 데이터 세트, 및 상기 제2벡터의 재업데이트 값을 상기 인코더의 제3신경망에 적용하여 상기 업데이트된 제2벡터를 재업데이트하고 재업데이트된 제2벡터를 출력하는 제4출력 동작을 수행하는 단계를 더 포함할 수 있다. The neural compact modeling method includes a first output operation of applying the first current, the first voltage data set, and the updated first vector to a second neural network of the encoder to output a re-updated value of the first vector. performing a second output operation of setting the re-update value of the updated second vector to the re-update value of the first vector and outputting the re-update value of the second vector, Applying the re-updated vector value and the first voltage data set to a third neural network of the encoder to re-update the updated first vector and performing a third output operation of outputting the re-updated first vector, and applying the re-updated values of the first voltage data set, the second voltage data set, and the second vector to a third neural network of the encoder to re-update the updated second vector and generate the re-updated second vector. It may further include performing a fourth output operation to output.
상기 뉴럴 컴팩트 모델링 방법은 상기 제1출력 동작, 상기 제2출력 동작, 상기 제3출력 동작, 및 상기 제4출력 동작은 임의의 횟수 동안 반복적으로 수행된다.In the neural compact modeling method, the first output operation, the second output operation, the third output operation, and the fourth output operation are repeatedly performed for an arbitrary number of times.
상기 제2벡터는 상기 소스 장치의 폭, 길이, 및 온도에 대한 데이터를 압축하여 표현된다. The second vector is expressed by compressing data about the width, length, and temperature of the source device.
상기 제2벡터는 상기 제2전압 데이터 세트를 상기 소스 장치의 폭, 길이, 및 온도에 대한 데이터로 매핑하는 함수이다.The second vector is a function that maps the second voltage data set to data on the width, length, and temperature of the source device.
상기 제2전압 데이터 세트는 드레인-소스 전압, 게이트-소스 전압, 및 벌크-소스 전압이다. The second voltage data set is drain-source voltage, gate-source voltage, and bulk-source voltage.
상기 제2벡터를 추출하는 동작을 수행하는 과정에서 상기 인코더의 파라미터들과 상기 디코더의 파라미터들은 업데이트되지 않는다. In the process of extracting the second vector, the encoder parameters and the decoder parameters are not updated.
상기 제3벡터를 생성하는 단계는 상기 제3전압 데이터 세트를 상기 훈련된 인코더의 제1신경망에 적용하여 제3초기 벡터를 생성하는 단계, 상기 제4전압 데이터 세트를 상기 훈련된 인코더의 제1신경망에 적용하여 제4초기 벡터를 생성하는 단계, 상기 제3전류, 상기 제3전압 데이터 세트, 및 상기 제3초기 벡터를 상기 훈련된 인코더의 제2신경망에 적용하여 상기 제3벡터의 업데이트 값을 출력하는 단계, 상기 제3벡터의 업데이트 값으로 상기 제4초기 벡터의 업데이트 값을 설정하여 제4벡터의 업데이트 값을 출력하는 단계, 및 상기 제3벡터의 업데이트 값과 상기 제3전압 데이터 세트를 상기 훈련된 인코더의 제3신경망에 적용하여 상기 제3초기 벡터를 업데이트하고 업데이트된 제3벡터를 출력하는 단계를 포함한다. Generating the third vector includes generating a third initial vector by applying the third voltage data set to the first neural network of the trained encoder, and applying the fourth voltage data set to the first neural network of the trained encoder. Generating a fourth initial vector by applying it to a neural network; applying the third current, the third voltage data set, and the third initial vector to a second neural network of the trained encoder to generate an update value of the third vector Outputting, setting the update value of the fourth initial vector as the update value of the third vector and outputting the update value of the fourth vector, and the update value of the third vector and the third voltage data set. Applying to the third neural network of the trained encoder to update the third initial vector and outputting the updated third vector.
상기 제4전류를 추정하는 단계는 상기 제3전압 데이터 세트, 상기 제4전압 데이터 세트, 및 상기 제3벡터를 이용하여 업데이트된 제4벡터를 출력하는 단계, 및 상기 업데이트된 제4벡터를 상기 훈련된 디코더에 적용하여 상기 타겟 장치의 제4전압 데이터 세트에 대한 제4전류를 추정하는 단계를 포함한다. The step of estimating the fourth current includes outputting an updated fourth vector using the third voltage data set, the fourth voltage data set, and the third vector, and the updated fourth vector using the third voltage data set, the fourth voltage data set, and the third vector. and estimating a fourth current for the fourth voltage data set of the target device by applying it to a trained decoder.
본 발명의 실시 예에 따른 컴퓨팅 장치는 명령들을 저장하는 메모리, 및 상기 명령들을 실행하는 프로세서를 포함한다. A computing device according to an embodiment of the present invention includes a memory that stores instructions, and a processor that executes the instructions.
상기 명령들은 소스 장치의 제1전압 데이터 세트와 제1전류를 인코더에 적용하여 추출된 제1벡터에 따라 상기 소스 장치의 제2전압 데이터 세트에 대한 제2벡터를 추출하며, 상기 제2벡터와 상기 제2전압 데이터 세트를 디코더에 적용하여 출력되는 제2전류와 그라운드 트루를 비교하여 상기 인코더와 상기 디코더를 훈련하며, 타겟 장치의 제3전압 데이터 세트, 제3전류, 및 상기 훈련된 인코더를 이용하여 제3벡터를 생성하며, 상기 제3벡터, 상기 훈련된 인코더, 및 상기 훈련된 디코더를 이용하여 상기 타겟 장치의 제4전압 데이터 세트에 대한 제4전류를 추정하도록 구현된다. The instructions extract a second vector for the second voltage data set of the source device according to the first vector extracted by applying the first voltage data set and the first current of the source device to the encoder, and the second vector and The encoder and the decoder are trained by comparing the second current output by applying the second voltage data set to the decoder and the ground true, and the third voltage data set, the third current, and the trained encoder of the target device are used. A third vector is generated using the third vector, the trained encoder, and the trained decoder to estimate a fourth current for the fourth voltage data set of the target device.
본 발명의 실시 예에 따른 뉴럴 컴팩트 모델링 방법 및 컴퓨팅 장치는 메타 러닝 기법을 이용함으로써 타겟 장치의 제한된 데이터 양을 가지고도 타겟 장치인 반도체 소자의 정확한 뉴럴 컴팩트 모델을 생성할 수 있다는 효과가 있다. The neural compact modeling method and computing device according to an embodiment of the present invention has the effect of generating an accurate neural compact model of a semiconductor device that is a target device even with a limited amount of data of the target device by using a meta-learning technique.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.In order to more fully understand the drawings cited in the detailed description of the present invention, a detailed description of each drawing is provided.
도 1은 본 발명의 실시 예에 따른 뉴럴 컴팩트 모델링 방법을 수행하기 위한 컴퓨팅 장치의 블록도를 나타낸다. Figure 1 shows a block diagram of a computing device for performing a neural compact modeling method according to an embodiment of the present invention.
도 2는 본 발명의 실시 예에 따른 뉴럴 컴팩트 모델링 방법을 수행하기 위한 신경망의 블록도를 나타낸다. Figure 2 shows a block diagram of a neural network for performing a neural compact modeling method according to an embodiment of the present invention.
도 3은 본 발명의 실시 예에 따른 뉴럴 컴팩트 모델링 방법을 설명하기 위한 흐름도를 나타낸다. Figure 3 shows a flowchart for explaining the neural compact modeling method according to an embodiment of the present invention.
도 4는 도 2에 도시된 소스 장치에 대한 신경망의 인코더의 내부 블록도를 나타낸다. Figure 4 shows an internal block diagram of the encoder of the neural network for the source device shown in Figure 2.
도 5는 도 3에 도시된 제2벡터를 추출하는 동작을 상세하게 설명하기 위한 흐름도를 나타낸다. FIG. 5 shows a flowchart for explaining in detail the operation of extracting the second vector shown in FIG. 3.
도 6은 도 2에 도시된 타겟 장치에 대한 신경망의 인코더의 내부 블록도를 나타낸다. FIG. 6 shows an internal block diagram of the encoder of the neural network for the target device shown in FIG. 2.
도 7은 도 3에 도시된 제3벡터를 추출하는 동작을 상세하게 설명하기 위한 흐름도를 나타낸다. FIG. 7 shows a flowchart for explaining in detail the operation of extracting the third vector shown in FIG. 3.
도 8은 도 3에 도시된 제4전류를 추정하는 동작을 상세하게 설명하기 위한 흐름도를 나타낸다. FIG. 8 shows a flowchart for explaining in detail the operation of estimating the fourth current shown in FIG. 3.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in this specification are merely illustrative for the purpose of explaining the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention are It may be implemented in various forms and is not limited to the embodiments described herein.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention can make various changes and have various forms, the embodiments will be illustrated in the drawings and described in detail in this specification. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes all changes, equivalents, or substitutes included in the spirit and technical scope of the present invention.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another component, for example, without departing from the scope of rights according to the concept of the present invention, a first component may be named a second component, and similarly The second component may also be named the first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않은 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is said to be "connected" or "connected" to another component, it is understood that it may be directly connected to or connected to the other component, but that other components may exist in between. It should be. On the other hand, when it is mentioned that a component is “directly connected” or “directly connected” to another component, it should be understood that there are no other components in between. Other expressions that describe the relationship between components, such as "between" and "immediately between" or "neighboring" and "directly adjacent to" should be interpreted similarly.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다." 또는 "가지다." 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in this specification are merely used to describe specific embodiments and are not intended to limit the invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. As used herein, “comprises.” Or “to have.” Terms such as are intended to designate the presence of the described feature, number, step, operation, component, part, or combination thereof, but are not intended to indicate the presence of one or more other features, numbers, steps, operations, components, parts, or combination thereof. It should be understood that it does not exclude in advance the existence or possibility of addition of things.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the technical field to which the present invention pertains. Terms as defined in commonly used dictionaries should be interpreted as having meanings consistent with the meanings they have in the context of the related technology, and unless clearly defined in this specification, should not be interpreted in an idealized or overly formal sense. No.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail by explaining preferred embodiments of the present invention with reference to the accompanying drawings.
도 1은 본 발명의 실시 예에 따른 뉴럴 컴팩트 모델링 방법을 수행하기 위한 컴퓨팅 장치의 블록도를 나타낸다. Figure 1 shows a block diagram of a computing device for performing a neural compact modeling method according to an embodiment of the present invention.
도 1을 참고하면, 뉴럴 컴팩트 모델링 방법을 수행하기 위한 컴퓨팅 장치(10)는 메타 러닝 기법을 이용함으로써 타겟 장치의 제한된 데이터 양을 가지고도 타겟 장치인 반도체 소자의 정확한 뉴럴 컴팩트 모델을 생성할 수 있다. 컴퓨팅 장치(10)는 서버, 컴퓨터, 노트북, 태블릿 PC 또는 개인용 PC와 같은 전자 장치일 수 있다. 컴퓨팅 장치(10)는 프로세서(11)와 메모리(13)를 포함한다. 프로세서(10)는 뉴럴 컴팩트 모델링 방법이 구현된 명령들을 실행한다. 메모리(20)는 상기 뉴럴 컴팩트 모델링 방법이 구현된 명령들을 저장한다. 이하, 구체적인 뉴럴 컴팩트 모델링 방법이 개시된다. 뉴럴 컴팩트 모델링 방법이란 신경망을 이용하여 컴팩트 모델(compact model)을 생성하는 것을 의미한다. Referring to FIG. 1, the computing device 10 for performing the neural compact modeling method can generate an accurate neural compact model of the semiconductor device that is the target device even with a limited amount of data from the target device by using a meta-learning technique. . Computing device 10 may be an electronic device such as a server, computer, laptop, tablet PC, or personal PC. Computing device 10 includes a processor 11 and memory 13. The processor 10 executes instructions implementing the neural compact modeling method. The memory 20 stores instructions implementing the neural compact modeling method. Hereinafter, a specific neural compact modeling method is disclosed. The neural compact modeling method refers to creating a compact model using a neural network.
도 2는 본 발명의 실시 예에 따른 뉴럴 컴팩트 모델링 방법을 수행하기 위한 신경망의 블록도를 나타낸다. Figure 2 shows a block diagram of a neural network for performing a neural compact modeling method according to an embodiment of the present invention.
도 1과 도 2를 참고하면, 신경망(100)은 소스 장치에 대한 신경망이다. 상기 소스 장치란 전압 데이터 세트(21, 25)와 드레인 전류(23, 27)에 대해 많은 데이터를 가진 반도체 소자를 의미한다. Referring to Figures 1 and 2, the neural network 100 is a neural network for the source device. The source device refers to a semiconductor device that has a lot of data on voltage data sets (21, 25) and drain currents (23, 27).
신경망(200)은 타겟 장치에 대한 신경망이다. 상기 타겟 장치란 전압 데이터 세트(75)에 대해 알고 싶은 드레인 전류(77)와 대응되는 반도체 소자를 의미한다. 상기 반도체 소자는 트랜지스터일 수 있다. Neural network 200 is a neural network for the target device. The target device refers to a semiconductor device corresponding to the drain current 77 of which the voltage data set 75 is desired. The semiconductor device may be a transistor.
본 발명의 목적은 뉴럴 컴팩트 모델링 방법을 이용하여 상기 타겟 장치의 드레인 전류를 예측하기 위함이다. 즉, 본 발명의 목적은 뉴럴 컴팩트 모델링 방법을 이용하여 상기 타겟 장치에 대한 컴팩트 모델을 생성함에 있다. 상기 타겟 장치에 대한 컴팩트 모델을 생성함에 있어서 상기 소스 장치의 전압 데이터 세트(21, 25)와 드레인 전류(23, 27)가 이용된다. 뉴럴 컴팩트 모델링이란 신경망을 이용하여 컴팩트 모델링이 수행됨을 의미한다. The purpose of the present invention is to predict the drain current of the target device using a neural compact modeling method. That is, the purpose of the present invention is to generate a compact model for the target device using a neural compact modeling method. In creating a compact model for the target device, the source device's voltage data sets (21, 25) and drain currents (23, 27) are used. Neural compact modeling means that compact modeling is performed using a neural network.
상기 타겟 장치의 전압 데이터 세트(71, 75)와 드레인 전류(73, 77)의 데이터 수는 상기 소스 장치의 전압 데이터 세트(21, 25)와 드레인 전류(23, 27)의 데이터 수와 비교할 때, 상대적으로 적다. When compared to the data numbers of the voltage data sets (71, 75) and drain currents (73, 77) of the target device with the data numbers of the voltage data sets (21, 25) and drain currents (23, 27) of the source device. , relatively few.
따라서 본 발명에서는 제한된 데이터를 가지고 상기 타겟 장치에 대한 컴팩트 모델을 생성하기 위해 상기 소스 장치의 전압 데이터 세트(21, 25)와 드레인 전류(23, 27)를 이용하여 신경망(100)이 먼저 훈련된다. Therefore, in the present invention, the neural network 100 is first trained using the voltage data sets 21 and 25 and the drain currents 23 and 27 of the source device to create a compact model for the target device with limited data. .
신경망(100)은 인코더(20)와 디코더(60)를 포함한다. Neural network 100 includes an encoder 20 and a decoder 60.
도 3은 본 발명의 실시 예에 따른 뉴럴 컴팩트 모델링 방법을 설명하기 위한 흐름도를 나타낸다. Figure 3 shows a flowchart for explaining the neural compact modeling method according to an embodiment of the present invention.
도 1 내지 도 3을 참고하면, 프로세서(11)는 소스 장치의 제1전압 데이터 세트(21)와 제1전류(23)를 인코더(20)에 적용하여 추출된 제1벡터(도 4에서 31)에 따라 상기 소스 장치의 제2전압 데이터 세트(25)에 대한 업데이트된 제2벡터(51)를 추출한다(S100). 상기 추출은 출력을 의미한다. 제1전류(23)는 상기 소스 장치의 드레인 전류를 의미한다. 즉, 프로세서(11)는 소스 장치의 제1전압 데이터 세트(21)와 제1전류(23)를 인코더(20)에 적용하여 추출된 제1벡터(도 4에서 31)와, 상기 소스 장치의 제2전압 데이터 세트(25)를 인코더(20)에 적용하여 생성된 제2벡터(51)를 비교하여 업데이트된 제2벡터(51)를 추출한다. 다시 말하면, 프로세서(11)는 소스 장치의 제1전압 데이터 세트(21)와 제1전류(23)를 인코더(20)에 적용하여 추출된 제1벡터(도 4에서 31), 소스 장치의 제1전압 데이터 세트(21), 및 상기 소스 장치의 제2전압 데이터 세트(25)를 인코더(20)에 적용하여 생성된 제2벡터(51)로부터 업데이트된 제2벡터(51)를 추출한다. 제1벡터(도 4에서 31)를 인코더(20)에 적용한다함은 업데이트된 제2벡터(51)는 제1벡터(도 4에서 31)를 이용하여 추출됨을 의미한다. 업데이트된 제2벡터(51)는 아래의 수학식 2가 이용될 수 있다. Referring to FIGS. 1 to 3, the processor 11 applies the first voltage data set 21 and the first current 23 of the source device to the encoder 20 to extract the first vector (31 in FIG. 4) ), the updated second vector 51 for the second voltage data set 25 of the source device is extracted (S100). The extraction refers to the output. The first current 23 refers to the drain current of the source device. That is, the processor 11 applies the first voltage data set 21 and the first current 23 of the source device to the encoder 20 to extract the first vector (31 in FIG. 4) and the first vector (31 in FIG. 4) of the source device. The updated second vector 51 is extracted by comparing the second vector 51 generated by applying the second voltage data set 25 to the encoder 20. In other words, the processor 11 applies the first voltage data set 21 and the first current 23 of the source device to the encoder 20 to extract the first vector (31 in FIG. 4) and the first vector of the source device. An updated second vector 51 is extracted from the second vector 51 generated by applying the first voltage data set 21 and the second voltage data set 25 of the source device to the encoder 20. Applying the first vector (31 in FIG. 4) to the encoder 20 means that the updated second vector 51 is extracted using the first vector (31 in FIG. 4). The updated second vector 51 can use Equation 2 below.
제1벡터(31)는 제1전압 데이터 세트(21)를 상기 소스 장치의 폭, 길이, 및 온도에 대한 데이터로 매핑하는 함수이다. 제2벡터(51)는 제2전압 데이터 세트(25)를 상기 소스 장치의 폭, 길이, 및 온도에 대한 데이터로 매핑하는 함수이다. The first vector 31 is a function that maps the first voltage data set 21 to data about the width, length, and temperature of the source device. The second vector 51 is a function that maps the second voltage data set 25 to data on the width, length, and temperature of the source device.
프로세서(11)는 제2벡터(51)와 제2전압 데이터 세트(25)를 디코더(60)에 적용하여 출력되는 제2전류(27)와 그라운드 트루를 비교하여 인코더(20)와 디코더(60)를 훈련한다(S200). 제2전류(27)는 상기 소스 장치의 드레인 전류를 의미한다. 제2전류(27)와 그라운드 트루의 차이가 최소가 되도록 인코더(20)와 디코더(60)가 훈련된다. The processor 11 applies the second vector 51 and the second voltage data set 25 to the decoder 60 and compares the second current 27 and ground true output to the encoder 20 and the decoder 60. ) train (S200). The second current 27 refers to the drain current of the source device. The encoder 20 and decoder 60 are trained so that the difference between the second current 27 and ground true is minimized.
프로세서(11)는 타겟 장치의 제3전압 데이터 세트(71), 제3전류(73), 및 상기 훈련된 인코더(80)를 이용하여 제3벡터(91)를 생성한다(S300). 즉, 프로세서(11)는 타겟 장치의 제3전압 데이터 세트(71)와 제3전류(73)를 상기 훈련된 인코더(80)에 적용하여 제3벡터(91)를 생성한다. The processor 11 generates the third vector 91 using the third voltage data set 71, the third current 73, and the trained encoder 80 of the target device (S300). That is, the processor 11 generates the third vector 91 by applying the third voltage data set 71 and the third current 73 of the target device to the trained encoder 80.
프로세서(11)는 제3벡터(도 6에서 91), 상기 훈련된 인코더(80), 및 상기 훈련된 디코더(130)를 이용하여 상기 타겟 장치의 제4전압 데이터 세트(75)에 대한 제4전류(77)를 추정한다(S400). 프로세서(11)는 제3벡터(도 6에서 91), 제3전압 데이터 세트(71), 및 제4전압 데이터 세트(75)를 상기 훈련된 인코더(80)에 적용하여 업데이트된 제4벡터(121)를 출력하고, 상기 업데이트된 제4벡터(121)와 제4전압 데이터 세트(75)를 상기 훈련된 디코더(130)에 적용하여 상기 타겟 장치의 제4전압 데이터 세트(75)에 대한 제4전류(77)를 추정한다. 제3벡터(도 6에서 91)를 상기 훈련된 인코더(80)에 적용한다함은 업데이트된 제4벡터(121)는 제3벡터(도 6에서 91)를 이용하여 생성됨을 의미한다. 업데이트된 제4벡터(121)는 아래의 수학식 2를 이용하여 생성될 수 있다. The processor 11 uses the third vector (91 in FIG. 6), the trained encoder 80, and the trained decoder 130 to calculate the fourth voltage data set 75 of the target device. Estimate the current 77 (S400). The processor 11 applies the third vector (91 in FIG. 6), the third voltage data set 71, and the fourth voltage data set 75 to the trained encoder 80 to generate an updated fourth vector ( 121), and apply the updated fourth vector 121 and the fourth voltage data set 75 to the trained decoder 130 to obtain the fourth voltage data set 75 of the target device. 4Assume current (77). Applying the third vector (91 in FIG. 6) to the trained encoder 80 means that the updated fourth vector 121 is generated using the third vector (91 in FIG. 6). The updated fourth vector 121 can be generated using Equation 2 below.
도 4는 도 2에 도시된 소스 장치에 대한 신경망의 인코더의 내부 블록도를 나타낸다. Figure 4 shows an internal block diagram of the encoder of the neural network for the source device shown in Figure 2.
도 1 내지 도 4를 참고하면, 인코더(20)는 초기 벡터 생성 모듈(30), 업데이터 모듈(40), 및 어텐션 모듈(50)을 포함한다. Referring to FIGS. 1 to 4 , the encoder 20 includes an initial vector generation module 30, an updater module 40, and an attention module 50.
초기 벡터 생성 모듈(30), 업데이터 모듈(40), 및 어텐션 모듈(50) 각각은 MLP(Multilayer perception)으로 구현된다. The initial vector generation module 30, the updater module 40, and the attention module 50 are each implemented with multilayer perception (MLP).
도 5는 도 3에 도시된 제2벡터를 추출하는 동작(S100)을 상세하게 설명하기 위한 흐름도를 나타낸다. FIG. 5 shows a flowchart for explaining in detail the operation (S100) of extracting the second vector shown in FIG. 3.
도 1 내지 도 5를 참고하면, 초기 벡터 생성 모듈(30)은 소스 장치의 제1전압 데이터 세트(21), 또는 소스 장치의 제2전압 데이터 세트(25)를 수신하여 제1벡터(31)의 초기 벡터, 또는 제2벡터(51)의 초기 벡터를 생성한다. Referring to FIGS. 1 to 5, the initial vector generation module 30 receives the first voltage data set 21 of the source device or the second voltage data set 25 of the source device and generates the first vector 31. The initial vector of or the initial vector of the second vector 51 is generated.
제1전압 데이터 세트(21)는 상기 소스 장치에 대한 드레인-소스 전압(VDS), 게이트-소스 전압(VGS), 및 벌크(bulk)-소스 전압(VBS)를 포함한다. 제2전압 데이터 세트(25)는 상기 소스 장치에 대한 드레인-소스 전압(VDS), 게이트-소스 전압(VGS), 및 벌크(bulk)-소스 전압(VBS)를 포함한다. 제1전압 데이터 세트(21)와 제1전류(23)는 서포트 세트(support set)로 호칭될 수 있다. 제2전압 데이터 세트(25)와 제2전류(27)는 쿼리 세트(query set)로 호칭될 수 있다. 소스 장치의 폭, 길이, 및 온도에 대한 전류와 전압 데이터 세트는 태스크(task)로 정의된다. 복수의 태스크들이 이용될 수 있다. 각 태스크는 서포트 세트와 쿼리 세트로 나눠질 수 있다. The first voltage data set 21 includes drain-source voltage (V DS ), gate-source voltage (V GS ), and bulk-source voltage (V BS ) for the source device. The second voltage data set 25 includes drain-source voltage (V DS ), gate-source voltage (V GS ), and bulk-source voltage (V BS ) for the source device. The first voltage data set 21 and the first current 23 may be referred to as a support set. The second voltage data set 25 and the second current 27 may be referred to as a query set. A set of current and voltage data for the width, length, and temperature of the source device is defined as a task. Multiple tasks may be used. Each task can be divided into a support set and a query set.
제1벡터(31), 또는 제2벡터(51)는 소스 장치의 폭, 길이, 및 온도에 대한 데이터를 압축하여 표현된 벡터이다. 제1벡터(31), 또는 제2벡터(51)는 고정된 값이 아니라, 전압에 따라 값이 변화되는 함수의 형태이다. 따라서 함수의 형태를 이용함으로써 여러 전압 영역(예컨대, 선형 영역(linear region), 포화 영역(saturation region), 및 컷-오프 영역(cut-off region))에서 다양하게 변화하는 전류 특성을 보다 더 적절하게 반영될 수 있다.The first vector 31 or the second vector 51 is a vector expressed by compressing data about the width, length, and temperature of the source device. The first vector 31 or the second vector 51 is not a fixed value, but is in the form of a function whose value changes depending on the voltage. Therefore, by using the form of a function, current characteristics that vary in various voltage regions (e.g., linear region, saturation region, and cut-off region) can be more appropriately measured. It can be reflected clearly.
제1벡터(31)의 초기 벡터, 제2벡터(51)의 초기 벡터는 제1벡터(31), 또는 제2벡터(51)가 초기화되는 것을 의미한다. 즉, 프로세서(11)는 제1전압 데이터 세트(21)를 인코더(20)의 제1신경망에 적용하여 제1초기 벡터(31)를 생성한다(S110). 프로세서(11)는 제2전압 데이터 세트(25)를 인코더(20)의 제1신경망에 적용하여 제2초기 벡터(51)를 생성한다(S115). 상기 제1신경망은 초기 벡터 생성 모듈(30)을 의미한다. 제1초기 벡터(31)는 제1벡터(31)가 초기화된 벡터를 의미한다. 제2초기 벡터(51)는 제2벡터(51)가 초기화된 벡터를 의미한다. The initial vector of the first vector 31 and the initial vector of the second vector 51 mean that the first vector 31 or the second vector 51 is initialized. That is, the processor 11 generates the first initial vector 31 by applying the first voltage data set 21 to the first neural network of the encoder 20 (S110). The processor 11 generates a second initial vector 51 by applying the second voltage data set 25 to the first neural network of the encoder 20 (S115). The first neural network refers to the initial vector generation module 30. The first initial vector 31 refers to the vector in which the first vector 31 is initialized. The second initial vector 51 refers to the vector in which the second vector 51 is initialized.
업데이터 모듈(40)은 제1전압 데이터 세트(21), 제1벡터(31), 및 제1전류(23)를 비교하여 제1벡터(31)의 업데이트 값을 출력한다(S120). 제1전압 데이터 세트(21), 제1벡터(31), 및 제1전류(23)를 비교한다함은 제1전압 데이터 세트(21), 제1벡터(31), 및 제1전류(23)를 신경망에 적용하여 제1벡터(31)의 업데이트 값을 출력함을 의미한다. 상기 신경망은 업데이터 모듈(40)을 의미한다. 제1벡터(31)의 업데이트 값은 함수의 특정한 값을 의미한다. 즉, 프로세서(11)는 제1전류(23), 제1전압 데이터 세트(21), 및 제1벡터(31)의 제1초기 벡터를 인코더(20)의 제2신경망에 적용하여 제1벡터(31)의 업데이트 값을 출력한다. 상기 제2신경망은 업데이터 모듈(40)을 의미한다. The updater module 40 compares the first voltage data set 21, the first vector 31, and the first current 23 and outputs an updated value of the first vector 31 (S120). Comparing the first voltage data set 21, the first vector 31, and the first current 23 refers to the first voltage data set 21, the first vector 31, and the first current 23. ) is applied to the neural network to output the updated value of the first vector (31). The neural network refers to the updater module 40. The update value of the first vector 31 means a specific value of the function. That is, the processor 11 applies the first initial vector of the first current 23, the first voltage data set 21, and the first vector 31 to the second neural network of the encoder 20 to generate the first vector. Outputs the update value of (31). The second neural network refers to the updater module 40.
어텐션 모듈(50)은 제1전압 데이터 세트(21)와 제2전압 데이터 세트(25)를 비교하여 제1벡터(21)의 업데이트 값으로부터 업데이트된 제2벡터(25)를 출력한다. The attention module 50 compares the first voltage data set 21 and the second voltage data set 25 and outputs a second vector 25 updated from the updated value of the first vector 21.
이하, 구체적으로 어텐션 모듈(50)의 동작들에 대해 자세하게 설명된다. Hereinafter, the operations of the attention module 50 will be described in detail.
프로세서(11)는 제1벡터(21)의 업데이트 값으로 제2초기 벡터(25)의 업데이트 값을 설정하여 제2벡터(25)의 업데이트 값을 출력한다(S125). 즉, 프로세서(11)는 제1벡터(21)의 업데이트 값을 제2초기 벡터(25)의 업데이트 값으로 설정하여 제2벡터(25)의 업데이트 값을 출력한다. 제2벡터(25)의 업데이트 값은 제1벡터(21)의 업데이트 값으로 설정된다. The processor 11 sets the update value of the second initial vector 25 to the update value of the first vector 21 and outputs the update value of the second vector 25 (S125). That is, the processor 11 sets the update value of the first vector 21 to the update value of the second initial vector 25 and outputs the update value of the second vector 25. The update value of the second vector 25 is set to the update value of the first vector 21.
제2초기 벡터(25)는 제2벡터(25)가 초기된 벡터를 의미한다. 제2벡터(25)의 업데이트 값의 출력은 어텐션 모듈(50)에서 수행될 수 있다. The second initial vector 25 refers to the vector from which the second vector 25 was initialized. The output of the update value of the second vector 25 may be performed by the attention module 50.
프로세서(11)는 제1벡터(21)의 업데이트 값과 제1전압 데이터 세트(21)를 상인코더(20)의 제3신경망에 적용하여 제1초기 벡터(31)를 업데이트하고 업데이트된 제1벡터(31)를 출력한다(S130). 상기 제3신경망은 어텐션 모듈(50)을 의미한다. 상기 업데이트된 제1벡터(31)는 아래의 수학식 1과 같이 표현될 수 있다. The processor 11 applies the updated value of the first vector 21 and the first voltage data set 21 to the third neural network of the merchant coder 20 to update the first initial vector 31 and update the first initial vector 31. Output vector 31 (S130). The third neural network refers to the attention module 50. The updated first vector 31 can be expressed as Equation 1 below.
[수학식 1][Equation 1]
Updated support representation = initial support representation + alpha * ATTENTION(querys=support V, keys=support V, values=support representation initial update value)Updated support representation = initial support representation + alpha * ATTENTION(querys=support V, keys=support V, values=support representation initial update value)
상기 수학식 1에서 상기 Updated support representation는 상기 업데이트된 제1벡터(31)를, 상기 initial support representation는 제1벡터(31)가 초기화된 벡터인 제1초기 벡터(31)를, 상기 alpha는 학습율(learning rate)를, 상기 ATTENTION은 MLP(Multilayer perception)을, 상기 querys, 상기 keys, 및 상기 value는 신경망의 어텐션(attention)에서 벡터를, 상기 support V는 제1전압 데이터 세트(21)를, 상기 support representation initial update value는 제1벡터(31)의 업데이트 값을 나타낸다. In Equation 1, the updated support representation represents the updated first vector 31, the initial support representation represents the first initial vector 31 where the first vector 31 is an initialized vector, and alpha represents the learning rate. (learning rate), the ATTENTION represents MLP (Multilayer perception), the queries, the keys, and the value represent vectors in the attention of a neural network, and the support V represents the first voltage data set 21. The support representation initial update value represents the update value of the first vector 31.
프로세서(11)는 제1전압 데이터 세트(21), 제2전압 데이터 세트(25), 및 제2벡터(51)의 업데이트 값을 인코더(20)의 제3신경망에 적용하여 제2초기 벡터(51)를 업데이트하고 업데이트된 제2벡터(51)를 출력한다(S135). 도 3에서 어텐션 모듈(50)에 제1전압 데이터 세트(21)와 제2전압 데이터 세트(25)가 입력되지 않는 것으로 도시되었으나, 실제로는 어텐션 모듈(50)에 제1전압 데이터 세트(21)가 입력되는 것으로 이해되어야 한다. 상기 업데이트된 제2벡터(51)는 아래의 수학식 2와 같이 표현될 수 있다. The processor 11 applies the updated values of the first voltage data set 21, the second voltage data set 25, and the second vector 51 to the third neural network of the encoder 20 to create a second initial vector ( 51) is updated and the updated second vector 51 is output (S135). In FIG. 3, it is shown that the first voltage data set 21 and the second voltage data set 25 are not input to the attention module 50, but in reality, the first voltage data set 21 is input to the attention module 50. It should be understood that is input. The updated second vector 51 can be expressed as Equation 2 below.
[수학식 2][Equation 2]
Updated query representation = initial query representation + alpha * ATTENTION(querys=query V, keys=support V, values=query representation initial update value)Updated query representation = initial query representation + alpha * ATTENTION(querys=query V, keys=support V, values=query representation initial update value)
상기 수학식 2에서 상기 Updated query representation는 상기 업데이트된 제2벡터(51)를, 상기 initial query representation는 제2벡터(51)가 초기화된 벡터인 제2초기 벡터(51)를, 상기 alpha는 학습율(learning rate)를, 상기 ATTENTION은 MLP(Multilayer perception)을, 상기 querys, 상기 keys, 및 상기 value는 신경망의 어텐션(attention)에서 벡터를, 상기 query V는 제2전압 데이터 세트(25)를, 상기 support V는 제1전압 데이터 세트(21)를, 상기 query representation initial update value는 제2벡터(51)의 업데이트 값을 나타낸다. In Equation 2, the updated query representation represents the updated second vector 51, the initial query representation represents the second initial vector 51 where the second vector 51 is an initialized vector, and alpha represents the learning rate. (learning rate), the ATTENTION represents MLP (Multilayer perception), the queries, the keys, and the value represent vectors in the attention of a neural network, and the query V represents the second voltage data set 25. The support V represents the first voltage data set (21), and the query representation initial update value represents the update value of the second vector (51).
프로세서(11)는 제1전류(23), 제1전압 데이터 세트(21), 및 상기 업데이트된 제1벡터(31)를 인코더(20)의 제2신경망(40)에 적용하여 제1벡터(31)의 재업데이트 값을 출력하는 제1출력 동작을 수행한다(S140). The processor 11 applies the first current 23, the first voltage data set 21, and the updated first vector 31 to the second neural network 40 of the encoder 20 to generate a first vector ( The first output operation to output the re-updated value of 31) is performed (S140).
프로세서(11)는 제1벡터(31)의 재업데이트 값으로 상기 업데이트된 제2벡터(51)의 재업데이트 값을 설정하여 제2벡터(51)의 재업데이트 값을 출력하는 제2출력 동작을 수행한다(S145). 즉, 프로세서(11)는 제1벡터(31)의 재업데이트 값을 상기 업데이트된 제2벡터(51)의 재업데이트 값으로 설정하여 제2벡터(51)의 재업데이트 값을 출력하는 제2출력 동작을 수행한다. 상기 업데이트된 제2벡터(51)의 재업데이트 값은 제1벡터(31)의 재업데이트 값으로 설정된다. The processor 11 performs a second output operation of setting the re-update value of the updated second vector 51 to the re-update value of the first vector 31 and outputting the re-update value of the second vector 51. Perform (S145). That is, the processor 11 sets the re-update value of the first vector 31 to the updated re-update value of the second vector 51 and outputs the re-update value of the second vector 51. Perform the action. The updated re-update value of the second vector 51 is set to the re-update value of the first vector 31.
제2벡터(25)의 업데이트 값의 출력은 어텐션 모듈(50)에서 수행될 수 있다. The output of the update value of the second vector 25 may be performed by the attention module 50.
프로세서(11)는 제1벡터(31)의 재업데이트 값과 제1전압 데이터 세트(21)를 인코더(20)의 제3신경망(50)에 적용하여 상기 업데이트된 제1벡터(31)를 재업데이트하고 재업데이트된 제1벡터(31)를 출력하는 제3출력 동작을 수행한다(S150). The processor 11 applies the re-updated value of the first vector 31 and the first voltage data set 21 to the third neural network 50 of the encoder 20 to regenerate the updated first vector 31. A third output operation is performed to output the updated and re-updated first vector 31 (S150).
프로세서(11)는 제1전압 데이터 세트(21), 제2전압 데이터 세트(25), 및 제2벡터(51)의 재업데이트 값을 인코더(20)의 제3신경망(50)에 적용하여 상기 업데이트된 제2벡터(51)를 재업데이트하고 재업데이트된 제2벡터(51)를 출력하는 제4출력 동작을 수행한다(S155). 즉, 재업데이트된 제2벡터(51)가 추출된다. The processor 11 applies the re-updated values of the first voltage data set 21, the second voltage data set 25, and the second vector 51 to the third neural network 50 of the encoder 20 to A fourth output operation is performed to re-update the updated second vector 51 and output the re-updated second vector 51 (S155). That is, the re-updated second vector 51 is extracted.
프로세서(11)는 상기 제1출력 동작(S140), 상기 제2출력 동작(S145), 상기 제3출력 동작(S150), 및 상기 제4출력 동작(S155)을 임의의 횟수 동안 반복적으로 수행한다. 즉, 프로세서(11)는 상기 제1출력 동작(S140), 상기 제2출력 동작(S145), 상기 제3출력 동작(S150), 및 상기 제4출력 동작(S155)을 N 회(N은 자연수) 이상 반복적으로 수행하였는지 판단한다. 프로세서(11)는 N 회 이상 반복적으로 수행하였다고 판단할 때, 상기 동작들을 종료한다. 따라서 제2전압 데이터 세트(25)에 대한 전류 값이 없어도 제2전압 데이터 세트(25)에 대한 제2벡터(51)가 추출될 수 있다. 상기 임의의 횟수는 임의로 설정될 수 있다. The processor 11 repeatedly performs the first output operation (S140), the second output operation (S145), the third output operation (S150), and the fourth output operation (S155) for an arbitrary number of times. . That is, the processor 11 performs the first output operation (S140), the second output operation (S145), the third output operation (S150), and the fourth output operation (S155) N times (N is a natural number). ) Determine whether or not it was performed repeatedly. When the processor 11 determines that the operations have been performed repeatedly more than N times, it terminates the operations. Therefore, even if there is no current value for the second voltage data set 25, the second vector 51 for the second voltage data set 25 can be extracted. The arbitrary number of times may be set arbitrarily.
제2벡터(51)를 추출하는 동작을 수행하는 과정(S110~S155)에서 인코더(20)의 파라미터들(가중치들(weights)과 바이어스(bias))과 디코더(60)의 파라미터들은 업데이트되지 않는다. 즉, 제2벡터(51)를 추출하는 동작은 신경망(100)의 훈련 단계의 백프로파게이션(backpropagation)에서 수행되는 것이 아니다.In the process of extracting the second vector 51 (S110 to S155), the parameters (weights and bias) of the encoder 20 and the parameters of the decoder 60 are not updated. . That is, the operation of extracting the second vector 51 is not performed in backpropagation in the training stage of the neural network 100.
상기 소스 장치의 제2전압 데이터 세트(25)에 대한 제2벡터(51)를 추출한 후(S100), 프로세서(11)는 제2벡터(51)와 제2전압 데이터 세트(25)를 디코더(60)에 적용하여 출력되는 제2전류(27)와 그라운드 트루를 비교하여 인코더(20)와 디코더(60)를 훈련한다(S200). 백프로파게이션(backpropagation)이 수행된다. 인코더(20)와 디코더(60)의 파라미터들(가중치들(weights)과 바이어스(bias))이 업데이트된다. After extracting the second vector 51 for the second voltage data set 25 of the source device (S100), the processor 11 converts the second vector 51 and the second voltage data set 25 into a decoder ( 60), the encoder 20 and the decoder 60 are trained by comparing the second current 27 output and the ground true (S200). Backpropagation is performed. The parameters (weights and bias) of the encoder 20 and decoder 60 are updated.
인코더(20)와 디코더(60)가 훈련된 후(S200), 프로세서(11)는 타겟 장치의 제3전압 데이터 세트(71), 제3전류(73), 및 상기 훈련된 인코더(80)를 이용하여 제3벡터(도 6에서 91)를 생성한다(S300). After the encoder 20 and the decoder 60 are trained (S200), the processor 11 uses the third voltage data set 71, the third current 73, and the trained encoder 80 of the target device. A third vector (91 in FIG. 6) is generated (S300).
신경망(200)은 훈련된 인코더(80)와 훈련된 디코더(130)를 포함한다. 훈련된 인코더(80)와 훈련된 디코더(130)란 신경망(100)에서 훈련된 인코더(20)와 디코더(60)를 의미한다. 즉, 신경망(100)에서 훈련을 통해 파라미터들이 업데이트된 인코더(20)와 디코더(60)는 훈련된 인코더(80)와 훈련된 디코더(130)이다. Neural network 200 includes a trained encoder 80 and a trained decoder 130. The trained encoder 80 and trained decoder 130 refer to the encoder 20 and decoder 60 trained in the neural network 100. That is, the encoder 20 and decoder 60 whose parameters are updated through training in the neural network 100 are the trained encoder 80 and the trained decoder 130.
도 6은 도 2에 도시된 타겟 장치에 대한 신경망의 인코더의 내부 블록도를 나타낸다. FIG. 6 shows an internal block diagram of the encoder of the neural network for the target device shown in FIG. 2.
도 2와 도 6을 참고하면, 인코더(80)는 초기 벡터 생성 모듈(90), 업데이터 모듈(110), 및 어텐션 모듈(120)을 포함한다. Referring to FIGS. 2 and 6 , the encoder 80 includes an initial vector generation module 90, an updater module 110, and an attention module 120.
초기 벡터 생성 모듈(90), 업데이터 모듈(110), 및 어텐션 모듈(120) 각각은 MLP(Multilayer perception)으로 구현된다. 초기 벡터 생성 모듈(90), 업데이터 모듈(110), 및 어텐션 모듈(120)은 신경망(100)의 훈련을 통해 초기 벡터 생성 모듈(30), 업데이터 모듈(40), 및 어텐션 모듈(50)의 파라미터들이 업데이트된 모듈이다. The initial vector generation module 90, the updater module 110, and the attention module 120 are each implemented with multilayer perception (MLP). The initial vector generation module 90, the updater module 110, and the attention module 120 are the initial vector generation module 30, the updater module 40, and the attention module 50 through training of the neural network 100. This is a module with updated parameters.
도 7은 도 3에 도시된 제3벡터를 추출하는 동작(S300)을 상세하게 설명하기 위한 흐름도를 나타낸다. FIG. 7 shows a flowchart for explaining in detail the operation (S300) of extracting the third vector shown in FIG. 3.
도 1 내지 도 7을 참고하면, 프로세서(11)는 제3전압 데이터 세트(71)를 상기 훈련된 인코더(80)의 제1신경망에 적용하여 제3초기 벡터(91)를 생성한다(S310). 상기 제1신경망은 훈련된 초기 벡터 생성 모듈(90)을 나타낸다. 1 to 7, the processor 11 generates a third initial vector 91 by applying the third voltage data set 71 to the first neural network of the trained encoder 80 (S310). . The first neural network represents the trained initial vector generation module 90.
프로세서(11)는 제4전압 데이터 세트(75)를 상기 훈련된 인코더(80)의 제1신경망(90)에 적용하여 제4초기 벡터(121)를 생성한다(S315). The processor 11 generates a fourth initial vector 121 by applying the fourth voltage data set 75 to the first neural network 90 of the trained encoder 80 (S315).
제3초기 벡터(91)는 제3벡터(91)가 초기화된 벡터를 의미한다. 제4초기 벡터(121)는 제4벡터(121)가 초기화된 벡터를 의미한다. The third initial vector 91 refers to the vector in which the third vector 91 is initialized. The fourth initial vector 121 refers to the vector in which the fourth vector 121 is initialized.
제3벡터(91), 또는 제4벡터(121)는 타겟 장치의 폭, 길이, 및 온도에 대한 데이터를 압축하여 표현된 벡터이다. 제3벡터(91), 또는 제4벡터(121)는 고정된 값이 아니라, 전압에 따라 값이 변화되는 함수의 형태이다.The third vector 91 or the fourth vector 121 is a vector expressed by compressing data about the width, length, and temperature of the target device. The third vector 91 or the fourth vector 121 is not a fixed value, but is a function whose value changes depending on the voltage.
제3전압 데이터 세트(71)는 상기 타겟 장치에 대한 드레인-소스 전압(VDS), 게이트-소스 전압(VGS), 및 벌크(bulk)-소스 전압(VBS)를 포함한다. 제4전압 데이터 세트(75)는 상기 타겟 장치에 대한 드레인-소스 전압(VDS), 게이트-소스 전압(VGS), 및 벌크(bulk)-소스 전압(VBS)를 포함한다. The third voltage data set 71 includes drain-source voltage (V DS ), gate-source voltage (V GS ), and bulk-source voltage (V BS ) for the target device. The fourth voltage data set 75 includes drain-source voltage (V DS ), gate-source voltage (V GS ), and bulk-source voltage (V BS ) for the target device.
제3전압 데이터 세트(71)와 제3전류(73)는 서포트 세트(support set)으로 호칭될 수 있다. 제3전류(73)는 상기 타겟 장치에 대한 드레인 전류를 의미한다. The third voltage data set 71 and the third current 73 may be referred to as a support set. The third current 73 refers to the drain current for the target device.
제4전압 데이터 세트(75)와 제4전류(77)는 쿼리 세트(query set)으로 호칭될 수 있다. 제4전류(77)는 상기 타겟 장치에 대한 드레인 전류를 의미한다. The fourth voltage data set 75 and the fourth current 77 may be referred to as a query set. The fourth current 77 refers to the drain current for the target device.
상기 타겟 장치에 대한 제3전압 데이터 세트(71)와 제3전류(73)의 데이터 양은 제한적이다. 상기 타겟 장치에 대한 제3전압 데이터 세트(71)와 제3전류(73)의 데이터 양은 상기 소스 장치에 대한 제1전압 데이터 세트(21)와 제1전류(23)의 데이터 양보다 적다. The amount of data in the third voltage data set 71 and third current 73 for the target device is limited. The data amount of the third voltage data set 71 and the third current 73 for the target device is less than the data amount of the first voltage data set 21 and the first current 23 for the source device.
프로세서(11)는 제3전류(73), 제3전압 데이터 세트(71), 및 제3초기 벡터(91)를 상기 훈련된 인코더(80)의 제2신경망에 적용하여 제3벡터(91)의 업데이트 값을 출력한다(S320). 상기 제2신경망은 훈련된 업데이터 모듈(110)을 나타낸다. 제3벡터(91)의 업데이트 값은 함수의 특정한 값을 의미한다.The processor 11 applies the third current 73, the third voltage data set 71, and the third initial vector 91 to the second neural network of the trained encoder 80 to generate a third vector 91. Output the updated value (S320). The second neural network represents the trained updater module 110. The update value of the third vector 91 means a specific value of the function.
프로세서(11)는 제3벡터(91)의 업데이트 값으로 제4초기 벡터(121)의 업데이트 값을 설정하여 제4벡터(121)의 업데이트 값을 출력한다(S325). The processor 11 sets the update value of the fourth initial vector 121 to the update value of the third vector 91 and outputs the update value of the fourth vector 121 (S325).
즉, 프로세서(11)는 제3벡터(91)의 업데이트 값을 제4초기 벡터(121)의 업데이트 값으로 설정하여 제4벡터(121)의 업데이트 값을 출력한다. 제4벡터(121)의 업데이트 값은 제3벡터(91)의 업데이트 값으로 설정된다. That is, the processor 11 sets the update value of the third vector 91 to the update value of the fourth initial vector 121 and outputs the update value of the fourth vector 121. The update value of the fourth vector 121 is set to the update value of the third vector 91.
제4벡터(121)의 업데이트 값의 출력은 훈련된 어텐션 모듈(120)에서 수행될 수 있다. 제4벡터(121)의 업데이트 값은 함수의 특정한 값을 의미한다.The output of the update value of the fourth vector 121 can be performed by the trained attention module 120. The update value of the fourth vector 121 means a specific value of the function.
프로세서(11)는 제3벡터(91)의 업데이트 값과 제3전압 데이터 세트(71)를 훈련된 인코더(80)의 제3신경망(120)에 적용하여 제3초기 벡터(91)를 업데이트하고 업데이트된 제3벡터(91)를 출력한다(S330). 업데이트된 제3벡터(91)를 출력하는 동작(S330)은 상기 수학식 1이 적용될 수 있다. The processor 11 updates the third initial vector 91 by applying the updated value of the third vector 91 and the third voltage data set 71 to the third neural network 120 of the trained encoder 80. The updated third vector 91 is output (S330). Equation 1 above can be applied to the operation (S330) of outputting the updated third vector 91.
이때, 상기 수학식 1에서 상기 Updated support representation는 상기 업데이트된 제3벡터(91)를, 상기 initial support representation는 제3벡터(91)가 초기화된 벡터인 제3초기 벡터(91)를, 상기 alpha는 학습율(learning rate)를, 상기 ATTENTION은 MLP(Multilayer perception)을, 상기 querys, 상기 keys, 및 상기 value는 신경망의 어텐션(attention)에서 벡터를, 상기 support V는 제3전압 데이터 세트(71)를, 상기 support representation initial update value는 제3벡터(91)의 업데이트 값을 나타낸다. At this time, in Equation 1, the updated support representation represents the updated third vector 91, the initial support representation represents the third initial vector 91, where the third vector 91 is an initialized vector, and the alpha is the learning rate, the ATTENTION is MLP (Multilayer perception), the queries, the keys, and the value are vectors in the attention of the neural network, and the support V is the third voltage data set 71. , the support representation initial update value represents the update value of the third vector 91.
도 8은 도 3에 도시된 제4전류를 추정하는 동작(S400)을 상세하게 설명하기 위한 흐름도를 나타낸다. FIG. 8 shows a flowchart for explaining in detail the operation (S400) of estimating the fourth current shown in FIG. 3.
도 1 내지 도 8을 참고하면, 제4전류를 추정하는 동작(S400)은 제4벡터를 출력하는 동작(S410)과 제4전류를 추정하는 동작(S440)을 포함한다. Referring to FIGS. 1 to 8 , the operation S400 of estimating the fourth current includes an operation S410 of outputting a fourth vector and an operation S440 of estimating the fourth current.
프로세서(11)는 제3전압 데이터 세트(71), 제4전압 데이터 세트(75), 및 제3벡터(91)를 이용하여 업데이트된 제4벡터(121)를 출력한다(S410). The processor 11 outputs the updated fourth vector 121 using the third voltage data set 71, the fourth voltage data set 75, and the third vector 91 (S410).
업데이트된 제4벡터(121)를 출력하는 동작(S410)은 상기 수학식 2가 적용될 수 있다. 이때, 상기 수학식 2에서 상기 Updated query representation는 상기 업데이트된 제4벡터(121)를, 상기 initial query representation는 제4벡터(121)가 초기화된 벡터인 제4초기 벡터(121)를, 상기 alpha는 학습율(learning rate)를, 상기 ATTENTION은 MLP(Multilayer perception)을, 상기 querys, 상기 keys, 및 상기 value는 신경망의 어텐션(attention)에서 벡터를, 상기 query V는 제4전압 데이터 세트(75)를, 상기 support V는 제3전압 데이터 세트(71)를, 상기 query representation initial update value는 제4벡터(121)의 업데이트 값을 나타낸다. Equation 2 above may be applied to the operation (S410) of outputting the updated fourth vector 121. At this time, in Equation 2, the updated query representation represents the updated fourth vector 121, the initial query representation represents the fourth initial vector 121 in which the fourth vector 121 is an initialized vector, and the alpha is the learning rate, the ATTENTION is MLP (Multilayer perception), the queries, the keys, and the value are vectors in the attention of the neural network, and the query V is the fourth voltage data set 75. , the support V represents the third voltage data set 71, and the query representation initial update value represents the update value of the fourth vector 121.
프로세서(11)는 제3전압 데이터 세트(71)와 제3전류(73)를 훈련된 인코더(80)에 적용하여 추출된 제3벡터(91)에 따라 타겟 장치의 제4전압 데이터 세트(75)에 대한 업데이트된 제4벡터(121)를 출력한다. 즉, 프로세서(11)는 타겟 장치의 제3전압 데이터 세트(71)와 제3전류(73)를 훈련된 인코더(80)에 적용하여 추출된 제3벡터(91)와, 상기 타겟 장치의 제4전압 데이터 세트(75)를 훈련된 인코더(80)에 적용하여 생성된 제4벡터(121)를 비교하여 업데이트된 제4벡터(121)를 추출한다. 다시 말하면, 프로세서(11)는 타겟 장치의 제3전압 데이터 세트(71)와 제3전류(73)를 훈련된 인코더(80)에 적용하여 추출된 제3벡터(91), 타겟 장치의 제3전압 데이터 세트(71), 및 상기 타겟 장치의 제4전압 데이터 세트(75)를 훈련된 인코더(80)에 적용하여 생성된 제4벡터(121)로부터 업데이트된 제4벡터(121)를 추출한다. 제3벡터(91)를 훈련된 인코더(80)에 적용한다함은 업데이트된 제4벡터(121)는 제3벡터(91)를 이용하여 추출됨을 의미한다. 업데이트된 제3벡터(91)는 상기 수학식 2를 이용하여 생성된다. The processor 11 applies the third voltage data set 71 and the third current 73 to the trained encoder 80 and applies the fourth voltage data set 75 of the target device according to the extracted third vector 91. ) outputs the updated fourth vector 121. That is, the processor 11 applies the third voltage data set 71 and the third current 73 of the target device to the trained encoder 80 to extract the third vector 91 and the third vector 91 of the target device. The updated fourth vector 121 is extracted by comparing the fourth vector 121 generated by applying the 4-voltage data set 75 to the trained encoder 80. In other words, the processor 11 applies the third voltage data set 71 and the third current 73 of the target device to the trained encoder 80 to obtain the extracted third vector 91 and the third vector 91 of the target device. The updated fourth vector 121 is extracted from the voltage data set 71 and the fourth vector 121 generated by applying the fourth voltage data set 75 of the target device to the trained encoder 80. . Applying the third vector 91 to the trained encoder 80 means that the updated fourth vector 121 is extracted using the third vector 91. The updated third vector 91 is generated using Equation 2 above.
이하, 제4벡터(121)를 출력하는 상세한 동작들에 대해 설명된다. Hereinafter, detailed operations for outputting the fourth vector 121 will be described.
제4벡터(121)를 출력하는 동작(S410)은 제5출력 동작(S415), 제6출력 동작(S420), 제7출력 동작(S425), 제8출력 동작(S430), 및 판단 동작(S435)을 포함한다. The operation (S410) of outputting the fourth vector 121 includes the fifth output operation (S415), the sixth output operation (S420), the seventh output operation (S425), the eighth output operation (S430), and the judgment operation ( S435).
프로세서(11)는 제3전류(73), 제3전압 데이터 세트(71), 및 상기 업데이트된 제3벡터(91)를 훈련된 인코더(80)의 제2신경망(110)에 적용하여 제3벡터(91)의 재업데이트 값을 출력하는 제5출력 동작을 수행한다(S415). 제2신경망(110)은 훈련된 업데이터 모듈이다. The processor 11 applies the third current 73, the third voltage data set 71, and the updated third vector 91 to the second neural network 110 of the trained encoder 80 to generate a third A fifth output operation is performed to output the re-updated value of the vector 91 (S415). The second neural network 110 is a trained updater module.
프로세서(11)는 제3벡터(91)의 재업데이트 값으로 상기 업데이트된 제4벡터(121)의 재업데이트 값을 설정하여 제4벡터(121)의 재업데이트 값을 출력하는 제6출력 동작을 수행한다(S420). 즉, 프로세서(11)는 제3벡터(91)의 재업데이트 값을 상기 업데이트된 제4벡터(121)의 재업데이트 값으로 설정하여 제4벡터(121)의 재업데이트 값을 출력하는 제6출력 동작을 수행한다. 제4벡터(121)의 재업데이트 값은 제3벡터(91)의 재업데이트 값으로 설정된다. The processor 11 performs a sixth output operation of setting the re-update value of the updated fourth vector 121 as the re-update value of the third vector 91 and outputting the re-update value of the fourth vector 121. Perform (S420). That is, the processor 11 sets the re-update value of the third vector 91 to the updated re-update value of the fourth vector 121 and outputs the re-update value of the fourth vector 121. Perform the action. The re-update value of the fourth vector 121 is set to the re-update value of the third vector 91.
제4벡터(121)의 업데이트 값의 출력은 어텐션 모듈(120)에서 수행될 수 있다. The output of the update value of the fourth vector 121 may be performed in the attention module 120.
프로세서(11)는 제3벡터(91)의 재업데이트 값과 제3전압 데이터 세트(71)를 훈련된 인코더(80)의 제3신경망(120)에 적용하여 상기 업데이트된 제3벡터(91)를 재업데이트하고 재업데이트된 제3벡터(91)를 출력하는 제7출력 동작을 수행한다(S425). The processor 11 applies the re-updated value of the third vector 91 and the third voltage data set 71 to the third neural network 120 of the trained encoder 80 to generate the updated third vector 91. A seventh output operation is performed to re-update and output the re-updated third vector 91 (S425).
프로세서(11)는 제3전압 데이터 세트(71), 제4전압 데이터 세트(75), 및 제4벡터(121)의 재업데이트 값을 훈련된 인코더(80)의 제3신경망(120)에 적용하여 상기 업데이트된 제4벡터(121)를 재업데이트하고 재업데이트된 제4벡터(121)를 출력하는 제8출력 동작을 수행한다(S430). 즉, 재업데이트된 제4벡터(121)가 추출된다. The processor 11 applies the re-updated values of the third voltage data set 71, the fourth voltage data set 75, and the fourth vector 121 to the third neural network 120 of the trained encoder 80. Then, the updated fourth vector 121 is re-updated and an eighth output operation is performed to output the re-updated fourth vector 121 (S430). That is, the re-updated fourth vector 121 is extracted.
프로세서(11)는 상기 제5출력 동작(S415), 상기 제6출력 동작(S420), 상기 제7출력 동작(S425), 및 상기 제8출력 동작(S430)을 임의의 횟수 동안 반복적으로 수행한다. 즉, 프로세서(11)는 상기 제5출력 동작(S415), 상기 제6출력 동작(S420), 상기 제7출력 동작(S425), 및 상기 제8출력 동작(S430)을 M 회(M은 자연수) 이상 반복적으로 수행하였는지 판단한다(S435). 프로세서(11)는 M 회 이상 반복적으로 수행하였다고 판단할 때, 상기 동작들을 종료한다. 상기 임의의 횟수는 임의로 설정될 수 있다. The processor 11 repeatedly performs the fifth output operation (S415), the sixth output operation (S420), the seventh output operation (S425), and the eighth output operation (S430) for an arbitrary number of times. . That is, the processor 11 performs the fifth output operation (S415), the sixth output operation (S420), the seventh output operation (S425), and the eighth output operation (S430) M times (M is a natural number). ) Determine whether the above was performed repeatedly (S435). When the processor 11 determines that the operations have been performed repeatedly M times or more, it ends. The arbitrary number of times may be set arbitrarily.
프로세서(11)는 상기 업데이트된 제4벡터(121)와 제4전압 데이터 세트(75)를 상기 훈련된 디코더(130)에 적용하여 상기 타겟 장치의 제4전압 데이터 세트(75)에 대한 제4전류(77)를 추정한다(S440). The processor 11 applies the updated fourth vector 121 and the fourth voltage data set 75 to the trained decoder 130 to generate a fourth signal for the fourth voltage data set 75 of the target device. Estimate the current 77 (S440).
신경망(200)에 대해서 별도의 훈련 과정이 없다. 종래의 트랜스퍼 러닝(transfer learning)의 경우, 파인 튜닝(fine tuning)이 요구된다. 등록 특허 제10-2285516호의 경우, 단락번호 [0085]를 참고하면, 제2신경망(175)의 파라미터들이 업데이트된다. 제2신경망(175)에 대해 백프로파게이션 동작이 수행되는 파인 튜닝이 요구된다. 하지만, 본 발명의 경우, 신경망(200)에 대해 별도의 파인 튜닝을 수행하지 않는다. 따라서 트랜스퍼 러닝보다 빠르게 타겟 장치의 드레인 전류가 추정될 수 있다. There is no separate training process for the neural network 200. In the case of conventional transfer learning, fine tuning is required. In the case of registered patent No. 10-2285516, referring to paragraph number [0085], the parameters of the second neural network 175 are updated. Fine tuning is required for the second neural network 175 to perform a backpropagation operation. However, in the case of the present invention, separate fine tuning is not performed on the neural network 200. Therefore, the drain current of the target device can be estimated faster than transfer learning.
아래 표는 서로 다른 3개의 기법을 이용한 컴팩트 모델링 방법을 나타낸다. 랜덤 이니셜라이제이션(random initialization)은 하나의 신경망을 이용한 컴팩트 모델링 방법을 의미한다. 즉, 랜덤 이니셜라이제이션(random initialization)은 하나의 신경망이 임의로 초기화되고, 타겟 장치의 제한된 데이터를 이용하여 훈련된 방법이다. 트랜스퍼 러닝(Transfer learning)은 등록 특허 제10-2285516호에 따른 컴팩트 모델링 방법을 의미한다. 메타 러닝은 본 발명에 따른 컴팩트 모델링 방법을 의미한다. The table below shows compact modeling methods using three different techniques. Random initialization refers to a compact modeling method using a single neural network. In other words, random initialization is a method in which a neural network is randomly initialized and trained using limited data from the target device. Transfer learning refers to a compact modeling method according to registered patent No. 10-2285516. Meta-learning refers to a compact modeling method according to the present invention.
아래 표 1에서 프리트레이닝 시간이란 본 발명에서 신경망(100)의 훈련 시간을 의미한다. 등록 특허 제10-2285516호의 경우, 신경망(160)의 훈련 시간을 의미한다. 어댑테이션 시간이란 본 발명에서 신경망(200)을 이용하여 타겟 장치의 전류를 추정할 수 있도록 준비되는 상태까지의 시간을 의미한다. 등록 특허 제10-2285516호의 경우, 신경망(175), 또는 신경망(185)에 대해 백프로파게이션 동작이 완료되는 시간을 의미한다. 본 발명에서는 신경망(200)의 백프로파게이션 동작이 수행되지 않는다. In Table 1 below, the pre-training time means the training time of the neural network 100 in the present invention. In the case of registered patent No. 10-2285516, it refers to the training time of the neural network 160. Adaptation time refers to the time until the current state of the target device is ready to be estimated using the neural network 200 in the present invention. In the case of registered patent No. 10-2285516, it refers to the time when the backpropagation operation is completed for the neural network 175 or the neural network 185. In the present invention, the backpropagation operation of the neural network 200 is not performed.
아래 표 1을 참고하면, 본 발명은 트랜스퍼 러닝과 비교할 때, 짧은 어댑테이션 시간을 요구할 뿐만 아니라 낮은 에러를 가짐을 알 수 있다. Referring to Table 1 below, it can be seen that the present invention not only requires a short adaptation time but also has a low error compared to transfer learning.
Random initializationRandom initialization Tramsfer LearningTramsfer Learning Meta learningMeta-learning
Pretraining TimePretraining Time N/AN/A 646 sec.646sec. 17 hours17 hours
Adapation Time(per W/L/T)Adaptation Time(per W/L/T) 538 sec 538 seconds 186 sec186 seconds 1 sec1 sec
Relative Linear Error(%)Relative Linear Error(%) 22.922.9 4.34.3 2.32.3
Relative Log Error(%)Relative Log Error(%) 1.561.56 0.400.40 0.110.11
본 발명은 메타 러닝을 이용함으로써 뉴럴 컴팩트 모델, 또는 ANN(Artificial Neural Network) 기반 컴팩트 모델의 정확성을 증가시킬 수 있다. 타겟 장치의 데이터 양이 제한적일 때 유용하다. The present invention can increase the accuracy of a neural compact model or ANN (Artificial Neural Network)-based compact model by using meta-learning. This is useful when the amount of data on the target device is limited.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.The present invention has been described with reference to an embodiment shown in the drawings, but this is merely illustrative, and those skilled in the art will understand that various modifications and other equivalent embodiments are possible therefrom. Therefore, the true scope of technical protection of the present invention should be determined by the technical spirit of the attached registration claims.

Claims (19)

  1. 프로세서에 의해 수행되는 뉴럴 컴팩트 모델링 방법에 있어서, In the neural compact modeling method performed by a processor,
    소스 장치의 제1전압 데이터 세트와 제1전류를 인코더에 적용하여 추출된 제1벡터에 따라 상기 소스 장치의 제2전압 데이터 세트에 대한 제2벡터를 추출하는 단계; extracting a second vector for a second voltage data set of the source device according to the first vector extracted by applying the first voltage data set and the first current of the source device to an encoder;
    상기 제2벡터와 상기 제2전압 데이터 세트를 디코더에 적용하여 출력되는 제2전류와 그라운드 트루를 비교하여 상기 인코더와 상기 디코더를 훈련하는 단계; training the encoder and the decoder by comparing the second current and ground true output by applying the second vector and the second voltage data set to the decoder;
    타겟 장치의 제3전압 데이터 세트, 제3전류, 및 상기 훈련된 인코더를 이용하여 제3벡터를 생성하는 단계; 및generating a third vector using a third voltage data set of a target device, a third current, and the trained encoder; and
    상기 제3벡터, 상기 훈련된 인코더, 및 상기 훈련된 디코더를 이용하여 상기 타겟 장치의 제4전압 데이터 세트에 대한 제4전류를 추정하는 단계를 포함하는 뉴럴 컴팩트 모델링 방법.A neural compact modeling method comprising estimating a fourth current for a fourth voltage data set of the target device using the third vector, the trained encoder, and the trained decoder.
  2. 제1항에 있어서, 상기 인코더는, The method of claim 1, wherein the encoder:
    상기 제1벡터, 또는 상기 제2벡터의 초기 벡터를 생성하는 초기 벡터 생성 모듈; an initial vector generation module that generates an initial vector of the first vector or the second vector;
    상기 제1전압 데이터 세트, 상기 제1벡터, 및 상기 제1전류를 비교하여 상기 제1벡터의 업데이트 값을 출력하는 업데이터 모듈; 및an updater module that compares the first voltage data set, the first vector, and the first current and outputs an updated value of the first vector; and
    상기 제1전압 데이터 세트와 상기 제2전압 데이터 세트를 비교하여 상기 제1벡터의 업데이트 값으로부터 업데이트된 제2벡터를 출력하는 어텐션 모듈을 포함하는 뉴럴 컴팩트 모델링 방법.A neural compact modeling method including an attention module that compares the first voltage data set and the second voltage data set and outputs an updated second vector from the update value of the first vector.
  3. 제1항에 있어서, 상기 제2벡터를 추출하는 단계는, The method of claim 1, wherein extracting the second vector comprises:
    상기 제1전압 데이터 세트를 상기 인코더의 제1신경망에 적용하여 제1초기 벡터를 생성하는 단계; generating a first initial vector by applying the first voltage data set to a first neural network of the encoder;
    상기 제2전압 데이터 세트를 상기 인코더의 제1신경망에 적용하여 제2초기 벡터를 생성하는 단계;generating a second initial vector by applying the second voltage data set to a first neural network of the encoder;
    상기 제1전류, 상기 제1전압 데이터 세트, 및 상기 제1초기 벡터를 상기 인코더의 제2신경망에 적용하여 상기 제1벡터의 업데이트 값을 출력하는 단계; applying the first current, the first voltage data set, and the first initial vector to a second neural network of the encoder to output an update value of the first vector;
    상기 제1벡터의 업데이트 값으로 상기 제2초기 벡터의 업데이트 값을 설정하여 상기 제2벡터의 업데이트 값을 출력하는 단계; Setting the update value of the second initial vector as the update value of the first vector and outputting the update value of the second vector;
    상기 제1벡터의 업데이트 값과 상기 제1전압 데이터 세트를 상기 인코더의 제3신경망에 적용하여 상기 제1초기 벡터를 업데이트하고 업데이트된 제1벡터를 출력하는 단계; 및applying the updated value of the first vector and the first voltage data set to a third neural network of the encoder to update the first initial vector and output the updated first vector; and
    상기 제1전압 데이터 세트, 상기 제2전압 데이터 세트, 및 상기 제2벡터의 업데이트 값을 상기 인코더의 제3신경망에 적용하여 상기 제2초기 벡터를 업데이트하고 업데이트된 제2벡터를 출력하는 단계를 포함하는 뉴럴 컴팩트 모델링 방법.Applying the first voltage data set, the second voltage data set, and the updated values of the second vector to a third neural network of the encoder to update the second initial vector and output the updated second vector. Neural compact modeling method including.
  4. 제3항에 있어서, 상기 뉴럴 컴팩트 모델링 방법은, The neural compact modeling method of claim 3,
    상기 제1전류, 상기 제1전압 데이터 세트, 및 상기 업데이트된 제1벡터를 상기 인코더의 제2신경망에 적용하여 상기 제1벡터의 재업데이트 값을 출력하는 제1출력 동작을 수행하는 단계; performing a first output operation of applying the first current, the first voltage data set, and the updated first vector to a second neural network of the encoder to output a re-updated value of the first vector;
    상기 제1벡터의 재업데이트 값으로 상기 업데이트된 제2벡터의 재업데이트 값을 설정하여 상기 제2벡터의 재업데이트 값을 출력하는 제2출력 동작을 수행하는 단계; performing a second output operation of setting the re-update value of the updated second vector as the re-update value of the first vector and outputting the re-update value of the second vector;
    상기 제1벡터의 재업데이트 값과 상기 제1전압 데이터 세트를 상기 인코더의 제3신경망에 적용하여 상기 업데이트된 제1벡터를 재업데이트하고 재업데이트된 제1벡터를 출력하는 제3출력 동작을 수행하는 단계; 및Applying the re-updated value of the first vector and the first voltage data set to the third neural network of the encoder to re-update the updated first vector and perform a third output operation to output the re-updated first vector steps; and
    상기 제1전압 데이터 세트, 상기 제2전압 데이터 세트, 및 상기 제2벡터의 재업데이트 값을 상기 인코더의 제3신경망에 적용하여 상기 업데이트된 제2벡터를 재업데이트하고 재업데이트된 제2벡터를 출력하는 제4출력 동작을 수행하는 단계를 더 포함하는 뉴럴 컴팩트 모델링 방법.The first voltage data set, the second voltage data set, and the re-updated value of the second vector are applied to the third neural network of the encoder to re-update the updated second vector and generate the re-updated second vector. A neural compact modeling method further comprising performing a fourth output operation.
  5. 제4항에 있어서, 상기 뉴럴 컴팩트 모델링 방법은, The method of claim 4, wherein the neural compact modeling method:
    상기 제1출력 동작, 상기 제2출력 동작, 상기 제3출력 동작, 및 상기 제4출력 동작은 임의의 횟수 동안 반복적으로 수행되는 뉴럴 컴팩트 모델링 방법.A neural compact modeling method in which the first output operation, the second output operation, the third output operation, and the fourth output operation are repeatedly performed for an arbitrary number of times.
  6. 제1항에 있어서, 상기 제2벡터는, The method of claim 1, wherein the second vector is:
    상기 소스 장치의 폭, 길이, 및 온도에 대한 데이터를 압축하여 표현되는 뉴럴 컴팩트 모델링 방법.A neural compact modeling method expressed by compressing data on the width, length, and temperature of the source device.
  7. 제1항에 있어서, 상기 제2벡터는, The method of claim 1, wherein the second vector is:
    상기 제2전압 데이터 세트를 상기 소스 장치의 폭, 길이, 및 온도에 대한 데이터로 매핑하는 함수인 뉴럴 컴팩트 모델링 방법.A neural compact modeling method that is a function that maps the second voltage data set to data about the width, length, and temperature of the source device.
  8. 제1항에 있어서, 상기 제2전압 데이터 세트는, The method of claim 1, wherein the second voltage data set is:
    드레인-소스 전압, 게이트-소스 전압, 및 벌크-소스 전압인 뉴럴 컴팩트 모델링 방법.Neural compact modeling method: drain-source voltage, gate-source voltage, and bulk-source voltage.
  9. 제1항에 있어서, 상기 제2벡터를 추출하는 동작을 수행하는 과정에서 상기 인코더의 파라미터들과 상기 디코더의 파라미터들은 업데이트되지 않는 뉴럴 컴팩트 모델링 방법.The neural compact modeling method of claim 1, wherein the encoder parameters and the decoder parameters are not updated during the process of extracting the second vector.
  10. 제1항에 있어서, 상기 제3벡터를 생성하는 단계는, The method of claim 1, wherein generating the third vector comprises:
    상기 제3전압 데이터 세트를 상기 훈련된 인코더의 제1신경망에 적용하여 제3초기 벡터를 생성하는 단계; generating a third initial vector by applying the third voltage data set to the first neural network of the trained encoder;
    상기 제4전압 데이터 세트를 상기 훈련된 인코더의 제1신경망에 적용하여 제4초기 벡터를 생성하는 단계;generating a fourth initial vector by applying the fourth voltage data set to a first neural network of the trained encoder;
    상기 제3전류, 상기 제3전압 데이터 세트, 및 상기 제3초기 벡터를 상기 훈련된 인코더의 제2신경망에 적용하여 상기 제3벡터의 업데이트 값을 출력하는 단계; applying the third current, the third voltage data set, and the third initial vector to a second neural network of the trained encoder to output an update value of the third vector;
    상기 제3벡터의 업데이트 값으로 상기 제4초기 벡터의 업데이트 값을 설정하여 제4벡터의 업데이트 값을 출력하는 단계; 및 Setting the update value of the fourth initial vector as the update value of the third vector and outputting the update value of the fourth vector; and
    상기 제3벡터의 업데이트 값과 상기 제3전압 데이터 세트를 상기 훈련된 인코더의 제3신경망에 적용하여 상기 제3초기 벡터를 업데이트하고 업데이트된 제3벡터를 출력하는 단계를 포함하는 뉴럴 컴팩트 모델링 방법.A neural compact modeling method comprising applying the update value of the third vector and the third voltage data set to a third neural network of the trained encoder to update the third initial vector and output the updated third vector. .
  11. 제10항에 있어서, 상기 제4전류를 추정하는 단계는, The method of claim 10, wherein the step of estimating the fourth current is,
    상기 제3전압 데이터 세트, 상기 제4전압 데이터 세트, 및 상기 제3벡터를 이용하여 업데이트된 제4벡터를 출력하는 단계; 및outputting an updated fourth vector using the third voltage data set, the fourth voltage data set, and the third vector; and
    상기 업데이트된 제4벡터를 상기 훈련된 디코더에 적용하여 상기 타겟 장치의 제4전압 데이터 세트에 대한 제4전류를 추정하는 단계를 포함하는 뉴럴 컴팩트 모델링 방법.A neural compact modeling method comprising estimating a fourth current for the fourth voltage data set of the target device by applying the updated fourth vector to the trained decoder.
  12. 명령들을 저장하는 메모리; 및 memory to store instructions; and
    상기 명령들을 실행하는 프로세서를 포함하며, It includes a processor that executes the instructions,
    상기 명령들은, The above commands are:
    소스 장치의 제1전압 데이터 세트와 제1전류를 인코더에 적용하여 추출된 제1벡터에 따라 상기 소스 장치의 제2전압 데이터 세트에 대한 제2벡터를 추출하며, Applying the first voltage data set and the first current of the source device to the encoder to extract a second vector for the second voltage data set of the source device according to the extracted first vector,
    상기 제2벡터와 상기 제2전압 데이터 세트를 디코더에 적용하여 출력되는 제2전류와 그라운드 트루를 비교하여 상기 인코더와 상기 디코더를 훈련하며, Train the encoder and the decoder by applying the second vector and the second voltage data set to the decoder and comparing the second current and ground true output,
    타겟 장치의 제3전압 데이터 세트, 제3전류, 및 상기 훈련된 인코더를 이용하여 제3벡터를 생성하며, Generate a third vector using the third voltage data set of the target device, the third current, and the trained encoder,
    상기 제3벡터, 상기 훈련된 인코더, 및 상기 훈련된 디코더를 이용하여 상기 타겟 장치의 제4전압 데이터 세트에 대한 제4전류를 추정하도록 구현되는 컴퓨팅 장치. A computing device configured to estimate a fourth current for a fourth voltage data set of the target device using the third vector, the trained encoder, and the trained decoder.
  13. 제12항에 있어서, 상기 인코더는, The method of claim 12, wherein the encoder:
    상기 제1벡터, 또는 상기 제2벡터의 초기 벡터를 생성하는 초기 벡터 생성 모듈; an initial vector generation module that generates an initial vector of the first vector or the second vector;
    상기 제1전압 데이터 세트, 상기 제1벡터, 및 상기 제1전류를 비교하여 상기 제1벡터의 업데이트 값을 출력하는 업데이터 모듈; 및an updater module that compares the first voltage data set, the first vector, and the first current and outputs an updated value of the first vector; and
    상기 제1전압 데이터 세트와 상기 제2전압 데이터 세트를 비교하여 상기 제1벡터의 업데이트 값으로부터 업데이트된 제2벡터를 출력하는 어텐션 모듈을 포함하는 컴퓨팅 장치. A computing device comprising an attention module that compares the first voltage data set and the second voltage data set and outputs a second vector updated from the update value of the first vector.
  14. 제12항에 있어서, 상기 제2벡터는, The method of claim 12, wherein the second vector is:
    상기 소스 장치의 폭, 길이, 및 온도에 대한 데이터를 압축하여 표현되는 컴퓨팅 장치. A computing device expressed by compressing data about the width, length, and temperature of the source device.
  15. 제12항에 있어서, 상기 제2벡터는, The method of claim 12, wherein the second vector is:
    상기 제2전압 데이터 세트를 상기 소스 장치의 폭, 길이, 및 온도에 대한 데이터로 매핑하는 함수인 컴퓨팅 장치. A computing device that maps the second set of voltage data to data for width, length, and temperature of the source device.
  16. 제12항에 있어서, 상기 제2전압 데이터 세트는, The method of claim 12, wherein the second voltage data set is:
    드레인-소스 전압, 게이트-소스 전압, 및 벌크-소스 전압인 컴퓨팅 장치. A computing device that is a drain-to-source voltage, a gate-to-source voltage, and a bulk-to-source voltage.
  17. 제12항에 있어서, 상기 제2벡터를 추출하는 동작을 수행하는 과정에서 상기 인코더의 파라미터들과 상기 디코더의 파라미터들은 업데이트되지 않는 컴퓨팅 장치. The computing device of claim 12, wherein the encoder parameters and the decoder parameters are not updated during the process of extracting the second vector.
  18. 제12항에 있어서, 상기 제3벡터를 생성하는 명령들은,The method of claim 12, wherein the instructions for generating the third vector are:
    상기 제3전압 데이터 세트를 상기 훈련된 인코더의 제1신경망에 적용하여 제3초기 벡터를 생성하며,Applying the third voltage data set to the first neural network of the trained encoder to generate a third initial vector,
    상기 제4전압 데이터 세트를 상기 훈련된 인코더의 제1신경망에 적용하여 제4초기 벡터를 생성하며,Applying the fourth voltage data set to the first neural network of the trained encoder to generate a fourth initial vector,
    상기 제3전류, 상기 제3전압 데이터 세트, 및 상기 제3초기 벡터를 상기 훈련된 인코더의 제2신경망에 적용하여 상기 제3벡터의 업데이트 값을 출력하며,Applying the third current, the third voltage data set, and the third initial vector to a second neural network of the trained encoder to output an update value of the third vector,
    상기 제3벡터의 업데이트 값으로 상기 제4초기 벡터의 업데이트 값을 설정하여 제4벡터의 업데이트 값을 출력하며,Setting the update value of the fourth initial vector to the update value of the third vector and outputting the update value of the fourth vector,
    상기 제3벡터의 업데이트 값과 상기 제3전압 데이터 세트를 상기 훈련된 인코더의 제3신경망에 적용하여 상기 제3초기 벡터를 업데이트하고 업데이트된 제3벡터를 출력하도록 구현되는 컴퓨팅 장치. A computing device implemented to update the third initial vector and output an updated third vector by applying the update value of the third vector and the third voltage data set to a third neural network of the trained encoder.
  19. 제18항에 있어서, 상기 제4전류를 추정하는 명령들은, The method of claim 18, wherein the instructions for estimating the fourth current are:
    상기 제3전압 데이터 세트, 상기 제4전압 데이터 세트, 및 상기 제3벡터를 이용하여 업데이트된 제4벡터를 출력하며,Outputting an updated fourth vector using the third voltage data set, the fourth voltage data set, and the third vector,
    상기 업데이트된 제4벡터를 상기 훈련된 디코더에 적용하여 상기 타겟 장치의 제4전압 데이터 세트에 대한 제4전류를 추정하도록 구현되는 컴퓨팅 장치. A computing device configured to estimate a fourth current for the fourth voltage data set of the target device by applying the updated fourth vector to the trained decoder.
PCT/KR2022/019333 2022-09-27 2022-12-01 Neural compact modeling method and computing device WO2024071517A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220122541A KR102579974B1 (en) 2022-09-27 2022-09-27 Neural compact modeling method and computing device
KR10-2022-0122541 2022-09-27

Publications (1)

Publication Number Publication Date
WO2024071517A1 true WO2024071517A1 (en) 2024-04-04

Family

ID=88196416

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/019333 WO2024071517A1 (en) 2022-09-27 2022-12-01 Neural compact modeling method and computing device

Country Status (2)

Country Link
KR (1) KR102579974B1 (en)
WO (1) WO2024071517A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200071876A (en) * 2018-12-06 2020-06-22 주식회사 씨에스앤씨 System for predicting product failure in process and a method for generating learning model for failure prediction
US20200293064A1 (en) * 2019-03-15 2020-09-17 Nvidia Corporation Temporal information prediction in autonomous machine applications
US20200364548A1 (en) * 2017-11-20 2020-11-19 The Regents Of The University Of California Memristive neural network computing engine using cmos-compatible charge-trap-transistor (ctt)
KR20210003596A (en) * 2019-07-02 2021-01-12 성균관대학교산학협력단 Apparatus and method for estimating aging condition of battery
KR20220124900A (en) * 2021-03-04 2022-09-14 한국에너지기술연구원 Battery state estimation apparatus and battery state estimation model learning apparatus

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102285516B1 (en) 2021-02-05 2021-08-04 주식회사 알세미 Semiconductor device modeling method and system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200364548A1 (en) * 2017-11-20 2020-11-19 The Regents Of The University Of California Memristive neural network computing engine using cmos-compatible charge-trap-transistor (ctt)
KR20200071876A (en) * 2018-12-06 2020-06-22 주식회사 씨에스앤씨 System for predicting product failure in process and a method for generating learning model for failure prediction
US20200293064A1 (en) * 2019-03-15 2020-09-17 Nvidia Corporation Temporal information prediction in autonomous machine applications
KR20210003596A (en) * 2019-07-02 2021-01-12 성균관대학교산학협력단 Apparatus and method for estimating aging condition of battery
KR20220124900A (en) * 2021-03-04 2022-09-14 한국에너지기술연구원 Battery state estimation apparatus and battery state estimation model learning apparatus

Also Published As

Publication number Publication date
KR102579974B1 (en) 2023-09-19

Similar Documents

Publication Publication Date Title
WO2020119069A1 (en) Text generation method and device based on self-coding neural network, and terminal and medium
WO2016125949A1 (en) Automatic document summarizing method and server
WO2020164267A1 (en) Text classification model construction method and apparatus, and terminal and storage medium
WO2020107761A1 (en) Advertising copy processing method, apparatus and device, and computer-readable storage medium
WO2018058959A1 (en) Sql auditing method and apparatus, server and storage device
WO2020107762A1 (en) Ctr estimation method and device, and computer readable storage medium
WO2020111314A1 (en) Conceptual graph-based query-response apparatus and method
WO2012026679A2 (en) Power consumption prediction method for clock-gating integrated circuit device
WO2022050719A1 (en) Method and device for determining dementia level of user
WO2020233089A1 (en) Test case generating method and apparatus, terminal, and computer readable storage medium
WO2024071517A1 (en) Neural compact modeling method and computing device
WO2016178468A1 (en) Method, system, and non-transitory computer readable recording medium for providing learning information
WO2022146050A1 (en) Federated artificial intelligence training method and system for depression diagnosis
US7885798B2 (en) Closed-loop modeling of gate leakage for fast simulators
Kondo et al. Model-adaptable MOSFET parameter-extraction method using an intermediate model
WO2022163996A1 (en) Device for predicting drug-target interaction by using self-attention-based deep neural network model, and method therefor
WO2019240345A1 (en) Method and apparatus for static timing analysis in ntv domain
WO2022250211A1 (en) Calculation method for increasing resolution of integer type data, and apparatus applying same
WO2020209487A1 (en) Artificial neural network-based place recognition device and learning device thereof
WO2020071666A1 (en) Method for generating chatbot statements by using frequency table
WO2016093407A1 (en) Clinical decision support system and method for evidence adaption using external resources
WO2024019224A1 (en) Method for processing structured data and unstructured data in database, and data processing platform for providing method
WO2022191379A1 (en) Text-based relation extraction method and device
WO2023014124A1 (en) Method and apparatus for quantizing neural network parameter
WO2023075248A1 (en) Device and method for automatically removing background sound source of video