Method and system for providing second neural network

By building a joint neural network and utilizing layer loss functions and self-supervised learning, data privacy and access restrictions for migrating neural networks in different architectures in a distributed environment are solved, and efficient knowledge transfer and training efficiency are achieved.

CN120387481APending Publication Date: 2025-07-29SIEMENS HEALTHINEERS AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510109136.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-01-26
Filing Date
2025-01-23
Publication Date
2025-07-29

AI Technical Summary

Technical Problem

In a decentralized environment, it is difficult to migrate the knowledge of the trained first neural network to a second neural network with different architectures due to data privacy rules and data access restrictions, and existing methods lack scalability and cost-effectiveness.

Method used

By building a joint neural network, using parts of the first neural network and parts of the second neural network, combining layer loss function and self-supervised learning, the second neural network is trained to avoid direct access to the complete training data of the first neural network.

Benefits of technology

It realizes efficiently migrating knowledge from the first neural network to the second neural network without accessing the complete training data, overcoming the technical challenges of data access and architecture differences, and improving training efficiency and performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120387481A_ABST
    Figure CN120387481A_ABST
Patent Text Reader

Abstract

The invention relates to a method and system for providing a second neural network. The invention relates to providing a second neural network. The method is based on receiving a first neural network trained to map first input data to first output data and receiving a second neural network configured to map second input data to second output data. The second input data has the same structure as the first input data. Further, it is based on determining a joint neural network comprising a first portion of the first neural network and a second portion of the second neural network. Further, it is based on receiving the first training data and the second training data. Further, it is based on training the joint neural network in accordance with the first training data and training the second neural network in accordance with the second training data and the layer loss function. The layer loss function is based on a comparison of a value of a second layer of a second portion in the second neural network to a value of a corresponding layer in the trained joint neural network. Further, it is based on providing a second neural network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of artificial intelligence (abbreviated as "AI"), and in particular, to a method for facilitating the transfer of knowledge from one AI model to another. This is particularly relevant in scenarios where the models have significantly different architectures and the original training data is limited or unavailable due to technical constraints. Background Art

[0002] In the dynamic field of AI, the development and training of advanced models are crucial for continuous progress. The data used to train these AI models is a key factor in enhancing their performance. However, due to various technical factors, access to such data is often restricted. These technical factors include strict data privacy rules that prevent the sharing of sensitive information, routine data cleansing practices that erase historical data at data sources such as hospitals, and the use of decentralized training methods across multiple sites that limit centralized data access. Summary of the Invention

[0003] The challenge addressed by the present invention is to transfer knowledge from a first established neural network trained in a decentralized environment or for which access to the training data is no longer available due to these technical constraints to a new second neural network having a different architecture from the first neural network.

[0004] Current methods that involve directly using the following data have several limitations: training the first neural network on the data. Firstly, this is not feasible due to technical constraints caused by data privacy rules and the routine cleansing of data at the source location. Secondly, it lacks scalability because collecting data from multiple sites distributed across various geographical locations is time-consuming and technically challenging. In addition, data privacy rules typically prevent data sharing, further complicating the process. Finally, it is not cost-effective. A model trained in a decentralized manner over several years may have been trained on a large number of data points. Managing and storing these data sets in a central location can be prohibitively expensive, especially if the model was trained on a privately-owned data set with restricted access.

[0005] The potential problem of the present invention is to transfer knowledge from the first neural network to the second neural network without accessing the complete training data of the first neural network, thereby overcoming the technical challenges associated with data access, privacy, and differences in model architecture. By solving this problem, the present invention may have the potential to significantly change the way AI models learn and evolve, particularly in decentralized environments where data privacy and access are key considerations.

[0006] This problem is solved by the independent claims. Other advantageous embodiments and additional advantageous features are described in the dependent claims and the description.

[0007] In the following, solutions according to the invention are described with respect to the claimed system and with respect to the claimed method. Features, advantages or alternative embodiments herein may be assigned to other corresponding claimed subject matters and vice versa. In other words, features described or claimed in the context of the corresponding method may be used to improve the system. In this case, the functional features of the method are embodied by the target unit of the system.

[0008] Furthermore, in the following, solutions according to the invention are described with respect to a method and system for providing a second neural network and with respect to a method and system for using such a second neural network. Features, advantages or alternative embodiments herein may be assigned to other claimed subject matters and vice versa. In other words, features described or claimed in the context of using the second neural network may be used to improve the claims and embodiments for providing the second neural network.

[0009] In the following, the term "in particular" is used to indicate optional and / or advantageous additional features. Furthermore, the term "applying a neural network to data" or "applying a unit to data" is used to indicate that the corresponding data serves as input data for the model or unit, or to indicate the use of input data that includes the corresponding data (and potentially other data).

[0010] In a first aspect, the invention relates to a computer-implemented method for providing a second neural network. The method is based on receiving a first neural network trained to map first input data to first output data, and on receiving a second neural network configured to map second input data to second output data. The second input data has the same structure as the first input data. Furthermore, the method is based on determining a joint neural network comprising a first part of the first neural network and a second part of the second neural network. Furthermore, the method is based on receiving first training data and second training data. Furthermore, the method is based on: training the joint neural network based on the first training data; and training the second neural network based on the second training data and a layer loss function. The layer loss function is based on a comparison of the value of a second layer of the second part in the second neural network with the value of the corresponding layer in the trained joint neural network. Furthermore, the method is based on providing the second neural network.

[0011] In an alternative form, according to this aspect, the present invention relates to a computer-implemented method for providing a second neural network. The method is based on receiving a first neural network and based on receiving a second neural network, wherein the input layer of the first neural network has the same size as the input layer of the second neural network. Further, the method is based on determining a combined neural network comprising a first part of the first neural network and a second part of the second neural network. Further, the method is based on receiving first training data and second training data. Further, the method is based on: training the combined neural network based on the first training data; and training the second neural network based on the second training data and a layer loss function. The layer loss function is based on a comparison of the values of a second layer of the second part in the second neural network with the values of the corresponding layer in the trained combined neural network. Further, the method is based on providing the second neural network.

[0012] In particular, the steps of receiving the first neural network and the second neural network and the steps of receiving the first training data and the second training data are performed by an input unit or interface, in particular by an input unit or interface of a providing system. In particular, the steps of determining the combined neural network and training the combined neural network and the second neural network are performed by a computing unit, in particular by a computing unit of a providing system. In particular, the step of providing the second neural network is performed by an output unit or interface, in particular by an output unit or interface of a providing system.

[0013] In particular, a neural network is a specific type of machine learning model. In particular, a machine learning model is a computational model that improves its performance in a task over time by being exposed to data. The model can be a collection of algorithms or instructions that generate a specific output based on input data. More specifically, a machine learning model can be a supervised model, where the model is trained on a dataset with known outputs, or an unsupervised model, where the model identifies patterns in a dataset without known outputs.

