Data processing apparatuses and methods

The use of a non-transferable blockchain token like SBT addresses the challenge of tracking data contributions in machine learning model training, ensuring fair attribution and secure, transparent record-keeping of data usage and benefits.

WO2025176542A1PCT designated stage Publication Date: 2025-08-28SONY SEMICON SOLUTIONS CORP +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/053862
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-23
Filing Date
2025-02-13
Publication Date
2025-08-28

AI Technical Summary

Technical Problem

Keeping track of which training data is used, how often it is used, who it belongs to, and its overall contribution to the training of a machine learning model is difficult, especially when multiple data sources are involved, leading to challenges in attributing fair shares of benefits to data owners.

Method used

Utilizing a non-transferable blockchain token, such as a Soul Bound Token (SBT), to record and update the contribution of each data sample in the training process of a machine learning model, ensuring secure, transparent, and decentralized tracking of data usage and contribution.

Benefits of technology

Provides an immutable, decentralized, and transparent method to track the contribution of each data sample in training, allowing data owners to reliably determine their share of benefits from the trained model, while maintaining data privacy and security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025053862_28082025_PF_FP_ABST
    Figure EP2025053862_28082025_PF_FP_ABST
Patent Text Reader

Abstract

A data processing apparatus comprising circuitry configured to: generate a non- transferrable blockchain token uniquely associated with a party undertaking training of a machine learning model; and update the blockchain token to include information representing training data used to train the machine learning model and a value of each of one or more parameters of the machine learning model determined by training the machine learning model using the training data.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] DATA PROCESSING APPARATUSES AND METHODS

[0002] BACKGROUND

[0003] Field of the Disclosure

[0004] The present disclosure relates to data processing apparatuses and methods.

[0005] Description of the Related Art

[0006] The “background” description provided is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in the background section, as well as aspects of the description which may not otherwise qualify as prior art at the time of filing, are neither expressly or impliedly admitted as prior art against the present disclosure.

[0007] When a machine learning model such as an artificial neural network is trained, various instances of training data from different sources may be used. However, good quality training data is often expensive and labour intensive to obtain. Owners of the training data may therefore expect to be awarded a share of the benefits associated with the machine learning model once it has been trained and put to effective use.

[0008] Keeping track of which training data is used, how often it is used, who it belongs to and its overall contribution to the training of the model, however, is a difficult technical challenge. This is especially the case for complex models trained on many hundreds, thousands or millions of data samples from many different sources. There is therefore a desire to address this problem.

[0009] SUMMARY

[0010] The present disclosure is defined by the claims.

[0011] BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Non-limiting embodiments and advantages of the present disclosure are explained with reference to the following detailed description taken in conjunction with the accompanying drawings, wherein:

[0013] Fig. 1 shows an example of an artificial neural network (ANN);

[0014] Fig. 2 shows an example of training data;

[0015] Fig. 3 shows an example of training epochs;

[0016] Fig. 4 shows an example calculation of the contribution of different training data samples in different epochs;

[0017] Fig. 5 schematically shows example data processing apparatuses; Fig. 6 shows an example flow diagram for creating and updating a non-transferrable blockchain token;

[0018] Fig. 7 schematically shows example updates to a blockchain; and

[0019] Figs. 8A and 8B show example methods.

[0020] Like reference numerals designate identical or corresponding parts throughout the drawings.

[0021] DETAILED DESCRIPTION OF THE EMBODIMENTS

[0022] Fig. 1 shows an example machine learning model 100. The machine learning model is an artificial neural network (ANN). In this case, for ease of explanation, it is a very simple ANN (and parts of the explanation have been simplified). However, in reality, the present technology may be applied to much more complex ANNs or other types of machine learning models.

[0023] The ANN of Fig. 1 has three layers, an input layer 100A comprising two nodes 101 A and 101 B, a hidden layer 100B comprising three nodes 102A, 102B and 102C and an output layer 100C comprising one node 103. Each node of the input layer is connected to all nodes of the hidden layer and the single node of the output layer is also connected to all nodes of the hidden layer.

