Method and apparatus for deep machine learning

GB2633618APending Publication Date: 2025-03-19UNIV OF LANCASTER
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
GB2023014149
Authority / Receiving Office
GB · GB
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-15
Publication Date
2025-03-19

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A method of self-evolving deep machine learning on at least one apparatus comprises receiving, by a first apparatus, input data, transmitting the input data to a pre-trained machine learning module of the first apparatus, and encoding the input data using the pre-trained machine learning module, which may be a foundation feature extractor. The first apparatus then groups the encoded input data into a plurality of clusters based on a similarity of individual data points of the input data. The first apparatus provides at least one representative example to represent each cluster of the plurality of clusters. The representative example may be the data point nearest the centre of the cluster. The representative examples may be sent to another device performing the same clustering process, as part of a federated machine learning system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field [1] Examples of the present application relate to using self-evolving deep machine learning to identify input data and output a signal which indicates a representative example corresponding to the identified input data. In particular, various examples disclosed in the present application provide methods, apparatuses and computer program products for self-evolving deep machine learning. Background [2] Foundational models for machine learning, when applied to large generic data sets, offer an opportunity to finetune the models for specific target data sets by applying complex deep learning models with often millions of trainable parameters. Although this results in highly accurate models, these models are most often trained using iterative gradient descent algorithms which require a large amount of computational resources, time, and data. Further, they do not allow lifelong learning with simultaneous semi-supervised and unsupervised learning. [3] Thus, there is a need for a method of self-evolving deep machine learning which reduces complexity when working with target data by not requiring finetuning and offering the use of unsupervised learning techniques. [4] It is with the above context that the present disclosure was devised. Brief Summary [5] It is an aim of certain examples of the present disclosure to address, solve and / or mitigate, at least partly, at least one of the problems and / or disadvantages associated with the related art, for example at least one of the problems and / or disadvantages described herein. It is an aim of certain examples of the present disclosure to provide at least one advantage over the related art, for example at least one of the advantages described herein. [6] According to an aspect of the present disclosure, there is provided a method self-evolving deep machine learning on at least one apparatus, the method comprising: performing operations (e.g., a set of operations, a flow of operation, a procedure, a routine etc.) comprising: receiving, by a first apparatus, input data; transmitting the input data to a pre-trained machine learning module (which may be a foundation feature extractor, FFE) of the first apparatus; encoding, by the pretrained machine learning module of the first apparatus, the input data; grouping, by the first apparatus, the encoded input data into a plurality of clusters based on a similarity of individual data points of the input data; and providing, by the first apparatus at least one representative example to represent each cluster of the plurality of clusters. Advantageously, such a method may provide faster learning and / or problem solving than a method employing an iterative gradient descent algorithms, requiring fewer parameters. [7] According to an example, the operations are repeated as long as the input data is being received. [8] According to an example, the method may further comprise receiving, by the first apparatus, a request for object identification; receiving, by the first apparatus, object input data corresponding to the request for object identification; providing, by the first apparatus, a degree of association of the object input data with (or for) each cluster of the plurality of clusters; identifying, by the first apparatus, whether one of the at least one representative example corresponds to the object input data based on the provided degree of association; and if so, outputting, by the first apparatus, a signal indicating the at least one representative example that corresponds to the object input data. [9] According to an example, the method may further comprise receiving, by the first apparatus, an input by a user indicating a category for at least one cluster of the plurality of clusters; and / or receiving, by the first apparatus, target output data.

[10] According to an example, the object input data is: encoded, by the pre-trained machine learning module of the first apparatus; and the encoded object input data is grouped, by the first apparatus, into at least one cluster (e.g., which may be one or the plurality of clusters, or a new cluster) based on a similarity of the individual data points of the object input data such that the individual data points are used in future implementation of the machine learning. Advantageously, this may support lifelong learning.

[11] According to an example, the signal is output by controlling the first apparatus to flash a light, output a sound, and / or display information on a display.

[12] According to an example, the request for object identification relates to at least one of autonomous vehicles, space and aviation, cyber security, robotics, agricultural work, categorizing symptoms of disease and diagnosis, and human activity data analysis.

[13] According to an example, the encoding of the input data comprises: transforming, by the first apparatus, the input data into a vector; the vector is a set of numerical values configured such that the similarity of individual data points is represented by a function of the numerical values representing the closeness of individual data points; and the number of numerical values is defined according to the pre-trained machine learning module.

[14] According to an example, grouping of the encoded data comprises: determining, by the first apparatus, for each individual data point, that the individual data point belongs to a cluster of the plurality of clusters if said individual data point is closer in vector space to a point from said cluster than any other individual data point that belongs to a different cluster.

[15] According to an example, the providing the at least one representative example comprises: determining a cluster centre for each cluster of the plurality of clusters or a nearest individual data point to the cluster centre within the vector space for each cluster of the plurality of clusters; identifying a category associated with each cluster of the plurality of clusters; and providing the at least one representative example based on the identified category.

[16] According to an example, the input data includes at least one of image data, natural language data, spectroscopy data, CT scan data, MRI scan data, or tabular data including temperature, pressure, accelerometer, velocity, time series, economic or biological data.

[17] According to an example, the at least one apparatus further includes a second apparatus; wherein the method further comprises: transmitting, by the first apparatus, the at least one representative example to the second apparatus.

[18] According to an example, the method may further comprise: receiving, by the second apparatus, other input data; transmitting the input data to a pre-trained machine learning module of the second apparatus; encoding, by the pre-trained machine learning module of the second apparatus, the other input data; grouping, by the second apparatus, the encoded other input data into a plurality of clusters based on a similarity of individual data points of the other input data; providing, by the second apparatus at least one representative example to represent each cluster of the plurality of clusters; and transmitting, by the second apparatus, the at least one representative example to the first apparatus.

[19] According to another aspect of the present disclosure, there is provided an apparatus for self-evolving deep machine learning, the apparatus comprising: a memory configured to store a set of representative examples; a pre-trained machine learning module; a clustering module; at least one processor, communicably connected to the pre-trained learning module and the clustering module, the at least one processor is configured to: receive input data; transmit the input data to the pre-trained machine learning module; encode, by the pre-trained machine learning module, the input data; group, by the clustering module, the encoded input data into clusters based on a similarity of individual data points of the input data; and provide at least one representative example, of the set of representative examples, to represent each cluster.

[20] According to an example, the apparatus may further comprise an image capturing apparatus.