[0014] In particular, a neural network can include nodes or layers of nodes (in this context, synonyms for "node" are "unit" or "processing element") connected by edges, where weights are assigned to these edges. In particular, a neural network can be a deep neural network, a convolutional neural network, a convolutional deep neural network, or a transformer network. Further, a neural network can also be an adversarial network, a deep adversarial network, and / or a generative adversarial network.

[0015] In particular, the first input data and the second input data having the same structure means that the first input data and the second input data have the same format, organization, and / or representation.

[0016] In particular, if the first input data can be represented as a numerical vector or matrix, the second input data is a numerical vector or matrix of the same dimension. In particular, if the first input data is an image, the second input data is an image having the same dimension and the same size (measured in pixels or voxels) with respect to each dimension.

[0017] In particular, if the input layer of the first neural network and the input layer of the second neural network have the same size, the first neural network and the second neural network are configured to process the first input data and the second input data having the same structure. In particular, if the number of nodes in the input layer of the first neural network is equal to the number of nodes in the input layer of the second neural network, the input layer of the first neural network and the input layer of the second neural network have the same size.

[0018] Preferably, the first training data has the same structure as the first input data. Preferably, the second training data includes data having the same structure as the second input data.

[0019] In particular, the first training data may include training data that has been previously used to train the first neural network. In particular, the first training data may be a subset of the training data used to train the first neural network. However, the first training data may also be independent of the training data that has been previously used to train the first neural network.

[0020] In particular, the second training data may include training data that has been previously used to train the first neural network. In particular, the second training data may be a subset of the training data used to train the first neural network. However, the second training data may also be independent of the training data that has been previously used to train the first neural network.

[0021] The joint neural network includes a first part of the first neural network and a second part of the second neural network. In particular, a part of a neural network includes the layers of the neural network. In addition, a part of a neural network may include the edges between the nodes in the layer. In particular, a part of a neural network includes multiple subsequent layers of the neural network and all the edges between the corresponding layers of the neural network.

[0022] In particular, the joint neural network is constructed to include a first part of the first neural network and a second part of the second neural network. This means that when constructing the joint neural network, the weights of the edges within the joint neural network correspond to the weights of the edges in the first part of the first neural network and the second part of the second neural network. However, if there is subsequent training of the joint neural network, the weights of these edges may change based on the training of the neural network.

[0023] In particular, the combined neural network can be a foundation neural network. In particular, the foundation neural network is trained on a large amount of data on a large scale (in particular, through self-supervised learning or semi-supervised learning), so that it can be adapted to a wide range of downstream tasks.

[0024] Generally, the parameters of a machine learning model (especially those of a neural network) can be adapted by means of training. In the training process, the values of the weights associated with the edges are changed. In particular, supervised training, semi-supervised training, unsupervised training, reinforcement learning, and / or active learning can be used. In addition, representation learning (an alternative term is "feature learning") can be used. In particular, the parameters of the machine learning model can be iteratively adapted through a number of training steps. In particular, in training, a specific cost function can be minimized. In particular, in the training of a neural network, the backpropagation algorithm can be used.

[0025] In particular, a loss function is an operation that quantifies the difference between the predicted output and the actual output in a machine learning model or neural network. Here, the predicted output and the actual output of the neural network can also correspond to quantities that can be obtained from parts of the neural network that do not correspond to the output layer of the neural network. The loss function can be used during the training of the neural network to adjust the weights and biases of the network. In particular, the goal of this adjustment process is to minimize the value of the loss function, thereby reducing the difference between the predicted output and the actual output and improving the performance of the model or neural network.

[0026] The inventors recognized that by using the first part of the first neural network in the combined neural network, the data incorporated into the first neural network through training can be transferred to the combined neural network. In addition, the training of the combined neural network can be performed in a self-supervised manner, so that there is no need to obtain the ground truth of the training data, and there is a larger amount of available training data. Based on the use of the layer loss function, the data incorporated into the combined network can be used for the training of the second neural network. This ultimately means that less training data is required to train the second neural network compared to training from scratch. In particular, in the case where all the training data of the first neural network is no longer accessible, using the proposed method, the unavailable training data can still positively affect the training and performance of the second neural network.

[0027] According to another possible aspect, the first part includes the first layer of the first neural network and / or the second part includes the second layer of the second neural network. According to another possible aspect, the first part includes multiple first layers of the first neural network and / or the second part includes multiple second layers of the second neural network. The inventors recognize that by using the first part and / or the second part that includes complete layers, it can be exploited that the information in the connected and corresponding parts of the neural network is more relevant to the training of the second neural network.

[0028] According to another aspect, the second part includes multiple consecutive second layers of the second neural network. According to another possible aspect, the first part includes multiple consecutive first layers of the first neural network. The inventors recognize that by using the first part and / or the second part that includes complete layers, it can be exploited that the information in the connected and corresponding parts of the neural network is more relevant to the training of the second neural network.

[0029] According to another aspect, the combined neural network includes a mirrored second part that is a mirrored version of the second part, wherein the last layer of the second part is the same as the first layer of the mirrored second part.

[0030] Generally, a mirrored part that is a mirrored version of the original part of a neural network can be understood to refer to an object having a structure and configuration that is a reflection or inverse of the original part of the neural network. The mirrored part can have the same number of layers as the original part, but the order of the layers can be reversed. For example, if the original part includes three consecutive layers in the order of "Layer A", "Layer B", and "Layer C", the mirrored part can include the same series of hidden layers in the reverse order, i.e., three consecutive layers in the order of "Layer C", "Layer B", and "Layer A". In particular, the edges or weights of the original part can also be mirrored or inverted to determine the edges and weights of the mirrored part. In particular, if there is an edge between the first node of the first layer and the second node of the second layer in the original part, there is also a connection between the corresponding nodes and corresponding layers in the mirrored part. The weights of the edges can be randomly initialized or calculated based on the weights of the original part.

[0031] The inventors recognize that by using the mirrored second part within the combined neural network, it is more suitable for training in a self-supervised manner.

[0032] According to another aspect, the first part includes multiple consecutive first layers of the first neural network, and the combined neural network includes a mirrored first part that is a mirrored version of the first part. Further, in the combined neural network, the first part is arranged before the second part, and the mirrored first part is arranged after the mirrored second part.

[0033] In particular, the first part of the neural network being arranged before the second part of the neural network means that the first part of the neural network is positioned closer to the input layer of the neural network (and farther from the output layer of the neural network) than the second part. Vice versa, the first part of the neural network being arranged after the second part of the neural network means that the first part of the neural network is positioned farther from the input layer of the neural network (and closer to the output layer of the neural network) than the second part.