[0024] The connection between each node is associated with a particular weight w. In particular, the connections between node 101 A and nodes 102A, 102B and 102C are associated with weights w-i, w2and w3, respectively. The connections between node 101 BA and nodes 102A, 102B and 102C are associated with weights w4, w5and w6, respectively. The connections between nodes 102A, 102B and 102C and node 103 are associated with weights w?, w3and wg, respectively.

[0025] The weights indicate how much influence the value of a node of a preceding layer on a node of the current layer. Thus, for example, for a given value xi input at node 101 A and a given value x2input at node 101 B, the value x3at node 102A is proportional to wiXi + w4x2, the value x4at node 102B is proportional to w2xi + w5x2and the value x5at node 102C is proportional to w3xi + w6x2. Similarly, the value y at the output node 103 is proportional to w?x3+ w3x4+ W9X5.

[0026] For a given set of input values xi and x2, the output value y thus depends on the value of the weights w. The weights are determined using training data. The training data comprises a number of data samples, each data sample including known values of xi, x2and y. The weights are then chosen to minimise a loss function between a predicted value of y predicted using the ANN 100 and the known value of y. This is repeated for many data samples one or more times (each of these times being called an epoch) until a set of weights which produce the best predictions for y in the training data is found. Once these weights have been found, the model is considered to be trained. The trained model may then be provided with previously unseen values of xi and x2and make predictions of y based on these values.

[0027] A machine learning model such as ANN 100 is thus only useful once it has been provided with appropriate weights. Furthermore, appropriate weights can only be obtained with sufficient quantities of good quality training data used in an appropriate way. Such training data is thus highly valuable and owners of such training data therefore expect to receive a share of the benefits associated with the machine learning model once it has been trained and put to effective use. This may be relatively straightforward if all the training data is provided by a single owner. However, if training data from a plurality of different owners is used, with some data samples being used more than others in the training (e.g. some data samples being used in every epoch and others being used in only a subset of epochs), keeping track of the contribution of the training data from each owner in training the model becomes a difficult technical challenge. The present technology helps address this problem.

[0028] Fig. 2 shows an example set of training data used to train the ANN 100. Here, for ease of explanation, there are five samples of training data. In reality, there will usually be many more samples (e.g. hundreds, thousands or millions of data samples). Each sample includes a value of xi, a value of x2and a value of y. Each sample is also provided with a sample identifier (sample ID) which uniquely identifies each sample in the training data set. Each sample ID is mapped to a particular owner of the data sample (thereby allowing the data samples belonging to each owner to be tracked).

[0029] In an example, the sample ID may identify the sample owner. For example, a first portion of the sample ID may uniquely identify the owner and a second portion of the sample ID may uniquely identify the sample among all samples owned by that owner.

[0030] Fig. 3 shows an example highlighting the need to be able to track the contribution of each data sample (and, thus, each data sample owner) to training the ANN 100. Here, five training epochs (or training sessions) are shown. Again, this is for ease of explanation and, in reality, there may be many more epochs.

[0031] During the first epoch of training (epoch 1 ), all data samples are used. The values of each of the weights wi to w9at the end of epoch 1 are shown in the table.

[0032] During the second epoch of training (epoch 2), only the data samples with sample IDs 0001 , 0002 and 0003 are used. Thus, only a portion of the available training data is used. The values of each of the weights wi to w9at the end of epoch 2 are shown in the table.

[0033] During the third epoch of training (epoch 3), only the data samples with sample IDs 0001 and 0004 are used. The values of each of the weights w-i to w9at the end of epoch 3 are shown in the table. During the fourth epoch of training (epoch 4), only the data samples with sample IDs 0001 , 0002 and 0003 are again used. The values of each of the weights wi to w9at the end of epoch 4 are shown in the table.