[21] According to various examples, the apparatus may be arranged or configured to perform a method according to any of the examples provided above or any combination of the examples provided above.

[22] According to another aspect of the present disclosure, there is provided a system comprising: a first apparatus; and a second apparatus, wherein the second apparatus is connected to the first apparatus via a communication link; wherein the first apparatus is configured to: receive input data; transmit the input data to a pre-trained machine learning module; encode, by the pretrained machine learning module, the input data; group, by the clustering module, the encoded input data into clusters based on a similarity of individual data points of the input data; provide at least one representative example, of a set of representative examples, to represent each cluster; and transmit the at least one representative example to the second apparatus; and wherein the second apparatus is configured to: receive other input data; transmit the other input data to a pre-trained machine learning module; encode, by the pre-trained machine learning module, the other input data; group, by the clustering module, the encoded other input data into clusters based on a similarity of individual data points of the other input data; provide at least one other representative example, of a set of representative examples, to represent each cluster; and transmit the at least one other representative example to the first apparatus.

[23] According to an example, the system further comprises a plurality of further apparatuses are connected to each other, the first apparatus, and the second apparatus via a communication link; and the first apparatus and the second apparatus are configured to transmit the at least one representative example and the at least one other representative example to the plurality of further apparatuses.

[24] According to an example, the first apparatus and the second apparatus are configured to perform federated learning via exchange of the at least one representative example.

[25] According to another aspect of the present disclosure, there is provided a computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to: receive input data; transmit the input data to a pre-trained machine learning module; encode, by the pre-trained machine learning module, the input data; group, by the clustering module, the encoded input data into clusters based on a similarity of individual data points of the input data; and provide at least one representative example, of a set of representative examples, to represent each cluster.

[26] According to another aspect of the present disclosure, there is provided a computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to perform a method according to any of the examples described above or any combination of the examples described above.

[27] Other aspects, advantages, and salient features of the invention will become apparent to those skilled in the art from the following detailed description taken in conjunction with the accompanying drawings. Brief Description of Drawings

[28] Figure 1 shows a flowchart illustrating an example method of self-evolving deep machine learning on at least one apparatus;

[29] Figure 2 shows a flowchart illustrating an example method of providing an output for a method of self-evolving deep machine learning;

[30] Figure 3 illustrates various examples of applications of the method of self-evolving deep machine learning;

[31] Figure 4 illustrates an example of a clustering method;

[32] Figure 5 is a diagram illustrating an example of self-evolving deep machine learning;

[33] Figure 6 is a diagram illustrating a plurality of apparatuses for implementing the self-evolving deep machine learning; and

[34] Figure 7 is a diagram illustrating an apparatus for implementing the self-evolving machine learning. Detailed Description

[35] Hereinafter, embodiments of the disclosure are described with reference to the accompanying drawings. However, it should be appreciated that the disclosure is not limited to the embodiments, and all changes and / or equivalents or replacements thereto also belong to the scope of the disclosure. The same or similar reference denotations may be used to refer to the same or similar elements throughout the specification and the drawings.

[36] As used herein, the terms "have", "may have", "include", or "may include" referring to a feature (e.g., a number, function, operation, or a component such as a part) indicate the existence of the feature and do not exclude the existence of other features.

[37] As used herein, the terms "A or B", "A and / or B", "at least one of A and / or B", or "one or more of A and / or B" may include all possible combinations of A and B. For example, "A or B", "at least one of A and B", "at least one of A or B" may indicate all of (1) including at least one A, (2) including at least one B, or (3) including at least one A and at least one B.

[38] As used herein, the terms "first" and "second" may modify various components regardless of importance and do no limit the components. These terms are only used to distinguish one component from another. For example, a first user device and a second user device may indicate user devices different from each other regardless of the order or importance of the devices. For example, a first component may be denoted a second component, and vice vera without departing from scope of the disclosure.

[39] It will be understood that when an element (e.g., a first element) is referred to as being (operatively or communicatively) "coupled with / to," or "connected with / to" another element (e.g., a second element), it can be coupled or connected with / to the other element directly or via a third element. In contrast, it will be understood that when an element (e.g., a first element) is referred to as being "directly coupled with / to" or "directly connected with / to" another element (e.g., a second element), no other element (e.g., a third element) intervenes between the element and the other element.

[40] As used herein, the terms "configured (or set) to" may be interchangeably used with the terms "suitable for," "having the capacity to," "designed to," "adapted to," "made to," or "capable of" depending on circumstances. The term "configured (or set) to" does not essentially mean "specifically designed in hardware to." Rather, the term "configured to" may mean that a device can perform an operation together with another device or parts.

[41] For example, the term "processor configured (or set) to perform A, B, and C" may mean a generic-purpose processor (e.g., a CPU or application processor) that may perform the operations by executing one or more software programs stored in a memory device or a dedicated processor (e.g., an embedded processor) for performing the operations.

[42] The terms as used herein are provided merely to describe some embodiments thereof, but not to limit the scope of other embodiments of the disclosure. It is to be understood that the singular forms "a," "'an," and "the" include plural references unless the context clearly dictates otherwise. All terms including technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiments of the disclosure belong. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein. In some cases, the terms defined herein may be interpreted to exclude embodiments of the disclosure.

[43] Reference will now be made to Figure 1, which illustrates a method of self-evolving deep machine learning on at least one apparatus. The method may provide continual learning in a machine learning context using only shallow learning techniques (such as clustering) using pretrained latent spaces that do not require finetuning.

[44] As described in more detail with reference to Figures 5 and 6, the at least one apparatus may include a first apparatus and a second apparatus. The at least one apparatus may further include one or more further apparatuses, connected to each other (directly or indirectly) and the first apparatus and the second apparatus via a communication link (for example, an internet link or other communications link).

[45] In step S110, the first apparatus is configured to receive input data. The input data may be image data, natural language data, spectroscopy data, CT scan data, MRI scan data, or tabular data (for example, data stored in tables) including temperature, pressure, accelerometer (or acceleration), velocity, time series, economic or biological data or the like. The first apparatus may be a computer, a smart phone, a wearable device, or any other suitable device.

[46] In step S120, the first apparatus is configured to transmit the input data to a pre-trained machine learning module of the first apparatus. The pre-trained machine learning module may be a foundation feature extractor (FFE) which may use a pre-trained foundation model (PT-FM) which may be pre-trained on large scale data (for example, generic large scale data) such as ImageNet or JFT- 300M or similar non-image data. These data sets may be generic and may differ from a specific problem posed by the input data, which may represent specific data which a user of the apparatus is trying to identify.