[0034] The inventors have recognized that by including in the order explained the joint neural network of the first part and the second part and the mirrored first part and the mirrored second part, very efficient training of the joint neural network can be performed.

[0035] According to another possible aspect, the joint neural network does not include an additional layer between the first part and the second part, and the joint neural network does not include an additional layer between the mirrored second part and the mirrored first part.

[0036] The inventors have recognized that by not using additional layers between the first part and the second part and between the mirrored second part and the first part, the number of additional weights that need to be adapted during training is minimized, thereby improving the training efficiency of the joint neural network.

[0037] According to another aspect, the layer loss function is based on the cosine similarity, L1 loss, and / or L2 loss between the second layer of the second part in the second neural network and the corresponding layer in the trained joint neural network.

[0038] In particular, when the second neural network is applied to an element of the training data, the value of the second layer of the second part in the second neural network used corresponds to a set of values of the nodes of the second layer. In particular, when the joint neural network is applied to the corresponding training data, the value of the corresponding layer within the joint neural network corresponds to the values of the nodes of that layer.

[0039] In particular, the values of the nodes of a layer can be arranged as a vector for calculating the loss function. In particular, not all nodes in the corresponding layer used to construct the vector may be used to calculate the loss function. In particular, a corresponding subset of the nodes in the corresponding layer (including at least one node) may be used.

[0040] In particular, the cosine similarity can be understood as a measure of the similarity between two non - zero vectors in an inner product space, where the first vector corresponds to the value of the second layer within the second part of the second neural network, and the second vector corresponds to the value of the corresponding layer in the trained joint neural network. This measure is calculated by dividing the dot product of the two vectors by the product of the vector magnitudes.

[0041] In particular, the L1 loss is a loss function that calculates the absolute difference between the true value and the predicted value. If the true value and the predicted value correspond to vectors, the loss function can be calculated by summing the element-wise absolute differences. The term "Least Absolute Deviations" can be used as a synonym for the term "L1 loss".

[0042] In particular, the L2 loss is a loss function that calculates the square of the difference between the true value and the predicted value. If the true value and the predicted value correspond to vectors, the loss function can be calculated by summing the squares of the element-wise differences. The term "Least Squares Error" can be used as a synonym for the term "L2 loss".

[0043] The inventors recognized that using cosine similarity, L1 loss, and / or L2 loss is a very effective way to minimize the difference between the first vector and the second vector in the loss function, and created a very effective training process.

[0044] According to another aspect, the second training data includes training input data and associated training reference data, where the second loss function includes an output loss function based on a comparison of the result of applying the second neural network to the training input data with the associated training reference data. In particular, the second training data can include multiple pairs, each pair including training input data and associated training reference data. In particular, the second loss function is selected to minimize the difference between the result of applying the second neural network to the training input data and the associated training reference data. In particular, the second loss function can correspond to cosine similarity, L1 loss, L2 loss, and / or cross-entropy.

[0045] Preferably, the training input data has the same structure as the second input data.

[0046] The inventors recognized that based on the proposed output loss function, the second neural network can be trained to reproduce the relationship between the training input data and the associated training reference data.

[0047] According to another aspect of the present invention, the joint neural network includes an input layer and an output layer, where the input layer of the joint neural network and the output layer of the joint neural network have the same size.

[0048] The inventors recognized that by having an input layer and an output layer of the same size, the joint neural network has an autoencoder structure that can be trained unsupervised without creating a specific ground truth.

[0049] According to another aspect, the joint neural network is trained based on the difference between the input data of the joint neural network and the output of the joint neural network when applied to the input data, wherein the input data is based on the first training data. In particular, the input data can be the same as the first training data.

[0050] The inventors recognized that by training based on the difference between the input data and the corresponding output data, the joint neural network has an autoencoder structure that can be trained unsupervised without creating a specific ground truth.

[0051] According to another aspect of the present invention, training the joint neural network includes a sub-step of preprocessing the first training data using a preprocessing portion of the first neural network, and a sub-step of applying the joint neural network to the input data including the preprocessed first training data.

[0052] In particular, the preprocessing portion includes at least one layer of the first neural network. In particular, the preprocessing portion can include at least two consecutive layers of the first neural network. In particular, the preprocessing portion can include the input layer of the first neural network.

[0053] The inventors recognized that by using the preprocessing portion to preprocess the first training data, the structure of the joint neural network can be selected more flexibly, and / or if the joint neural network is to work with input data having a different structure from the input data of the first neural network, other methods for preprocessing the data do not have to be used.

[0054] According to another aspect of the present invention, the preprocessing portion and the first portion include the first consecutive layer of the first neural network, wherein the last layer of the preprocessing portion is the first layer of the first portion. In particular, the last layer of the preprocessing portion within the first neural network is the first layer of the first portion within the first neural network.

[0055] The inventors recognized that by using the preprocessing portion and the overlapping first portion, no additional data transformation is required due to the fact that the structure of the output data of the preprocessing portion is equal to the structure of the input data of the first portion and / or the input data of the joint neural network.

[0056] According to another aspect of the present invention, the method further includes augmenting the first training data and / or the second training data.

[0057] In particular, augmenting training data corresponds to the process of artificially expanding or enhancing training data to improve the performance of machine learning models, particularly neural networks. This process can involve creating new data points based on existing data, which can include, but is not limited to, techniques such as perturbation, rotation, scaling, flipping, cropping, or any other type of transformation known in the art. In particular, augmenting training data can involve perturbing existing data by adding a small amount of noise to create new data points. Alternatively, augmenting training data can involve rotating or flipping images in a dataset used to train an image recognition model.

[0058] The inventors recognize that data augmentation can increase the diversity and quantity of training data, which can help the model generalize better and reduce overfitting, leading to improved performance on unseen data. Additionally, data augmentation is a cost-effective way to increase the size and diversity of training data without the need to collect new data, which can be expensive and time-consuming. Furthermore, data augmentation can help the model learn features that are invariant to the transformations used in the augmentation process, leading to a better representation of the data.

[0059] In a second aspect, the present invention relates to a computer-implemented method, comprising the step of using a second neural network provided by the method according to one aspect of the present invention for at least one of the following: controlling a medical imaging device and / or a laboratory device, processing a patient's medical images, digital audio enhancement, image enhancement and / or video enhancement, digital audio analysis, image analysis and / or video analysis, encrypting, decrypting, and / or signing electronic communications, speech recognition, providing a medical diagnosis through an automated system that processes physiological measurements, processing a patient's medical images to segment and / or classify structures within the medical images.