[0034] Finally, during the fifth epoch of training (epoch 5), all data samples are again used. The values of each of the weights w-i to w9at the end of epoch 5 are shown in the table. This is the final epoch and thus the weights wi = a5, w2= Ps, w3= y5, w4= b5, w5= E5, W6= q5, w7= 05, w8= As and w9=5are the final weights applied to the ANN 100 and used for future predictions of y from previously unseen values of x-i and x2.

[0035] It can therefore be seen that data sample 0001 was used in all epochs, data sample 0002 was used in four epochs (epochs 1 , 2, 4 and 5), data sample 0003 was used in four epochs (epochs 1 , 2, 4 and 5), data sample 0004 was used in three epochs (epochs 1 , 3 and 5) and data sample 0005 was used in two epochs (epochs 1 and 5). If these data samples are owned by different owners, each owner may therefore have made a different contribution to the training of the ANN 100. For example, if data sample 0001 and data sample 0005 are owned by different owners, then, for these data samples, the owner of data sample 0001 (which was used in all five epochs) contribute more to the training of the ANN than the owner of data sample 0005 (which was only used in two epochs). The owner of data sample 0001 may therefore expect a greater share of benefits arising from use of the trained ANN than the owner of data sample 0005.

[0036] One method of attributing the share of the training of the ANN is as follows.

[0037] Suppose that n is the number of epochs trained (thus, n = 5 in the example of Fig. 3). The epochs are then denoted Ei , .., En. For epoch Ei, the number of samples considered in the epoch is Ni. Thus, for example, for epoch 1 (Ei) in Fig. 3, Ni = 5 (since all five samples were used) whereas for epoch 3 (E3), N3= 2 (since only two samples, 0001 and 0004, were used).

[0038] Now consider a specific sample and assume that it has been considered in k<n epochs {E*i,... ,E*k} c {Ei,... ,En} with the number of samples denoted by N*. Let p denote the share of the party that trains the neural network. The share of the sample in training the network is then given by Expression 1 :

[0039] Assuming p = 0 for simplicity, the share of sample 0001 after epoch 1 is thus: This is because n = 5 and, in epoch 1 , all samples are used and thus Ni* = 5.

[0040] The share of the sample 0001 after epoch 2 is:

[0041] This is because, in epoch 2, only three samples are used and thus N2* = 3.

[0042] The share of the sample 0001 after epoch 3 is:

[0043] This is because, in epoch 3, only two samples are used and thus N3* = 2.

[0044] The share of the sample 0001 after epoch 4 is:

[0045] This is because, in epoch 4, only three samples are used and thus N4* = 3.

[0046] Finally, the share of the sample 0001 after epoch 5 is:

[0047] This is because, in epoch 5, all samples are once again used and thus N5* = 3.

[0048] On the other hand, considering the sample 0005, while the share of this sample after epoch 1 is also:

[0049] (since n = 5 and, in epoch 1 , all samples are used and thus N-i* = 5), sample 0005 is not used any of epochs 2, 3 or 4. Rather, sample 0005 is only used again in the fifth and final epoch (epoch 5). Thus, the share of sample 0005 after epoch 5 is:

[0050] (since, again, all samples are used in epoch 5 and thus N5* = 5). Using Expression 1 thus allows the share of each sample in training the ANN to be determined. Fig. 4 shows a table showing the share of each sample in training the ANN after each of the epochs shown in Fig. 3.

[0051] It is desirable to be able to automatically record data like that of Fig. 4 while a machine learning model is trained in a secure and transparent way to allow owners of data samples to reliably keep track of how their data samples are being used and how much of a contribution they are making to training particular machine learning models. In an example, the present disclosure uses features of a blockchain to help address this technical challenge.