[47] In step S130, the first apparatus is configured to encode (or transform) the input data, by the pre-trained machine learning apparatus. For example, the input data may be encoded via a complex non-linear transformation which may be provided by the pre-trained foundation model of the pretrained machine learning module, and which may include a number of trainable parameters (for example, the number of trainable parameters may be large, in the millions or billions).

[48] The transformation of the input data may include transforming the input data into an n-dimensional vector, wherein the number of dimensions may be predefined or predetermined by the pre-trained foundation model of the pre-trained machine learning module and may be a power of 2 (for example, 1024, 2048, 4096, or 64). This transformation may thus be considered as encoding the input data into a vector (or code) or numerical values such that each individual data item is represented as a numerical value. The numerical values may be assigned such that data items which are similar or close in the vector space result in larger similarity in numerical value.

[49] That is, the encoding of the input data may comprise: transforming the input data into a vector, wherein the vector is a set of numerical values configured such that the similarity of individual data points is represented by a function of the numerical values representing the individual data points, and wherein the number of numerical values is defined according to the pretrained machine learning module.

[50] For example, the function may be an inverse of a norm of a difference in the numerical values representing the individual data points, regularised by adding a positive value (e.g. 1). That is, the numerical values may be assigned such that individual data points which are similar (or, in other words, close in vector space) result in larger similarity in numerical values. In other words, if two individual data points have a high similarity, this may be reflected in a corresponding difference in the numerical values of the individual data points.

[51] In step S140, the first apparatus is configured to group (or cluster) the encoded input data into a plurality of clusters based on a similarity of individual data points of the input data. This may be performed using existing clustering techniques such as k-means, DBSCAN (Ester, Martin; Kriegel, Hans-Peter; Sander, Jorg; Xu, Xiaowei (1996). Simoudis, Evangelos; Han, Jiawei; Fayyad, Usama M. (eds.). A density-based algorithm for discovering clusters in large spatial databases with noise (PDF). Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96). AAAI Press, pp. 226-231. CiteSeerX 10.1.1.121.9220. ISBN 1-57735-004-9.), ELM (Baruah, Rashmi Dutta, and Plamen Angelov. "Evolving local means method for clustering of streaming data." 2012 IEEE international conference on fuzzy systems. IEEE, 2012.), ADP (Rodriguez, A., &Laio, A.: Clustering by fast search and find of density peaks, Science, Vol. 344(6191), pp. 1492-1496. 2014.), or the like. Alternatively, other types of unsupervised learning may also be used.

[52] The grouping may be performed either online or offline, wherein the input data is continually received by the first apparatus in an online mode (for example, the input data may be received in the form of an input stream). For example, the input data may be received and processed in real-time, but there is no limit to how frequently the input data must be received in the online mode. For example, intervals of seconds, minutes, or days may pass between the input data being received. It will be appreciated that this can allow for lifelong learning to be provided by a method of the present disclosure. In an offline mode, a complete data set, or batches of data from a complete data set, is processed at a single time, rather than the input data being received in real-time.

[53] The grouping may comprise determining for each individual data point, that the individual data point belongs to a cluster of the plurality of clusters if said individual data point is closer in vector space a point from said cluster than any other individual data point that belongs to a different cluster.

[54] In more detail, the grouping may be performed by identifying individual data points of the input data which are similar to each other, and determining clusters of data points which are closest to individual data points in similarity and, if the individual data point is closest to a certain cluster than any other individual data point that belongs to another cluster, determining that the individual data point belongs to that cluster. Thus, a plurality of clusters of data points is generated.

[55] The grouping is further discussed with reference to Figure 4 below.

[56] In step S150, the first apparatus is configured to provide at least one representative example (or prototype) to represent each cluster of the plurality of clusters. The at least one representative example may be an example which represents a cluster of individual data points. For example, if a cluster of individual data points is related to images of dogs, the at least one representative example may be an image of a dog. In another example, if a cluster of individual data points is related to data representing a particular road hazard, the at least one representative example may be data related to road hazards, or data related to the particular road hazard.

[57] In more detail, the providing of the at least one representative example may further comprise: determining a cluster centre for each cluster of the plurality of clusters or a nearest individual data point to the cluster centre within the vector space for each cluster of the plurality of clusters; identifying a category associated with each cluster of the plurality of clusters; and providing the at least one representative example based on the identified category.

[58] In an example, determining the cluster centre for each cluster of the plurality of clusters may comprise determining (or finding, or generating, or calculating) a central point in space of the cluster based on its dimensions within the vector space. The central point may be determined, for example, by averaging point coordinates in Cartesian space. Alternatively, a nearest point to the cluster centre may be determined. This is because the cluster centre may not correspond to an actual individual data point and may therefore represent a less useful example; that is, the nearest individual data point to the cluster centre represents a real-life data point which can be used to provide, as an example, better interpretability for the method than averaged data points.

[59] In an example, identifying a category associated with each cluster of the plurality of cluster may comprise predicting a category which should be associated with each cluster. The category may be a label that indicates the type of data represented by the cluster. For example, if the cluster is related to images of dogs, the category identified may be "images of dogs" or the like.

[60] In addition to the above-described steps, the method may further comprise transmitting, by the first apparatus, the at least one representative example to a second apparatus (or to a plurality of other apparatus).

[61] Step S160, represented by a dashed line extending from step S150 to step S110, represents that the method steps may be repeated. For example, when the input data is continuously received, the method of claim 1 may be repeated as long as the input data is being received.

[62] For example, the method steps may be repeated indefinitely, or may be repeated a number of times. In an example in which the grouping is performed online, and the input data is being received continually, the method steps may be repeated as long as the input data is being received. That is, when the grouping is performed online, the method steps may be repeated until the data stream ends or, alternatively, until a stop condition is applied. For instance, if a condition is predefined (such as, for instance, a certain number of clusters is reached or an error occurs), when that condition is met, the method may end at step S150 after a number of repetitions.

[63] Referring now to Figure 2, the method steps described with reference to Figure 1 may continue into the steps described below. That is, step S150 of Figure 1 may continue into step S210 of Figure 2. Figure 2 may also be considered in isolation, however.

[64] In step S210, the first apparatus may be configured to receive a request for object identification.