[0060] For the task of controlling a medical imaging device and / or a laboratory device, the neural network can be used to optimize and streamline the imaging protocol by reducing the time taken to acquire image data, or it can be used to improve resolution and enhance image quality. In particular, models such as super-resolution convolutional neural network models, denoising convolutional neural network models, or perceptron neural network models can be used in a medical imaging system.

[0061] For the task of digital audio enhancement, image enhancement, and / or video enhancement, the neural network can be used to improve the quality of digital audio, images, and videos by reducing noise, improving resolution, and enhancing the overall quality. In particular, convolutional neural networks that can learn and understand the underlying patterns in the data can be used.

[0062] For tasks of digital audio analysis, image analysis, and / or video analysis, neural networks can be used to analyze digital audio, image, and video data by identifying patterns, classifying data, and making predictions based on the learned patterns. In particular, deep learning models that can learn complex representations of the data can be used.

[0063] For tasks of encrypting, decrypting, and / or signing electronic communications, neural networks can be used to encrypt, decrypt, and sign electronic communications by learning latent patterns in the data and using these patterns to encode and decode the data. In particular, recurrent neural networks that can learn sequences in the data can be used.

[0064] For tasks of speech recognition, neural networks can be used to perform speech recognition by converting spoken language into written text. In particular, recurrent neural networks and long short-term memory (LSTM) networks that can learn the temporal dynamics of speech can be used.

[0065] For tasks of providing medical diagnoses through automated systems that process physiological measurements, neural networks can be used to provide medical diagnoses by processing physiological measurements and making predictions based on the learned patterns. In particular, deep learning models that can learn complex representations of the data can be used.

[0066] For tasks of processing medical images of patients to segment and / or classify structures within the medical images, neural networks can be used to segment and classify structures within the medical images by learning latent patterns in the image data. In particular, convolutional neural networks that can learn the spatial hierarchy in the data can be used.

[0067] In a third aspect, the present invention relates to providing a system that includes means for performing the method of one aspect of the various aspects of the present invention.

[0068] In another aspect, the present invention relates to a system for providing a trained second neural network, the system including at least one processor configured to:

[0069] - Receive a first neural network that is trained to map first input data to first output data,

[0070] - Receive a second neural network that is configured to map second input data to second output data,

[0071] wherein the second input data has the same structure as the first input data,

[0072] - Determine a joint neural network that includes a first part of the first neural network and a second part of the second neural network,

[0073] - Receive first training data and second training data,

[0074] - Train a joint neural network based on the first training data,

[0075] - Train a second neural network based on the second training data and a second loss function,

[0076] wherein the second loss function includes a layer loss function based on a comparison of values of a second layer of a second part in the second neural network with values of a corresponding layer in the trained joint neural network,

[0077] - Provide (PROV) the second neural network.

[0078] In another aspect, the present invention relates to a system for using the second neural network provided by the method according to one aspect of the present invention for at least one of the following:

[0079] - Controlling a medical imaging device and / or a laboratory device,

[0080] - Processing medical images of a patient,

[0081] - Digital audio enhancement, image enhancement, and / or video enhancement,

[0082] - Digital audio analysis, image analysis, and / or video analysis,

[0083] - Encrypting, decrypting, and / or signing electronic communications,

[0084] - Speech recognition,

[0085] - Providing a medical diagnosis through an automated system that processes physiological measurements,

[0086] - Processing medical images of a patient to segment and / or classify structures within the medical images.

[0087] In a fourth aspect, the present invention relates to a computer program product comprising instructions that, when executed by a computer, cause the computer to perform the method according to one aspect of the present invention.

[0088] In a fifth aspect, the present invention relates to a computer-readable storage medium comprising instructions that, when executed by a computer, cause the computer to perform the method according to one aspect of the present invention.

[0089] Implementing the present invention or one of its aspects through a computer program product and / or a computer-readable medium has the following advantages: An existing system can be easily adapted through software updates to work as proposed by the present invention.

[0090] The computer program product may be, for example, a computer program or include another element in addition to the computer program. This other element may be hardware, such as a storage device on which the computer program is stored, a hardware key for using the computer program, etc., and / or software, such as a document or software key for using the computer program. BRIEF DESCRIPTION OF THE DRAWINGS

[0091] In view of the following description and embodiments that will be described in detail in the context of the drawings, the features, characteristics, and advantages of the invention described above, as well as the ways to implement them, become clearer and easier to understand. The following description does not limit the invention to the included embodiments. In different drawings, the same components or parts may be labeled with the same reference numerals. Generally, the drawings are not drawn to scale.

[0092] The numbering and / or order of method steps are intended to facilitate understanding, and unless explicitly stated otherwise or clearly implied, the numbering and / or order of method steps should not be construed to mean that the specified steps must be performed according to the numbering of their reference numerals and / or their order in the drawings. In particular, several or even all of the method steps may be performed simultaneously, in an overlapping manner, or sequentially.

[0093] Hereinafter:

[0094] Figure 1 A first embodiment of a first neural network is shown,

[0095] Figure 2 A first embodiment of a second neural network is shown,

[0096] Figure 3 A first embodiment of a combined neural network is shown,

[0097] Figure 4 A first embodiment of training a second neural network based on a pre-trained combined neural network is shown,

[0098] Figure 5 A second embodiment of a first neural network is shown,

[0099] Figure 6 A second embodiment of a second neural network is shown,

[0100] Figure 7 A second embodiment of a combined neural network is shown,

[0101] Figure 8 A second embodiment of training a second neural network based on a pre-trained combined neural network is shown,

[0102] Figure 9A flowchart of a first embodiment of a method for providing a trained second neural network is shown.

[0103] Figure 10 A flowchart of a second embodiment of a method for providing a trained second neural network is shown.

[0104] Figure 11 An embodiment of providing a system is shown. Detailed Embodiment

[0105] Figure 1 An embodiment of a first neural network NN.1 is shown. The first neural network NN.1 obtains first input data INPD-1 and is configured, through training, to map the first input data INPD-1 to first output data OUTD-1.

[0106] The first neural network NN.1 includes four layers L1.1, …, L1.4 (input layer L1.1, output layer L1.4, and two hidden layers L1.2, L1.3). In this embodiment, the four layers L1.1, …, L1.4 are consecutive layers. Each layer among the layers L1.1, …, L1.4 includes at least one node. The nodes of the consecutive layers L1.1, …, L1.4 are connected by edges, and there is a weight (a real number, preferably between -1 and 1) assigned to each edge. In this embodiment, between each pair of nodes in two consecutive layers, there is an edge (fully connected layer). Alternatively, there may only be edges between selected pairs of nodes.

[0107] In this embodiment, the first input data INPD-1 is a four-dimensional vector of real numbers, and the first output data OUTD-1 is a real number (which can be interpreted as a one-dimensional vector of real numbers).