[0052] Fig. 5 shows a plurality of data processing apparatuses 400A-D connected over a network 406 (such as the internet) for implementing a blockchain. Thus, data processing apparatuses 400A-D are part of a blockchain network. One of the data processing apparatuses 400A is shown in detail (with each of the other data processing apparatuses 400B-D comprising the same types of components). Again, this is a simplified example and, in reality, there may be a much larger number of data processing apparatuses connected over the network 406.

[0053] Data processing apparatus 400A comprises a processor 401 for executing electronic instructions, a memory 402 (e.g. volatile memory) for storing the electronic instructions to be executed and electronic input and output information associated with the electronic instructions, a storage medium 403 (e.g. non-volatile memory) for long term (persistent) storage of information, a communication interface 404 for sending information to and / or receiving information from one or more other apparatuses (e.g. data processing apparatuses 400B-D over the network 406) and a user interface 405 (e.g. a touch screen, a non-touch screen, buttons, a keyboard and / or a mouse) for receiving commands from and / or outputting information to a user. Each of the processor 401 , memory 402, storage medium 403, communication interface 404 and user interface 205 are implemented using appropriate circuitry, for example. The processor 401 controls the operation of each of the memory 402, storage medium 403, communication interface 404 and user interface 405.

[0054] A blockchain uses principles of cryptography and computational collaboration to allow a chain of changes to data to be recorded in an immutable, decentralised manner. The details of how a blockchain may be implemented are known and are not discussed here. However, with the present technique, a particular application of a blockchain is used. This is discussed with reference to Figs. 6 and 7, which show a specific type of blockchain asset or token used in examples of the present technology. The token is a non-transferable token created and updated according to a smart contract. The token is non-transferrable because it is permanently associated with a digital wallet (and therefore a unique digital identity) of the party carrying out the training of the machine learning model 100. It thus cannot be transferred to any other digital wallet (and thus to any other party) on the blockchain. An example of such a token is a so-called “Soul Bound Token”, SBT. SBTs are a concept within the Ethereum ® blockchain system and are discussed in [1], for example.

[0055] Fig. 6 shows a flow diagram exemplifying how a non-transferable token can be created and updated. In this example, the non-transferable token is an SBT. However, the present technology is not limited to this and any non-transferable blockchain token which can be created and updated in the way described may be used.

[0056] In this example, the party training the machine learning model 100 (the training party) does this using data processing apparatus 400B (or, at least the training is coordinated using data processing apparatus 400B if multiple data processing apparatuses are used during the training). The party responsible for overseeing the creation and update of the SBT (the overseeing party) does this using data processing apparatus 400A. The data processing apparatus 400A thus executes the code implementing the smart contract which controls the creation and update of the SBT. The data processing apparatus 400A also announces the creation and all updates of the SBT to all other data processing apparatuses on the network (including data processing apparatuses 400B-D) so this can be recorded on the blockchain.

[0057] It is noted that although, in this example, the data processing apparatus 400B implementing the training of the machine learning model is also part of the blockchain network (and thus, together with data processing apparatuses 400A, 400C and 400D and any other data processing apparatuses (not shown), contributes to providing consensus of the blockchain), this does not have to be the case.

[0058] In an example, the training of the machine learning model 100 occurs via a suitable electronic platform executed by the data processing apparatuses 400A and 400B. This enables data to be exchanged between the data processing apparatuses 400A and 400B during the training of the machine learning model (e.g. as shown in Fig. 6) so the SBT can be created and updated. The data processing apparatus 400A provides the electronic platform by way of an application programming interface (API) made available to the data processing apparatus 400B over the network 406, for example.

[0059] At step 601 , the apparatus 400B, under control of the training party, transmits a request to the apparatus 400A for the creation of a new SBT. The request comprises the unique digital identifier (digital wallet identifier) of the training party, an indication of the architecture of the machine learning model to be trained (e.g. for an ANN, the number of layers, the number of nodes in each layer and, for each node, an indication of which other node(s) it is connected to, each of these connections being associated with a respective weight) and the data samples (including the sample ID and independent and dependent variable values of each data sample) to be used for training the machine learning model.