[65] For example, the request for object identification may be a request to identify data. For example, the data may be image data and it may be requested for the subject of the image to be identified. For example, the user may have an image of a plant which requires recognition. In another example, the data may be natural language data and the user may require that a sentiment analysis of the natural language data be performed.

[66] The request for object identification may relate to at least one of autonomous vehicles, space and aviation, cyber security, robotics, agricultural work, categorizing symptoms of disease and diagnosis, and human activity data analysis, noting that these are non-limiting examples. Detailed examples of these applications will be discussed with reference to Figure 3.

[67] In step S220, the first apparatus may be configured to receive object input data corresponding to the request for object identification. The object input data may be image data, natural language data, spectroscopy data, CT scan data, MRI scan data, or tabular data (for example, data stored in tables) including temperature, pressure, accelerometer (or acceleration), velocity, time series, economic or biological data or the like, noting that these are non-limiting examples.

[68] In step S230, the first apparatus may be configured to provide a degree of association of the object input data for each cluster of the plurality of clusters.

[69] For example, for each individual data point of the object input data it may be identified how similar the individual data point is to each cluster of the plurality of clusters. Thus, a degree of association may be identified and provided which may indicate at least one cluster of the plurality of the clusters which may correspond to the object input data.

[70] In order to provide a degree of association of the object input data for each cluster of the plurality of clusters, the object input data may be encoded in the same manner as described by reference to step S130 of Figure 1.

[71] In step S240, the first apparatus may be configured to identify whether one of the at least one representative example corresponds to the object input data based on the degree of association.

[72] For example, if there is a high degree of association between the object input data and one cluster of the plurality of clusters, it may be identified that a representative example representing that cluster corresponds to the object input data. For example, the object input data may be image data representing an image of a plant which requires identification. Thus, it may be identified that the image data has a high degree of association with a cluster of the plurality of clusters with a category of "thistle" (or a broader classification of plant, such as "weed") and with a corresponding representative example.

[73] In an example, following step S230, a category for the nearest cluster may be identified. For example, the category may be a label that indicates the type of data represented by the cluster. For example, if the cluster is related to images of dogs, the category identified may be "images of dogs" or the like. Further to this example, the at least one representative example may be identified at least partly based on the identified category.

[74] In step S250, if it is identified that one of the at least one representative example corresponds to the object input data, the first apparatus may be configured to output a signal indicating the at least one representative example that corresponds to the object input data.

[75] For example, the signal may be output by controlling the first apparatus to flash a light, output a sound, and / or display information on a display. The first apparatus may alternatively be controlled to output the signal in another suitable way. The first apparatus may include, for example, at least one light emitting device (such as an LED or the like), at least one speaker, and a display configured to display information. For example, if it is identified (or determined) that one of the at least one representative example corresponds to the object input data, an LED may be lit up to indicate that a match has been identified. In another example, the first apparatus may be controlled to output a sound indicating that a match has been identified. In yet another example, the first apparatus may be controlled to display, on the display, information indicating that a corresponding representative example has been identified; this may include displaying the representative example itself.

[76] Alternatively, the first apparatus may transmit the signal to control a separate device connected to the first apparatus via a communication link and thereby control the separate device to flash a light, output a sound, or display information on a display, or provide another suitable output.

[77] In another example, it may not be identified that one of the at least one representative example corresponds to the object input data based on the degree of association. For example, if the degree of association is below a predefined threshold, it may be identified that an indeterminate result has been found. In this case, a signal may be output which represents the indeterminate result. Additionally, or alternatively, a new cluster and corresponding category may be created (or generated). This new cluster would then be available for future implementations of the self-evolving machine learning model. For example, when new input data is input to be encoded and grouped, similarity to the new cluster would also be identified (or determined). As such, even input data which cannot be identified immediately is used to inform and improve the model for future implementations.

[78] Further to this example, if, in a future implementation, it is identified that another received input data produces an indeterminate result, said input data may be compared to all previous data inputs for which an indeterminate result was output. Then, if the encoded individual data points of the new input data are identified as being similar to the previously received individual data points of input data, the new and previous individual data points may be grouped to form (or generate) a new cluster with an associated category. Additionally, a plurality of new clusters with associated categories may be formed (or generated) in the same way, if it is identified that the encoded individual data points of the new input data are similar to multiple different sets of previously received encoded individual data points of input data.

[79] In addition to the steps of Figure 2 described above, the object input data may further be processed according to the steps described with reference to Figure 1. That is, the object input data may further be encoded, by the pre-trained machine learning module of the first apparatus and the encoded object input data may be grouped, by the first apparatus, into at least one cluster based on a similarity of the individual data points of the object input data such that the individual data points are used in future implementations of the self-evolving deep machine learning. For example, once the object input data has been received and it has been identified whether one of the at least one representative examples corresponds to the object input data, the object input data may be further used to train the machine learning model by being encoded and grouped such that the individual data points of the object input data are added to at least one cluster based on a similarity of the individual data points of the object input data.

[80] In addition to the steps of Figure 1 and Figure 2 described above, the first apparatus may additionally receive an input by a user indicating a category for at least one cluster of the plurality of clusters and / or receive target output data. Thus, semi-supervised and / or supervised machine learning may be provided.

[81] For example, the user may provide, to the first apparatus, a category for all of the clusters of the plurality of clusters, or a category for a selection of the plurality of clusters, or a category for one of the clusters of the plurality of clusters. The category may be used to inform the machine learning model to provide a more accurate output corresponding to the said human-defined category.

[82] For example, the user may provide, to the first apparatus, target output data that indicates an output result that is expected. This provides additional training to the machine learning model which may result in more accurate outputs over time and / or a decrease in the time required to produce the output.

[83] Figure 3 illustrates various examples of how the self-evolving deep machine learning can be applied to different examples.

[84] The flow diagram (E) shows a practical example of how the method of self-evolving deep machine learning is applied in the real world.

[85] In step S310, input data (for example, the object input data of Figure 2) is received by the first apparatus. For example, the input data may be real-time data being received from a sensor such as an image capturing device, a spectroscope, a temperature sensor, a pressure sensor, a biometric sensor, or may be received from a connected device (for example, data may be received from a server or the like). For example, the input data may be received in real-time.

[86] In step S320, the input data is processed according to the steps described with reference to Figure 2.

[87] In step S330, the first apparatus outputs a signal (for example, the signal of Figure 2) which may be used to perform a real-time action. For example, if the input data is image data, the output may indicate that the image data has been recognised and the identification, and may thus cause the first apparatus to perform an action based on the identification.