[0108] Hereinafter, let x i (k) represent the value of the i-th node in the k-th layer L1.1, …, L1.4. In this notation, the first input data INPD-1 corresponds to the value x i (1) , and the first output data OUTD-1 corresponds to the value x i (4) . Based on the values x i (k) of the previous layer, the value x j (k+1) of the layer is calculated by x (k+1) (Σ j V ij (k,k+1) x i (k) ) to obtain the value x j(k+1) , where V ij (k,k+1) represents the weight of the edge between node i in the k-th layer and node j in the (k + 1)-th layer, and where f (k+1) : or f (k+1) : is an activation function (e.g., sigmoid, tanh, ReLU, or SoftMax function). The values of the weights can be constructed as a matrix, and the values of the nodes can be constructed as a vector, such that the calculation is equivalent to x (k+1) = f (k+1) (V (k,k+1) x (k) ), where the activation function is applied component-wise to its argument.

[0109] In this embodiment, the first neural network NN.1 includes a first part P1, and the first part P1 includes the hidden layers L1.2, L1.3 of the first neural network NN.1. Alternatively, the first part P1 may include other layers L1.1, …, L1.4 of the first neural network NN.1, in particular, including the consecutive layers L1.1, …, L1.4 of the first neural network NN.1. In addition, the first neural network NN.1 includes a preprocessing part PP, and the preprocessing part PP includes the input layer L1.1 and the first hidden layer L1.2 of the first neural network NN.1. In particular, the preprocessing part PP includes the consecutive layers L1.1, …, L1.4 of the first neural network NN.1, and the last layer L1.2 of the preprocessing part PP is equal to the first layer L1.2 of the first part P1. However, the preprocessing part may also include other layers L1.1, …, L1.4 of the first neural network NN.1.

[0110] Figure 2 Shows an embodiment of the second neural network NN.2. The second neural network NN.2 receives second input data INPD-2 and is configured to map the second input data INPD-2 to second output data OUTD-2.

[0111] The second neural network NN.2 includes four layers L2.1, …, L2.4 (input layer L2.1, output layer L2.4, and two hidden layers L2.2, L2.3). In this embodiment, the second neural network NN.2 includes the same number of layers as the first neural network NN.1. However, the second neural network NN.2 may also include more or fewer layers than the first neural network NN.1. In this embodiment, the four layers L2.1, …, L2.4 of the second neural network NN.2 are consecutive layers. Each layer in L2.1, …, L2.4 includes at least one node. The nodes of the consecutive layers L2.1, …, L2.4 are connected by edges, and there is a weight (a real number, preferably between -1 and 1) assigned to each edge. In this embodiment, between each pair of nodes in two consecutive layers, there is an edge (fully connected layers). Alternatively, there may only be edges between selected pairs of nodes.

[0112] In this embodiment, the first input data INPD-1 and the second input data INPD-2 have the same structure, and both the first input data INPD-1 and the second input data INPD-2 are four-dimensional vectors. In particular, the input layer L1.1 of the first neural network NN.1 and the input layer L2.1 of the second neural network NN.2 include the same number of nodes.

[0113] Hereinafter, let y i (k) represent the value of the i-th node in the k-th layer L2.1, …, L2.4. In this notation, the second input data INPD-2 corresponds to the value y i (1) , and the second output data OUTD-2 corresponds to the value y i (4) . Based on the value y i (k) of the previous layer, the value y j (k+1) of the layer is calculated by y (k+1) = f j (Σ ij (k,k+1) W i (k) ) where W j (k+1) represents the weight of the edge between the i-th node in the k-th layer and the j-th node in the (k + 1)-th layer, and where f ij (k,k+1) : (k+1) : or f (k+1) : is an activation function (e.g., sigmoid, tanh, ReLU, or SoftMax function). The values of the weights can be structured as a matrix, and the values of the nodes can be structured as a vector such that the computation is equivalent to y (k+1) = f (k+1) (W (k,k+1) y (k) ), where the activation function is applied component-wise to its argument.

[0114] In this embodiment, the second neural network NN.2 includes a second part P2, and the second part P2 includes the hidden layers L2.2, L2.3 of the second neural network NN.2. Alternatively, the second part P2 may include other layers L2.1, …, L2.4 of the second neural network NN.2, in particular, including the consecutive layers L2.1, …, L2.4 of the second neural network NN.2.

[0115] Figure 3 shows an embodiment of a joint neural network NN.J based on a first part P1 of a first neural network NN.1 as shown in Figure 1 and a second part P2 of a second neural network NN.2 as shown in Figure 2 .

[0116] The joint neural network is constructed by connecting the first part P1 and the second part P2. Further, in this embodiment, the joint neural network NN.J also includes a mirrored first part P1' and a mirrored second part P2'. For the mirrored parts, the transposed weight matrix is used instead of the original weight matrix.

[0117] The joint neural network NN.J includes an input layer LJ.INPT and an output layer LJ.OUTP, where the input layer LJ.INPT and the output layer LJ.OUTP include the same number of nodes (in the example shown, both the input layer LJ.INPT and the output layer LJ.OUTP include three nodes).

[0118] In this embodiment, there is no additional layer between the first part P1 and the second part P2 within the joint neural network NN.J. The joint model is constructed such that all nodes of the last layer of the first part P1 are connected to all nodes of the first layer of the second part P2 (fully connected layer), and the corresponding weights are randomly initialized. Alternatively, an additional layer may be included between the first part P1 and the second part P2, and the additional weights may also be randomly initialized.

[0119] In this embodiment, the joint neural network NN.J includes the second part P2 and the mirrored second part P2'. The weights of the mirrored second part P2' are initialized such that for the mirrored second part P2', the transposed weight matrix W of the corresponding layer within the second part P2 is usedT In this embodiment, the last layer of the second part P2 is equivalent to the first layer of the mirrored second part P2'. Alternatively, an additional layer may be used between the second part P2 and the mirrored second part P2', and the additional weights between the additional layers may be randomly initialized.

[0120] In this embodiment, there is no additional layer between the mirrored second part P2' and the mirrored first part P1' within the joint neural network NN.J. The joint model is constructed such that all nodes of the last layer of the mirrored second part P2' are connected to all nodes of the first layer of the mirrored first part P1' (fully connected layer), and the corresponding weights are randomly initialized. Alternatively, an additional layer may be included between the mirrored second part P2' and the mirrored first part P1', and the additional weights may also be randomly initialized.