[0060] At step 602, in response to receiving the request, the apparatus 400A creates the SBT and adds it to the blockchain. The SBT includes all the information provided in the request (e.g. the unique digital identifier of the training party, the indication of the network architecture and the data samples to be used for the training). It may also include any other suitable additional information, such as a time stamp indicating when the SBT was created and / or a unique identifier of the SBT for the training party (so that, when taken with the unique digital identifier of the training party, each SBT is uniquely identifiable). A simplified example of a newly created SBT 701 is shown in Fig. 7. The creation of SBT 701 is recorded on the blockchain.

[0061] At step 603, apparatus 400B performs one epoch of training. After the epoch of training is complete, at step 604, the apparatus 400B provides the sample ID of each data sample used during the epoch and the value of the weights at the end of the epoch to the apparatus 400A. At step 605, the apparatus 400A then updates the SBT to include this information. For example, for each epoch, the epoch number n (and / or a time stamp of when the nthepoch was completed) is added to the SBT together with the sample ID and weight values for that epoch. Steps 603, 604, and 605 are repeated for all epochs.

[0062] Fig. 7 shows simplified examples of successive updated versions 701 A to 70E of SBT 701 for respective successive epochs (in this case, epochs 1 to 5 of Figs. 3 and 4). As shown, each update to the SBT comprises adding data corresponding to the latest epoch of training. This data includes, for example, the sample ID of each data sample used during the epoch and the value of the weights at the end of the epoch. Each updated to the SBT 701 is recorded on the blockchain.

[0063] At step 606, once training is complete, the apparatus 400B transmits an end notification to the apparatus 400A. In response to this, at step 607, the apparatus 400B updates the SBT to indicate the training has ended. It may also include a timestamp in the SBT indicating the time that the end notification was received. The end notification may be provided with the sample IDs and weights of the final epoch at step 604 (meaning the separate step 606 is not required). A simplified example of the version 701 F of SBT 701 after receipt of the end notification is shown in Fig. 7, where it can be seen that a marker (or tag) “<end>” has been added to the SBT 701 .

[0064] The data indicated by the SBT can thus be used to determine the share of each data sample in the training of the machine learning model to arrive at the final weights indicated by the SBT (that is, the weights provided to the apparatus 400B at step 604 after the final epoch of training). For example, the SBT may include information in a format like that of Fig. 3, thereby indicating the final weights (e.g. those of epoch 5 in Fig. 3) of the trained model and the data samples used in each epoch of training. The smart contract executed by the apparatus 400A which generates and updates the SBT may also calculate the share associated with each data sample after each epoch and / or in response to receiving the end notification at step 606 (e.g. using Expression 1) and include this information (e.g. in a format like that of Fig. 4) in the SBT. This provides increased convenience, since not only is immutable evidence provided by the SBT of the contribution of each data sample to the training, but the share associated with that data sample is also automatically calculated and indicated by the SBT.

[0065] For privacy protection, at least some of the information may be included in the SBT in a cryptographically hashed form on the blockchain while the original information is stored securely in the storage media of the apparatus 400A and / or 400B in a non-hashed form. This allows the content of the SBT to be recorded in an immutable and decentralised manner without allowing sensitive information (e.g. the training data samples) to be publicly available on the blockchain. If any party (e.g. an owner of one or more of the training data samples) then wishes to verify the content of the SBT, they may be provided (upon authentication of credentials of that party by the overseeing party, for example) with the non-hashed data. They may then hash the non-hashed data (using the same cryptographic hashing algorithm used to generate the hashed data of the SBT on the publicly available blockchain, e.g. SHA-256) and verify that the generated hashed data and the hashed data on the SBT are identical. They are thus able to easily confirm the share of each training data sample in training the model (to arrive at the final weights indicated by the SBT). At the same time, the data of each training data sample remains hidden from the public (and thus cannot be used without permission, for example).

