Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7832872B2 - Learning systems, learning methods, and programs - Google Patents
[go: Go Back, main page]

JP7832872B2 - Learning systems, learning methods, and programs - Google Patents

Learning systems, learning methods, and programs

Info

Publication number
JP7832872B2
JP7832872B2 JP2022157754A JP2022157754A JP7832872B2 JP 7832872 B2 JP7832872 B2 JP 7832872B2 JP 2022157754 A JP2022157754 A JP 2022157754A JP 2022157754 A JP2022157754 A JP 2022157754A JP 7832872 B2 JP7832872 B2 JP 7832872B2
Authority
JP
Japan
Prior art keywords
weight coefficients
machine learning
vector
server
learning model
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2022157754A
Other languages
Japanese (ja)
Other versions
JP2024051536A (en
Inventor
大河 鹿島
英樹 中山
絢子 安間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Tokyo NUC
Toyota Motor Corp
Original Assignee
University of Tokyo NUC
Toyota Motor Corp
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 University of Tokyo NUC, Toyota Motor Corp filed Critical University of Tokyo NUC
Priority to JP2022157754A priority Critical patent/JP7832872B2/en
Publication of JP2024051536A publication Critical patent/JP2024051536A/en
Application granted granted Critical
Publication of JP7832872B2 publication Critical patent/JP7832872B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Image Analysis (AREA)

Description

本開示は、学習システム、学習方法、およびプログラムに関する。 This disclosure relates to learning systems, learning methods, and programs.

サーバと複数のクライアント端末が協力して学習を行う連合学習システムが提案されている(例えば、特許文献1参照)。連合学習システムでは、各クライアント端末が機械学習モデルの重み係数を学習してサーバに送信する。サーバは、複数のクライアント端末からそれぞれ受け取った重み係数に基づいて、機械学習モデルの重み係数を更新する。サーバは、更新した重み係数を複数のクライアント端末に配布する。 A federated learning system has been proposed in which a server and multiple client terminals cooperate in learning (see, for example, Patent Document 1). In this federated learning system, each client terminal learns the weight coefficients of a machine learning model and sends them to the server. The server updates the weight coefficients of the machine learning model based on the weight coefficients received from each of the multiple client terminals. The server then distributes the updated weight coefficients to the multiple client terminals.

特開2019-028656号公報Japanese Patent Publication No. 2019-028656

本出願人は、以下の課題を見出した。重み係数に基づいて、学習に用いた画像(例えば、家庭内の画像)を復元される可能性が指摘されている。したがって、重み係数をそのまま送信することは、プライバシー保護の観点で問題がある。また、性能のよい構成の大きなモデルの場合、重み係数の送信の負荷が高いという問題がある。さらに、悪意のあるユーザがモデルの性能を低下させる可能性が指摘されている。 The applicant has identified the following problems: It has been pointed out that images used for training (e.g., images from within the home) could be reconstructed based on weight coefficients. Therefore, directly transmitting weight coefficients poses a privacy concern. Furthermore, for large models with high-performance configurations, transmitting weight coefficients is computationally expensive. Additionally, it has been pointed out that malicious users could degrade the model's performance.

本開示は、このような問題点に鑑みてなされたものであり、機械学習に使用したデータの漏洩を防止できる学習システム、学習方法、およびプログラムを実現する。 This disclosure was made in light of these issues, and aims to realize a learning system, learning method, and program that can prevent the leakage of data used in machine learning.

本開示の一態様の学習システムは、複数のクライアント端末とサーバを備える学習システムであって、
各クライアント端末が、
機械学習モデルの重み係数を学習し、前記重み係数からなるベクトルとキーベクトルの内積を前記サーバに送信し、
前記サーバが、
前記複数のクライアント端末からそれぞれ受信した前記内積に基づいて、前記機械学習モデルの重み係数を最適化する。
One aspect of the learning system of this disclosure is a learning system comprising a plurality of client terminals and a server,
Each client terminal
The machine learning model learns the weight coefficients, and sends the dot product of the vector consisting of the weight coefficients and the key vector to the server.
The aforementioned server,
The weight coefficients of the machine learning model are optimized based on the dot product received from each of the aforementioned client terminals.

本開示の一態様の学習方法は、
各クライアント端末が、機械学習モデルの重み係数を学習し、前記重み係数からなるベクトルとキーベクトルの内積をサーバに送信するステップと、
前記サーバが、複数のクライアント端末からそれぞれ受信した前記内積に基づいて、前記機械学習モデルの重みを最適化するステップと
を含む。
A learning method in one aspect of this disclosure is:
Each client terminal learns the weight coefficients of the machine learning model and sends the dot product of the vector consisting of the weight coefficients and the key vector to the server.
The server includes the step of optimizing the weights of the machine learning model based on the dot product received from each of the multiple client terminals.

本開示の一態様のプログラムは、
コンピュータに、
機械学習モデルの重み係数からなるベクトルとキーベクトルの内積を各クライアント端末から受信する処理と、
複数のクライアント端末からそれぞれ受信した前記内積に基づいて、前記機械学習モデルの重み係数を最適化する処理と、
を実行させる。
A program in one aspect of this disclosure is
On the computer,
The process involves receiving the dot product of the weight coefficients vector of the machine learning model and the key vector from each client terminal,
A process to optimize the weight coefficients of the machine learning model based on the dot product received from each of the multiple client terminals,
Make it run.

本開示によれば、機械学習に使用したデータの漏洩を防止できる学習システム、学習方法、およびプログラムを実現できる。 According to this disclosure, a learning system, learning method, and program that can prevent the leakage of data used for machine learning can be realized.

実施形態1にかかる学習システムの構成を説明する図である。This diagram illustrates the configuration of the learning system according to Embodiment 1. 実施形態1にかかる学習システムの動作の検証結果を説明する図である。This figure illustrates the verification results of the operation of the learning system according to Embodiment 1. 実施形態1にかかる学習システムの動作の検証結果を説明する図である。This figure illustrates the verification results of the operation of the learning system according to Embodiment 1. 実施形態1にかかる学習システムでロバスト回帰を用いた場合の検証結果を説明する図である。This figure illustrates the verification results when robust regression is used in the learning system according to Embodiment 1. 実施形態1にかかる学習システムでロバスト回帰を用いた場合の検証結果を説明する図である。This figure illustrates the verification results when robust regression is used in the learning system according to Embodiment 1. 実施形態1にかかる学習システムでラッソ回帰を用いた場合の検証結果を説明する図である。This figure illustrates the verification results when Lasso regression is used in the learning system according to Embodiment 1.

以下、本開示を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。但し、本開示が以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。 The following describes specific embodiments applying this disclosure, with reference to the drawings. However, this disclosure is not limited to the following embodiments. Furthermore, for clarity, the following descriptions and drawings have been simplified as appropriate.

本開示に至る経緯
まず、図1を参照して、一般的な連合学習方法の流れについて説明する。図1に示す学習システム100は、クライアント端末110_1、クライアント端末110_2、クライアント端末110_3、およびサーバ120を備える。クライアント端末110_1、クライアント端末110_2、クライアント端末110_3、およびサーバ120は、ネットワークNを介して相互に通信可能に接続されている。
Background to this Disclosure First, the general flow of a federated learning method will be explained with reference to Figure 1. The learning system 100 shown in Figure 1 comprises client terminals 110_1, 110_2, 110_3, and a server 120. Client terminals 110_1, 110_2, 110_3, and the server 120 are connected to each other via a network N so that they can communicate with one another.

クライアント端末110_1は家屋10_1に配置され、クライアント端末110_2は家屋10_2に配置され、クライアント端末110_3は家屋10_3に配置される。家屋10_1、家屋10_2、および家屋10_3を互いに区別しない場合、家屋10と言う。クライアント端末110_1、110_2、および110_3を互いに区別しない場合には、クライアント端末110と言う。 Client terminal 110_1 is located in house 10_1, client terminal 110_2 is located in house 10_2, and client terminal 110_3 is located in house 10_3. When houses 10_1, 10_2, and 10_3 are not distinguished from each other, they are referred to as house 10. When client terminals 110_1, 110_2, and 110_3 are not distinguished from each other, they are referred to as client terminal 110.

まず、サーバ120は、Webから収集した画像や、3次元モデル(シミュレータとも言う)から生成した画像を用いて機械学習モデル(例えば、物体認識用のモデル)をトレーニングする。そして、サーバ120は、機械学習モデルの重み係数の初期値を、クライアント端末110_1、110_2、および110_3に配布する。 First, server 120 trains a machine learning model (for example, an object recognition model) using images collected from the web and images generated from a 3D model (also called a simulator). Then, server 120 distributes the initial values of the machine learning model's weight coefficients to client terminals 110_1, 110_2, and 110_3.

次に、クライアント端末110_1は家屋10_1で学習データ20_1を収集し、クライアント端末110_2は家屋10_2で学習データ20_2を収集し、クライアント端末110_3は家屋10_3で学習データ20_3を収集する。学習データ20_1、20_2、および20_3を互いに区別しない場合、学習データ20と言う。 Next, client terminal 110_1 collects training data 20_1 at house 10_1, client terminal 110_2 collects training data 20_2 at house 10_2, and client terminal 110_3 collects training data 20_3 at house 10_3. When training data 20_1, 20_2, and 20_3 are not distinguished from each other, they are referred to as training data 20.

次に、クライアント端末110_1が学習データ20_1で機械学習モデルの重み係数を更新し、クライアント端末110_2が学習データ20_2で機械学習モデルの重み係数を更新し、クライアント端末110_3が学習データ20_3で機械学習モデルの重み係数を更新する。次に、各クライアント端末110は、学習した機械学習モデルの重み係数をサーバ120に送信する。 Next, client terminal 110_1 updates the weight coefficients of the machine learning model with training data 20_1, client terminal 110_2 updates the weight coefficients of the machine learning model with training data 20_2, and client terminal 110_3 updates the weight coefficients of the machine learning model with training data 20_3. Then, each client terminal 110 sends the weight coefficients of the trained machine learning model to server 120.

次に、サーバ120は、クライアント端末110_1から受け取った重み係数、クライアント端末110_2から受け取った重み係数、およびクライアント端末110_3から受け取った重み係数に基づいて、機械学習モデルの重み係数を更新する。サーバ120は、受け取った重み係数の平均値を計算し、新たな重み係数としてもよい。 Next, server 120 updates the weight coefficients of the machine learning model based on the weight coefficients received from client terminal 110_1, client terminal 110_2, and client terminal 110_3. Server 120 may also calculate the average value of the received weight coefficients and use that as the new weight coefficient.

次に、サーバ120は、更新した機械学習モデルの重み係数をクライアント端末110_1、クライアント端末110_2、およびクライアント端末110_3に配布する。そして、クライアント端末110が学習データ20を収集する工程に戻る。 Next, server 120 distributes the updated machine learning model's weight coefficients to client terminals 110_1, 110_2, and 110_3. Then, client terminal 110 returns to the process of collecting training data 20.

一般的な連合学習方法では、クライアント端末110は、学習データ20ではなく、機械学習モデルの重み係数を送信する。これにより、学習データ20が漏洩するリスクを低減できる。しかし、学習に用いた画像を、重み係数から復元される可能性があることが知られている。また、性能のよいモデルの場合、重み係数の送信の負荷が高いという問題がある。さらに、悪意のあるユーザが連合学習に参加している場合、機械学習モデルの性能が低下する恐れがある。本願の発明者は、以上の経緯から実施形態1にかかる学習システムに想到した。 In typical federative learning methods, the client terminal 110 transmits the weight coefficients of the machine learning model, rather than the training data 20. This reduces the risk of the training data 20 being leaked. However, it is known that the images used for training can be reconstructed from the weight coefficients. Furthermore, for high-performance models, transmitting the weight coefficients presents a high overhead. Additionally, if a malicious user participates in the federative learning process, the performance of the machine learning model may degrade. Based on these considerations, the inventors of this application conceived of the learning system according to Embodiment 1.

実施形態1
以下、図面を参照して実施形態1にかかる学習システムについて説明する。まず、図1を参照して、実施形態1にかかる学習システム100の概要について説明する。
Embodiment 1
The learning system according to Embodiment 1 will now be described with reference to the drawings. First, an overview of the learning system 100 according to Embodiment 1 will be described with reference to Figure 1.

図1ではクライアント端末110の数が3台の場合を示しているが、クライアント端末110の数は2台であってもよく、4台以上であってもよい。クライアント端末110は、カメラとPCの組み合わせであってもよく、ロボットであってもよい。 Figure 1 shows a case where there are three client terminals 110, but the number of client terminals 110 may be two, four or more. The client terminals 110 may be a combination of a camera and a PC, or they may be robots.

クライアント端末110およびサーバ120は、例えばCPU(Central Processing Unit)などの演算部と、各種制御プログラムやデータ等が格納されたRAM(Random Access Memory)、ROM(Read Only Memory)等の記憶部とを備える。すなわち、クライアント端末110およびサーバ120は、コンピュータとしての機能を有しており、上記各種制御プログラム等に基づいて処理を行う。 The client terminal 110 and server 120 each comprise a processing unit, such as a CPU (Central Processing Unit), and a storage unit, such as RAM (Random Access Memory) or ROM (Read Only Memory), which stores various control programs and data. In other words, the client terminal 110 and server 120 function as computers and perform processing based on the aforementioned control programs.

次に、学習システム100の動作について説明する。学習システム100では、まず、クライアント端末110_1、110_2、および110_3が、収集した学習データ20_1、20_2、および20_3を用いて機械学習モデルの重み係数を表す行列W1、W2、およびW3を学習する。行列W1、W2、およびW3を互いに区別しない場合、行列Wと言う。行列W1に含まれる各列ベクトルをベクトルw1と言い、行列W2に含まれる各列ベクトルをベクトルw2と言い、行列W3に含まれる各列ベクトルをベクトルw3と言う。ベクトルw1、w2、およびw3を互いに区別しない場合、ベクトルwと言う。ベクトルwは、機械学習モデルの重み係数からなる。 Next, the operation of the learning system 100 will be explained. In the learning system 100, first, client terminals 110_1, 110_2, and 110_3 learn matrices W1, W2, and W3, which represent the weight coefficients of the machine learning model, using the collected training data 20_1, 20_2, and 20_3. When matrices W1, W2, and W3 are not distinguished from each other, they are simply called matrix W. Each column vector in matrix W1 is called vector w1, each column vector in matrix W2 is called vector w2, and each column vector in matrix W3 is called vector w3. When vectors w1, w2, and w3 are not distinguished from each other, they are simply called vector w. Vector w consists of the weight coefficients of the machine learning model.

学習データ20は、例えば、機械学習に有用な画像と、その画像に写った物体を示すアノテーションとを含む。クライアント端末110は、画像をユーザに提示し、ユーザの回答に応じてアノテーションを定めてもよい。また、アノテーションは、ユーザの動作や反応に応じて定められてもよい。画像は、家屋10内に設置されたカメラやロボットによって撮影されてもよい。なお、機械学習モデルは物体認識用のモデルには限られない。 The training data 20 includes, for example, images useful for machine learning and annotations indicating objects depicted in those images. The client terminal 110 may present images to the user and determine annotations based on the user's responses. Annotations may also be determined based on the user's actions and reactions. Images may be captured by cameras or robots installed within the house 10. Note that the machine learning model is not limited to object recognition models.

次に、クライアント端末110_1がキーベクトルv1を生成し、クライアント端末110_2がキーベクトルv2を生成し、クライアント端末110_3がキーベクトルv3を生成する。ベクトルv1、v2、およびv3を互いに区別しない場合、キーベクトルvと言う。キーベクトルvの成分の数は、ベクトルwの成分の数と一致しているものとする。例えば、vがn次元ベクトルである場合、v=[v,v,・・・,v]と表される。 Next, client terminal 110_1 generates key vector v1, client terminal 110_2 generates key vector v2, and client terminal 110_3 generates key vector v3. When vectors v1, v2, and v3 are indistinguishable from each other, they are called key vectors v. The number of components of key vector v is assumed to be the same as the number of components of vector w. For example, if v is an n-dimensional vector, it can be expressed as v = [ v1 , v2 , ..., vn ].

クライアント端末110_1はベクトルw1とキーベクトルv1の内積y1を計算する。クライアント端末110_2はベクトルw2とキーベクトルv2の内積y2を計算する。クライアント端末110_3はベクトルw3とキーベクトルv3の内積y3を計算する。内積y1、y2、およびy3を互いに区別しない場合、内積yと言う。 Client terminal 110_1 calculates the dot product y1 of vector w1 and key vector v1. Client terminal 110_2 calculates the dot product y2 of vector w2 and key vector v2. Client terminal 110_3 calculates the dot product y3 of vector w3 and key vector v3. When the dot products y1, y2, and y3 are not distinguished from each other, they are simply called the dot product y.

ベクトルwは行列Wの列数だけ存在するため、内積yは行列Wの列数だけ存在する。複数の内積yを並べたベクトルを、内積ベクトルYと言う。行列Wのl番目(lはアルファベットのエルを表す)の列ベクトルをWとし、l番目の内積の計算結果をYと表すと、Y=<W,v>=Wl1・v+Wl2・v+・・・である。なお、Wljは、Wのj番目の要素を表す。 Since there are as many vectors w as there are columns in matrix W, there are as many dot products y as there are columns in matrix W. A vector formed by arranging multiple dot products y is called a dot product vector Y. If we denote the l-th column vector of matrix W (where l represents the letter L) as W l , and the result of calculating the l-th dot product as Y l , then Y l = <W l , v> = W l1・v 1 + W l2・v 2 + ... Note that W lj represents the j-th element of W l .

ところで、aおよびbがn次元ベクトルである場合、内積cは、c=<a,b>=a・b+a・b+・・・+a・bで与えられる。aはベクトルaのj番目の要素を表し、bはベクトルbのj番目の要素を表す。内積cとベクトルaが与えられても、ベクトルbは一意に定まらないという特徴がある。例えば、a=[1,1,1,1,1]、c=[1]とした場合、c=<a,b>を満たすベクトルbは一意に定めらない。さらに、内積cの次元は、ベクトルaの次元やベクトルbの次元よりも小さいという特徴がある。 By the way, if a and b are n-dimensional vectors, their inner product c is given by c = <a, b> = a 1 * b 1 + a 2 * b 2 + ... + a n * b n , where a j represents the j-th element of vector a, and b j represents the j-th element of vector b. A key characteristic is that even if the inner product c and vector a are given, vector b is not uniquely determined. For example, if a = [1, 1, 1, 1, 1] and c = [1], then the vector b that satisfies c = <a, b> cannot be uniquely determined. Furthermore, the dimension of the inner product c is smaller than the dimensions of vector a or vector b.

したがって、内積yは、ベクトルwをキーベクトルvで圧縮したデータであると考えることもできる。クライアント端末110は、行列Wに含まれる複数の列ベクトルをキーベクトルvで圧縮する。 Therefore, the inner product y can also be considered as data obtained by compressing vector w with key vector v. The client terminal 110 compresses multiple column vectors contained in matrix W using key vector v.

次に、クライアント端末110_1が、キーベクトルv1および内積ベクトルY1をサーバ120に送信する。クライアント端末110_2が、キーベクトルv2および内積ベクトルY2をサーバ120に送信する。クライアント端末110_3が、キーベクトルv3および内積ベクトルY3をサーバ120に送信する。 Next, client terminal 110_1 sends the key vector v1 and the dot product vector Y1 to server 120. Client terminal 110_2 sends the key vector v2 and the dot product vector Y2 to server 120. Client terminal 110_3 sends the key vector v3 and the dot product vector Y3 to server 120.

クライアント端末110は、行列Wに含まれる複数の列ベクトルを圧縮する。通常、キーベクトルvのデータ量と内積ベクトルYのデータ量の和は、行列Wのデータ量よりも小さい。 The client terminal 110 compresses multiple column vectors contained in matrix W. Typically, the sum of the data size of the key vector v and the data size of the dot product vector Y is smaller than the data size of matrix W.

次に、サーバ120は、内積ベクトルY1~Y3およびキーベクトルv1~v3に基づいて、機械学習モデルの重み係数を最適化する。具体的には、サーバ120は、内積ベクトルYをキーベクトルvで説明するモデルをY=Wvと表し、最適な行列Wを推定する。行列Wは、行列Wの転置行列を表す。 Next, server 120 optimizes the weight coefficients of the machine learning model based on the dot product vectors Y1 to Y3 and key vectors v1 to v3. Specifically, server 120 represents the model that explains the dot product vector Y with respect to the key vector v as Y = W T v, and estimates the optimal matrix W. Matrix W T represents the transpose of matrix W.

学習システム100は、キーベクトルvを独立変数とし、内積ベクトルYを従属変数とする線形回帰を行うことで機械学習モデルの重み係数を最適化する。回帰分析を行うときには、最小二乗法を用いてもよく、ロバスト回帰を用いてもよく、ラッソ回帰を用いてもよい。最小二乗法を用いる場合、サーバ120は、式(1)に示す損失関数Lを最小化するように重み係数を算出する。行列Wは、重み係数を表す行列Wを最適化した行列を表す。Yは、内積ベクトルY1、Y2、およびY3を並べた行列を表す。Vは、キーベクトルv1、v2、およびv3を並べた行列を表す。
The learning system 100 optimizes the weight coefficients of the machine learning model by performing linear regression with key vector v as the independent variable and dot product vector Y as the dependent variable. When performing regression analysis, the least squares method may be used, robust regression may be used, or Lasso regression may be used. When the least squares method is used, the server 120 calculates the weight coefficients so as to minimize the loss function L shown in equation (1). Matrix W ~ represents the optimized matrix W representing the weight coefficients. Y represents the matrix formed by arranging the dot product vectors Y1, Y2, and Y3. V represents the matrix formed by arranging the key vectors v1, v2, and v3.

また、サーバ120がロバスト回帰を用いる場合、悪意のあるユーザからの攻撃によって機械学習モデルの性能が低下することを抑制できる。サーバ120がラッソ回帰を用いた場合、不要な重み係数を低減できるため、通信負荷を特に低減できる。 Furthermore, if server 120 uses robust regression, it can suppress the degradation of the machine learning model's performance due to attacks from malicious users. If server 120 uses Lasso regression, it can reduce unnecessary weight coefficients, thereby significantly reducing communication load.

クライアント端末110の数が1台であり、クライアント端末110_1のみが存在した場合、内積ベクトルY1のl番目の要素であるY1とキーベクトルv1から、Y1=Wl1・v1+Wl2・v1+・・・を満たすWを推定しなければならない。しかし、内積の性質から、内積Y1とキーベクトルv1のみからWを一意に定めることはできない。学習システム100は、複数のクライアント端末110が存在することを前提としている。サーバ120は、複数のクライアント端末110で計算した内積から、一つのWを復号すればよい。 If there is only one client terminal 110, and only client terminal 110_1 exists, then we must estimate W satisfying Y1 l = W l1・v1 1 + W l2・v1 2 + ... from the l-th element of the dot product vector Y1, Y1 l , and the key vector v1. However, due to the properties of the dot product, it is not possible to uniquely determine W from only the dot product Y1 l and the key vector v1. The learning system 100 assumes that there are multiple client terminals 110. The server 120 only needs to decode a single W from the dot products calculated by the multiple client terminals 110.

学習システム100は、上記処理を1ラウンド(Communication Roundと言う)とし、ラウンドを繰り返すことで学習を進める。 The learning system 100 considers the above process as one round (referred to as a Communication Round), and progresses through learning by repeating these rounds.

学習システム100では、各クライアント端末110は、機械学習モデルの重み係数ではなく、内積とキーベクトルを送信する。内積とキーベクトルが傍受されたとしても、機械学習モデルの重み係数を一意に定めることはできないため、連合学習に参加するユーザのプライバシーの保護を強化できる。 In the learning system 100, each client terminal 110 transmits the dot product and key vector, rather than the weight coefficients of the machine learning model. Even if the dot product and key vector are intercepted, it is impossible to uniquely determine the weight coefficients of the machine learning model, thus enhancing the protection of user privacy for those participating in federated learning.

さらに、内積のデータ量とキーベクトルのデータ量の和は、重み係数を表す行列のデータ量よりも小さい。したがって、学習システム100により、通信負荷を低減できる。 Furthermore, the sum of the data size of the dot product and the data size of the key vector is smaller than the data size of the matrix representing the weight coefficients. Therefore, the learning system 100 can reduce the communication load.

図1では、クライアント端末110がキーベクトルの生成を行う場合を説明したが、サーバ120が、キーベクトルvを生成し、キーベクトルvをクライアント端末110に配布してもよい。この場合、クライアント端末110は、内積を送信するときにキーベクトルを送信しなくてもよい。 Figure 1 illustrates the case where the client terminal 110 generates the key vector. However, the server 120 may generate the key vector v and distribute it to the client terminal 110. In this case, the client terminal 110 does not need to send the key vector when sending the dot product.

次に、図2および図3を参照して、学習システム100の動作の検証結果を説明する。図2では、機械学習モデルとしてCNN(Convolutional Neural Network)を用いた。データセットとして、CIFAR(Canadian Institute for Advanced Research)-10を用いた。機械学習モデルの重み係数は、最小二乗法により推定した。横軸はラウンド数を示しており、縦軸は正解率(Accuracy)を示す。 Next, the verification results of the operation of the learning system 100 will be explained with reference to Figures 2 and 3. In Figure 2, CNN (Convolutional Neural Network) was used as the machine learning model. CIFAR (Canadian Institute for Advanced Research)-10 was used as the dataset. The weight coefficients of the machine learning model were estimated using the least squares method. The horizontal axis represents the number of rounds, and the vertical axis represents the accuracy.

実施形態1を用いた場合の正解率は点線で示されている。グラフ31、グラフ32、グラフ33、およびグラフ34は、クライアント端末110の数が1台、30台、50台、および100台である場合の正解率を示す。 The accuracy rate when using Embodiment 1 is shown by the dotted line. Graphs 31, 32, 33, and 34 show the accuracy rates when the number of client terminals 110 is 1, 30, 50, and 100.

従来技術を用いた場合の正解率は実線で示されている。従来技術では、重み係数の平均値を新たな重み係数とした。グラフ41、グラフ42、グラフ43、およびグラフ44は、クライアント端末110の数が1台、30台、50台、および100台である場合の正解率を示す。グラフ42、43、および44は、ほぼ重なっている。 The accuracy rate using conventional technology is shown by the solid line. In conventional technology, the average of the weighting coefficients was used as the new weighting coefficient. Graphs 41, 42, 43, and 44 show the accuracy rates when the number of client terminals 110 is 1, 30, 50, and 100. Graphs 42, 43, and 44 almost overlap.

図2を参照すると、クライアント端末110の数が少ない場合には正解率が低いが、クライアント端末110の数が多い場合には正解率が高い。クライアント端末110の数が多い場合、高い精度の機械学習モデルを得られる。クライアント端末110の数が増加するにつれて、実施形態1における正解率は従来技術における正解率(ベースライン)に近づく。 Referring to Figure 2, the accuracy rate is low when the number of client terminals 110 is small, but high when the number of client terminals 110 is large. A high-accuracy machine learning model can be obtained when the number of client terminals 110 is large. As the number of client terminals 110 increases, the accuracy rate in Embodiment 1 approaches the accuracy rate (baseline) of the conventional technology.

また、図3は、機械学習モデルとして多層パーセプトロン(MLP:MultiLayer Perceptron)を用いた場合の検証結果を示す。データセットとして、MNIST(Modified National Institute of Standards and Technology)を用いた。 Figure 3 shows the verification results when using a Multilayer Perceptron (MLP) as a machine learning model. The MNIST (Modified National Institute of Standards and Technology) dataset was used.

実施形態1を用いた場合の正解率は点線で示されている。グラフ51、グラフ52、グラフ53、およびグラフ54は、クライアント端末110の数が1台、30台、50台、および100台である場合の正解率を示す。 The accuracy rate when using Embodiment 1 is shown by the dotted line. Graphs 51, 52, 53, and 54 show the accuracy rates when the number of client terminals 110 is 1, 30, 50, and 100.

従来技術を用いた場合の正解率は実線で示されている。グラフ61、グラフ62、グラフ63、およびグラフ64は、従来技術を用いた場合の正解率を示す。グラフ61、グラフ62、グラフ63、およびグラフ64は、クライアント端末110の数が1台、30台、50台、100台である場合の正解率を示す。グラフ62、63、および64は、ほぼ重なっている。 The accuracy rate using conventional technology is shown by the solid line. Graphs 61, 62, 63, and 64 show the accuracy rate using conventional technology. Graphs 61, 62, 63, and 64 show the accuracy rate when the number of client terminals 110 is 1, 30, 50, and 100. Graphs 62, 63, and 64 almost overlap.

図2と同様に、クライアント端末110の数が増加すると高い精度の機械学習モデルを得られることがわかる。実施形態1は、機械学習モデルが多層パーセプトロンである場合にも効果を奏する。 Similar to Figure 2, it can be seen that a machine learning model with higher accuracy can be obtained as the number of client terminals 110 increases. Embodiment 1 is also effective when the machine learning model is a multilayer perceptron.

次に、図4および図5を参照して、ロバスト回帰を用いる場合について説明する。ロバスト回帰は、機械学習モデルの性能を低下させる攻撃に対して頑健である。ロバスト回帰では、Huber損失が用いられる。 Next, we will explain the case of using robust regression, referring to Figures 4 and 5. Robust regression is robust against attacks that degrade the performance of machine learning models. Robust regression uses Huber loss.

図4は、データセットとしてCIFARを用いた場合の検証結果を示す。グラフ71~73は、悪意のあるクライアントの数が1である場合の正解率を示す。グラフ71~73は、従来技術を用いた場合、損失としてL2損失を用いた場合、損失としてHuber損失を用いた場合の正解率を示す。 Figure 4 shows the verification results when CIFAR is used as the dataset. Graphs 71-73 show the accuracy when the number of malicious clients is 1. Graphs 71-73 also show the accuracy when using conventional technology, when using L2 loss as the loss, and when using Huber loss as the loss.

グラフ74~76は、悪意のあるクライアントの数が5である場合の正解率を示す。グラフ74~76は、従来技術を用いた場合、損失としてL2損失を用いた場合、損失としてHuber損失を用いた場合の正解率を示す。 Graphs 74-76 show the accuracy rate when the number of malicious clients is 5. Graphs 74-76 also show the accuracy rate when using conventional technology, when using L2 loss as the loss, and when using Huber loss as the loss.

図5は、データセットとして、MNISTを用いた場合の検証結果を示す。グラフ81~83は、悪意のあるクライアントの数が1である場合の正解率を示す。グラフ81~83は、従来技術を用いた場合、損失としてL2損失を用いた場合、損失としてHuber損失を用いた場合の正解率を示す。 Figure 5 shows the verification results when using MNIST as the dataset. Graphs 81-83 show the accuracy when the number of malicious clients is 1. Graphs 81-83 also show the accuracy when using conventional technology, when using L2 loss as the loss, and when using Huber loss as the loss.

グラフ84~86は、悪意のあるクライアントの数が5である場合の正解率を示す。グラフ84~86は、従来技術を用いた場合、損失としてL2損失を用いた場合、損失としてHuber損失を用いた場合の正解率を示す。 Graphs 84-86 show the accuracy rate when the number of malicious clients is 5. Graphs 84-86 show the accuracy rate when using conventional technology, when using L2 loss as the loss, and when using Huber loss as the loss.

図4および図5を参照すると、従来技術やL1損失を用いた場合、攻撃によって機械学習モデルの性能が低下している。Huber損失を用いる場合、つまりロバスト回帰を用いる場合、機械学習モデルは、悪意のあるクライアントからの攻撃に対して頑健になっている。 Referring to Figures 4 and 5, the performance of machine learning models degrades under attack when using conventional techniques or L1 loss. When using Huber loss, i.e., robust regression, the machine learning model becomes robust against attacks from malicious clients.

次に、図6を参照して、ラッソ回帰を用いる場合について説明する。表90の一列目は、従来技術を用いるか実施形態1を用いるかを表す。二列目は、クライアント側およびサーバ側でラッソ回帰を行うか否かを表す。「Yes」はラッソ回帰を行うことを表し、「No」はラッソ回帰を行わないことを表す。ラッソ回帰では、損失としてL1損失が用いられる。三列目および四列目は、誤答率およびスパーシティを表す。 Next, referring to Figure 6, we will explain the case using Lasso regression. The first column of Table 90 indicates whether the prior art or Embodiment 1 is used. The second column indicates whether Lasso regression is performed on the client and server sides. "Yes" indicates that Lasso regression is performed, and "No" indicates that Lasso regression is not performed. In Lasso regression, the L1 loss is used as the loss. The third and fourth columns represent the error rate and sparsity.

一行目および二行目は、従来技術を用いた場合の誤答率およびスパーシティを示す。一行目はクライアント端末110でラッソ回帰を行わない場合を表し、二行目はクライアント端末110でラッソ回帰を行う場合を表す。なお、従来技術ではサーバ側で重み係数の推定を行わないため、サーバ側は「No」になっている。 The first and second rows show the error rate and sparsity when using conventional technology. The first row represents the case where lasso regression is not performed on client terminal 110, and the second row represents the case where lasso regression is performed on client terminal 110. Note that in conventional technology, weight coefficient estimation is not performed on the server side, so the server side shows "No".

三行目、四行目、五行目、および六行目は、実施形態1を用いた場合の検証結果を示す。三行目は、クライアント端末110およびサーバ120の両方がラッソ回帰を行わない場合を表す。四行目は、クライアント端末110がラッソ回帰を行い、サーバ120がラッソ回帰を行わない場合を表す。五行目は、クライアント端末110がラッソ回帰を行わず、サーバ120がラッソ回帰を行う場合を表す。六行目は、クライアント端末110がラッソ回帰を行い、サーバ120がラッソ回帰を行う場合を示す。 Lines 3, 4, 5, and 6 show the verification results when using Embodiment 1. Line 3 represents the case where neither the client terminal 110 nor the server 120 performs Lasso regression. Line 4 represents the case where the client terminal 110 performs Lasso regression, but the server 120 does not. Line 5 represents the case where the client terminal 110 does not perform Lasso regression, but the server 120 does. Line 6 represents the case where both the client terminal 110 and the server 120 perform Lasso regression.

図6を参照すると、サーバ120がラッソ回帰を用いた場合のスパーシティが高く、機械学習モデルをスパースにできることがわかる。 Referring to Figure 6, it can be seen that server 120 has high sparsity when using Lasso regression, indicating that the machine learning model can be made sparse.

上述したプログラムは、コンピュータに読み込まれた場合に、1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。 The program described above includes a set of instructions (or software code) that, when loaded into a computer, causes the computer to perform one or more functions. The program may be stored on a non-temporary computer-readable medium or a physical storage medium. Examples, but not limited to, include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drives (SSDs), or other memory technologies, CD-ROMs, digital versatile discs (DVDs), Blu-ray® discs, or other optical disc storage, magnetic cassettes, magnetic tapes, magnetic disk storage, or other magnetic storage devices. The program may be transmitted over a temporary computer-readable medium or a communication medium. Examples, but not limited to, include electrical, optical, acoustic, or other forms of propagating signals.

なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。 Furthermore, this disclosure is not limited to the embodiments described above, and may be modified as appropriate without departing from its intent.

100 学習システム
110、110_1、110_2、110_3 クライアント端末
120 サーバ
10、10_1、10_2、10_3 家屋
20、20_1、20_2、20_3 学習データ
31~34、41~44、51~54、61~64、71~76、81~86 グラフ
90 表
100 Learning system 110, 110_1, 110_2, 110_3 Client terminal 120 Server 10, 10_1, 10_2, 10_3 House 20, 20_1, 20_2, 20_3 Learning data 31-34, 41-44, 51-54, 61-64, 71-76, 81-86 Graph 90 Table

Claims (4)

複数のクライアント端末とサーバを備える学習システムであって、
各クライアント端末が、
機械学習モデルの重み係数を学習し、前記重み係数からなるベクトルとキーベクトルの内積を前記サーバに送信し、
前記サーバが、
前記複数のクライアント端末からそれぞれ受信した前記内積に基づいて、前記機械学習モデルの重み係数を最適化し、
前記サーバは、
前記キーベクトルを独立変数とし、前記内積を従属変数とする線形回帰を行うことで、前記機械学習モデルの重み係数を最適化する、
学習システム。
A learning system comprising multiple client terminals and a server,
Each client terminal
The machine learning model learns the weight coefficients, and sends the dot product of the vector consisting of the weight coefficients and the key vector to the server.
The aforementioned server,
Based on the dot product received from each of the aforementioned client terminals, the weight coefficients of the machine learning model are optimized .
The aforementioned server,
The weight coefficients of the machine learning model are optimized by performing a linear regression with the key vector as the independent variable and the inner product as the dependent variable.
Learning system.
前記サーバは、ロバスト回帰またはラッソ回帰を行う、
請求項1に記載の学習システム。
The server performs robust regression or lasso regression.
The learning system according to claim 1.
各クライアント端末が、機械学習モデルの重み係数を学習し、前記重み係数からなるベクトルとキーベクトルの内積をサーバに送信するステップと、
前記サーバが、複数のクライアント端末からそれぞれ受信した前記内積に基づいて、前記機械学習モデルの重み係数を最適化するステップと、
を含み、
前記最適化するステップは、
前記キーベクトルを独立変数とし、前記内積を従属変数とする線形回帰を行うことで、前記機械学習モデルの重み係数を最適化する、
学習方法。
Each client terminal learns the weight coefficients of the machine learning model and sends the dot product of the vector consisting of the weight coefficients and the key vector to the server.
The server optimizes the weight coefficients of the machine learning model based on the dot products received from each of the multiple client terminals.
Includes,
The aforementioned optimization step is,
The weight coefficients of the machine learning model are optimized by performing a linear regression with the key vector as the independent variable and the inner product as the dependent variable.
Learning methods.
コンピュータに、
機械学習モデルの重み係数からなるベクトルとキーベクトルの内積を各クライアント端末から受信する処理と、
複数のクライアント端末からそれぞれ受信した前記内積に基づいて、前記機械学習モデルの重み係数を最適化する処理と、
を実行させ
前記最適化する処理は、
前記キーベクトルを独立変数とし、前記内積を従属変数とする線形回帰を行うことで、前記機械学習モデルの重み係数を最適化する、
プログラム。
On the computer,
The process involves receiving the dot product of the weight coefficients vector of the machine learning model and the key vector from each client terminal,
A process to optimize the weight coefficients of the machine learning model based on the dot product received from each of the multiple client terminals,
Make it run ,
The aforementioned optimization process is:
The weight coefficients of the machine learning model are optimized by performing a linear regression with the key vector as the independent variable and the inner product as the dependent variable.
program.
JP2022157754A 2022-09-30 2022-09-30 Learning systems, learning methods, and programs Active JP7832872B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022157754A JP7832872B2 (en) 2022-09-30 2022-09-30 Learning systems, learning methods, and programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022157754A JP7832872B2 (en) 2022-09-30 2022-09-30 Learning systems, learning methods, and programs

Publications (2)

Publication Number Publication Date
JP2024051536A JP2024051536A (en) 2024-04-11
JP7832872B2 true JP7832872B2 (en) 2026-03-18

Family

ID=90622701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022157754A Active JP7832872B2 (en) 2022-09-30 2022-09-30 Learning systems, learning methods, and programs

Country Status (1)

Country Link
JP (1) JP7832872B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022533265A (en) 2019-05-23 2022-07-21 グーグル エルエルシー Fully attention computer vision
WO2022168257A1 (en) 2021-02-05 2022-08-11 日本電気株式会社 Federated learning system, federated learning device, federated learning method, and federated learning program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022533265A (en) 2019-05-23 2022-07-21 グーグル エルエルシー Fully attention computer vision
WO2022168257A1 (en) 2021-02-05 2022-08-11 日本電気株式会社 Federated learning system, federated learning device, federated learning method, and federated learning program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Chengxi Li et.al.,Communication-Efficient Federated Learning Based on Compressed Sensing,IEEE Internet of Things Journal,IEEE,2021年10月15日,Vol.8, No.20,P.15531-15541

Also Published As

Publication number Publication date
JP2024051536A (en) 2024-04-11

Similar Documents

Publication Publication Date Title
EP3639206B1 (en) Systems and methods for compression and distribution of machine learning models
US10474430B2 (en) Mixed-precision processing elements, systems, and methods for computational models
JP5968484B1 (en) Share recovery system, share recovery method, and program
US11947682B2 (en) ML-based encrypted file classification for identifying encrypted data movement
CN111695415A (en) Construction method and identification method of image identification model and related equipment
JP2019080232A (en) Gradient compression device, gradient compression method and program
WO2018068421A1 (en) Method and device for optimizing neural network
JP7414357B2 (en) Text processing methods, apparatus, devices and computer readable storage media
CN110071798A (en) A kind of equivalent key acquisition methods, device and computer readable storage medium
CN115329981B (en) A federated learning method that is efficient in communication, protects privacy, and is resistant to attacks.
CN113377797A (en) Method, device and system for jointly updating model
WO2022064656A1 (en) Processing system, processing method, and processing program
US20220138494A1 (en) Method and apparatus for classification using neural network
Huai et al. Zerobn: Learning compact neural networks for latency-critical edge systems
CN115134114A (en) Longitudinal federated learning attack defense method based on discrete confusion self-encoder
JP7832872B2 (en) Learning systems, learning methods, and programs
CN119895433A (en) Training machine learning models and performing inferred operations of machine learning models using secure multiparty computing
CN117376446A (en) Data upload methods, devices, equipment and storage media
Chen et al. Rethinking Client-oriented Federated Graph Learning
CN116796481A (en) Social network key node identification method and system based on improved elastic model
CN115131196A (en) Image processing method, system, storage medium and terminal equipment
CN114223007B (en) Cross-replica reduction on networks with degenerate nodes
CN112949841A (en) Attention-based CNN neural network training method
CN115131228B (en) Image restoration method, system, storage medium and terminal equipment
US20220095071A1 (en) Applying directionality to audio by encoding input data

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20230809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230901

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20241028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20251223

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20260128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20260210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260306

R150 Certificate of patent or registration of utility model

Ref document number: 7832872

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150