[88] In step S340, the first apparatus may further process the input data according to the steps described with reference to Figure 1, such that the individual data points of the input data are used in future implementations of the self-evolving deep machine learning.

[89] Examples will now be described in which steps S310 to S340 are used in real-world applications. These examples focus on elements of object recognition, however it will be understood that the applications are not limited thereto.

[90] Example (A) illustrates an example in which the first apparatus is included in a vehicle 301 (such as a car, lorry, or the like, wherein the vehicle may be entirely or partially autonomous or selfdriving). For example, the first apparatus may form part of the vehicle 301, or may be included in a device which is used inside the vehicle (such as a smartphone). In the example, the vehicle 301 is driving on a road 303 and encounters a hazard 302 (such as an animal on the road). The hazard may be a new object, for example an object which has not been encountered before by the self-evolving deep machine learning model (such as a deer on the road, or the like).

[91] For example, while driving along the road 303, the first apparatus (or vehicle 301) may be recording image data using an image capturing device (such as a camera) and the image data may be continually input to the first apparatus (alternatively, the image data may be collected at regular intervals, or when a sensor detects a change in road conditions, and may thus be input in at least one discrete packet). The image data may then be processed according to the steps described by reference to Figure 2. When image data representing the hazard is input to the first apparatus, it may be identified that the hazard corresponds to at least one representative example based on a degree of association of each of the individual data points of the image data with a cluster of the plurality of clusters. For example, it may be determined that the image data representing the hazard corresponds to a representative example corresponding to a cluster with the category "animal" (or a more specific category, such as "deer").

[92] If at least one representative example is identified, the first apparatus outputs a signal indicating the at least one representative example. For example, the first apparatus may display an image on a display (for example, on a screen of the vehicle, or on a screen of another device being used in the vehicle 301, such as a smartphone) which indicates the hazard, or may output a warning sound through the speakers (for example, the speakers of the vehicle, or the speakers of another device being used in the vehicle 301, such as a smartphone), or may flash a warning light (for example, a light of the vehicle, or a light of another device being used in the vehicle 301, such as a smartphone). The signal may recommend that the driver of the vehicle 301 stop driving. In another example, the signal be output in the form of a control signal which automatically causes the vehicle 301 to brake, stopping the vehicle 301 before it impacts the hazard.

[93] In alternative examples, the method for self-evolving deep machine learning may also be used for semantic segmentation, reading road signs, and classification of road conditions.

[94] Thus, new, previously unaccounted for, situations on the road can be assessed and identified, with classifying, detecting, and segmenting of new objects.

[95] Example (B) illustrates an example in which the first apparatus is used to identify an obscured (or hidden or camouflaged) object 304. In another, similar example, the first apparatus may be used to identify small objects or objects that are otherwise difficult to see with the human eye.

[96] For example, the first apparatus may be part of, or on board, an autonomous or piloted vehicle (such as a plane or an aerospace vehicle such as an unmanned aviation vehicle (UAV)) which is used for object and situational recognition. According to this example, the first apparatus (or vehicle) may be recording image data using an image capturing device (such as a camera, or infra-red camera, or the like) and the image data may be continually input to the first apparatus (alternatively, the image data may be collected at regular intervals, or when a sensor detects a change in environmental conditions, and may thus be input in at least one discrete packet). The image data may then be processed according to the steps described by reference to Figure 2. When image data representing the obscured object 304 is input to the first apparatus, it may be identified that the obscured object corresponds to at least one representative example based on a degree of association of each of the individual data points of the image data with a cluster of the plurality of clusters. For example, it may be determined that the image data representing the obscured object corresponds to a representative example corresponding to a cluster with the category "vehicle" (or a more specific category, such as "car").

[97] If at least one representative example is identified, the first apparatus outputs a signal indicating the at least one representative example. For example, the first apparatus may display an image on a display (for example, on a screen of the vehicle) which indicates the obscured object, or may output a sound through the speakers (for example, the speakers of the vehicle), or may flash a light (for example, a light of the vehicle). The location of the obscured object 304 may then, for example, be recorded as location data by storing, for example, coordinates in a memory of the first apparatus, or, in another example, the location data may be transmitted to an external device.

[98] In alternative examples, the method for self-evolving deep machine learning may also be used for semantic segmentation, identifying changes in landscapes, and classification of weather conditions.

[99] Thus, automatic detection and recognition of objects which are obscured or otherwise difficult to see for the human eye may be provided.

[100] Example (C) illustrates a further example relating to Example (B), in which the first apparatus is used to identify objects 306 within a new environment, such as a disaster area (for example, a wildfire, flood, mudslide or the like), where the objects may be obscured, and wherein the objects to be identified may be, for example, people in need of recovery and rescue.

[101] In this example, the first apparatus is part of an unmanned aviation vehicle (UAV) 305 such as a drone or the like. Alternatively, there may be a plurality of apparatuses on board a plurality of UAVs 305, working in coordination. According to this example, the first apparatus (or the UAV) may be recording image data using an image capturing device (such as a camera, or infra-red camera, or the like) and the image data may be continually input to the first apparatus (alternatively, the image data may be collected at regular intervals, or when a sensor detects a change in environmental conditions, and may thus be input in at least one discrete packet). Alternatively or additionally, the UAV 305 may be recording sound data from the environment using a microphone, and the sound data may be continually input to the first apparatus (alternatively, the image data may be collected at regular intervals, or when a sensor detects a change in environmental conditions, and may thus be input in at least one discrete packet). The image and / or sound data may then be processed according to the steps described by reference to Figure 2. When image or sound data representing an object 306 is input to the first apparatus, it may be identified that the object 306 corresponds to at least one representative example based on a degree of association of each of the individual data points of the image data with a cluster of the plurality of clusters. For example, it may be determined that the image data representing the object corresponds to a representative example corresponding to a cluster with the category "human" (or a more specific category, such as the name of a person).

[102] If at least one representative example is identified, the first apparatus outputs a signal indicating the at least one representative example. For example, the first apparatus may display an image on a display (for example, on a screen of the vehicle) which indicates the object, or may output a sound through the speakers (for example, the speakers of the vehicle), or may flash a light (for example, a light of the vehicle). The location of the object 306 may then, for example, be recorded as location data by storing, for example, coordinates in a memory of the first apparatus, or, in another example, the location data may be transmitted to an external device. In an example in which sound data is being used, it may be the case that a recording of the sound is used to further investigate the area to search for the object 306 which the sound originates from.