[0066] The present technique thus provides an immutable, decentralised, transparent, secure and convenient way of tracking the use of data samples in training a machine learning model. In particular, through the use of a non-transferrable blockchain token (such as an SBT), the use of each data sample used in each epoch of training can be recorded, together with parameters of the model (e.g. weights of an ANN) resulting from that epoch of training. This allows the contribution of each data sample to the training of the model to be reliably tracked by any interested party.

[0067] Furthermore, since, unlike with other blockchain assets such as non-fungible tokens (NFTs), the smart contract of an SBT does not allow the SBT to be transferred or destroyed but allows the SBT, once created, to be updated by an authorised party, the SBT acts as a single asset permanently associated with the training party and providing an immutable record of the training carried out in all training epochs. The entire training record can thus be easily and reliably found by any other interested party (e.g. by simply looking up the training party’s unique digital identifier on the public blockchain). In an example, the smart contract can only be used, called and / or invoked by the overseeing party, in particular from a cryptocurrency address uniquely associated with the overseeing party. Any transaction enabled by the smart contract (e.g. to create the SBT, issue it to the training party and update the SBT) is signed with a private key that corresponds to this cryptocurrency address.

[0068] Figs. 8A and 8B show example methods, each of which are executable by processor 401 , for example. The method of Fig. 8A is executable by a data processing apparatus (e.g. data processing apparatus 400A in Fig. 6) which generates a non-transferrable blockchain token such as an SBT.

[0069] The method starts at step 801 .

[0070] At step 802, a non-transferrable blockchain token (e.g. SBT) uniquely associated with a party undertaking training of a machine learning model (e.g. by the token comprising a unique digital identifier of the party) is generated. This is exemplified in step 602 of Fig. 6, for example.

[0071] At step 803, the blockchain token is updated to include information representing training data used to train the machine learning model (e.g. the sample IDs of the training data samples used for each epoch of training) and a value of each of one or more parameters of the machine learning model (e.g. the weights of the ANN 100 after each epoch of training) determined by training the machine learning model using the training data. This is exemplified in step 605 of Fig. 6, for example.

[0072] The method ends at step 804.

[0073] The method of Fig. 8B is executable by a data processing apparatus (e.g. data processing apparatus 400B in Fig. 6) used for training a machine learning model (e.g. by performing the training and / or coordinating one or more other data processing apparatuses (e.g. data processing apparatuses 400C and / or 400D) to perform the training).

[0074] The method starts at step 805.

[0075] At step 806, a request is transmitted to a second data processing apparatus (e.g. data processing apparatus 400A in Fig. 6) for the second data processing apparatus to generate a non-transferrable blockchain token (e.g. SBT) uniquely associated with a party undertaking training of a machine learning model (the request comprising a unique digital identifier of the party, for example). This is exemplified in step 601 of Fig. 6, for example.

[0076] At step 807, information representing training data used to train the machine learning model (e.g. the sample IDs of the training data samples used for each epoch of training) and a value of each of one or more parameters of the machine learning model (e.g. the weights of the ANN 100 after each epoch of training) determined by training the machine learning model using the training data is transmitted to the second data processing apparatus. This is exemplified in step 604 of Fig. 6, for example.

[0077] The method ends at step 808.

[0078] Embodiment(s) of the present disclosure are defined by the following numbered clauses: 1 . A data processing apparatus comprising circuitry configured to: generate a non-transferrable blockchain token uniquely associated with a party undertaking training of a machine learning model; and update the blockchain token to include information representing training data used to train the machine learning model and a value of each of one or more parameters of the machine learning model determined by training the machine learning model using the training data.

