METHOD FOR ANALYZING AND ADJUSTING AN ARTIFICIAL NEURAL NETWORK
By calculating Fisher information and optimizing layer combinations within memory constraints, the method enhances neural network performance without full retraining, addressing data mismatch issues and resource limitations.
Patent Information
- Application Number
- FR2024005806
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-03
- Publication Date
- 2025-12-05
AI Technical Summary
Existing artificial neural networks face performance discrepancies and accuracy loss due to training data mismatch between initial training and real-world deployment, necessitating adjustments without complete retraining, especially in systems with limited memory and computing power.
A method for analyzing and fine-tuning a pre-trained neural network by calculating Fisher information for each layer, defining a layer combination based on parameter tensor indices, and optimizing this combination within memory constraints using an optimization algorithm to adjust specific layers.
This approach allows for improved neural network performance with reduced memory and computing requirements, avoiding complex implementations and large data usage, while maintaining data confidentiality.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: METHOD FOR ANALYZING AND ADJUSTING AN ARTIFICIAL NEURAL NETWORK
[0001] Embodiments and implementation methods relate to artificial neural networks and, more particularly, the fine-tuning of artificial neural networks.
[0002] Artificial neural networks are machine learning models. Artificial neural networks generally comprise a succession of layers of neurons. Each layer takes as input data to which weights are applied and outputs output data after processing by activation functions of the neurons in that layer. This output data (also referred to as "activations") is passed on to the next layer in the neural network.
[0003] Weights are configurable neuronal parameters for obtaining good output data from the layers. The weights of a layer are defined in a weight tensor.
[0004] The weights are adjusted during a training phase (also called the "learning phase"). This training is generally supervised, notably by running the neural network on pre-classified input data from a reference database. This training phase results in a trained neural network.
[0005] It is common for the data acquired after deployment of an artificial neural network to be substantially different from those used during its initial training.
[0006] Indeed, the data used during training may not be sufficiently representative of the input data to the artificial neural network after its deployment. In fact, when the training data comes from a specific context that differs significantly from that encountered during real-world use, this can lead to notable performance discrepancies. These discrepancies can manifest as bias, insufficient generalization, or a loss of accuracy.
[0007] In particular, the artificial neural network can be drawn from a library of artificial neural networks. Such an artificial neural network can be trained with general training data. This general training data may not be representative of the data acquired in the environment in which the artificial neural network will be deployed. Thus, the accuracy of the network The number of artificial neurons trained with general learning data can be reduced.
[0008] It is therefore preferable to adjust the parameters of the artificial neural network to improve its accuracy. Adjustment has the advantage of avoiding a complete retraining of the artificial neural network, by limiting training to certain network parameters. In particular, a complete retraining is not always possible, especially when retraining is performed by a computer system with limited memory.
[0009] The adjustment reduces the memory and computing power requirements for training the artificial neural network. This is particularly important when the artificial neural network is adjusted by the computer system in which the artificial neural network is deployed. Indeed, such a computer system may have limited capabilities in terms of energy consumption, memory, and computing power.
[0010] Tuning an artificial neural network using a computer system on which the artificial neural network is deployed offers several advantages. Such tuning avoids the need to transmit the data acquired by the computer system to external sources for the purpose of tuning the artificial neural network. This reduces the energy consumption of the computer system on which the artificial neural network is deployed while ensuring confidentiality of the acquired data and the tuned artificial neural network.
[0011] It is particularly possible to allow the adjustment of certain parameters and to retain the value of certain other parameters. For example, the adjustment of the artificial neural network may seek to adjust the last N layers of the artificial neural network and to retain the other layers of the artificial neural network.
[0012] However, the layers of the artificial neural network can have a variable impact on the performance of the neural network. Therefore, it is not always relevant to choose to tune the last N layers of the artificial neural network, particularly from the point of view of the accuracy of the tuned artificial neural network and the memory space required for tuning the artificial neural network.
[0013] Thus, it is important to understand and analyze the specific contribution of each layer to the overall task of the neural network. Identifying the layers that are crucial for performance allows us to focus our efforts in tuning the artificial neural network where they will be most beneficial. By optimizing these strategic layers, we can significantly improve the performance of the artificial neural network without requiring a complete retraining.
[0014] The publication "On-Device training Under 256KB Memory", Ji Lin et al., 2022, describes a sparse update method to determine which neural network layers have the greatest impact on the output of the artificial neural network. In particular, this method makes it possible to extract the performance gain obtained by each layer of the artificial neural network in order to study the contribution of each layer to the output of the artificial neural network.
[0015] This method has the disadvantages of being complex to implement and requiring a large amount of data for the fitting of an artificial neural network.
[0016] There is therefore a need to propose a solution for adjusting a trained artificial neural network in a simple and quick way.
[0017] According to one aspect, a computer-implemented method is proposed for analyzing and fine-tuning a pre-trained artificial neural network, the artificial neural network comprising a succession of layers, each layer presenting a parameter tensor, the method comprising: - Extracting Fisher information for each parameter of the artificial neural network, - a calculation of a parameter tensor index for each layer of the artificial neural network, this index being representative of the Fisher information extracted from the parameters of that layer, - a definition of a combination of layers to be adjusted for the artificial neural network, the combination of layers being defined from the parameter tensor indices of the layers of the artificial neural network, - a comparison between the memory space required for adjusting the parameters of said layer combination and a maximum memory space threshold, and a modification of the layer combination to be adjusted if the memory space required for adjusting the parameters of said layer combination is greater than said maximum memory space threshold.
[0018] Fisher information allows for a simple and rapid evaluation of the importance of a parameter on the output of the artificial neural network. Fisher information is then used to define a parameter tensor index for each layer of the artificial neural network. This index allows for the evaluation of the impact of each layer on the output of the artificial neural network in order to determine the combination of layers to be adjusted.
[0019] Fisher information can be estimated from a small amount of training data. This avoids having to provide the entire training dataset for the analysis of the already trained neural network.
[0020] Checking whether the memory occupancy required for fitting a combination of layers is less than a memory occupancy threshold makes it possible to avoid choosing a combination of layers for which fitting could not be carried out because of exceeding the possible memory occupancy threshold in a computer system with limited memory resources.
[0021] Advantageously, the index of a parameter tensor of a layer corresponds to the average of the Fisher information associated with the parameters of that layer.
[0022] In an advantageous embodiment, the definition of a combination of layers to be adjusted includes a search for a combination of layers that optimizes the sum of the indices of the parameter tensors of the layers of the combination of layers while respecting the maximum memory occupancy threshold.
[0023] Preferably, the definition of a layer combination to be adjusted includes an implementation of an optimization algorithm configured to develop a layer combination iteratively. The layer combination to be adjusted then corresponds to the last layer combination defined after a predefined number of iterations.
[0024] In an advantageous embodiment, the optimization algorithm is configured to develop a combination of layers by iterating from: - indices of the parameter tensors of the layers of the artificial neural network, - an objective function corresponding to the sum of the indices of the parameter tensors of the previously defined combination of layers, - of an objective function corresponding to the difference between the maximum memory occupancy threshold and the memory occupancy required for the adjustment of the previous combination of defined layers.
[0025] Advantageously, the optimization algorithm is a non-dominated genetic sorting algorithm.
[0026] Advantageously, the memory occupation required for the fitting of a combination of layers of the artificial neural network is evaluated from a size of the parameters of the artificial neural network, a size of the output data of each layer of the artificial neural network, the quantity and size of the training data to be used for the fitting and an indication of the use of momentum for said fitting.
[0027] Preferably, the maximum memory occupancy threshold is entered via a command line or a graphical interface.
[0028] In an advantageous embodiment, the last defined layer combination is stored in a file configured to be read by a computer to perform an adjustment of the layer parameters of said last defined layer combination of the artificial neural network.
[0029] According to another aspect, a method for adjusting an already trained neural network is proposed, comprising adjusting the parameters of the layers of a combination of layers defined by implementing an analysis method as described above.
[0030] According to another aspect, a method is proposed comprising: - a method for analyzing a pre-trained artificial neural network as described previously, then - a method for adjusting the artificial neural network as described previously.
[0031] According to another aspect, a computer program product is proposed comprising instructions which, when the program is executed by a computer, lead the latter to implement a method of analyzing a neural network already trained as described above.
[0032] According to another aspect, a computer program product is proposed comprising instructions which, when the program is executed by a computer, lead the latter to implement a process for adjusting a neural network already trained as described above.
[0033] According to another aspect, a computer system is proposed comprising: - a memory in which are stored an artificial neural network already trained to adjust and a computer program as described previously for analyzing the already trained neural network, - a processing unit configured to run said computer program.
[0034] According to another aspect, a computer system is proposed comprising: - a memory in which are stored an artificial neural network already trained to adjust and a computer program as described previously for adjusting the already trained neural network, - a processing unit configured to run said computer program.
[0035] Other advantages and features of the invention will become apparent upon examination of the detailed description of embodiments, which are by no means limiting, and the accompanying drawings in which:
[0036] [Fig.1]
[0037] [Fig.2]
[0038] [Fig.3]
[0039] [Fig.4]
[0040] [Fig.5] illustrate embodiments and implementations of the invention.
[0041] Figure 1 illustrates an embodiment of a configured SYS1 computer system to analyze an artificial neural network. Such a SYS1 computer system can be a personal computer or a server, for example.
[0042] The computer system includes a SYS1 processing unit and a MEM1 memory.
[0043] The MEM1 memory is configured to store an artificial neural network ANN. This artificial neural network ANN can be a pre-trained artificial neural network. For example, the artificial neural network can be obtained from an artificial neural network library. Alternatively, the SYS1 computer system is configured to train the artificial neural network.
[0044] The MEM1 memory includes COMP software for compiling neural networks. The COMP compilation software is configured to analyze a pre-trained artificial neural network ANN.
[0045] The COMP compilation software includes a computer program PRG1 comprising instructions which, when the PRG1 program is executed by the PU1 processing unit of the SYS1 computer system, cause the latter to implement a method for analyzing an artificial neural network such as that described below in relation to [Fig.2].
[0046] Fig. 2 illustrates a method of implementing a process for analyzing an artificial neural network.
[0047] The method includes obtaining a pre-trained artificial neural network (ANN). In particular, such an artificial neural network can be pre-trained from general training data that differs from the data that will be processed by the artificial neural network once deployed. The artificial neural network can be obtained from an artificial neural network library, for example. The obtained artificial neural network can be stored in the MEM1 memory of the SYS1 computer system.
[0048] An artificial neural network comprises several layers, each consisting of at least one neuron, or in particular, a plurality of neurons. The first layer of the artificial neural network is designated as the input layer. This input layer is configured to receive the input data of the artificial neural network. The last layer is designated as the output layer. This output layer generates the output of the artificial neural network. The intermediate layers between the first and last layers are designated as hidden layers. These hidden layers contain neurons that modify the data through activation functions. The complexity and number of these hidden layers vary depending on the nature of the problem to be solved.
[0049] Weights and biases are defined as parameters of the artificial neural network for each layer of the artificial neural network.
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057] Weights are coefficients that define the importance of each neuron's input. These weights are adjusted during the learning phase to reduce the network's prediction error. Biases are added values to the sum of inputs to optimize the neuron's response according to the data. Weights and biases are stored in a parameter tensor. A parameter tensor is a structure that organizes its parameters according to their belonging to a specific layer and a specific neuron within that layer. The method also includes obtaining a training dataset for fitting the artificial neural network. This training data is representative of the data that will be processed by the artificial neural network once deployed. This training data can be obtained from a sensor placed in the environment where the artificial neural network will be deployed. The training dataset may consist of only a portion of the training data that will be used for fitting the artificial neural network. The process then involves extracting Fisher information for each parameter of the artificial neural network. Specifically, Fisher information is calculated for each weight and bias of the artificial neural network. Fisher's information allows us to assess the importance of a parameter on the output of an artificial neural network. Specifically, for a given artificial neural network and parameter, we denote by p the conditional likelihood function of the output of the artificial neural network, where θ is the parameter of the neural network, y is the output vector of the artificial neural network, and x is the input vector of the artificial neural network. This output probability can be obtained by running the neural network multiple times, varying the input vector x for a given class and varying the class of x to obtain the expected value of the output vector y given x. In this case, Fisher's information for the parameter can be approximated by the following mathematical formula: Fe - ErEy ~ ( Vglog ( pe( y IX) ) 2 ' where E* is the expectation on x, Ey~pest the expectation on y distributed according to the conditional likelihood function / > ( j|x), Velog(pff(y |x) is the gradient of the conditional likelihood logarithm with respect to the parameter 6.
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066] Fisher's information can be estimated from a small amount of training data. This avoids having to provide the entire training dataset. Next, the process involves calculating a parameter tensor index for each layer, this index being representative of the Fisher information extracted for the parameters of that layer. This step reduces the Fisher information for the artificial neural network parameters to an index for each layer of the artificial neural network. Specifically, for each layer of the artificial neural network, the parameter tensor index of that layer is calculated. This index can be obtained by averaging the Fisher information for the layer's parameters. Thus, the tensor index of a layer can be obtained by applying the following mathematical formula: A — JL F g ' °where is the index of the layer tensor Lb corresponding the number of parameters in the Lh layer and F^ is the Fisher information of parameter 6. Alternatively, it is possible to calculate the index of a layer parameter tensor using other calculations. For example, this index can be obtained by summing the Fisher information for the layer parameters, or by calculating a "LogSumExp" function (also known by the abbreviation "LSE"). This index allows us to estimate the correlation between the layer parameters and the output of the artificial neural network. Thus, the parameter tensor index of a layer allows us to assess the importance of that layer relative to the output of the artificial neural network, and therefore to evaluate the benefit of adjusting that layer. This index allows us to assess the impact of each layer on the output of the artificial neural network. In particular, the greater the impact a layer has on the output of the artificial neural network, the higher its index. The process then aims to find a layer combination that optimizes the sum of the indices of the parameter tensors of these layers while respecting a memory constraint for fitting the layers of this combination. The process allows for testing several layer combinations. These tested layer combinations are referred to as temporary. The process therefore comprises several iterations, each testing a different temporary layer combination. The process notably includes a definition of a maximum number K of iterations. The process then includes a definition 24 of a combination Lt of temporary layers. This set Lt of temporary layers can be determined by running a An optimization algorithm, specifically an evolutionary algorithm, can be used. This algorithm may include a non-dominated sorting genetic algorithm (generally designated by the abbreviation "NSGA-II"). Alternatively, other optimization algorithms can be used. For example, one could choose an algorithm from among the "NSGA-III" and "SPEA-2" algorithms (Strength Pareto Evolutionary Algorithm 2). The optimization algorithm can also be a combinatorial optimization algorithm, such as the "Ant Colony" or "Particle Swarn Optimization" algorithms.
[0067] This optimization algorithm is configured to define a temporary layer combination by choosing layers of the artificial neural network to maximize a sum of the indices A ô, parameter tensors of the chosen layers, while avoiding exceeding a user-defined memory occupancy threshold.
[0068] Checking whether the memory occupancy required for an adjustment of a temporary layer combination is less than a memory occupancy threshold makes it possible to avoid choosing a layer combination for which an adjustment could not be made because of exceeding the possible memory occupancy threshold in a computer system with limited memory resources.
[0069] Implementing an optimization algorithm increases the chances of finding an optimal combination of layers to adjust.
[0070] Once a temporary layer combination has been defined by the optimization algorithm, the process includes an evaluation of the memory occupancy for fitting the chosen layers. The memory occupancy evaluation is described below in relation to [Fig. 3].
[0071] Next, the method includes a comparison 25 of the memory occupancy for adjusting the selected layers with the memory occupancy threshold. This memory occupancy threshold can be entered by the user via a command line or a graphical interface.
[0072] If the memory occupancy for training the selected layers exceeds the memory occupancy threshold, then the method includes a definition 26 of an objective function taking into account this memory occupancy.
[0073] This objective function is defined by the following mathematical formula:
[0074] f (W Lt) = N - Mem (Lt)
[0075] The result of this objective function is taken as input to the optimization algorithm. In this way, the optimization algorithm will try to find a combination of temporary layers for which the memory occupancy of the training of the chosen layers will be less than or equal to the memory occupancy threshold.
[0076] If at step 25, the memory occupancy for training the selected layers is less than or equal to the memory occupancy threshold, then the method includes a test 27 to verify whether the number of iterations of the optimization algorithm is greater than the maximum number K of iterations.
[0077] If the number of iterations of the optimization algorithm is less than or equal to the maximum number K of iterations, then the method includes a definition 28 of an objective function taking into account the index of the parameter tensors of the layers of the chosen temporary combination Lt of layers.
[0078] This objective function is defined by the following mathematical formula:
[0079] f(M[
[0080] The result of this objective function is taken as input to the optimization algorithm. In this way, the optimization algorithm will try to find a temporary layer combination for which the index of the parameter tensors of the chosen layers is the highest.
[0081] If, at step 27, the number of iterations of the optimization algorithm is greater than the maximum number K of iterations, then the process includes a definition 29 of a final layer combination. This final layer combination corresponds to the last temporary layer combination defined.
[0082] This final layer combination then corresponds to the layer combination having the highest parameter tensor index among the tested temporary layer sets, and for which the memory occupation for training the chosen layers is less than the user-defined threshold.
[0083] In particular, the PU1 processing unit can generate a file indicating the layers of the final layer combination. This file can then be used for tuning the artificial neural network.
[0084] Figure 3 illustrates a method for estimating the memory occupancy for adjusting the layers of a combination of layers chosen by the optimization algorithm.
[0085] The method takes as input the artificial neural network and the batch size of training data taken as input to the artificial neural network. The batch size corresponds to the number of training data samples taken as input to the artificial neural network to calculate the gradients used to update the neural network parameters (weights and biases).
[0086] The artificial neural network to be used and the batch size are specified by the user, via a command line or through a graphical interface for example.
[0087] The method includes an estimation 30 of the memory occupancy of all the parameters of the artificial neural network.
[0088] The memory usage of all the parameters of the artificial neural network is estimated by applying the following mathematical formula: [°089] Sw+b = , .n£dim(Wi).Wdat(itype + dim(&J A datatype, where dim(Wt) corresponds to the number of weights of layer L, IV datatype is the number of bits or bytes used to represent one weight of layer L, dim(bi ) corresponds to the number of biases of layer L, and b datatype is the number of bits or bytes used to represent one bias of layer L.
[0090] The process also includes obtaining 31 the layer that is the deepest among the combination of layers defined by the optimization algorithm. This layer is obtained by applying the following mathematical formula:
[0091] / = min(L^ where min(Lt) corresponds to the smallest index of the combination Lt of temporary layers, that is, the index of the layer closest to the beginning of the artificial neural network.
[0092] The process also includes obtaining the maximum size of the output data from layers deeper than layer I. This maximum size is obtained by applying the following mathematical formula:
[0093] « = max( |ZJ )V i < / . where Z corresponds to the size of the output data of layer i.
[0094] The method also includes a calculation 33 of the sum of the data sizes from the output of layer I and layers shallower than layer I. Thus, this sum is obtained by applying the following mathematical formula:
[0095] £ |4|,where11 is the size of the output data of layer i.
[0096] The method also includes obtaining a memory occupancy peak 34 of the output data from the neural network layers. This memory occupancy peak is obtained by applying the following mathematical formula:
[0097] sa = max(a, fi)
[0098] The method also includes a test 35. This test 35 is configured to determine whether momentum is used for fitting the artificial neural network. Momentum is an extension of the gradient descent optimization algorithm, well known to those skilled in the art. The choice of using momentum is user-defined. The user can specify whether or not to use momentum via a command line or through a graphical interface.
[0099] Next, the process includes a calculation 36 of the memory occupancy of the layer parameters of the layer combination chosen by the optimization algorithm. This calculation depends on the result of the test 35.
[0100] If momentum is not used to perform the adjustment, then the memory footprint of the layer parameters of the chosen layer combination is calculated by summing the parameters of said layers. Thus, this memory footprint is calculated according to the following mathematical formula:
[0101] Sg = i ' °ù IWI corresponds to the size of the parameters of each layer of the chosen layer combination.
[0102] If momentum is used to perform the adjustment, then the memory footprint of the layer parameters of the chosen layer combination is calculated by summing the parameters of said layers multiplied by two. Thus, this memory footprint is calculated according to the following mathematical formula:
[0103] $ — V 2! Wi °ù IWI corresponds to the size of the parameters of each layer of the chosen combination of layers.
[0104] Next, the method includes a calculation 37 of the memory footprint for backpropagation performed during the fitting of the artificial neural network. This footprint is obtained by multiplying the batch size of the training data by the sum of the output data of layer I and the layers shallower than layer I, and then adding the result of this multiplication by the memory footprint of the layer parameters of the chosen layer combination. Thus, the memory footprint for backpropagation is calculated according to the following formula:
[0105] Sbp = Sg + B^, where B 0 is the size of the training data batch taken as input to the artificial neural network.
[0106] The method then includes a calculation 38 of the memory usage for adjusting the layers of the layer combination chosen by the optimization algorithm. This memory usage corresponds to the sum of the memory usage for traversing the artificial neural network and the memory usage for backpropagation during the adjustment. Thus, the memory usage for adjusting the layers of the layer combination chosen by the optimization algorithm is calculated according to the following formula:
[0107] Lt) = SaBQ+Sw+h+Sbp
[0108] Figure 4 illustrates an embodiment of a SYS2 computer system configured to tune an artificial neural network. The SYS2 computer system can be a microcontroller, a personal computer, or a server, for example.
[0109] The SYS2 computer system comprises a PU2 processing unit and a MEM2 memory.
[0110] The MEM2 memory is configured to store a pre-trained ANN neural network to be tuned. This artificial neural network ANN has already been analyzed by implementing an analysis method as described previously in relation to [Fig.2].
[0111] The MEM2 memory is also configured to store an FL file obtained by implementing the analysis process. This file indicates the final layer combination to be used for tuning the ANN artificial neural network. Alternatively, this layer combination can be stored in the program for implementing the ANN artificial neural network.
[0112] The MEM2 memory is also configured to store a DAT set of training data for fitting. Alternatively, this DAT set of training data can be stored on a remote server. This training dataset is different from the training dataset used for analyzing the artificial neural network. The training dataset for analyzing the artificial neural network can be a subset of the training dataset.
[0113] The MEM2 memory also includes a computer program PRG2 comprising instructions which, when executed by the PU2 processing unit, lead the latter to a process for adjusting the artificial neural network.
[0114] Fig. 5 illustrates an implementation method for adjusting an already trained artificial neural network ANN that can be implemented by the SYS2 computer system.
[0115] The method includes obtaining 50 of the artificial neural network ANN and an FL file indicating the final layer combination to be used for fitting, as well as a DAT set of training data for fitting.
[0116] The method then includes an adjustment 51 of the parameters of the layers of said final layer combination from the training dataset. The adjustment of these parameters is carried out by performing a new training of the artificial neural network. In this new training, only the parameters of the layers of the final layer combination defined in the FL file can be modified; the values of the other parameters remain the same.
[0117] This adjustment makes it possible to obtain an adjusted artificial neural network whose performance is improved compared to the initial already trained artificial neural network.
Claims
Demands
1. A computer-implemented method for analyzing and tuning a pre-trained artificial neural network, the artificial neural network comprising a succession of layers, each layer having a parameter tensor, the method comprising: - an extraction (22) of Fisher information for each parameter of the artificial neural network, - a calculation (23) of a parameter tensor index for each layer of the artificial neural network, this index being representative of the Fisher information extracted from the parameters of that layer, - a definition (24) of a combination of layers to be tuned of the artificial neural network, the combination of layers being defined from the parameter tensor indices of the layers of the artificial neural network, - a comparison (25) between the memory space required for tuning the parameters of said combination of layers and a maximum memory space threshold,and a modification of the layer combination to be adjusted if the memory usage required for adjusting the parameters of said layer combination exceeds said maximum memory usage threshold.
2. A method according to claim 1, wherein the index of a parameter tensor of a layer corresponds to the average of the Fisher information associated with the parameters of that layer.
3. A method according to claim 2, wherein the definition (24) of a combination of layers to be adjusted includes a search for a combination of layers that optimizes the sum of the indices of the parameter tensors of the layers of the combination of layers while respecting the maximum memory occupancy threshold.
4. A method according to any one of claims 2 or 3, wherein the definition (24) of a combination of layers to be fitted includes an implementation of an optimization algorithm configured to develop a combination of layers by iterations, and wherein the combination of layers to be fitted corresponds to the last combination of layers defined after a predefined number of iterations.
5. A method according to claim 4, wherein the optimization algorithm is configured to develop a combination of layers by iterations from: - the indices of the parameter tensors of the layers of the artificial neural network, - an objective function corresponding to the sum of the indices of the parameter tensors of the previous combination of defined layers, - an objective function corresponding to the difference between the maximum memory occupancy threshold and the memory occupancy required for the fitting of the previous combination of defined layers.
6. A method according to claim 5, wherein the optimization algorithm is a non-dominated genetic sorting algorithm.
7. A method according to any one of claims 2 to 6, wherein the memory space required for tuning a combination of layers of the artificial neural network is evaluated from a size of the parameters of the artificial neural network, a size of the output data of each layer of the artificial neural network, the quantity and size of the training data to be used for the tuning and an indication of the use of momentum for said tuning.
8. A method according to any one of claims 2 to 7, wherein the maximum memory occupancy threshold is entered via a command line or a graphical interface.
9. A method according to any one of claims 2 to 8 wherein the last defined layer combination is stored in a file configured to be read by a computer to perform an adjustment of the layer parameters of said last defined layer combination of the artificial neural network.
10. Method for tuning an already trained neural network comprising tuning the parameters of the layers of a combination of layers defined by implementing an analysis method according to any one of claims 1 to 9.
11. Product computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out an analysis method according to any one of claims 1 to 9.
12. Product computer program comprising instructions which, when the program is executed by a computer, cause the computer to implement an adjustment method according to claim 10.
13. Computer system comprising: - a memory (MEM1) in which are stored an artificial neural network already trained to adjust and a computer program (PRG1) according to claim 11 for the analysis of the already trained neural network, - a processing unit (PU1) configured to execute said computer program.
14. Computer system comprising: - a memory (MEM2) in which are stored an artificial neural network already trained to adjust and a computer program (PRG2) according to claim 12 for adjusting the already trained neural network, - a processing unit (PU2) configured to execute said computer program.