WO2022039494A1 - 단말의 모델을 갱신하는 서버 및 그 동작 방법 - Google Patents

단말의 모델을 갱신하는 서버 및 그 동작 방법 Download PDF

Info

Publication number
WO2022039494A1
WO2022039494A1 PCT/KR2021/010951 KR2021010951W WO2022039494A1 WO 2022039494 A1 WO2022039494 A1 WO 2022039494A1 KR 2021010951 W KR2021010951 W KR 2021010951W WO 2022039494 A1 WO2022039494 A1 WO 2022039494A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
terminal
layer
output
server
Prior art date
Application number
PCT/KR2021/010951
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 US17/432,631 priority Critical patent/US20220343156A1/en
Publication of WO2022039494A1 publication Critical patent/WO2022039494A1/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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks

Definitions

  • the present disclosure relates to a server for updating a model stored in a terminal and an operating method thereof.
  • an operation may be performed by the artificial intelligence model stored in the terminal without data transmission/reception with the server. Due to the on-device AI technology, the terminal does not transmit the collected data to the outside and operates it by itself, so there is an advantage in terms of protection of user's personal information and data processing speed.
  • the information related to the operation transmitted from the terminal to the server may include the user's personal information, there is a risk of personal information being leaked in the process of being transmitted to the server. Therefore, there is a need for a method of updating an artificial intelligence model of a terminal capable of minimizing the risk of personal information leakage.
  • aspects of the present disclosure are directed to solving at least the above-mentioned problems and/or disadvantages and providing at least the advantages described below.
  • an aspect of the present disclosure is to provide a server for updating a model of a terminal and an operating method thereof.
  • another aspect of the disclosure is to provide a computer-readable recording medium in which a program for executing the method in a computer is recorded.
  • the technical problem to be solved is not limited to the technical problems as described above, and other technical problems may exist.
  • a first aspect of the present disclosure is a method of generating, in a server, information for updating a first model of a terminal, in the first model of the terminal, the receiving intermediate data output from the first layer included in the shared portion of the first model from the terminal as the input information input to the first model is processed; obtaining the first model and the second model, which are pre-trained models including the shared part; obtaining correct answer data for the input information by inputting the intermediate data as an output of the first layer in the first layer included in the shared portion of the second model; In the first layer included in the shared portion of the first model, as the intermediate data is input as an output of the first layer, the correct answer data may be output from the first model, the first model renewing; and transmitting information about the updated first model to the terminal.
  • the first model of the terminal in the first model of the terminal, as input information input to the first model is processed, the first model obtaining intermediate data output from a first layer included in the shared portion of ; transmitting the intermediate data to a server; and receiving, from the server, information for updating the first model, wherein the information for updating the first model is, in the first layer included in the shared portion of a second model, the method may be provided, which is obtained based on the obtained correct answer data.
  • a communication unit for receiving intermediate data output from the first layer included in the shared portion of the first model, from the terminal; a memory for storing the first model and the second model, which are pre-trained models including the shared part; and in the first layer included in the sharing portion of the second model, by inputting the intermediate data as an output of the first layer, correct answer data for the input information is obtained, and the sharing of the first model
  • the first model is updated so that the correct answer data can be output from the first model, and the updated
  • a server including at least one processor for controlling the communication unit to transmit information about the first model to the terminal.
  • a memory for storing the first model;
  • at least one processor for acquiring intermediate data output from the first layer included in the shared portion of the first model; and a communication unit configured to receive, from the server, information for updating the first model as the intermediate data is transmitted to the server, wherein the information for updating the first model is the shared portion of the second model In the first layer included in , by inputting the intermediate data as an output of the first layer, it is possible to provide a terminal, which is obtained based on the obtained correct answer data.
  • a fifth aspect of the present disclosure may provide a recording medium in which a program for performing the method of the first aspect or the second aspect is stored.
  • FIG. 1 is a diagram illustrating an example of updating a first model of a terminal according to an embodiment.
  • FIG. 2 is a diagram illustrating an example of generating a first model and a second model according to an embodiment.
  • FIG. 3 is a block diagram illustrating an internal configuration of a server according to an embodiment.
  • FIG. 4 is a block diagram illustrating an internal configuration of a terminal according to an embodiment.
  • FIG. 5 is a block diagram illustrating an internal configuration of a terminal according to an embodiment.
  • FIG. 6 is a diagram illustrating a method of generating and transmitting, in a server, information for updating a first model of a terminal according to an embodiment.
  • FIG. 7 is a block diagram illustrating an example of a method of generating information for updating a first model based on a plurality of second models according to an embodiment.
  • FIG. 8 is a block diagram illustrating an example of updating a decoder included in a terminal according to an embodiment.
  • the processor may consist of one or a plurality of processors.
  • one or more processors may be a general-purpose processor such as a CPU, an AP, a digital signal processor (DSP), or the like, a graphics-only processor such as a GPU, a VPU (Vision Processing Unit), or an artificial intelligence-only processor such as an NPU.
  • DSP digital signal processor
  • 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.
  • the AI-only processor may be designed with a hardware structure specialized for processing a specific AI model.
  • a 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 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 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 the operation result of a previous layer and the plurality of weights.
  • 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 thereto.
  • DNN Deep Neural Network
  • DNN Deep Belief Network
  • BBDNN Bidirectional Recurrent Deep Neural Network
  • Deep Q-Networks Deep Q-Networks
  • FIG. 1 is a diagram illustrating an example of updating a first model of a terminal according to an embodiment.
  • a terminal 2000 may perform various operations using a first model 220 .
  • output information may be output from the first model 220 , and an operation corresponding to the output information may be performed.
  • the input information may include information input to the first model 220 to perform an operation.
  • the output information is a result of processing the first model 220 , and an operation may be performed based on the output information.
  • the first model 220 may be one of at least one artificial intelligence model for performing various operations in the terminal 2000 .
  • the first model 220 may be an artificial intelligence model for various operations that may be performed in the terminal 2000, such as a voice recognition model, a natural language processing model, an image recognition model, and the like.
  • the first model 220 may be one of various types of artificial intelligence models.
  • the terminal 2000 may be implemented in various forms.
  • the terminal 2000 described herein is a smart TV, set-top box, mobile phone, tablet PC, digital camera, laptop computer, desktop, e-book terminal, digital broadcasting terminal, PDA (Personal Digital) Assistants), a portable multimedia player (PMP), a navigation system, an MP3 player, a wearable device, and the like, but is not limited thereto.
  • PDA Personal Digital
  • PMP Portable Multimedia player
  • MP3 player MP3 player
  • wearable device a wearable device, and the like, but is not limited thereto.
  • the terminal 2000 when the operation of the terminal 2000 is performed by the artificial intelligence model existing in the external server 1000, the terminal 2000 transmits the input information of the artificial intelligence model to the server 1000, , by receiving the output information of the artificial intelligence model, it is possible to perform an operation based on the output information.
  • the first model 220 for performing an operation is mounted in the terminal 2000, so that the input information of the first model 220 is transferred to the server 1000 . It is not transmitted to , and may be processed inside the terminal 2000 .
  • input information that may include sensitive information of the user may not be leaked to the outside during the transmission process. Also, according to an embodiment, since the process of transmitting input information to the server 1000 or receiving output information from the server 1000 is not performed, it is better than when the input information is processed by the server 1000 . , the operation can be performed with a smaller amount of computation.
  • the first model 220 mounted on the terminal 2000 has a relatively low level of performance (eg, data storage capacity, operation speed) of the terminal 2000 compared to the server 1000 . Accordingly, it may be an artificial intelligence model of a relatively small size.
  • the first model 220 may be an artificial intelligence model composed of a relatively small number of nodes and neural network layers. Accordingly, according to an exemplary embodiment, as the first model 220 has a relatively small size, a probability of outputting output information through which an operation suitable for a user may be performed may be relatively low.
  • the server 1000 uses the second model 110 having better performance than the first model 220, 1
  • the model 220 may provide updateable information to the terminal 2000 .
  • the first model 220 of the terminal 2000 is continuously updated, such as when using the second model 110 with better performance, Even through the first model 220 having a small size, appropriate output information may be output.
  • the second model 110 has a relatively larger size than the first model 220 , a probability of outputting output information suitable for a user may be relatively higher. Since the second model 110 according to an embodiment can be processed by the server 1000 with relatively high performance, artificial intelligence including a larger number of nodes and neural network layers than the first model 220 . can be a model.
  • the server 1000 is the same artificial intelligence model as the first model 220 of the terminal 2000 , and includes the first model 120 mounted on the server 1000 and the second model 110 . ) can be used to update first. According to an embodiment, with respect to the same input information, the first model 120 of the server 1000 so that the same output information as the output information output from the second model 110 can be output from the first model 120 . ) can be updated. Also, the server 1000 may acquire information for updating the first model 220 of the terminal 2000 based on the updated first model 120 , and transmit the information to the terminal 2000 .
  • the server 1000 may obtain an output value as correct answer data as input information input to the first model 220 of the terminal 2000 is input to the second model 110 .
  • the server 1000 when the input information is input to the first model 120 of the server 1000, so that the correct answer data can be output from the first model 120, 1
  • the model 120 can be updated.
  • the server 1000 receives the information related to the input of the first model 220 used to perform the operation in the terminal 2000 from the terminal 2000, 1
  • the model 120 can be updated.
  • the input information of the first model 220 may include the user's personal information, when the input information is transmitted to the server 1000, there is a risk of leakage during the transmission process. .
  • the server 1000 receives the intermediate data generated in the shared portion 100 of the first model 220 from the terminal 2000 instead of the input information of the first model 110, and the server ( 1000) of the first model 120 may be updated.
  • the shared part 100 is a part equally included in the first models 120 and 220 and the second model 110 and may include at least one neural network layer.
  • the artificial intelligence model may be composed of at least one neural network layer including at least one node.
  • Each neural network layer includes at least one node, and values input to the AI model may be processed and output at each node included in the AI model.
  • the above-described example is not limited, and an input value may be processed and output according to various equations, weights, and bias values set for each node.
  • the artificial intelligence model may include an input layer, an output layer, and at least one hidden layer.
  • the input layer according to an embodiment is a layer that directly processes information input to the artificial intelligence model.
  • the hidden layer is a layer that processes information between the input layer and the output layer.
  • the output layer is a layer that finally processes information processed in the input layer and the hidden layer to directly output the output information of the AI model.
  • the shared part 100 may be set as at least one neural network layer including an input layer among at least one neural network layer constituting the first models 120 and 220 .
  • the second model 110 according to an embodiment may be generated to include the same shared portion 100 as the shared portion 100 of the first models 120 and 220 .
  • the shared portion 100 may be set as an input layer and 9 hidden layers. Not limited to the above-described example, the shared portion 100 may be set to various layers among the layers constituting the first models 120 and 220 .
  • values output from one layer among a plurality of layers included in the shared portion 100 may be transmitted to the server 1000 as intermediate data.
  • output values y generated by each node included in the layer may be transmitted as intermediate data.
  • the server 1000 When receiving intermediate data from the terminal 2000, the server 1000 according to an embodiment may identify a layer to which y values of the intermediate data are output. Also, the server 1000 may obtain correct answer data for input information corresponding to the intermediate data based on the identified layer. For example, the server 1000 may obtain correct answer data by inputting the intermediate data as an output of the identified layer.
  • the intermediate data may further include information for identifying a layer of the shared portion 100 from which y values are output in addition to the y values.
  • the intermediate data may include a value of (4, [0.3, 0.23, 0.9, ....]).
  • 4 is a value for identifying the layer of the shared portion 100
  • values in parentheses [] may be y values output from the fourth layer.
  • the output value of the third layer As the intermediate data is input to the processed fourth layer, correct answer data may be output from the second model 110 .
  • the first model 120 of the server 1000 when intermediate data is input to the fourth layer of the shared part 100, the first model 120 is to be updated so that the correct answer data can be output.
  • each shared part 100 included in each model 110 , 120 , 220 includes the same layer and node. Accordingly, each layer included in the shared portion 100 may output the same output values y between models 110 , 120 , and 220 with respect to the same input information. For example, the first layer of the shared portion 100 equally included in each model 110 , 120 , 220 may output the same output values with respect to the same input information. Accordingly, since the intermediate data is transmitted to the server 1000 instead of the input information, correct answer data corresponding to the input information may be output from the second model 110 .
  • the intermediate data may include output values for a layer randomly selected from among the layers of the shared portion 100 . Accordingly, even if the input information input to the first model 220 is the same, intermediate data including different values may be transmitted to the server 1000 . For example, according to a first operation performed using the first model 220 in the terminal 2000, output values for the first layer among the layers of the shared portion 100 may be transmitted as intermediate data, Thereafter, according to the second operation, output values for the fifth layer of the shared portion 100 may be transmitted as intermediate data.
  • the intermediate data transmitted for each operation may include different values. Accordingly, according to an embodiment, even if the intermediate data is leaked to the outside during the transmission process, since it is difficult to restore the input information input to the first model 220, the security level may be higher.
  • the server 1000 may generate information for updating the first model 220 of the terminal 2000 based on the updated information on the first model 120 .
  • the information for updating the first model 220 of the terminal 2000 is changed to be the same as the first model 220 of the terminal 2000 and the updated first model 120 . It may contain any necessary information.
  • the information for updating the first model 220 of the terminal 2000 may include a difference value between the first model 120 before the update and the first model 120 after the update.
  • the information for updating the first model 220 of the terminal 2000 may include information about data corrected in the first model 120 as the first model 120 is updated.
  • the information for updating the first model 220 of the terminal 2000 is not limited to the above-described example, and may include various types of information.
  • Intermediate data may be obtained and transmitted to the server 1000 whenever the first model 220 is used in order to perform an operation in the terminal 2000 .
  • first model 220 whenever input information is processed by the first model 220 and output information is output from the first model 220 according to a user input, randomly selected among the layers of the shared portion 100 .
  • Intermediate data including values output from the layer may be generated.
  • the terminal 2000 may transmit the intermediate data to the server 1000 to update the first model 220 .
  • the first model 120 of the server 1000 is not limited to the intermediate data received from the terminal 2000, and other users similar to the user of the terminal 2000 (eg, having a similar operation pattern) Or, it may be updated based on intermediate data received from other terminals of (users with similar preferences).
  • the above-described example is not limited, and the first model 120 of the server 1000 may be updated based on intermediate data received from various types of terminals, which is performed in an environment similar to that of the terminal 2000 .
  • the first model 220 of the terminal 2000 is based on the information about the first model 120 updated by the intermediate data received from other terminals even when the first model 220 is not used. Thus, it can be continuously updated. In addition, even if the first model 220 of the terminal 2000 is intermittently used and little intermediate data is generated, it may be continuously updated based on the intermediate data received from other terminals.
  • FIG. 2 is a diagram illustrating an example of generating a first model and a second model according to an embodiment.
  • the server 1000 according to an embodiment generates the first model 120 based on the training data 200 for learning the first model 120 and the second model 110 . You can create it first.
  • the training data 200 may include information about a pair of input information and output information for learning the first model 120 .
  • the training data 200 is not limited to the above-described example, and may include various types of data for learning the first model 120 and the second model 110 .
  • the server 1000 may set the shared part 100 in the first model 120 .
  • the second model 110 including the shared portion 100 set in the first model 120 as it is may be learned based on the training data 200 .
  • the second model 110 according to an embodiment may be generated based on the learning data 200 while including the shared part 100 as it is without a modified part.
  • the second model 110 according to an embodiment includes more nodes or layers than the first model 120 , so it has a greater amount of computation than the first model 120 , but can output a high-accuracy value. there is.
  • the shared part 100 may be set to include an input layer among the layers constituting the first model 120 .
  • the shared portion 100 may be set to variously determined layers including an input layer among the layers constituting the first model 120 .
  • the shared portion 100 As the shared portion 100 according to an embodiment increases, the area of the second model 110 generated and modified based on the training data 200 decreases, so that the performance of the second model 110 may be lowered. there is. On the other hand, as the shared portion 100 becomes larger, when intermediate data is transmitted for updating the first model 220 of FIG. 1 , the range of layers that can be randomly selected increases, so that the security level is further improved can be
  • the shared part ( 100) can be set.
  • the shared portion 100 may be reset to a smaller size than before.
  • the second model 110 may be trained and generated again.
  • the shared portion 100 included in the second model 110 is small and it is determined that the security level is low, the shared portion 100 in the first model 120 is resized to a larger size than before. Based on the set and reset shared portion 100 , the second model 110 may be trained again.
  • the first model 120 generated according to an embodiment may be transmitted to the terminal 2000 .
  • the server 1000 generates information for updating the first model 220 transmitted to the terminal 2000 using the first model 120 and the second model 110 , and the terminal 2000 ) can be transmitted.
  • FIG. 3 is a block diagram illustrating an internal configuration of a server according to an embodiment.
  • the server 1000 may include a processor 1300 , a communication unit 1500 , and a memory 1700 . However, not all of the components shown in FIG. 3 are essential components of the server 1000 .
  • the server 1000 may be implemented by more components than the components shown in FIG. 3 , and the server 1000 may be implemented by fewer components than the components shown in FIG. 3 .
  • the processor 1300 generally controls the overall operation of the terminal 2000 .
  • the processor 1300 may generally control the memory 1700 , the communication unit 1500 , and the like by executing programs stored in the memory 1700 .
  • the server 1000 may include at least one processor 1300 .
  • the server 1000 may include various types of processors, such as a central processing unit (CPU), a graphics processing unit (GPU), and a neural processing unit (NPU).
  • CPU central processing unit
  • GPU graphics processing unit
  • NPU neural processing unit
  • the processor 1300 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations.
  • the command may be provided to the processor 1300 from the memory 1700 or may be received through the communication unit 1500 and provided to the processor 1300 .
  • the processor 1300 may be configured to execute instructions according to program codes stored in a recording device such as a memory.
  • the processor 1300 as input information is processed in the first model of the terminal 2000, the communication unit ( 1500) can be controlled. According to an embodiment, whenever an operation using the first model is performed in the terminal 2000 , the generated intermediate data may be transmitted to the server 1000 .
  • the first layer according to an embodiment may be randomly determined from among a plurality of layers included in the shared portion by the terminal 2000 , so that intermediate data may be transmitted to the server 1000 .
  • the processor 1300 obtains a first model and a second model that are pre-trained models including the shared part, and from the first layer included in the shared part of the second model to the output of the first layer , by inputting the intermediate data received from the terminal 2000 , it is possible to obtain correct answer data for the input information of the first model.
  • the shared part included in the first model and the second model may include the same node and layer. Therefore, according to an embodiment, input information is input to the shared part of the second model, the value output from the shared part, and intermediate data are input to the first layer of the shared part of the second model, and output from the shared part values may be the same. Accordingly, instead of the input information being transmitted to the server 1000 , the intermediate data is transmitted to the server 1000 , so that correct answer data for updating the first model may be obtained from the second model.
  • the processor 1300 may update the first model so that correct answer data can be output from the first model.
  • the processor 1300 according to an embodiment generates information for updating the first model of the terminal 2000 based on the updated first model and transmits it to the terminal 2000, the communication unit 1500 . can control
  • the processor 1300 sets a shared part in the first model learned based on the training data, and generates a second model including the set shared part identically based on the training data. can do.
  • the shared portion may have an appropriate size based on the performance of the second model and a security level that may be determined according to the range of a layer that may be randomly selected from the shared portion.
  • the second 2 The model may be regenerated, based on the training data.
  • the communication unit 1500 may include one or more components that allow the terminal 2000 to communicate with the server 2000 or an external device (not shown).
  • the communication unit 1500 may include a short-distance communication unit 1510 , a mobile communication unit 1520 , and a broadcast receiving unit 1530 .
  • the communication unit 1500 may receive intermediate data output from the first layer included in the shared portion from the terminal 2000 as input information is processed in the first model of the terminal 2000 . . Also, the communication unit 1500 may transmit information for updating the first model of the terminal 2000 to the terminal 2000 under the control of the processor 1300 .
  • Short-range wireless communication unit 1510 Bluetooth communication unit, BLE (Bluetooth Low Energy) communication unit, short-range wireless communication unit (Near Field Communication unit), WLAN (Wi-Fi) communication unit, Zigbee (Zigbee) communication unit, infrared ( It may include an IrDA, infrared Data Association) communication unit, a Wi-Fi Direct (WFD) communication unit, an ultra wideband (UWB) communication unit, an Ant+ communication unit, and the like, but is not limited thereto.
  • the mobile communication unit 1520 transmits/receives a radio signal to and from at least one of a base station, an external terminal, and a server on a mobile communication network.
  • the wireless signal may include various types of data according to transmission and reception of a voice call signal, a video call signal, or a text/multimedia message.
  • the broadcast receiver 1530 receives a broadcast signal and/or broadcast-related information from the outside through a broadcast channel.
  • the broadcast channel may include a satellite channel and a terrestrial channel.
  • the terminal 2000 may not include the broadcast receiver 1530 .
  • the memory 1700 may store a program for processing and control of the processor 1300 , and may also store data input to or output from the terminal 2000 .
  • the memory 1700 may store the first model and the second model.
  • the first model stored in the server 1000 may be the same model as the first model stored in the terminal 2000 .
  • the second model may include more nodes and more layers than the first model, and may be a model with higher accuracy.
  • the memory 1700 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg, SD or XD memory), and a RAM.
  • RAM Random Access Memory
  • SRAM Static Random Access Memory
  • ROM Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • PROM Programmable Read-Only Memory
  • magnetic memory magnetic disk
  • magnetic disk may include at least one type of storage medium among optical disks.
  • FIG. 4 is a block diagram illustrating an internal configuration of a terminal according to an embodiment.
  • FIG. 5 is a block diagram illustrating an internal configuration of a terminal according to an embodiment.
  • the terminal 2000 may include a processor 2300 , a communication unit 2500 , and a memory 2700 .
  • the terminal 2000 may be implemented by more components than the components shown in FIG. 4 , or the terminal 2000 may be implemented by fewer components than the components shown in FIG. 2 .
  • the terminal 2000 includes a user input unit 2100 and an output unit in addition to the processor 2300 , the communication unit 2500 , and the memory 2700 . 2200 , a sensing unit 2400 , and an A/V input unit 2600 may be further included.
  • the user input unit 2100 means a means for a user to input data for controlling the terminal 2000 .
  • the user input unit 2100 includes a key pad, a dome switch, and a touch pad (contact capacitive method, pressure resistance film method, infrared sensing method, surface ultrasonic conduction method, integral type).
  • a tension measurement method a piezo effect method, etc.
  • a jog wheel a jog switch, and the like, but is not limited thereto.
  • the user input unit 2100 may receive a user input for performing an operation according to the first model.
  • the output unit 2200 may output an audio signal, a video signal, or a vibration signal, and the output unit 2200 may include a display unit 2210 , a sound output unit 2220 , and a vibration motor 2230 . there is.
  • the display unit 2210 displays and outputs information processed by the terminal 2000 .
  • the display unit 2210 may display information related to information output according to the first model.
  • the display unit 2210 may be used as an input device in addition to an output device.
  • the display unit 2210 includes a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, a three-dimensional display ( 3D display) and electrophoretic display (electrophoretic display) may include at least one. Also, depending on the implementation form of the terminal 2000 , the terminal 2000 may include two or more display units 2210 .
  • the sound output unit 2220 outputs audio data received from the communication unit 2500 or stored in the memory 2700 . According to an embodiment, the sound output unit 2220 may output information related to information output according to the first model as an audio signal.
  • the vibration motor 2230 may output a vibration signal. Also, the vibration motor 2230 may output a vibration signal when a touch is input to the touch screen. According to an embodiment, the vibration motor 2230 may output information related to information output according to the first model as a vibration signal.
  • the processor 2300 generally controls the overall operation of the terminal 2000 .
  • the processor 2300 executes programs stored in the memory 2700 , and thus the user input unit 2100 , the output unit 2200 , the sensing unit 2400 , the communication unit 2500 , and the A/V input unit 2600 . ) can be controlled in general.
  • the terminal 2000 may include at least one processor 2300 .
  • the terminal 2000 may include various types of processors, such as a central processing unit (CPU), a graphics processing unit (GPU), and a neural processing unit (NPU).
  • CPU central processing unit
  • GPU graphics processing unit
  • NPU neural processing unit
  • the processor 2300 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations.
  • the command may be provided to the processor 2300 from the memory 2700 or may be received through the communication unit 1500 and provided to the processor 2300 .
  • the processor 2300 may be configured to execute instructions according to program code stored in a recording device such as a memory.
  • the processor 2300 may input input information to the first model according to a user input, and may perform an operation according to information output from the first model. Also, as input information is processed in the first model, the processor 2300 may obtain intermediate data output from the first layer among the layers included in the shared portion included in the first model. The first layer according to an embodiment may be randomly selected from among the layers included in the shared portion. As the intermediate data according to an embodiment is transmitted to the server 1000 , information for updating the first model may be received by the terminal 2000 . The processor 2300 according to an embodiment may update the first model as information for updating the first model, generated based on the intermediate data, is received from the server 1000 .
  • the sensing unit 2400 may detect a state of the terminal 2000 or a state around the terminal 2000 , and transmit the sensed information to the processor 2300 .
  • the sensing unit 2400 includes a geomagnetic sensor 2410 , an acceleration sensor 2420 , a temperature/humidity sensor 2430 , an infrared sensor 2440 , a gyroscope sensor 2450 , and a position sensor.
  • a position sensor e.g, GPS
  • GPS may include at least one of 2460 , a barometric pressure sensor 2470 , a proximity sensor 2480 , and an illuminance sensor 2490 , but is not limited thereto.
  • the communication unit 2500 may include one or more components that allow the terminal 2000 to communicate with the server 2000 or an external device (not shown).
  • the communication unit 2500 may include a short-range communication unit 2510 , a mobile communication unit 2520 , and a broadcast receiving unit 2530 .
  • Short-range wireless communication unit 2510 Bluetooth communication unit, BLE (Bluetooth Low Energy) communication unit, short-range wireless communication unit (Near Field Communication unit), WLAN (Wi-Fi) communication unit, Zigbee (Zigbee) communication unit, infrared ( It may include an IrDA, infrared Data Association) communication unit, a Wi-Fi Direct (WFD) communication unit, an ultra wideband (UWB) communication unit, an Ant+ communication unit, and the like, but is not limited thereto.
  • the mobile communication unit 2520 transmits/receives a radio signal to and from at least one of a base station, an external terminal, and a server on a mobile communication network.
  • the wireless signal may include various types of data according to transmission and reception of a voice call signal, a video call signal, or a text/multimedia message.
  • the broadcast receiver 2530 receives a broadcast signal and/or broadcast-related information from the outside through a broadcast channel.
  • the broadcast channel may include a satellite channel and a terrestrial channel.
  • the terminal 2000 may not include the broadcast receiver 2530 .
  • the communication unit 2500 may transmit intermediate data to the server 1000 , and in response thereto, may receive information for updating the first model from the server 1000 . Accordingly, the terminal 2000 may update the first model used in the terminal 2000 based on the information for updating the first model.
  • the A/V (Audio/Video) input unit 2600 is for inputting an audio signal or a video signal, and may include a camera 2610 , a microphone 2620 , and the like.
  • the camera 2610 may obtain an image frame such as a still image or a moving image through an image sensor in a video call mode or a photographing mode.
  • the image captured through the image sensor may be processed through the processor 2300 or a separate image processing unit (not shown).
  • the microphone 2620 receives an external sound signal and processes it as electrical voice data.
  • the memory 2700 may store a program for processing and control of the processor 2300 , and may also store data input to or output from the terminal 2000 .
  • the memory 2700 may store the first model.
  • the first model according to an embodiment may be generated by the server 1000 , then transmitted to the terminal 2000 , and stored in the memory 2700 . Thereafter, the first model may be repeatedly updated based on information received from the server 1000 by transmitting intermediate data to the server 1000 whenever an operation by the first model is performed. .
  • the memory 2700 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg, SD or XD memory), and a RAM.
  • RAM Random Access Memory
  • SRAM Static Random Access Memory
  • ROM Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • PROM Programmable Read-Only Memory
  • magnetic memory magnetic disk
  • magnetic disk may include at least one type of storage medium among optical disks.
  • Programs stored in the memory 2700 may be classified into a plurality of modules according to their functions, for example, may be classified into a UI module 2710 , a touch screen module 2720 , a notification module 2730 , and the like. .
  • the UI module 2710 may provide a specialized UI, GUI, or the like that is interlocked with the terminal 2000 for each application.
  • the touch screen module 2720 may detect a touch gesture on the user's touch screen and transmit information about the touch gesture to the processor 2300 .
  • the touch screen module 2720 according to some embodiments may recognize and analyze a touch code.
  • the touch screen module 2720 may be configured as separate hardware including a controller.
  • Various sensors may be provided inside or near the touch screen to detect a touch or a proximity touch of the touch screen.
  • a sensor for detecting a touch of a touch screen there is a tactile sensor.
  • a tactile sensor refers to a sensor that senses a touch of a specific object to the extent or higher than that of a human being.
  • the tactile sensor may sense various information such as the roughness of the contact surface, the hardness of the contact object, and the temperature of the contact point.
  • the user's touch gesture may include tap, touch & hold, double tap, drag, pan, flick, drag and drop, swipe, and the like.
  • the notification module 2730 may generate a signal for notifying the occurrence of an event in the terminal 2000 .
  • FIG. 6 is a diagram illustrating a method of generating and transmitting, in a server, information for updating a first model of a terminal according to an embodiment.
  • the server 1000 may receive intermediate data from the terminal 2000 .
  • the server 1000 may generate information for updating the first model 220 of the terminal 2000 and transmit it to the terminal 2000 as it receives the intermediate data from the terminal 2000 . there is.
  • the intermediate data may be generated as the first model 220 is used in order to perform an operation in the terminal 2000 .
  • values output from a layer randomly selected from among the layers included in the shared portion may be obtained as intermediate data.
  • the server 1000 may obtain correct answer data corresponding to the input information by inputting the intermediate data into the second model.
  • the server 1000 may identify a layer for the intermediate data, and based on the identified layer, identify a layer to input the intermediate data from among the layers included in the shared portion of the second model. there is. For example, when the intermediate data received from the terminal 2000 includes values output from the first layer among the layers of the shared part, the intermediate data is the second model among the layers included in the shared part of the second model. It may be input as an output of the first layer that is the same as that of the first layer.
  • the server 1000 may obtain correct answer data from the second model by inputting the intermediate data as an output of the first layer included in the shared portion of the second model.
  • the server 1000 may update the first model so that, as intermediate data is input to the first model, the correct answer data obtained in operation 620 may be output.
  • the intermediate data according to an embodiment may be input to a second layer identified as a layer to which the intermediate data is to be input in operation 620 among the shared parts of the first model.
  • step 640 the server 1000 generates information for updating the first model of the terminal 2000 based on the first model updated in step 630 , and transmits the generated information to the terminal 2000 .
  • FIG. 7 is a block diagram illustrating an example of a method of generating information for updating a first model based on a plurality of second models according to an embodiment.
  • the server 1000 updates the first model 120 based on the second model group 720 including a plurality of second models, and the terminal 2000 ), information for updating the first model 220 may be generated.
  • a plurality of second models may be generated based on the training data. Domains according to an embodiment may be classified according to characteristics of each operation processed by the terminal 2000 . For example, the domain may be divided into a phone call, a gallery, an alarm, etc. for each application processed in the terminal 2000 . In addition, based on the learning data collected for each application, a plurality of second models may be differently learned and generated.
  • the plurality of second models according to an embodiment may be learned for each domain based on specified training data. Accordingly, more accurate correct answer data may be obtained according to a plurality of second models than when one second model is used.
  • a plurality of second models according to an embodiment may also be trained and generated to equally include the shared portion 100 set in the first model 120 .
  • the server 1000 upon receiving intermediate data from the terminal 2000 , includes a second model for updating the first model 120 among a plurality of second models included in the second model group 720 . 2 You can select a domain to identify the model.
  • a domain for the second model may be selected based on the third model 710 trained in advance to select a domain based on intermediate data.
  • the third model may be a domain classifier (DC) model.
  • the server 1000 may select a domain of the second model based on various types of artificial intelligence models.
  • the third model 710 may include the shared portion 100 set in the first model 120 in the same manner as the second model.
  • the third model 710 according to an embodiment may be learned based on the training data for selecting the domain of the second model, but the shared part 100 of the third model 710 is not modified, It can be learned while being included in the third model 710 as it is.
  • the training data used for learning the third model 710 may include data different from the training data used for learning the second model.
  • the training data for learning of the third model 710 is not limited to the above-described example, and may include various types of data.
  • the intermediate data is input to the output of the first layer among the shared portions 100 of the third model 710 in the same way as when intermediate data is input to the second model.
  • the shared portion 100 of the third model 710 as intermediate data is input as an output of the first layer, information about the domain of the second model may be output.
  • At least one second model may be selected. Also, by inputting intermediate data to the selected second model, correct answer data for updating the first model 120 may be obtained.
  • a plurality of second models may be selected based on the information about the domain.
  • a plurality of correct answer data may be obtained by a plurality of second models.
  • a representative value eg, an average value, a median value, a maximum value, etc.
  • a plurality of correct answer data may be used as correct answer data for updating the first model 120 .
  • the above-described example is not limited, and values obtained according to various methods based on a plurality of correct answer data may be used as correct answer data for updating the first model 120 .
  • the update operation according to the embodiment is performed may not be performed.
  • the domain selected by the third model 710 is a domain preset as a domain that is not used to update the first model 120, with respect to the currently received intermediate data, the first model 120 An update operation may not be performed for .
  • the server 1000 may determine, in 730 , whether reliability is greater than or equal to a reference value with respect to the correct answer data obtained from the second model group 720 .
  • the correct answer data may further include information indicating reliability (eg, probability information on an output value).
  • the reliability of the correct answer data When the reliability of the correct answer data according to an embodiment is equal to or greater than the reference value, an operation of updating the first model 120 based on the correct answer data may be performed. On the other hand, when the reliability is less than or equal to the reference value, the update operation for the first model 120 may not be performed on the currently received intermediate data.
  • the update of the first model 120 may be selectively performed based on the reliability of the correct answer data.
  • FIG. 8 is a block diagram illustrating an example of updating a decoder included in the terminal 2000 according to an embodiment.
  • the terminal 2000 may perform various operations based on the encoder 800 and the first decoder 820 .
  • the terminal 2000 may use the encoder 800 and the first decoder 820 to translate and output text in a first language into a second language.
  • the encoder 800 may convert the text of the first language into vector form context information, and the first decoder 820 may output the text of the second language based on the context information.
  • the encoder 800 may correspond to the shared portion 100 .
  • the first decoder 820 may correspond to the first model 220 excluding the shared portion 100 .
  • the second decoder 810 may correspond to the second model 210 excluding the shared portion 100 according to an embodiment.
  • the first decoder 820 and the second decoder 810 may perform an operation based on information output from the same encoder 800 .
  • the input text in the first language may be translated and output by the encoder 800 and the first decoder 820 as text in the second language.
  • information output from the first layer among at least one layer of the artificial intelligence model included in the encoder 800 may be transmitted to the server 1000 as intermediate data.
  • the server 1000 may input intermediate data to the encoder 800 for the second decoder 810 .
  • the encoder 800 to which the intermediate data is input may be an encoder that outputs context information to the second decoder 810 having better performance than the first decoder 820 .
  • the intermediate data may be input as an output of a first layer among at least one layer of the artificial intelligence model of the encoder 800 .
  • the text of the second language output from the second decoder 810 may be obtained as correct answer data.
  • the encoder 800 for the second decoder 810 and the encoder 800 for the first decoder 820 are identical to each other, the data received from the encoder 800 in the first decoder 820 is Context information and context information obtained based on the intermediate data received from the encoder 800 in the second decoder 810 may be the same. Therefore, according to an embodiment, since the second decoder 810 may receive the same input as the input (ie, context information) of the first decoder 820 , the correct answer to the input of the first decoder 820 . data can be output.
  • the first decoder 830 of the server 1000 may be updated to output the correct answer data based on the intermediate data.
  • the correct answer data may be updated to be output.
  • the encoder 800 to which the intermediate data is input may be an encoder that outputs context information to the first decoder 830 .
  • the server 1000 may generate information for updating the first decoder 820 of the terminal 2000 based on the updated first decoder 830 and transmit it to the terminal 2000 . there is.
  • the intermediate data generated by the artificial intelligence model instead of the input information is transmitted to the server, the possibility that personal information is leaked due to the transmission of the input information can be minimized.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory storage medium' is a tangible device and only means that it does not contain a signal (eg, electromagnetic wave). It does not distinguish the case where it is stored as
  • the 'non-transitory storage medium' may include a buffer in which data is temporarily stored.
  • the method according to various embodiments disclosed in this document may be included in a computer program product (computer program product) and provided.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or via an application store (eg Play Store TM ) or on two user devices ( It can be distributed online (eg download or upload), directly between smartphones (eg smartphones).
  • a portion of the computer program product eg, a downloadable app
  • a machine-readable storage medium such as a memory of a manufacturer's server, a server of an application store, or a relay server. It may be temporarily stored or temporarily created.
  • unit may be a hardware component such as a processor or circuit, and/or a software component executed by a hardware component such as a processor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Neurology (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

서버에 의해 수행되는 방법이 제공된다. 상기 방법은 단말의 상기 제1 모델에서, 제1 모델에 입력된 입력 정보가 처리됨에 따라, 제1 모델의 공유 부분에 포함된 제1 레이어에서 출력된 중간 데이터를, 단말로부터 수신하고, 공유 부분을 포함하여 미리 학습된 모델인, 제1 모델 및 제2 모델을 획득하고, 제2 모델의 공유 부분에 포함된 제1 레이어에서, 중간 데이터를 제1 레이어의 출력으로 입력함으로써, 입력 정보에 대한 정답 데이터를 획득하고, 제1 모델의 공유 부분에 포함된 제1 레이어에서, 중간 데이터가 제1 레이어의 출력으로 입력됨에 따라, 제1 모델에서 정답 데이터가 출력될 수 있도록, 제1 모델을 갱신하고, 갱신된 제1 모델에 관한 정보를 단말에 전송하는 서버에서, 단말의 제1 모델을 갱신하기 위한 정보를 생성하는 방법을 포함한다.

Description

단말의 모델을 갱신하는 서버 및 그 동작 방법
본 개시는, 단말에 저장된 모델을 갱신하는 서버 및 그 동작 방법에 관한 것이다.
온 디바이스(on-device) AI 기술에 따르면, 서버와의 데이터 송수신 없이, 단말에 저장된 인공지능 모델에 의하여 동작이 수행될 수 있다. 온 디바이스 AI 기술에 의한, 단말은 수집된 데이터를 외부로 전달하지 않고, 스스로 운용하므로, 사용자의 개인 정보 보호 및 데이터 처리 속도 면에서, 장점이 존재한다.
단말의 인공지능 모델에 의해 동작이 수행될 때마다, 수행된 동작과 관련된 정보가 서버로 전송됨으로써, 서버에서 생성된 단말의 인공지능 모델을 갱신하기 위한 정보가 단말에 제공될 수 있다.
그러나, 단말에서 서버로 전송되는 동작과 관련된 정보는, 사용자의 개인 정보를 포함할 수 있으므로, 서버로 전송되는 과정에서, 개인 정보가 유출될 우려가 존재한다. 따라서, 개인 정보 유출 우려를 최소화할 수 있는 단말의 인공지능 모델을 갱신하는 방법이 필요하다.
배경 기술에 개시된 정보는 본 개시 내용의 이해를 돕기 위한 배경 정보로서만 제공된다. 위의 내용 중 어느 것이 본 개시와 관련하여 선행 기술로 적용될 수 있는지 여부에 대해 결정된 바 없으며, 어떠한 주장도 이루어지지 않는다.
본 개시의 측면들은 적어도 위에서 언급된 문제 및/또는 단점을 해결하고 적어도 아래에서 설명되는 이점을 제공하는 데 있다.
따라서, 본 개시의 일 측면은 단말의 모델을 갱신하는 서버 및 그 동작 방법을 제공하기 위한 것이다.
또한, 개시의 다른 측면은, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
추가적인 측면들이, 다음의 설명에서 부분적으로 설명될 것이고, 부분적으로는, 설명으로부터 명백할 것이고, 또는 제시된 실시예의 실행에 의해 학습될 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 서버에서, 단말의 제1 모델을 갱신하기 위한 정보를 생성하는 방법에 있어서, 상기 단말의 상기 제1 모델에서, 상기 제1 모델에 입력된 입력 정보가 처리됨에 따라, 상기 제1 모델의 공유 부분에 포함된 제1 레이어에서 출력된 중간 데이터를, 상기 단말로부터 수신하는 단계; 상기 공유 부분을 포함하여 미리 학습된 모델인, 상기 제1 모델 및 제2 모델을 획득하는 단계; 상기 제2 모델의 상기 공유 부분에 포함된 상기 제1 레이어에서, 상기 중간 데이터를 상기 제1 레이어의 출력으로 입력함으로써, 상기 입력 정보에 대한 정답 데이터를 획득하는 단계; 상기 제1 모델의 상기 공유 부분에 포함된 상기 제1 레이어에서, 상기 중간 데이터가 상기 제1 레이어의 출력으로 입력됨에 따라, 상기 제1 모델에서 상기 정답 데이터가 출력될 수 있도록, 상기 제1 모델을 갱신하는 단계; 및 상기 갱신된 제1 모델에 관한 정보를 상기 단말에 전송하는 단계를 포함하는, 방법을 제공할 수 있다. 
또한, 본 개시의 제2 측면은, 단말에서, 제1 모델을 갱신하는 방법에 있어서, 상기 단말의 상기 제1 모델에서, 상기 제1 모델에 입력된 입력 정보가 처리됨에 따라, 상기 제1 모델의 공유 부분에 포함된 제1 레이어에서 출력된 중간 데이터를 획득하는 단계; 상기 중간 데이터를 서버로 전송하는 단계; 및 상기 서버로부터, 상기 제1 모델을 갱신하기 위한 정보를 수신하는 단계를 포함하고, 상기 제1 모델을 갱신하기 위한 정보는, 제2 모델의 상기 공유 부분에 포함된 상기 제1 레이어에서, 상기 중간 데이터를 상기 제1 레이어의 출력으로 입력함으로써, 획득된 정답 데이터에 기초하여 획득되는, 방법을 제공할 수 있다. 
또한, 본 개시의 제3 측면은, 단말의 제1 모델을 갱신하기 위한 정보를 생성하는 서버에 있어서, 상기 단말의 상기 제1 모델에서, 상기 제1 모델에 입력된 입력 정보가 처리됨에 따라, 상기 제1 모델의 공유 부분에 포함된 제1 레이어에서 출력된 중간 데이터를, 상기 단말로부터 수신하는 통신부; 상기 공유 부분을 포함하여 미리 학습된 모델인, 상기 제1 모델 및 제2 모델을 저장하는 메모리; 및 상기 제2 모델의 상기 공유 부분에 포함된 상기 제1 레이어에서, 상기 중간 데이터를 상기 제1 레이어의 출력으로 입력함으로써, 상기 입력 정보에 대한 정답 데이터를 획득하고, 상기 제1 모델의 상기 공유 부분에 포함된 상기 제1 레이어에서, 상기 중간 데이터가 상기 제1 레이어의 출력으로 입력됨에 따라, 상기 제1 모델에서 상기 정답 데이터가 출력될 수 있도록, 상기 제1 모델을 갱신하고, 상기 갱신된 제1 모델에 관한 정보를 상기 단말에 전송하도록 상기 통신부를 제어하는 적어도 하나의 프로세서를 포함하는, 서버를 제공할 수 있다.
또한, 본 개시의 제4 측면은, 제1 모델을 갱신하는 단말에 있어서, 상기 제1 모델을 저장하는 메모리; 상기 단말의 상기 제1 모델에서, 상기 제1 모델에 입력된 입력 정보가 처리됨에 따라, 상기 제1 모델의 공유 부분에 포함된 제1 레이어에서 출력된 중간 데이터를 획득하는 적어도 하나의 프로세서; 및 상기 중간 데이터를 서버로 전송함에 따라, 상기 서버로부터, 상기 제1 모델을 갱신하기 위한 정보를 수신하는 통신부를 포함하고, 상기 제1 모델을 갱신하기 위한 정보는, 제2 모델의 상기 공유 부분에 포함된 상기 제1 레이어에서, 상기 중간 데이터를 상기 제1 레이어의 출력으로 입력함으로써, 획득된 정답 데이터에 기초하여 획득되는, 단말을 제공할 수 있다.
또한, 본 개시의 제5 측면은, 제1 측면 또는 제2 측면의 방법을 수행하도록 하는 프로그램이 저장된 기록매체를 제공할 수 있다.
본 개시의 다른 측면들, 이점 및 두드러진 특징은 첨부된 도면과 함께 취해진 본 개시의 다양한 실시예를 개시하는 다음의 상세한 설명으로부터 당업자에게 명백해질 것이다.
상기 및 본 개시의 어떠한 실시예의 다른 측면, 특징 및 이점은 첨부 도면과 함께 취해진 다음의 설명으로부터 더욱 명백해질 것이다.
도 1은 일 실시 예에 의한 단말의 제1 모델을 갱신하는 일 예를 나타내는 도면이다.
도 2는 일 실시 예에 의한 제1 모델 및 제2 모델을 생성하는 일 예를 나타낸 도면이다.
도 3은 일 실시 예에 의한 서버의 내부 구성을 설명하기 위한 블록도이다.
도 4는 일 실시 예에 의한 단말의 내부 구성을 설명하기 위한 블록도이다.
도 5는 일 실시 예에 의한 단말의 내부 구성을 설명하기 위한 블록도이다.
도 6은 일 실시 예에 의한, 서버에서, 단말의 제1 모델을 갱신하기 위한 정보를 생성하여 전송하는 방법을 나타낸 도면이다.
도 7은 일 실시 예에 의한 복수 개의 제2 모델에 기초하여, 제1 모델을 갱신하기 위한 정보를 생성하는 방법의 일 예를 나타낸 블록도이다.
도 8은 일 실시 예에 의한 단말에 포함된 디코더를 갱신하는 일 예를 나타낸 블록도이다.
도면 전체에 걸쳐, 참조 번호들은 동일하거나 유사한 요소들, 특징들 및 구조들을 묘사하는 데 사용된다는 점에 유의해야 한다.
첨부된 도면을 참조한 다음 설명은 청구 범위 및 그 균등물에 의해 정의된 바와 같은 본 개시 내용의 다양한 실시예의 포괄적인 이해를 돕기 위해 제공된다. 여기에는 이해를 돕기 위한 다양한 특정 세부 사항이 포함되어 있지만 이는 단지 예시적인 것으로 간주되어야 한다. 따라서, 본 기술 분야의 통상의 지식을 가진 자는, 본 개시의 범위 및 사상을 벗어남이 없이, 본 명세서에 기술된 다양한 실시예의 다양한 변경 및 수정이 이루어질 수 있음을 인식할 것이다. 또한, 명료함과 간결함을 위해 잘 알려진 기능 및 구성에 대한 설명은 생략될 수 있다.
하기 설명 및 특허청구범위에서 사용된 용어 및 단어는 서지적 의미에 한정되지 않으며, 본 개시의 명확하고 일관된 이해를 가능하게 하기 위해 발명자에 의해 사용된 것을 뿐이다. 따라서, 본 개시의 다양한 실시예에 대한 다음의 설명은 단지 예시의 목적으로 제공되고 첨부된 청구 범위 및 그 균등물에 의해 정의된 바와 같은 본 개시를 제한하기 위한 것이 아님이 당업자에게 명백해야 한다.
단수 형태의 단어 및 “상기”는 문맥이 명백하게 달리 지시하지 않는 한 복수 지시 대상을 포함하는 것으로 이해되어야 한다. 따라서, 예를 들어 "구성요소 표면"에 대한 언급은 그러한 표면 중 하나 이상에 대한 언급을 포함한다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(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) 등이 있으나, 전술한 예에 한정되지 않는다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 일 실시 예에 의한 단말의 제1 모델을 갱신하는 일 예를 나타내는 도면이다.
도 1을 참조하면, 일 실시 예에 의한 단말(2000)은 제1 모델(220)을 이용하여 다양한 동작을 수행할 수 있다. 예를 들면, 제1 모델(220)에, 사용자 입력에 따른 입력 정보가 입력됨으로써, 제1 모델(220)에서 출력 정보가 출력될 수 있고, 출력 정보에 대응하는 동작이 수행될 수 있다.
일 실시 예에 의한 입력 정보는, 동작을 수행하기 위해 제1 모델(220)에 입력되는 정보를 포함할 수 있다. 또한, 출력 정보는, 제1 모델(220)이 처리된 결과로서, 출력 정보에 기초하여, 동작이 수행될 수 있다.
일 실시 예에 의한 제1 모델(220)은, 단말(2000)에서 다양한 동작을 수행하기 위한 적어도 하나의 인공지능 모델 중 하나일 수 있다. 예를 들면, 제1 모델(220)은, 음성 인식 모델, 자연어 처리 모델, 영상 인식 모델 등, 단말(2000)에서 수행될 수 있는 다양한 동작을 위한 인공지능 모델일 수 있다. 상술한 예에 한하지 않고, 제1 모델(220)은, 다양한 종류의 인공지능 모델 중 하나일 수 있다.
일 실시 예에 따른 단말(2000)은 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 단말(2000)은, 스마트 TV, 셋탑 박스, 휴대폰, 태블릿 PC, 디지털 카메라, 노트북 컴퓨터(laptop computer), 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 착용형 기기(wearable device) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
일 실시 예에 의하면, 외부의 서버(1000)에 존재하는 인공지능 모델에 의해 단말(2000)의 동작이 수행되는 경우, 단말(2000)이 인공지능 모델의 입력 정보를 서버(1000)로 전송하고, 인공지능 모델의 출력 정보를 수신하여, 출력 정보에 기초한 동작을 수행할 수 있다. 그러나, 일 실시 예에 의하면, 온 디바이스 AI 기술에 따라, 동작을 수행하기 위한 제1 모델(220)이 단말(2000)에 탑재됨에 의하여, 제1 모델(220)의 입력 정보가 서버(1000)로 전송되지 않고, 단말(2000) 내부에서, 처리될 수 있다.
따라서, 일 실시 예에 의하면, 사용자의 민감한 정보를 포함할 수 있는 입력 정보가 전송 과정에서 외부로 유출되지 않을 수 있다. 또한, 일 실시 예에 의하면, 입력 정보를 서버(1000)로 전송하거나, 출력 정보를 서버(1000)로부터 수신하는 과정이 수행되지 않음에 따라서, 서버(1000)에 의해 입력 정보가 처리되는 경우보다, 더 적은 연산량으로 동작이 수행될 수 있다.
다만, 일 실시 예에 의한 단말(2000)에 탑재된 제1 모델(220)은, 서버(1000)에 비해 상대적으로 낮은 수준의 단말(2000)의 성능(ex. 데이터 저장용량, 연산속도)에 따른, 상대적으로 작은 크기의 인공지능 모델일 수 있다. 예를 들면, 제1 모델(220)은, 상대적으로 적은 개수의 노드 및 신경망 레이어로 구성된 인공지능 모델일 수 있다. 따라서, 일 실시 예에 의하면 제1 모델(220)은, 상대적으로 작은 크기를 가짐에 따라, 사용자에게 적합한 동작이 수행될 수 있는, 출력 정보가 출력될 확률이 상대적으로 낮을 수 있다.
일 실시 예에 의하면, 상술한 제1 모델(220)의 단점을 보완할 수 있도록, 서버(1000)는, 제1 모델(220)보다 성능이 더 우수한 제2 모델(110)을 이용하여, 제1 모델(220)이 갱신될 수 있는 정보를 단말(2000)에 제공할 수 있다. 일 실시 예에 의하면, 서버(1000)로부터 제공된 정보에 기초하여, 단말(2000)의 제1 모델(220)이 지속적으로 갱신됨으로써, 성능이 더 우수한 제2 모델(110)을 이용하는 경우와 같이, 작은 크기를 가지는 제1 모델(220)을 통하여도, 적절한 출력 정보가 출력될 수 있다.
일 실시 예에 의한 제2 모델(110)은, 제1 모델(220)에 비해 상대적으로, 더 큰 크기를 가짐에 따라서, 사용자에게 적합한 출력 정보가 출력될 확률이 상대적으로 더 높을 수 있다. 일 실시 예에 의한 제2 모델(110)은, 상대적으로 성능이 높은 서버(1000)에 의해 처리될 수 있으므로, 제1 모델(220)에 비해 더 많은 개수의 노드 및 신경망 레이어를 포함하는 인공지능 모델일 수 있다.
일 실시 예에 의한 서버(1000)는, 단말(2000)의 제1 모델(220)과 동일한 인공지능 모델로서, 서버(1000)에 탑재되어 있는 제1 모델(120)을, 제2 모델(110)을 이용하여, 먼저 갱신할 수 있다. 일 실시 예에 의하면, 동일한 입력 정보에 대해, 제2 모델(110)에서 출력된 출력 정보와 동일한 출력 정보가 제1 모델(120)에서 출력될 수 있도록, 서버(1000)의 제1 모델(120)이 갱신될 수 있다. 또한, 서버(1000)는 갱신된 제1 모델(120)에 기초하여, 단말(2000)의 제1 모델(220)을 갱신하기 위한 정보를 획득하여, 단말(2000)로 전송할 수 있다.
일 실시 예에 의한 서버(1000)는, 단말(2000)의 제1 모델(220)에 입력된 입력 정보가 제2 모델(110)에 입력됨에 따라 출력된 값을 정답 데이터로서 획득할 수 있다. 또한, 일 실시 예에 의한 서버(1000)는, 상기 입력 정보가 서버(1000)의 제1 모델(120)에 입력되었을 때, 제1 모델(120)로부터 상기 정답 데이터가 출력될 수 있도록, 제1 모델(120)을 갱신할 수 있다.
일 실시 예에 의한 서버(1000)는, 단말(2000)에서 동작을 수행하기 위하여 이용된 제1 모델(220)의 입력과 관련된 정보를 단말(2000)로부터 수신함에 따라서, 서버(1000)의 제1 모델(120)을 갱신할 수 있다. 그러나, 일 실시 예에 의하면, 제1 모델(220)의 입력 정보는, 사용자의 개인 정보를 포함할 수 있으므로, 입력 정보가 서버(1000)로 전송되는 경우, 전송 과정에서 유출될 우려가 존재한다.
따라서, 일 실시 예에 의하면, 제1 모델(220)의 입력 정보 대신 제1 모델(120, 220)을 갱신하기 위한 다른 정보가, 단말(2000)에서 서버(1000)로 전송됨으로써, 제1 모델(120, 220)이 갱신될 수 있다. 일 실시 예에 의하면, 서버(1000)는 제1 모델(110)의 입력 정보 대신, 제1 모델(220)의 공유 부분(100)에서 생성된 중간 데이터를 단말(2000)로부터 수신하여, 서버(1000)의 제1 모델(120)을 갱신할 수 있다.
일 실시 예에 의한 공유 부분(100)은, 제1 모델(120, 220) 및 제2 모델(110)에 동일하게 포함되어 있는 부분으로, 적어도 하나의 신경망 레이어를 포함할 수 있다.
일 실시 에에 의한 인공지능 모델은, 적어도 하나의 노드를 포함하는, 적어도 하나의 신경망 레이어로 구성될 수 있다. 일 실시 예에 의한 각각의 신경망 레이어는, 적어도 하나의 노드를 포함하며, 인공지능 모델에 입력된 값들은, 인공지능 모델에 포함된 각각의 노드에서, 처리되어 출력될 수 있다. 예를 들면, 각 노드에 입력된 값(x)은, 각 노드에 대해 미리 설정된, 가중치(a) 및 바이어스(b) 값에 기초하여, 수식 y=ax+b 에 따라 처리됨으로써, 각 노드에서 출력 값(y)이 출력될 수 있다. 상술한 예에 한하지 않고, 각 노드에 대해 설정된 다양한 수식 및 가중치, 바이어스 값에 따라서, 입력값이 처리되어 출력될 수 있다.
일 실시 예에 의한 인공지능 모델은 입력 레이어, 출력 레이어 및, 적어도 하나의 히든 레이어를 포함하여 구성될 수 있다. 일 실시 예에 의한 입력 레이어는, 인공지능 모델에 입력된 정보를 직접적으로 처리하는 레이어이다. 또한, 히든 레이어는, 입력 레이어 및 출력 레이어 사이에서, 정보를 처리하는 레이어이다. 또한, 출력 레이어는, 입력 레이어 및 히든 레이어에서 처리된 정보를 최종적으로 처리하여, 인공지능 모델의 출력 정보를 직접적으로 출력하는 레이어이다.
일 실시 예에 의한 공유 부분(100)은, 제1 모델(120, 220)을 구성하는 적어도 하나의 신경망 레이어 중, 입력 레이어를 포함하는, 적어도 하나의 신경망 레이어로 설정될 수 있다. 또한, 일 실시 예에 의한 제2 모델(110)은, 제1 모델(120, 220)의 공유 부분(100)과 동일한 공유 부분(100)을 포함하도록, 생성될 수 있다.
예를 들어, 제1 모델(120, 220)이 입력 레이어, 100개의 히든 레이어 및 출력 레이어를 포함하는 경우, 공유 부분(100)은, 입력 레이어 및 9개의 히든 레이어로 설정될 수 있다. 상술한 예에 한하지 않고, 공유 부분(100)은, 제1 모델(120, 220)을 구성하는 레이어 중, 다양한 레이어로 설정될 수 있다.
일 실시 예에 의하면, 사용자의 개인 정보를 포함할 수 있는 입력 정보 대신, 공유 부분(100)에 포함된 복수 개의 레이어 중 하나의 레이어에서 출력된 값들이 중간 데이터로서 서버(1000)로 전송될 수 있다. 예를 들어, y=ax+b 에 따라 상기 레이어에 포함된 각 노드에서 생성된 출력 값들(y)이 중간 데이터로 전송될 수 있다.
일 실시 예에 의한 서버(1000)는, 단말(2000)로부터 중간 데이터를 수신하면, 중간 데이터의 y값들이 출력된 레이어를 식별할 수 있다. 또한, 서버(1000)는 식별된 레이어에 기초하여, 상기 중간 데이터와 대응되는 입력 정보에 대한 정답 데이터를 획득할 수 있다. 예를 들면, 서버(1000)는, 상기 중간 데이터를 상기 식별된 레이어의 출력으로 입력함으로써, 정답 데이터를 획득할 수 있다.
일 실시 예에 의한 중간 데이터는, y값들에 더해, y값들이 출력된, 공유 부분(100)의 레이어를 식별하기 위한 정보를 더 포함할 수 있다. 예를 들어, 중간 데이터는, (4, [0.3, 0.23, 0.9, ….])의 값을 포함할 수 있다. 이때, 4는, 공유 부분(100)의 레이어를 식별하기 위한 값이고, 괄호 [] 안의 값들은, 4번째 레이어에서 출력된 y 값들일 수 있다.
일 실시 예에 의하면, 중간 데이터의 y 값들이 공유 부분(100)의 레이어 중 제3 레이어에 대한 출력 값들인 경우, 제2 모델(110)의 공유 부분(1000)에서, 제3 레이어의 출력 값이 처리되는, 제4 레이어에 상기 중간 데이터가 입력됨으로써, 제2 모델(110)로부터 정답 데이터가 출력될 수 있다. 또한, 서버(1000)의 제1 모델(120)에서, 공유 부분(100)의 제 4 레이어에 중간 데이터가 입력될 때, 상기 정답 데이터가 출력될 수 있도록, 제1 모델(120)이 갱신될 수 있다.
일 실시 예에 의하면, 각 모델(110, 120, 220)에 포함된 각각의 공유 부분(100)은, 동일한 레이어 및 노드를 포함한다. 따라서, 공유 부분(100)에 포함된 각각의 레이어는, 동일한 입력 정보에 대하여, 각 모델 간(110, 120, 220)에, 동일한 출력 값들(y)을 출력할 수 있다. 예를 들어, 각 모델(110, 120, 220)에 동일하게 포함된 공유 부분(100)의 제1 레이어는, 동일한 입력 정보에 대해, 동일한 출력 값들을 출력할 수 있다. 따라서, 입력 정보 대신 중간 데이터가 서버(1000)로 전송됨으로써, 입력 정보에 대응하는, 정답 데이터가 제2 모델(110)에서 출력될 수 있다.
일 실시 예에 의한 중간 데이터는, 공유 부분(100)의 레이어 중 랜덤으로 선택된 레이어에 대한 출력 값들을 포함할 수 있다. 따라서, 제1 모델(220)에 입력된 입력 정보가 동일하더라도, 서로 다른 값들을 포함하는 중간 데이터가 서버(1000)로 전송될 수 있다. 예를 들면, 단말(2000)에서 제1 모델(220)을 이용하여 수행된 제1 동작에 따라서, 공유 부분(100)의 레이어 중 제1 레이어에 대한 출력 값들이 중간 데이터로 전송될 수 있으나, 이후, 제2 동작에 따라서, 공유 부분(100)의 제5 레이어에 대한 출력 값들이 중간 데이터로 전송될 수 있다.
따라서, 일 실시 예에 의하면, 제1 동작 및 제2 동작을 수행하기 위하여, 제1 모델(220)에 입력된 입력 정보가 서로 동일하여도, 서로 다른 레이어에 대한 출력 값들이 중간 데이터로 전송될 수 있으므로, 각 동작에 대해 전송되는 중간 데이터는 서로 다른 값을 포함할 수 있다. 이에 따라, 일 실시 예에 의하면, 중간 데이터가 전송 과정에서 외부로 유출되어도, 제1 모델(220)에 입력된 입력 정보가 복원되기가 어려우므로, 보안 수준이 더 높아질 수 있다.
일 실시 예에 의한 서버(1000)는, 갱신된 제1 모델(120)에 관한 정보에 기초하여, 단말(2000)의 제1 모델(220)을 갱신하기 위한 정보를 생성할 수 있다. 일 실시 예에 의한, 단말(2000)의 제1 모델(220)을 갱신하기 위한 정보는, 단말(2000)의 제1 모델(220)이, 갱신된 제1 모델(120)과 동일하게 변경되는데 필요한 정보를 포함할 수 있다. 예를 들면, 단말(2000)의 제1 모델(220)을 갱신하기 위한 정보는, 갱신 전 제1 모델(120)과, 갱신 후 제1 모델(120) 간의 차이값을 포함할 수 있다. 또한, 단말(2000)의 제1 모델(220)을 갱신하기 위한 정보는, 제1 모델(120)이 갱신됨에 따라, 제1 모델(120)에서 수정된 데이터에 관한 정보를 포함할 수 있다. 상술한 예에 한하지 않고, 단말(2000)의 제1 모델(220)을 갱신하기 위한 정보는, 다양한 종류의 정보를 포함할 수 있다.
일 실시 예에 의한 중간 데이터는, 단말(2000)에서, 동작을 수행하기 위하여, 제1 모델(220)이 이용될 때마다, 획득되어, 서버(1000)로 전송될 수 있다. 일 실시 예에 의하면, 사용자 입력에 따라서, 제1 모델(220)에 의해 입력 정보가 처리되어 제1 모델(220)에서 출력 정보가 출력될 때마다, 공유 부분(100)의 레이어 중 랜덤으로 선택된 레이어에서 출력된 값을 포함하는 중간 데이터가 생성될 수 있다. 따라서, 중간 데이터가 생성될 때마다, 단말(2000)은 서버(1000)로 중간 데이터를 전송하여, 제1 모델(220)을 갱신할 수 있다.
일 실시 예에 의한 서버(1000)의 제1 모델(120)은, 단말(2000)로부터 수신된 중간 데이터에 한하지 않고, 단말(2000)의 사용자와 유사한 다른 사용자(ex. 유사한 동작 패턴을 가지거나, 유사한 선호도를 가지는 사용자)의 다른 단말로부터 수신된 중간 데이터에 기초하여, 갱신될 수도 있다. 상술한 예에 한하지 않고, 단말(2000)과 유사한 환경에서 수행되는, 다양한 종류의 단말로부터 수신된 중간 데이터에 기초하여, 서버(1000)의 제1 모델(120)이 갱신될 수 있다.
따라서, 단말(2000)의 제1 모델(220)은, 제1 모델(220)이 이용되지 않은 경우에도, 다른 단말로부터 수신된 중간 데이터에 의해 갱신된 제1 모델(120)에 관한 정보에 기초하여, 지속적으로 갱신될 수 있다. 또한, 단말(2000)의 제1 모델(220)이 간헐적으로 이용되어, 중간 데이터가 적게 생성되더라도, 다른 단말로부터 수신된 중간 데이터에 기초하여, 지속적으로 갱신될 수 있다.
도 2는 일 실시 예에 의한 제1 모델 및 제2 모델을 생성하는 일 예를 나타낸 도면이다.
도 2를 참조하면, 일 실시 예에 의한 서버(1000)는, 제1 모델(120) 및 제2 모델(110)을 학습시키기 위한 학습 데이터(200)에 기초하여, 제1 모델(120)을 먼저 생성할 수 있다.
일 실시 예에 의한 학습 데이터(200)는, 제1 모델(120)을 학습시키기 위한 입력 정보와 출력 정보의 쌍에 관한 정보를 포함할 수 있다. 상술한 예에 한하지 않고 학습 데이터(200)는, 제1 모델(120) 및 제2 모델(110)을 학습시키기 위한 다양한 종류의 데이터를 포함할 수 있다.
일 실시 예에 따라, 학습 데이터(200)에 기초하여, 제1 모델(120)이 생성된 후, 서버(1000)는 제1 모델(120)에서 공유 부분(100)을 설정할 수 있다. 또한, 제1 모델(120)에서 설정된 공유 부분(100)을 그대로 포함한, 제2 모델(110)이, 학습 데이터(200)에 기초하여 학습될 수 있다. 일 실시 예에 의한 제2 모델(110)은 공유 부분(100)을 수정된 부분 없이 그대로 포함하면서, 학습 데이터(200)에 기초하여, 생성될 수 있다. 일 실시 예에 의한 제2 모델(110)은, 제1 모델(120)에 비해 더 많은 노드 또는 레이어들을 포함함에 따라, 제1 모델(120)보다 연산량이 많지만, 정확도가 높은 값을 출력할 수 있다.
일 실시 예에 의한 공유 부분(100)은, 제1 모델(120)을 구성하는 레이어 중 입력 레이어를 포함하도록 설정될 수 있다. 상술한 예에 한하지 않고, 공유 부분(100)은, 제1 모델(120)을 구성하는 레이어 중 입력 레이어를 포함한 다양하게 결정된 레이어들로 설정될 수 있다.
일 실시 예에 의한 공유 부분(100)이 커질수록, 학습 데이터(200)에 기초하여 생성 및 수정되는 제2 모델(110)의 영역이 줄어드므로, 제2 모델(110)의 성능이 낮아질 수 있다. 반면에, 공유 부분(100)이 커질수록, 도 1의 제1 모델(220)의 갱신을 위해 중간 데이터가 전송될 때, 랜덤으로 선택될 수 있는 레이어의 범위가 커지므로, 보안 수준이 더 향상될 수 있다.
따라서, 일 실시 예에 의하면, 공유 부분(100)을 포함하여 학습된 제2 모델(110)의 성능과, 상기 중간 데이터의 전송 시의 보안 수준 중 적어도 하나에 기초하여, 적절한 크기의 공유 부분(100)이 설정될 수 있다.
예를 들어, 제2 모델(110)에 포함된 공유 부분(100)의 크기가 커서, 보안 수준에 비해, 제2 모델(110)의 성능이 크게 낮아지는 것으로 판단되는 경우, 제1 모델(120)에서 공유 부분(100)이 이전보다 더 작은 크기로 다시 설정될 수 있다. 또한, 다시 설정된 공유 부분(100)에 기초하여, 제2 모델(110)이 다시 학습되고 생성될 수 있다.
반면, 제2 모델(110)에 포함된 공유 부분(100)의 크기가 작아, 보안 수준이 낮은 것으로 판단되는 경우, 제1 모델(120)에서 공유 부분(100)이 이전보다 더 큰 크기로 다시 설정되고, 다시 설정된 공유 부분(100)에 기초하여, 제2 모델(110)이 다시 학습될 수 있다.
일 실시 예에 따라서 생성된 제1 모델(120)은, 단말(2000)로 전송될 수 있다. 또한, 서버(1000)는, 제1 모델(120) 및 제2 모델(110)을 이용하여, 단말(2000)로 전송된 제1 모델(220)을 갱신하기 위한 정보를 생성하여, 단말(2000)로 전송할 수 있다.
도 3은 일 실시 예에 의한 서버의 내부 구성을 설명하기 위한 블록도이다.
도 3을 참조하면, 서버(1000)는, 프로세서(1300), 통신부(1500) 및 메모리(1700)를 포함할 수 있다. 그러나, 도 3에 도시된 구성 요소 모두가 서버(1000)의 필수 구성 요소인 것은 아니다. 도 3에 도시된 구성 요소보다 많은 구성 요소에 의해 서버(1000)가 구현될 수도 있고, 도 3에 도시된 구성 요소보다 적은 구성 요소에 의해 서버(1000)가 구현될 수도 있다.
프로세서(1300)는, 통상적으로 단말(2000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 메모리(1700), 통신부(1500) 등을 전반적으로 제어할 수 있다.
서버(1000)는 적어도 하나의 프로세서(1300)를 포함할 수 있다. 예를 들면, 서버(1000)는 CPU(Central Processing Unit), GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 등의 다양한 종류의 프로세서를 포함할 수 있다.
프로세서(1300)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(1700)로부터 프로세서(1300)에 제공되거나, 통신부(1500)를 통해 수신되어 프로세서(1300)로 제공될 수 있다. 예를 들면 프로세서(1300)는 메모리와 같은 기록 장치에 저장된 프로그램 코드에 따라 명령을 실행하도록 구성될 수 있다.
일 실시 예에 의한 프로세서(1300)는, 단말(2000)의 제1 모델에서 입력 정보가 처리됨에 따라, 공유 부분에 포함된 제1 레이어에서 출력된 중간 데이터를 단말(2000)로부터 수신하도록 통신부(1500)를 제어할 수 있다. 일 실시 예에 의하면, 단말(2000)에서, 제1 모델을 이용하는 동작이 수행될 때마다, 생성된 중간 데이터가 서버(1000)로 전송된 수 있다. 일 실시 예에 의한 제1 레이어는, 단말(2000)에 의해, 공유 부분에 포함된 복수 개의 레이어 중에서 랜덤으로 결정됨으로써, 중간 데이터가 서버(1000)로 전송될 수 있다.
또한, 프로세서(1300)는, 상기 공유 부분을 포함하여 미리 학습된 모델인 제1 모델 및 제2 모델을 획득하고, 제2 모델의 공유 부분에 포함된 제1 레이어에서, 제1 레이어의 출력으로, 단말(2000)로부터 수신된, 중간 데이터를 입력함으로써, 제1 모델의 입력 정보에 대한 정답 데이터를 획득할 수 있다.
일 실시 예에 의한 제1 모델 및 제2 모델에 포함된 공유 부분은, 동일한 노드 및 레이어를 포함할 수 있다. 그러므로, 일 실시 예에 의하면, 입력 정보가 제2 모델의 공유 부분에 입력되어, 공유 부분에서 출력된 값과, 중간 데이터가 제2 모델의 공유 부분의 제1 레이어에 입력되어, 공유 부분에서 출력된 값이 동일할 수 있다. 따라서, 입력 정보가 서버(1000)로 전송되는 대신, 중간 데이터가 서버(1000)로 전송됨으로써, 제2 모델로부터, 제1 모델의 갱신을 위한 정답 데이터가 획득될 수 있다.
또한, 프로세서(1300)는, 제1 모델의 공유 부분에 포함된 제2 레이어에 중간 데이터가 입력될 때, 제1 모델에서, 정답 데이터가 출력될 수 있도록, 상기 제1 모델을 갱신할 수 있다. 일 실시 예에 의한 프로세서(1300)는, 상기 갱신된 제1 모델에 기초하여, 단말(2000)의 제1 모델을 갱신하기 위한 정보를 생성하여, 단말(2000)로 전송하도록, 통신부(1500)를 제어할 수 있다.
또한, 일 실시 예에 의한 프로세서(1300)는, 학습 데이터에 기초하여 학습된 제1 모델에서, 공유 부분을 설정하고, 설정된 공유 부분을 동일하게 포함하는 제2 모델을 학습 데이터에 기초하여, 생성할 수 있다. 일 실시 예에 의한 공유 부분은, 제2 모델의 성능과, 공유 부분에서 랜덤으로 선택될 수 있는 레이어의 범위에 따라 결정될 수 있는 보안 수준에 기초하여, 적절한 크기로 결정될 수 있다. 일 실시 예에 의한 공유 부분이, 제2 모델의 성능과 보안 수준에 기초하여, 적절하지 않는 것으로 판단되는 경우, 제1 모델에서, 공유 부분이 다시 설정된 후, 다시 설정된 공유 부분에 기초하여, 제2 모델이, 학습 데이터에 기초하여, 다시 생성될 수 있다.
통신부(1500)는, 단말(2000)가 서버(2000) 또는 외부 장치(미도시)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다.
일 실시 예에 의한 통신부(1500)는, 단말(2000)의 제1 모델에서 입력 정보가 처리됨에 따라, 공유 부분에 포함된 제1 레이어에서 출력된 중간 데이터를 단말(2000)로부터 수신할 수 있다. 또한, 통신부(1500)는, 프로세서(1300)의 제어에 따라서, 단말(2000)의 제1 모델을 갱신하기 위한 정보를 단말(2000)로 전송할 수 있다.
근거리 통신부(short-range wireless communication unit)(1510)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 단말(2000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.
메모리(1700)는, 프로세서(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 단말(2000)로 입력되거나 단말(2000)로부터 출력되는 데이터를 저장할 수도 있다.
일 실시 예에 의한 메모리(1700)는, 제1 모델 및 제2 모델을 저장할 수 있다. 서버(1000)에 저장된 제1 모델은, 단말(2000)에 저장된 제1 모델과 동일한 모델일 수 있다. 또한, 제2 모델은, 제1 모델에 비해 더 많은 노드 및 레이어를 포함하여, 정확도가 더 높은, 모델일 수 있다.
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
도 4는 일 실시 예에 의한 단말의 내부 구성을 설명하기 위한 블록도이다.
도 5는 일 실시 예에 의한 단말의 내부 구성을 설명하기 위한 블록도이다.
도 4를 참조하면, 단말(2000)는, 프로세서(2300), 통신부(2500) 및 메모리(2700)을 포함할 수 있다. 그러나, 도 4에 도시된 구성 요소 모두가 단말(2000)의 필수 구성 요소인 것은 아니다. 도 4에 도시된 구성 요소보다 많은 구성 요소에 의해 단말(2000)가 구현될 수도 있고, 도 2에 도시된 구성 요소보다 적은 구성 요소에 의해 단말(2000)가 구현될 수도 있다.
예를 들면, 단말(2000)는 도 5를 참조하면,, 일 실시예에 따른 단말(2000)는, 프로세서(2300), 통신부(2500) 및 메모리(2700) 이외에 사용자 입력부(2100), 출력부(2200), 센싱부(2400) 및 A/V 입력부(2600)를 더 포함할 수도 있다.
사용자 입력부(2100)는, 사용자가 단말(2000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(2100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
일 실시 예에 의하면, 사용자 입력부(2100)는, 제1 모델에 따른 동작을 수행하기 위한 사용자 입력을 수신할 수 있다.
출력부(2200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(2200)는 디스플레이부(2210), 음향 출력부(2220), 및 진동 모터(2230)를 포함할 수 있다.
디스플레이부(2210)는 단말(2000)에서 처리되는 정보를 표시 출력한다. 일 실시 예에 의하면, 디스플레이부(2210)는 제1 모델에 따라 출력된 정보와 관련된 정보를 표시할 수 있다.
한편, 디스플레이부(2210)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(2210)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(2210)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 단말(2000)의 구현 형태에 따라 단말(2000)는 디스플레이부(2210)를 2개 이상 포함할 수도 있다.
음향 출력부(2220)는 통신부(2500)로부터 수신되거나 메모리(2700)에 저장된 오디오 데이터를 출력한다. 일 실시 예에 의하면, 음향 출력부(2220)는 제1 모델에 따라 출력된 정보와 관련된 정보를 오디오 신호로 출력할 수 있다.
진동 모터(2230)는 진동 신호를 출력할 수 있다. 또한, 진동 모터(2230)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다. 일 실시 예에 의하면, 진동 모터(2230)는 제1 모델에 따라 출력된 정보와 관련된 정보를 진동 신호로 출력할 수 있다.
프로세서(2300)는, 통상적으로 단말(2000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(2300)는, 메모리(2700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(2100), 출력부(2200), 센싱부(2400), 통신부(2500), A/V 입력부(2600) 등을 전반적으로 제어할 수 있다.
단말(2000)는 적어도 하나의 프로세서(2300)를 포함할 수 있다. 예를 들면, 단말(2000)는 CPU(Central Processing Unit), GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 등의 다양한 종류의 프로세서를 포함할 수 있다.
프로세서(2300)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(2700)로부터 프로세서(2300)에 제공되거나, 통신부(1500)를 통해 수신되어 프로세서(2300)로 제공될 수 있다. 예를 들면 프로세서(2300)는 메모리와 같은 기록 장치에 저장된 프로그램 코드에 따라 명령을 실행하도록 구성될 수 있다.
일 실시 예에 의한 프로세서(2300)는 사용자 입력에 따라, 제1 모델에 입력 정보를 입력하고, 제1 모델에서 출력된 정보에 따라 동작을 수행할 수 있다. 또한, 프로세서(2300)는, 제1 모델에서, 입력 정보가 처리됨에 따라, 제1 모델에 포함된 공유 부분에 포함된 레이어 중 제1 레이어에서 출력된 중간 데이터를 획득할 수 있다. 일 실시 예에 의한 제1 레이어는, 공유 부분에 포함된 레이어 중에서 랜덤으로 선택될 수 있다. 일 실시 예에 의한 중간 데이터는, 서버(1000)로 전송됨에 따라서, 제1 모델을 갱신하기 위한 정보가 단말(2000)로 수신될 수 있다. 일 실시 예에 의한 프로세서(2300)는, 중간 데이터에 기초하여 생성된, 제1 모델을 갱신하기 위한 정보가 서버(1000)로부터 수신됨에 따라, 제1 모델을 갱신할 수 있다.
센싱부(2400)는, 단말(2000)의 상태 또는 단말(2000) 주변의 상태를 감지하고, 감지된 정보를 프로세서(2300)로 전달할 수 있다.
센싱부(2400)는, 지자기 센서(Geomagnetic sensor)(2410), 가속도 센서(Acceleration sensor)(2420), 온/습도 센서(2430), 적외선 센서(2440), 자이로스코프 센서(2450), 위치 센서(예컨대, GPS)(2460), 기압 센서(2470), 근접 센서(2480), 및 RGB 센서(illuminance sensor)(2490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
통신부(2500)는, 단말(2000)가 서버(2000) 또는 외부 장치(미도시)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(2500)는, 근거리 통신부(2510), 이동 통신부(2520), 방송 수신부(2530)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(2510)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(2520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(2530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 단말(2000)가 방송 수신부(2530)를 포함하지 않을 수도 있다.
일 실시 예에 의한, 통신부(2500)는 서버(1000)로 중간 데이터를 전송하고, 이에 응답하여, 제1 모델을 갱신하기 위한 정보를 서버(1000)로부터 수신할 수 있다. 따라서, 단말(2000)은, 제1 모델을 갱신하기 위한 정보에 기초하여, 단말(2000)에서 이용되는 제1 모델을 갱신할 수 있다.
A/V(Audio/Video) 입력부(2600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(2610)와 마이크로폰(2620) 등이 포함될 수 있다. 카메라(2610)는 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(2300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다.
마이크로폰(2620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다.
메모리(2700)는, 프로세서(2300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 단말(2000)로 입력되거나 단말(2000)로부터 출력되는 데이터를 저장할 수도 있다.
일 실시 예에 의한 메모리(2700)는 제1 모델을 저장할 수 있다. 일 실시 예에 의한 제1 모델은, 서버(1000)에 의해 생성된 후, 단말(2000)로 전달되어, 메모리(2700)에 저장될 수 있다. 이후, 제1 모델은, 제1 모델에 의한 동작이 수행될 때마다, 중간 데이터가 서버(1000)로 전송됨으로써, 서버(1000)로부터 수신된 정보에 기초하여, 반복적으로 갱신이 수행될 수 있다.
메모리(2700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(2700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(2710), 터치 스크린 모듈(2720), 알림 모듈(2730) 등으로 분류될 수 있다.
UI 모듈(2710)은, 애플리케이션 별로 단말(2000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(2720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(2300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(2720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(2720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.
사용자의 터치 제스처에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등이 있을 수 있다.
알림 모듈(2730)은 단말(2000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다.
도 6은 일 실시 예에 의한, 서버에서, 단말의 제1 모델을 갱신하기 위한 정보를 생성하여 전송하는 방법을 나타낸 도면이다.
도 6을 참조하면, 단계 610에서, 서버(1000)는, 단말(2000)로부터 중간 데이터를 수신할 수 있다. 일 실시 예에 의한 서버(1000)는, 단말(2000)로부터 중간 데이터를 수신함에 따라서, 단말(2000)의 제1 모델(220)을 갱신하기 위한 정보를 생성하여, 단말(2000)로 전송할 수 있다.
일 실시 예에 의한 중간 데이터는, 단말(2000)에서 동작이 수행되기 위하여, 제1 모델(220)이 이용됨에 따라 생성될 수 있다. 예를 들면, 제1 모델(220)에, 사용자 입력에 따라 입력 정보가 입력됨에 따라서, 공유 부분에 포함된 레이어 중 랜덤으로 선택된 레이어에서 출력된 값들이 중간 데이터로서 획득될 수 있다.
단계 620에서, 서버(1000)는, 중간 데이터를 제2 모델에 입력함으로써, 입력 정보에 대응하는 정답 데이터를 획득할 수 있다.
일 실시 예에 의한 서버(1000)는, 중간 데이터에 대한 레이어를 식별하고, 식별된 레이어에 기초하여, 제2 모델의 공유 부분에 포함된 레이어 중에서, 상기 중간 데이터를 입력할 레이어를 식별할 수 있다. 예를 들어, 단말(2000)로부터 수신된 중간 데이터가, 공유 부분의 레이어 중 제1 레이어로부터 출력된 값들을 포함하는 경우, 중간 데이터는, 제2 모델의 공유 부분에 포함된 레이어 중, 상기 제1 레이어와 동일한 제1 레이어의 출력으로, 입력될 수 있다.
일 실시 예에 의한 서버(1000)는, 중간 데이터를 제2 모델의 공유 부분에 포함된 제1 레이어의 출력으로 입력함으로써, 제2 모델로부터 정답 데이터를 획득할 수 있다.
단계 630에서, 서버(1000)는, 제1 모델에 중간 데이터가 입력됨에 따라, 단계 620에서 획득된 정답 데이터가 출력될 수 있도록, 제1 모델을 갱신할 수 있다. 일 실시 예에 의한 중간 데이터는, 제1 모델의 공유 부분 중 단계 620에서, 중간 데이터를 입력할 레이어로 식별된 제2 레이어에, 입력될 수 있다.
단계 640에서, 서버(1000)는, 단계 630에서, 갱신된 제1 모델에 기초하여, 단말(2000)의 제1 모델을 갱신하기 위한 정보를 생성하고, 생성된 정보를 단말(2000)로 전송할 수 있다.
도 7은 일 실시 예에 의한 복수 개의 제2 모델에 기초하여, 제1 모델을 갱신하기 위한 정보를 생성하는 방법의 일 예를 나타낸 블록도이다.
도 7을 참조하면, 일 실시 예에 의한 서버(1000)는, 복수 개의 제2 모델을 포함하는, 제2 모델 그룹(720)에 기초하여, 제1 모델(120)을 갱신하고, 단말(2000)의 제1 모델(220)을 갱신하기 위한 정보를 생성할 수 있다.
일 실시 예에 의한 제2 모델은, 도메인에 따라, 복수 개의 제2 모델이 학습 데이터에 기초하여 생성될 수 있다. 일 실시 예에 의한 도메인은, 단말(2000)에서 처리되는 각각의 동작의 특성에 따라서, 구분될 수 있다. 예를 들면, 도메인은, 단말(2000)에서 처리되는 어플리케이션 별로, 전화, 갤러리, 알람 등으로 나뉠 수 있다. 또한, 각각의 어플리케이션 별로 수집된 학습 데이터에 기초하여, 복수 개의 제2 모델이 각각 다르게 학습되어, 생성될 수 있다.
일 실시 예에 의한 복수 개의 제2 모델은, 도메인 별로, 특정된 학습 데이터에 기초하여, 학습될 수 있다. 따라서, 하나의 제2 모델이 이용되는 경우보다, 복수 개의 제2 모델에 의하면, 더 정확한 정답 데이터가 획득될 수 있다.
일 실시 예에 의한 복수 개의 제2 모델도, 동일하게, 제1 모델(120)에서 설정된 공유 부분(100)을 동일하게 포함하도록, 학습되어, 생성될 수 있다.
일 실시 예에 의한 서버(1000)는, 단말(2000)로부터 중간 데이터를 수신하면, 제2 모델 그룹(720)에 포함된 복수의 제2 모델 중, 제1 모델(120)을 갱신하기 위한 제2 모델을 식별하기 위한 도메인을 선택할 수 있다.
일 실시 예에 의한 제2 모델에 대한 도메인은, 중간 데이터에 기초하여 도메인을 선택하기 위해 미리 학습된 제3 모델(710)에 기초하여 선택될 수 있다. 예를 들면, 제3 모델은, DC(Domain classifier) 모델일 수 있다. 상술한 예에 한하지 않고, 서버(1000)는, 다양한 종류의 인공지능 모델에 기초하여, 제2 모델의 도메인을 선택할 수 있다.
일 실시 예에 의한 제3 모델(710)은, 제2 모델과 동일하게, 제1 모델(120)에서 설정된 공유 부분(100)을 동일하게 포함할 수 있다. 일 실시 예에 의한 제3 모델(710)은, 제2 모델의 도메인을 선택하기 위한 학습 데이터에 기초하여, 학습될 수 있으나, 제3 모델(710)의 공유 부분(100)은 수정되지 않고, 그대로 제3 모델(710)에 포함되어 있는 상태에서, 학습될 수 있다.
일 실시 예에 의한 제3 모델(710)의 학습에 이용되는, 학습 데이터는, 제2 모델이 학습되는데 이용되는 학습 데이터와 다른 데이터를 포함할 수 있다. 상술한 예에 한하지 않고, 제3 모델(710)의 학습을 위한 학습 데이터는, 다양한 종류의 데이터를 포함할 수 있다.
일 실시 예에 의한 제3 모델(710)는, 제2 모델에 중간 데이터가 입력되는 경우와 동일하게, 제3 모델(710)의 공유 부분(100) 중 제1 레이어의 출력으로 중간 데이터가 입력될 수 있다. 일 실시 예에 의하면, 제3 모델(710)의 공유 부분(100)에서, 제1 레이어의 출력으로 중간 데이터가 입력됨에 따라서, 제2 모델의 도메인에 관한 정보가 출력될 수 있다.
일 실시 예에 의하면, 제3 모델(710)에서 출력된, 제2 모델의 도메인에 관한 정보에 기초하여, 제2 모델 그룹(720)에 포함된 복수의 제2 모델(110-1, 110-2, 110-3) 중 적어도 하나의 제2 모델이 선택될 수 있다. 또한, 선택된 제2 모델에, 중간 데이터가 입력됨으로써, 제1 모델(120) 갱신을 위한, 정답 데이터가 획득될 수 있다.
일 실시 예에 의하면, 상기 도메인에 관한 정보에 기초하여, 복수 개의 제2 모델이 선택될 수도 있다. 이 경우, 복수 개의 제2 모델에 의해 복수 개의 정답 데이터가 획득될 수 있다. 일 실시 예에 의하면, 복수 개의 정답 데이터에 대한 대표값(ex. 평균값, 중간값, 최대값 등)이, 상기 제1 모델(120) 갱신을 위한 정답 데이터로서, 이용될 수 있다. 상술한 예에 한하지 않고, 복수 개의 정답 데이터에 기초하여 다양한 방법에 따라 획득된 값이, 상기 제1 모델(120) 갱신을 위한 정답 데이터로서, 이용될 수 있다.
반면, 일 실시 예에 의한 제3 모델(710)에서 출력된 도메인에 관한 정보가, 제1 모델(120)을 갱신하기에 적합하지 않은 도메인에 대한 것인 경우, 일 실시 예에 의한 갱신 동작이 수행되지 않을 수 있다. 예를 들면, 제3 모델(710)에 의해 선택된 도메인이, 제1 모델(120)을 갱신하는데 이용되지 않는 도메인으로 미리 설정된 도메인인 경우, 현재 수신된 중간 데이터에 대하여는, 제1 모델(120)에 대한 갱신 동작이 수행되지 않을 수 있다.
일 실시 예에 의한 서버(1000)는, 730에서, 제2 모델 그룹(720)에서 획득된 정답 데이터에 대하여, 신뢰도가 기준값 이상인지 여부를 판단할 수 있다. 일 실시 예에 의한 정답 데이터는, 신뢰도를 나타내는 정보(ex. 출력된 값에 대한 확률 정보)를 더 포함할 수 있다.
일 실시 예에 의한 정답 데이터의 신뢰도가 기준값 이상인 경우, 정답 데이터에 기초하여 제1 모델(120)을 갱신하는 동작이 수행될 수 있다. 반면, 신뢰도가 기준값 이하인 경우에는, 현재 수신된 중간 데이터에 대하여는, 제1 모델(120)에 대한 갱신 동작이 수행되지 않을 수 있다.
따라서, 일 실시 예에 의하면, 정답 데이터의 신뢰도에 기초하여, 선별적으로 제1 모델(120)의 갱신이 수행될 수 있다.
도 8은 일 실시 예에 의한 단말(2000)에 포함된 디코더를 갱신하는 일 예를 나타낸 블록도이다.
도 8을 참조하면, 단말(2000)은, 인코더(800) 및 제1 디코더(820)에 기초하여, 다양한 동작을 수행할 수 있다. 예를 들어, 단말(2000)은, 인코더(800) 및 제1 디코더(820)를 이용하여, 제1 언어의 텍스트를 제2 언어로 번역하여 출력할 수 있다.
일 실시 예에 의한 인코더(800)는, 제1 언어의 텍스트를 벡터 형태의 컨텍스트 정보로 변환할 수 있고, 제1 디코더(820)는, 컨텍스트 정보에 기초하여, 제2 언어의 텍스트를 출력할 수 있다.
일 실시 예에 의하면, 인코더(800)는, 공유 부분(100)과 대응될 수 있다. 또한, 제1 디코더(820)는, 공유 부분(100)을 제외한 제1 모델(220)과 대응될 수 있다. 또한, 제2 디코더(810)는, 일 실시 예에 의한 공유 부분(100)을 제외한 제2 모델(210)과 대응될 수 있다.
일 실시 예에 의한 제1 디코더(820) 및 제2 디코더(810)는, 동일한 인코더(800)로부터 출력된 정보에 기초하여, 동작을 수행할 수 있다.
일 실시 예에 의하면, 번역 동작에 따라서, 인코더(800) 및 제1 디코더(820)에 의해, 입력된 제1 언어의 텍스트가 제2 언어의 텍스트로 번역되어 출력될 수 있다. 이때, 인코더(800)에 포함된 인공지능 모델의 적어도 하나의 레이어 중 제1 레이어에서 출력된 정보는, 중간 데이터로서, 서버(1000)에 전송될 수 있다.
또한, 일 실시 예에 의한 서버(1000)는, 중간 데이터를, 제2 디코더(810)에 대한 인코더(800)로 입력할 수 있다. 중간 데이터가 입력되는 인코더(800)는, 제1 디코더(820)보다 더 나은 성능을 가지는 제2 디코더(810)로 컨텍스트 정보를 출력하는 인코더일 수 있다. 또한, 중간 데이터는, 인코더(800)의 인공지능 모델의 적어도 하나의 레이어 중 제1 레이어의 출력으로 입력될 수 있다. 인코더(800)에 중간 데이터가 입력됨에 따라서, 제2 디코더(810)에서, 출력된 제2 언어의 텍스트가 정답 데이터로서 획득될 수 있다.
일 실시 예에 의하면, 제2 디코더(810)에 대한 인코더(800)와 제1 디코더(820)에 대한 인코더(800)는 서로 동일하므로, 제1 디코더(820)에서 인코더(800)로부터 수신되는 컨텍스트 정보와, 제2 디코더(810)에서, 인코더(800)로부터 수신되는, 상기 중간 데이터에 기초하여 획득된 컨텍스트 정보도 동일할 수 있다. 따라서, 일 실시 예에 의하면, 제2 디코더(810)는, 제1 디코더(820)의 입력(즉, 컨텍스트 정보)과 동일한 입력을 수신할 수 있으므로, 제1 디코더(820)의 입력에 대한 정답 데이터를 출력할 수 있다.
일 실시 예에 의한 서버(1000)의 제1 디코더(830)는, 중간 데이터에 기초하여, 상기 정답 데이터가 출력될 수 있도록, 갱신될 수 있다. 일 실시 예에 의하면, 제1 디코더(830)의 인코더(800)에 중간 데이터가 입력될 때, 상기 정답 데이터가 출력될 수 있도록, 갱신될 수 있다. 중간 데이터가 입력되는 인코더(800)는, 제1 디코더(830)로 컨텍스트 정보를 출력하는 인코더일 수 있다.
일 실시 예에 의한 서버(1000)는, 갱신된 제1 디코더(830)에 기초하여, 단말(2000)의 제1 디코더(820)를 갱신하기 위한 정보를 생성하여, 단말(2000)로 전송할 수 있다.
일 실시 예에 의하면 입력 정보 대신 인공지능 모델에서 생성되는 중간 데이터가 서버로 전송됨으로써, 입력 정보가 전송됨에 따른, 개인정보가 유출될 가능성을 최소화할 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시 내용이 그것의 다양한 실시예를 참조하여 도시되고 설명되었지만, 첨부된 청구 범위 및 그 등가물에 의해 정의된 본 개시 내용의 사상 및 범위를 벗어나지 않으면서 형태 및 세부 사항의 다양한 변경이 이루어질 수 있다는 것이 당업자에 의해 이해될 것이다.

Claims (15)

  1. 서버에서, 단말의 제1 모델을 갱신하기 위한 정보를 생성하는 방법에 있어서,
    상기 단말의 상기 제1 모델에서, 상기 제1 모델에 입력된 입력 정보가 처리됨에 따라, 상기 제1 모델의 공유 부분에 포함된 제1 레이어에서 출력된 중간 데이터를, 상기 단말로부터 수신하는 단계;
    상기 공유 부분을 포함하여 미리 학습된 모델인, 상기 제1 모델 및 제2 모델을 획득하는 단계;
    상기 제2 모델의 상기 공유 부분에 포함된 상기 제1 레이어에서, 상기 중간 데이터를 상기 제1 레이어의 출력으로 입력함으로써, 상기 입력 정보에 대한 정답 데이터를 획득하는 단계;
    상기 제1 모델의 상기 공유 부분에 포함된 상기 제1 레이어에서, 상기 중간 데이터가 상기 제1 레이어의 출력으로 입력됨에 따라, 상기 제1 모델에서 상기 정답 데이터가 출력될 수 있도록, 상기 제1 모델을 갱신하는 단계; 및
    상기 갱신된 제1 모델에 관한 정보를 상기 단말에 전송하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 제1 레이어는, 상기 공유 부분에 포함된 적어도 하나의 레이어 중에서, 랜덤으로 결정되는, 방법.
  3. 제1항에 있어서, 상기 공유 부분은, 상기 제1 모델을 구성하는, 입력 레이어를 포함하는 적어도 하나의 레이어 중에서 설정되고,
    상기 제2 모델은, 상기 공유 부분을 포함하여 학습된 모델인, 방법.
  4. 제1항에 있어서, 상기 공유 부분은, 상기 제2 모델의 성능 및 상기 중간 데이터의 전송 시의 보안 수준 중 적어도 하나에 기초하여, 설정되는, 방법.
  5. 제1항에 있어서, 상기 정답 데이터의 신뢰도에 기초하여, 상기 제1 모델이 갱신되는, 방법.
  6. 제1항에 있어서, 상기 제1 모델 및 제2 모델을 획득하는 단계는,
    상기 제2 모델의 도메인을 선택하기 위한, 제3 모델의 상기 공유 부분에 포함된 상기 제1 레이어에서, 상기 중간 데이터를 상기 제1 레이어의 출력으로 입력함으로써, 상기 제2 모델의 도메인을 선택하는 단계; 및
    상기 선택된 도메인에 기초하여, 복수 개의 제2 모델 중 적어도 하나의 제2 모델을 획득하는 단계를 포함하는, 방법.
  7. 단말에서, 제1 모델을 갱신하는 방법에 있어서,
    상기 단말의 상기 제1 모델에서, 상기 제1 모델에 입력된 입력 정보가 처리됨에 따라, 상기 제1 모델의 공유 부분에 포함된 제1 레이어에서 출력된 중간 데이터를 획득하는 단계;
    상기 중간 데이터를 서버로 전송하는 단계; 및
    상기 서버로부터, 상기 제1 모델을 갱신하기 위한 정보를 수신하는 단계를 포함하고,
    상기 제1 모델을 갱신하기 위한 정보는, 제2 모델의 상기 공유 부분에 포함된 상기 제1 레이어에서, 상기 중간 데이터를 상기 제1 레이어의 출력으로 입력함으로써, 획득된 정답 데이터에 기초하여 획득되는, 방법.
  8. 단말의 제1 모델을 갱신하기 위한 정보를 생성하는 서버에 있어서,
    상기 단말의 상기 제1 모델에서, 상기 제1 모델에 입력된 입력 정보가 처리됨에 따라, 상기 제1 모델의 공유 부분에 포함된 제1 레이어에서 출력된 중간 데이터를, 상기 단말로부터 수신하는 통신부;
    상기 공유 부분을 포함하여 미리 학습된 모델을 포함하는, 상기 제1 모델 및 제2 모델을 저장하는 메모리; 및
    상기 제2 모델의 상기 공유 부분에 포함된 상기 제1 레이어에서, 상기 중간 데이터를 상기 제1 레이어의 출력으로 입력함으로써, 상기 입력 정보에 대한 정답 데이터를 획득하고, 상기 제1 모델의 상기 공유 부분에 포함된 상기 제1 레이어에서, 상기 중간 데이터가 상기 제1 레이어의 출력으로 입력됨에 따라, 상기 제1 모델에서 상기 정답 데이터가 출력될 수 있도록, 상기 제1 모델을 갱신하고, 상기 갱신된 제1 모델에 관한 정보를 상기 단말에 전송하도록 상기 통신부를 제어하는 적어도 하나의 프로세서를 포함하는, 서버.
  9. 제8항에 있어서, 상기 제1 레이어는, 상기 공유 부분에 포함된 적어도 하나의 레이어 중에서, 랜덤으로 결정되는, 서버.
  10. 제8항에 있어서, 상기 공유 부분은, 상기 제1 모델을 구성하는, 입력 레이어를 포함하는 적어도 하나의 레이어 중에서 설정되고,
    상기 제2 모델은, 상기 공유 부분을 포함하여 학습된 모델인, 서버.
  11. 제8항에 있어서, 상기 공유 부분은, 상기 제2 모델의 성능 및 상기 중간 데이터의 전송 시의 보안 수준 중 적어도 하나에 기초하여, 설정되는, 서버.
  12. 제8항에 있어서, 상기 정답 데이터의 신뢰도에 기초하여, 상기 제1 모델이 갱신되는, 서버.
  13. 제8항에 있어서, 상기 적어도 하나의 프로세서는
    상기 제2 모델의 도메인을 선택하기 위한, 제3 모델의 상기 공유 부분에 포함된 상기 제1 레이어에서, 상기 중간 데이터를 상기 제1 레이어의 출력으로 입력함으로써, 상기 제2 모델의 도메인을 선택하고,
    상기 선택된 도메인에 기초하여, 복수 개의 제2 모델 중 적어도 하나의 제2 모델을 획득하는, 서버.
  14. 제1 모델을 갱신하는 단말에 있어서,
    상기 제1 모델을 저장하는 메모리;
    상기 단말의 상기 제1 모델에서, 상기 제1 모델에 입력된 입력 정보가 처리됨에 따라, 상기 제1 모델의 공유 부분에 포함된 제1 레이어에서 출력된 중간 데이터를 획득하는 적어도 하나의 프로세서; 및
    상기 중간 데이터를 서버로 전송함에 따라, 상기 서버로부터, 상기 제1 모델을 갱신하기 위한 정보를 수신하는 통신부를 포함하고,
    상기 제1 모델을 갱신하기 위한 정보는, 제2 모델의 상기 공유 부분에 포함된 상기 제1 레이어에서, 상기 중간 데이터를 상기 제1 레이어의 출력으로 입력함으로써, 획득된 정답 데이터에 기초하여 획득되는, 단말.
  15. 제1항 의 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 비일시적인 기록 매체.
PCT/KR2021/010951 2020-08-20 2021-08-18 단말의 모델을 갱신하는 서버 및 그 동작 방법 WO2022039494A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/432,631 US20220343156A1 (en) 2020-08-20 2021-08-18 Server for refining model in terminal and operation method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200104810A KR20220023212A (ko) 2020-08-20 2020-08-20 단말의 모델을 갱신하는 서버 및 그 동작 방법
KR10-2020-0104810 2020-08-20

Publications (1)

Publication Number Publication Date
WO2022039494A1 true WO2022039494A1 (ko) 2022-02-24

Family

ID=80323060

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/010951 WO2022039494A1 (ko) 2020-08-20 2021-08-18 단말의 모델을 갱신하는 서버 및 그 동작 방법

Country Status (3)

Country Link
US (1) US20220343156A1 (ko)
KR (1) KR20220023212A (ko)
WO (1) WO2022039494A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102615517B1 (ko) * 2022-07-15 2023-12-19 주식회사 에이아이네이션 입력 데이터의 클래스 및 성질 분류 기법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190332944A1 (en) * 2016-11-29 2019-10-31 Huawei Technologies Co., Ltd. Training Method, Apparatus, and Chip for Neural Network Model
CN111275207A (zh) * 2020-02-10 2020-06-12 深圳前海微众银行股份有限公司 基于半监督的横向联邦学习优化方法、设备及存储介质
KR20200093093A (ko) * 2019-01-08 2020-08-05 삼성전자주식회사 분산 추론 시스템 및 이의 동작 방법
CN111553484A (zh) * 2020-04-30 2020-08-18 同盾控股有限公司 联邦学习的方法、装置及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190332944A1 (en) * 2016-11-29 2019-10-31 Huawei Technologies Co., Ltd. Training Method, Apparatus, and Chip for Neural Network Model
KR20200093093A (ko) * 2019-01-08 2020-08-05 삼성전자주식회사 분산 추론 시스템 및 이의 동작 방법
CN111275207A (zh) * 2020-02-10 2020-06-12 深圳前海微众银行股份有限公司 基于半监督的横向联邦学习优化方法、设备及存储介质
CN111553484A (zh) * 2020-04-30 2020-08-18 同盾控股有限公司 联邦学习的方法、装置及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PETER KAIROUZ, H. BRENDAN MCMAHAN , BRENDAN AVENT , AURELIEN BELLET , MEHDI BENNIS , ARJUN NITIN BHAGOJI , KEITH BONAWITZ , ZACHAR: "Advances and Open Problems in Federated Learning", ARXIV, 10 December 2019 (2019-12-10), pages 1 - 105, XP081549404 *

Also Published As

Publication number Publication date
KR20220023212A (ko) 2022-03-02
US20220343156A1 (en) 2022-10-27

Similar Documents

Publication Publication Date Title
WO2020080773A1 (en) System and method for providing content based on knowledge graph
WO2018117428A1 (en) Method and apparatus for filtering video
WO2018117704A1 (en) Electronic apparatus and operation method thereof
WO2018212538A1 (en) Electronic device and method of detecting driving event of vehicle
WO2019059505A1 (ko) 객체를 인식하는 방법 및 장치
WO2020060223A1 (ko) 애플리케이션의 번역 정보를 제공하는 디바이스 및 방법
EP3602497A1 (en) Electronic device and method of detecting driving event of vehicle
WO2020080830A1 (en) Electronic device for reconstructing an artificial intelligence model and a control method thereof
WO2016126007A1 (en) Method and device for searching for image
WO2019132410A1 (en) Electronic device and control method thereof
EP3539056A1 (en) Electronic apparatus and operation method thereof
WO2019245331A1 (ko) 텍스트 입력 디바이스 및 그 방법
WO2018124500A1 (ko) 객체의 인식 결과를 제공하는 방법 및 전자 장치
WO2019172642A1 (ko) 심장 박동을 측정하기 위한 전자 장치 및 방법
EP3545685A1 (en) Method and apparatus for filtering video
WO2019190171A1 (ko) 전자 장치 및 그 제어 방법
WO2022039433A1 (ko) 대화 텍스트에 대한 요약 정보를 생성하는 전자 장치 및 그 동작 방법
WO2022039494A1 (ko) 단말의 모델을 갱신하는 서버 및 그 동작 방법
WO2021149890A1 (ko) 사용자의 개인 모델을 학습하는 전자 장치 및 그 동작 방법
WO2021049730A1 (ko) 영상 인식 모델을 학습하는 전자 장치 및 그 동작 방법
WO2019054715A1 (ko) 전자 장치 및 이의 피드백 정보 획득 방법
WO2020130274A1 (ko) 영상에서 오브젝트를 인식하는 전자 장치 및 그 동작 방법
WO2022131476A1 (ko) 인공지능 모델을 변환하는 전자 장치 및 그 동작 방법
WO2019190243A1 (ko) 사용자와의 대화를 위한 정보를 생성하는 시스템 및 방법
WO2021071249A1 (en) Electronic apparatus and control method thereof

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: 21858581

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21858581

Country of ref document: EP

Kind code of ref document: A1