[0079] 2. A data processing apparatus according to clause 1 , wherein: training the machine learning model comprises one or more training sessions; in each of the training sessions, at least a portion of the training data is used to determine a value of each of the one or more parameters of the machine learning model; and after each training session, the circuitry is configured to update the blockchain token to include information representing the portion of the training data used and the value of each of the one or more parameters of the machine learning model determined during the training session.

[0080] 3. A data processing apparatus according to clause 2, wherein the training data comprises a plurality of training data samples and the portion of training data used during each training session comprises one or more of the training data samples.

[0081] 4. A data processing apparatus according to any preceding clause, wherein the machine learning model is an artificial neural network, ANN.

[0082] 5. A data processing apparatus according to clause 4, wherein the blockchain token includes information representing an architecture of the ANN and the one or more parameters of the ANN comprise one or more weights of the ANN.

[0083] 6. A data processing apparatus according to any preceding clause, wherein the circuitry is configured to perform a hash function on the training data and the value of each of the one or more parameters of the machine learning model to generate the information representing the training data and the value of each of the one or more parameters of the machine learning model included in the blockchain token.

[0084] 7. A data processing apparatus according to any preceding clause, wherein the blockchain token is a soul bound token, SBT.

[0085] 8. A data processing apparatus according to any preceding clause, wherein the circuitry is configured to: generate the non-transferrable token in response to receiving a request from a second data processing apparatus used for training the machine learning model; and receive, from the second data processing apparatus, information representing the training data used to train the machine learning model and the value of each of the one or more parameters of the machine learning model.

[0086] 9. A data processing apparatus comprising circuitry configured to: transmit, to a second data processing apparatus, a request for the second data processing apparatus to generate a non-transferrable blockchain token uniquely associated with a party undertaking training of a machine learning model; and transmit, to the second data processing apparatus, information representing training data used to train the machine learning model and a value of each of one or more parameters of the machine learning model determined by training the machine learning model using the training data.

[0087] 10. A system comprising a data processing apparatus according to clause 1 and a data processing apparatus according to clause 9.

[0088] 11. A computer-implemented data processing method comprising: generating a non-transferrable blockchain token uniquely associated with a party undertaking training of a machine learning model; and updating the blockchain token to include information representing training data used to train the machine learning model and a value of each of one or more parameters of the machine learning model determined by training the machine learning model using the training data.

[0089] 12. A computer-readable storage medium storing a program for controlling a computer to perform a method according to clause 11.

[0090] 13. A computer-implemented data processing method comprising: transmitting, to a data processing apparatus, a request for the data processing apparatus to generate a non-transferrable blockchain token uniquely associated with a party undertaking training of a machine learning model; and transmitting, to the data processing apparatus, information representing training data used to train the machine learning model and a value of each of one or more parameters of the machine learning model determined by training the machine learning model using the training data.

[0091] 14. A computer-readable storage medium storing a program for controlling a computer to perform a method according to clause 13.

[0092] Numerous modifications and variations of the present disclosure are possible in light of the above teachings. It is therefore to be understood that, within the scope of the claims, the disclosure may be practiced otherwise than as specifically described herein. In so far as embodiments of the disclosure have been described as being implemented, at least in part, by one or more software-controlled information processing apparatuses, it will be appreciated that a machine-readable medium (in particular, a non-transitory machine-readable medium) carrying such software, such as an optical disk, a magnetic disk, semiconductor memory or the like, is also considered to represent an embodiment of the present disclosure. In particular, the present disclosure should be understood to include a non-transitory storage medium comprising code components which cause a computer to perform any of the disclosed method(s).

[0093] It will be appreciated that the above description for clarity has described embodiments with reference to different functional units, circuitry and / or processors. However, it will be apparent that any suitable distribution of functionality between different functional units, circuitry and / or processors may be used without detracting from the embodiments.

