WO2021225256A1 - 전자 장치 및 이의 제어 방법 - Google Patents

전자 장치 및 이의 제어 방법 Download PDF

Info

Publication number
WO2021225256A1
WO2021225256A1 PCT/KR2021/001752 KR2021001752W WO2021225256A1 WO 2021225256 A1 WO2021225256 A1 WO 2021225256A1 KR 2021001752 W KR2021001752 W KR 2021001752W WO 2021225256 A1 WO2021225256 A1 WO 2021225256A1
Authority
WO
WIPO (PCT)
Prior art keywords
artificial intelligence
intelligence model
training data
model
processor
Prior art date
Application number
PCT/KR2021/001752
Other languages
English (en)
French (fr)
Inventor
여진수
이영윤
유영천
이재출
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to CN202180033130.3A priority Critical patent/CN115552416A/zh
Priority to EP21800775.5A priority patent/EP4068162A4/en
Priority to US17/505,259 priority patent/US20220036152A1/en
Publication of WO2021225256A1 publication Critical patent/WO2021225256A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • 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
    • G06N3/045Combinations of networks
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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
    • G06N3/0985Hyperparameter optimisation; Meta-learning; Learning-to-learn
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound
    • H03M7/702Software
    • 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
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • 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
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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
    • G06N3/09Supervised learning
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound

Definitions

  • the present disclosure relates to an electronic device and a control method thereof, and more particularly, to an electronic device including an artificial intelligence model and a control method thereof.
  • the artificial intelligence system is a system in which a machine learns and judges by itself, and is used in various fields such as voice recognition, image recognition, and future prediction.
  • a deep neural network is a neural network that includes a number of hidden layers between an input layer and an output layer. it means.
  • a deep neural network generally includes a plurality of neurons (or nodes) in order to derive an accurate result value.
  • the present disclosure is to solve the above-described problems, and an object of the present disclosure is to generate a compressed artificial intelligence model based on an artificial intelligence model included in an electronic device, and calculate an input value using the generated compressed artificial intelligence model It is to provide an electronic device that efficiently utilizes resources by performing the
  • a method of controlling an electronic device includes selecting a general-purpose artificial intelligence model, generating a reduced artificial intelligence model based on the selected general-purpose artificial intelligence model, and based on the generated reduced artificial intelligence model to generate a dedicated artificial intelligence model, wherein the generating of the reduced artificial intelligence model includes obtaining a rank of a Singular Value Decomposition (SVD) algorithm based on a reduction rate, and the selected general purpose based on the obtained rank.
  • Singular Value Decomposition Singular Value Decomposition
  • the artificial intelligence model is reduced and trained to transform it into the reduced artificial intelligence model, and the performance of the transformed reduced artificial intelligence model is determined based on a preset first threshold value, and the performance of the transformed reduced artificial intelligence model is the When it is less than a preset first threshold, the step of generating the dedicated artificial intelligence model is performed.
  • an electronic device includes a memory and a processor storing first learning data and a general purpose artificial intelligence model learned by the first learning data, wherein the processor is the learned general purpose artificial intelligence model.
  • Select an artificial intelligence model obtain a rank of a SVD (Singular Value Decomposition) algorithm based on the reduction rate, and reduce and train the selected general-purpose artificial intelligence model based on the obtained rank to convert it into the reduced artificial intelligence model, , determines the performance of the transformed reduced artificial intelligence model based on a preset first threshold value, and generates a dedicated artificial intelligence model when the performance of the transformed reduced artificial intelligence model is less than the preset first threshold value.
  • SVD Single Value Decomposition
  • FIG. 1 is a view for explaining an electronic device according to an embodiment of the present disclosure
  • FIG. 2 is a block diagram illustrating a configuration of an electronic device according to various embodiments of the present disclosure
  • 3A is a diagram for explaining artificial intelligence model compression using an SVD algorithm according to an embodiment of the present disclosure
  • 3B is a diagram for explaining artificial intelligence model compression using an SVD algorithm according to an embodiment of the present disclosure
  • FIG. 4 is a flowchart illustrating an operation of an electronic device according to an embodiment of the present disclosure
  • FIG. 5 is a view for explaining a plurality of dedicated artificial intelligence models generated from a training data set and one AI model reconstructed from training data according to an embodiment of the present disclosure
  • FIG. 6 is a diagram for explaining information about a dedicated artificial intelligence model and information about a learning data set stored in a memory
  • FIG. 7A is a flowchart illustrating an electronic device that performs a calculation using a dedicated artificial intelligence model according to an embodiment of the present disclosure
  • FIG. 7B is a flowchart illustrating an electronic device that performs a calculation using a dedicated artificial intelligence model according to an embodiment of the present disclosure
  • FIG. 8 is a view for explaining an electronic device for generating a plurality of dedicated artificial intelligence models from an artificial intelligence model according to an embodiment of the present disclosure
  • 9A is a view for explaining an electronic device for learning a dedicated artificial intelligence model using target data according to an embodiment of the present disclosure
  • 9B is a view for explaining an electronic device for learning a dedicated artificial intelligence model using target data according to an embodiment of the present disclosure
  • FIG. 10 is a view for explaining an electronic device for learning a dedicated artificial intelligence model based on test data according to an embodiment of the present disclosure
  • FIG. 11 is a view for explaining an electronic device for learning a dedicated artificial intelligence model based on a user input according to an embodiment of the present disclosure
  • FIG. 12 is a flowchart illustrating a method of controlling an electronic device according to various embodiments of the present disclosure.
  • expressions such as “have,” “may have,” “include,” or “may include” indicate the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features.
  • expressions such as “A or B,” “at least one of A and/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together.
  • “A or B,” “at least one of A and B,” or “at least one of A or B” means (1) includes at least one A, (2) includes at least one B; Or (3) it may refer to all cases including both at least one A and at least one B.
  • a component eg, a first component is "coupled with/to (operatively or communicatively)" to another component (eg, a second component)
  • another component eg, a second component
  • the certain element may be directly connected to the other element or may be connected through another element (eg, a third element).
  • a component eg, a first component
  • another component eg, a second component
  • a device configured to may mean that the device is “capable of” with other devices or parts.
  • a coprocessor configured (or configured to perform) A, B, and C may include a processor dedicated to performing the operations (eg, an embedded processor), or executing one or more software programs stored in a memory device. By doing so, it may mean a generic-purpose processor (eg, a central processing unit (CPU) or an application processor) capable of performing corresponding operations.
  • the term user may refer to a person who uses an electronic device or a device (eg, an artificial intelligence electronic device) using the electronic device.
  • a device eg, an artificial intelligence electronic device
  • the electronic device of the present disclosure may include an artificial intelligence learning model.
  • FIG. 1 is a diagram schematically illustrating that an electronic device according to the present disclosure generates artificial intelligence models of various sizes from one artificial intelligence model.
  • An electronic device is a device that provides output data for input data using an artificial intelligence model (or artificial neural network model).
  • An electronic device may be, for example, a smartphone, a tablet PC, a mobile phone, a video phone, an e-book reader, a desktop PC, a laptop PC, a netbook computer, a workstation, a server, a PDA, a PMP. It may include at least one of a portable multimedia player, an MP3 player, a kiosk, a medical device, a camera, and a wearable device.
  • a wearable device may be an accessory (e.g., watch, ring, bracelet, anklet, necklace, glasses, contact lens, or head-mounted-device (HMD)); It may include at least one of a body-attached (eg, skin pad) or bio-implantable circuit
  • the electronic device may include, for example, a television, a digital video disk (DVD) player, an audio, At least one of a refrigerator, air conditioner, vacuum cleaner, oven, microwave oven, washing machine, air purifier, set-top box, home automation control panel, security control panel, media box, game console, electronic dictionary, electronic key, camcorder, or electronic picture frame.
  • the present invention is not limited thereto, and the electronic device may be any device capable of calculating a neural network model.
  • the artificial intelligence model may be an artificial intelligence model including an artificial neural network learned through machine learning (or machine learning) or deep learning.
  • the artificial intelligence model may be composed of a plurality of neural network layers. Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed through an operation between an operation result of a previous layer and a plurality of weight values.
  • the plurality of weights of the plurality of neural network layers may be optimized by the learning result of the artificial intelligence model. For example, a plurality of weights may be updated so that a loss value or a cost value obtained from the artificial intelligence model during the learning process is reduced or minimized.
  • the artificial neural network may include a deep neural network (DNN), for example, a Convolutional Neural Network (CNN), a Deep Neural Network (DNN), a Recurrent Neural Network (RNN), a Restricted Boltzmann Machine (RBM), There may be a Deep Belief Network (DBN), a Bidirectional Recurrent Deep Neural Network (BRDNN), or a Deep Q-Networks, but is not limited to the above-described example.
  • DNN Deep Neural Network
  • DNN Deep Belief Network
  • BBDNN Bidirectional Recurrent Deep Neural Network
  • Deep Q-Networks Deep Q-Networks
  • One artificial intelligence model may be stored in the electronic device (S110).
  • the artificial intelligence model may be a general-purpose artificial intelligence model 10 learned by various learning data.
  • the general-purpose artificial intelligence model 10 may be a model learned in an electronic device or a model learned in an external server (not shown) and stored in the electronic device.
  • the general-purpose artificial intelligence model 10 may be an artificial intelligence model trained with various types of learning data to be used in various devices or in various environments. That is, the general-purpose artificial intelligence model 10 may be an artificial intelligence model trained to perform various operations ranging from simple operations to complex operations.
  • a general-purpose artificial intelligence model receives voice data for commands such as inference, search, and recommendation from a smart phone as well as voice data for simple control commands from speakers, refrigerators, and air conditioners, and adds them to the voice data. It can represent a trained model to provide output data for
  • a general-purpose artificial intelligence model may represent a model learned to not only simply recognize an object, but also understand a space or atmosphere through the object. Meanwhile, this is only an example, and the size or shape of the general-purpose artificial intelligence model may vary according to technical fields or learning data.
  • the general-purpose artificial intelligence model 10 has the advantage of being able to provide output values for various input values as much as it is learned using various data, but has a large size and many resources (eg, memory) when performing operations on input values. , CPU, GPU, etc.). Therefore, the purpose of the electronic device according to the present disclosure is to generate compressed artificial intelligence models 20 and 30 of various sizes that are smaller than the general-purpose artificial intelligence model 10 and maintain the same performance as the general-purpose artificial intelligence model. have.
  • the electronic device may compress the artificial intelligence model (S120). Specifically, the electronic device may repeatedly compress the general-purpose AI model 10 to generate a compressed AI model such as the A-only AI model 20 or the B-only AI model 30 .
  • a dedicated artificial intelligence model is a concept corresponding to a general-purpose artificial intelligence model, and represents an artificial intelligence model trained to be used in a specific device or environment.
  • an artificial intelligence model trained to provide output data by receiving voice data for simple control commands from an air conditioner as input data, or learning to provide output data by receiving voice data uttered in a quiet environment as input data It may be an artificial intelligence model.
  • compressing the artificial intelligence model means reducing the size of the artificial neural network included in the artificial intelligence model, specifically, the connection between the plurality of nodes included in the layer of the artificial neural network (weight connection) and It means reducing the size of related data.
  • the first layer and the second layer in the AI model each include 4 nodes, and 16 connections exist between the first layer and the second layer.
  • the electronic device adds a third layer having one node between the first layer and the second layer to establish eight connections between the first layer and the second layer (four between the first layer and the third layer, and the third layer 4) between the layer and the second layer), so that the AI model can be compressed.
  • the electronic device may compress the artificial intelligence model by reducing the number of nodes included in the first layer or the second layer.
  • the electronic device may compress the artificial intelligence model by reducing the number of bits of data representing connections between a plurality of nodes included in the artificial intelligence model.
  • the electronic device may compress the artificial intelligence model by reducing the size of data related to the connection between a plurality of nodes included in the neural network in various ways. A specific compression process of the artificial intelligence model will be described in detail with reference to FIG. 2 .
  • the electronic device may repeatedly compress the general-purpose artificial intelligence model 10 based on the performance of the compressed artificial intelligence model 10 based on the general-purpose artificial intelligence model 10 .
  • the performance of the artificial intelligence model represents the number of cases in which an output value for an input value as a test result of the learned artificial intelligence model matches or approaches a target value.
  • the electronic device may train and test the compressed artificial intelligence model.
  • the electronic device may repeatedly compress the artificial intelligence model until the performance of the learned artificial intelligence model is within a preset range.
  • the electronic device may repeatedly compress the AI model until the performance of the compressed AI model is 79% or more and 82% or less based on the general-purpose AI model.
  • this is an embodiment, and the electronic device may repeatedly compress the AI model until the performance of the AI model becomes less than or equal to a preset threshold (eg, 82%).
  • the electronic device may reconstruct the training data set after compression until the performance of the compressed artificial intelligence model becomes the preset performance ( S120 ).
  • the electronic device may further compress the performance of the compressed artificial intelligence model by the compression process even after it reaches a preset range (or less than or equal to a preset threshold value).
  • the training data set can be reconstructed to improve it.
  • the electronic device classifies the training data obtained by learning the general-purpose artificial intelligence model 10 based on a preset rule into a plurality of data sets, and selects and learns at least one data set from among the plurality of classified data sets. Data sets can be reconstructed. The reconstruction of the training data set will be described in detail with reference to FIG. 2 .
  • the electronic device 100 may train the additionally compressed artificial intelligence model by using the training data set reconstructed from the training data according to a preset rule.
  • the additionally compressed artificial intelligence model may be a dedicated artificial intelligence model 20 or 30 in that it is learned as a training data set corresponding to a part of the training data obtained by training the general-purpose AI model.
  • the artificial intelligence model learned using the reconstructed training data set A may be the AI model 20 dedicated to A.
  • the reconstructed training data set is the voice data used in the TV selected from the initial training data.
  • the artificial intelligence model trained by the reconstructed training data set can be a TV-based voice recognition model.
  • the dedicated AI model may be smaller than the general-purpose AI model in that it is a compressed model of the general-purpose AI model.
  • the size of the data related to the connection between the plurality of nodes included in the dedicated AI model may be smaller than the size of the data related to the connection between the plurality of nodes included in the general-purpose AI model.
  • the electronic device 100 may store the A-only AI model in the electronic device (S110).
  • the electronic device 100 may continuously compress and train the A-only AI model 20 while checking the performance of the A-only AI model.
  • the electronic device may reconstruct the data set from the training data based on a preset rule to generate the data set B, and It can be used to train the B-only artificial intelligence model 30 .
  • the electronic device may store the learned B-only AI model 30 in the electronic device. A description of this overlaps with the above-described compression and data set reconstruction of the general-purpose artificial intelligence model, and thus a detailed description thereof will be omitted.
  • the electronic device 100 may generate dedicated AI models of various sizes and uses while repeatedly performing compression of the initial general-purpose AI model and reconstruction of the training data set.
  • the generated artificial intelligence models of various sizes may exhibit a certain level of performance in that they are learned by a data set selected according to a preset rule.
  • the electronic device 100 includes a memory 110 and a processor 120 . Functions related to artificial intelligence according to the present disclosure are operated through the processor 120 and the memory 110 .
  • the memory 110 is a configuration for storing an operating system (OS) for controlling overall operations of the components of the electronic device 100 and at least one instruction or data related to the components of the electronic device 100 .
  • OS operating system
  • An instruction means one action statement that can be directly executed by the processor 120 in a programming language, and is a minimum unit for program execution or operation.
  • the processor 120 may perform operations according to various embodiments to be described later by executing at least one instruction stored in the memory 110 .
  • the memory 110 is a component for storing various programs and data necessary for the operation of the electronic device 100 .
  • the memory 110 may be implemented as a non-volatile memory, a volatile memory, a flash-memory, a hard disk drive (HDD), or a solid state drive (SSD).
  • the memory 110 is accessed by the processor 120 , and reading/writing/modification/deletion/update of data by the processor 120 may be performed.
  • the term "memory” refers to the memory 110, a ROM (not shown) in the processor 120, a RAM (not shown), or a memory card (not shown) mounted in the electronic device 100 (eg, micro SD). card, memory stick).
  • the memory 110 may store information about an artificial intelligence model including a plurality of layers.
  • the artificial intelligence model stored in the memory 110 may be a general-purpose artificial intelligence model or a dedicated artificial intelligence model compressed with the general-purpose artificial intelligence model.
  • the memory 110 may store compression parameter information of a general-purpose artificial intelligence model, a dedicated artificial intelligence model, or a dedicated artificial intelligence model.
  • the memory 110 may store training data for learning a general-purpose artificial intelligence model.
  • the memory 110 may store information about a training data set in which a dedicated artificial intelligence model is trained.
  • information about the training data set and the dedicated artificial intelligence model learned by the training data set may be stored in the memory 110 in correspondence with each other.
  • the memory 110 may store a rule (rule) for selecting a training data set to train a dedicated artificial intelligence model from the training data.
  • the memory 110 may store the artificial intelligence model compression module 111 for compressing the artificial intelligence model and the learning data reconstruction module 112 for reconstructing the learning data according to the artificial intelligence model compression.
  • the artificial intelligence model compression module 111 may compress a general-purpose artificial intelligence model or a dedicated artificial intelligence model stored in the memory 110 to generate and provide another dedicated artificial intelligence model.
  • the AI model compression module 111 may generate a dedicated AI model by compressing the AI model using a data compression algorithm.
  • the AI model compression module 111 may apply different compression algorithms to each layer of the AI model.
  • the AI model compression module 111 compresses the AI model using data compression algorithms such as Matrix Factorization, Non-negative Matrix Factorization, Singular Value Decomposition, and Low Rank Approximation algorithms such as Eigen Value Decomposition, Pruning algorithms, and Quantization algorithms. can do.
  • data compression algorithms such as Matrix Factorization, Non-negative Matrix Factorization, Singular Value Decomposition, and Low Rank Approximation algorithms such as Eigen Value Decomposition, Pruning algorithms, and Quantization algorithms. can do.
  • the SVD algorithm is an algorithm for reducing the size of a matrix by decomposing a matrix into a specific structure.
  • the SVD algorithm can decompose the matrix M by expressing the matrix M as a product of matrices U, ⁇ , V * as shown below.
  • M is a matrix with size mxn
  • U is an orthogonal matrix (unitary matrix) with size mxm
  • V is an orthogonal matrix with size nxn (unitary matrix)
  • V * is the conjugate transpose matrix of V .
  • is a diagonal matrix having an mxn size, and the values of the elements on the diagonal are not negative and the values of the remaining elements are all 0.
  • M is a matrix corresponding to weight data included in one layer of the artificial neural network, and one layer may include at least one M.
  • the artificial intelligence model compression module 111 may perform compression by representing M corresponding to weight data included in one layer as a product of U, ⁇ , and V * in a plurality of matrices.
  • the AI model compression module 121 may sequentially compress the AI model while changing the rank value.
  • the artificial intelligence model compression module 111 may determine ⁇ according to the input rank value.
  • rank is a parameter that determines the compression ratio of the AI model, and rank indicates the number of non-zero elements among the elements of ⁇ .
  • the artificial intelligence model compression module 121 may exclude only large rank elements among non-negative values in the elements of ⁇ , and set the remaining elements to 0.
  • the artificial intelligence model compression module 121 may determine ⁇ by setting the remaining values to 0 except for only the top 64 elements having a large size among non-negative values included in ⁇ . In this case, the size of ⁇ may be 64 x 64.
  • the artificial intelligence model compression module 111 may determine the sizes of U and V * based on the size of ⁇ .
  • FIG. 3A is a diagram for explaining in more detail the SVD algorithm for determining the sizes of U and V * based on the magnitude of ⁇ .
  • M is a matrix of size 1536 x 1536 and rank is 256 (case 1)
  • the size of ⁇ is 256 x 256
  • the size of U is 1536 x It can be 256 and the size of V * can be 256 x 1536.
  • M is a matrix of size 1536 x 1536 and rank is 128 (case 2), as described above, the size of ⁇ is 128 x 128, the size of U can be 1536 x 128, and the size of V * The size can be 128 x 1536.
  • FIG. 3A it is illustrated that several compression matrices are generated according to the rank value in the matrix M, but the present invention is not limited thereto.
  • the compression matrix may be generated by reapplying the SVD algorithm to the compression matrix compressed using the SVD algorithm. For example, a compression matrix having a rank value of 128 may be generated by applying the SVD algorithm to a compression matrix compressed to a rank value of 256.
  • the AI model compression module 111 may sequentially and repeatedly compress the AI model while changing the rank value of the SVD algorithm.
  • the AI model compression module 121 may sequentially and repeatedly reduce the size of the AI model while sequentially decreasing the value of rank.
  • FIG. 3A illustrates only a case where compression is performed on one matrix M
  • the AI model compression module 111 may perform compression on a plurality of M included in one layer.
  • FIG. 3B is a diagram for explaining a case in which compression is performed on a plurality of matrices M.
  • one layer included in the AI model may include at least one M.
  • Figure 3b of M a1, M a2, M a3 , M a4, M b1, M b2, M b3, b4, and M represents an M contained in a single artificial intelligence model layer.
  • description of ⁇ is omitted for convenience.
  • the artificial intelligence model compression module 111 may compress the artificial intelligence model by applying the SVD algorithm to one M as described above with reference to FIG. 3A (case 1).
  • the size of U may be 1024 x 256
  • the size of V may be 256 x 1024.
  • the artificial intelligence model compression module 111 may apply the SVD algorithm by combining a plurality of matrices.
  • the artificial intelligence model compression module 111 may select a plurality of Ms to which the SVD algorithm is to be applied from among a plurality of Ms included in one layer based on the characteristics of M.
  • the compression module 111 may M a1, M a2, M a3, M a4, M b1, M b2, M b3, and M b4 of M a1, M a2, M a3 and M a4 are common features the determination to have to apply the SVD algorithm combination (M a) the M a1, M a2, M a3 and M a4, and M b1, M b2, M b3, and M b4 is determined to have a common characteristic M
  • the SVD algorithm can be applied by combining b1 , M b2 , M b3 , and M b4 (M b ) (case 2).
  • the artificial intelligence model compression module 111 applies the SVD algorithm to each of Ma and M b having a size of 4096 x 1024.
  • the artificial intelligence model compression module 111 may generate U of 1024 x 256 size and V of 256 x 1024 size for each M.
  • the AI model compression module 111 is shown as a combination of (M a1 , M a2 , Ma3 and M a4 ) and (M b1 , M b2 , M b3 , and M b4 ). It is not limited, and the artificial intelligence model compression module 111 may combine a plurality of M in various forms. For example, the AI model compression module 111 combines Ma1 , Ma2 , M b1 and M b2 into one M, and combines Ma3 , Ma4 , M b3 , and M b4 into another M Of course you can.
  • the artificial intelligence model compression module 111 may compress the artificial intelligence model while changing the rank for one matrix M ( FIG. 3a ), or compress the artificial intelligence model by varying the sizes of a plurality of Ms to be combined. There is (Fig. 3b).
  • the AI model compression module 111 may determine a compression parameter for the AI model, and compress and train the AI model according to the determined compression parameter.
  • the AI model compression module 111 includes a 'layer compression parameter' for each layer of the AI model, a 'unit compression parameter' indicating the compression order of each layer, a 'compression method parameter' indicating a compression method, and a compression rate It is possible to determine a 'compression rate parameter' representing
  • the 'layer compression parameter' may include a 'unit compression parameter'
  • the 'unit compression parameter' may include a 'compression method parameter' and a 'compression rate parameter'.
  • the Low Rank Approximation algorithm such as Matrix Factorization, Non-negative Matrix Factorization, Singular Value Decomposition, and Eigen Value Decomposition is a rank or information about at least one M combined among a plurality of M included in one layer.
  • the pruning algorithm the pruning ratio, pruning structure, or pruning unit can be the compression ratio parameters.
  • the quantization method linear, non-linear, vector quantization, lattice quantization, etc.
  • the number of quantized bits can be the compression ratio parameter. have.
  • the 'layer compression parameter' is The third layer, the 'unit compression parameter' may be 1, the compression method parameter may be SVD, and the compression rate parameter may be 100.
  • the artificial intelligence model compression module 111 decides to compress the first layer using the vector quantization algorithm (number of bits 4) in the second order, the 'layer compression parameter' is the first layer, the 'unit compression parameter' ' may be 2, the compression method parameter may be vector quantization, and the compression rate parameter may be 4.
  • the type and value of the parameter may vary according to the embodiment, which is not necessarily limited thereto.
  • each parameter may be a separate parameter and may be parallel data.
  • the artificial intelligence model compression module 111 may train the artificial intelligence model generated after performing compression on the artificial intelligence model. Specifically, the AI model compression module 111 may train the compressed AI model using training data or a training data set reconstructed from the training data.
  • the artificial intelligence model compression module 111 may determine whether to further compress the artificial intelligence model. Specifically, the artificial intelligence model compression module 111 may test the learned artificial intelligence model using the test data to determine the performance of the artificial intelligence model, and determine whether to further compress the artificial intelligence model.
  • the artificial intelligence model compression module 111 may additionally perform compression on the artificial intelligence model when the performance of the compressed artificial intelligence model is equal to or greater than a preset value (eg, a second threshold value).
  • a preset value eg, a second threshold value
  • the artificial intelligence model compression module 111 may stop compressing the artificial intelligence model.
  • the criterion of artificial intelligence model performance is only one embodiment, and the artificial intelligence model compression module 111 may stop compressing the artificial intelligence model when the artificial intelligence model performance is less than or equal to a preset value.
  • the training data reconstruction module 112 is a module for reconstructing the training data.
  • the learning data reconstruction module 112 is a module for reconstructing the learning data when the performance of the artificial intelligence model is below the threshold and the compression of the artificial intelligence model is stopped.
  • the learning data reconstruction module 112 may reconstruct the learning data using pre-stored rules.
  • the rule means a rule for extracting specific data from the training data learned by the initial artificial intelligence model or the compressed artificial intelligence model.
  • the training data reconstruction module 112 may extract characteristic information of the training data and classify the training data into a plurality of training data sets based on the extracted characteristic information.
  • the feature information of the training data means a feature vector of the training data, and specifically, it may mean that an element having a certain pattern or rule among a plurality of elements included in the training data is represented as a vector.
  • the training data reconstruction module 112 may reconstruct the training data by selecting at least one training data set from among the plurality of classified training data sets. In this case, the training data reconstruction module 112 may reconstruct the training data by selecting a plurality of training data sets having adjacent feature vector values. However, this is an example, and the training data set may combine a plurality of training data sets according to various criteria. For example, the training data reconstruction module 112 may reconfigure the training data by selecting a training data set corresponding to target data input as an input value of an operation (or inference) to the electronic device 100 .
  • the training data reconstruction module 112 may reconstruct the training data set based on a result of testing the compressed artificial intelligence model using the test data.
  • the test data represents data having characteristic information common to the training data but different from the training data.
  • the training data reconstruction module 112 classifies the test data into a plurality of test data sets based on the results of the AI model compression module 111 testing the AI model to determine the performance of the AI model. can do. For example, the training data reconstruction module 112 converts the test data set to the test data set outputting the target value, test data close to the target value, based on whether the artificial intelligence model outputs the target value as the result value for the input value. set, and a test data set that did not reach a target value.
  • the training data reconstruction module 112 may reconstruct the training data using the test data set outputting the target value and the test data set close to the target value, except for the test data set that does not reach the target value. Specifically, the training data reconstruction module 112 may reconfigure the training data set by selecting the training data set corresponding to the test data set outputting the target value and the test data set close to the target value among the training data.
  • the learning data reconstruction module 112 may reconfigure the learning data set based on a user input.
  • the electronic device 100 may receive learning data setting information from the user, and the learning data reconstruction module 112 may reconstruct the learning data set by using the learning data setting information received from the user.
  • the learning data reconstruction module 112 machine translates a term or a short sentence used in the messenger
  • the training data set can be reconstructed by selecting the training data for
  • the learning data reconstruction module 112 may reconstruct the learning data using a pre-stored rule.
  • the processor 120 may be electrically connected to the memory 110 to control overall operations and functions of the electronic device 100 .
  • the processor 120 may control hardware or software components connected to the processor 120 by driving an operating system or an application program, and may perform various data processing and operations.
  • the processor 130 may load and process commands or data received from at least one of the other components into the volatile memory, and store various data in the non-volatile memory.
  • the processor 120 executes a dedicated processor (eg, an embedded processor) or one or more software programs stored in a memory device for performing the corresponding operation, and thus a general-purpose processor (eg, CPU (Central) Processing Unit) or application processor).
  • a dedicated processor eg, an embedded processor
  • a general-purpose processor eg, CPU (Central) Processing Unit) or application processor.
  • a processor may be configured with one or a plurality of processors.
  • one or more processors are a general-purpose processor such as a central processing unit (CPU), an application processor (AP), a digital signal processor (DSP), etc., a graphics-only processor such as a graphics-processing unit (GPU), and a vision processing unit (VPU). It may be a processor or a processor dedicated to artificial intelligence, such as a numeric process unit (NPU).
  • CPU central processing unit
  • AP application processor
  • DSP digital signal processor
  • GPU graphics-only processor
  • VPU vision processing unit
  • NPU numeric process unit
  • the processor 120 may be implemented as a digital signal processor (DSP), a microprocessor, or a time controller (TCON) that processes a digital signal, but is not limited thereto, and a central processing unit ( central processing unit (CPU), micro controller unit (MCU), micro processing unit (MPU), controller, application processor (AP), graphics-processing unit (GPU) or communication processor (CP)), may include one or more of an ARM processor, or may be defined by a corresponding term
  • the processor 120 is a SoC (System on Chip) or LSI (large scale integration) with a built-in processing algorithm. It may be implemented, or it may be implemented in the form of a field programmable gate array (FPGA).
  • DSP digital signal processor
  • MCU micro controller unit
  • MPU micro processing unit
  • AP application processor
  • GPU graphics-processing unit
  • CP communication processor
  • the processor 120 is a SoC (System on Chip) or LSI (large scale integration) with a built-in processing algorithm. It may be implemented
  • One or a plurality of processors control to process input data according to a predefined operation rule or artificial intelligence model stored in the memory 110 .
  • the AI-only processor may be designed with a hardware structure specialized for processing a specific AI model.
  • the predefined action rule or artificial intelligence model is characterized in that it is created through learning.
  • being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created means burden.
  • Such learning may be performed in the device itself on which the artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and/or system.
  • Examples of the learning algorithm include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
  • the processor 120 may load the artificial intelligence model compression module 111 and the training data reconstruction module 112 from the non-volatile memory to the volatile memory.
  • Non-volatile memory is memory that can retain stored information even when power is lost (such as Flash memory, Programmable Read-Only Memory (PROM), Magnetoresistive Random-Access Memory (MRAM), and Resistive RAM (RRAM) )
  • the volatile memory refers to a memory (eg, dynamic random-access memory (DRAM) and static RAM (SRAM)) that requires continuous power supply in order to maintain stored information.
  • loading refers to an operation of loading and storing data stored in the non-volatile memory into the volatile memory so that the processor 120 can access it.
  • the volatile memory may be included in the processor 120 or implemented as a component separate from the processor 120 according to an embodiment.
  • the processor 120 may generate a compressed artificial intelligence model (dedicated artificial intelligence model) using the artificial intelligence model compression module 111 stored in the memory 110 .
  • the processor 120 may generate a dedicated artificial intelligence model of various sizes from a general-purpose artificial intelligence model by using the artificial intelligence model compression module 111 .
  • the generated dedicated AI model is an AI model smaller in size than the general-purpose AI model, and the size of data related to multiple connections (weight connections) included in the dedicated AI model is the same is smaller than the size of the data associated with the node-to-node connection of
  • the processor 120 may obtain a reconstructed training data set using the training data reconstruction module 112 stored in the memory 110 .
  • the processor 120 uses the artificial intelligence model compression module 111 and the learning data reconstruction module 112 to repeat the compression of the artificial intelligence model, the learning and the reconstruction of the training data set, thereby producing a dedicated artificial intelligence model of various sizes. can create
  • FIG. 4 is a flowchart for explaining an operation of an electronic device according to various embodiments of the present disclosure
  • FIG. 5 is a training data set and one reconstructed from training data according to an embodiment of the present disclosure. It is a diagram for explaining a plurality of dedicated artificial intelligence models generated from an artificial intelligence model of
  • At least one learned artificial intelligence model and training data used for learning the artificial intelligence model may be stored in the memory 110 .
  • the processor 120 may select at least one artificial intelligence model stored in the memory 110 and training data corresponding to the artificial intelligence model (S410).
  • the selected artificial intelligence model may be a general-purpose artificial intelligence model or a dedicated artificial intelligence model compressed and generated from the general-purpose artificial intelligence model.
  • the processor 120 may generate a dedicated artificial intelligence model by using the selected artificial intelligence model.
  • the processor 120 may compress the selected artificial intelligence model and train the compressed artificial intelligence model using the training data (S420).
  • the processor 120 may determine a compression parameter related to the size of the dedicated artificial intelligence model to be generated by using the artificial intelligence model compression module 111 .
  • the processor 120 may determine a layer compression parameter, a unit compression parameter, a compression method parameter, and a compression rate parameter for each layer included in the selected artificial intelligence model.
  • the processor 120 may compress the selected AI model by reducing the size of data related to the connection between a plurality of nodes included in the selected AI model based on the determined parameter.
  • the processor 120 may train the selected artificial intelligence model using the training data.
  • the processor 120 may compress and train the selected artificial intelligence model at least once.
  • the processor 120 may determine whether the corresponding AI model can be further compressed (S430). Specifically, the processor 120 may determine whether to further compress the compressed artificial intelligence model based on the performance of the compressed artificial intelligence model.
  • the processor 120 compresses the selected artificial intelligence model using the artificial intelligence model compression module 111, and the performance of the compressed artificial intelligence model compressed using the selected training data exceeds a preset threshold. , it is possible to repeatedly compress and train the selected AI model until the performance of the AI model is less than or equal to a preset threshold.
  • the processor 120 converts the compressed artificial intelligence model into a dedicated artificial intelligence for training data. model can be judged.
  • information about the compressed artificial intelligence model (dedicated artificial intelligence model) and information about the learning data may be stored in the memory 110 ( S440 ).
  • the information about the compressed artificial intelligence model may include the size of the compressed artificial intelligence model and compression parameters.
  • the information about the learning data may include characteristic information of the learning data used to train the compressed artificial intelligence model.
  • the processor 120 selects the training data D 0 510 and the AI model N 0 520 stored in the memory 110 , and selects the AI model N 0 520 .
  • the compressed artificial intelligence model may be trained using the training data D 0 (510).
  • the processor 120 repeatedly compresses and trains the selected artificial intelligence model until the performance of the artificial intelligence model becomes less than or equal to the preset threshold.
  • the processor 120 determines that recompression of the selected artificial intelligence model N 0 is no longer possible when the performance of the compressed artificial intelligence model N 0 ' is less than or equal to a preset threshold value, so that the recompression can be stopped. .
  • the processor 120 may determine the compressed artificial intelligence model N 0 ' as a dedicated artificial intelligence model for the training data D 0 .
  • the processor 120 is a compressed artificial intelligence model (ie, a dedicated artificial intelligence model) N 0 'information about (521) ( size of N 0 ', compression parameter information) and information about the training data for it (N 0 ' may be stored in the memory 110 ).
  • the processor 120 may reconstruct the training data after storing the compressed artificial intelligence model and information about the training data in the memory 110 ( S450 ).
  • the processor 120 may classify the training data into a plurality of data sets using the training data reconstruction module 112 and select some of the plurality of classified training data sets based on a preset rule. For a specific method of reconstructing the training data, a redundant description will be omitted as described above with reference to FIG. 2 .
  • the processor 120 may determine whether the reconstructed learning data satisfies a preset condition ( S460 ).
  • the preset condition may indicate the size of the training data. That is, the processor 120 may determine whether the size of the reconstructed training data is greater than or equal to a preset size.
  • the processor 120 may update the compression target AI model (S470). For example, when the size of the selected training data set is greater than or equal to a preset size, the processor 120 may update the compression target AI model. In this case, the processor 120 may update one of the dedicated artificial intelligence models stored in the memory 110 to the compressed artificial intelligence model.
  • the processor 120 may compress the updated artificial intelligence model (ie, a dedicated artificial intelligence model) and train the compressed artificial intelligence model using the training data reconstructed in step S450 ( S420 ).
  • the updated artificial intelligence model ie, a dedicated artificial intelligence model
  • the processor 120 uses the selected training data set to create a dedicated citation intelligence model. can learn
  • the processor 120 may repeatedly compress the dedicated artificial intelligence model at least once or more, and train the compressed dedicated artificial intelligence model using the selected training data set.
  • the processor 120 selects one training data set D 1 511 from among a plurality of training data sets included in the training data D 0 according to a preset rule to reconstruct the training data. And, the dedicated AI model N 0 ' (521) generated in the previous step may be updated with the compression target AI model N 1 (521). The processor 120 repeatedly compresses the artificial intelligence model N 1 (521) one or more times and uses the training data set D 1 (511) to train the compressed artificial intelligence model from the AI model N 1 (521). have.
  • the processor 120 compresses the compressed artificial intelligence model based on the artificial intelligence model N 1 521 and compresses it until the performance of the compressed artificial intelligence model trained with the data set D1 becomes less than or equal to a preset threshold value, and the dedicated artificial intelligence model N 1 '( 522) can be created.
  • the processor 120 selects one of the training data sets D 2 512 from among the plurality of training data sets included in the training data D 0 according to a preset rule again through the same process as the process described above. It can reconstruct the training data and create a dedicated AI model N 2 '.
  • the processor 120 may generate dedicated artificial intelligence models 521 , 522 , and 523 of various sizes based on the initial training data D 0 510 and the initial network model N 0 520 .
  • the processor 120 may step-by-step compress the initial network model N 1 520 and reconstruct the initial training data D 0 step-by-step to generate dedicated artificial intelligence models 421 , 422 , 423 of various sizes step by step. .
  • the processor 120 may generate a plurality of dedicated artificial intelligence models by stepwise and iteratively compressing the general-purpose artificial intelligence model and learning the compressed artificial intelligence model with the training data set.
  • the processor 120 may store, in the memory 110 , information on a dedicated artificial intelligence model and information on a training data set generated by stepwise and iteratively compressing a general-purpose artificial intelligence model.
  • FIG. 6 is a view for explaining information about a dedicated artificial intelligence model and information about a learning data set stored in the memory 110, according to an embodiment of the present disclosure.
  • the processor 120 may map and store information on the training data set used to train the dedicated AI model and information on the dedicated AI model step by step.
  • the information about the learning data set may include characteristic information of the learning data set.
  • the feature information of the training data set means a feature vector of the training data used to train the dedicated artificial intelligence model, and specifically, an element having a certain pattern or rule among a plurality of elements included in the training data set is a vector.
  • the information about the dedicated AI model may be the size of the dedicated AI model and compression parameters of the dedicated AI model. Meanwhile, according to an embodiment, in addition to information about the dedicated artificial intelligence model, the generated dedicated artificial intelligence model itself may be stored in the memory 110 .
  • the processor 120 can store the characteristic information of the training data set used to train the dedicated AI model and the compression parameters used to generate the dedicated AI model whenever the dedicated AI model is generated step by step.
  • the processor 120 maps the compression parameter rank R0 and the learning data characteristic information D 0 to the memory 110 can be saved
  • the processor 120 maps the compression parameter rank R1 and the learning data characteristic information D 1 to the memory 110 .
  • the processor 120 maps the compression parameter rank R2 and the training data characteristic information D 2 to the memory 110 .
  • the degree of compression for the AI model is large (that is, when the value of rank is small)
  • the size of the training data set also decreases, as shown in FIG. 6, the smaller the value of R, the smaller the data description It can be seen that the amount of characteristic information of the data included in the .
  • compression parameters although only a compression method parameter and a compression rate parameter are illustrated as compression parameters in FIG. 6 , the present invention is not limited thereto, and of course, a hierarchical compression parameter or a unit compression parameter may be added and stored.
  • the processor 120 may generate a dedicated artificial intelligence model based on information on the dedicated artificial intelligence model of various sizes, and may perform calculations using the generated dedicated artificial intelligence model.
  • the processor 120 selects information on a dedicated artificial intelligence model for performing an operation on target data among various sizes of dedicated artificial intelligence model information, and selects the information on the selected dedicated artificial intelligence model.
  • a dedicated artificial intelligence model can be created based on the information about
  • the target data refers to input data for performing an operation using the learned artificial intelligence model.
  • the processor 120 is a dedicated artificial intelligence model trained using the training data set corresponding to the target data.
  • information can be identified.
  • that the target data corresponds to the training data set means that the characteristic information of the target data is the same as the characteristic information of the training data set.
  • the characteristic information of the target data is 'female voice data' and the characteristic information of the training data set is 'female voice data', it can be seen that the target data and the characteristic information of the training data set correspond.
  • the processor 120 may determine characteristic information of the target data and determine characteristic information of a plurality of training data sets included in the training data.
  • the processor 120 generates a dedicated artificial intelligence model based on the information of the identified dedicated artificial intelligence model, and uses the target data as an input value of the generated dedicated artificial intelligence model to obtain an output value for the target data. have.
  • FIG. 7A is a flowchart illustrating an electronic device that performs an operation using a dedicated artificial intelligence model according to an embodiment of the present disclosure.
  • the processor 120 may receive target data (S710-a). Specifically, the processor 120 may receive target data from a user or an external electronic device (not shown).
  • the processor 120 may analyze context information for the target data (S720-a).
  • the context information may indicate characteristic information of the target data input to the electronic device 100 and information about hardware or software included in the electronic device to which the target data is input when the target data is input.
  • the processor 120 analyzes the voice signal Accordingly, it is possible to analyze characteristic information of target data, such as whether noise is included in the user's voice, whether the distance between the electronic device 100 and the user is close, and the user's gender and age.
  • the processor 120 may analyze software information for calculating the target data. For example, the processor 120 may identify the ID of the voice recognition model calling application, and identify the size of a word required for dictation (dictation) or voice command of the user's voice. For example, when the ID of the voice recognition model calling application mainly corresponds to a user who gives a short voice command, the processor 120 may determine that only a small amount of words is needed for dictation or voice command. Conversely, when the ID of the voice recognition model calling application corresponds to a user who frequently uses voice commands and gives various types of voice commands, the processor 120 may determine that only a large amount of words are needed for dictation or voice commands.
  • the processor 120 may analyze hardware information for processing target data. For example, the processor 120 may determine whether the user is indoors or outdoors by analyzing network connection information such as WiFi and Bluetooth at the time the target data is input. Also, the processor 120 may analyze sensing information such as a position sensor, an accelerometer sensor, and a motion sensor included in the electronic device 100 to determine whether the user is in a stationary state or moving.
  • the processor 120 may determine the compression parameter of the artificial intelligence model based on the analyzed context information (S730-a). Specifically, the processor 120 may determine an optimal compression parameter capable of calculating the target data.
  • the processor 120 may determine the compression parameter based on the information about the training data set stored in the memory 110 and the information about the dedicated artificial intelligence model compressed using the training data set.
  • the processor 120 may identify information about a training data set matching context information among information about the training data set stored in the memory 110 , and determine a compression parameter related to the identified training data set.
  • the processor 120 determines, among a plurality of learning data sets stored in the memory 110 , the learning data set including the most information matching the context information of the target data as the learning data set matching the context information, and the determined learning It is possible to identify a compression parameter stored in the memory 110 by mapping with the data set.
  • the processor 120 is configured to select one of the plurality of training data sets. A training data set having the smallest size may be determined as a training data set matching the context information, and a compression parameter mapped to the determined training data set may be identified.
  • the processor 120 determines that the context information for the target data is 'Distant Sound Source', 'Clean Environment without noise', 'Voice command using a small amount of words ( When analyzed as 'voice command (small amount of words)' and 'dictation', the processor 120 identifies a training data set that is mapped with context information among the information about the training data set stored in the memory 110 . can do. Referring to the information on the training data set and the information on the dedicated artificial intelligence model shown in FIG. 6 , the processor 120 retrieves the information included in the identified context information among the information about the training data set stored in the memory 110 . D 0 and D 1 can be identified as a training data set that includes both. The processor 120 may identify a data set D 1 having a smaller size among D 0 and D 1 as a data set matching the context information. In addition, the processor 120 may identify the compression parameter rank R1 stored by being mapped with the identified data set D 1 .
  • the processor 120 may search for a dedicated artificial intelligence model corresponding to the compression parameter (S740-a).
  • the processor 120 may identify a dedicated artificial intelligence model corresponding to a compression parameter among a plurality of dedicated artificial intelligence models stored in the memory 110 , and load the identified dedicated artificial intelligence model.
  • the loaded dedicated artificial intelligence model is a compressed artificial intelligence model smaller in size than the general-purpose artificial intelligence model stored in the memory 110 .
  • the processor 120 loads a small-sized dedicated artificial intelligence model and performs an operation, it is possible to reduce the amount of computation for target data, improve the processing speed, and the resource ( For example, memory, CPU, GPU, etc.) is not wasted, so that the utility of resources can be increased.
  • the processor 120 may obtain an output value for the target data based on the dedicated artificial intelligence model (S750-a). Specifically, the processor 120 may obtain output data for the target data by using the target data as an input value to the dedicated artificial intelligence model obtained in step S740 . In addition, the processor 120 may provide the obtained output data to the user through an output interface (not shown) such as a display or a speaker.
  • an output interface not shown
  • the above-described embodiment relates to a case where a dedicated artificial intelligence model is stored in the memory 110 .
  • the processor 120 may generate a dedicated artificial intelligence model in which the compression parameter is reflected.
  • the processor 120 may generate a dedicated artificial intelligence model for the compression parameter by applying the compression parameter to the artificial intelligence model stored in the memory 110 .
  • FIG. 7B is a flowchart illustrating an electronic device that performs an operation using a dedicated artificial intelligence model to which a compression parameter is reflected, according to an embodiment of the present disclosure.
  • Steps S710-b, S720-b, and S730-b of FIG. 7B are the same as those of steps S710-a, S720-a, and S730-a of FIG. 7A, and a description of overlapping content will be omitted.
  • the processor 120 determines the compression parameter based on the context information on the target data input to the electronic device 100 (S730-b), and then outputs the target data using a dedicated artificial intelligence model in which the compression parameter is reflected. A value can be obtained (S740-b).
  • the processor 120 may load a compressed dedicated artificial intelligence model by applying a compression algorithm to the artificial intelligence model stored in the memory 110 .
  • the compression algorithm may be an algorithm to which the compression parameter determined in step S730-b is applied as an input value.
  • an mxn matrix M is stored in the memory 110 as information about a general-purpose artificial intelligence model.
  • the processor 120 applies the SVD algorithm using the compression parameter R1 as an input value to the matrix M, and the matrix U (size of mx R1) that is the compression matrix for the matrix M ) and a matrix V * (R1 x n size) can be obtained.
  • the processor 120 may obtain an output value for the target data by using the compression matrix matrix U and the matrix V * .
  • the processor 120 may obtain an output value of the target data by using the target data as an input value of a product matrix of the matrix U and the matrix V *.
  • the processor 120 determines the compression parameter based on the context information on the target data, and uses a dedicated artificial intelligence model that reflects the determined compression parameter in the artificial intelligence model stored in the memory 110 for the target data. output can be generated.
  • the processor 120 may obtain an output value with respect to the input value by performing the operation of applying the compression algorithm only once.
  • the processor 120 loads the artificial intelligence model stored in the memory 110 and generates a dedicated artificial intelligence model for the general-purpose artificial intelligence model using the compression parameter determined in step S730-a or S730-b. can do. Even in this case, the processor 120 may generate a dedicated artificial intelligence model by using the operation for applying the compression algorithm only once.
  • FIG. 8 is a diagram for describing an electronic device that generates a plurality of dedicated artificial intelligence models from an artificial intelligence model.
  • the processor 120 may generate a plurality of dedicated artificial intelligence models in each step. Specifically, the processor 120 may generate a plurality of dedicated artificial intelligence models by selecting different training data sets in each step.
  • the processor 120 compresses the initial artificial intelligence model N 0 using the artificial intelligence model compression module 111 and trains the compressed artificial intelligence model using the initial training data D 0 , a dedicated artificial intelligence model N 1 can be created.
  • the processor 120 classifies a plurality of training data sets from the training data D 0 using the training data reconstruction module 112, and selects different training data sets from among the classified training data sets to provide different dedicated artificial intelligence.
  • processor 120 generates a dedicated AI model N 2-2 learning using the learning data set D 1-2 by selecting the learning data set D 1-2 from the training data D 0, the training data D 0 By selecting the training data set D 1-3 from , a dedicated artificial intelligence model N 2-3 trained using the training data set D 1-2 can be generated.
  • the processor 120 may select one of the at least one dedicated AI model generated in each step to generate a dedicated AI model for the selected AI model. For example, the processor 120 selects a dedicated artificial intelligence model N 2-2 that is one of a plurality of dedicated artificial intelligence models N 2-1 , N 2-2 and N 2-3 generated in the stage 2 step, and selects the selected dedicated AI model N 2-2.
  • the AI model N 2-2 can be updated with the compression target AI model.
  • the processor 120 may select different training data sets D 2-1 and D 2-2 from the training data sets D 1-2 in which the dedicated artificial intelligence model N 2-2 is trained.
  • the processor 120 may generate a dedicated artificial intelligence model N 3-1 by repeatedly learning an artificial intelligence model in which the dedicated artificial intelligence model N 1-2 is iteratively compressed using the selected training data set D 2-1. .
  • the processor 120 may generate a trained dedicated artificial intelligence model D 3-2 using the training data set D 2-2 selected from the training data set D 1-2 .
  • the processor 120 may train the dedicated artificial intelligence model generated in each step by using the training data set selected from the training data according to a preset rule.
  • 9 to 11 are diagrams for explaining an electronic device that selects a training data set from training data according to a preset rule and trains a dedicated artificial intelligence model using the selected training data set.
  • FIG. 9 is a diagram for explaining the electronic device 100 for learning a dedicated artificial intelligence model using target data input to the electronic device 100 .
  • FIG. 9A is a diagram for explaining an electronic device that learns a dedicated artificial intelligence model when the electronic device 100 is a user terminal device such as a speaker
  • FIG. 7B is a dedicated artificial intelligence model when the electronic device 100 is a server. It is a diagram for explaining an electronic device that trains an intelligent model.
  • the processor 120 may receive target data from a user. For example, when the learned artificial intelligence model is a voice recognition model, the processor 120 may receive a voice command such as “turn on the air conditioner” from the user as target data. Then, the processor 120 performs voice recognition for the voice command “Turn on the air conditioner” by using the target data as an input value of the voice recognition model, and provides a response with “Air conditioner is on” as an output value for this to the user. have.
  • a voice command such as “turn on the air conditioner” from the user as target data.
  • the processor 120 performs voice recognition for the voice command “Turn on the air conditioner” by using the target data as an input value of the voice recognition model, and provides a response with “Air conditioner is on” as an output value for this to the user. have.
  • the processor 120 may generate a dedicated artificial intelligence model for the target data and train the generated dedicated artificial intelligence model.
  • the processor 120 may classify the training data into a plurality of training data sets based on the characteristic information of the training data.
  • the characteristic information of the learning data means that an element having a certain pattern or rule among a plurality of elements included in the learning data is expressed as a vector.
  • the processor 120 may determine characteristic information of the training data using the training data reconstruction module 112 and classify the training data into a plurality of training data sets based on the determined characteristic information of the training data. .
  • the processor 120 obtains a vector value as feature information of the training data using the training data reconstruction module 112, and classifies the training data into a plurality of training data sets based on the distribution of the vector values. have.
  • the processor 120 based on the vector value of the training data, a noise-free speech uttered in a quiet environment, a utterance uttered in a quiet environment, but the distance between the sound source and the device is far It can be classified into utterances, utterances mixed with noise other than utterances, and the like.
  • the processor 120 may classify the learning data into female speech, male speech, child speech, youth speech, regional speech, and the like.
  • the processor 120 may classify the learning data into smart phone learning data, TV learning data, and air conditioner learning data, based on the feature vector value of the learning data.
  • the processor 120 based on the feature vector values of the training data, people (men, women, children, crowd), animals (dogs, cats, lions, tigers, etc.) , objects (natural, artificial, etc.) can also be classified.
  • the processor 120 may identify a training data set corresponding to the target data from among the plurality of classified training data sets.
  • the processor 120 may extract characteristic information of the target data received from the user.
  • the processor 120 may compare the extracted characteristic information of the target data with the characteristic information of the plurality of training data sets, and select a training data set that matches or is similar to the characteristic information of the target data from among the plurality of training data sets.
  • the processor 120 may train the artificial intelligence model with the selected training data set. Specifically, the processor 120 may repeatedly compress a general-purpose artificial intelligence model (or a dedicated artificial intelligence model) pre-stored in the memory 110 , and repeatedly train the compressed artificial intelligence model with the selected training data set. As a result, the processor 120 can generate a new dedicated artificial intelligence model, and can train the dedicated artificial intelligence model created with the selected training data set.
  • a general-purpose artificial intelligence model or a dedicated artificial intelligence model
  • the processor 120 uses the target data “Turn on the air conditioner” as characteristic information of the target data, a control command of the air conditioner, and some Characteristic information such as the presence of noise can be extracted.
  • the processor 120 selects a combination of 'a learning data set for air conditioning' and a 'learning data set in an environment in which a little noise is present' as a learning data set that matches or is similar to the characteristic information of the target data among a plurality of learning data sets.
  • the processor 120 repeatedly compresses the general-purpose artificial intelligence model stored in the memory 110 step by step and repeatedly converts the compressed artificial intelligence model into 'a learning data set for air conditioning' and a 'learning data set in an environment in which a little noise exists'.
  • a dedicated AI model can be created while learning with the combination of can be learned
  • the processor 120 may step-by-step compression of the dedicated artificial intelligence model pre-stored in the memory 110 instead of the general-purpose artificial intelligence model to train the compressed artificial intelligence model as a combination of the training data set.
  • the processor 120 compresses the air conditioner-only artificial intelligence model learned by the air conditioner learning data set step by step, and combines the 'air conditioner learning data set' and the 'learning data set in an environment where noise is present'. It can be used to train a compressed artificial intelligence model.
  • the processor 120 may generate and train a new dedicated artificial intelligence model learned by a combination of a 'learning data set for air conditioning' and a 'learning data set in an environment in which noise is present'.
  • the electronic device 100 may be implemented as a server.
  • the electronic device 100 may communicate with each other by being connected to a user terminal device 200 such as a speaker, a TV, or a smart phone.
  • the electronic device 100 classifies the training data into a plurality of training data sets based on the characteristic information of the training data is the same as that of FIG. 9A , and a description thereof will be omitted.
  • the user terminal device 200 may transmit the target data to the electronic device 100 .
  • the processor 120 receiving the target data from the user terminal device 200 may generate a dedicated artificial intelligence model based on the target data and train the generated dedicated artificial intelligence model.
  • the processor 120 may select a training data set corresponding to target data from among a plurality of training data sets, and train a dedicated AI model generated by compressing the AI model using the selected training data set. .
  • the processor 120 may output a result value for the target data by using the target data as an input of the generated dedicated artificial intelligence model, and may transmit the output result value to the user terminal device 200 .
  • FIG. 10 is a diagram for explaining an electronic device for learning a dedicated artificial intelligence model based on test data according to an embodiment of the present disclosure.
  • the artificial intelligence model 521 of FIG. 10 may be a dedicated artificial intelligence model generated by compressing the general-purpose artificial intelligence model 520 .
  • the dedicated artificial intelligence model 521 may be an artificial intelligence model learned using the training data D 0 .
  • the processor 120 may perform a test on the dedicated artificial intelligence model 521 using the test data T 0 1010 .
  • the test data represents data having characteristic information common to the training data, but different from the training data.
  • the dedicated artificial intelligence model 521 may output a target value for the test data or a value close to the target value, and the target value and Different values may be output.
  • the processor 120 may classify the test data into a plurality of test data sets using the training data reconstruction module 112 . For example, the processor 120 may output the test data to a test data set T' 0 (1011) in which a target value is output or a value close to the target value, and a test data set T'' 0 (1012) in which a value different from the target value is output. ) can be classified as
  • the processor 120 may select a test data set from the test data based on the test result. Specifically, the processor 120 may select a test data set T' 0 1011 that outputs a target value or outputs a value close to the target value.
  • the processor 120 may identify a training data set corresponding to the test data set T' 0 1011 selected from the training data D 0 1010 . Specifically, the processor 120 may select a training data set including characteristic information common to the selected test data set T' 0 1011 from among the training data D 0 .
  • the dedicated artificial intelligence model 521 corresponds to the machine translation artificial intelligence model
  • the training data are test data of various lengths.
  • the test data may also include text data of various lengths, like the training data.
  • the dedicated AI model outputs a target value or a value close to the target value for test data containing 15 or less word information, but more than 15 words
  • the processor 120 converts the test data T 0 1010 into the test data set T' 0 1011 and Classify the test data set T'' 0 (1012) containing more than 15 word information, and identify the training data set corresponding to the test data set T' 0 (1011) containing 15 words or less. can That is, the processor 120 may select a training data set including 15 or less words from among the training data sets.
  • the processor 120 may train a dedicated artificial intelligence model using the identified training data set. At this time, the processor 120 repeatedly compresses the dedicated artificial intelligence model 521 to generate a dedicated artificial intelligence model 522, and trains the generated dedicated artificial intelligence model 522 using the identified training data set.
  • FIG. 11 is a diagram for explaining an electronic device for learning a dedicated artificial intelligence model based on a user input according to an embodiment of the present disclosure.
  • the processor 120 may receive an input for setting learning data from a user through various interfaces included in the electronic device 100 .
  • the processor 120 may control a display (not shown) to display a user interface (UI) for receiving a user input for setting learning data.
  • UI user interface
  • Screens 1110 , 1120 , and 1130 of FIG. 11 represent screens displayed on an electronic device including a display (not shown) such as a TV, a smartphone, a tablet PC, a PC, and a notebook PC.
  • the processor 120 includes a screen 1110 including a UI for inputting a user's desired task, a screen 1120 including a UI for inputting a device to be used by the user, and a UI for inputting the user's surrounding environment.
  • a screen 1130 may be displayed.
  • the processor 120 may display a screen including various UIs according to an embodiment, such as a UI for inputting user information such as the user's age and gender.
  • the processor 120 When receiving the learning data setting information from the user through the UI displayed on the display, the processor 120 selects a learning data set corresponding to the data setting information from the learning data, and uses the selected learning data set to create a dedicated artificial intelligence model. can learn
  • the processor 120 is From the training data, a training data set for voice commands, a training data set operating in a TV device, and a training data set for voice commands in a noisy space are selected, and a dedicated artificial intelligence model is used using the combination of the selected training data set. can be learned
  • FIG. 11 illustrates that a plurality of learning data sets are selected through a plurality of setting information inputs, it goes without saying that the learning data sets may be selected through one setting information input.
  • a UI for a user to select one of a plurality of menu items is illustrated in FIG. 11
  • a UI for a user to directly input data information may be displayed according to an embodiment.
  • FIG. 11 illustrates that the user input is received through the UI displayed on the display, the present invention is not limited thereto.
  • the processor 120 may set the learning data through a voice command through a microphone (not shown). For example, when the user utters “I want to recognize an animal from an image”, the processor 120 selects a learning data set for image recognition and a learning data set for recognizing an animal from the learning data, and Combinations can be used to train dedicated AI models.
  • FIG. 12 is a flowchart illustrating a method of controlling an electronic device according to various embodiments of the present disclosure.
  • a dedicated AI model smaller in size than the general-purpose AI model may be generated based on the general-purpose AI model learned using the training data (S1210).
  • the general-purpose artificial intelligence model may be a general-purpose artificial intelligence model learned in the electronic device 100 or an artificial intelligence model learned in an external device such as a server and stored in the electronic device 100 .
  • the dedicated AI model is an artificial intelligence model that is a compressed general-purpose AI model.
  • the size of data related to the connection (weight connection) between multiple nodes included in the dedicated AI model varies between multiple nodes included in the general-purpose AI model. It may be smaller than the size of the data associated with the connection.
  • the number of connections between multiple nodes included in the dedicated AI model is less than the number of connections between multiple nodes included in the general-purpose AI model, or the number of connections between multiple nodes included in the dedicated AI model is The number of bits may be smaller than the number of bits of a plurality of inter-node connections included in the general-purpose artificial intelligence model.
  • a dedicated AI model may be generated by determining a compression parameter related to the dedicated AI model, and reducing the size of data related to the number of connections between a plurality of nodes included in the general AI model based on the determined parameter.
  • the dedicated AI model may be trained using the training data set selected from the training data according to a preset rule (S1220).
  • a dedicated artificial intelligence model may be trained based on target data.
  • the target data refers to input data for performing an operation using the learned artificial intelligence model.
  • the electronic device classifies the training data into a plurality of training data sets based on the characteristic information of the training data, and trains the dedicated artificial intelligence model with the training data set corresponding to the target data among the classified plurality of training data sets.
  • the feature information of the training data means a feature vector of the training data, and specifically, it may mean that an element having a certain pattern or rule among a plurality of elements included in the training data is represented as a vector.
  • a dedicated artificial intelligence model may be trained based on the test data.
  • the test data represents data having characteristic information common to the training data, but different from the training data.
  • the electronic device may test a general-purpose artificial intelligence model or a dedicated artificial intelligence model generated based on the general-purpose artificial intelligence model by using the test data.
  • a test data set may be selected from the test data based on the test result. For example, a test data set outputting a target value or a value close to the target value among test data may be selected based on the test result.
  • a training data set corresponding to the test data set selected from the training data may be identified, and a dedicated AI model may be trained using the identified training data set.
  • data setting information may be received from the user, and a dedicated artificial intelligence model may be trained based on the received data setting information.
  • the electronic device may display a UI for receiving user data setting information and receive a user input through the displayed UI.
  • a training data set corresponding to the data setting information may be selected from the training data, and a dedicated AI model may be trained using the selected training data set.
  • a dedicated AI model may be trained using the selected training data set.
  • a dedicated artificial intelligence model may be trained.
  • the performance of the dedicated AI model can be judged by testing the trained dedicated AI model.
  • the dedicated artificial intelligence model may be stored. If the performance of the dedicated artificial intelligence is greater than or equal to the first threshold and less than or equal to the second threshold as a result of the test of the dedicated artificial intelligence model, information about the dedicated artificial intelligence model and information about the training data set learned by the dedicated artificial intelligence model may be stored. .
  • a dedicated AI model may be generated based on the general-purpose AI model, and another dedicated AI model may be generated based on the generated exclusive AI model.
  • a dedicated artificial intelligence model can be created by compressing a general-purpose artificial intelligence model, and a dedicated artificial intelligence model can be trained using a training data set included in the training data. At this time, when the performance of the dedicated artificial intelligence model is greater than or equal to a preset value as a result of the test of the learned dedicated artificial intelligence model, another dedicated artificial intelligence model may be generated based on the dedicated artificial intelligence model.
  • the electronic device 100 may receive target data.
  • the target data corresponds to one of the training data sets among the plurality of training data sets included in the training data (S1230-Y)
  • the target data is used as the input value of the dedicated artificial intelligence model to obtain the output value for the target data. It can be (S1240).
  • the dedicated artificial intelligence model may be a dedicated artificial intelligence model trained with a training data set corresponding to the target data.
  • the characteristic information of the target data is determined, the characteristic information of the training data set is determined, and when the characteristic information of the target data corresponds to the characteristic information of the training data set, the target data is used as an input value of the dedicated artificial intelligence model. Thus, it is possible to obtain an output value for the target data.
  • characteristic information of target data among information about a plurality of training data sets stored in the electronic device It is possible to identify information on a training data set corresponding to , and generate a dedicated artificial intelligence model based on the information about the learned dedicated artificial intelligence model using the identified learning data set. Then, an output value of the target data may be obtained by using the target data as an input value of the generated dedicated artificial intelligence model.
  • various operations described as being performed by the electronic device 100 or the electronic device 100 may be performed by one or more electronic devices in the form of a control method or an operation method of the electronic device.
  • the features of generating a dedicated artificial intelligence model, learning the generated dedicated artificial intelligence model, and determining a compression parameter for the dedicated artificial intelligence model are performed in an external device (not shown) such as a server, and the electronic device 100 ), only the calculation on the target data may be performed using information about the dedicated artificial intelligence model and information about the learning data.
  • the embodiments described in the present disclosure are ASICs (Application Specific Integrated Circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (Programmable logic devices), FPGAs (field programmable gate arrays) ), a processor, a controller, a micro-controller, a microprocessor, and may be implemented using at least one of an electrical unit for performing other functions.
  • ASICs Application Specific Integrated Circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs Programmable logic devices
  • FPGAs field programmable gate arrays
  • embodiments described herein may be implemented by the processor itself. According to the software implementation, embodiments such as the procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules described above may perform one or more functions and operations described herein.
  • computer instructions for performing a processing operation in a user device or an administrator device may be stored in a non-transitory computer-readable medium.
  • the computer instructions stored in the non-transitory computer-readable medium are executed by the processor of the specific device, the specific device performs the processing operation of the user device and/or the manager device according to the various embodiments described above.
  • the non-transitory readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, cache, memory, etc., and can be read by a device.
  • a non-transitory readable medium such as a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

