WO2019022052A1 - 情報処理装置、システムおよび情報処理方法 - Google Patents

情報処理装置、システムおよび情報処理方法 Download PDF

Info

Publication number
WO2019022052A1
WO2019022052A1 PCT/JP2018/027629 JP2018027629W WO2019022052A1 WO 2019022052 A1 WO2019022052 A1 WO 2019022052A1 JP 2018027629 W JP2018027629 W JP 2018027629W WO 2019022052 A1 WO2019022052 A1 WO 2019022052A1
Authority
WO
WIPO (PCT)
Prior art keywords
medium
update amount
learning model
data
actual data
Prior art date
Application number
PCT/JP2018/027629
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 プラスマン合同会社
Publication of WO2019022052A1 publication Critical patent/WO2019022052A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Definitions

  • the present invention relates to an information processing apparatus, system, and information processing method for machine learning.
  • Machine learning is utilized in various fields such as natural language processing, image recognition and speech recognition, medical diagnosis, data analysis, marketing, and the like.
  • the main purpose of machine learning is to calibrate a machine learning model that produces an output from input data.
  • the quality of machine learning models is assessed by whether this result is appropriate.
  • prepare data that already knows the appropriate result for the input data and update the parameters of the machine learning model so that the appropriate result is output for that data To be done.
  • Data used to train such a machine learning model is also referred to as training data.
  • Patent Document 1 describes a model update method for speech recognition.
  • voice acquired by a client device such as a mobile phone is transmitted to a server device, and voice recognition using a learning model is executed in the server device.
  • the speech recognition results are sent to the client device, which obtains feedback from the user on the speech recognition results.
  • Feedback is sent to the server device.
  • the server device extracts the correct part of the speech recognition result based on the feedback, and updates the learning model using the data of the correct part.
  • the quality of the learning model can be effectively improved.
  • the quality of the learning model in machine learning is greatly influenced by the quality and quantity of training data.
  • actual data collected from an actual user or the like can be used as training data, it is expected that the quality of the learning model will be significantly improved.
  • Such actual data includes, for example, a combination of an image actually taken by examination and a diagnosis result in medical diagnosis, a combination of an attribute of a real consumer in marketing and a product actually purchased, and the like.
  • the present invention does not transfer the actual data available as training data for the learning model from the holder's source, and therefore does not violate the privacy inherent in the actual data, while using the actual data. It is an object of the present invention to provide a new and improved information processing apparatus, system, and information processing method for machine learning, which makes it possible to improve the quality of a learning model by executing the training of the existing learning model. .
  • learning through a model acquisition unit acquiring a learning model including at least one parameter from an external device through a first medium, and learning through a second medium independent of the first medium
  • a data acquisition unit that acquires actual data that can be used as training data for the model
  • an update amount calculation unit that calculates an update amount of a parameter based on a result of training a learning model using the actual data
  • An information processing apparatus comprising: an update amount providing unit that provides an update amount to an external device via a third medium independent of the medium.
  • a model holding unit for holding a learning model including at least one parameter, a model providing unit for providing a learning model to an external device through a first medium, and a learning model. And an update amount acquisition unit for acquiring an update amount of a parameter calculated based on a result of training a learning model using actual data available as the training data of the second data from the external device via the second medium, and the update amount And a parameter update processing unit that updates at least a part of the parameters based on the above.
  • the first medium and the second medium are independent of the third medium with which the external device is used to acquire actual data.
  • a system including a client device and a server device.
  • the client device receives a learning model including at least one parameter from the server device via the first medium, and a learning model via the second medium independent of the first medium.
  • a data acquisition unit that acquires actual data that can be used as training data for a subject
  • an update amount calculation unit that calculates an update amount of a parameter based on a result of training a learning model using the actual data
  • a second medium And an update amount providing unit that provides the server device with the update amount via a third medium independent of the above.
  • the server device acquires the update amount from the client device via the third medium, and a model providing unit for holding the learning model, providing the learning device to the client device via the first medium, and the third medium. And a parameter update processing unit that updates at least a part of the parameter based on the update amount.
  • an information processing method implemented in a system including a client device and a server device.
  • the information processing method includes the steps of: providing a learning model including at least one parameter from the server device to the client device via the first medium; and a processor of the client device can use as training data for the learning model Acquiring actual data via a second medium independent of the first medium; and a processor of the client device calculating an update amount of the parameter based on a result of training a learning model using the actual data.
  • learning is performed by executing training of a learning model using the actual data without transferring the actual data available as training data for the learning model from the source of the holder.
  • the quality of the model can be improved.
  • FIG. 1 shows an example of a system according to an embodiment of the present invention. It is a block diagram which shows the structure of the system shown by FIG. It is a figure for demonstrating notionally the update of the learning model in the system shown by FIG. 1 and FIG. It is a flowchart which shows the example of the process in one Embodiment of this invention. It is a block diagram showing the hardware constitutions of an example computer.
  • FIG. 1 is a diagram showing an example of a system according to an exemplary embodiment of the present invention.
  • the system 10 includes a server device 100, and client devices 300a, 300b, 300c,.
  • the server device 100 is connected to the client devices 300 a, 300 b, 300 c,... Via the external network 200.
  • the external network 200 includes, for example, the Internet.
  • the external network 200 is used as a first medium for transmitting the learning model from the server device 100 to the client device 300 and as a third medium for transmitting the update amount from the client device 300 to the server device 100. .
  • the client devices 300a, 300b, 300c,... are installed at different places. Specifically, the client device 300a the location S 1, the client device 300b is the location S 2, the client device 300c to a location S 3, are installed respectively.
  • the places S 1 , S 2 and S 3 are places that hold actual data that can be used as training data for a learning model, specifically, for example, a hospital or a business place.
  • the client devices 300a, 300b, 300c,... Can acquire actual data stored in the places S 1 , S 2 , S 3 ,.
  • the second medium used by the client devices 300a, 300b, 300c,... To acquire actual data is the first and third mediums described above, that is, the external network 200. be independent.
  • the client device 300 a is an internal server disposed in the place S 1 , and is connected via the internal network 301 to the terminal 302 that holds the actual data collected at the place S 1 .
  • the internal network 301 includes, for example, a LAN (Local Area Network). Therefore, when training a learning model, which will be described later, the processor of the client device 300a executes processing for acquiring actual data held in the terminal 302 via the internal network 301 independent from the external network 200.
  • LAN Local Area Network
  • Client device 300b is a terminal that is located where S 2, holds the actual data collected at the location S 2 to its storage.
  • the storage of the client device 300 b is not set to be freely accessible via the external network 200. Therefore, in training a learning model described later, the processor of the client device 300b executes processing for acquiring actual data from storage via an internal transmission path such as a bus interface independent of the external network 200. .
  • Client device 300c is the terminal that is located where S 3, the other terminal holding actual data collected where S 3 is not connected.
  • the actual data is recorded in the removable media 303 by another terminal, and the client device 300 c reads the actual data from the removable media 303. Therefore, when training a learning model described later, the processor of the client device 300c executes processing for acquiring actual data via the removable media 303 independent of the external network 200.
  • client device 300 the client devices 300a, 300b, and 300c (hereinafter collectively referred to as client device 300) shown in FIG. 1 are merely examples, and various other client device 300 configurations are possible.
  • the client apparatus 300 acquires actual data via a medium (internal network 301, internal transmission path, and removable medium 303) independent of the external network 200 connected to the server apparatus 100.
  • the actual data leaks out of the places S 1 , S 2 , and S 3 through the external network 200 unless the client device 300 explicitly executes the process of transmitting the actual data through the external network 200. There is nothing to do.
  • FIG. 2 is a block diagram showing the configuration of the system shown in FIG.
  • the server apparatus 100 includes a storage 110, a model transmission unit 120, an update amount reception unit 130, and a parameter update processing unit 140.
  • the client device 300 includes a model reception unit 310, a data acquisition unit 320, an update amount calculation unit 330, an update amount transmission unit 340, and a verification processing unit 350. The functions of each part will be described below.
  • the storage 110 functions as a model holding unit, and holds a learning model 111.
  • the learning model 111 is, for example, a machine learning model such as a linear regression model, a general linearization model, a logistic regression model, a support vector machine, a decision tree, a random forest, a neural network, and a convolutional neural network. And includes at least one parameter P.
  • the model transmission unit 120 includes, for example, the function of a processor that reads data from the storage 110 and the function of a communication device that transmits data via the external network 200, and transmits the learning model 111 to the client device 300.
  • the update amount reception unit 130 includes a function of a communication device that receives data via the external network 200, and receives an update amount described later from the client device 300.
  • the parameter update processing unit 140 includes a function of a processor that updates data of the storage 110, and updates at least a part of the parameter P based on the update amount received by the update amount reception unit 130.
  • the model reception unit 310 includes the function of a communication device that receives data via the external network 200, and receives the learning model 111 transmitted from the server device 100.
  • the data acquisition unit 320 includes a function of acquiring actual data via various media as described with reference to FIG. Specifically, for example, the data acquisition unit 320 has a function of a communication device for receiving data on the internal network 301 in the client device 300a, a function of a processor for reading data from storage via the bus interface in the client device 300b, or a client It includes the function of a driver that reads data from the removable media 303 in the device 300c.
  • the update amount calculation unit 330 includes the arithmetic function of the processor, and uses the actual data acquired by the data acquisition unit 320 to execute training of the learning model 111 received by the model reception unit 310. In addition, the update amount calculation unit 330 may execute preprocessing for using actual data for training of the learning model 111. Further, the update amount calculation unit 330 calculates the update amount of the parameter P of the learning model 111 based on the result of the training.
  • the update amount transmission unit 340 includes the function of a communication device that transmits data via the external network 200, and transmits the update amount calculated by the update amount calculation unit 330 to the server device 100.
  • the verification processing unit 350 provided as necessary includes the arithmetic function of the processor and verifies that the actual data can not be restored from the update amount calculated by the update amount calculation unit 330.
  • the verification processing unit 350 verifies from the learning model 111, the parameter P thereof, and the calculated update amount whether or not the actual data as the source can not be partially or completely restored. .
  • the verification processing unit 350 may have a function of determining whether or not the threshold value regarding the recoverability of all or part of the attributes of actual data is exceeded. For example, when it is possible to determine that at least one of the 100 actual data contains very rare data, such as a rare disease case, it is assumed that the data number of the rare disease case is 5 or less. The determination of may be made.
  • the verification result by the verification processing unit 350 is used as a transmission permission for the update amount transmission unit 340 to transmit data via the external network 200, and, for example, to the user of the client apparatus 300 via an output device such as a display. It is output to the direction.
  • FIG. 3 is a diagram for conceptually explaining update of a learning model in the system shown in FIGS. 1 and 2.
  • the learning model 111 held in the server device 100 is transmitted to the client device 300.
  • the parameters P of the learning model 111 include the parameters P 1 , P 2 , P 3 ,... P n .
  • the update amount calculation unit 330 of the client device 300 calculates the update amount ⁇ P of the parameter P based on the result of training such a learning model 111 using the actual data 321.
  • the actual data 321 or data obtained by preprocessing of the actual data 321 includes one or more data sets including input data of the learning model 111 and an output expected for the input data.
  • the training of the learning model 111 is performed, for example, by updating the parameter P based on the difference between the output of the learning model 111 for the input data and the expected output when the output is different from the expected output.
  • the parameter P 1 is updated to P 1 ′
  • the parameter P 3 is updated to P 3 ′
  • the parameter P n is updated to P n ′.
  • Parameter may be a not updated as parameter P 2.
  • the learning model 111 ′ in which the parameter P is updated can output a valid result for more data including the actual data 321.
  • the update amount ⁇ P calculated in this manner is transmitted from the client device 300 to the server device 100 as described above.
  • the update amount [Delta] P is, (P 1 and P 1 of the update amount [Delta] P 1 parameter P 1 '(the difference between the difference between), P 3 and P 3) update amount [Delta] P 3 parameters P 3' and a parameter P n of the update amount [Delta] P n (P n and the difference between P n ').
  • the training of the machine learning model is usually transmitted from the client device 300 to the server device 100, as calculated using the gradient method, the Levenberg-Markert method, the quasi-Newton method, and other numerical optimization algorithms.
  • the update data may not be the update amount ⁇ P itself, but may be numerical information for calculating the update amount ⁇ P from the numerical calculation algorithm, such as the derivative of the parameter P and the Hessian.
  • the data transmitted from the client device 300 to the server device 100 may be the updated parameter P ′ instead of the update amount ⁇ P, or may be a learning model itself in which the updated parameter P ′ is set.
  • the parameter update processing unit 140 of the server device 100 updates the parameter P of the learning model 111 based on the update amount ⁇ P.
  • the system 10 includes a plurality of client devices 300a, 300b, 300c,... Installed in different places S 1 , S 2 , S 3 ,. . Therefore, as described below, based on the result of integration with the update amount ⁇ P transmitted from each of the plurality of client apparatuses 300, the parameter update processing unit 140 holds the parameter of the learning model 111 held in the server apparatus 100. P may be updated.
  • the parameter update processing unit 140 performs the update transmitted from each of the client devices 300.
  • the quantity ⁇ P may be weighted.
  • the parameter update processing unit 140 may weight the update amount ⁇ P in accordance with the tendency of the update amount ⁇ P transmitted from each of the client devices 300. For example, when the update amount ⁇ P is regarded as a vector, it is assumed that the distance between the update amount ⁇ P transmitted from a certain client device 300 and the update amount ⁇ P transmitted from another client device 300 is extremely large.
  • the update amount ⁇ P transmitted from the client device 300 is calculated based on the result of training the learning model 111 using the actual data 321 of the special condition, and it is valid for many general data. It may not necessarily contribute to outputting the result. In such a case, the parameter update processing unit 140 may make the weight of the update amount ⁇ P smaller than the update amount ⁇ P transmitted from another client device.
  • the processing in the verification processing unit 350 is based on a certain standard. By making transmission impossible, identification of a part of actual data using inference and other information can be substantially made impossible. Therefore, the transmission of the update amount ⁇ P from the client device 300 to the server device 100 is no longer in the transmission of the actual data 321. Therefore, in the above example, the actual data 321 can be regarded as not transferred from the source of the holder.
  • FIG. 4 is a flowchart showing an example of processing in an embodiment of the present invention.
  • the model transmission unit 120 transmits the learning model 111 to the client apparatus 300 via the external network 200 (step S101).
  • the model reception unit 310 receives the learning model 111 (step S102).
  • the data acquisition unit 320 acquires the actual data 321 via various media as described above with reference to FIG. 1 (step S103). Acquisition of the actual data 321 is repeated until a predetermined number of data sets are acquired (step S104).
  • steps S101 and S102 and steps S103 and S104 are performed is arbitrary. That is, the actual data 321 may be acquired after the learning model is transmitted from the server apparatus 100 to the client apparatus 300, or the learning model may be transmitted after the actual data 321 is acquired. May be executed.
  • the update amount calculation unit 330 executes training of the learning model 111 using the acquired actual data 321, and the training result is obtained.
  • the update amount ⁇ P of the parameter P is calculated on the basis of the parameter P (step S105).
  • the verification processing unit 350 verifies that the actual data 321 can not be restored from the update amount ⁇ P (step S106).
  • the update amount transmission unit 340 transmits the update amount ⁇ P to the server apparatus 100 via the external network 200 ( Step S108).
  • step S107 when transmission of the update amount ⁇ P is not permitted in step S107, the process returns to step S103, and the actual data 321 is additionally acquired.
  • the actual data 321 can be restored from the update amount ⁇ P because the number of data sets included in the actual data 321 is small, or the data sets included in the actual data 321 have common or similar features. Therefore, when the actual data 321 can be restored from the update amount ⁇ P, the actual data 321 is restored from the update amount ⁇ P by calculating the update amount ⁇ P again based on the actual data 321 including the additional data set. There is a possibility that the update amount ⁇ P can be transmitted to the server device 100.
  • the parameter update processing unit 140 sets the parameter P of the learning model 111 held in the storage 110 to the received update amount ⁇ P. It updates based on (step S110). As described above, the parameter update processing unit 140 may update the parameter P based on the result of integrating the update amounts ⁇ P transmitted from the plurality of client devices 300. The processes in steps S101 to S110 are repeated until a predetermined ending condition is satisfied (step S111).
  • the client device 300 transmits the number of data sets included in the actual data 321 used when calculating the update amount ⁇ P together with the update amount ⁇ P to the server device 100, and the server device 100 transmits this data
  • the number of sets may be aggregated.
  • the client device 300 is connected to the server device 100 via the external network 200, and receives the learning model 111 from the server device 100.
  • the client device 300 acquires actual data 321 via a medium (for example, the internal network 301, the internal transmission path, and the removable medium 303) independent of the external network 200.
  • the client device 300 performs training of the learning model 111 using the actual data 321, but since the actual data 321 is held inside the client device 300 at this time, it does not flow out to the external network 200.
  • the client device 300 transmits the update amount ⁇ P of the parameter P of the learning model 111 based on the result of the training to the server device 100 via the external network 200, but as described above, the original actual data 321 is updated from the update amount ⁇ P.
  • the transmission of the update amount ⁇ P does not correspond to the transfer of the actual data 321 since it is substantially impossible to restore.
  • the parameter P of the learning model 111 is updated based on the update amount ⁇ P, thereby reflecting the result of the training using the above real data 321 in the learning model 111. Quality can be improved.
  • FIG. 5 is a block diagram showing an exemplary computer hardware configuration.
  • the information processing apparatus 900 illustrated in FIG. 5 functions as, for example, the server apparatus 100 and the client apparatus 300 described above with reference to FIGS. 1 and 2.
  • the information processing apparatus 900 may be, for example, a terminal device such as a personal computer, a tablet, or a smartphone, or may be a server computer installed in a data center or the like.
  • the functions of the information processing apparatus 900 may not necessarily be realized physically in a single apparatus, for example, by integrating resources of a plurality of apparatuses connected via a network. It is also good.
  • the configuration of each part of the information processing apparatus 900 will be described below.
  • the information processing apparatus 900 includes a processor 901, a memory 903, an input device 905, an output device 907, and a bus interface 909. Furthermore, the information processing device 900 may include a storage 911, a drive 913, a connection port 915, and a communication device 917.
  • the processor 901 is, for example, a processing circuit such as a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), and / or a field-programmable gate array (FPGA). Composed of The processor 901 controls the operation of the information processing apparatus 900 according to a program recorded in the memory 903, the storage 911, or the removable medium 919.
  • CPU central processing unit
  • GPU graphics processing unit
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field-programmable gate array
  • the memory 903 includes, for example, a read only memory (ROM) and a random access memory (RAM).
  • the ROM stores, for example, a program for the processor 901, operation parameters, and the like.
  • the RAM temporarily stores, for example, a program developed at the time of execution of the processor 901, parameters at the time of execution of the program, and the like.
  • the input device 905 is, for example, a device operated by the user, such as a mouse, a keyboard, a touch panel, a button, or various switches.
  • the input device 905 may not necessarily be integrated with the information processing apparatus 900, and may be, for example, a remote controller that transmits a control signal by wireless communication.
  • the input device 905 includes an input control circuit that generates an input signal based on the information input by the user and outputs the signal to the processor 901.
  • the output device 907 is configured of a device capable of outputting information to the user using senses such as vision, hearing, and touch.
  • the output device 907 can include, for example, a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display, an audio output device such as a speaker or a headphone, or a vibrator.
  • the output device 907 outputs the result obtained by the processing of the information processing apparatus 900 as video such as text or image, voice such as audio or sound, or vibration.
  • the storage 911 is configured of, for example, a magnetic storage device such as a hard disk drive (HDD), a semiconductor storage device, an optical storage device, or a magneto-optical storage device.
  • the storage 911 stores, for example, a program for the processor 901, various data read out at the time of execution of the program, or generated by the execution of the program, various data acquired from the outside, and the like.
  • the drive 913 is a reader / writer for removable media 919 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the drive 913 may read the information recorded on the mounted removable medium 919 and output the read information to the memory 903.
  • the drive 913 may write various data to the attached removable media 919.
  • the connection port 915 is a port for connecting the externally connected device 921 to the information processing apparatus 900.
  • the connection port 915 may include, for example, a Universal Serial Bus (USB) port, an IEEE 1394 port, a Small Computer System Interface (SCSI) port, and the like.
  • the connection port 915 may include an RS-232C port, an optical audio terminal, an HDMI (registered trademark) (High-Definition Multimedia Interface) port, and the like.
  • the communication device 917 is connected to the network 923.
  • the network 923 may be an open communication network to which an unspecified number of devices such as the Internet are connected. For example, a limited number of devices such as Bluetooth (registered trademark), for example, two devices may be connected. It may be a closed communication network connected.
  • the communication device 917 may include, for example, a communication card for LAN (Local Area Network), Bluetooth (registered trademark), Wi-Fi, or WUSB (Wireless USB).
  • the communication device 917 transmits and receives signals or data to and from other devices using a predetermined protocol corresponding to the network 923.
  • each component of the information processing apparatus 900 exemplarily described above may be configured using a general-purpose member, or is configured by hardware specialized for the function of each component. May be Further, those skilled in the art can appropriately change the configuration of the information processing apparatus 900 as described above according to the level of technology to be implemented.
  • the first medium for transmitting the learning model from the server device to the client device and the third medium for transmitting the update amount from the client device to the server device are the same.
  • these media may be different from one another.
  • removable media may be used for transmitting the update amount from the client apparatus to the server apparatus.
  • both the learning model and the update amount may be exchanged between the server device and the client device using removable media. In this case, the client device can be disconnected from the external network to more reliably prevent the actual data from being leaked.
  • data such as a learning model and an update amount may not necessarily be transmitted and received using a communication line, and may be physically moved using, for example, a removable medium.
  • the processes described as transmitting and receiving in the above embodiments may be reworded as providing and obtaining in other embodiments.
  • Embodiments of the present invention may include, for example, an information processing apparatus, a system including a plurality of information processing apparatuses, an information processing method, a program for causing the information processing apparatus to function, and a medium having the program recorded thereon.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本発明のある観点によれば、第1の媒体を介して外部装置から少なくとも1つのパラメータを含む学習モデルを取得するモデル取得部と、第1の媒体から独立した第2の媒体を介して学習モデルのための訓練データとして利用可能な実データを取得するデータ取得部と、実データを用いて学習モデルを訓練した結果に基づいてパラメータの更新量を算出する更新量算出部と、第2の媒体から独立した第3の媒体を介して更新量を外部装置に提供する更新量提供部とを備える情報処理装置が提供される。

Description

情報処理装置、システムおよび情報処理方法
 本発明は、機械学習のための情報処理装置、システムおよび情報処理方法に関する。
 機械学習は、例えば自然言語処理、画像認識や音声認識、医療診断、データ分析、マーケティングなど様々な分野で活用されている。一般的に、機械学習の主要な目的は、入力されるデータから出力を生成する機械学習モデルを較正することにある。機械学習モデルの品質は、この結果が適切であるか否かによって評価される。機械学習モデルの品質を向上させるために、例えば、入力データに対する適切な結果が既にわかっているデータを用意し、そのデータに対して適切な結果が出力されるように機械学習モデルのパラメータを更新することが行われる。このような機械学習モデルの訓練に用いられるデータを訓練データともいう。
 このような機械学習に関連する技術として、例えば、特許文献1には、音声認識のモデル更新方法が記載されている。この方法では、携帯電話などのクライアント装置が取得した音声がサーバ装置に送信され、サーバ装置において学習モデルを用いた音声認識が実行される。音声認識の結果はクライアント装置に送信され、クライアント装置は音声認識の結果に対するユーザからのフィードバックを取得する。フィードバックはサーバ装置に送信される。サーバ装置は、フィードバックに基づいて音声認識の結果のうちの正解部分を抽出し、正解部分のデータを利用して学習モデルを更新する。
 上記のような構成によれば、実際のユーザの音声と正しい音声認識の結果との組み合わせを訓練データとして利用することができるため、学習モデルの品質を効果的に向上させることができる。このように、機械学習における学習モデルの品質は、訓練データの質および量に大きく影響される。例えば、実際のユーザなどから収集された実データを訓練データとして利用することができれば、学習モデルの品質は著しく向上することが期待される。このような実データは、例えば、医療診断における実際に検査で撮影された画像と診断結果との組み合わせや、マーケティングにおける実在する消費者の属性と実際に購買された商品との組み合わせなどを含む。
特開2010-048890号公報
 しかしながら、上記のような実データは、必ずしも学習モデルのための訓練データとして利用可能であるとは限らない。例えば、医療診断において撮影された画像や診断結果は患者の個人情報であり、実在する消費者の属性や実際に購買した商品もまた、消費者の個人情報である。このような個人情報は、本人が流出を望まない情報である可能性が高いのみならず、個人情報を管理する病院や事業者にとっても、法規上の、またはモラル上の理由から第三者への提供には慎重にならざるを得ない情報である。
 この結果、医療診断やマーケティングなどの個人に関わる情報を扱う分野では、訓練データとして利用可能な実データを個別の病院や事業者が保有しているにもかかわらず、機械学習のサービスを提供する第三者がそのデータを収集することができず、また個別の病院や事業者の間でデータを共有することもできず、結果として訓練データの質および量が十分でないために学習モデルの品質を十分に向上させられない場合があった。
 そこで、本発明は、学習モデルのための訓練データとして利用可能な実データを保有者の元から移転させることなく、したがって実データに内在するプライバシーを侵すことをしない一方で、当該実データを用いた学習モデルの訓練を実行することで学習モデルの品質を向上させることを可能にする、新規かつ改良された機械学習のための情報処理装置、システムおよび情報処理方法を提供することを目的とする。
 本発明のある観点によれば、第1の媒体を介して外部装置から少なくとも1つのパラメータを含む学習モデルを取得するモデル取得部と、第1の媒体から独立した第2の媒体を介して学習モデルのための訓練データとして利用可能な実データを取得するデータ取得部と、実データを用いて学習モデルを訓練した結果に基づいてパラメータの更新量を算出する更新量算出部と、第2の媒体から独立した第3の媒体を介して更新量を外部装置に提供する更新量提供部とを備える情報処理装置が提供される。
 本発明の別の観点によれば、少なくとも1つのパラメータを含む学習モデルを保持するモデル保持部と、学習モデルを第1の媒体を介して外部装置に提供するモデル提供部と、学習モデルのための訓練データとして利用可能な実データを用いて学習モデルを訓練した結果に基づいて算出されたパラメータの更新量を、第2の媒体を介して外部装置から取得する更新量取得部と、更新量に基づいてパラメータの少なくとも一部を更新するパラメータ更新処理部とを備える情報処理装置が提供される。この情報装置において、第1の媒体および第2の媒体は、外部装置が実データを取得するために用いられる第3の媒体から独立している。
 本発明のさらに別の観点によれば、クライアント装置およびサーバ装置を含むシステムが提供される。このシステムにおいて、クライアント装置は、第1の媒体を介してサーバ装置から少なくとも1つのパラメータを含む学習モデルを取得するモデル取得部と、第1の媒体から独立した第2の媒体を介して学習モデルのための訓練データとして利用可能な実データを取得するデータ取得部と、実データを用いて学習モデルを訓練した結果に基づいてパラメータの更新量を算出する更新量算出部と、第2の媒体から独立した第3の媒体を介して更新量をサーバ装置に提供する更新量提供部とを備える。また、サーバ装置は、学習モデルを保持するモデル保持部と、学習モデルを第1の媒体を介してクライアント装置に提供するモデル提供部と、第3の媒体を介してクライアント装置から更新量を取得する更新量取得部と、更新量に基づいてパラメータの少なくとも一部を更新するパラメータ更新処理部とを備える。
 本発明のなおも別の観点によれば、クライアント装置およびサーバ装置を含むシステムにおいて実行される情報処理方法が提供される。情報処理方法は、少なくとも1つのパラメータを含む学習モデルを、第1の媒体を介してサーバ装置からクライアント装置に提供するステップと、クライアント装置のプロセッサが、学習モデルのための訓練データとして利用可能な実データを、第1の媒体から独立した第2の媒体を介して取得するステップと、クライアント装置のプロセッサが、実データを用いて学習モデルを訓練した結果に基づいてパラメータの更新量を算出するステップと、更新量を、第2の媒体から独立した第3の媒体を介してクライアント装置からサーバ装置に提供するステップと、サーバ装置が、更新量に基づいてパラメータの少なくとも一部を更新するステップとを含む。
 以上のような本発明の構成によって、学習モデルのための訓練データとして利用可能な実データを保有者の元から移転させることなく、当該実データを用いた学習モデルの訓練を実行することで学習モデルの品質を向上させることができる。
本発明の一実施形態に係るシステムの例を示す図である。 図1に示されたシステムの構成を示すブロック図である。 図1および図2に示されたシステムにおける学習モデルの更新について概念的に説明するための図である。 本発明の一実施形態における処理の例を示すフローチャートである。 例示的なコンピュータのハードウェア構成を示すブロック図である。
 以下、添付図面を参照しながら、本発明の例示的な実施形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 図1は、本発明の例示的な実施形態に係るシステムの例を示す図である。図1を参照すると、システム10は、サーバ装置100と、クライアント装置300a,300b,300c,・・・とを含む。サーバ装置100は、外部ネットワーク200を介してクライアント装置300a,300b,300c,・・・に接続されている。ここで、外部ネットワーク200は、例えばインターネットを含む。本実施形態では、この外部ネットワーク200が、サーバ装置100からクライアント装置300に学習モデルを送信する第1の媒体、およびクライアント装置300からサーバ装置100に更新量を送信する第3の媒体として用いられる。
 一方、クライアント装置300a,300b,300c,・・・は、それぞれ異なる場所に設置される。具体的には、クライアント装置300aは場所Sに、クライアント装置300bは場所Sに、クライアント装置300cは場所Sに、それぞれ設置される。場所S,S,Sは、学習モデルのための訓練データとして利用可能な実データを保有する場所、具体的には例えば病院や事業所である。クライアント装置300a,300b,300c,・・・は、場所S,S,S,・・・のそれぞれで保有されている実データを取得することができる。ただし、以下で説明するように、クライアント装置300a,300b,300c,・・・が実データを取得するのに用いる第2の媒体は、上記の第1および第3の媒体、すなわち外部ネットワーク200から独立している。
 クライアント装置300aは、場所Sに配置された内部サーバであり、内部ネットワーク301を介して、場所Sで収集された実データを保持する端末302に接続されている。内部ネットワーク301は、例えばLAN(Local Area Network)を含む。それゆえ、後述する学習モデルの訓練にあたり、クライアント装置300aのプロセッサは、外部ネットワーク200から独立した内部ネットワーク301を介して、端末302に保持されている実データを取得する処理を実行する。
 クライアント装置300bは、場所Sに配置された端末であり、自身のストレージに場所Sで収集された実データを保持している。ここで、クライアント装置300bのストレージは、外部ネットワーク200を介して自由にアクセスできるようには設定されていない。それゆえ、後述する学習モデルの訓練にあたり、クライアント装置300bのプロセッサは、外部ネットワーク200から独立したバスインターフェースのような内部伝送経路を介して、ストレージから実データを取得する処理を実行することになる。
 クライアント装置300cは、場所Sに配置された端末であるが、場所Sで収集された実データを保持している他の端末には接続されていない。実データは、他の端末でリムーバブルメディア303に記録され、クライアント装置300cはリムーバブルメディア303から実データを読み出す。それゆえ、後述する学習モデルの訓練にあたり、クライアント装置300cのプロセッサは、外部ネットワーク200から独立したリムーバブルメディア303を介して実データを取得する処理を実行する。
 なお、図1に示されたクライアント装置300a,300b,300c(以下、総称してクライアント装置300ともいう)は例にすぎず、他にも様々なクライアント装置300の構成が可能である。注目すべきは、クライアント装置300が、サーバ装置100に接続される外部ネットワーク200から独立した媒体(内部ネットワーク301、内部伝送経路、およびリムーバブルメディア303)を介して実データを取得する点である。これによって、クライアント装置300において明示的に外部ネットワーク200を介して実データを送信する処理が実行されない限り、実データが外部ネットワーク200を介して場所S,S,Sの外部に流出することはない。
 図2は、図1に示されたシステムの構成を示すブロック図である。図2を参照すると、サーバ装置100は、ストレージ110と、モデル送信部120と、更新量受信部130と、パラメータ更新処理部140とを含む。クライアント装置300は、モデル受信部310と、データ取得部320と、更新量算出部330と、更新量送信部340と、検証処理部350とを含む。以下、各部の機能について説明する。
 サーバ装置100において、ストレージ110は、モデル保持部として機能し、学習モデル111を保持している。学習モデル111は、例えば線形回帰モデル、一般線形化モデル、ロジスティック回帰モデル、サポート・ベクター・マシン、決定木、ランダムフォレスト、ニューラル・ネット・ワーク、および畳み込みニューラル・ネット・ワークなどの機械学習モデルであり、少なくとも1つのパラメータPを含む。モデル送信部120は、例えばストレージ110からデータを読み出すプロセッサの機能と、外部ネットワーク200を介してデータを送信する通信装置の機能とを含み、学習モデル111をクライアント装置300に送信する。更新量受信部130は、外部ネットワーク200を介してデータを受信する通信装置の機能を含み、後述する更新量をクライアント装置300から受信する。パラメータ更新処理部140は、ストレージ110のデータを更新するプロセッサの機能を含み、更新量受信部130が受信した更新量に基づいてパラメータPの少なくとも一部を更新する。
 一方、クライアント装置300において、モデル受信部310は、外部ネットワーク200を介してデータを受信する通信装置の機能を含み、サーバ装置100から送信された学習モデル111を受信する。データ取得部320は、図1を参照して説明したように各種の媒体を介して実データを取得する機能を含む。具体的には、例えば、データ取得部320は、クライアント装置300aにおいて内部ネットワーク301でデータを受信する通信装置の機能、クライアント装置300bにおいてバスインターフェースを介してストレージからデータを読み出すプロセッサの機能、またはクライアント装置300cにおいてリムーバブルメディア303からデータを読み出すドライバの機能を含む。
 また、クライアント装置300において、更新量算出部330は、プロセッサの演算機能を含み、データ取得部320が取得した実データを用いて、モデル受信部310が受信した学習モデル111の訓練を実行する。加えて、更新量算出部330は、実データを学習モデル111の訓練に利用するための前処理を実行してもよい。さらに、更新量算出部330は、訓練の結果に基づいて、学習モデル111のパラメータPの更新量を算出する。更新量送信部340は、外部ネットワーク200を介してデータを送信する通信装置の機能を含み、更新量算出部330によって算出された更新量をサーバ装置100に送信する。一方、必要に応じて設けられる検証処理部350は、プロセッサの演算機能を含み、更新量算出部330が算出した更新量から実データが復元不可能であることを検証する。
 具体的には、検証処理部350は、学習モデル111、そのパラメータP、および算出された更新量から、元になった実データが部分的または完全に復元不可能であるか否かを検証する。例えば、パラメータPの数が1であり、実データが100ある場合、パラメータPの更新量から実データを完全に復元することは数学的に不可能である。加えて、検証処理部350は、実データの全部または一部の属性に対して、その復元可能性に関する閾値を超えているか否かを判定する機能を持ってもよい。例えば、100ある実データのうち少なくとも1つに非常に稀なデータ、例えば希少疾患例が含まれることが判別可能な場合、当該希少疾患例のデータ数が5以下である場合は否とするなどの判定を行ってもよい。検証処理部350による検証結果は、更新量送信部340が外部ネットワーク200を介してデータを送信するための送信許可として利用されるほか、例えばディスプレイなどの出力装置を介してクライアント装置300のユーザに向けて出力される。
 図3は、図1および図2に示されたシステムにおける学習モデルの更新について概念的に説明するための図である。上述のように、システム10では、サーバ装置100において保持されている学習モデル111が、クライアント装置300に送信される。図示された例において、学習モデル111のパラメータPは、パラメータP,P,P,・・・Pを含む。クライアント装置300の更新量算出部330は、このような学習モデル111を実データ321を用いて訓練した結果に基づいてパラメータPの更新量ΔPを算出する。
 ここで、実データ321、または実データ321の前処理によって得られるデータは、学習モデル111の入力データと、当該入力データに対して期待される出力とを含む1または複数のデータセットからなる。学習モデル111の訓練は、例えば、入力データに対する学習モデル111の出力が期待される出力とは異なる場合に、それらの出力の差分に基づいてパラメータPを更新することによって実行される。図示された例では、パラメータPがP’に、パラメータPがP’に、パラメータPがP’に、それぞれ更新されている。パラメータPのように更新されないパラメータがあってもよい。このようにパラメータPを更新した学習モデル111’は、実データ321を含むより多くのデータに対して妥当な結果を出力することができる。
 このようにして算出された更新量ΔPは、上記で説明したようにクライアント装置300からサーバ装置100に送信される。図示された例において、更新量ΔPは、パラメータPの更新量ΔP(PとP’との差分)、パラメータPの更新量ΔP(PとP’との差分)、およびパラメータPの更新量ΔP(PとP’との差分)を含む。
 ここで、機械学習モデルの訓練は通常、勾配法、レーベンバーグ・マーカート法、準ニュートン法、およびその他の数値最適化アルゴリズムを利用して算出されるところ、クライアント装置300からサーバ装置100に送信されるデータは、更新量ΔPそのものではなく、パラメータPの微分係数およびヘッシアン等、当該数値計算アルゴリズムから更新量ΔPを算出するための数値情報でもよい。あるいは、クライアント装置300からサーバ装置100に送信されるデータは、更新量ΔPの替わりに更新後のパラメータP’でもよく、更新後のパラメータP’が設定された学習モデルそのものでもよい。
 サーバ装置100のパラメータ更新処理部140は、更新量ΔPに基づいて学習モデル111のパラメータPを更新する。なお、図1を参照して説明したように、システム10は互いに異なる場所S,S,S,・・・に設置された複数のクライアント装置300a,300b,300c,・・・を含む。従って、以下で説明するように、パラメータ更新処理部140は、複数のクライアント装置300からそれぞれ送信された更新量ΔPと統合した結果に基づいて、サーバ装置100において保持されている学習モデル111のパラメータPを更新してもよい。
 例えば、パラメータ更新処理部140は、それぞれのクライアント装置300で更新量ΔPを算出するために用いられた実データ321に含まれるデータセットの数に応じて、それぞれのクライアント装置300から送信された更新量ΔPを重みづけしてもよい。あるいは、パラメータ更新処理部140は、それぞれのクライアント装置300から送信された更新量ΔPの傾向に応じて、更新量ΔPに重みづけしてもよい。例えば、更新量ΔPをベクトルとしてみた場合に、あるクライアント装置300から送信された更新量ΔPと、他のクライアント装置300から送信された更新量ΔPとの間の距離が著しく大きかったとする。この場合、当該クライアント装置300から送信された更新量ΔPは、特殊な条件の実データ321を用いて学習モデル111を訓練した結果に基づいて算出されており、一般的な多くのデータについて妥当な結果を出力することには必ずしも寄与しない可能性がある。このような場合に、パラメータ更新処理部140は、更新量ΔPの重みを他のクライアント装置から送信された更新量ΔPに比べて小さくしてもよい。
 上記の例では、実データ321が単一のデータセットしか含んでいなかったとしても、更新量ΔPから実データ321のデータセットを復元することは必ずしも容易ではない。さらに、実データ321が複数のデータセットを含む場合には、更新量ΔPから実データ321に含まれていた個々のデータセットを復元することは不可能である。加えて、実データに非常に希少なデータが含まれていることにより実質的に当該データに関するプライバシーが侵される危険がある場合であっても、検証処理部350における処理によって一定の基準に基づいて送信不可とすることにより、推論やその他の情報を活用した実データの一部の特定を実質的に不可能とすることができる。従って、クライアント装置300からサーバ装置100への更新量ΔPの送信は、もはや実データ321の送信にはあたらない。従って、上記の例において実データ321はその保有者の元から移転していないとみなすことができる。
 図4は、本発明の一実施形態における処理の例を示すフローチャートである。図示された例では、まず、サーバ装置100において、モデル送信部120が、学習モデル111を、外部ネットワーク200を介してクライアント装置300に送信する(ステップS101)。クライアント装置300では、モデル受信部310が学習モデル111を受信する(ステップS102)。その一方で、クライアント装置300では、データ取得部320が上記で図1を参照して説明したような各種の媒体を介して実データ321を取得する(ステップS103)。実データ321の取得は、所定の数のデータセットが取得されるまで繰り返される(ステップS104)。
 なお、ステップS101,S102と、ステップS103,S104とが実行される順序は任意である。つまり、学習モデルがサーバ装置100からクライアント装置300に送信されてから実データ321が取得されてもよく、実データ321が取得されてから学習モデルが送信されてもよく、これらの処理が並行して実行されてもよい。
 クライアント装置300において、実データ321として所定の数のデータセットが取得されると、更新量算出部330が、取得された実データ321を用いて学習モデル111の訓練を実行し、訓練の結果に基づいてパラメータPの更新量ΔPを算出する(ステップS105)。さらに、図示された例では、検証処理部350が、更新量ΔPから実データ321が復元不可能であることを検証する(ステップS106)。検証処理部350による検証結果の出力を参照したクライアント装置300のユーザが、更新量ΔPの送信を許可する操作をクライアント装置300に与えた場合、または、検証処理部350が自動的に実データ321が復元不可能であるか否かを判断して更新量ΔPの送信を許可した場合(ステップS107)、更新量送信部340が外部ネットワーク200を介して更新量ΔPをサーバ装置100に送信する(ステップS108)。
 なお、図示された例では、ステップS107において更新量ΔPの送信が許可されなかった場合に、処理がステップS103に戻り、追加で実データ321が取得される。例えば、実データ321に含まれるデータセットの数が少ないために更新量ΔPから実データ321が復元可能であった場合や、実データ321に含まれるデータセットが共通または類似した特徴を有していたために更新量ΔPから実データ321が復元可能であった場合、追加のデータセットを含む実データ321に基づいて再び更新量ΔPを算出することによって、更新量ΔPから実データ321を復元することを不可能にし、更新量ΔPをサーバ装置100に送信できる可能性がある。
 サーバ装置100において、クライアント装置300から更新量ΔPが受信されると(ステップS109)、パラメータ更新処理部140が、ストレージ110において保持されている学習モデル111のパラメータPを受信された更新量ΔPに基づいて更新する(ステップS110)。上述の通り、パラメータ更新処理部140は、複数のクライアント装置300からそれぞれ送信された更新量ΔPを統合した結果に基づいてパラメータPを更新してもよい。以上のステップS101からステップS110の処理は、所定の終了条件が満たされるまで繰り返される(ステップS111)。
 ここで、終了条件は、例えば、複数のクライアント装置300においてそれぞれ取得された実データ321に含まれるデータセットの合計が所定の数に到達し、それらのデータセットに基づいて学習モデル111のパラメータPが更新されたことであってもよい。この場合、クライアント装置300は、更新量ΔPとともに、更新量ΔPを算出するときに利用された実データ321に含まれていたデータセットの数をサーバ装置100に送信し、サーバ装置100はこのデータセットの数を集計してもよい。
 以上、本発明の一実施形態について説明した。本実施形態において、クライアント装置300は、外部ネットワーク200を介してサーバ装置100に接続され、サーバ装置100から学習モデル111を受信する。その一方で、クライアント装置300は、外部ネットワーク200から独立した媒体(例えば、内部ネットワーク301、内部伝送経路、およびリムーバブルメディア303)を介して実データ321を取得する。クライアント装置300は実データ321を用いて学習モデル111の訓練を実施するが、このときに実データ321はクライアント装置300の内部に保持されているため、外部ネットワーク200には流出しない。クライアント装置300は、訓練の結果に基づく学習モデル111のパラメータPの更新量ΔPを、外部ネットワーク200を介してサーバ装置100に送信するが、上述のように更新量ΔPから元の実データ321を復元することは実質的に不可能であるため、更新量ΔPの送信は実データ321の移転にはあたらない。その一方で、サーバ装置100では、更新量ΔPに基づいて学習モデル111のパラメータPを更新することによって、上記の実データ321を用いた訓練の結果を学習モデル111に反映させ、学習モデル111の品質を向上させることができる。
 図5は、例示的なコンピュータのハードウェア構成を示すブロック図である。図5に示された情報処理装置900は、例えば、上記で図1および図2を参照して説明したサーバ装置100およびクライアント装置300として機能する。情報処理装置900は、例えばパーソナルコンピュータや、タブレット、スマートフォンのような端末装置であってもよく、データセンタなどに設置されるサーバコンピュータであってもよい。また、情報処理装置900の機能は、必ずしも物理的に単一の装置において実現されなくてもよく、例えばネットワークを介して接続された複数の装置のリソースを統合的に利用することによって実現されてもよい。以下では、情報処理装置900の各部の構成について説明する。
 情報処理装置900は、プロセッサ901、メモリ903、入力装置905、出力装置907、およびバスインターフェース909を含む。さらに、情報処理装置900は、ストレージ911、ドライブ913、接続ポート915、および通信装置917を含んでもよい。
 プロセッサ901は、例えば、CPU(Central Processing unit)、GPU(Graphics Processing unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、および/またはFPGA(Field-Programmable Gate Array)などの処理回路によって構成される。プロセッサ901は、メモリ903、ストレージ911、またはリムーバブルメディア919に記録されたプログラムに従って情報処理装置900の動作を制御する。
 メモリ903は、例えば、ROM(Read Only Memory)およびRAM(Random Access Memory)を含む。ROMは、例えばプロセッサ901のためのプログラム、および演算パラメータなどを記憶する。RAMは、例えばプロセッサ901の実行時に展開されたプログラム、およびプログラムの実行時のパラメータなどを一次記憶する。
 入力装置905は、例えば、マウス、キーボード、タッチパネル、ボタン、または各種のスイッチなど、ユーザによって操作される装置である。入力装置905は、必ずしも情報処理装置900と一体化していなくてもよく、例えば、無線通信によって制御信号を送信するリモートコントローラであってもよい。入力装置905は、ユーザが入力した情報に基づいて入力信号を生成してプロセッサ901に出力する入力制御回路を含む。
 出力装置907は、視覚や聴覚、触覚などの感覚を用いてユーザに向けて情報を出力することが可能な装置で構成される。出力装置907は、例えば、LCD(Liquid Crystal Display)または有機EL(Electro-Luminescence)ディスプレイなどの表示装置、スピーカまたはヘッドフォンなどの音声出力装置、もしくはバイブレータなどを含みうる。出力装置907は、情報処理装置900の処理により得られた結果を、テキストもしくは画像などの映像、音声もしくは音響などの音声、またはバイブレーションなどとして出力する。
 ストレージ911は、例えば、HDD(Hard Disk Drive)などの磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。ストレージ911は、例えばプロセッサ901のためのプログラム、プログラムの実行時に読み出される、またはプログラムの実行によって生成された各種のデータ、および外部から取得した各種のデータなどを格納する。
 ドライブ913は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア919のためのリーダ/ライタである。ドライブ913は、装着されているリムーバブルメディア919に記録されている情報を読み出して、メモリ903に出力してもよい。また、ドライブ913は、装着されているリムーバブルメディア919に各種のデータを書き込んでもよい。
 接続ポート915は、外部接続機器921を情報処理装置900に接続するためのポートである。接続ポート915は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポートなどを含みうる。また、接続ポート915は、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポートなどを含んでもよい。接続ポート915に外部接続機器921を接続することで、情報処理装置900と外部接続機器921との間で各種のデータを交換することができる。
 通信装置917は、ネットワーク923に接続される。なお、ネットワーク923は、例えばインターネットのような不特定多数の装置が接続される開かれた通信ネットワークであってもよく、例えばBluetooth(登録商標)のような限られた装置、例えば2つの装置が接続される閉じられた通信ネットワークであってもよい。通信装置917は、例えば、LAN(Local Area Network)、Bluetooth(登録商標)、Wi-Fi、またはWUSB(Wireless USB)用の通信カードを含みうる。通信装置917は、ネットワーク923に応じた所定のプロトコルを用いて、他の装置との間で信号またはデータなどを送受信する。
 なお、上記で例示的に説明された情報処理装置900の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、当業者は、上述したような情報処理装置900の構成を、実施する時々の技術レベルに応じて適宜変更することができる。
 以上、添付図面を参照しながら本発明の例示的な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
 例えば、図1に示された例では、サーバ装置からクライアント装置に学習モデルを送信するための第1の媒体と、クライアント装置からサーバ装置に更新量を送信するための第3の媒体とが同じ媒体(外部ネットワーク)として説明されたが、これらの媒体は互いに異なっていてもよい。例えば、外部ネットワークを用いてサーバ装置からクライアント装置に学習モデルを送信する一方で、クライアント装置からサーバ装置への更新量の送信にはリムーバブルメディアを用いてもよい。あるいは、サーバ装置とクライアント装置との間で、学習モデルおよび更新量の両方をリムーバブルメディアを用いてやりとりしてもよい。この場合、クライアント装置を外部ネットワークから遮断することによって、実データの流出をより確実に防止することができる。
 上記のように、本発明の実施形態において、学習モデルや更新量などのデータは、必ずしも通信回線を用いて送受信されなくてもよく、例えばリムーバブルメディアを用いて物理的に移動されてもよい。この点に関して、上記の実施形態で送信および受信として説明された処理は、他の実施形態では提供および取得と言い換えられてもよい。
 本発明の実施形態は、例えば、情報処理装置、複数の情報処理装置を含むシステム、情報処理方法、情報処理装置を機能させるためのプログラム、およびプログラムが記録された媒体を含みうる。
 10…システム、100…サーバ装置、110…ストレージ、120…モデル送信部、130…更新量受信部、140…パラメータ更新処理部、200…外部ネットワーク、300…クライアント装置、310…モデル受信部、320…データ取得部、330…更新量算出部、340…更新量送信部、350…検証処理部。

Claims (11)

  1.  第1の媒体を介して外部装置から少なくとも1つのパラメータを含む学習モデルを取得するモデル取得部と、
     前記第1の媒体から独立した第2の媒体を介して前記学習モデルのための訓練データとして利用可能な実データを取得するデータ取得部と、
     前記実データを用いて前記学習モデルを訓練した結果に基づいて前記パラメータの更新量を算出する更新量算出部と、
     前記第2の媒体から独立した第3の媒体を介して前記更新量を前記外部装置に提供する更新量提供部と
     を備える情報処理装置。
  2.  前記データ取得部は、少なくとも所定の数の前記実データを取得し、
     前記更新量提供部は、前記所定の数の前記実データを用いて前記学習モデルを訓練した結果に基づいて前記更新量が算出されるまで、前記更新量を前記外部装置に提供しない、請求項1に記載の情報処理装置。
  3.  前記更新量から前記実データが復元不可能であることを検証する検証処理部をさらに備える、請求項1または請求項2に記載の情報処理装置。
  4.  前記第1の媒体および前記第3の媒体は、同一である、請求項1から請求項3のいずれか1項に記載の情報処理装置。
  5.  前記第1の媒体、前記第2の媒体または前記第3の媒体の少なくともいずれかは、リムーバブルメディアである、請求項1から請求項4のいずれか1項に記載の情報処理装置。
  6.  前記第1の媒体および前記第3の媒体は、前記情報処理装置が設置された場所における外部ネットワークであり、
     前記第2の媒体は、前記情報処理装置の内部伝送経路、または前記場所における内部ネットワークである、請求項1から請求項3のいずれか1項に記載の情報処理装置。
  7.  少なくとも1つのパラメータを含む学習モデルを保持するモデル保持部と、
     前記学習モデルを第1の媒体を介して外部装置に提供するモデル提供部と、
     前記学習モデルのための訓練データとして利用可能な実データを用いて前記学習モデルを訓練した結果に基づいて算出された前記パラメータの更新量を、第2の媒体を介して前記外部装置から取得する更新量取得部と、
     前記更新量に基づいて前記パラメータの少なくとも一部を更新するパラメータ更新処理部と
     を備え、
     前記第1の媒体および前記第2の媒体は、前記外部装置が前記実データを取得するために用いられる第3の媒体から独立している、情報処理装置。
  8.  前記第1の媒体および前記第2の媒体は、同一である、請求項7に記載の情報処理装置。
  9.  前記第1の媒体または前記第2の媒体の少なくともいずれかは、リムーバブルメディアである、請求項7または請求項8に記載の情報処理装置。
  10.  クライアント装置およびサーバ装置を含むシステムであって、
     前記クライアント装置は、
      第1の媒体を介して前記サーバ装置から少なくとも1つのパラメータを含む学習モデルを取得するモデル取得部と、
      前記第1の媒体から独立した第2の媒体を介して前記学習モデルのための訓練データとして利用可能な実データを取得するデータ取得部と、
      前記実データを用いて前記学習モデルを訓練した結果に基づいて前記パラメータの更新量を算出する更新量算出部と、
      前記第2の媒体から独立した第3の媒体を介して前記更新量を前記サーバ装置に提供する更新量提供部と
     を備え、
     前記サーバ装置は、
      前記学習モデルを保持するモデル保持部と、
      前記学習モデルを前記第1の媒体を介して前記クライアント装置に提供するモデル提供部と、
      前記第3の媒体を介して前記クライアント装置から前記更新量を取得する更新量取得部と、
      前記更新量に基づいて前記パラメータの少なくとも一部を更新するパラメータ更新処理部と
     を備えるシステム。
  11.  クライアント装置およびサーバ装置を含むシステムにおいて実行される情報処理方法であって、
     少なくとも1つのパラメータを含む学習モデルを、第1の媒体を介して前記サーバ装置から前記クライアント装置に提供するステップと、
     前記クライアント装置のプロセッサが、前記学習モデルのための訓練データとして利用可能な実データを、前記第1の媒体から独立した第2の媒体を介して取得するステップと、
     前記クライアント装置のプロセッサが、前記実データを用いて前記学習モデルを訓練した結果に基づいて前記パラメータの更新量を算出するステップと、
     前記更新量を、前記第2の媒体から独立した第3の媒体を介して前記クライアント装置から前記サーバ装置に提供するステップと、
     前記サーバ装置が、前記更新量に基づいて前記パラメータの少なくとも一部を更新するステップと
     を含む情報処理方法。
PCT/JP2018/027629 2017-07-28 2018-07-24 情報処理装置、システムおよび情報処理方法 WO2019022052A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017146404A JP6936474B2 (ja) 2017-07-28 2017-07-28 情報処理装置、システムおよび情報処理方法
JP2017-146404 2017-07-28

Publications (1)

Publication Number Publication Date
WO2019022052A1 true WO2019022052A1 (ja) 2019-01-31

Family

ID=65040678

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/027629 WO2019022052A1 (ja) 2017-07-28 2018-07-24 情報処理装置、システムおよび情報処理方法

Country Status (2)

Country Link
JP (1) JP6936474B2 (ja)
WO (1) WO2019022052A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021059604A1 (ja) * 2019-09-26 2021-04-01
WO2021059607A1 (ja) * 2019-09-26 2021-04-01 富士フイルム株式会社 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023003557A (ja) * 2021-06-24 2023-01-17 国立大学法人 東京大学 情報処理システム、情報処理方法及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017117226A (ja) * 2015-12-24 2017-06-29 エヌ・ティ・ティ・コムウェア株式会社 人工知能育成システム、人工知能育成方法、及びプログラム
JP2017519282A (ja) * 2014-05-12 2017-07-13 クゥアルコム・インコーポレイテッドQualcomm Incorporated 分散モデル学習

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10402469B2 (en) * 2015-10-16 2019-09-03 Google Llc Systems and methods of distributed optimization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017519282A (ja) * 2014-05-12 2017-07-13 クゥアルコム・インコーポレイテッドQualcomm Incorporated 分散モデル学習
JP2017117226A (ja) * 2015-12-24 2017-06-29 エヌ・ティ・ティ・コムウェア株式会社 人工知能育成システム、人工知能育成方法、及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021059604A1 (ja) * 2019-09-26 2021-04-01
WO2021059607A1 (ja) * 2019-09-26 2021-04-01 富士フイルム株式会社 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法
WO2021059604A1 (ja) * 2019-09-26 2021-04-01 富士フイルム株式会社 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法
JPWO2021059607A1 (ja) * 2019-09-26 2021-04-01
JP7374202B2 (ja) 2019-09-26 2023-11-06 富士フイルム株式会社 機械学習システムおよび方法、統合サーバ、プログラムならびに推論モデルの作成方法
JP7374201B2 (ja) 2019-09-26 2023-11-06 富士フイルム株式会社 機械学習システムおよび方法、統合サーバ、プログラムならびに推論モデルの作成方法

Also Published As

Publication number Publication date
JP6936474B2 (ja) 2021-09-15
JP2019028656A (ja) 2019-02-21

Similar Documents

Publication Publication Date Title
WO2021120676A1 (zh) 联邦学习网络下的模型训练方法及其相关设备
CN111046433B (zh) 一种基于联邦学习的模型训练方法
KR102215773B1 (ko) 영-지식 증명을 갖는 계정 노트 모델에 기초한 블록체인 데이터 보호
US20210004718A1 (en) Method and device for training a model based on federated learning
CN113159327B (zh) 基于联邦学习系统的模型训练方法、装置、电子设备
US20230039182A1 (en) Method, apparatus, computer device, storage medium, and program product for processing data
US11106809B2 (en) Privacy-preserving transformation of continuous data
US20180268283A1 (en) Predictive Modeling from Distributed Datasets
CN106471543B (zh) 跨客户端设备上的多个应用的用户交互关联
CN110288705B (zh) 生成三维模型的方法和装置
WO2019022052A1 (ja) 情報処理装置、システムおよび情報処理方法
US20220358240A1 (en) Adaptive data privacy platform
US20160135752A1 (en) Small data aggregator for personal health management
US20200152328A1 (en) Cognitive analysis for identification of sensory issues
Sudha et al. Secure transmission medical data for pervasive healthcare system using android
Mehdi et al. Referenceable mobile crowdsensing architecture: A healthcare use case
CN110197707A (zh) 基于区块链的病历信息处理方法、装置、介质及电子设备
CN111914180B (zh) 基于图结构的用户特征确定方法、装置、设备及介质
US20210357386A1 (en) Method for split-ledger inventory and activity tracking
US11557214B2 (en) Information processing apparatus and method for processing information
US20220230078A1 (en) Machine learning techniques for associating network addresses with information object access locations
US9392967B2 (en) User interface and method to discover hearing sensitivity of user on smart phone
CN110991661A (zh) 用于生成模型的方法和装置
US11801355B2 (en) Oxygen tank duration of use
US20220053070A1 (en) A protocol for exchanging user model data objects among ubiquitous devices

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

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

Country of ref document: EP

Kind code of ref document: A1