[0094] Described embodiments may be implemented in any suitable form including hardware, software, firmware or any combination of these. Described embodiments may optionally be implemented at least partly as computer software running on one or more computer processors (e.g. data processors and / or digital signal processors). The elements and components of any embodiment may be physically, functionally and logically implemented in any suitable way. Indeed, the functionality may be implemented in a single unit, in a plurality of units or as part of other functional units. As such, the disclosed embodiments may be implemented in a single unit or may be physically and functionally distributed between different units, circuitry and / or processors.

[0095] Although the present disclosure has been described in connection with some embodiments, it is not intended to be limited to these embodiments. Additionally, although a feature may appear to be described in connection with particular embodiments, one skilled in the art would recognize that various features of the described embodiments may be combined in any manner suitable to implement the present disclosure.

[0096] REFERENCES

[0097] [1] Ohlhaver et al “Decentralized Society: Finding Web3's Soul” 11 May 2022 https: / / papers.ssrn.com / sol3 / papers.cfm7abstract id=4105763

Claims

CLAIMS1 . A data processing apparatus comprising circuitry configured to: generate a non-transferrable blockchain token uniquely associated with a party undertaking training of a machine learning model; and update the blockchain token to include information representing training data used to train the machine learning model and a value of each of one or more parameters of the machine learning model determined by training the machine learning model using the training data.

2. A data processing apparatus according to claim 1 , wherein: training the machine learning model comprises one or more training sessions; in each of the training sessions, at least a portion of the training data is used to determine a value of each of the one or more parameters of the machine learning model; and after each training session, the circuitry is configured to update the blockchain token to include information representing the portion of the training data used and the value of each of the one or more parameters of the machine learning model determined during the training session.

3. A data processing apparatus according to claim 2, wherein the training data comprises a plurality of training data samples and the portion of training data used during each training session comprises one or more of the training data samples.

4. A data processing apparatus according to claim 1 , wherein the machine learning model is an artificial neural network, ANN.

5. A data processing apparatus according to claim 4, wherein the blockchain token includes information representing an architecture of the ANN and the one or more parameters of the ANN comprise one or more weights of the ANN.

6. A data processing apparatus according to claim 1 , wherein the circuitry is configured to perform a hash function on the training data and the value of each of the one or more parameters of the machine learning model to generate the information representing the training data and the value of each of the one or more parameters of the machine learning model included in the blockchain token.

7. A data processing apparatus according to claim 1 , wherein the blockchain token is a soul bound token, SBT.

8. A data processing apparatus according to claim 1 , wherein the circuitry is configured to: generate the non-transferrable token in response to receiving a request from a second data processing apparatus used for training the machine learning model; andreceive, from the second data processing apparatus, information representing the training data used to train the machine learning model and the value of each of the one or more parameters of the machine learning model.

9. A data processing apparatus comprising circuitry configured to: transmit, to a second data processing apparatus, a request for the second data processing apparatus to generate a non-transferrable blockchain token uniquely associated with a party undertaking training of a machine learning model; and transmit, to the second data processing apparatus, information representing training data used to train the machine learning model and a value of each of one or more parameters of the machine learning model determined by training the machine learning model using the training data.

10. A system comprising a data processing apparatus according to claim 1 and a data processing apparatus according to claim 9.

11. A computer-implemented data processing method comprising: generating a non-transferrable blockchain token uniquely associated with a party undertaking training of a machine learning model; and updating the blockchain token to include information representing training data used to train the machine learning model and a value of each of one or more parameters of the machine learning model determined by training the machine learning model using the training data.

12. A computer-readable storage medium storing a program for controlling a computer to perform a method according to claim 11.

13. A computer-implemented data processing method comprising: transmitting, to a data processing apparatus, a request for the data processing apparatus to generate a non-transferrable blockchain token uniquely associated with a party undertaking training of a machine learning model; and transmitting, to the data processing apparatus, information representing training data used to train the machine learning model and a value of each of one or more parameters of the machine learning model determined by training the machine learning model using the training data.

14. A computer-readable storage medium storing a program for controlling a computer to perform a method according to claim 13.