전자 장치의 제어 방법이 개시된다. 전자 장치의 제어 방법은 범용 인공 지능 모델을 선택하는 단계, 상기 선택된 범용 인공 지능 모델을 기초로 축소 인공 지능 모델을 생성하는 단계 및 상기 생성된 축소 인공 지능 모델에 기초하여 전용 인공 지능 모델을 생성하는 단계를 포함하고, 상기 축소 인공 지능 모델을 생성하는 단계는 축소율에 기초하여 SVD(Singular Value Decomposition) 알고리즘의 랭크를 획득하고, 상기 획득된 랭크에 기초하여 상기 선택된 범용 인공 지능 모델을 축소하고 학습시켜 상기 축소 인공 지능 모델로 변환하며, 기 설정된 제1 임계 값에 기초하여 상기 변환된 축소 인공 지능 모델의 성능을 판단하고, 상기 변환된 축소 인공 지능 모델의 성능이 상기 기 설정된 제1 임계 값 미만인 경우 상기 전용 인공 지능 모델을 생성하는 단계를 수행한다.

Description

전자 장치 및 이의 제어 방법
본 개시는 전자 장치 및 그 제어 방법에 관한 것으로, 보다 상세하게는 인공지능 모델을 포함하는 전자 장치 및 그 제어 방법에 관한 것이다.
최근 인간 수준의 지능을 구현하는 인공 지능 시스템이 개발되고 있다. 인공 지능 시스템은, 기존의 룰(rule) 기반 시스템과 달리 기계가 스스로 학습하고 판단하는 시스템으로써, 음성 인식, 이미지 인식 및 미래 예측 등과 같은 다양한 범위에서 활용되고 있다.
특히, 최근에는 딥 러닝(deep learning)에 기반한 딥 뉴럴 네트워크(deep neural network)를 통해 주어진 문제를 해결하는 인공 지능 시스템이 개발되고 있다.
딥 뉴럴 네트워크는 입력 레이어(input layer)와 출력 레이어(output layer) 사이에 다수의 은닉 레이어(hidden layer)을 포함하는 뉴럴 네트워크로써, 각 레이어에 포함된 뉴런을 통해 인공 지능 기술을 구현하는 모델을 의미한다.
이와 같은, 딥 뉴럴 네트워크는 정확한 결과 값을 도출해 내기 위해서 다수의 뉴런(또는 노드)을 포함하는 것이 일반적이다.
그런데, 방대한 양의 뉴런들이 존재할 경우, 입력 값에 대한 출력 값의 정확도가 높아지는 것은 별론, 출력 값 도출을 위한 연산에 많은 시간을 소요하는 문제가 있다.
본 개시는 상술한 문제점을 해결하기 위한 것으로, 본 개시의 목적은 전자 장치에 포함된 인공지능 모델을 기초로 압축 인공지능 모델을 생성하고, 생성된 압축 인공지능 모델을 이용하여 입력 값에 대한 연산을 수행하여, 자원을 효율적으로 활용하는 전자 장치를 제공함에 있다.
본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은 범용 인공 지능 모델을 선택하는 단계, 상기 선택된 범용 인공 지능 모델을 기초로 축소 인공 지능 모델을 생성하는 단계 및 상기 생성된 축소 인공 지능 모델에 기초하여 전용 인공 지능 모델을 생성하는 단계를 포함하고, 상기 축소 인공 지능 모델을 생성하는 단계는 축소율에 기초하여 SVD(Singular Value Decomposition) 알고리즘의 랭크를 획득하고, 상기 획득된 랭크에 기초하여 상기 선택된 범용 인공 지능 모델을 축소하고 학습시켜 상기 축소 인공 지능 모델로 변환하며, 기 설정된 제1 임계 값에 기초하여 상기 변환된 축소 인공 지능 모델의 성능을 판단하고, 상기 변환된 축소 인공 지능 모델의 성능이 상기 기 설정된 제1 임계 값 미만인 경우 상기 전용 인공 지능 모델을 생성하는 단계를 수행한다.
한편, 본 개시의 또 다른 일 실시 예에 따른 전자 장치는 제1 학습 데이터 및 상기 제1 학습 데이터에 의해 학습된 범용 인공 지능 모델을 저장한 메모리 및 프로세서를 포함하고, 상기 프로세서는 상기 학습된 범용 인공 지능 모델을 선택하고, 축소율에 기초하여 SVD(Singular Value Decomposition) 알고리즘의 랭크를 획득하며, 상기 획득된 랭크에 기초하여 상기 선택된 범용 인공 지능 모델을 축소하고 학습시켜 상기 축소 인공 지능 모델로 변환하고, 기 설정된 제1 임계 값에 기초하여 상기 변환된 축소 인공 지능 모델의 성능을 판단하며, 상기 변환된 축소 인공 지능 모델의 성능이 상기 기 설정된 제1 임계 값 미만인 경우 전용 인공 지능 모델을 생성한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면,
도 2는 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 3a 는 본 개시의 일 실시 예에 따른 SVD 알고리즘을 이용한 인공지능 모델 압축을 설명하기 위한 도면,
도 3b 는 본 개시의 일 실시 예에 따른 SVD 알고리즘을 이용한 인공지능 모델 압축을 설명하기 위한 도면,
도 4는 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 흐름도,
도 5는 본 개시의 일 실시 예에 따라 학습 데이터로부터 재구성되는 학습 데이터 셋 및 하나의 인공지능 모델로부터 생성되는 복수의 전용 인공지능 모델을 설명하기 위한 도면,
도 6은 메모리에 저장되는 전용 인공지능 모델에 관한 정보 및 학습 데이터 셋에 관한 정보를 설명하기 위한 도면,
도 7a는 본 개시의 일 실시 예에 따라 전용 인공지능 모델을 이용하여 연산을 수행하는 전자 장치를 설명하기 위한 흐름도,
도 7b는 본 개시의 일 실시 예에 따라 전용 인공지능 모델을 이용하여 연산을 수행하는 전자 장치를 설명하기 위한 흐름도,
도 8은 본 개시의 일 실시 예에 따라 인공지능 모델로부터 복수의 전용 인공지능 모델을 생성하는 전자 장치를 설명하기 위한 도면,
도 9a는 본 개시의 일 실시 예에 따라 타겟 데이터를 이용하여 전용 인공지능 모델을 학습시키는 전자 장치를 설명하기 위한 도면,
도 9b는 본 개시의 일 실시 예에 따라 타겟 데이터를 이용하여 전용 인공지능 모델을 학습시키는 전자 장치를 설명하기 위한 도면,
도 10은 본 개시의 일 실시 예에 따라 테스트 데이터를 기초로 전용 인공지능 모델을 학습시키는 전자 장치를 설명하기 위한 도면,
도 11은 본 개시의 일 실시 예에 따라 사용자의 입력에 기초하여 전용 인공지능 모델을 학습시키는 전자 장치를 설명하기 위한 도면, 및
도 12는 본 개시의 다양한 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
이하, 본 개시의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU(Central Processing Unit) 또는 application processor)를 의미할 수 있다.
본 개시에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
한편, 본 개시의 전자 장치는 인공 지능 학습 모델을 포함할 수 있다.
이하에서는 도면을 참조하여 본 개시에 대해 상세히 설명하기로 한다.
도 1은 본 개시에 따른 전자 장치가 하나의 인공지능 모델에서 다양한 크기의 인공지능 모델을 생성하는 것을 개략적으로 설명하기 위한 도면이다.
본 개시의 다양한 실시 예에 따른 전자 장치는 인공지능 모델(또는 인공 신경망 모델)을 이용하여 입력 데이터에 대한 출력 데이터를 제공하는 장치이다.
본 개시의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 키오스크, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스, 게임 콘솔, 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 전자 장치는 신경망 모델의 연산이 가능한 장치라면 어떠한 장치라도 무방하다.
본 개시에서 인공지능 모델은 머신 러닝(또는 기계 학습) 또는 딥 러닝을 통하여 학습된 인공 신경망을 포함하는 인공지능 모델일 수 있다. 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
전자 장치에는 하나의 인공지능 모델이 저장되어 있을 수 있다(S110). 이때, 인공지능 모델은 다양한 학습 데이터에 의해 학습된 범용 인공지능 모델(10)일 수 있다. 그리고, 범용 인공지능 모델(10)은 전자 장치에서 학습된 모델일 수 있으며 외부 서버(미도시)에서 학습되어 전자 장치에 저장된 모델일 수도 있다.
본 개시에서 범용 인공지능 모델(10)은 다양한 장치나 다양한 환경에서 사용되도록 다양한 종류의 학습 데이터로 학습된 인공지능 모델일 수 있다. 즉, 범용 인공지능 모델(10)은 간단한 연산에서부터 복잡한 연산에 이르기까지 다양한 연산을 수행할 수 있도록 학습된 인공지능 모델일 수 있다. 가령, 음성인식 기술에서 범용 인공지능 모델은 스피커, 냉장고, 에어컨에서의 단순한 제어 명령을 위한 음성 데이터뿐만 아니라, 스마트 폰에서의 추론, 검색, 추천과 같은 명령을 위한 음성 데이터를 입력 받아 음성 데이터에 대한 출력 데이터를 제공하도록 학습된 모델을 나타낼 수 있다. 또한, 객체인식 기술에서 범용 인공지능 모델은 단순히 사물을 인식할 뿐만 아니라, 사물을 통하여 공간 또는 분위기를 이해하도록 학습된 모델을 나타낼 수 있다. 한편, 이는 일 실시 예일 뿐이며 기술분야에 따라 또는 학습 데이터에 따라 범용 인공지능 모델의 크기나 형태는 다양할 수 있다.
범용 인공지능 모델(10)은 다양한 데이터를 이용하여 학습된 만큼 다양한 입력 값에 대한 출력 값을 제공할 수 있다는 장점이 있으나, 사이즈가 크고 입력 값에 대한 연산을 수행할 때 많은 자원(가령, 메모리, CPU, GPU 등)을 소모하게 되는 문제점이 있다. 따라서, 본 개시에 따른 전자 장치는 범용 인공지능 모델(10)보다 크기가 작으면서 범용 인공지능 모델과 같은 성능이 유지되는 다양한 크기의 압축 인공지능 모델(20, 30)을 생성하는 데 그 목적이 있다.
이를 위하여, 전자 장치는 인공지능 모델을 압축할 수 있다(S120). 구체적으로, 전자 장치는 범용 인공지능 모델(10)을 반복적으로 압축하여 A 전용 인공지능 모델(20) 또는 B 전용 인공지능 모델(30)과 같은 압축 인공지능 모델을 생성할 수 있다.
본 개시에서 전용 인공지능 모델은 범용 인공지능 모델과 대응되는 개념으로, 특정한 장치나 환경에서 사용되도록 학습된 인공지능 모델을 나타낸다. 가령, 음성인식 기술에서는 에어컨에서 단순한 제어 명령을 위한 음성 데이터를 입력 데이터로 받아 출력 데이터를 제공하도록 학습된 인공지능 모델이거나, 조용한 환경에서 발화된 음성 데이터를 입력 데이터로 받아 출력 데이터를 제공하도록 학습된 인공지능 모델일 수 있다.
한편, 본 개시에서 인공지능 모델을 압축한다는 것은 인공지능 모델에 포함된 인공 신경망의 크기를 줄이는 것을 의미하며, 구체적으로 인공 신경망의 레이어(layer)에 포함된 복수의 노드 간의 연결(가중치 연결)과 관련된 데이터의 크기를 감소시키는 것을 의미한다. 가령, 인공지능 모델 내의 제1 레이어와 제 2 레이어가 각각 4개의 노드를 포함하고, 제1 레이어와 제2 레이어 사이에 16개의 연결이 존재하는 경우를 가정하자. 이때, 전자 장치는 제1 레이어 및 제2 레이어 사이에 노드가 1 개인 제3 레이어를 추가하여 제1 레이어 및 제2 레이어 간의 연결을 8개(제1 레이어 및 제3 레이어 간에 4개, 제3 레이어 및 제2 레이어 간에 4개)로 줄여, 인공지능 모델을 압축시킬 수 있다. 또는, 전자 장치는 제1 레이어 또는 제2 레이어에 포함된 노드의 수를 감소시켜, 인공지능 모델을 압축시킬 수도 있다. 또는, 또 다른 일 실시 예에 따라 전자 장치는 인공지능 모델에 포함된 복수의 노드 간 연결을 나타내는 데이터의 비트 수를 감소시켜, 인공지능 모델을 압축시킬 수도 있다. 다만, 상술한 예시에 한정되는 것은 아니며, 전자 장치는 다양한 방법으로 신경망 네트워크에 포함된 복수의 노드 간의 연결과 관련된 데이터의 크기를 감소시켜 인공지능 모델을 압축시킬 수 있다. 인공지능 모델의 구체적인 압축 프로세스에 관하여는 도 2에서 구체적으로 설명하기로 한다.
전자 장치는 범용 인공지능 모델(10)을 기초로 압축된 인공지능 모델의 성능에 기초하여 범용 인공지능 모델(10)을 반복적으로 압축할 수 있다. 본 개시에서 인공지능 모델의 성능은 학습된 인공지능 모델의 테스트 결과 입력 값에 대한 출력 값이 목표 값에 일치하거나 근접한 경우의 수를 나타낸다.
구체적으로, 전자 장치는 범용 인공지능 모델(10)을 압축한 후 압축된 인공지능 모델을 학습시키고 테스트할 수 있다. 이때, 전자 장치는 학습된 인공지능 모델의 성능이 기설정된 범위 내일 때까지 인공지능 모델을 반복적으로 압축할 수 있다. 가령, 전자 장치는 범용 인공지능 모델을 기초로 압축된 인공지능 모델의 성능이 79% 이상 82% 이하가 될 때까지 인공지능 모델을 반복적으로 압축할 수 있다. 한편, 이는 일 실시 예이며, 전자 장치는 인공지능 모델의 성능이 기 설정된 임계값(가령, 82%)이하가 될 때까지 인공지능 모델을 반복적으로 압축할 수도 있다.
전자 장치는 압축된 인공지능 모델의 성능이 기 설정된 성능이 될 때까지 압축한 후, 학습 데이터 셋을 재구성할 수 있다(S120).
구체적으로, 전자 장치는 압축된 인공지능 모델의 성능이 기설정된 범위 내(또는 기설정된 임계 값 이하)에 도달한 이후에도 압축 프로세스에 의하여 추가적으로 압축할 수 있는데, 이때 추가적으로 압축된 인공지능 모델의 성능을 향상시키기 위하여 학습 데이터 셋을 재구성할 수 있다.
더욱 구체적으로, 전자 장치는 기 설정된 룰에 기초하여 범용 인공지능 모델(10)을 학습시킨 학습 데이터를 복수의 데이터 셋으로 분류하고, 분류된 복수의 데이터 셋 중 적어도 하나의 데이터 셋을 선택하여 학습 데이터 셋을 재구성할 수 있다. 학습 데이터 셋의 재구성과 관련하여서는 도 2에서 구체적으로 설명하도록 한다.
전자 장치(100)는 기설정된 룰에 따라 학습 데이터로부터 재구성된 학습 데이터 셋을 이용하여 추가적으로 압축된 인공지능 모델을 학습시킬 수 있다. 이때, 추가적으로 압축된 인공지능 모델은 범용 인공지능 모델을 학습시킨 학습 데이터의 일부에 대응되는 학습 데이터 셋으로 학습된다는 점에서, 전용 인공지능 모델(20, 30)이 될 수 있다. 가령, 재구성된 학습 데이터 셋 A를 이용하여 학습된 인공지능 모델은 A 전용 인공지능 모델(20)이 될 수 있다.
예를 들어, 음성 인식 기술에서 학습 데이터가 스마트폰에서 사용되는 음성 데이터였고, 범용 인공지능 모델이 스마트폰 기반 음성인식 모델이었다면, 재구성된 학습 데이터 셋은 초기 학습 데이터에서 선택된 TV에서 사용되는 음성 데이터가 될 수 있으며, 재구성된 학습 데이터 셋에 의해 학습된 인공지능 모델은 TV 기반 음성인식 모델이 될 수 있다.
전용 인공지능 모델은 범용 인공지능 모델을 압축한 모델이라는 점에서, 범용 인공지능 모델보다 크기가 작을 수 있다. 특히, 전용 인공지능 모델에 포함된 복수의 노드 간 연결과 관련된 데이터의 크기는 범용 인공지능 모델에 포함된 복수의 노드 간 연결과 관련된 데이터의 크기보다 작을 수 있다.
그리고, 전자 장치(100)는 A 전용 인공지능 모델을 전자 장치에 저장할 수 있다(S110).
한편, 전자 장치(100)는 A 전용 인공지능 모델의 성능을 확인하면서 A 전용 인공지능 모델(20)을 계속적으로 압축 및 학습시킬 수 있다. A 전용 인공지능 모델(20)의 성능이 기설정된 조건을 만족하는 경우, 전자 장치는 기설정된 룰에 기초하여 학습 데이터로부터 데이터 셋을 다시 재구성하여 데이터 셋 B를 생성할 수 있으며, 데이터 셋 B를 이용하여 B 전용 인공지능 모델(30)을 학습시킬 수 있다. 또한, 전자 장치는 학습된 B 전용 인공지능 모델(30)을 전자 장치에 저장할 수 있다. 이에 대한 설명은 상술한 범용 인공지능 모델의 압축 및 데이터 셋 재구성과 중복되는바, 자세한 설명은 생략하도록 한다.
이와 같이, 전자 장치(100)는 초기 범용 인공지능 모델에 대한 압축 및 학습 데이터 셋의 재구성을 반복적으로 수행하면서, 다양한 크기와 용도의 전용 인공지능 모델을 생성할 수 있다. 이때, 생성된 다양한 크기의 인공지능 모델은 기설정된 룰에 따라 선택된 데이터 셋에 의하여 학습되었다는 점에서 일정 수준의 성능을 나타낼 수 있다.
도 2는 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 설명하기 위한 도면이다. 도 2를 참조하면, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함한다. 본 개시에 따른 인공지능과 관련된 기능은 프로세서(120)와 메모리(110)를 통해 동작된다.
메모리(110)는 전자 장치(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(100)의 구성요소와 관련된 적어도 하나의 인스트럭션 또는 데이터를 저장하기 위한 구성이다. 인스트럭션은 프로그래밍 작성 언어에서 프로세서(120)가 직접 실행할 수 있는 하나의 동작 문장(action statement)를 의미하며, 프로그램의 실행 또는 동작에 대한 최소 단위이다.
프로세서(120)는 메모리(110)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 후술할 다양한 실시 예들에 따른 동작을 수행할 수 있다.
메모리(110)는 전자 장치(100)의 동작에 필요한 각종 프로그램 및 데이터 등을 저장하기 위한 구성요소이다. 메모리(110)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(110)는 프로세서(120)에 의해 액세스되며, 프로세서(120)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(110), 프로세서(120) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다.
메모리(110)에는 복수의 레이어를 포함하는 인공지능 모델에 관한 정보가 저장되어 있을 수 있다. 이때, 메모리(110)에 저장된 인공지능 모델은 범용 인공지능 모델이거나, 범용 인공지능 모델을 압축한 전용 인공지능 모델일 수 있다. 구체적으로, 메모리(110)는 범용 인공지능 모델, 전용 인공지능 모델 또는 전용 인공지능 모델의 압축 파라미터 정보 등이 저장될 수 있다.
또한, 메모리(110)에는 범용 인공지능 모델을 학습시키는 학습 데이터가 저장되어 있을 수 있다. 구체적으로, 메모리(110)에는 전용 인공지능 모델을 학습시킨 학습 데이터 셋에 관한 정보가 저장되어 있을 수 있다. 이때, 학습 데이터 셋 및 학습 데이터 셋에 의해 학습된 전용 인공지능 모델에 관한 정보가 대응되어 메모리(110)에 저장될 수 있다.
그리고, 메모리(110)에는 학습 데이터에서 전용 인공지능 모델을 학습시킬 학습 데이터 셋을 선택하기 위한 룰(규칙)이 저장될 수 있다.
뿐만 아니라, 메모리(110)에는 인공지능 모델을 압축하기 위한 인공지능 모델 압축 모듈(111) 및 인공지능 모델 압축에 따른 학습 데이터를 재구성하기 위한 학습 데이터 재구성 모듈(112)이 저장될 수 있다.
인공지능 모델 압축 모듈(111)은 메모리(110)에 저장된 범용 인공지능 모델 또는 전용 인공지능 모델을 압축하여 또 다른 전용 인공지능 모델을 생성하여 제공할 수 있다.
구체적으로, 인공지능 모델 압축 모듈(111)은 데이터 압축 알고리즘을 사용하여 인공지능 모델을 압축하여 전용 인공지능 모델을 생성할 수 있다. 이때, 인공지능 모델 압축 모듈(111)은 인공지능 모델의 각 레이어에 서로 다른 압축 알고리즘을 적용할 수 있다.
인공지능 모델 압축 모듈(111)은 Matrix Factorization, Non-negative Matrix Factorization, Singular Value Decomposition, Eigen Value Decomposition와 같은 Low Rank Approximation 알고리즘, Pruning 알고리즘 및 Quantization 알고리즘과 같은 데이터 압축 알고리즘을 사용하여 인공지능 모델을 압축할 수 있다.
이와 관련하여 SVD (Singular Value Decomposition) 알고리즘(특이값 분해 알고리즘)을 살펴보면, SVD 알고리즘은 행렬을 특정한 구조로 분해하여 행렬의 크기를 줄이는 알고리즘이다. SVD 알고리즘은 아래와 같이 행렬 M을 행렬 U, Σ, V *곱으로 나타내어 행렬 M을 분해할 수 있다.
M = UΣV *
여기에서 M은 m x n 크기를 가지는 행렬이고, U는 m x m 크기를 가지는 직교 행렬(유니터리 행렬)이며, V는 n x n 크기를 가지는 직교 행렬(유니터리 행렬)이며, V *는 V의 켤레전치 행렬이다. 또한, Σ는 m x n 크기를 가지며 대각선 상에 있는 원소의 값은 음수가 아니며 나머지 원소의 값이 모두 0인 대각 행렬이다.
M은 인공 신경망의 하나의 레이어에 포함된 가중치 데이터들에 대응되는 행렬로, 하나의 레이어는 적어도 하나의 M을 포함할 수 있다.
즉, 인공지능 모델 압축 모듈(111)은 하나의 레이어에 포함된 가중치 데이터에 대응되는 M을 복수의 행렬로 U, Σ, V *의 곱으로 나타내어 압축을 수행할 수 있다.
SVD (Singular Value Decomposition) 알고리즘을 이용하는 경우, 인공지능 모델 압축 모듈(121)은 rank의 값을 변경하면서 인공지능 모델을 순차적으로 압축할 수 있다.
구체적으로, 인공지능 모델 압축 모듈(111)은 입력되는 rank의 값에 따라 Σ을 결정할 수 있다. 여기에서 rank는 인공지능 모델의 압축률을 결정하는 파라미터로, rank는 Σ의 원소 중 0이 아닌 값을 가지는 원소의 개수를 나타낸다. 인공지능 모델 압축 모듈(121)은 Σ의 원소에서 음수가 아닌 값 중 크기가 큰 rank 개의 원소만을 제외하고, 나머지 원소를 0으로 할 수 있다. 가령, rank의 값이 64인 경우, 인공지능 모델 압축 모듈(121)은 Σ에 포함된 음수가 아닌 값 중 크기가 큰 상위 64개의 원소만을 제외하고 나머지 값을 0으로 하여 Σ을 결정할 수 있다. 이때, Σ의 크기는 64 x 64가 될 수 있다.
그리고, 인공지능 모델 압축 모듈(111)은 Σ의 크기에 기초하여 U, V *의 크기를 결정할 수 있다.
이와 관련하여, 도 3a는 Σ의 크기에 기초하여 U, V *의 크기를 결정하는 SVD 알고리즘을 보다 구체적으로 설명하기 위한 도면이다.
도 3a에 도시된 바와 같이, 가령, M이 1536 x 1536 크기의 행렬이고 rank가 256라고 가정할 경우(case 1), 상술한 바와 같이 Σ의 크기는 256 x 256이고, U의 크기는 1536 x 256가 될 수 있고 V *의 크기는 256 x 1536이 될 수 있다. 이 경우, SVD 알고리즘에 의해 생성된 U, Σ, V *의 행렬곱은 (1536 x 256) + (256 x 256) + (256x 1536)(= 851,968)의 크기를 가진다는 점에서 M (1536 x 1536 = 2,359,296)보다 작은 사이즈일 수 있다.
한편, M이 1536 x 1536 크기의 행렬이고 rank가 128라고 가정할 경우(case 2), 상술한 바와 같이 Σ의 크기는 128 x 128이고, U의 크기는 1536 x 128가 될 수 있고 V *의 크기는 128 x 1536이 될 수 있다. 이 경우, SVD 알고리즘에 의해 생성된 U, Σ, V *의 행렬곱은 (1536 x 128) + (128 x 128) + (128 x 1536)(=409,600)의 크기를 가진다는 점에서 M (1536 x 1536 = 2,359,296)보다 작은 사이즈일 수 있다.
한편, 도 3a에서는 행렬 M에서 rank 값에 따라 여러 개의 압축 행렬이 생성되는 것으로 도시하였으나, 반드시 이에 한하는 것은 아니다.
경우에 따라, SVD 알고리즘을 이용하여 압축된 압축 행렬에 SVD 알고리즘이 재적용되어 압축 행렬이 생성될 수도 있다. 예를 들어, rank 값이 256로 압축된 압축 행렬에 대하여 SVD 알고리즘을 적용하여 rank 값이 128인 압축 행렬이 생성될 수도 있다.
이와 같이, 인공지능 모델 압축 모듈(111)은 SVD 알고리즘의 rank의 값을 변경하면서 인공지능 모델을 순차적, 반복적으로 압축할 수 있다. 이때, rank의 값이 작아질수록 압축률이 커진다는 점에서, 인공지능 모델 압축 모듈(121)은 rank의 값을 순차적으로 작게 하면서 인공지능 모델의 크기를 순차적, 반복적으로 줄일 수 있다.
도 3a 에서는 하나의 행렬 M에 대하여 압축을 수행하는 경우만을 도시하였으나, 인공지능 모델 압축 모듈(111)은 하나의 레이어에 포함된 복수의 M에 대하여 압축을 수행할 수도 있다.
도 3b는 복수의 행렬 M에 대하여 압축을 수행하는 경우를 설명하기 위한 도면이다. 상술한 바와 같이, 인공지능 모델에 포함된 하나의 레이어는 적어도 하나의 M을 포함할 수 있다. 도 3b의 M a1, M a2, M a3, M a4, M b1, M b2, M b3, 및 M b4은 인공지능 모델의 하나의 레이어에 포함된 M을 나타낸다. 도 3b에서는 편의상 Σ에 관한 기재를 생략하였다.
인공지능 모델 압축 모듈(111)은 도 3a에서 상술한 바와 같이, 하나의 M에 대하여 SVD 알고리즘을 적용하여 인공지능 모델을 압축할 수도 있다(case 1). 이 경우, 크기가 1024 x 1024 (=8,388,608)인 각 M에 대한 rank의 값이 256이라고 가정할 경우, U의 크기는 1024 x 256, V의 크기는 256 x 1024가 될 수 있다. 그리고, SVD를 적용하여 압축된 레이어의 크기(편의상 Σ의 크기 생략)는 8x(1024 x 256)+8x(256 x 1024) (= 4,194,304)로 M의 크기 1024 x 1024 (=8,388,608) 보다 줄어든 것을 알 수 있다.
한편, 인공지능 모델 압축 모듈(111)은 복수의 매트릭스를 결합하여 SVD 알고리즘을 적용할 수도 있다.
구체적으로, 인공지능 모델 압축 모듈(111)은 M의 특성에 기초하여 하나의 레이어에 포함된 복수의 M 중 SVD 알고리즘을 적용할 복수의 M을 선택할 수 있다.
가령, 인공지능 모델 압축 모듈(111)은 M a1, M a2, M a3, M a4, M b1, M b2, M b3, 및 M b4 중 M a1, M a2, M a3 및 M a4이 공통된 특성을 가지고 있다고 판단하여 M a1, M a2, M a3 및 M a4를 결합(M a)하여 SVD 알고리즘을 적용하고, M b1, M b2, M b3, 및 M b4 이 공통된 특성을 가지고 있다고 판단하여 M b1, M b2, M b3, 및 M b4 을 결합(M b)하여 SVD 알고리즘을 적용할 수 있다(case 2). 이 경우, 인공지능 모델 압축 모듈(111)은 4096 x 1024 크기의 M a 및 M b 각각에 대하여 SVD 알고리즘을 적용하게 된다. 각각의 M에 대한 rank를 256으로 한 경우, 인공지능 모델 압축 모듈(111)은 각각의 M에 대하여 1024 x 256 크기의 U, 256 x 1024 크기의 V를 생성할 수 있다. 이 경우, 압축된 레이어의 크기는 2x(1024 x 256)+2x(256 x 1024) (= 1,835,008)로 원래 M의 크기 및 case 1의 경우보다 줄어든 것을 알 수 있다.
한편, case 2에서 인공지능 모델 압축 모듈(111)이 (M a1, M a2, M a3 및 M a4) 및 (M b1, M b2, M b3, 및 M b4)을 결합한 것으로 도시하였으나, 반드시 이에 한하는 것은 아니며, 인공지능 모델 압축 모듈(111)은 다양한 형태로 복수의 M을 결합할 수 있다. 가령, 인공지능 모델 압축 모듈(111)은 M a1, M a2, M b1 및 M b2를 하나의 M으로 결합하고, M a3, M a4, M b3, 및 M b4를 또 다른 하나의 M으로 결합할 수 있음은 물론이다.
또 다른 실시 예로, 인공지능 모델 압축 모듈(111)은 하나의 레이어에 포함된 복수의 M a1, M a2, M a3, M a4, M b1, M b2, M b3, 및 M b4 전부를 결합(M)하여 SVD 알고리즘을 적용할 수도 있다(case 3). SVD 알고리즘의 rank가 256라고 가정할 경우, 인공지능 모델 압축 모듈(111)은 4096 x 256 크기의 하나의 U 및 256 x 2048크기의 하나의 V를 생성할 수 있다. 이 경우, 압축된 레이어의 크기는 (4096 x 256)+(256 x 2048) (= 1,572,864)로 원래 M의 크기, case 1 및 case 2의 경우보다 줄어든 것을 알 수 있다.
이와 같이, 인공지능 모델 압축 모듈(111)은 하나의 행렬 M에 대한 rank를 변화하면서 인공지능 모델을 압축하거나(도 3a), 결합되는 복수의 M의 크기를 다르게 하여 인공지능 모델을 압축할 수도 있다(도 3b).
한편, 인공지능 모델 압축 모듈(111)은 인공지능 모델에 대한 압축 파라미터를 결정하고, 결정된 압축 파라미터에 따라 인공지능 모델을 압축 및 학습시킬 수 있다.
구체적으로, 인공지능 모델 압축 모듈(111)은 인공지능 모델의 각 레이어에 대한 '계층 압축 파라미터', 각 레이어의 압축 순서를 나타내는 '단위 압축 파라미터', 압축 방법을 나타내는 '압축 방법 파라미터', 압축률을 나타내는 '압축률 파라미터'를 결정할 수 있다. 여기에서, '계층 압축 파라미터'는 '단위 압축 파라미터'를 포함하고, '단위 압축 파라미터'는 '압축 방법 파라미터' 및 '압축률 파라미터'를 포함할 수 있다. 압축률 파라미터와 관련하여, Matrix Factorization, Non-negative Matrix Factorization, Singular Value Decomposition, Eigen Value Decomposition와 같은 Low Rank Approximation 알고리즘은 rank 또는 하나의 레이어에 포함된 복수의 M 중 결합되는 적어도 하나의 M에 관한 정보가 압축률 파라미터가 될 수 있다. Pruning 알고리즘의 경우, Pruning ratio, Pruning structure 또는 Pruning unit이 압축률 파라미터가 될 수 있으며, Quantization 알고리즘의 경우 Quantization 방법(linear, non-linear, vector quantization, lattice quantization 등) 또는 Quantized 비트 수가 압축률 파라미터가 될 수 있다.
가령, n개의 레이어를 포함하는 인공지능 모델에서 인공지능 모델 압축 모듈(111)이 제3 레이어를 1순위로 SVD 알고리즘(rank=100)을 사용하여 압축하기로 결정한 경우, '계층 압축 파라미터'는 제3 레이어, '단위 압축 파라미터'는 1, 압축 방법 파라미터는 SVD, 압축률 파라미터는 100이 될 수 있다. 또한, 인공지능 모델 압축 모듈(111)이 제1 레이어를 제2 순위로 vector quantization 알고리즘(비트 수 4)을 사용하여 압축하기로 한 경우, '계층 압축 파라미터'는 제1 레이어, '단위 압축 파라미터'는 2, 압축 방법 파라미터는 vector quantization, 압축률 파라미터는 4가 될 수 있다. 한편, 반드시 이에 한정되는 것은, 실시 예에 따라 파라미터의 종류 및 값은 다양할 수 있다.
한편, 계층 압축 파라미터, 단위 압축 파라미터, 압축 방법 파라미터 및 압축률 파라미터가 계층적 구조인 것으로 상술하였으나, 반드시 이에 한하는 것은 아니며, 각 파라미터가 각각 별개의 파라미터로 병렬적인 데이터일수도 있다.
인공지능 모델 압축 모듈(111)은 인공지능 모델에 대한 압축을 수행한 후 생성된 인공지능 모델을 학습시킬 수 있다. 구체적으로, 인공지능 모델 압축 모듈(111)은 학습 데이터 또는 학습 데이터로부터 재구성된 학습 데이터 셋을 이용하여 압축된 인공지능 모델을 학습시킬 수 있다.
그리고, 인공지능 모델 압축 모듈(111)은 인공지능 모델의 추가 압축 여부를 판단할 수 있다. 구체적으로, 인공지능 모델 압축 모듈(111)은 테스트 데이터를 이용하여 학습된 인공지능 모델을 테스트하여 인공지능 모델의 성능을 판단하고, 인공지능 모델의 추가 압축 여부를 판단할 수 있다.
가령, 인공지능 모델 압축 모듈(111)은 압축된 인공지능 모델의 성능이 기설정된 값(가령, 제2 임계값) 이상인 경우, 인공지능 모델에 대한 압축을 추가적으로 수행할 수 있다.
그러나, 압축된 인공지능 모델의 성능이 제1 임계값 이상 제2 임계값 이하인 경우, 인공지능 모델 압축 모듈(111)은 인공지능 모델에 대한 압축을 중단할 수 있다. 다만, 인공지능 모델 성능의 기준은 일 실시 예일 뿐이며, 인공지능 모델 압축 모듈(111)은 인공지능 모델 성능이 기설정된 값 이하인 경우 인공지능 모델에 대한 압축을 중단할 수도 있다.
학습 데이터 재구성 모듈(112)은 학습 데이터를 재구성하기 위한 모듈이다. 구체적으로, 학습 데이터 재구성 모듈(112)은 인공지능 모델에 대한 성능이 임계값 이하가 되어 인공지능 모델에 대한 압축이 중단된 경우 학습 데이터를 재구성하기 위한 모듈이다.
학습 데이터 재구성 모듈(112)은 기저장된 룰을 이용하여 학습 데이터를 재구성할 수 있다. 여기에서, 룰은 최초 인공지능 모델 또는 압축된 인공지능 모델이 학습한 학습 데이터에서 특정한 데이터를 추출하기 위한 규칙을 의미한다.
룰의 일 예시로, 학습 데이터 재구성 모듈(112)은 학습 데이터의 특징 정보를 추출하고, 추출된 특징 정보를 기초로 학습 데이터를 복수의 학습 데이터 셋으로 분류할 수 있다. 여기에서, 학습 데이터의 특징 정보는 학습 데이터들의 특징 벡터를 의미하는 것으로, 구체적으로 학습 데이터에 포함된 복수의 요소 중 일정한 패턴 또는 규칙이 있는 요소를 벡터로 나타낸 것을 의미할 수 있다.
그리고, 학습 데이터 재구성 모듈(112)은 분류된 복수의 학습 데이터 셋 중 적어도 하나의 학습 데이터 셋을 선택하여 학습 데이터를 재구성할 수 있다. 이때, 학습 데이터 재구성 모듈(112)은 특징 벡터 값이 인접한 복수의 학습 데이터 셋을 선택하여 학습 데이터를 재구성할 수 있다. 다만 이는 일 실시 예이며, 학습 데이터 셋은 다양한 기준에 따라 복수의 학습 데이터 셋을 조합할 수 있다. 가령, 학습 데이터 재구성 모듈(112)은 전자 장치(100)에 연산(또는 추론)의 입력 값으로 입력되는 타겟 데이터에 대응되는 학습 데이터 셋을 선택하여 학습 데이터를 재구성할 수도 있다.
룰의 또 다른 실시 예로, 학습 데이터 재구성 모듈(112)은 테스트 데이터를 이용하여 압축된 인공지능 모델을 테스트한 결과를 기초로 학습 데이터 셋을 재구성할 수 있다. 이때, 테스트 데이터는 학습 데이터와 공통된 특징 정보를 가지는 데이터이나 학습 데이터와는 상이한 데이터를 나타낸다.
구체적으로, 학습 데이터 재구성 모듈(112)은 인공지능 모델 압축 모듈(111)이 인공지능 모델의 성능을 판단하기 위하여 인공지능 모델을 테스트한 결과를 기초로, 테스트 데이터를 복수의 테스트 데이터 셋으로 분류할 수 있다. 가령, 학습 데이터 재구성 모듈(112)은 인공지능 모델이 입력 값에 대한 결과 값으로 목표 값을 출력하였는지 여부를 기초로, 테스트 데이터 셋을 목표 값을 출력한 테스트 데이터 셋, 목표 값에 근접한 테스트 데이터 셋, 및 목표 값에 도달하지 못한 테스트 데이터 셋으로 분류할 수 있다.
여기에서 학습 데이터 재구성 모듈(112)은 목표 값에 도달하지 못한 테스트 데이터 셋을 제외하고, 목표 값을 출력한 테스트 데이터 셋 및 목표 값에 근접한 테스트 데이터 셋을 이용하여 학습 데이터를 재구성할 수 있다. 구체적으로, 학습 데이터 재구성 모듈(112)은 학습 데이터 중 목표 값을 출력한 테스트 데이터 셋 및 목표 값에 근접한 테스트 데이터 셋에 대응되는 학습 데이터 셋을 선택하여 학습 데이터 셋을 재구성할 수 있다.
한편, 룰의 또 다른 실시 예로, 학습 데이터 재구성 모듈(112)은 사용자의 입력에 기초하여 학습 데이터 셋을 재구성할 수도 있다. 전자 장치(100)는 사용자로부터 학습 데이터 설정 정보를 수신할 수 있는데, 학습 데이터 재구성 모듈(112)은 사용자로부터 수신한 학습 데이터 설정 정보를 이용하여 학습 데이터 셋을 재구성할 수 있다.
가령, '메신저에서의 기계 번역' 서비스를 원하는 사용자가 학습 데이터 설정 정보로 '메신저용 기계 번역'을 입력한 경우, 학습 데이터 재구성 모듈(112) 메신저에서 사용되는 용어나 단문의 문장을 기계 번역하기 위한 학습 데이터를 선택하여 학습 데이터 셋을 재구성할 수 있다.
이와 같이, 학습 데이터 재구성 모듈(112)은 기저장된 룰을 이용하여 학습 데이터를 재구성할 수 있다.
프로세서(120)는 메모리(110)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. 예를 들어, 프로세서(120)는 운영 체제 또는 응용 프로그램을 구동하여 프로세서(120)에 연결된 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 또한, 프로세서(130)는 다른 구성요소들 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장할 수 있다.
이를 위해, 프로세서(120)는 해당 동작을 수행하기 위한 전용 프로세서(예, 임베디드 프로세서) 또는 메모리 디바이스에 저장된 하나 이상의 소프트웨어 프로그램을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU (Central Processing Unit) 또는 application processor)로 구현될 수 있다.
본 개시에서, 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU(central processing unit), AP(application processor), DSP(digital signal processor) 등과 같은 범용 프로세서, GPU(graphics-processing unit), VPU(vision processing unit)와 같은 그래픽 전용 프로세서 또는 NPU(numeric process unit)와 같은 인공지능 전용 프로세서일 수 있다.
프로세서(120)는 디지털 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), GPU(graphics-processing unit) 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
하나 또는 복수의 프로세서는, 메모리(110)에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
프로세서(120)는 비휘발성 메모리에서 휘발성 메모리로 인공지능 모델 압축 모듈(111) 및 학습 데이터 재구성 모듈(112)을 로딩(loading)할 수 있다. 비휘발성 메모리는 전력 공급이 중단되더라도 저장된 정보를 유지할 수 있는 메모리(예를 들어, 플래시 메모리(Flash Memory), PROM(Programmable Read-Only Memory), MRAM(Magnetoresistive Random-Access Memory) 및 RRAM(Resistive RAM))를 말한다. 그리고, 휘발성 메모리는 저장된 정보를 유지하기 위해서는 지속적인 전력 공급이 필요한 메모리(예를 들어, DRAM(Dynamic Random-Access Memory) 및 SRAM(Static RAM))를 말한다. 그리고, 로딩(loading)이란 프로세서(120)가 액세스할 수 있도록 비휘발성 메모리에 저장된 데이터를 휘발성 메모리에 불러들여 저장하는 동작을 의미한다. 한편, 휘발성 메모리는 실시 예에 따라 프로세서(120)에 포함되거나, 프로세서(120)와 별개의 구성 요소로 구현될 수 있다.
프로세서(120)는 메모리(110)에 저장된 인공지능 모델 압축 모듈(111)을 이용하여 압축 인공지능 모델(전용 인공지능 모델)을 생성할 수 있다. 구체적으로, 프로세서(120)는 인공지능 모델 압축 모듈(111)을 이용하여 범용 인공지능 모델에서 다양한 크기의 전용 인공지능 모델을 생성할 수 있다. 이때, 생성되는 전용 인공지능 모델은 범용 인공지능 모델보다 크기가 작은 인공지능 모델로, 전용 인공지능 모델에 포함된 복수의 연결(가중치 연결)과 관련된 데이터의 크기는 범용 인공지능 모델에 포함된 복수의 노드 간 연결과 관련된 데이터의 크기보다 작다.
프로세서(120)는 메모리(110)에 저장된 학습 데이터 재구성 모듈(112)을 이용하여 재구성된 학습 데이터 셋을 획득할 수 있다.
프로세서(120)는 인공지능 모델 압축 모듈(111) 및 학습 데이터 재구성 모듈(112)을 이용하여 인공지능 모델의 압축, 학습 및 학습 데이터 셋의 재구성 과정을 반복함으로써, 다양한 사이즈의 전용 인공지능 모델을 생성할 수 있다.
이와 관련하여, 도 4는 본 개시의 다양한 실시 예에 따른 전자 장치의 동작을 설명하기 위한 설명하기 위한 흐름도이며, 도 5는 본 개시의 일 실시 예에 따라 학습 데이터로부터 재구성되는 학습 데이터 셋 및 하나의 인공지능 모델로부터 생성되는 복수의 전용 인공지능 모델을 설명하기 위한 도면이다.
도 2에서 상술한 바와 같이 메모리(110)에는 적어도 하나의 학습된 인공지능 모델 및 인공지능 모델을 학습시키는데 사용된 학습 데이터가 저장되어 있을 수 있다.
프로세서(120)는 메모리(110)에 저장된 적어도 하나의 인공지능 모델 및 인공지능 모델에 대응되는 학습 데이터를 선택할 수 있다(S410). 이때, 선택된 인공지능 모델은 범용 인공지능 모델 또는 범용 인공지능 모델로부터 압축되어 생성된 전용 인공지능 모델일 수 있다.
프로세서(120)는 선택된 인공지능 모델을 이용하여 전용 인공지능 모델을 생성할 수 있다.
전용 인공지능 모델을 생성하기 위하여, 프로세서(120)는 선택된 인공지능 모델을 압축하고, 학습 데이터를 이용하여 압축된 인공지능 모델을 학습시킬 수 있다(S420).
더욱 구체적으로, 프로세서(120)는 인공지능 모델 압축 모듈(111)을 이용하여 생성하고자 하는 전용 인공지능 모델의 크기와 관련된 압축 파라미터를 결정할 수 있다. 프로세서(120)는 선택된 인공지능 모델에 포함된 각각의 레이어에 대하여 계층 압축 파라미터, 단위 압출 파라미터, 압축 방법 파라미터 및 압축률 파라미터를 결정할 수 있다. 프로세서(120)는 결정된 파라미터를 기초로 선택된 인공지능 모델에 포함된 복수의 노드간 연결과 관련된 데이터의 크기를 감소시켜 선택된 인공지능 모델을 압축시킬 수 있다. 그리고, 프로세서(120)는 학습 데이터를 이용하여 선택된 인공지능 모델을 학습시킬 수 있다.
프로세서(120)는 선택된 인공지능 모델을 적어도 1회 이상 압축 및 학습시킬 수 있다.
이를 위하여, 프로세서(120)는 선택된 인공지능 모델을 학습시킨 후, 해당 인공지능 모델을 추가적으로 압축할 수 있는지 판단할 수 있다(S430). 구체적으로, 프로세서(120)는 압축된 인공지능 모델의 성능을 기초로 압축된 인공지능 모델에 대한 추가 압축 여부를 판단할 수 있다.
구체적으로, 프로세서(120)는 인공지능 모델 압축 모듈(111)을 이용하여 선택된 인공지능 모델을 압축하고, 선택된 학습 데이터를 이용하여 압축된 압축 인공지능 모델의 성능이 기설정된 임계값을 초과하는 경우, 인공지능 모델의 성능이 기설정된 임계값 이하가 될 때까지 선택된 인공지능 모델을 반복적으로 압축 및 학습시킬 수 있다.
프로세서(120)는 인공지능 모델의 성능이 기설정된 임계값 이하가 되는 경우, 즉, 선택된 인공지능 모델에 대한 재압축이 불가능하다고 판단되는 경우, 압축된 인공지능 모델을 학습 데이터에 대한 전용 인공지능 모델로 판단할 수 있다. 그리고, 압축된 인공지능 모델(전용 인공지능 모델)에 관한 정보 및 학습 데이터에 관한 정보를 메모리(110)에 저장할 수 있다(S440). 여기에서, 압축된 인공지능 모델에 관한 정보는 압축된 인공지능 모델의 크기, 압축 파라미터를 포함할 수 있다. 또한, 학습 데이터에 관한 정보를 압축된 인공지능 모델을 학습시키는데 이용된 학습 데이터의 특징 정보를 포함할 수 있다.
이와 관련하여, 도 5를 참조하면, 프로세서(120)는 메모리(110)에 저장된 학습 데이터 D 0(510) 및 인공지능 모델 N 0(520)을 선택하고, 인공지능 모델 N 0 (520)을 압축한 후 압축된 인공지능 모델을 학습 데이터 D 0 (510)을 이용하여 학습시킬 수 있다. 이때, 프로세서(120)는 압축된 인공지능 모델의 성능이 기설정된 임계값을 초과하는 경우, 인공지능 모델의 성능이 기설정된 임계값 이하가 될 때까지 선택된 인공지능 모델을 반복적으로 압축 및 학습시킬 수 있다. 그리고, 프로세서(120)는 압축된 인공지능 모델 N 0'의 성능이 기설정된 임계값 이하가 되는 선택된 인공지능 모델 N 0에 대한 재압축이 더 이상 불가능하다고 판단하여, 재압축을 중단할 수 있다. 이 경우, 프로세서(120)는 압축된 인공지능 모델 N 0'을 학습 데이터 D 0에 대한 전용 인공지능 모델로 판단할 수 있다. 그리고, 프로세서(120)는 압축된 인공지능 모델(즉, 전용 인공지능 모델) N 0' (521)에 관한 정보(N 0'의 크기, 압축 파라미터 정보) 및 이에 대한 학습 데이터에 관한 정보 (N 0' 를 학습시킨 학습 데이터의 특징 정보)를 메모리(110)에 저장할 수 있다.
다시 도 4를 참조하면, 프로세서(120)는 압축된 인공지능 모델 및 학습 데이터에 관한 정보를 메모리(110)에 저장한 후, 학습 데이터를 재구성할 수 있다(S450).
구체적으로, 프로세서(120)는 학습 데이터 재구성 모듈(112)을 이용하여 학습 데이터를 복수의 데이터 셋으로 분류하고, 기설정된 룰에 기초하여 분류된 복수의 학습 데이터 셋 중 일부를 선택할 수 있다. 학습 데이터를 재구성하는 구체적인 방법에 대하여서는 도 2에서 상술한 바 중복적인 설명은 생략한다.
이때, 프로세서(120)는 재구성된 학습 데이터가 기설정된 조건을 만족하는지 판단할 수 있다(S460). 여기에서, 기 설정된 조건은 학습데이터의 크기를 나타낼 수 있다. 즉, 프로세서(120)는 재구성된 학습 데이터의 크기가 기설정된 크기 이상인지 판단할 수 있다.
그리고, 프로세서(120)는 재구성된 학습 데이터가 기설정된 조건을 만족하는 경우(S460-Y), 압축 대상 인공지능 모델을 업데이트 할 수 있다(S470). 가령, 프로세서(120)는 선택된 학습 데이터 셋의 크기가 기설정된 크기 이상인 경우, 압축 대상 인공지능 모델을 업데이트 할 수 있다. 이때, 프로세서(120)는 메모리(110)에 저장된 전용 인공지능 모델 중 하나를 압축 인공지능 모델로 업데이트할 수 있다.
그리고, 프로세서(120)는 업데이트된 인공지능 모델(즉, 전용 인공지능 모델)을 압축하고, S450 단계에서 재구성된 학습 데이터를 이용하여 압축된 인공지능 모델을 학습시킬 수 있다(S420).
즉, 프로세서(120)는 S450 단계에서 선택된 학습 데이터 셋이 기설정된 조건을 만족하는 경우, 가령, 선택된 학습 데이터 셋의 크기가 기설정된 값 이상인 경우, 선택된 학습 데이터 셋을 이용하여 전용 인용지능 모델을 학습시킬 수 있다.
프로세서(120)는 전용 인공지능 모델을 적어도 1회 이상 반복적으로 압축하고, 선택된 학습 데이터 셋을 이용하여 압축된 전용 인공지능 모델을 학습시킬 수 있다.
이와 관련하여, 도 5를 참조하면, 프로세서(120)는 기설정된 룰에 따라 학습 데이터 D 0에 포함된 복수의 학습 데이터 셋 중 하나의 학습 데이터 셋 D 1(511)을 선택하여 학습 데이터를 재구성하고, 이전 단계에서 생성된 전용 인공지능 모델 N 0' (521)을 압축 대상 인공지능 모델 N 1 (521)로 업데이트 할 수 있다. 프로세서(120)는 인공지능 모델 N 1 (521)을 1회 이상 반복적으로 압축하고 학습 데이터 셋 D 1 (511)을 이용하여 인공지능 모델 N 1 (521)로부터 압축된 인공지능 모델을 학습시킬 수 있다. 프로세서(120)는 인공지능 모델 N 1 (521)을 기초로 압축되어 데이터 셋 D1으로 학습된 압축 인공지능 모델의 성능이 기설정된 임계값 이하가 될 때까지 압축하여 전용 인공지능 모델 N 1'(522)를 생성할 수 있다.
그 후, 프로세서(120)는, 상술한 과정과 동일한 과정을 통하여, 다시 기설정된 룰에 따라 학습 데이터 D 0에 포함된 복수의 학습 데이터 셋 중 하나의 학습 데이터 셋 D 2 (512)를 선택하여 학습 데이터를 재구성하고, 전용 인공지능 모델 N 2'를 생성할 수 있다.
이와 같이, 프로세서(120)는 초기 학습 데이터 D 0 (510) 및 초기 네트워크 모델 N 0(520)을 기초로, 다양한 크기의 전용 인공지능 모델(521, 522, 523)을 생성할 수 있다. 프로세서(120)는 초기 네트워크 모델 N 1(520)을 단계적으로 압축하고, 초기 학습 데이터 D 0을 단계적으로 재구성하여 단계적으로 다양한 크기의 전용 인공지능 모델(421, 422, 423)을 생성할 수 있다.
인공지능 모델을 압축하여 전용 인공지능 모델을 생성한 이후의 동작은 상술한 단계 S440, S450 및 S470과 동일한 바 중복적인 설명은 생략하도록 한다.
상술한 바와 같이, 프로세서(120)는 범용 인공지능 모델을 단계적, 반복적으로 압축하고 학습 데이터 셋으로 압축된 인공지능 모델을 학습시킴으로써, 복수의 전용 인공지능 모델을 생성할 수 있다. 이때, 프로세서(120)는 범용 인공지능 모델을 단계적, 반복적으로 압축하여 생성된 전용 인공지능 모델에 관한 정보 및 학습 데이터 셋에 관한 정보를 메모리(110)에 저장할 수 있다.
도 6은 본 개시의 일 실시 예에 따라, 메모리(110)에 저장되는 전용 인공지능 모델에 관한 정보 및 학습 데이터 셋에 관한 정보를 설명하기 위한 도면이다.
전용 인공지능 모델을 단계적으로 생성함에 따라, 프로세서(120)는 전용 인공지능 모델을 학습시키는 데 이용된 학습 데이터 셋에 관한 정보 및 전용 인공지능 모델에 관한 정보를 매핑하여 단계적으로 저장할 수 있다.
이때, 학습 데이터 셋에 관한 정보는 학습 데이터 셋의 특징 정보를 포함할 수 있다. 여기에서, 학습 데이터 셋의 특징 정보는 전용 인공지능 모델을 학습시키는데 이용된 학습 데이터들의 특징 벡터를 의미하는 것으로, 구체적으로 학습 데이터 셋에 포함된 복수의 요소 중 일정한 패턴 또는 규칙이 있는 요소를 벡터로 나타낸 것을 의미할 수 있다. 가령, 음성인식 모델의 학습 데이터의 경우, '시끄러운 환경', '노이즈가 없는 조용한 환경', '먼 거리의 음원', '가까운 거리의 음원', '많은 양의 단어가 필요한 받아쓰기', '많은 양의 단어가 필요한 음성 명령' 등이 학습 데이터 셋의 특징 정보가 될 수 있다.
전용 인공지능 모델에 관한 정보는, 전용 인공지능 모델의 크기, 전용 인공지능 모델의 압축 파라미터가 될 수 있다. 한편, 실시 예에 따라, 전용 인공지능 모델에 관한 정보 이외에도 생성된 전용 인공지능 모델 자체가 메모리(110)에 저장될 수 있다.
도 6에 도시된 바와 같이, 학습 데이터 셋에 관한 정보 및 전용 인공지능 모델에 관한 정보에 대한 메타 데이터가 압축 파라미터(compress parameter) 및 데이터 특징 정보를 포함하는 data description으로 설정된 경우, 프로세서(120)는 전용 인공지능 모델이 단계적으로 생성될 때마다 전용 인공지능 모델을 학습시키는데 이용한 학습 데이터 셋의 특징 정보 및 전용 인공지능 모델을 생성하는데 사용된 압축 파라미터를 저장할 수 있다.
가령, SVD 알고리즘에 rank R0를 적용하여 압축한 인공지능 모델을 학습한 학습 데이터가 D 0인 경우, 프로세서(120)는 압축 파라미터 rank R0 및 학습 데이터 특징 정보 D 0를 매핑하여 메모리(110)에 저장할 수 있다. 또한, SVD 알고리즘에 rank R1를 적용하여 압축한 인공지능 모델을 학습한 학습 데이터가 D 1인 경우, 프로세서(120)는 압축 파라미터 rank R1 및 학습 데이터 특징 정보 D 1를 매핑하여 메모리(110)에 저장할 수 있다. 마찬가지로, SVD 알고리즘에 rank R2를 적용하여 압축한 인공지능 모델을 학습한 학습 데이터가 D 2인 경우, 프로세서(120)는 압축 파라미터 rank R2 및 학습 데이터 특징 정보 D 2를 매핑하여 메모리(110)에 저장할 수 있다.
인공지능 모델에 대한 압축의 정도가 큰 경우(즉, rank의 값이 작은 경우), 학습 데이터 셋의 크기도 작아진다는 점에서, 도 6에 도시된 바와 같이 R의 값이 작아질수록 Data description에 포함된 데이터의 특징 정보의 양 또한 적어지는 것을 알 수 있다.
한편, 도 6에서는 압축 파라미터로 압축 방법 파라미터 및 압축률 파라미터만을 도시하였으나, 반드시 이에 한하는 것은 아니며, 계층 압축 파라미터 또는 단위 압축 파라미터가 추가되어 저장될 수도 있음은 물론이다.
다시 도 2로 돌아가서, 프로세서(120)는 다양한 크기의 전용 인공지능 모델 정보를 기초로, 전용 인공지능 모델을 생성하고 생성된 전용 인공지능 모델을 이용하여 연산을 수행할 수 있다.
구체적으로, 타겟 데이터가 입력되는 경우, 프로세서(120)는 다양한 크기의 전용 인공지능 모델 정보 중 타겟 데이터에 대한 연산을 수행하기 위한 전용 인공지능 모델에 관한 정보를 선택하고, 선택한 전용 인공지능 모델에 관한 정보를 기초로 전용 인공지능 모델을 생성할 수 있다. 여기에서, 타겟 데이터는 학습된 인공지능 모델을 이용하여 연산을 수행하기 위한 입력 데이터를 의미한다.
더욱 구체적으로, 프로세서(120)는 타겟 데이터가 학습 데이터에 포함된 복수의 학습 데이터 셋 중 하나의 학습 데이터 셋에 대응되는 경우, 타겟 데이터에 대응되는 학습 데이터 셋을 이용하여 학습된 전용 인공지능 모델의 정보를 식별할 수 있다. 여기에서, 타겟 데이터가 학습 데이터 셋에 대응된다는 것은 타겟 데이터의 특징 정보가 학습 데이터 셋의 특징 정보와 동일한 것을 의미한다. 가령, 타겟 데이터의 특징 정보가 '여성의 음성 데이터'이고, 학습 데이터 셋의 특징 정보가 '여성의 음성 데이터'인 경우 타겟 데이터 및 학습 데이터 셋의 특징 정보가 대응된다고 볼 수 있다.
이를 위하여, 프로세서(120)는 타겟 데이터의 특징 정보를 판단하고, 학습 데이터에 포함된 복수의 학습 데이터 셋의 특징 정보를 판단할 수 있다.
그리고, 프로세서(120)는 식별된 전용 인공지능 모델의 정보를 기초로 전용 인공지능 모델을 생성하고, 타겟 데이터를 생성된 전용 인공지능 모델의 입력 값으로 하여 타겟 데이터에 대한 출력 값을 획득할 수 있다.
이와 관련하여, 도 7a는 본 개시의 일 실시 예에 따라 전용 인공지능 모델을 이용하여 연산을 수행하는 전자 장치를 설명하기 위한 흐름도이다.
프로세서(120)는 타겟 데이터를 수신할 수 있다(S710-a). 구체적으로, 프로세서(120)는 사용자 또는 외부 전자 장치(미도시)로부터 타겟 데이터를 수신할 수 있다.
타겟 데이터가 입력되는 경우(S710-a), 프로세서(120)는 타겟 데이터에 대한 상황 정보를 분석할 수 있다(S720-a). 이때, 상황 정보는 전자 장치(100)에 입력되는 타겟 데이터의 특징 정보, 타겟 데이터가 입력될 때 타겟 데이터가 입력되는 전자 장치에 포함된 하드웨어 또는 소프트웨어에 관한 정보를 나타낼 수 있다.
예를 들어, 사용자가 전자 장치(100)의 마이크를 통하여 'OO은행까지의 경로를 알려줘'라고 발화한 경우(즉, 사용자가 타겟 데이터를 입력한 경우), 프로세서(120)는 음성 신호를 분석하여, 사용자 음성에 노이즈가 포함되어 있는지 여부, 전자 장치(100)와 사용자와의 거리가 가까운지 여부, 사용자의 성별, 나이 등과 같은 타겟 데이터의 특징 정보를 분석할 수 있다.
그리고, 프로세서(120)는 타겟 데이터를 연산하기 위한 소프트웨어 정보를 분석할 수도 있다. 가령, 프로세서(120)는 음성인식 모델 호출 어플리케이션의 ID를 식별하여, 사용자의 음성에 대한 받아쓰기(딕테이션, dictation) 또는 음성 명령(voice command)에 필요한 단어의 크기를 식별할 수 있다. 가령, 음성인식 모델 호출 어플리케이션의 ID가 주로 단문의 음성 명령을 하는 사용자에 대응되는 경우, 프로세서(120)는 받아쓰기 또는 음성 명령에 적은 량의 단어만 필요하다고 판단할 수 있다. 반대로, 음성인식 모델 호출 어플리케이션의 ID가 음성 명령을 자주 하면서 다양한 종류의 음성 명령을 하는 사용자에 대응되는 경우, 프로세서(120)는 받아쓰기 또는 음성 명령에 많은 량의 단어만 필요하다고 판단할 수 있다.
또한, 프로세서(120)는 타겟 데이터를 처리하기 위한 하드웨어 정보를 분석할 수도 있다. 가령, 프로세서(120)는 타겟 데이터가 입력된 당시의 WiFi, 블루투스 등의 네트워크 연결 정보를 분석하여 사용자가 실내에 있는지 또는 실외에 있는지를 판단할 수 있다. 또한, 프로세서(120)는 전자 장치(100)에 포함된 위치 센서, 가속도계 센서, 모션 센서 등의 센싱 정보를 분석하여, 사용자가 정지 중인 상태인지 또는 이동 중인지 여부를 판단할 수 있다.
프로세서(120)는 분석된 상황 정보를 기초로, 인공지능 모델의 압축 파라미터를 판단할 수 있다(S730-a). 구체적으로, 프로세서(120)는 타겟 데이터를 연산할 수 있는 최적의 압축 파라미터를 판단할 수 있다.
프로세서(120)는 메모리(110)에 저장된 학습 데이터 셋에 관한 정보 및 학습 데이터 셋을 이용하여 압축된 전용 인공지능 모델에 관한 정보를 기초로, 압축 파라미터를 판단할 수 있다.
프로세서(120)는 메모리(110)에 저장된 학습 데이터 셋에 관한 정보 중 상황 정보에 매칭되는 학습 데이터 셋에 관한 정보를 식별하고, 식별된 학습 데이터 셋과 관련된 압축 파라미터를 판단할 수 있다. 프로세서(120)는 메모리(110)에 저장된 복수의 학습 데이터 셋 중 타겟 데이터의 상황 정보와 일치하는 정보를 가장 많이 포함하는 학습 데이터 셋을 상황 정보에 매칭되는 학습 데이터 셋으로 판단하고, 판단된 학습 데이터 셋과 매핑되어 메모리(110)에 저장된 압축 파라미터를 식별할 수 있다. 실시 예에 따라, 메모리(110)에 저장된 복수의 학습 데이터 셋 중 타겟 데이터의 상황 정보와 일치하는 정보를 가장 많이 포함하는 학습 데이터 셋이 복수 개인 경우, 프로세서(120)는 복수의 학습 데이터 셋 중 크기가 가장 작은 학습 데이터 셋을 상황 정보에 매칭되는 학습 데이터 셋으로 판단하고, 판단된 학습 데이터 셋과 매핑된 압축 파라미터를 식별할 수 있다.
가령, 프로세서(120)는 타겟 데이터에 대한 상황 정보가 '먼 거리의 음원(Distant Sound Source)', '노이즈가 없는 조용한 환경(Clean Environment without noise)', '적은 양의 단어를 이용한 음성 명령(voice command (small amount of words))' 및 '받아쓰기(dictation)'로 분석된 경우, 프로세서(120)는 메모리(110)에 저장된 학습 데이터 셋에 관한 정보 중 상황 정보와 매핑되는 학습 데이터 셋을 식별할 수 있다. 도 6에 도시된 학습 데이터 셋에 관한 정보 및 전용 인공지능 모델에 대한 정보를 참조하면, 프로세서(120)는 메모리(110)에 저장된 학습 데이터 셋에 관한 정보 중 식별된 상황 정보에 포함된 정보를 모두 포함하는 학습 데이터 셋으로 D 0 및 D 1을 식별할 수 있다. 프로세서(120)는 D 0 및 D 1 중에서 크기가 작은 데이터 셋인 D 1을 상황 정보에 매칭되는 데이터 셋으로 식별할 수 있다. 그리고, 프로세서(120)는 식별된 데이터 셋 D 1 과 매핑되어 저장된 압축 파라미터 rank R1을 식별할 수 있다.
프로세서(120)는 압축 파라미터에 대응되는 전용 인공지능 모델을 검색할 수 있다(S740-a). 프로세서(120)는 메모리(110)에 저장된 복수의 전용 인공지능 모델 중 압축 파라미터에 대응되는 전용 인공지능 모델을 식별하고, 식별된 전용 인공지능 모델을 로딩할 수 있다.
이때, 로딩되는 전용 인공지능 모델은 메모리(110)에 저장된 범용 인공지능 모델보다 크기가 작은 압축 인공지능 모델이다. 이와 같이, 프로세서(120)는 크기가 작은 전용 인공지능 모델을 로딩하여 연산을 수행하기 때문에, 타겟 데이터에 대한 연산량을 줄일 수 있고, 처리 속도를 향상시킬 수 있으며, 전자 장치(100)의 자원(가령, 메모리, CPU, GPU 등)을 낭비하지 않게 되어 자원의 효용성을 높일 수 있게 된다.
프로세서(120)는 전용 인공지능 모델을 기초로 타겟 데이터에 대한 출력 값을 획득할 수 있다(S750-a). 구체적으로, 프로세서(120)는 S740 단계에서 획득한 전용 인공지능 모델에 타겟 데이터를 입력 값으로 하여, 타겟 데이터에 대한 출력 데이터를 획득할 수 있다. 그리고, 프로세서(120)는 획득한 출력 데이터를 디스플레이, 스피커와 같은 출력 인터페이스(미도시)를 통하여 사용자에게 제공할 수 있다.
상술한 실시 예는 메모리(110)에 전용 인공지능 모델이 저장된 경우에 관한 것이다.
한편, 실시 예에 따라 메모리(110)에 전용 인공지능 모델이 저장되지 않은 경우 프로세서(120)는 압축 파라미터가 반영된 전용 인공지능 모델을 생성할 수도 있다. 이 경우, 프로세서(120)는 메모리(110)에 저장된 인공지능 모델에 압축 파라미터를 적용하여 압축 파라미터에 대한 전용 인공지능 모델을 생성할 수 있다.
도 7b는 본 개시의 일 실시 예에 따라 압축 파라미터가 반영된 전용 인공지능 모델을 이용하여 연산을 수행하는 전자 장치를 설명하기 위한 흐름도이다.
도 7b의 S710-b, S720-b 및 S730-b의 단계는 도 7a의 S710-a, S720-a 및 S730-a의 단계와 동일한 바, 중복되는 내용에 대한 설명은 생략하기로 한다.
프로세서(120)는 전자 장치(100)에 입력된 타겟 데이터에 대한 상황 정보를 기초로 압축 파라미터를 판단(S730-b)한 후, 압축 파라미터가 반영된 전용 인공지능 모델을 이용하여 타겟 데이터에 대한 출력 값을 획득할 수 있다(S740-b).
구체적으로, 프로세서(120)는 메모리(110)에 저장된 인공지능 모델에 압축 알고리즘을 적용하여 압축된 전용 인공지능 모델을 로딩할 수 있다. 이때, 압축 알고리즘은 S730-b 단계에서 판단된 압축 파라미터가 입력 값으로 적용된 알고리즘일 수 있다.
가령, 메모리(110)에 범용 인공지능 모델에 관한 정보로 m x n 크기의 행렬M이 저장되어 있다고 가정하자. 이때, 상황 정보에 기초하여 판단된 압축 파라미터가 R1인 경우, 프로세서(120)는 행렬 M에 압축 파라미터 R1을 입력 값으로 하는 SVD 알고리즘을 적용하여 행렬M에 대한 압축 행렬인 행렬 U (m x R1 크기) 및 행렬 V * (R1 x n 크기)을 획득할 수 있다.
프로세서(120)는 압축 행렬 행렬 U 및 행렬 V * 를 이용하여 타겟 데이터에 대한 출력값을 획득할 수 있다. 프로세서(120)는 타겟 데이터를 행렬 U 및 행렬 V * 의 곱행렬의 입력 값으로 하여 타겟 데이터에 대한 출력값을 획득할 수 있다.
이와 같이, 프로세서(120)는 타겟 데이터에 대한 상황 정보를 기초로 압축 파라미터를 판단하고, 판단된 압축 파라미터를 메모리(110)에 저장된 인공지능 모델에 반영한 전용 인공지능 모델을 이용하여 타겟 데이터에 대한 출력값을 생성할 수 있다. 이 경우, 프로세서(120)는 압축 알고리즘 적용하는 연산을 1회만 수행하여 입력 값에 대한 출력값을 획득할 수 있게 된다.
한편, 전자 장치(100) 타겟 데이터에 대한 연산을 실시하는 예는 도 7a 및 도 7b에 한정되는 것은 아니다. 또 다른 실시 예로 프로세서(120)는 메모리(110)에 저장된 인공지능 모델을 로딩하고, S730-a 또는 S730-b 단계에서 판단된 압축 파라미터를 이용하여 범용 인공지능 모델에 대한 전용 인공지능 모델을 생성할 수 있다. 이 경우에도, 프로세서(120)는 압축 알고리즘을 적용하는 연산을 1회만 사용하여 전용 인공지능 모델을 생성할 수 있다.
한편, 도 4 내지 도 7에서는 각 단계에서 하나의 전용 인공지능 모델이 생성되는 것으로 설명하였으나, 반드시 이에 한하는 것은 아니다.
도 8은 인공지능 모델로부터 복수의 전용 인공지능 모델을 생성하는 전자 장치를 설명하기 위한 도면이다.
도 8에 도시된 바와 같이, 프로세서(120)는 각 단계에서 복수의 전용 인공지능 모델을 생성할 수 있다. 구체적으로, 프로세서(120)는 각 단계에서 서로 다른 학습 데이터 셋을 선택하여, 복수의 전용 인공지능 모델을 생성할 수 있다.
예를 들어, 프로세서(120)는 인공지능 모델 압축 모듈(111)을 이용하여 초기 인공지능 모델 N 0를 압축하고 초기 학습 데이터 D 0을 이용하여 압축된 인공지능 모델을 학습시켜, 전용 인공지능 모델 N 1을 생성할 수 있다.
그리고, 프로세서(120)는 학습 데이터 재구성 모듈(112)을 이용하여 학습 데이터 D 0으로부터 복수의 학습 데이터 셋을 분류하고, 분류된 학습 데이터 셋 중 서로 다른 학습 데이터 셋을 선택하여 서로 다른 전용 인공지능 모델을 생성할 수 있다. 가령, 프로세서(120)는 학습 데이터 D 0으로부터 학습 데이터 셋 D 1-1을 선택하고, 학습 데이터 셋 D 1-1을 이용하여 전용 인공지능 모델 N 1이 반복적으로 압축된 인공지능 모델을 반복적으로 학습시켜 전용 인공지능 모델 N 2-1을 생성할 수 있다. 마찬가지로, 프로세서(120)는 학습 데이터 D 0으로부터 학습 데이터 셋 D 1-2를 선택하여 학습 데이터 셋 D 1-2를 이용하여 학습된 전용 인공지능 모델 N 2-2을 생성하며, 학습 데이터 D 0으로부터 학습 데이터 셋 D 1-3을 선택하여 학습 데이터 셋 D 1-2를 이용하여 학습된 전용 인공지능 모델 N 2-3을 생성할 수 있다.
프로세서(120)는 각 단계에서 생성된 적어도 하나의 전용 인공지능 모델 중 하나를 선택하여, 선택된 인공지능 모델에 대한 전용 인공지능 모델을 생성할 수 있다. 가령, 프로세서(120)는 stage 2 단계에서 생성된 복수의 전용 인공지능 모델 N 2-1, N 2-2 및 N 2-3 중 하나인 전용 인공지능 모델 N 2-2를 선택하고, 선택된 전용 인공지능 모델 N 2-2를 압축 대상 인공지능 모델로 업데이트 할 수 있다.
프로세서(120)는 전용 인공지능 모델 N 2-2를 학습시킨 학습 데이터 셋 D 1-2로부터 서로 다른 학습 데이터 셋 D 2-1 및 D 2-2를 선택할 수 있다. 프로세서(120)는 선택한 학습 데이터 셋 D 2-1을 이용하여 전용 인공지능 모델 N 1-2가 반복적으로 압축된 인공지능 모델을 반복적으로 학습시켜 전용 인공지능 모델 N 3-1을 생성할 수 있다. 마찬가지로, 프로세서(120)는 학습 데이터 셋 D 1-2로부터 선택된 학습 데이터 셋 D 2-2를 이용하여 학습된 전용 인공지능 모델 D 3-2를 생성할 수 있다.
도 4 내지 도 8에서 상술한 바와 같이, 프로세서(120)는 각 단계에서 생성된 전용 인공지능 모델을 기설정된 룰에 따라 학습 데이터로부터 선택된 학습 데이터 셋을 이용하여 학습시킬 수 있다.
도 9 내지 도 11은 기설정된 룰에 따라 학습 데이터로부터 학습 데이터 셋을 선택하고, 선택된 학습 데이터 셋을 이용하여 전용 인공지능 모델을 학습시키는 전자 장치를 설명하기 위한 도면이다.
도 9는 전자 장치(100)에 입력되는 타겟 데이터를 이용하여 전용 인공지능 모델을 학습시키는 전자 장치(100)를 설명하기 위한 도면이다. 구체적으로, 도 9a는 전자 장치(100)가 스피커와 같은 사용자 단말 장치인 경우 전용 인공지능 모델을 학습시키는 전자 장치를 설명하기 위한 도면이고, 도 7b는 전자 장치(100)가 서버인 경우 전용 인공지능 모델을 학습시키는 전자 장치를 설명하기 위한 도면이다.
프로세서(120)는 사용자로부터 타겟 데이터를 수신할 수 있다. 가령, 학습된 인공지능 모델이 음성인식 모델인 경우, 프로세서(120)는 사용자로부터 “에어컨 켜줘”와 같은 음성 명령을 타겟 데이터로 수신할 수 있다. 그리고, 프로세서(120)는 타겟 데이터를 음성인식 모델의 입력 값으로 하여 음성 명령 “에어컨 켜줘”에 대한 음성 인식을 수행하고 이에 대한 출력 값으로 “에어컨이 켜졌습니다”와 응답을 사용자에게 제공할 수 있다.
한편, 프로세서(120)는 타겟 데이터에 대한 전용 인공지능 모델을 생성하고, 생성된 전용 인공지능 모델을 학습시킬 수 있다.
이를 위하여, 프로세서(120)는 학습 데이터의 특징 정보에 기초하여 학습 데이터를 복수의 학습 데이터 셋으로 분류할 수 있다. 여기에서, 학습 데이터의 특징 정보는 학습 데이터에 포함된 복수의 요소 중 일정한 패턴 또는 규칙이 있어 의미가 있는 요소를 벡터로 나타낸 것을 의미한다.
구체적으로, 프로세서(120)는 학습 데이터 재구성 모듈(112)을 이용하여 학습 데이터의 특징 정보를 판단하고, 판단된 학습 데이터의 특징 정보에 기초하여 학습 데이터를 복수의 학습 데이터 셋으로 분류할 수 있다.
더욱 구체적으로, 프로세서(120)는 학습 데이터 재구성 모듈(112)를 이용하여 학습 데이터의 특징 정보로 벡터 값을 획득하고, 벡터 값들의 분포를 기초로 학습 데이터를 복수의 학습 데이터 셋으로 분류할 수 있다.
예를 들어, 학습 데이터가 자연어 발화 음성 데이터의 경우, 프로세서(120)는 학습 데이터의 벡터 값을 기초로, 조용한 환경에서 발화된 노이즈가 없는 발화, 조용한 환경에서 발화되었으나 음원과 기기 간 거리가 먼 발화, 발화 이외의 노이즈가 섞인 발화 등으로 분류할 수 있다. 혹은 프로세서(120)는 여성의 발화, 남성의 발화, 어린 아이의 발화, 청소년의 발화, 지역별 발화 등으로 학습 데이터를 분류할 수도 있다. 또는, 프로세서(120)는 학습 데이터의 특징 벡터 값을 기초로 스마트폰 학습 데이터, TV 학습 데이터, 에어컨의 학습 데이터 등으로 학습 데이터를 분류할 수 있다.
또 다른 예로, 학습 데이터는 객체 인식 데이터의 경우, 프로세서(120)는 학습 데이터의 특징 벡터 값을 기초로, 사람(남자, 여자, 어린이, 군중), 동물(개, 고양이, 사자, 호랑이 등), 사물(자연, 인공물 등) 등을 분류할 수도 있다.
프로세서(120)는 분류된 복수의 학습 데이터 셋 중 타겟 데이터에 대응되는 학습 데이터 셋을 식별할 수 있다.
이를 위하여, 프로세서(120)는 사용자로부터 수신한 타겟 데이터의 특징 정보를 추출할 수 있다.
프로세서(120)는 추출된 타겟 데이터의 특징 정보와 복수의 학습 데이터 셋의 특징 정보를 비교하여, 복수의 학습 데이터 셋 중 타겟 데이터의 특징 정보와 일치하거나 유사한 학습 데이터 셋을 선택할 수 있다.
그리고, 프로세서(120)는 선택된 학습 데이터 셋으로 인공지능 모델을 학습시킬 수 있다. 구체적으로, 프로세서(120)는 메모리(110)에 기저장된 범용 인공지능 모델(또는 전용 인공지능 모델)을 반복적으로 압축하고, 압축된 인공지능 모델을 선택된 학습 데이터 셋으로 반복적으로 학습시킬 수 있다. 그 결과 프로세서(120)는 새로운 전용 인공지능 모델을 생성할 수 있으며, 선택된 학습 데이터 셋으로 생성된 전용 인공지능 모델을 학습시킬 수 있게 된다.
예를 들어, 사용자가 TV 소리와 같은 소음이 존재하는 환경에서 “에어컨 켜줘”와 같은 발화를 한 경우, 프로세서(120)는 타겟 데이터 “에어컨 켜줘”의 특징 정보로, 에어컨의 제어 명령, 약간의 소음이 존재와 같은 특징 정보를 추출할 수 있다. 프로세서(120)는 복수의 학습 데이터 셋 중에서 타겟 데이터의 특징 정보와 일치하거나 유사한 학습 데이터 셋으로 '에어컨용 학습 데이터 셋' 및 '약간의 소음이 존재하는 환경에서의 학습 데이터 셋'의 조합을 선택할 수 있다.
프로세서(120)는 메모리(110)에 기저장된 범용 인공지능 모델을 단계적으로 반복적 압축하고, 압축된 인공지능 모델을 '에어컨용 학습 데이터 셋' 및 '약간의 소음이 존재하는 환경에서의 학습 데이터 셋'의 조합으로 학습시키면서, 전용 인공지능 모델을 생성할 수 있으며, 최종적으로 '에어컨용 학습 데이터 셋' 및 '약간의 소음이 존재하는 환경에서의 학습 데이터 셋'의 조합으로 생성된 전용 인공지능 모델을 학습시킬 수 있다.
한편, 프로세서(120)는 범용 인공지능 모델 대신 메모리(110)에 기저장된 전용 인공지능 모델을 단계적으로 압축하여 압축된 인공지능 모델을 학습 데이터 셋의 조합으로 학습시킬 수도 있다. 가령, 프로세서(120)는 에어컨용 학습 데이터 셋에 의해 학습된 에어컨 전용 인공지능 모델을 단계적으로 압축하고, '에어컨용 학습 데이터 셋' 및 '소음이 존재하는 환경에서의 학습 데이터 셋'의 조합을 이용하여 압축된 인공지능 모델을 학습시킬 수 있다. 그 결과 프로세서(120)는 '에어컨용 학습 데이터 셋' 및 '소음이 존재하는 환경에서의 학습 데이터 셋'의 조합으로 학습된 새로운 전용 인공지능 모델 생성하고 학습시킬 수 있다.
한편, 도 9b와 같이, 전자 장치(100)는 서버로 구현될 수도 있다. 이 경우, 전자 장치(100)는 스피커나 TV, 스마트폰과 같은 사용자 단말 장치(200)와 서로 연결되어 통신을 수행할 수 있다. 전자 장치(100)가 학습 데이터의 특징 정보에 기초하여 학습 데이터를 복수의 학습 데이터 셋으로 분류하는 것은 상기 도 9a와 동일한 바 이에 대한 설명은 생략한다.
사용자가 사용자 단말 장치(200)에 타겟 데이터를 입력하는 경우, 사용자 단말 장치(200)는 전자 장치(100)에 타겟 데이터를 전송할 수 있다. 사용자 단말 장치(200)로부터 타겟 데이터를 수신한 프로세서(120)는 타겟 데이터를 기초로 전용 인공지능 모델을 생성하고, 생성된 전용 인공지능 모델을 학습시킬 수 있다.
구체적으로, 프로세서(120)는 복수의 학습 데이터 셋 중 타겟 데이터에 대응되는 학습 데이터 셋을 선택하고, 인공지능 모델을 압축하여 생성된 전용 인공지능 모델을 선택된 학습 데이터 셋을 이용하여 학습시킬 수 있다.
프로세서(120)는 타겟 데이터를 생성된 전용 인공지능 모델의 입력으로 하여 타겟 데이터에 대한 결과값을 출력할 수 있으며, 출력된 결과 값을 사용자 단말 장치(200)에 전송할 수 있다.
도 10은 본 개시의 일 실시 예에 따라 테스트 데이터를 기초로 전용 인공지능 모델을 학습시키는 전자 장치를 설명하기 위한 도면이다.
도 10의 인공지능 모델(521)은 범용 인공지능 모델(520)을 압축하여 생성된 전용 인공지능 모델일 수 있다. 이때 전용 인공지능 모델(521)은 학습 데이터 D 0를 이용하여 학습된 인공지능 모델일 수 있다.
전용 인공지능 모델을 생성한 후, 프로세서(120)는 테스트 데이터 T 0(1010)를 이용하여 전용 인공지능 모델(521)에 대한 테스트를 수행할 수 있다. 여기에서, 테스트 데이터는 학습 데이터와 공통된 특징 정보를 가지는 데이터이나 학습 데이터와는 상이한 데이터를 나타낸다.
테스트 데이터는 학습 데이터와 공통된 특징 정보를 가지나 상이하다는 점에서, 전용 인공지능 모델(521)은 테스트 데이터에 대하여 목표 값을 출력할 수도 있고, 목표 값에 근접한 값을 출력할 수도 있으며, 목표 값과 상이한 값을 출력할 수도 있다.
프로세서(120)는 학습 데이터 재구성 모듈(112)을 이용하여 테스트 데이터를 복수의 테스트 데이터 셋으로 분류할 수 있다. 가령, 프로세서(120)는 테스트 데이터를 목표 값을 출력하거나 목표값에 근접한 값을 출력한 테스트 데이터 셋 T' 0(1011) 및 목표 값과 상이한 값을 출력한 테스트 데이터 셋 T'' 0(1012)으로 분류할 수 있다.
프로세서(120)는 테스트 결과에 기초하여 테스트 데이터로부터 테스트 데이터 셋을 선택할 수 있다. 구체적으로, 프로세서(120)는 목표 값을 출력하거나 목표 값에 근접한 값을 출력한 테스트 데이터 셋 T' 0 (1011)을 선택할 수 있다.
프로세서(120)는 학습데이터 D 0(1010)에서 선택된 테스트 데이터 셋 T' 0 (1011)에 대응되는 학습 데이터 셋을 식별할 수 있다. 구체적으로, 프로세서(120)는 학습 데이터 D 0 중 선택된 테스트 데이터 셋 T' 0 (1011)과 공통된 특징 정보를 포함하는 학습 데이터 셋을 선택할 수 있다.
예를 들어, 전용 인공지능 모델(521)이 기계 번역 인공지능 모델에 해당하고, 학습 데이터가 다양한 길이의 테스트 데이터라고 가정하자. 이때, 테스트 데이터 또한 학습 데이터와 마찬가지로 다양한 길이의 텍스트 데이터를 포함할 수 있다. 테스트 데이터로 전용 인공지능 모델을 테스트 한 결과, 전용 인공지능 모델이 15개 이하의 단어 정보를 포함하는 테스트 데이터에 대하여 목표 값을 출력하거나 목표 값에 근접한 값을 출력하나, 15개를 초과하는 단어 정보를 포함하는 테스트 데이터에 대하여는 목표 값과 상이한 값을 출력할 경우, 프로세서(120)는 테스트 데이터 T 0 (1010)를 15개 이하의 단어 정보를 포함하는 테스트 데이터 셋 T' 0 (1011) 및 15개를 초과하는 단어 정보를 포함하는 테스트 데이터 셋 T'' 0 (1012)으로 분류하고, 15개 이하의 단어를 포함하는 테스트 데이터 셋 T' 0 (1011)에 대응되는 학습 데이터 셋을 식별할 수 있다. 즉, 프로세서(120)는 학습 데이터 셋 중 15개 이하의 단어를 포함하는 학습 데이터 셋을 선택할 수 있다.
프로세서(120)는 식별된 학습 데이터 셋을 이용하여 전용 인공지능 모델을 학습시킬 수 있다. 이때, 프로세서(120)는 전용 인공지능 모델(521)을 반복적으로 압축하여 전용 인공지능 모델(522)를 생성하고, 생성된 전용 인공지능 모델(522)을 식별된 학습 데이터 셋을 이용하여 학습시킬 수 있다.
도 11은 본 개시의 일 실시 예에 따라 사용자의 입력에 기초하여 전용 인공지능 모델을 학습시키는 전자 장치를 설명하기 위한 도면이다.
프로세서(120)는 전자 장치(100)에 포함된 다양한 인터페이스를 통하여 사용자로부터 학습 데이터 설정을 위한 입력을 수신할 수 있다.
프로세서(120)는 학습 데이터 설정을 위한 사용자 입력을 수신하기 위한 UI (User Interface)를 표시하도록 디스플레이(미도시)를 제어할 수 있다.
도 11의 화면(1110, 1120 및 1130)은 TV, 스마트폰, 태블릿 PC, PC, 노트북 PC와 같은 디스플레이(미도시)를 포함하는 전자 장치에 표시된 화면을 나타낸다. 프로세서(120)는 사용자가 원하는 작업을 입력하기 위한 UI를 포함하는 화면(1110), 사용자가 사용할 장치를 입력하기 위한 UI를 포함하는 화면(1120), 사용자의 주변 환경을 입력하기 위한 UI를 포함하는 화면(1130)을 표시할 수 있다. 이 외에도 프로세서(120)는 사용자의 나이, 성별과 같은 사용자 정보를 입력하기 위한 UI 등 실시 예에 따라 다양한 UI를 포함하는 화면을 표시할 수 있다.
디스플레이에 표시된 UI를 통하여 사용자로부터 학습 데이터 설정 정보를 수신하는 경우, 프로세서(120)는 학습 데이터로부터 데이터 설정 정보에 대응되는 학습 데이터 셋을 선택하고, 선택된 학습 데이터 셋을 이용하여 전용 인공지능 모델을 학습시킬 수 있다.
예를 들어, 사용자가 화면(1110, 1120 및 1130)에 표시된 UI를 통하여 '조금 시끄러운 환경에서 TV를 이용하여 빅스비를 통한 음성명령을 수행'하는 설정 정보를 입력한 경우, 프로세서(120)는 학습 데이터로부터 음성 명령을 위한 학습 데이터 셋, TV 장치에서 동작하는 학습 데이터 셋 및 소음이 다소 있는 공간에서 음성 명령을 위한 학습 데이터 셋을 선택하고, 선택된 학습 데이터 셋의 조합을 이용하여 전용 인공지능 모델을 학습시킬 수 있다.
한편, 도 11에서는 복수의 설정 정보 입력을 통하여 복수의 학습 데이터 셋을 선택하는 것으로 도시하였으나, 하나의 설정 정보 입력을 통하여 학습 데이터 셋을 선택할 수도 있음은 물론이다.
또한, 도 11에서는 사용자가 복수의 메뉴 항목 중 하나를 선택하는 UI가 도시되었으나, 실시 예에 따라서 사용자가 직접 데이터 정보를 입력하는 UI가 표시될 수도 있다.
한편, 도 11에서는 디스플레이에 표시된 UI를 통하여 사용자 입력을 수신하는 것으로 도시하였으나, 반드시 이에 한하는 것은 아니다.
또 다른 일 실시 예에 따라, 프로세서(120)는 마이크(미도시)를 통하여 음성 명령을 통해 학습 데이터를 설정할 수도 있다. 가령, 사용자가 “이미지에서 동물을 인식하고 싶어”라고 발화한 경우, 프로세서(120)는 학습 데이터에서 이미지 인식을 위한 학습 데이터 셋, 동물을 인식하는 학습 데이터 셋을 선택하고, 선택된 학습 데이터 셋의 조합을 이용하여 전용 인공지능 모델을 학습시킬 수 있다.
도 12는 본 개시의 다양한 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
우선, 학습 데이터를 이용하여 학습된 범용 인공지능 모델을 기초로 범용 인공지능 모델보다 크기가 작은 전용 인공지능 모델을 생성할 수 있다(S1210). 이때 범용 인공지능 모델은 전자 장치(100)에서 학습된 범용 인공지능 모델이거나 서버와 같은 외부 장치에서 학습되어 전자 장치(100)에 저장된 인공지능 모델일 수 있다.
전용 인공지능 모델은 범용 인공지능 모델을 압축한 인공지능 모델로, 전용 인공지능 모델에 포함된 복수의 노드 간 연결(가중치 연결)과 관련된 데이터의 크기는 범용 인공지능 모델에 포함된 복수의 노드 간 연결과 관련된 데이터의 크기보다 작을 수 있다. 예를 들어, 전용 인공지능 모델에 포함된 복수의 노드 간 연결의 개수가 범용 인공지능 모델에 포함된 복수의 노드 간 연결의 개수보다 작거나, 전용 인공지능 모델에 포함된 복수의 노드 간 연결의 비트 수가 범용 인공지능 모델에 포함된 복수의 노드 간 연결의 비트 수보다 작을 수 있다.
전용 인공지능 모델과 관련된 압축 파라미터를 결정하고, 결정된 파라미터를 기초로 범용 인공지능 모델에 포함된 복수의 노드 간 연결의 개수와 관련된 데이터의 크기를 감소시켜 전용 인공지능 모델을 생성할 수 있다.
그리고, 기설정된 룰에 따라 학습 데이터로부터 선택된 학습 데이터 셋을 이용하여 전용 인공지능 모델을 학습시킬 수 있다(S1220).
일 실시 예로, 타겟 데이터를 기초로 전용 인공지능 모델을 학습시킬 수 있다. 타겟 데이터는 학습된 인공지능 모델을 이용하여 연산을 수행하기 위한 입력 데이터를 의미한다.
구체적으로, 전자 장치는 학습 데이터의 특징 정보에 기초하여 학습 데이터를 복수의 학습 데이터 셋으로 분류하고, 분류된 복수의 학습 데이터 셋 중 타겟 데이터에 대응되는 학습 데이터 셋으로 전용 인공지능 모델을 학습 시킬 수 있다. 여기에서, 학습 데이터의 특징 정보는 학습 데이터들의 특징 벡터를 의미하는 것으로, 구체적으로 학습 데이터에 포함된 복수의 요소 중 일정한 패턴 또는 규칙이 있는 요소를 벡터로 나타낸 것을 의미할 수 있다.
또 다른 일 실시 예로, 테스트 데이터를 기초로 전용 인공지능 모델을 학습시킬 수 있다. 여기에서, 테스트 데이터는 학습 데이터와 공통된 특징 정보를 가지는 데이터이나 학습 데이터와는 상이한 데이터를 나타낸다.
구체적으로, 전자 장치는 테스트 데이터를 이용하여 범용 인공지능 모델 또는 범용 인공지능 모델을 기초로 생성된 전용 인공지능 모델을 테스트 할 수 있다.
테스트 결과에 기초하여 테스트 데이터로부터 테스트 데이터 셋을 선택할 수 있다. 가령, 테스트 결과에 기초하여 테스트 데이터 중 목표 값 또는 목표 값과 근사한 값을 출력한 테스트 데이터 셋을 선택할 수 있다.
그리고, 학습 데이터에서 선택된 테스트 데이터 셋에 대응되는 학습 데이터 셋을 식별하고, 식별된 학습 데이터 셋을 이용하여 전용 인공지능 모델을 학습시킬 수 있다.
*한편, 또 다른 실시 예로, 사용자로부터 데이터 설정 정보를 수신하고, 수신된 데이터 설정 정보에 기초하여 전용 인공지능 모델을 학습시킬 수 있다.
전자 장치는 사용자 데이터 설정 정보를 수신하기 위한 UI를 표시하고, 표시된 UI를 통하여 사용자 입력을 수신할 수 있다.
사용자로부터 데이터 설정 정보를 수신하는 경우, 학습 데이터로부터 데이터 설정 정보에 대응되는 학습 데이터 셋을 선택하고, 선택된 학습 데이터 셋을 이용하여 전용 인공지능 모델을 학습시킬 수 있다.
한편, 상술한 기설정된 룰에 따라 학습 데이터에 포함된 학습 데이터 셋을 선택하고, 선택된 학습 데이터 셋이 기설정된 조건을 만족하는지 판단할 수 있다. 그리고, 선택된 학습 데이터 셋이 기설정된 조건을 만족하는 경우, 선택된 학습 데이터 셋을 이용하여 전용 인공지능 모델을 학습시킬 수 있다.
가령, 선택된 학습 데이터 셋의 크기가 기설정된 값 이상인지 판단하고, 선택된 학습 데이터의 크기가 기설정된 값 이상인 경우 전용 인공지능 모델을 학습시킬 수 있다.
한편, 학습된 전용 인공지능 모델을 테스트하여 전용 인공지능 모델의 성능을 판단할 수도 있다.
전용 인공지능 모델의 테스트 결과 전용 인공지능의 성능이 제1 임계값 이상 제2 임계값 이하인 경우, 전용 인공지능 모델에 관한 정보 및 전용 인공지능 모델이 학습한 학습 데이터 셋에 관한 정보를 저장할 수 있다.
한편, 범용 인공지능 모델을 기초로 전용 인공지능 모델을 생성하고, 생성된 전용 인공지능 모델을 기초로 또 다른 전용 인공지능 모델을 생성할 수 있다.
구체적으로, 범용 인공지능 모델을 압축하여 전용 인공지능 모델을 생성하고, 학습 데이터에 포함된 학습 데이터 셋을 이용하여 전용 인공지능 모델을 학습시킬 수 있다. 이때, 학습된 전용 인공지능 모델의 테스트 결과 전용 인공지능 모델의 성능이 기설정된 값 이상인 경우, 전용 인공지능 모델을 기초로 또 다른 전용 인공지능 모델을 생성할 수 있다.
전자 장치(100)는 타겟 데이터를 수신할 수 있다. 타겟 데이터가 학습 데이터에 포함된 복수의 학습 데이터 셋 중 하나의 학습 데이터 셋에 대응되는 경우(S1230-Y), 타겟 데이터를 전용 인공지능 모델의 입력 값으로 하여 타겟 데이터에 대한 출력 값을 획득할 수 있다(S1240). 이때의 전용 인공지능 모델은 타겟 데이터에 대응되는 학습 데이터 셋으로 학습된 전용 인공지능 모델일 수 있다.
구체적으로, 타겟 데이터의 특징 정보를 판단하고, 학습 데이터 셋의 특징 정보를 판단하며, 타겟 데이터의 특징 정보가 학습 데이터 셋의 특징 정보와 대응되는 경우, 타겟 데이터를 전용 인공지능 모델의 입력 값으로 하여 타겟 데이터에 대한 출력 값을 획득할 수 있다.
또 다른 실시 예로, 전자 장치에 학습 데이터 셋에 관한 정보 및 학습 데이터 셋으로 학습된 전용 인공지능 모델에 관한 정보가 저장된 경우, 전자 장치에 저장된 복수의 학습 데이터 셋에 관한 정보 중 타겟 데이터의 특징 정보와 대응되는 학습 데이터 셋에 관한 정보를 식별하고, 식별된 학습 데이터 셋을 이용하여 학습된 전용 인공지능 모델에 관한 정보를 기초로 전용 인공지능 모델을 생성할 수 있다. 그리고, 타겟 데이터를 생성된 전용 인공지능 모델의 입력 값으로 하여 타겟 데이터에 대한 출력 값을 획득할 수 있다.
이상에서, 전자 장치(100) 또는 전자 장치(100)를 통해 수행되는 것으로 기재된 다양한 동작들은, 전자 장치의 제어 방법 내지는 동작 방법의 형태로 하나 이상의 전자 장치를 통해 수행될 수 있다. 가령, 전용 인공지능 모델을 생성하고, 생성된 전용 인공지능 모델을 학습시키며, 전용 인공지능 모델에 대한 압축 파라미터를 판단하는 특징은 서버와 같은 외부 장치(미도시)에서 수행되고, 전자 장치(100)에서는 전용 인공지능 모델에 관한 정보 및 학습 데이터에 대한 정보를 이용하여 타겟 데이터에 대한 연산만이 수행될 수도 있다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(Programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processor), 제어기(controller), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessor), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다.
일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 사용자 장치 또는 관리자 장치에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 사용자 장치 및/또는 관리자 장치의 처리 동작을 상술한 특정 기기가 수행하도록 한다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.

