Multiple model providing method, computer system and computer readable recording medium
Through personalized federated learning, users are classified into multiple groups and multiple models are generated, which solves the problems of user privacy leakage and insufficient model adaptability in deep learning and realizes personalized prediction model generation and privacy protection.
Patent Information
- Application Number
- CN202110589665.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-06-11
- Filing Date
- 2021-05-28
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2041-05-28
AI Technical Summary
Existing deep learning technologies use a single model in the server for service prediction, resulting in a high risk of user privacy leakage and the inability of the model to be personalized to adapt to user needs.
Through personalized federated learning, users are classified into multiple groups, multiple models are generated, personalized learning models are used within the group, and the models are improved through the data within the group, avoiding storing user data in the server and only transmitting weighted values to ensure privacy.
It achieves the generation of personalized prediction models while protecting user privacy, improves the adaptability and accuracy of the models, and avoids the risk of centralized storage of user data.
Smart Images

Figure CN113807495B_ABST
Abstract
Description
Technical Field
[0001] The following description relates to a technique for generating a prediction model for providing services through federated learning. Background Art
[0002] Deep learning is a technology used to cluster or classify objects or data. It can achieve classification-based inference through a multi-layered neural network. Therefore, deep learning has recently been used in various technical fields.
[0003] For example, Korean Patent Publication No. 10-2019-0117837 (publication date: October 17, 2019) discloses a technology for providing a message reply service using a learning model based on deep learning.
[0004] For existing deep learning structures, large-scale cloud data is used in servers to train the prediction model used to provide services into a single model that can be used by all users. Summary of the Invention
[0005] Based on personalized federated learning, the prediction model used to provide services can be generated as multiple models.
[0006] Multiple users can be classified into multiple groups to generate multiple models for federated learning targeting multiple user groups.
[0007] Each user group can generate the most optimized learning model through intra-group personalization.
[0008] Federated learning can be used to maintain individual privacy protection and generate personalized learning models.
[0009] Even without participating in federated learning, models learned from similar user groups can be applied.
[0010] The present invention provides a multiple model providing method, which is a method executed in a computer system, characterized in that the above-mentioned computer system includes at least one processor, and the above-mentioned at least one processor is configured to execute multiple computer-readable instructions contained in a memory, and the above-mentioned method includes the following steps: using the above-mentioned at least one processor, classifying multiple users into multiple groups; and enabling the above-mentioned at least one processor to generate a prediction model for service into multiple models through federated learning according to the above-mentioned groups.
[0011] According to one embodiment, in the classification step, the plurality of users may be grouped using at least one information that can be collected in the computer system for the service.
[0012] According to yet another embodiment, in the classification step, the plurality of users may be grouped based on at least one of user profiles and domain knowledge of the service.
[0013] According to another embodiment, in the classification step, the plurality of users may be grouped based on collaborative filtering.
[0014] According to another embodiment, the above-mentioned multiple model providing method may further include the following steps: distributing the initial model generated in the above-mentioned computer system to the electronic devices of the above-mentioned multiple users through the above-mentioned at least one processor, and the above-mentioned step of generating the prediction model for service as a multiple model may include the following steps: according to the above-mentioned groups, the models obtained by learning the above-mentioned initial model in the electronic devices of the users belonging to each group are aggregated into one model to generate a group model.
[0015] According to another embodiment, the above-mentioned step of generating the prediction model for the service as a multiple model may also include the following steps: assigning corresponding group models to the electronic devices of users belonging to each group according to the above-mentioned groups; and receiving updated data about the corresponding group model from the electronic devices of users belonging to each group according to the above-mentioned groups to improve each group model.
[0016] According to another embodiment, in the above-mentioned step of generating the prediction model for the service as a multiple model, when the above-mentioned service is a service for recommending content, a content recommendation model according to the above-mentioned group can be generated by using a learning result model of the in-device data related to the above-mentioned content in the electronic devices of the users belonging to each group through federated learning according to the above-mentioned group.
[0017] According to yet another embodiment, in the classification step, the plurality of users may be grouped using at least one information that can be collected in the computer system with respect to the content.
[0018] According to yet another embodiment, in the classification step, the groups to which each user belongs are classified into at least two groups.
[0019] According to another embodiment, the above-mentioned step of generating the prediction model for the service as a multiple model may also include the following steps: allocating two or more group models to each user's electronic device according to the group to which the corresponding user belongs; and improving each group model by receiving updated data about the corresponding group model from the electronic devices of the users belonging to each group according to the above-mentioned groups.
[0020] The present invention provides a non-transitory computer-readable recording medium storing a computer program for executing the above method in a computer system.
[0021] The present invention provides a computer system, which includes at least one processor, which is configured to execute multiple computer-readable instructions contained in a memory, and the at least one processor includes: a group classification unit, which is used to classify multiple users into multiple groups; and a multiple model providing unit, which generates a prediction model for a service as a multiple model through federated learning according to the above groups. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Figure 1 A diagram showing an example of a network environment according to an embodiment of the present invention.
[0023] Figure 2 This is a block diagram for illustrating the internal structure of an electronic device and a server according to an embodiment of the present invention.
[0024] Figure 3 This figure shows an example of components that may be included in a processor of a server according to an embodiment of the present invention.
[0025] Figure 4 A diagram illustrating an example of a method that can be executed by a server according to an embodiment of the present invention.
[0026] Figures 5 to 7 An example of the federated learning technology according to an embodiment of the present invention is shown.
[0027] Figures 8 to 10 FIG. 1 is a diagram illustrating an example of a process of generating a multiple model for a content recommendation service according to an embodiment of the present invention.
[0028] Figure 11 A diagram illustrating an example of a model learning process through multiple personalizations according to an embodiment of the present invention. DETAILED DESCRIPTION
[0029] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0030] Embodiments of the present invention relate to a technology for generating a prediction model for providing services through federated learning.
[0031] In embodiments including the content specifically disclosed in this specification, prediction models for providing services may be formed into multiple models based on personalized federated learning and provided.
[0032] Figure 1 A diagram showing an example of a network environment according to an embodiment of the present invention. Figure 1 The network environment shown in FIG. 1 shows an example including a plurality of electronic devices 110, 120, 130, 140 and a plurality of servers 150, 160 and a network 170. Figure 1 For the purpose of illustrating an example of the present invention, the number of electronic devices or servers is not limited to Figure 1 .
[0033] The plurality of electronic devices 110, 120, 130, 140 may be fixed terminals or mobile terminals implemented by a computer system. Examples of the plurality of electronic devices 110, 120, 130, 140 include smart phones, mobile phones, navigators, computers, notebook computers, digital broadcast terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), tablet computers (PCs), game consoles, wearable devices, Internet of Things (IoT) devices, virtual reality (VR) devices, augmented reality (AR) devices, etc. As an example, Figure 1 In the figure, the shape of a smartphone is shown as an example of the electronic device 110, but in an embodiment of the present invention, the electronic device 110 may actually refer to one of a variety of physical computer systems that can communicate with other electronic devices 120, 130, 140 and / or servers 150, 160 through a network 170 using wireless or wired communication methods.
[0034] The communication method is not limited and may include not only communication methods using communication networks that may be included in network 170 (e.g., mobile communication networks, wired networks, wireless networks, broadcast networks, satellite networks, etc.), but also short-range wireless communication between multiple devices. For example, network 170 may include any one or more of a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a broadband network (BBN), the Internet, and the like. Furthermore, network 170 may include any one or more of a bus network, a star network, a ring network, a mesh network, a star bus network, a tree network, or a hierarchical network, but is not limited thereto.
[0035] The servers 150 and 160 can be implemented by a computer device or multiple computer devices that communicate with multiple electronic devices 110, 120, 130, and 140 through a network 170 to provide instructions, codes, files, content, services, etc. For example, the server 150 can be a system that provides a first service to multiple electronic devices 110, 120, 130, and 140 connected through the network 170, and the server 160 can also be a system that provides a second service to multiple electronic devices 110, 120, 130, and 140 connected through the network 170. As a more specific example, the server 150 can be installed on multiple electronic devices 110, 120, 130, and 140 to drive an application of a computer program, and provide the service targeted by the application (for example, a content recommendation service, etc.) as a first service to multiple electronic devices 110, 120, 130, and 140. As another example, the server 160 can provide a service of distributing files for installing and driving the above-mentioned application to multiple electronic devices 110, 120, 130, and 140 as a second service.
[0036] Figure 2 1 is a block diagram for explaining the internal structure of an electronic device and a server in one embodiment of the present invention. Figure 2 1 and 150 are described as examples of electronic devices. In addition, other electronic devices 120, 130, 140 or server 160 may also have the same or similar internal structure as the electronic device 110 or server 150.
[0037] The electronic device 110 and the server 150 may include memories 211, 221, processors 212, 222, communication modules 213, 223, and input / output interfaces 214, 224. The memories 211, 221, as non-temporary computer-readable recording media, may include permanent mass storage devices such as random access memory (RAM), read-only memory (ROM), hard disk drives, solid state drives (SSD), and flash memory. Among them, permanent mass storage devices such as read-only memory, solid state drives, flash memory, and hard disk drives may be included in the electronic device 110 or the server 150 as independent permanent storage devices distinguished from the memories 211, 221. In addition, the memories 211, 221 may store an operating system and at least one program code (for example, the program code is a code for a browser installed on the electronic device 110 to drive or an application installed on the electronic device 110 to provide a specific service). Such software structural elements may be loaded from a computer-readable recording medium independent of the memories 211 and 221. Such independent computer-readable recording media may include computer-readable recording media such as a floppy disk drive, a magnetic disk, a magnetic tape, a DVD / CD-ROM drive, and a memory card. In another embodiment, the software structural elements may also be loaded into the memories 211 and 221 via the communication modules 213 and 223, rather than being loaded via a computer-readable recording medium. For example, at least one program may be loaded into the memories 211 and 221 based on a computer program (for example, the aforementioned application) installed via a file, the file being provided via the network 170 by a developer or a file distribution system (for example, the aforementioned server 160) that distributes the application installation file.
[0038] The processors 212 and 222 may be configured to process instructions of a computer program by performing basic arithmetic, logical, and input / output operations. The instructions may be provided to the processors 212 and 222 via the memories 211 and 221 or the communication modules 213 and 223. For example, the processors 212 and 222 may be configured to execute the received instructions according to program code stored in a recording device such as the memories 211 and 221.
[0039] Communication modules 213 and 223 may provide functionality for enabling electronic device 110 and server 150 to communicate with each other via network 170, and may also provide functionality for enabling electronic device 110 and / or server 150 to communicate with other electronic devices (e.g., electronic device 120) or other servers (e.g., server 160). For example, processor 212 of electronic device 110 may generate a request based on program code stored in a recording device such as memory 211, and the request may be transmitted to server 150 via network 170 under the control of communication module 213. Conversely, control signals, instructions, content, files, etc. provided by processor 222 of server 150 may be provided to electronic device 110 via communication module 223 and network 170 through communication module 213 of electronic device 110. For example, control signals, instructions, content, files, etc. from server 150 received via communication module 213 may be transmitted to processor 212 or memory 211, and the content or files, etc., may be stored in a storage device (the aforementioned permanent storage device) that may also be included in electronic device 110.
[0040] The input / output interface 214 may be a unit for coupling with the input / output device 215. For example, the input device may include a keyboard, a mouse, a microphone, a camera, and the like, and the output device may include a display, a speaker, a haptic feedback device, and the like. As another example, the input / output interface 214 may also be a unit for coupling with a device that integrates the functions of input and output into one, such as a touch screen. The input / output device 215 may also be configured as one device with the electronic device 110. Furthermore, the input / output interface 224 of the server 150 may be a unit for connecting with the server 150 or for coupling with an input or output device (not shown) that the server 150 may include. As a more specific example, in the process of the processor 212 of the electronic device 110 processing the instructions of the computer program loaded in the memory 211, the service screen or content composed of data provided by the server 150 or the electronic device 120 may be displayed on the display through the input / output interface 214.
[0041] Furthermore, in another embodiment, the electronic device 110 and the server 150 may further include Figure 2However, it is not necessary to explicitly show most of the prior art structural elements. For example, the electronic device 110 includes at least a part of the above-mentioned input and output device 215, or may also include other structural elements such as a transceiver, a global positioning system (GPS) module, a camera, various sensors, a database, and the like. As a more specific example, in the case where the electronic device 110 is a smart phone, the electronic device 110 may also include various structural elements that are commonly included in smart phones, such as an acceleration sensor, a gyroscope sensor, a camera module, various physical buttons, buttons using a touchpad, input and output ports, a vibrator for vibration, and the like.
[0042] The following describes a specific embodiment of a method and system for providing multiple models for personalized federated learning.
[0043] Figure 3 FIG. 1 is a diagram showing an example of structural elements that may be included in a processor of a server according to an embodiment of the present invention. Figure 4 FIG. 1 is a flowchart illustrating an example of a method that can be executed by a server according to an embodiment of the present invention.
[0044] The server 150 of this embodiment plays the role of generating the prediction model required for providing the service and distributing the prediction model to multiple users who utilize the service. A model providing system implemented by a computer may be configured in the server 150. The server 150 can distribute the prediction model to multiple electronic devices 110, 120, 130, 140 as clients by installing a dedicated application on the multiple electronic devices 110, 120, 130, 140 or accessing a website / mobile website related to the server 150. The server 150 can learn the prediction model based on federated learning with the client, and in particular, can generate and provide the prediction model for providing the service as multiple models based on federated learning that reflects the personalized elements of the client.
[0045] The processor 222 of the server 150 is used to execute Figure 4 The model provides structural elements of the method, such as Figure 3 As shown, the processor 222 may include an initial model providing unit 310, a group classification unit 320, and a multiple model providing unit 330. Depending on the embodiment, the structural elements of the processor 222 may be selectively included in or excluded from the processor 222. Furthermore, depending on the embodiment, the structural elements of the processor 222 may be separated or combined to enhance the functionality of the processor 222.
[0046] The processor 222 and the components of the processor 222 can control the server 150 to execute Figure 4For example, the processor 222 and the structural elements of the processor 222 may be implemented as codes of an operating system included in the memory 221 and instructions based on at least one program code.
[0047] The components of the processor 222 may represent different functions executed by the processor 222 according to instructions provided by the program code stored in the server 150. For example, the initial model providing unit 310 may be used as the functional representation of the processor 222 that controls the server 150 to provide an initial learning model as a prediction model for service according to the instructions.
[0048] The processor 222 may read the necessary instructions from the memory 221 loaded with instructions related to the control of the server 150. In this case, the instructions read may include instructions for causing the processor 222 to control the execution of the following multiple steps (steps S410 to S430). Figure 4 The steps described later (steps S410 to S430 ) may be performed in an order different from the order shown, or a portion of the steps (steps S410 to S430 ) may be omitted or additional processes may be included.
[0049] Reference Figure 4 In step S410, the initial model providing unit 310 may provide the electronic device of each user with an initial model generated as a prediction model required to provide the service. The initial learning model, as the initial learning model using the client's data, may refer to a single model generated in the server 150. After generating the initial learning model for the service, the initial model providing unit 310 may distribute the initial learning model to the electronic devices of a part of the users selected for federated learning. In each electronic device, the initial learning model may be downloaded from the server 150, and the initial learning model may be learned separately based on the data within the device. In other words, in each electronic device, the device data generated as the user uses the device may be used to improve the learning of the initial learning model.
[0050] In step S420, the group classification unit 320 may classify a portion of the users selected for federated learning into a plurality of groups. As an example, the group classification unit 320 may group a plurality of users based on user profiles such as age, gender, region, etc. As another example, the group classification unit 320 may group a plurality of users based on domain knowledge of the service to be provided by the server 150. Domain knowledge is historical information that can be obtained through the service domain, for example, it may include content or product purchase history, query history, application installation history, etc. The group classification unit 320 may use information that can be collected in the server 150 for the service as a basis for grouping users. In this case, the group classification unit 320 may apply different user group classification criteria according to the service domain.
[0051] In step S430 , the multi-model providing unit 330 may generate, for each of the multiple groups, a federated learning multi-model reflecting personalized elements of multiple users belonging to each group, and distribute it as a final learning model for all users.
[0052] To this end, the multiple model providing unit 330 may first aggregate the models learned by the electronic devices of the users belonging to each group into a single model (hereinafter referred to as a "group model"). That is, when a portion of users selected for federated learning is classified into multiple groups, the individual learning result models of each group are aggregated into a single model to form a group model, ultimately generating N group models.
[0053] Furthermore, if a group model is generated for each group, the multiple model providing unit 330 provides the group model of the corresponding group to the electronic devices of the users belonging to each group. The multiple model providing unit 330 can assign a group model corresponding to each group to each of the N user groups. In each group's electronic device, the corresponding group model is downloaded from the server 150 and the group model is learned based on the data within the device. In other words, in each electronic device, the device data generated as the user uses the device can be used to improve the learning of the group model. N learning result models can be generated by federated learning for each of the N user groups.
[0054] After repeatedly performing the group-based federated learning process at least once, the multi-model providing unit 330 may assign a group model corresponding to each user to all service recipients. Users not participating in federated learning may also be grouped using the same criteria as those participating in federated learning, and the learning model of the group to which the user belongs may be used when providing services.
[0055] Figures 5 to 7 An example of the federated learning technology according to an embodiment of the present invention is shown.
[0056] When federated learning is applied, data can be directly managed in individual devices and models can be learned together without storing data in the server 150 or other additional servers 160, thereby ensuring personal privacy and security.
[0057] Reference Figure 5 , all electronic devices selected for federated learning download a prediction model equivalent to the initial model (step S510). Each electronic device improves the learning of the prediction model based on the in-device data generated as the user uses it (step S520). After improving the learning of the prediction model, the electronic device can generate the improved changes as update data (step S530). The prediction models of all electronic devices can be learned by reflecting the different usage environments and user characteristics of each device (step S540). The updated data of each electronic device is transmitted to the server 150, and the updated data can be used to improve the prediction model (step S550). The improved prediction model can be redistributed to each electronic device (step S560). Each electronic device can repeatedly perform the process of re-learning and improving the redistributed prediction model to develop the prediction model and share the prediction model.
[0058] This service based on federated learning has the following differences. User data used for model learning is not collected in the server 150, so there is no problem of personal information leakage. The actual usage data of users in electronic devices is used for model learning, rather than using data collected in any environment. In addition, model learning occurs separately in each user's device, so there is no need for an additional server for learning. At the same time, personal raw data (raw data) is not transmitted to the server 150, but only multiple weighted values (weights) as update data are collected, so the problem of personal information leakage can be solved.
[0059] Figure 6 An example of weighted values representing update data in a federated learning process is shown. Weighted values are sets of variables that can be learned using a deep learning neural network. Update data for each electronic device used to improve the prediction model can be generated in the form of weighted values. For example, the weighted values generated by the prediction model for each electronic device can be represented as W = [w1, w2, ..., wn]. These weighted values can be uploaded to server 150 and used to improve the prediction model.
[0060] Figure 7 An example of the process of forming multiple models for federated learning is shown.
[0061] Reference Figure 7The server 150 classifies the plurality of users selected for federated learning into N groups based on at least one of the profile information and the information collected for the service (step S770 ).
[0062] The models learned by each electronic device in each group are collected through the above process (step S520) and aggregated into a single model, namely, a group model. As a group model is formed for each group, N group models are generated as learning models for each group (step S780).
[0063] The group model for each group may be redistributed to the electronic devices of users belonging to the corresponding group. Each electronic device may then relearn the group model based on the device data to improve the learning of the group model (step S790). Update data indicating changes to the group model resulting from the improved learning in each device may be transmitted to server 150 and used to improve the corresponding group model.
[0064] Therefore, in this embodiment, the prediction model required for providing services can be formed into a personalized multiple model according to the group characteristics through group federated learning.
[0065] Figures 8 to 10 FIG. 1 is a diagram illustrating an example of a process of generating a multiple model for a content recommendation service according to an embodiment of the present invention.
[0066] When the service provided by the server 150 is a service for automatically recommending content, a content recommendation model may be learned based on user data related to content through group-based federated learning.
[0067] In this specification, content may include all objects that can be recommended as content on the service, such as stickers, advertisements (products or applications, etc.), videos, images, various files, etc.
[0068] Reference Figure 8 , the group classification unit 320 classifies all users selected for federated learning into a plurality of groups (step S81 ).
[0069] If the service provided by server 150 is a sticker recommendation service, group classification unit 320 can use the information that can be collected on server 150 regarding stickers to classify user groups. As an example, group classification unit 320 can classify user groups based on the individual's sticker purchase history, the stickers that can be downloaded and used among the stickers purchased by the individual, and the stickers that the individual has actually used within a recent specified period. For example, user groups can be classified into user group A who used stickers featuring the character Brown at a specified frequency or higher within the past 24 hours, and user group B who used stickers featuring the character Moon at a specified frequency or higher.
[0070] If the service provided by server 150 is an advertising recommendation service, group classification unit 320 can use information collected on advertising content in server 150 to classify user groups. For example, group classification unit 320 can classify user groups based on individual purchase history, products for which individuals have searched for product content within a recent specified period, and search terms entered by individuals to search for products within a recent specified period. As another example, group classification unit 320 can classify user groups based on individual application installation history and applications actually used by individuals within a recent specified period.
[0071] The group classification unit 320 may use a collaborative filtering algorithm in the process of classifying user groups. Collaborative filtering is a method of automatically predicting a user's points of interest based on preference information obtained from a large number of users. It is a method of identifying multiple users with similar patterns in preferences and points of interest based on the preferences and interest expressions of multiple users. Collaborative filtering includes the following methods: that is, after finding users with patterns similar to those of multiple users that can be predicted to a certain extent in the past, a method of quantifying the actions of the corresponding users; a method of forming an item matrix that determines the correlation between items, and then using the matrix to infer the preferences of the corresponding users based on recent user data; and a method based on implicit observation of the actions of multiple users. Based on the above collaborative filtering, multiple users selected for federated learning can be classified into multiple groups.
[0072] In addition to the above-mentioned collaborative filtering, well-known clustering algorithms or machine learning algorithms may also be used to classify user groups.
[0073] Reference Figure 9 The initial model providing unit 310 distributes the content recommendation model generated as the initial model in the server 150 to all electronic devices of the users selected for federated learning (step S92). Each electronic device downloads the content recommendation model from the server 150 and learns the content recommendation model using data existing only in the device.
[0074] In the case where the content recommendation model is a model for automatically recommending stickers, as an example of data that only exists in each electronic device, the recommendation model can be learned using the sticker usage history based on user chats. For example, the model can be learned in the following manner: that is, as a response recommended in the smart reply model, stickers with a user usage history are recommended instead of recommended words. As an example, as a response to the message "Good morning!", different stickers with different sticker IDs can be recommended to users belonging to user group A and user group B, respectively, and the models of user group A and user group B can be learned based on the responses actually selected or transmitted by the users immediately following the recommendation.
[0075] If the content recommendation model is used to automatically recommend advertisements, the recommendation model can be trained using the user's recent purchase history of products or applications, as an example of data that exists only within each electronic device. For example, the model can be trained by recommending product IDs or application IDs associated with the user's purchase history as responses recommended in the smart reply model, rather than by learning the model using words.
[0076] After collecting the models learned by the electronic devices of the users belonging to each group (step S93), the multiple model providing unit 330 aggregates and combines the collected models to form a group model (step S94). The multiple model providing unit 330 can use the user groups to form the content recommendation model into a multiple model learned by group.
[0077] Reference Figure 10 If the group model is generated as a multi-model for the content recommendation model, the multi-model providing unit 330 redistributes the corresponding group model to the electronic device of each group of users (step S105). In each electronic device, the learning of the group model can be improved based on the user data.
[0078] The multi-model providing unit 330 may receive update data indicating changes to the group model from each electronic device, and use the data to improve the corresponding group model (step S106 ). The changes are those resulting from learning and improvement.
[0079] The multi-model providing unit 330 may form a content recommendation model into a multi-model using user groups, develop a recommendation model formed by each group through federated learning of each group, and share the recommendation model.
[0080] According to an embodiment of the present invention, compared with learning a recommendation model based on all content, content recommendation accuracy can be improved by learning a recommendation model for each group based on data personalized according to group characteristics.
[0081] The above illustrates that one person learns one group model, but it is not limited to this. One person can also learn two or more group models to perform multiple personalized federated learning.
[0082] For example, depending on the chat partner, the style and stickers used by the user may change, so a person may be classified into two or more groups instead of just one. The data used for learning the model can be analyzed to perform classification in advance, and the corresponding data can be used within the device to learn M (<N) group models.
[0083] Reference Figure 11 , the multiple model providing unit 330 assigns the group model corresponding to the M groups to which the corresponding user belongs to the electronic device of each user (step S115). In the electronic device, the data corresponding to each model are used to learn the M group models separately. For example, in the case where the user has a purchase history of stickers with feature A and a purchase history of stickers with feature B, based on this, the electronic device of the corresponding user can download the sticker recommendation model of feature A and the sticker recommendation model of feature B. Even for the same user, the features of the stickers used in each chat room may be different. Therefore, after the chat rooms are classified into chat rooms with feature A and chat rooms with feature B based on the chat content and the sticker classification model, the sticker recommendation model of feature A and the sticker recommendation model of feature B can be learned separately as independent models using the actual sticker usage history in each chat room.
[0084] The multiple model providing unit 330 may be configured to receive update data from electronic devices for each of the M group models to improve the corresponding models (step S116). When aggregating the group models, the multiple model providing unit 330 independently aggregates the M models assigned to the electronic devices of one person for each group.
[0085] According to an embodiment of the present invention, a service that is more in line with individual characteristics can be provided by using multiple models that reflect the various characteristics of an individual through federated learning based on multiple personalization.
[0086] The devices described above may be implemented using hardware structural elements, software structural elements, and / or a combination of hardware and software structural elements. For example, the devices and structural elements described in the embodiments may be implemented using one or more general-purpose computers or special-purpose computers, such as a processor, controller, arithmetic logic unit (ALU), a digital signal processor (DSP), a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or other devices that can execute and respond to instructions. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. Furthermore, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the description uses only one processing device. However, those skilled in the art will appreciate that the processing device may include multiple processing elements and / or multiple types of processing elements. For example, the processing device may include multiple processors or a processor and a controller. Furthermore, the processing device may also be another processing configuration such as a parallel processor.
[0087] Software may include a computer program, code, instruction, or a combination of more than one of these, which can constitute a processing device in a manner that allows it to be run as needed, or independently or collectively issue instructions to a processing device. Software and / or data can be embodied in any type of device, structural element, physical device, computer storage medium, or device in order to be parsed by a processing device or to provide instructions or data to a processing device. Software can be distributed on computer systems connected by a network so that the software can be stored or executed in a decentralized manner. Software and data can be stored on one or more computer-readable recording media.
[0088] The method of the embodiment can be implemented in the form of program instructions that can be executed by a variety of computer units and can be recorded on a computer-readable medium. In this case, the medium can continue to store the program that can be executed by the computer, or temporarily store it for execution or downloading. In addition, the medium can be a single form or a combination of multiple hardware recording units or storage units, and is not limited to a medium directly connected to a certain computer system. The medium can also be dispersed on the network. As an example of the medium, it includes magnetic media such as hard disks, floppy disks and magnetic disks, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks (magneto-optical medium) and read-only memories, random access memories, flash memories, etc., so that program instructions can be stored. In addition, as examples of other media, an application store for circulating applications or a web page that supplies or circulates various other software, a recording medium or storage medium managed in a server, etc. can also be listed.
[0089] As described above, although multiple embodiments are described through limited embodiments and drawings, a person skilled in the art of the art to which the present invention relates may make various modifications and variations from the above description. For example, even if the described techniques can be performed in a different order than the described methods, and / or the structural elements of the described systems, structures, devices, circuits, etc. can be combined or combined in a different manner than the described methods, or the structural elements are replaced or substituted with other structural elements or equivalents, appropriate results can still be achieved.
[0090] Accordingly, other examples, other embodiments, and their equivalents are within the scope of the claims.
Claims
1. A method for providing multiple models, wherein the method is executed in a computer system, characterized in that: The computer system includes at least one processor configured to execute a plurality of computer-readable instructions contained in a memory. The above method comprises the following steps: classifying, by the at least one processor, a plurality of users into a plurality of groups; distributing, by the at least one processor, an initial model generated in the computer system as a prediction model for a service to electronic devices of the plurality of users; and causing the at least one processor to generate the prediction model into a multiple model by federated learning according to the group, The step of generating the prediction model into multiple models includes the following steps: generating a group model by aggregating the models obtained by learning the initial model in the electronic devices of the users belonging to each group into one model, thereby generating the initial model into multiple prediction models according to the group through federated learning reflecting the personalized elements of the users belonging to each group, and The step of generating the prediction model into a multiple model further includes assigning the group model generated for each corresponding group to the users belonging to each group. The assigned group model is associated with a chat room and is trained based on data within the chat room.
2. The method according to claim 1, characterized in that In the classification step, the plurality of users are grouped using at least one information that can be collected in the computer system for the service.
3. The method according to claim 1, characterized in that In the classification step, the plurality of users are grouped based on at least one of user profiles and domain knowledge of the service.
4. The method according to claim 1, wherein In the classification step, the multiple users are grouped based on collaborative filtering.
5. The method according to claim 1, wherein The step of generating the above prediction model into a multiple model also includes the following steps: Each group model is improved by receiving update data on the corresponding group model from the electronic devices of the users belonging to each group in the above-mentioned groups.
6. The method according to claim 1, wherein In the step of generating the prediction model into a multiple model, if the service is a service for recommending content, By performing federated learning for the groups, a content recommendation model for the groups is generated by utilizing a learning result model of in-device data related to the content in the electronic devices of the users belonging to each group.
7. The method according to claim 6, characterized in that In the classification step, the plurality of users are grouped using at least one information that can be collected in the computer system with respect to the content.
8. The method according to claim 1, characterized in that In the classification step, the groups to which each user belongs are classified into at least two groups.
9. The method according to claim 8, characterized in that In the above step of generating the above prediction model into a multiple model, assigning two or more group models to each user's electronic device according to the group to which the corresponding user belongs; and Each group model is improved by receiving update data on the corresponding group model from the electronic devices of the users belonging to each group in the above-mentioned groups.
10. A non-transitory computer-readable recording medium, characterized in that A computer program for executing the method according to any one of claims 1 to 9 in a computer system is stored.
11. A computer system, characterized in that: comprising at least one processor configured to execute a plurality of computer-readable instructions contained in a memory, The at least one processor includes: A group classification unit, configured to classify a plurality of users into a plurality of groups; an initial model providing unit that distributes the initial model generated in the computer system as a prediction model for the service to the electronic devices of the plurality of users; and The multi-model providing unit generates the above-mentioned prediction model into a multi-model by federated learning according to the above-mentioned group and provides the multi-model. The multiple model providing unit generates a group model by aggregating the models obtained by learning the initial model in the electronic devices of the users belonging to each group into one model, thereby generating the group model from the initial model into multiple prediction models according to the group through federated learning reflecting the personalized elements of the users belonging to each group, and The multi-model providing unit distributes the group model generated for each corresponding group to the users belonging to each group. The assigned group model is associated with a chat room and is trained based on data within the chat room.
12. The computer system according to claim 11, wherein: The group classification unit groups the plurality of users using at least one information that can be collected in the computer system for the service.
13. The computer system according to claim 11, wherein: The group classification unit groups the plurality of users based on at least one of a user profile and domain knowledge of the service.
14. The computer system according to claim 11, wherein: The multiple model providing unit receives update data on the corresponding group model from electronic devices of users belonging to each group for each group to improve each group model.
15. The computer system according to claim 11, wherein: If the above service is a service for recommending content, The multi-model providing unit generates a content recommendation model for each group by performing federated learning for each group, using a learning result model of in-device data related to the content in electronic devices of users belonging to each group.
16. The computer system according to claim 15, wherein: The group classification unit groups the plurality of users using at least one information that can be collected in the computer system with respect to the content.
17. The computer system according to claim 11, wherein: The group classification unit classifies, for each user, the group to which the corresponding user belongs into at least two groups.
18. The computer system according to claim 17, wherein: The multiple model providing unit allocates two or more group models to each user's electronic device according to the group to which the corresponding user belongs, and The multiple model providing unit receives update data on the corresponding group model from electronic devices of users belonging to each group for each group to improve each group model.
Citation Information
Patent Citations
Device and method for providing response message to user input
KR1020190117837A
Recommendation system and method based on implicit feedback collaborative filtering algorithm
CN105488216A
Multi-target fusion learning method, device and system based on privacy data protection
CN110874637A