[0121] To adapt the weights of the joint neural network NN.J during training, the first training data TD.1 is preprocessed by the preprocessing part PP of the first neural network NN.1, such that preprocessed training data PTD.1 is generated. The preprocessed training data PTD.1 is used as the input data of the joint neural network NN.J, such that output data TD.1' is generated. The preprocessed training data PTD.1 and the output data TD.1' have the same structure. For example, they may be vectors with the same dimensions. The weights of the joint neural network NN.J are adapted based on the loss function LF.J, where the loss function LF.J is based on the comparison between the preprocessed training data PTD.1 and the output data TD.1'. In this embodiment, the loss function is based on the sum of squared residuals of the preprocessed training data PTD.1 and the output data TD.1'. The adaptation of the weights is based on the backpropagation algorithm.

[0122] Figure 4 The training of the second neural network NN.2 based on the pre-trained joint neural network NN.J is shown. The second neural network NN.2 has the same structure as shown in Figure 2 and the joint neural network NN.J has the same structure as shown in Figure 3

[0123] Before training the second neural network NN.2, the weights of the second part P2 within the second neural network NN.2 are copied or randomly initialized from the corresponding parts of the joint neural network NN.J.

[0124] ​The training of the second neural network NN.2 is based on the second training data TD.2. In this embodiment, the second training data TD.2 includes paired training input data TD.2.ID and training reference data TD.2.RD. Within the training process, the training input data TD.2.ID is used as the input to the second neural network NN.2 to create training output data TD.2.OD. In order to adapt the weights of the second neural network NN.2 using the backpropagation algorithm, the second loss function LF.2 is used.

[0125] In this embodiment, the second loss function LF.2 includes an output loss function LF.O and a layer loss function LF.L. The output loss function LF.O is based on the comparison between the training reference data TD.2.RD and the training output data TD.2.OD. The layer loss function LF.L is based on the comparison of the values of the layers of the second part P2 within the second neural network NN.2 with the corresponding layers of the second part P2 within the joint neural network NN.J. In particular, the following terms can be used for the second loss function LF.2:

[0126] L2 ∝ L O (t R ,t O ) + α·∑ k∈P2 L L (y (k) ,z (k) )

[0127] where L O represents the output loss function LF.O, t R represents the training reference data TD.2.RD, t O represents the training output data TD.2.OD, α is a weighting factor, the sum traverses all the layers in the second part P2, L L represents the layer loss function LF.L, y (k) represents the value of the k-th layer within the second neural network NN.2, and z (k) represents the value of the corresponding layer within the joint neural network NN.J.

[0128] In this embodiment, the output loss function LF.O is based on a loss function that is the sum of squared residuals:

[0129] L O (t R ,t O ) ∝ ∑ i (t R,i -–t O,i ) 2

[0130] Instead of the sum of squared residuals, other loss functions that measure the difference between the training reference data TD.2.RD and the training output data TD.2.OD can also be used.

[0131] In this embodiment, the layer loss function LF.L is the cosine similarity of the vectors representing the values of the corresponding layer:

[0132]

[0133] In this formula, represents the scalar product of two vectors, and |·| represents the length of the vector. Alternatively, other loss functions can be used. For example, the L1 loss function can be used:

[0134] L L (y (k) ,z (k) )∝∑ i |y i (k) -z i (k) |

[0135] Alternatively, the L2 loss function (corresponding to the sum of squared residuals) can be used:

[0136] L L (y (k) ,z (k) )∝∑ i (y i (k) –z i (k) ) 2

[0137] Alternatively, combinations of these loss functions and / or other similar loss functions can also be used.

[0138] Figure 5 A second embodiment of the first neural network NN.1 is shown, and Figure 6 a second embodiment of the second neural network NN.2 is shown.

[0139] This embodiment of the first neural network NN.1 corresponds to a variant of LeNet for processing 28x28 pixel image patches to classify an input image into ten classes. The LeNet architecture is disclosed, for example, in the paper "Gradient-based learning applied to document recognition" (1998) by Y. Lecun et al., Proc. IEEE. 86(11) 2278–2324, doi:1*.11*9 / 5.726791. The first neural network NN.1 includes as Figure 5Eight consecutive layers (input layer, output layer, and six hidden layers) indicated by the rectangle in. The first and second layers, and the third and fourth layers are connected by edges (indicated by the five-sided arrow in Figure 5 ) to form a convolutional operation with a kernel size of 5x5 and padding of 2 or no padding. The second and third layers, and the fourth and fifth layers are connected by edges that form an average 2x2 pooling operation with a stride of 2. All other layers are fully connected.

[0140] In this embodiment, the second neural network NN.2 corresponds to another variant of LeNet for processing 28x28 pixel image patches. Compared with the first neural network NN.1, the second neural network NN.2 classifies into 15 different classes (for example, the second neural network NN.2 can identify 10 classes of the first neural network NN.1 and another 5 classes not identified by the first neural network NN.1). The structure of the second neural network NN.2 is similar to the structure of the first neural network NN.1. However, compared with the first neural network NN.1, the sizes of the last three layers of the second neural network NN.2 are increased.

[0141] Figure 7 shows a second embodiment of the joint neural network NN.J based on the first neural network NN.1 shown in Figure 5 and the second neural network NN.2 shown in Figure 6 .

[0142] In this embodiment, the joint neural network NN.J includes a first part P1 of the first neural network NN.1, a second part P2 of the second neural network NN.2, a mirrored second part P2', and a mirrored first part P1'. The first part P1 and the second part P2, and the mirrored second part P2' and the mirrored first part P1' are connected by fully connected edges. However, fewer connections can also be used. Due to the fact that the first layer of the first neural network NN.1 is the corresponding layer of the first layer of the joint neural network NN.J, the training data suitable for the first neural network NN.1 can be directly used for the joint neural network NN.J without preprocessing.

[0143] The training of the joint neural network NN.J in this embodiment can be performed similar to the embodiment shown in Figure 3 . However, in this embodiment, the preprocessed training data PTD.1 is equal to the first training data TD.1. The training of the second neural network NN.2 based on the pre-trained joint neural network NN.J in this embodiment can be performed similar to the embodiment shown in Figure 4 .

[0144] Figure 8 shows based onFigure 5 The first neural network NN.1 shown in Figure 6 and a third embodiment of the joint neural network NN.J of the second neural network NN.2 shown in

[0145] In this embodiment, the joint neural network NN.J includes a first part P1 of the first neural network NN.1 and a second part P2 of the second neural network NN.2. The first part P1 and the second part P2 are connected via fully connected edges. However, fewer connections can also be used. Due to the fact that the first layer of the first neural network NN.1 and the first layer of the joint neural network NN.J are corresponding layers, the training data suitable for the first neural network NN.1 can be directly used for the joint neural network NN.J without preprocessing.

[0146] In this embodiment, the joint neural network NN.J includes additional layers that are not included in either the first neural network NN.1 or the second neural network NN.2. In particular, the joint neural network NN.J includes a depooling and deconvolutional layer for upsampling such that the input layer and the output layer have the same size and structure.