[103] Thus, automatic detection and recognition of objects or people which are obscured or otherwise difficult to see for the human eye, such as in a disaster area may be provided in a timely and efficient manner requiring little effort.

[104] Example (D) illustrates an example in which the first apparatus is part of an agricultural vehicle 307 (such as a tractor, a harvester, or the like) wherein object recognition is required for identifying plants to be harvested.

[105] In this example, the agricultural vehicle 307 is harvesting plants and requires identification of which plants are crops 309 and which plants are weeds 308. According to this example, the first apparatus (or the agricultural vehicle 307) may be recording image data using an image capturing device (such as a camera, or infra-red camera, or the like) and the image data may be continually input to the first apparatus (alternatively, the image data may be collected at regular intervals, or when a sensor detects a change in environmental conditions and may thus be input in at least one discrete packet). The image data may then be processed according to the steps described by reference to Figure 2. When image data representing a plant 308, 309 is input to the first apparatus, it may be identified that the image data corresponds to at least one representative example based on a degree of association of each of the individual data points of the image data with a cluster of the plurality of clusters. For example, it may be determined that the image data representing the plant corresponds to a representative example corresponding to a cluster with the category "weed" (or a more specific category, such as "thistle"). In another example, it may be determined that the image data corresponds to a representative example corresponding to a cluster with the category "crop" (or a more specific category, such as "potato").

[106] If at least one representative example is identified, the first apparatus outputs a signal indicating the at least one representative example. For example, the first apparatus may display an image on a display (for example, on a screen of the agricultural vehicle or on a remote screen held by a user) which indicates the predicted identity plant, or may output a sound through the speakers (for example, the speakers of the agricultural vehicle 307 or of the first apparatus), or may flash a light indicating whether the plant is a weed (for example, a light of the agricultural vehicle 307 or of the first apparatus). The category of plant may then be used to control the agricultural vehicle 307 to harvest the plant if it is a crop 309, or ignore the plant if it is a weed 308.

[107] In alternative examples, the method for self-evolving deep machine learning may also be used for monitoring the growing conditions of crops, including identifying disease among the plants, pests, and environmental conditions which might affect the crops.

[108] Thus, a quick and efficient method of simplifying the maintaining and harvesting of crops may be provided.

[109] In another example (not illustrated) the first apparatus may be part of a biometric measuring device (such as a heart rate monitor, a wearable device such as a smart watch, blood sugar monitoring device, or the like). In this case, the first apparatus receives biometric data which requires monitoring for changes, particularly changes which correspond to health or emergency events for the user of the biometric measuring device. According to this example, the first apparatus receives biometric input data recorded by a sensor of the biometric device which may be received by the first apparatus as a continuous data stream (alternatively, the image data may be collected at regular intervals, or when a predefined condition of the sensor is met and may thus be input in at least one discrete packet). The biometric data may then be processed according to the steps described by reference to Figure 2. For example, when biometric data representing a health event is input to the first apparatus, it may be identified that the biometric data corresponds to at least one representative example based on a degree of association of each of the individual data points of the image data with a cluster of the plurality of clusters. For example, it may be determined that the biometric data corresponds to a representative example corresponding to a cluster with the category "dangerously high heart rate" (or a more specific category, such as "cardiac arrest").

[110] If at least one representative example is identified, the first apparatus outputs a signal indicating the at least one representative example. For example, the first apparatus may display an image on a display (for example, on a screen of the biometric device) which indicates the health event, or may output a sound through the speakers (for example, speakers of the biometric device), or may flash a light indicating a health event is occurring (for example, a light of the biometric device). The biometric data and identified health event may then be used to provide a warning to the user of the biometric device, alert the user to contact a relevant authority, or, in another example, the biometric data may be transmitted to a health provider of the user of the biometric device or the emergency services.

[111] In alternative examples, the method for self-evolving deep machine learning may also be used for identifying an activity of the user of a wearable device, identifying health trends in the user of a wearable device, or the like.

[112] Thus, automatic detection and identification of biometric events may be provided.

[113] Figure 4 is a diagram which shows a visualisation of a vector space (such as a Hilbert space) of a plurality of clusters. The vector space includes a finite sequence of input vectors which are each assigned a cluster. In this example, there are three clusters, represented by a 4-pointed star 401, a 5-pointed star 403, and a 7-pointed star 405, respectively, wherein the stars each represent the cluster centre of each cluster. The input vectors, which correspond to the individual data points of the input data, can be seen in groups around the stars.

[114] In an example, if an individual data point of encoded input data exists in the vector space such that it is closer to the 4-pointed star 401 than either other star (or alternatively, is closest to a nearest individual data point to the cluster centre within the vector space than any individual data point belonging to another cluster), it may be identified that the individual data point corresponds to that cluster (i.e., the cluster represented by the 4-pointed star 401). The individual data point may then be grouped into that cluster.

[115] Further to this example, if individual data point(s) of encoded input data are identified as belonging to the same cluster, it may be identified that a degree of association of the input data for that cluster is high and thus a corresponding at least one representative example may be identified. As such, a signal may be output indicating the at least one representative example that corresponds to the input data. Additionally, in various examples, a plurality of clusters (i.e., more than one) may correspond to one concept or category. As such, a signal may be output for the closest representative example of a / the user-defined concept or category that corresponds to the input data along the lines disclosed above and / or the closest representative example of a cluster if a user has not provided such input; that is, where a user may provide a category (or concept) for all of the clusters of the plurality of clusters, or a category (or concept) for a selection of the plurality of clusters, or a category (or concept) for one of the clusters of the plurality of clusters, where the category (or concept) provided by the user may be used to inform the machine learning model to provide a more accurate output corresponding to the said human-defined category.

[116] Figure 5 is a diagram representing a plurality of apparatuses for self-evolving deep machine learning. For example, the method of self-evolving deep machine learning as described with reference to Figures 1 and 2 may be implemented on at least one apparatus. The at least one apparatus may include a first apparatus 501 and a second apparatus 502, wherein the first apparatus 501 and the second apparatus 502 are connected to each other via a communication link. In various examples, the at least one apparatus may further include one or more further apparatus 503, 504, wherein the further apparatus 503, 504 are connected to each other, the first apparatus 501, and the second apparatus 502 via a communication link. In another case, each apparatus of the plurality of apparatus may be either directly or indirectly connected to each other apparatus; in other words, even if the first apparatus 501 cannot directly communicate with one of the further apparatus 503, 504, the first apparatus 501 is still capable of indirectly sending data to said further apparatus 503, 504 (e.g., via the second apparatus 502, if the second apparatus 502 is directly connected to the first apparatus 501 and said further apparatus 503, 504).