Claims (15)

  1. 범용 인공 지능 모델을 선택하는 단계;
    상기 선택된 범용 인공 지능 모델을 기초로 축소 인공 지능 모델을 생성하는 단계; 및
    상기 생성된 축소 인공 지능 모델에 기초하여 전용 인공 지능 모델을 생성하는 단계;를 포함하고,
    상기 축소 인공 지능 모델을 생성하는 단계는,
    축소율에 기초하여 SVD(Singular Value Decomposition) 알고리즘의 랭크를 획득하고, 상기 획득된 랭크에 기초하여 상기 선택된 범용 인공 지능 모델을 축소하고 학습시켜 상기 축소 인공 지능 모델로 변환하며, 기 설정된 제1 임계 값에 기초하여 상기 변환된 축소 인공 지능 모델의 성능을 판단하고, 상기 변환된 축소 인공 지능 모델의 성능이 상기 기 설정된 제1 임계 값 미만인 경우 상기 전용 인공 지능 모델을 생성하는 단계를 수행하는, 제어 방법.
  2. 제1항에 있어서,
    상기 축소 인공 지능 모델을 생성하는 단계는,
    상기 변환된 축소 인공 지능 모델의 성능이 상기 기 설정된 제1 임계 값 이상인 경우 상기 축소 인공 지능 모델을 생성하는 단계를 반복하는, 제어 방법.
  3. 제1항에 있어서,
    상기 전용 인공 지능 모델을 생성하는 단계는,
    기 설정된 학습 데이터 셋에 기초하여 상기 축소 인공 지능 모델을 재학습시키는, 제어 방법.
  4. 제3항에 있어서,
    상기 전용 인공 지능 모델을 생성하는 단계는,
    기 설정된 제2 임계 값을 기초로 상기 재학습된 축소 인공 지능 모델의 성능을 판단하며, 상기 재학습된 축소 인공 지능 모델의 성능이 상기 기 설정된 제2 임계 값 이상인 경우 상기 재학습된 축소 인공 지능 모델을 추가적으로 축소하여 전용 인공 지능 모델을 생성하는, 제어 방법.
  5. 제3항에 있어서,
    상기 전용 인공 지능 모델을 생성하는 단계는,
    상기 선택된 범용 인공 지능 모델을 학습시킨 제1 학습 데이터의 특징 정보에 기초하여 상기 제1 학습 데이터를 복수의 학습 데이터 셋으로 분류하고, 상기 복수의 학습 데이터 셋 중 적어도 하나의 데이터 셋을 상기 기 설정된 학습 데이터 셋으로 재구성하는, 제어 방법.
  6. 제5항에 있어서,
    상기 기 설정된 학습 데이터 셋은
    상기 복수의 학습 데이터 셋 중 입력 값으로 입력되는 타겟 데이터에 대응되도록 축소된 적어도 하나의 데이터 셋인, 제어 방법.
  7. 제3항에 있어서,
    상기 축소 인공 지능 모델을 생성하는 단계는,
    테스트 데이터에 기초하여 상기 변환된 축소 인공 지능 모델의 성능을 판단하고,
    상기 상기 전용 인공 지능 모델을 생성하는 단계는,
    상기 테스트 데이터를 복수의 학습 데이터 셋으로 분류하고, 상기 복수의 학습 데이터 셋 중 적어도 하나의 데이터 셋을 상기 기 설정된 학습 데이터 셋으로 재구성하는, 제어 방법.
  8. 제7항에 있어서,
    상기 테스트 데이터는,
    목표 값을 기초로 기 설정된 범위 내의 결과를 출력한 테스트 데이터를 포함하는, 제어 방법.
  9. 제3항에 있어서,
    상기 전용 인공 지능 모델을 생성하는 단계는,
    사용자로부터 데이터 설정 정보를 수신하는 경우, 상기 선택된 범용 인공 지능 모델을 학습시킨 제1 학습 데이터로부터 상기 데이터 설정 정보에 대응되는 학습 데이터 셋을 식별하고, 상기 식별된 학습 데이터 셋을 상기 기 설정된 학습 데이터 셋으로 재구성하는, 제어 방법.
  10. 제1 학습 데이터 및 상기 제1 학습 데이터에 의해 학습된 범용 인공 지능 모델을 저장한 메모리; 및
    프로세서;를 포함하고,
    상기 프로세서는,
    상기 학습된 범용 인공 지능 모델을 선택하고,
    축소율에 기초하여 SVD(Singular Value Decomposition) 알고리즘의 랭크를 획득하며,
    상기 획득된 랭크에 기초하여 상기 선택된 범용 인공 지능 모델을 축소하고 학습시켜 상기 축소 인공 지능 모델로 변환하고,
    기 설정된 제1 임계 값에 기초하여 상기 변환된 축소 인공 지능 모델의 성능을 판단하며,
    상기 변환된 축소 인공 지능 모델의 성능이 상기 기 설정된 제1 임계 값 미만인 경우 전용 인공 지능 모델을 생성하는, 전자 장치.
  11. 제10항에 있어서,
    상기 프로세서는,
    상기 변환된 축소 인공 지능 모델의 성능이 상기 기 설정된 제1 임계 값 이상인 경우 상기 축소 인공 지능 모델로 변환하는 과정을 반복하는, 전자 장치.
  12. 제10항에 있어서,
    상기 프로세서는,
    기 설정된 학습 데이터 셋에 기초하여 상기 축소 인공 지능 모델을 재학습시키는, 전자 장치.
  13. 제12항에 있어서,
    상기 프로세서는,
    기 설정된 제2 임계 값을 기초로 상기 재학습된 축소 인공 지능 모델의 성능을 판단하며, 상기 재학습된 축소 인공 지능 모델의 성능이 상기 기 설정된 제2 임계 값 이상인 경우 상기 재학습된 축소 인공 지능 모델을 추가적으로 축소하여 전용 인공 지능 모델을 생성하는, 전자 장치.
  14. 제12항에 있어서,
    상기 프로세서는,
    상기 선택된 범용 인공 지능 모델을 학습시킨 제1 학습 데이터의 특징 정보에 기초하여 상기 제1 학습 데이터를 복수의 학습 데이터 셋으로 분류하고, 상기 복수의 학습 데이터 셋 중 적어도 하나의 데이터 셋을 상기 기 설정된 학습 데이터 셋으로 재구성하는, 전자 장치.
  15. 제12항에 있어서,
    상기 프로세서는,
    테스트 데이터에 기초하여 상기 변환된 축소 인공 지능 모델의 성능을 판단하고, 상기 테스트 데이터를 복수의 학습 데이터 셋으로 분류하며, 상기 복수의 학습 데이터 셋 중 적어도 하나의 데이터 셋을 상기 기 설정된 학습 데이터 셋으로 재구성하는, 전자 장치.