[0147] It can be similar to Figure 3 The training of the joint neural network NN.J in this embodiment can be performed in a manner similar to the embodiment shown in Figure 4 However, in this embodiment, the preprocessed training data PTD.1 is equal to the first training data TD.1. The training of the second neural network NN.2 based on the pre-trained joint neural network NN.J in this embodiment can be performed in a manner similar to the embodiment shown in

[0148] Figure 9 A flowchart of a first embodiment of a method for providing a trained second neural network NN.2 is shown.

[0149] According to this embodiment, the method includes the step of receiving a first neural network NN.1 trained to map a first input data INPD-1 to a first output data OUTD-1. In this embodiment, the first neural network NN.1 has a structure as described with respect to Figure 1 Alternatively, other first neural networks NN.1 can be used. The method further includes the step of receiving a second neural network NN.2 configured to map a second input data INPD-2 to a second output data OUTD-2. In this embodiment, the second neural network NN.2 has a structure as described with respect to Figure 2 Alternatively, other second neural networks NN.2 can be used.

[0150] The second input data INPD-2 has the same structure as the first input data INPD-1. This means that the second neural network NN.2 can process the same input data as the first neural network NN.1. It is possible that (compared with the first neural network NN.1), the second neural network NN.2 can process additional input data.

[0151] The method further includes the step of determining the DET joint neural network NN.J, where the joint neural network includes a first part P1 of the first neural network NN.1 and a second part P2 of the second neural network NN.2. In this embodiment, the joint neural network NN.J has the structure as described with respect to Figure 3 Alternatively, other joint neural networks NN.J can be used.

[0152] In this embodiment of the method, the second part P2 includes a plurality of consecutive second layers L2.1, …, L2.M of the second neural network NN.2. Alternatively, the second part P2 can include only one of the second layers L2.1, …, L2.M of the second neural network NN.2, or the second part P2 can include a plurality of non-consecutive second layers L2.1, .., L2.M of the second neural network NN.2.

[0153] In this embodiment of the method, the first part P1 includes a plurality of consecutive first layers L1.1, …, L1.N of the first neural network NN.1. Alternatively, the first part P1 can include only one of the first layers L1.1, …, L1.N of the first neural network NN.1, or the first part P1 can include a plurality of non-consecutive first layers L1.1, …, L1.N of the first neural network NN.1.

[0154] In this embodiment of the method, the joint neural network NN.J includes a mirrored second part P2' which is a mirrored version of the second part P2. In addition, the last layer of the second part P2 and the first layer of the mirrored second part P2' are the same. In addition, the joint neural network NN.J includes a mirrored first part P1' which is a mirrored version of the first part P1. In the joint neural network NN.J, the first part P1 is arranged before the second part P2, and the mirrored first part P1' is arranged after the mirrored second part P2'.

[0155] The method further includes the step of receiving a first training data TD.1 and a second training data TD.2 of REC-TD. In this embodiment, the second training data TD.2 includes training input data TD.2.ID and associated training reference data TD.2.RD. Preferably, the second training data TD.2 includes a plurality of pairs of training input data TD.2.ID and associated training reference data TD.2.RD. In particular, the training input data TD.2.ID has the same structure as the second input data INPD-2.

[0156] The method further includes the step of training a joint neural network NN.J of TRN-NN.J based on the first training data TD.1. In this specific embodiment, the joint neural network NN.J includes an input layer LJ.INPT and an output layer LJ.OUTP, and the input layer LJ.INPT and the output layer LJ.OUTP of the joint neural network NN.J have equal sizes. In addition, training the joint neural network NN.J of TRN-NN.J is based on the difference between the input data of the joint neural network NN.J and the output of the joint neural network NN.J when applied to the input data, where the input data is based on the first training data TD.1. However, other methods of training the joint neural network NN.J based on the first training data TD.1 can also be used.

[0157] The method further includes the step of training a second neural network NN.2 of TRN-NN.2 based on the second training data TD.2 and a second loss function LF.2. The second loss function LF.2 includes a layer loss function LF.L based on the comparison of the values of the second layer L2.1, …, L2.M of the second part P2 in the second neural network NN.2 and the values of the corresponding layers in the trained joint neural network NN.J. Regarding Figure 4 The step of training the second neural network NN-2 of TRN-NN.2 is described in more detail.

[0158] The method further includes providing a second neural network NN.2 of PROV. Providing the second neural network NN.2 of PROV may include at least one of storing, transmitting, and displaying the second neural network NN.2.

[0159] In this embodiment, the steps of receiving the first neural network NN.1 of REC-1 and the second neural network NN.2 of REC-2, as well as the steps of receiving the first training data TD.1 and the second training data TD.2 of REC-TD, are performed by the interface PSYS.IF of the providing system PSYS. In addition, the steps of determining the joint neural network NN.J and training the joint neural network NN.J of TRN-NN.J and the second neural network NN.2 of TRN-NN.2 are performed by the computing unit PSYS.CU of the providing system PSYS. In addition, the step of providing the second neural network NN.2 of PROV is performed by the interface PSYS.IF of the providing system PSYS.

[0160] Figure 10 A flowchart of a second embodiment of a method for providing a trained second neural network NN.2 is shown. This embodiment includes all the steps of the first embodiment of the method for providing a trained second neural network NN.2 as described with respect to Figure 9 These steps can have any of the advantageous other embodiments already disclosed with respect to Figure 9 any of the other embodiments.

[0161] The second embodiment further includes the step of augmenting the first training data TD.1 and / or the second training data TD.2 by AUG-TD. Augmenting the first training data TD.1 and / or the second training data TD.2 by AUG-TD includes techniques such as perturbation, rotation, scaling, flipping, cropping, or any other type of transformation known in the art.

[0162] In the second embodiment, the step of training the joint neural network NN.J of TRN-NN.J further includes the steps of preprocessing the first training data TD.1 by the preprocessing part PP of the first neural network NN.1 and applying the joint neural network NN.J to the input data including the preprocessed first training data PTD.1 by APPL-NN.J. In this embodiment, the preprocessing part PP and the first part P1 include the consecutive first layers L1.1,..., L1.N of the first neural network NN.1, and the last layer of the preprocessing part PP is the first layer of the first part P1. Alternatively, other ways of preprocessing the first training data TD.1 and / or other structures of the preprocessing part PP of the first neural network NN.1 can be used.

[0163] Figure 11 An embodiment of a providing system PSYS according to an embodiment of the present invention is shown. The providing system PSYS is configured to perform a method for providing a trained second neural network NN.2 according to an embodiment of the present invention.

[0164] The providing system PSYS can be or include a (personal) computer, a workstation, a virtual machine running on host hardware, a microcontroller, or an integrated circuit. Alternatively, the providing system PSYS can be a real or virtual group of computers (the technical term for a real group of computers is "cluster", and the technical term for a virtual group of computers is "cloud").