[117] The first apparatus 501 may be configured to perform the steps described by reference to Figures 1 and 2. The first apparatus 501 may be configured, after performing the steps described by reference to Figure 1, to additionally transmit the at least one representative example (e.g., at least one first representative example) to the second apparatus 502 and / or the plurality of further apparatuses 503.

[118] The second apparatus 502 may be configured to perform the steps described by reference to Figures 1 and 2. The second apparatus 502 may be configured, after performing the steps described by reference to Figure 1, to additionally transmit the at least one representative example (e.g., at least one second representative example) to the first apparatus 501 and / or the further apparatuses 503, 504.

[119] For example, the method described with reference to Figure 1, when carried out on the second apparatus 502, may comprise transmitting the input data to a pre-trained machine learning module (which may be a FFE) of the second apparatus 502, encoding, by the pre-trained machine learning module of the second apparatus 502, the other input data, grouping the encoded other input data into a plurality of clusters based on a similarity of individual data points of the other input data, providing at least one other representative example to represent each cluster of the plurality of clusters, and transmitting the at least one other representative example (e.g., at least one second representative example) to the first apparatus 501.

[120] The further apparatuses 503, 504 may also be configured to perform the steps described by reference to Figures 1 and 2. Each further apparatus 503, 504 may be configured, after performing the steps described by reference to Figure 1, to additionally transmit the at least one representative example (e.g., at least one further representative example) to the first apparatus 501 and / or the second apparatus 502.

[121] In an example, the first apparatus 501 and the second apparatus 502 may be configured to perform federated learning via exchange of the at least one representative example (e.g., the respective at least one representative example).

[122] Figure 5 illustrates what may be considered to be a decentralised case where each apparatus may be regarded as equal (e.g., in terms of role). For example, each apparatus performs a deep learning method as disclosed herein, and shares the result with the other apparatus, so as to provide an updated model, updated clusters, or updated representative examples etc. at all of the apparatus. In other examples, the methods of the present disclosure may be provided in a centralised case, in which one apparatus is provided with a different role (e.g., specialised) compared to the others. In such a case, this one apparatus may perform one or more additional or different operation(s) to those performed by the other apparatus. For example, the one apparatus may receive the updated model or results (or similar) from each of the other apparatus, and be responsible for collating the updates into a single updated model for sharing with the other apparatus. Of course, the skilled person would understand how one apparatus may be provided with a number of different roles compared to the remaining apparatus, and so to centrally perform specialised features.

[123] Figure 6 is a diagram representing a system comprising a first apparatus (for example, the first apparatus 501 of Figure 5) and a second apparatus (for example, the second apparatus 502 of Figure 5), wherein the second apparatus is connected to the first apparatus via a communication link. For example, the first apparatus and the second apparatus may be connected via the internet or other communication link (e.g., a wired link, ethernet, WiFi, 3G, 4G, 5G, B5G, 3GPP-based, Bluetooth etc.).

[124] In step S610, the first apparatus 501 receives input data.

[125] In step 5615, the second apparatus 502 receives other input data.

[126] In step 5620, the first apparatus 501 transmits the input data to a pre-trained machine learning module of the first apparatus 501.

[127] In step S625, the second apparatus 502 transmits the other input data to a pre-trained machine learning module of the second apparatus 502.

[128] In step S630, the first apparatus 501 encodes, by the pre-trained machine learning module, the input data.

[129] In step 5635, the second apparatus 502 encodes, by the pre-trained machine learning module, the other input data.

[130] In step S640, the first apparatus 501 groups, by a clustering module, the encoded input data into clusters based on a similarity of individual data points of the input data.

[131] In step S645, the second apparatus 502 groups, by a clustering module, the encoded other input data into clusters based on a similarity of individual data points of the object input data.

[132] In step 5650, the first apparatus 501 provides at least one representative example, of a set of representative examples, to represent each cluster.

[133] In step 5655, the second apparatus 502 provides at least one other representative example, of a set of representative examples, to represent each cluster.

[134] In step S660, the first apparatus 501 transmits the at least one representative example to the second apparatus 502.

[135] In step 5665, the second apparatus 502 transmits the at least one other representative example to the first apparatus 501.

[136] In addition to the above-described steps, the first apparatus 501 and the second apparatus 502 may transmit the at least one representative example and the at least one other representative example to the plurality of further apparatuses 503, 504 and may, in turn, receive at least one representative example from the plurality of further apparatuses 503, 504.

[137] In a related example, the first apparatus 501 and the second apparatus 502 may be configured to perform federated learning (e.g., decentralised or centralised) via exchange of the at least one representative example and the at least one other representative example. The federated learning may also include exchange of representative examples with the plurality of further apparatuses 503, 504.

[138] Figure 7 is a diagram of an apparatus 700 for self-evolving deep machine learning.

[139] The apparatus 700 comprises a memory 710, a pre-trained machine learning module 720, a clustering module 730, and at least one processor 740.

[140] The memory 710 is configured to store a set of representative examples.

[141] The pre-trained learning module is configured to receive and encode the input data. The pretrained learning module may be a foundation feature extractor (FFE). The foundation feature extractor may use a pre-trained foundation model (PT-FM), as described above.

[142] The clustering module is configured to group the encoded input data into clusters based on a similarity of individual data points of the input data.

[143] The clustering module and the pre-trained learning module may be part of or controllable by the at least one processor.

[144] The apparatus 700 may be further comprise an image capturing apparatus (such as a camera, micro-camera, infra-red camera or the like). The apparatus 700 may further comprise a sensor (such as a biometric sensor, temperature sensor, pressure sensor, gyroscope, accelerometer, or the like).

[145] The apparatus 700 may be part of another device such as a vehicle (for example, a car, agricultural vehicle, automated or self-driving vehicle, UAV, or the like), smartphone, medical device, or the like.

[146] The present disclosure also provides a computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to receive input data, transmit the input data to a pre-trained machine learning module, encode, by the pre-trained machine learning module, the input data, group, by the clustering module, the encoded input data into clusters based on a similarity of individual data points of the input data, and provide at least one representative example, of a set of representative examples, to represent each cluster.