PCT/KR2021/001752 2020-05-08 2021-02-09 전자 장치 및 이의 제어 방법 WO2021225256A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180033130.3A CN115552416A (zh) 2020-05-08 2021-02-09 电子设备及其控制方法
EP21800775.5A EP4068162A4 (en) 2020-05-08 2021-02-09 ELECTRONIC DEVICE AND ITS CONTROL METHOD
US17/505,259 US20220036152A1 (en) 2020-05-08 2021-10-19 Electronic apparatus and method for controlling thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0055341 2020-05-08
KR1020200055341A KR20210136706A (ko) 2020-05-08 2020-05-08 전자 장치 및 이의 제어 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/505,259 Continuation US20220036152A1 (en) 2020-05-08 2021-10-19 Electronic apparatus and method for controlling thereof

Publications (1)

Publication Number Publication Date
WO2021225256A1 true WO2021225256A1 (ko) 2021-11-11

Family

ID=78468120

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/001752 WO2021225256A1 (ko) 2020-05-08 2021-02-09 전자 장치 및 이의 제어 방법

Country Status (5)

Country Link
US (1) US20220036152A1 (ko)
EP (1) EP4068162A4 (ko)
KR (1) KR20210136706A (ko)
CN (1) CN115552416A (ko)
WO (1) WO2021225256A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3131041A1 (fr) * 2021-12-21 2023-06-23 Thales Procede de mise au point d un dispositif de prediction, procede et systeme associes.
TWI833209B (zh) * 2022-04-27 2024-02-21 緯創資通股份有限公司 用於神經網路的優化方法、電腦系統及電腦可讀取媒體

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111401138B (zh) * 2020-02-24 2023-11-07 上海理工大学 生成对抗神经网络训练过程的对抗优化方法
KR102639172B1 (ko) * 2021-11-25 2024-02-22 재단법인 대구경북과학기술원 효율적인 분류기를 식별하기 위한 전자 장치 및 이의 제어 방법
KR102656090B1 (ko) * 2021-12-29 2024-04-11 주식회사 커넥트시스템 인공지능 모델 통합 관리 및 배포 시스템과 그 방법
KR102569016B1 (ko) * 2023-04-28 2023-08-22 주식회사 데이터메이커 자동 학습 기반의 데이터 라벨링 방법, 장치 및 컴퓨터 판독가능 저장 매체

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150170020A1 (en) * 2013-12-13 2015-06-18 Amazon Technologies, Inc. Reducing dynamic range of low-rank decomposition matrices
KR20170106338A (ko) * 2015-01-22 2017-09-20 퀄컴 인코포레이티드 모델 압축 및 미세-튜닝
US20180046894A1 (en) * 2016-08-12 2018-02-15 DeePhi Technology Co., Ltd. Method for optimizing an artificial neural network (ann)
KR20180084988A (ko) * 2016-02-03 2018-07-25 구글 엘엘씨 압축된 순환 신경망 모델
KR20200027080A (ko) * 2018-08-28 2020-03-12 삼성전자주식회사 전자 장치 및 그 제어 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150170020A1 (en) * 2013-12-13 2015-06-18 Amazon Technologies, Inc. Reducing dynamic range of low-rank decomposition matrices
KR20170106338A (ko) * 2015-01-22 2017-09-20 퀄컴 인코포레이티드 모델 압축 및 미세-튜닝
KR20180084988A (ko) * 2016-02-03 2018-07-25 구글 엘엘씨 압축된 순환 신경망 모델
US20180046894A1 (en) * 2016-08-12 2018-02-15 DeePhi Technology Co., Ltd. Method for optimizing an artificial neural network (ann)
KR20200027080A (ko) * 2018-08-28 2020-03-12 삼성전자주식회사 전자 장치 및 그 제어 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4068162A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3131041A1 (fr) * 2021-12-21 2023-06-23 Thales Procede de mise au point d un dispositif de prediction, procede et systeme associes.
EP4202784A1 (fr) * 2021-12-21 2023-06-28 Thales Procédé de mise au point d'un dispositif de prédiction, procédé et système associés
TWI833209B (zh) * 2022-04-27 2024-02-21 緯創資通股份有限公司 用於神經網路的優化方法、電腦系統及電腦可讀取媒體