[0165] The providing system PSYS can include an interface PSYS.IF, a computing unit PSYS.CU, and a storage unit PSYS.MU. The interface PSYS.IF can be a hardware interface or a software interface (such as a PCI Bus, USB, or FireWire). The computing unit PSYS.CU can include hardware and software elements, such as a microprocessor, a CPU (abbreviation for "Central Processing Unit"), a GPU (abbreviation for "Graphics Processing Unit"), a Field Programmable Gate Array (abbreviated as "FPGA"), or an ASIC (abbreviation for "Application Specific Integrated Circuit"). The computing unit PSYS.CU can be configured for multi-threading, that is, the computing unit can host different computing processes simultaneously, execute active computing processes and passive computing processes in parallel, or switch between active and passive computing processes. Each of the interface PSYS.IF, the computing unit PSYS.CU, and the storage unit PSYS.MU can include several sub-units, which are configured to perform different tasks and / or are spatially separated.

[0166] The providing system PSYS can be connected to a database via a network NET. In particular, the database can store first training data TD.1 and / or second training data TD.2. The network can be implemented as a LAN (abbreviation for "Local Area Network"), in particular a WiFi network, or any other local connection. Alternatively, the network can be the Internet. In particular, the network can be implemented as a VPN (abbreviation for "Virtual Private Network"). Alternatively, the database can also be integrated into the providing system PSYS. For example, the database can be stored within the storage unit PSYS.MU of the providing system PSYS. In this case, the database is connected by an internal connection.

[0167] In the absence of an explicit description, the various embodiments or their respective aspects and features can be combined or exchanged with each other without limiting or extending the scope of the described invention, as long as such a combination or exchange is meaningful and within the meaning of the present invention. Where applicable, the advantages described for one embodiment of the present invention are also beneficial for other embodiments of the present invention.

[0168] Individuals of either male or female identity are also included within the term, independent of the use of grammatical terms.

Claims

1. A computer-implemented method for providing a trained second neural network (NN.2), comprising: - receiving (REC-1) a first neural network (NN.1) that is trained to map first input data (INPD-1) to first output data (OUTD-1), - receiving (REC-2) a second neural network (NN.2) that is configured to map second input data (INPD-2) to second output data (OUTD-2), wherein the second input data (INPD-2) has the same structure as the first input data (INPD-1), - determining (DET) a joint neural network (NN.J) comprising a first part (P1) of the first neural network (NN.1) and a second part (P2) of the second neural network (NN.2), - receiving (REC-TD) first training data (TD.1) and second training data (TD.2), - training (TRN-NN.J) the joint neural network (NN.J) based on the first training data (TD.1), - training (TRN-NN.2) the second neural network (NN.2) based on the second training data (TD.2) and a second loss function (LF.2), wherein the second loss function (LF.2) comprises a layer loss function (LF.L) based on a comparison of the values of a second layer (L2.1, …, L2.M) in the second part (P2) of the second neural network (NN.2) with the values of the corresponding layer in the trained joint neural network (NN.J), - providing (PROV) the second neural network (NN.2).

2. The method according to claim 1, wherein, The second part (P2) comprises a plurality of consecutive second layers (L2.1, …, L2.M) of the second neural network (NN.2).

3. The method according to claim 2, wherein The joint neural network (NN.J) comprises a mirrored second part (P2') that is a mirrored version of the second part (P2), wherein the last layer of the second part (P2) and the first layer of the mirrored second part (P2') are the same.

4. The method according to claim 3, wherein, The first part (P1) comprises a plurality of consecutive first layers (L1.1, …, L1.N) of the first neural network (NN.1), wherein the joint neural network (NN.J) comprises a mirrored first part (P1') that is a mirrored version of the first part (P1), wherein, in the joint neural network (NN.J), the first part (P1) is arranged before the second part (P2), and wherein the mirrored first part (P1') is arranged after the mirrored second part (P2').

5. The method according to any one of the preceding claims, wherein The layer loss function (LF.L) is based on the cosine similarity, L1 loss, and / or L2 loss between the second layer (L2.1, …, L2.M) of the second part (P2) of the second neural network (NN.2) and the corresponding layer in the trained joint neural network (NN.J).

6. The method according to any one of the preceding claims, wherein, The second training data (TD.2) includes training input data (TD.2.ID) and associated training reference data (TD.2.RD), wherein the second loss function (LF.2) includes an output loss function (LF.O) based on a comparison of the result of applying the second neural network (NN.2) to the training input data (TD.2.ID) with the associated training reference data (TD.2.RD).

7. The method according to any one of the preceding claims, wherein, The joint neural network (NN.J) includes an input layer (LJ.INPT) and an output layer (LJ.OUTP), wherein the input layer (LJ.INPT) of the joint neural network (NN.J) has the same size as the output layer (LJ.OUTP) of the joint neural network (NN.J).

8. The method according to claim 7, wherein, Training (TRN-NN.J) the joint neural network (NN.J) is based on the difference between the input data and the output of the joint neural network (NN.J) when the input data is applied to the joint neural network (NN.J), wherein the input data is based on the first training data (TD.1).

9. The method according to any one of the preceding claims, wherein, Training (TRN-NN.J) the joint neural network (NN.J) includes: -- preprocessing (PP-TD) the first training data (TD.1) using a preprocessing part (PP) of the first neural network (NN.1), -- applying (APPL-NN.J) the joint neural network (NN.J) to input data including the preprocessed first training data (PTD.1).

10. The method according to claim 9, wherein, The preprocessing part (PP) and the first part (P1) include consecutive first layers (L1.1, …, L1.N) of the first neural network (NN.1), wherein the last layer of the preprocessing part (PP) is the first layer of the first part (P1).

11. The method according to any one of the preceding claims, further comprising: - augmenting (AUG-TD) the first training data (TD.1) and / or the second training data (TD.2).

12. A computer-implemented method, comprising using a second neural network (NN.2) provided by the method according to any one of claims 1 to 11 for at least one of the following: - controlling a medical imaging device and / or a laboratory device, - processing medical images of a patient, - digital audio enhancement, image enhancement, and / or video enhancement, - digital audio analysis, image analysis, and / or video analysis, - encrypting, decrypting, and / or signing electronic communications, - speech recognition, - providing a medical diagnosis through an automated system that processes physiological measurements, - processing medical images of a patient to segment and / or classify structures within the medical images.

13. A providing system, comprising means for performing the method according to any one of claims 1 to 12.

14. A computer program product, which includes instructions that cause a computer to perform the method according to any one of claims 1 to 12 when the program is executed by the computer.

15. A computer-readable storage medium comprising instructions that, when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 12.