[147] Features, integers, characteristics or groups described in conjunction with a particular aspect, embodiment or example of the invention are to be understood to be applicable to any other aspect, embodiment or example described herein unless incompatible therewith. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and / or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and / or steps are mutually exclusive. The disclosure is not restricted to the details of any foregoing embodiments. The disclosure extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed. In particular, any dependent claims may be combined with any of the independent claims and any of the other dependent claims.

Claims

1. A method of self-evolving deep machine learning on at least one apparatus, the method comprising:performing operations comprising:receiving, by a first apparatus, input data;transmitting the input data to a pre-trained machine learning module of the first apparatus;encoding, by the pre-trained machine learning module of the first apparatus, the input data;grouping, by the first apparatus, the encoded input data into a plurality of clusters based on a similarity of individual data points of the input data; andproviding, by the first apparatus at least one representative example to represent each cluster of the plurality of clusters.

2. The method of claim 1, wherein the input data is received continuously; andwherein the operations are repeated as long as the input data is being received.

3. The method of claim 1 or claim 2, wherein the method further comprises:receiving, by the first apparatus, a request for object identification;receiving, by the first apparatus, object input data corresponding to the request for object identification;providing, by the first apparatus, a degree of association of the object input data with each cluster of the plurality of clusters;identifying, by the first apparatus, whether one of the at least one representative example corresponds to the object input data based on the provided degree of association; andif so, outputting, by the first apparatus, a signal indicating the at least one representative example that corresponds to the object input data.

4. The method of any preceding claim, wherein the method further comprises:receiving, by the first apparatus, an input by a user indicating a category for at least one cluster of the plurality of clusters; and / orreceiving, by the first apparatus, target output data.

5. The method of claim 3 or claim 4, wherein the object input data is encoded, by the pretrained machine learning module of the first apparatus; andwherein the encoded object input data is grouped, by the first apparatus, into at least one cluster based on a similarity of the individual data points of the object input data such that the individual data points are used in future implementation of the machine learning.

6. The method of claims 3 to 5, wherein the signal is output by controlling the first apparatus to flash a light, output a sound, and / or display information on a display.

7. The method of any of claims 3 to 6, wherein the request for object identification relates to at least one of autonomous vehicles, space and aviation, cyber security, robotics, agricultural work, categorizing symptoms of disease and diagnosis, and human activity data analysis.

8. The method of any preceding claim, wherein the encoding of the input data comprises:transforming the input data into a vector;wherein the vector is a set of numerical values configured such that the similarity of individual data points is represented by a function of the numerical values representing the closeness of individual data points; andwherein the number of numerical values is defined according to the pre-trained machine learning module.

9. The method of any preceding claim, wherein the grouping of the encoded data comprises:determining for each individual data point, that the individual data point belongs to a cluster of the plurality of clusters if said individual data point is closer in vector space to a point from said cluster than any other individual data point that belongs to a different cluster.

10. The method of any preceding claim, wherein the providing the at least one representative example further comprises:determining a cluster centre for each cluster of the plurality of clusters or a nearest individual data point to the cluster centre within the vector space for each cluster of the plurality of clusters;identifying a category associated with each cluster of the plurality of clusters; andproviding the at least one representative example based on the identified category.

11. The method of any preceding claim, wherein the input data includes at least one of image data, natural language data, spectroscopy data, CT scan data, MRI scan data, or tabular data including temperature, pressure, accelerometer, velocity, time series, economic or biological data.

12. The method of any preceding claim, wherein the at least one apparatus further includes a second apparatus;wherein the method further comprises:transmitting, by the first apparatus, the at least one representative example to the second apparatus.

13. The method of claim 12, wherein the method further comprises:receiving, by the second apparatus, other input data;transmitting the input data to a pre-trained machine learning module of the second apparatus;encoding, by the pre-trained machine learning module of the second apparatus, the other input data;grouping, by the second apparatus, the encoded other input data into a plurality of clusters based on a similarity of individual data points of the other input data;providing, by the second apparatus at least one representative example to represent each cluster of the plurality of clusters; andtransmitting, by the second apparatus, the at least one representative example to the first apparatus.

14. An apparatus for self-evolving deep machine learning, the apparatus comprising:a memory configured to store a set of representative examples;a pre-trained machine learning module;a clustering module;at least one processor, communicably connected to the pre-trained learning module and the clustering module, the at least one processor is configured to:receive input data;transmit the input data to the pre-trained machine learning module;encode, by the pre-trained machine learning module, the input data;group, by the clustering module, the encoded input data into clusters based on a similarity of individual data points of the input data; andprovide at least one representative example, of the set of representative examples, to represent each cluster.

15. The apparatus of claim 14, wherein the apparatus further comprises an image capturing apparatus.

16. A system comprising:a first apparatus; anda second apparatus, wherein the second apparatus is communicably connected to the first apparatus via a communication link;wherein the first apparatus is configured to:receive input data;transmit the input data to a pre-trained machine learning module of the first apparatus;encode, by the pre-trained machine learning module of the first apparatus, the input data;group, by a clustering module of the first apparatus, the encoded input data into clusters based on a similarity of individual data points of the input data;provide at least one representative example, of a first set of representative examples, to represent each cluster; andtransmit the at least one representative example to the second apparatus; andwherein the second apparatus is configured to:receive other input data;transmit the other input data to a pre-trained machine learning module of the second apparatus;encode, by the pre-trained machine learning module of the second apparatus, the other input data;group, by a clustering module of the second apparatus, the encoded other input data into clusters based on a similarity of individual data points of the other input data;provide at least one other representative example, of a second set of representative examples, to represent each cluster; andtransmit the at least one other representative example to the first apparatus.

17. The system of claim 16, wherein the system further comprises a plurality of further apparatuses communicably connected to each other, the first apparatus, and the second apparatus via a communication link; andwherein the first apparatus and the second apparatus are configured to transmit the at least one representative example and the at least one other representative example, respectively, to the plurality of further apparatuses.

18. The system of claims 16 and 17, wherein the first apparatus and the second apparatus are configured to perform federated learning via exchange of the at least one representative example and the at least one other representative example.

19. A computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to perform the method of any of claims 1 to 13.

Citation Information

Patent Citations

  • Method, data processing device, computer program product and data carrier signal

    EP4040312A1

  • Semi-supervised learning based on clustering objects in video from a property

    US11544505B1

  • Edge-based adaptive machine learning for object recognition

    US20180114098A1

  • Systems and methods of automatic medical image labeling

    US20220114389A1