Also Published As

Publication number Publication date
EP4068162A1 (en) 2022-10-05
EP4068162A4 (en) 2023-05-31
KR20210136706A (ko) 2021-11-17
CN115552416A (zh) 2022-12-30
US20220036152A1 (en) 2022-02-03

Similar Documents

Publication Publication Date Title
WO2021225256A1 (ko) 전자 장치 및 이의 제어 방법
WO2019194451A1 (ko) 인공지능을 이용한 음성 대화 분석 방법 및 장치
WO2018128362A1 (en) Electronic apparatus and method of operating the same
WO2020235712A1 (ko) 콘텐츠 기반의 스타일을 갖는 텍스트 또는 음성을 생성하는 인공 지능 장치 및 그 방법
EP3545436A1 (en) Electronic apparatus and method of operating the same
WO2020017898A1 (en) Electronic apparatus and control method thereof
WO2018164378A1 (en) Electronic apparatus for compressing language model, electronic apparatus for providing recommendation word and operation methods thereof
WO2019143227A1 (en) Electronic device providing text-related image and method for operating the same
WO2022102937A1 (en) Methods and systems for predicting non-default actions against unstructured utterances
WO2020105856A1 (en) Electronic apparatus for processing user utterance and controlling method thereof
WO2019083055A1 (ko) 기계학습을 이용한 오디오 복원 방법 및 장치
WO2020091519A1 (en) Electronic apparatus and controlling method thereof
WO2020036297A1 (en) Electronic apparatus and controlling method thereof
WO2019164120A1 (ko) 전자 장치 및 그 제어 방법
WO2021261836A1 (en) Image detection apparatus and operation method thereof
WO2018074895A1 (en) Device and method for providing recommended words for character input
WO2020130260A1 (en) Mobile terminal and method of operating the same
WO2018174397A1 (ko) 전자 장치 및 제어 방법
EP3577571A1 (en) Electronic apparatus for compressing language model, electronic apparatus for providing recommendation word and operation methods thereof
WO2021158085A1 (en) Neural network update method, classification method and electronic device
WO2020130262A1 (ko) 컴퓨팅 장치 및 그 동작 방법
WO2020091253A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2020045794A1 (ko) 전자 장치 및 그 제어 방법
EP3738305A1 (en) Electronic device and control method thereof
WO2021107390A1 (en) Electronic device and method for controlling the electronic device

Legal Events

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

Ref document number: 21800775

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021800775

Country of ref document: EP

Effective date: 20220627

NENP Non-entry into the national phase

Ref country code: DE