WO2023111345A1 - Procédé d'analyse d'une donnée numérique - Google Patents
Procédé d'analyse d'une donnée numérique Download PDFInfo
- Publication number
- WO2023111345A1 WO2023111345A1 PCT/EP2022/086526 EP2022086526W WO2023111345A1 WO 2023111345 A1 WO2023111345 A1 WO 2023111345A1 EP 2022086526 W EP2022086526 W EP 2022086526W WO 2023111345 A1 WO2023111345 A1 WO 2023111345A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- layer
- neural network
- node
- nodes
- multilayer perceptron
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000013528 artificial neural network Methods 0.000 claims abstract description 166
- 239000011159 matrix material Substances 0.000 claims abstract description 66
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 49
- 238000004458 analytical method Methods 0.000 claims abstract description 29
- 238000000605 extraction Methods 0.000 claims description 30
- 230000004913 activation Effects 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 238000005259 measurement Methods 0.000 claims description 9
- 230000015572 biosynthetic process Effects 0.000 claims description 6
- 238000012512 characterization method Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 6
- 210000002569 neuron Anatomy 0.000 claims description 5
- 238000012886 linear function Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 abstract description 11
- 230000006870 function Effects 0.000 description 35
- 238000012549 training Methods 0.000 description 15
- 238000013459 approach Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0495—Quantised networks; Sparse networks; Compressed networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0895—Weakly supervised learning, e.g. semi-supervised or self-supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
Definitions
- the invention relates to data processing using a neural network, comprising a multilayer perceptron, having a particular architecture.
- neural networks for the analysis of various digital patterns, such as images, sounds, videos is usual.
- Some processing algorithms implement several neural networks, fed by common data, and operating in parallel. It is desired that the neural networks operating in parallel be dissimilar, for example by using a different number of layers, or a different number of nodes per layer.
- convolutional neural networks comprising convolution layers intended to apply convolutional filters
- each neural network operating in parallel can implement different filters.
- the invention described below addresses the question of the diversity of neural networks, and in particular of neural networks operating in parallel. It provides diversity while being simple to implement.
- a first object of the invention is a method for analyzing digital data, taking the form of a vector or a matrix, the digital data resulting from a measurement carried out by a detector, and forming a datum of input to a neural network, the neural network comprising several elementary neural networks, each elementary neural network comprising a multilayer perceptron extending between:
- each multilayer perceptron being such that:
- each layer is assigned a rank, the rank of a layer being all the higher as the layer is close to the output layer;
- connection matrix each term of the connection matrix being associated with a node of the upstream layer and a node of the downstream layer, and quantifying a contribution from the upstream layer node to the downstream layer node
- each elementary neural network to obtain an elementary analysis result by the output layer of the multilayer perceptron of each elementary neural network; the method being characterized in that:
- connection matrix of the multilayer perceptron of each elementary neural network is a sparse matrix, comprising at least 50% of null terms or whose value is at least ten times lower than at least one other term of the matrix;
- each elementary neural network comprises respectively, between two successive layers of the same respective ranks, different hollow connection matrices.
- each elementary neural network comprises an extraction block programmed to extract characteristics from the input data, the characteristics thus extracted forming the first layer of the multilayer perceptron of said elementary neural network.
- the extraction block may comprise different successive convolution layers, each convolution layer resulting from the application of a convolution filter to the previous convolution layer.
- each multilayer perceptron comprises the same number of layers and the same number of nodes per layer.
- Each multilayer perceptron can include at least one intermediate layer, between the first layer and the output layer. Two successive layers of at least one multilayer perceptron can be such that:
- the nodes of the downstream layer are segmented into different groups.
- step b) comprises, for the multilayer perceptron, the following sub-steps:
- At least one multilayer perceptron comprises several pairs comprising two successive layers, each pair comprising an upstream layer and a downstream layer, a connection matrix being defined between the upstream layer and the downstream layer;
- each connection matrix comprises at least 50% of null terms or whose value is at least ten times lower than at least one other term of said matrix;
- Sub-step b-i) may comprise, for each group of a downstream layer of at least one multilayer perceptron:
- Sub-step b-i) may include:
- the selection function being an increasing or strictly increasing function
- the selection function can include a sigmoid or piecewise linear function.
- at least one or each connection matrix of a multilayer perceptron comprises at least 90% or at least 95% of terms that are null or at least less than at least one other term of said matrix.
- each connection signal between two nodes of two successive layers is positive.
- the method comprises a step c) of combining the elementary analysis results, resulting from each elementary neural network, to form an analysis result.
- the method comprises, prior to step a),
- the analysis result can be a characterization of the measured physical quantity.
- the method may comprise, prior to step a):
- the analysis result can then be a characterization of the stored data.
- a second object of the invention is a measurement system, comprising:
- a detector configured to measure a physical quantity and to establish an input signal from the measured physical quantity
- processing unit programmed to implement the method according to the first object of the invention.
- the detector can be an image sensor or a sound sensor or a magnetic sensor.
- a third object of the invention is a data medium, readable by a computer, or configured to be connected to a computer, or integrated circuit, comprising instructions for implementing the method according to the first object of the invention, in particular from measured data.
- a fourth object of the invention is a computer program comprising instructions which, when the program is executed by a computer, lead to the implementation of a neural network, configured to analyze an input datum, the neural network comprising several elementary neural networks, each elementary neural network comprising a multilayer perceptron extending between:
- each multilayer perceptron being such that:
- each layer is assigned a rank, the rank of a layer being all the higher as the layer is close to the output layer;
- connection matrix of each multilayer perceptron is a sparse matrix, comprising at least 50% of null terms or whose value is at least ten times lower than at least one other term of the matrix;
- the multilayer perceptrons comprise respectively, between two successive layers of the same respective ranks, different hollow connection matrices.
- the computer program may include one of the following characteristics, taken individually or in technically feasible combinations:
- each multilayer perceptron comprises at least one intermediate layer, between the input layer and the output layer;
- each multilayer perceptron comprises several pairs comprising two successive layers, each pair comprising an upstream layer and a downstream layer, a connection matrix being defined between the upstream layer and the downstream layer;
- each connection matrix comprises at least 50% or at least 80% of null terms or whose value is at least ten times lower than at least one other term of said matrix.
- a fifth object of the invention is a data medium that can be read or can be connected to a computer, or a printed circuit, in which the computer program according to the fourth object of the invention is recorded.
- a sixth object of the invention is a data annotation method, using a program according to the fourth object of the invention, the program comprising a first elementary neural network and a second elementary neural network, the first and second networks elementary neurons respectively comprising the same number of layers, and the same number of nodes per layer, the method comprising the following steps:
- the first elementary neural network for: annotating the first non-annotated data, so as to form first pseudo-annotated data; or update an annotation of first pseudo-annotated data resulting from a previous iteration;
- the second elementary neural network for: annotating the second non-annotated data, so as to form second pseudo-annotated data; or updating an annotation of second pseudo-annotated data resulting from a previous iteration;
- the first annotated and unannotated data, as well as the second annotated and unannotated data, can be data measured by a detector.
- the detector can be an image sensor or a sound sensor or, more generally, a sensor of a physical quantity.
- step i) the number of first non-annotated input data is greater than the number of first annotated input data
- the number of second non-annotated input data is greater than the number of second annotated input data.
- the computer program may comprise several first elementary neural networks, each first elementary neural network comprising
- connection matrix between the upstream layer and the downstream layer comprising at least 50% or at least 80% of null terms or whose value is at least ten times less than at least one other term of the matrix, the connection matrices between said layers being different in each first neural network.
- Step iii) may include training each first elementary neural network using the first annotated input data.
- Step iv) may include
- • iv-1) a use of each first elementary neural network to independently annotate the first non-annotated data or independently update an annotation of the first pseudo-annotated data resulting from a previous iteration; • iv-2) for each first pseudo-annotated datum, a combination of the annotations resulting from sub-step iv-1) to define a single annotation for said first datum;
- Step v) may comprise an update of the training of each first elementary neural network using the first annotated input data and the second pseudo-annotated input data during step iv) .
- the computer program may comprise several second elementary neural networks, each second elementary neural network comprising
- connection matrix between the upstream layer and the downstream layer comprising at least 50% or at least 80% of null terms or whose value is at least ten times less than at least one other term, the connection matrices between said layers being different in each second elementary neural network.
- Step iii) may include learning each second elementary neural network using the second annotated input data.
- Step iii) may include:
- Step v) may include an update of the training of each second elementary neural network using the second annotated input data and the first pseudo-annotated input data during step iv) .
- Figure 1 schematizes the main elements allowing an implementation of the invention
- FIG. 2A represents an architecture of an analysis algorithm implementing the invention.
- the analysis algorithm is based on several elementary neural networks.
- Figure 2B schematizes an extraction block implemented each elementary neural network.
- FIG. 2C schematizes a multilayer perceptron of each elementary neural network.
- Figure 3A shows the main steps in the operation of a neural network as described in connection with Figure 2C.
- FIG. 3B details the steps for selecting one or more nodes from a group of nodes of a layer of an elementary neural network described in connection with FIG. 2C.
- Figure 3C is a detail of a group, or cluster, of nodes shown in Figure 2C.
- FIGD and Figure 3E illustrate examples of select functions.
- Figure 4A shows a paralleling of a first neural network and a second neural network that can be used for partially supervised learning purposes.
- FIG. 4B shows the main steps of partially supervised learning implementing the architecture described in connection with FIG. 4A.
- FIG. 5 diagrams a variant of the paralleling of the first neural network and the second neural network, described in connection with FIG. 4A. According to this variant, the first neural network and the second neural network are subdivided into several elementary neural networks operating in parallel.
- FIG. 1 represents an example of a system implementing the invention.
- the system 1 comprises a detector 10, configured to detect a physical quantity 11.
- the detector 10 is an image sensor, the physical quantity being an electromagnetic wave.
- the detector can be an acoustic sensor, the physical quantity being an acoustic wave.
- the detector can be a magnetic sensor or an electric sensor. In general, the detector forms an input signal S representative of the physical quantity that it has detected.
- the detector 10 is connected to a processing unit 12, configured to process the measurements.
- the processing unit 12 includes a specific computer or processor.
- the processing unit is connected to a memory 13 comprising instructions, in the form of a computer program or a dedicated integrated circuit, for processing the input signal S.
- the dedicated circuit may be an ASIC type circuit ( Application Specific Integrated Circuit - Integrated circuit dedicated to an application).
- the input signal S is processed so as to characterize the detected physical quantity.
- the processing performed by the processing unit aims to perform a classification of the image formed by the image sensor.
- the images include alphanumeric characters and the processing unit is programmed to identify the alphanumeric characters.
- the identification consists in classifying each image in a predetermined character class. It is an image recognition application.
- a characterization can be, in a non-limiting manner, an identification, a recognition (image recognition, sound recognition), a classification among predetermined classes, a determination of a probability of belonging to a class, or a estimation of a parameter on which the measured physical quantity depends.
- FIG. 2A schematizes an architecture of an analysis algorithm 2 executed by the processing unit 12.
- the image acquired by the detector 10 forms an input datum IN of the analysis algorithm 2 implemented by computer.
- the analysis algorithm 2 comprises a neural network NN.
- the neural network comprises several multilayer perceptrons, each multilayer perceptron operating in parallel.
- the neural network comprises three multilayer perceptrons 31, 32, 33.
- Each multilayer perceptron extends from a first layer L i; L 2 and L 3 , as described in connection with FIG. 2B.
- Each first layer can form an input layer of the neural network. This is notably the case when the input data is a vector.
- the input layer of each multilayer perceptron is fed to an extraction block, the latter being configured to extract characteristics of the image forming the input data.
- the neural network NN comprises three extraction blocks 21, 22, 23, each extraction block being configured to extract characteristics from the image forming the input data.
- Each extraction block is arranged upstream of a multilayer perceptron, so that the characteristics of the image extracted by an extraction block form the first layer of a multilayer perceptron.
- the neural network NN is formed of several elementary neural networks operating in parallel, for example NNi, NN 2 , NN 3 in the case of three elementary neural networks.
- Each elementary neural network comprises a multilayer perceptron 31, 32, 33.
- Each elementary neural network can comprise a feature extraction block 21, 22, 23 feeding the multilayer perceptron 31, 32, 33.
- the neural network comprises three elementary neural networks.
- operating in parallel it is meant that each elementary neural network uses the same input datum and performs a processing operation, independently of another elementary neural network, to arrive at an output datum.
- the respective output data of each elementary neural network can be combined so as to form the output data of the neural network.
- the extraction block 21 of the first elementary neural network NNi has been schematized, knowing that the extraction blocks 22 and 23 have a similar structure.
- the extraction block 21 extends between an input layer 21j n , which corresponds to the input IN of the neural network, and an output layer 21 or t.
- the extraction block 21 comprises M successive convolution layers Ci...C m ...CM.
- each convolution layer C m is obtained by convolution of a preceding layer by a convolution filter, for example a convolution filter of dimension 5 ⁇ 5.
- the number M of convolution layers C m can for example be equal to 2.
- the output layer 21 or t is usually formed by a concatenation of the data of the last convolution layer, forming a feature vector.
- the content of the output layer 21 or t forms the characteristics extracted from the input data.
- the extraction block 21 is configured to extract relevant characteristics from the image, the latter forming an input datum of a multilayer perceptron, described below.
- a preprogrammed extraction block 21 can be used to extract features from an image.
- the extraction block 21 is the subject of learning, together with the multilayer perceptron that it feeds, so as to determine the parameters of the convolution filters implemented in the convolution layers Cm .
- the characteristics extracted by the extraction block 21 are then analyzed by a multilayer perceptron 31.
- the neural network comprises different elementary neural networks.
- the neural network NN comprises three elementary neural networks.
- the number of elementary neural networks can be between 2 and 10.
- FIG. 2C represents an architecture of a multilayer perceptron 31 of an elementary neural network NNi, knowing that each multilayer perceptron of each elementary neural network has a similar architecture.
- the multilayer perceptron 31 comprises three layers L1, L2 and L3.
- each layer comprises nodes x np .
- each node x np has been schematized by a circle.
- Each layer L n is assigned a rank n. The rank of the layer L n is higher the closer the layer is to the output layer OUTi of the multilayer perceptron 31.
- the output layer OUTi is the layer L3.
- each multilayer perceptron comprises at least two layers: the input layer and the output layer. It can comprise several intermediate layers between the input layer and the output layer.
- each node x np is assigned an order p.
- the number of nodes x np in a layer of rank n is P n .
- P n is for example between a few tens and a few thousands. The respective numbers of nodes of two different layers can be different.
- each node of the layer L n of rank n receives an activation signal s np corresponding to a linear combination of the signal connection s 'one or more nodes x n-1;P ' of layer L n-1 of rank n-1, called upstream layer.
- the value s np of the activation signal of each node x np of a layer L n is such that:
- WHERE sn-i,p',p is ' th connection signal sent by each node x nl pl of order p' of layer L n-1 of rank n — 1 to the node of order p of layer L n of rank n;
- b n -i,pr is a bias associated with each node x nl pl of the layer of L n-1 rank n-1.
- f np is an activation function associated with the node of order p of the layer of rank n;
- Wp' p is a connection coefficient between each node x nl pl of the preceding layer and the node x np of order p of layer of rank n.
- each activation function f np is determined by those skilled in the art. It can for example be a function of the hyperbolic or sigmoid tangent type.
- the value of the nodes of the first layer L depends on the last layer of the extraction block. For layers L n with n > 1, the parameters related to each node x np , i.e. the terms, b nl p , and w pp , defined in connection with expression (1) can be determined during learning.
- Each multilayer perceptron 31, 32, 33 of each elementary neural network NNi, NN2, NN3 preferably has the same number of layers and the same number of nodes per layer. At least one connection matrix W nl n connecting two successive layers of ranks n — l,n is different for each multilayer perceptron.
- the respective outputs OUTi, OUT 2 , OUT 3 of each multilayer perceptron also constitute the respective outputs of each elementary neural network NNi, NN 2 , NN 3 . They can be combined in a combination layer 40, so as to form an output OUT of the neural network 2.
- the output layer OUT thus corresponds to a combination of the outputs of each elementary neural network.
- the combination can be obtained by an average or a median of the outputs of the multilayer perceptrons, or other types of combination, for example a majority vote, as described later.
- a particularity of at least one multilayer perceptron, and preferably of each multilayer perceptron, is that between at least two layers of successive ranks n — 1, n, more than 50%, even more than 80%, and even more than 90% of the connection coefficients are damaged.
- the connection between the two successive layers can be represented by a connection matrix W nl n , of dimension (P n-1 P n ), of which each term w pl p is the connection coefficient between the node of order p' of the layer of rank n — 1 and the node of order p of the layer of rank n.
- Each term w pl p represents a contribution from the node x n-1;P ' in the node x np .
- connection matrix W n1 n is a sparse matrix, in the sense that more than 50%, even more than 80%, even more than 90% or 95% are damaged. By null, it is understood equal to zero or which can be considered as harmed.
- the terms that can be considered as harmed are the terms whose value is at least 10 times lower than at least one other term of the matrix.
- the terms of the connection matrix are positive or negative. This means that the matrix is made up of bare terms, or considered as such, and positive non-bare terms.
- At least one multilayer perceptron and preferably each multilayer perceptron, is established such that at least one connection matrix W nl n defining the connections between two successive layers, or even each connection matrix, is a sparse matrix as defined in the previous paragraph.
- Each connection matrix can be defined, prior to the learning phase, by random drawing.
- a multilayer perceptron having at least one sparse connection matrix improves the training diversity, when the training is carried out according to a multi-network approach operating in parallel. According to such an approach, several elementary neural networks, of identical structure, but whose connection matrices are different, are implemented in parallel. This allows for improved scanning performance.
- a hollow connection matrix W nl n between two consecutive layers is preferably accompanied by a structuring of the layer of highest rank (downstream layer ) in groups, or clusters.
- Each cluster X nq of a layer L n of rank n is assigned an order q.
- Each cluster X nq groups together several nodes x np of the downstream layer.
- the number of nodes per cluster can for example be between 2 and 10.
- the downstream layer L n of rank n is thus segmented into different clusters, which do not overlap.
- a node x np can only belong to a single cluster X nq .
- FIG. 3A illustrates the principles of implementation of the measurement system described in connection with FIG. 1.
- the detector detects a physical quantity and generates an input signal, for example an image.
- the input signal can be expressed in vector or matrix form, or in the form of several matrices.
- the input signal is transmitted to the processing unit 12.
- an input datum of the neural network NN is formed using the signal d 'entrance.
- the neural network NN is implemented, the result of the analysis of the input signal being obtained at the level of the output layer OUT.
- the structuring of the nodes of a layer into clusters is accompanied by a process of selecting a node or several nodes from each layer segmented into clusters as described below, in connection with FIGS. 3B to 3E.
- Figure 3B illustrates the selection process as performed for each cluster.
- figure 3C a detail of figure 2C has been extracted, which shows the connections of the nodes of the first cluster X nq .
- Cluster X nl has three nodes x nl , x n 2 , x n 3 .
- the nodes are activated by nodes of the upstream layer L n-lt of rank n-1.
- Each node x np of the L n layer receives an activation signal s np from the upstream layer, as described in connection with (1).
- the signal s np corresponds to the signal of connection s npp r generated by said node, of order p', of the upstream layer.
- the signal s np corresponds to the sum of the signal connection signals generated by said nodes of the upstream layer.
- the activation signals of each node s np of the cluster are taken into account.
- the activation signals of each node are normalized, so as to be between a minimum value and a predetermined maximum value.
- the signals are normalized so as to be homogeneous with a probability, being between the minimum value 0 and the maximum value 1.
- the normalization can be carried out according to:
- Step 132 is optional.
- the cluster activation signals are processed by a selection function f.
- the selection function is preferably a continuous and monotonic function.
- the selection function is or preferably comprises a sigmoid function, as schematized in FIG. 3D, or a function approximating a sigmoid function.
- the selection function may be a piecewise linear function, as shown in Figure 3E.
- the selection function makes it possible to accentuate the discrimination between the values of the normalized activation signals
- the activation signals fs ⁇ p) processed by the selection function are comparison signals, intended to be compared with each other, or with respect to a threshold. This is the subject of a comparison step 134.
- the highest comparison signal f s ⁇ p) is selected.
- each comparison signal f(Sn,p) exceeding a predetermined threshold value is selected.
- the nodes x np of the cluster X nq corresponding to the selected comparison signals are activated.
- the nodes x np of the cluster X nq corresponding to the non-selected comparison signals are deactivated.
- the nodes x np of the cluster X nq are activated or deactivated according to the comparison.
- the activated nodes receive the activation signals s np coming from the upstream layer. They generate, if necessary, a connection signal intended for one or more nodes of the next layer. Non-activated nodes do not generate a connection signal for the next layer. If the layer comprising the nodes is the last layer of the perceptron, the non-activated nodes are ignored for the rest of the processing.
- Steps 131 to 135 are repeated for each cluster defined on at least one layer of the multilayer perceptron.
- the clusters of the same layer comprise the same number of nodes.
- the selection function f can have the following analytic form:
- ⁇ is a threshold and T is a parameter denoted by the term “temperature”.
- ⁇ and T are predetermined or can self-adjust. When the values of are between 0 and 1, the threshold 6 is also between 0 and 1. When 6 > 0.5, only one neuron can be activated following the selection process.
- the temperature T determines the slope of the selection function.
- the designations 0 + and 1" respectively designate tending towards 0 while being greater than 0, and tending towards 1 while being less than 1.
- a low value of T causes the sigmoid function to tend towards a crenellation type function.
- the function f be differentiable and be strictly increasing. Indeed, during the learning phase, algorithms of the gradient descent type are used. The implementation of this type of algorithm can present difficulties if the derivative of the function f is nothing. According to one possibility, the function f includes a sigmoid function, as explained in connection with (3), to which a linear term is added.
- An important aspect of the invention is the recourse to the normalization of the values s fring ;P by the sum of the activation signals reaching the nodes of the cluster considered.
- the values s fring ;P can be assimilated to probabilities. This makes it possible to have values extending in a controlled interval, which is more appropriate prior to the application of a sigmoid function.
- This probabilistic approach coupled with a selection process carried out in parallel on several small clusters of the same layer, is particularly interesting when considering a small number of activation signals, induced by a sparse connection matrix. Advantage is taken of a principle of diversity, which consists in multiplying the competitions between small subsets of signals.
- each cluster is between 2 and 10 nodes.
- the number of nodes selected in a cluster is 1 or 2 per cluster, ie around 10% to 50% of the nodes forming the cluster.
- the analysis algorithm 2 is intended to process input data resulting from a detection of a physical quantity, forming a vector or a matrix or several matrices.
- each elementary neural network comprises an extraction block by convolution layers
- the data forming the input layer of the multilayer perceptron are positive, which facilitates the normalization described above.
- the fact that the values are positive makes it possible to avoid having recourse to a complex function of the standard exponential function type (usually designated softmax), and the associated memory cost.
- the selection process as previously described is implemented on several layers of each multilayer perceptron arranged downstream of the first layer Li.
- a neural network comprising one or more sparse connection matrices
- sparse matrices combined with the selection in each cluster, as previously described, and/or with a paralleling of several networks of identical elementary neurons, to the matrices of close connection, makes it possible to constitute an efficient NN neural network, taking into account the learning diversity conferred by the connection matrices.
- the input data were images resulting from the MNIST database, by selecting only 10% of them.
- the MNIST database is known to those skilled in the art. It comprises 60,000 representative samples of ten digits ranging from 0 to 9. Each image represents a character coded under 28 x 28 pixels, or 784 pixels.
- the input data IN of the neural network was a vector formed by the 784 pixels.
- the output of the extraction block was a dimension feature vector (1, 4608).
- the neural network comprised three elementary neural networks operating in parallel.
- Each elementary neural network comprised an extraction block (convolution layers) 21, 22, 23, as described in the preceding paragraph, respectively feeding a multilayer perceptron 31, 32, 33.
- Each of these layers was segmented into clusters of 3 nodes each.
- the selection process as described in connection with FIG. 3B, was implemented on each cluster of each layer.
- the values ⁇ were respectively 0.64, 0.79 and 0.4 for the layers L 2 , L 3 , L 4 .
- the value of T was equal to 0.05 for each layer. Given the linear term, the selection function was:
- the learning of the three elementary neural networks was carried out using annotated images, with a number of epochs limited to 10.
- An epoch corresponds to a number of times when all the images are submitted to the network, in a different order at each era.
- the output layer of each elementary neural network was a binary code word of length 504, structured in 168 clusters. Each word resulting from the output layer corresponded to the identified character.
- a test aimed at estimating the quality of the classification was carried out, by analyzing the classifications resulting from the three elementary neural networks implemented independently of each other, as well as a classification obtained by carrying out a combination, according to a majority vote, classifications established by the three elementary neural networks.
- majority vote it is meant that the result of the classification corresponds to the majority classification among the classifications resulting from each elementary neural network.
- the classification quality is quantified by a percentage of correctly recognized characters.
- the use of elementary neural networks, without combining the results, gave rise to the respective percentages of 99.15%, 98.95% and 99.11%.
- Training a neural network requires annotated data, that is to say input data whose output label is known. This is called supervised learning.
- the implementation of neural networks operating in parallel makes it possible to increase the number of training data, by using non-annotated data. There is thus a transition to supervised learning, in which all the learning data is annotated, to partially supervised learning, in which part of the data used for learning is not annotated beforehand.
- Figure 4A shows an architecture of an algorithm, similar to the structure shown in Figure 2A.
- a first multilayer perceptron 31 is arranged downstream of a convolutional extraction block 21. The association of the extraction block 21 and of the multilayer perceptron 31 forms a first neural network NN a .
- the first multilayer perceptron 31 at least two successive layers (upstream layer - downstream layer) are connected by a hollow connection matrix, the downstream layer being segmented into clusters of nodes implementing a selection process as previously described.
- the first neural network NN was trained with first annotated training data Di, but also with first unannotated training data di.
- the training data whether annotated (10% of the training data) or not (90% of the training data), are images extracted from the MNIST database.
- the second multilayer perceptron 32 is also a second multilayer perceptron 32, connected to a convolutional extraction block 22, the structure of which is identical to the first multilayer perceptron 31.
- the association of the extraction block 22 and of the multilayer perceptron 32 forms a second network of NNb neurons.
- the second multilayer perceptron 32 is similar to the first multilayer perceptron 31, except for at least one connection matrix.
- the first and the second multilayer perceptrons have at least one connection matrix W nl n different from each other.
- the second neural network NNb is trained with second training data annotated D 2 , but also second training data not annotated d 2 .
- the first data annotated Di and the second data annotated D 2 are preferably disjoint sets. The same applies to the first non-annotated data di and to the second non-annotated data d 2 .
- FIG. 4B illustrates the main steps of a process for training the two neural networks NN a and NNb.
- the first and the second neural networks NN a and NNb are respectively the subject of learning using the first and second annotated data Di and D 2 respectively.
- the first neural network NN a performs an annotation of the first non-annotated data di, so as to obtain first pseudo-annotated data D'i: step 210;
- the second neural network NNb performs an annotation of the second non-annotated data d 2 , so as to obtain second pseudo-annotated data D′ 2 : step 310 .
- the first pseudo-annotated data D'i are transmitted to the second neural network NNb: step 220.
- the second pseudo-annotated data D' 2 are transmitted to the first neural network NN a : step 320.
- the first neural network NN a is retrained using the first annotated data Di and the second pseudo-annotated data D′ 2 .
- the second neural network NNb is retrained using the second annotated data D 2 and the first pseudo-annotated data D'i.
- Steps 210 to 230 as well as 310 to 330 can be repeated.
- the first neural network NN a and the second neural network NNb perform an update of the pseudo-annotations respectively of the first pseudo-annotated data and of the second pseudo-annotated data
- the first and second pseudo-annotated data respectively updated during steps 210 and 310 of the same iteration, are respectively transmitted to the second neural network NNb and to the first neural network NN a
- steps 230 and 330 the first and second neural networks are retrained, using respectively: the first annotated data Di and the second pseudo-annotated data D′ 2 ; o the second annotated data D 2 and the first pseudo-annotated data D'i.
- Steps 210 to 230 and 310 to 330 are repeated until stability is achieved in the pseudo-annotations, for example when a predefined proportion of pseudo-annotation data annotated no longer changes annotation following two successive iterations. Pseudoannotations are then considered stable.
- FIG. 5 illustrates a variant of the architecture described in connection with FIG. 4A.
- the first neural network NN a comprises three first elementary neural networks NN a ,i, NN a ,2, NN a ,3 operating in parallel.
- Each first elementary neural network comprises an extraction block (21i, 212, 2I3) coupled to a multilayer perceptron (31i, 312, 31s).
- Each first elementary neural network has the same structure: same number of layers, same number of nodes per layer. At least one connection matrix between two layers of each multilayer perceptron is different in each first elementary neural network.
- the second neural network NNb comprises several second elementary neural networks NNb,i, NNb, 2, NNb, 3 operating in parallel.
- Each second elementary neural network comprises an extraction block (22i, 22 2 , 22 3 ) coupled to a multilayer perceptron (32i, 32 2 , 32 3 ).
- Each second elementary neural network has the same structure: same number of layers, same number of nodes per layer. At least one connection matrix between two layers of each multilayer perceptron is different in each second elementary neural network.
- the multilayer perceptrons of the first and of the second neural network are respectively connected to a first combination layer 41 and a second combination layer 42.
- Each combination layer is configured to combine the outputs emanating from the multilayer perceptrons to which it is connected.
- the combination can be based on a mean or a median.
- the output of each combining layer constitutes the output of the neural network.
- the first and second neural networks NN a , NNb can be implemented, for learning purposes, as described in connection with FIG. 4B.
- the inventors implemented the method described in connection with FIG. 4B using an architecture as described in connection with FIG. 5.
- the first and second neural networks NN a , NNb were the subject of learning by using first annotated data (5% of the database), first unannotated data, second annotated data (5% of the database) and second unannotated data.
- the number of second pseudo-annotated data, randomly chosen at each iteration was equal to the number of second annotated data.
- the first annotated and pseudo-annotated data after 20 iterations was used to train a neural network as depicted in Figure 5. The rate of correctly recognized digits reached 99.4%.
- the ratio between the initially annotated data and the pseudo-annotated data can typically be less than 10%.
- Performance can be improved by increasing the number of neural networks working in parallel.
- the architectures described in the example included 3 networks operating in parallel. It is possible to increase this number, and provide 4 or 5 parallel networks, or even more.
- the invention may be used for processing measured data, for example image processing, for example image recognition, or sound processing, for example sound classification or speaker identification.
- image processing for example image recognition
- sound processing for example sound classification or speaker identification.
- each input datum can be represented in the form of an image resulting from the evolution of a frequency spectrum as a function of time.
- the invention applies to any data that can be represented in the form of a multidimensional vector.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Measurement Of Radiation (AREA)
Abstract
L'invention est un procédé d'analyse d'une donnée mesurée par un détecteur par un algorithme d'analyse comportant au moins un réseau de neurones de type perceptron multicouches. Le réseau de neurones comporte au moins deux couches successives, formant une couche amont et une couche aval, dont les nœuds respectifs sont connectés par une matrice de connexion creuse, dont au moins 50 % des termes sont nuls ou de valeur négligeable. Les nœuds de la couche aval sont segmentés en groupes. Dans chaque groupe, une sélection de nœuds activés est établie en fonction de signaux de connexion reliant les nœuds de la couche amont aux nœuds du groupe.
Description
Description
Titre : Procédé d'analyse d'une donnée numérique
DOMAINE TECHNIQUE
L'invention concerne un traitement de données à l'aide d'un réseau de neurones, comportant un perceptron multicouches, présentant une architecture particulière.
ART ANTERIEUR
Le recours à des réseaux de neurones pour l'analyse de motifs numériques divers, de type images, sons, vidéos est usuel.
Certains algorithmes de traitement mettent en œuvre plusieurs réseaux de neurones, alimentés par des données communes, et fonctionnant en parallèle. Il est recherché que les réseaux de neurones fonctionnant en parallèle soient dissemblables, par exemple en utilisant un nombre de couches différentes, ou un nombre de nœuds par couches différents. Lorsqu'on met en œuvre des réseaux de neurones convolutifs, comportant des couches de convolution destinées à appliquer des filtres convolutifs, chaque réseau de neurones fonctionnant en parallèle peut mettre en œuvre des filtres différents.
L'invention décrite ci-après adresse la question de la diversité de réseaux de neurones, et notamment de réseaux de neurones fonctionnant en parallèle. Elle permet d'obtenir une diversité tout en étant simple à mettre en œuvre.
EXPOSE DE L'INVENTION
Un premier objet de l'invention est un procédé d'analyse d'une donnée numérique, prenant la forme d'un vecteur ou d'une matrice, la donnée numérique résultant d'une mesure effectuée par un détecteur, et formant une donnée d'entrée d'un réseau de neurones, le réseau de neurones comportant plusieurs réseaux de neurones élémentaires, chaque réseau de neurones élémentaire comprenant un perceptron multicouches s'étendant entre :
- une première couche ;
- une couche de sortie, la couche de sortie comportant un résultat d'analyse élémentaire, par le réseau de neurones élémentaire, de la donnée numérique ;
chaque perceptron multicouches étant tel que :
- à chaque couche est assigné un rang, le rang d'une couche étant d'autant plus élevé que la couche est proche de la couche de sortie ;
- au moins deux couches de rangs successifs, formant une couche amont et une couche aval, comportent des nœuds, des nœuds des deux couches étant connectés, chaque nœud de la couche amont adressant un signal de connexion à au moins un nœud de la couche aval auquel il est connecté, la connexion des nœuds des couches amont et aval étant définie par une matrice de connexion, chaque terme de la matrice de connexion étant associé à un nœud de la couche amont et un nœud de la couche aval, et quantifiant une contribution du nœud de la couche amont pour le nœud de la couche aval ; le procédé comportant les étapes suivantes :
- a) utilisation de la donnée d'entrée pour alimenter la première couche du perceptron multicouches de chaque réseau de neurones élémentaire;
- b) mise en œuvre de chaque réseau de neurones élémentaires pour obtenir un résultat d'analyse élémentaire par la couche de sortie du perceptron multicouches de chaque réseau de neurones élémentaire; le procédé étant caractérisé en ce que :
- au moins une matrice de connexion du perceptron multicouches de chaque réseau de neurones élémentaire est une matrice creuse, comportant au moins 50 % de termes nuis ou dont la valeur est au moins dix fois inférieure à au moins un autre terme de la matrice ;
- le perceptron multicouches de chaque réseau de neurones élémentaire comporte respectivement, entre deux couches successives de mêmes rangs respectifs, des matrices de connexion creuses différentes.
Selon un mode de réalisation, chaque réseau de neurones élémentaire comporte un bloc d'extraction programmé pour extraire des caractéristiques de la donnée d'entrée, les caractéristiques ainsi extraites formant la première couche du perceptron multicouches dudit réseau de neurones élémentaire. Le bloc d'extraction peut comporter différentes couches de convolution successives, chaque couche de convolution résultant de l'application d'un filtre de convolution à la couche de convolution précédente.
De préférence, chaque perceptron multicouches comporte un même nombre de couches et un même nombre de nœuds par couche.
Chaque perceptron multicouches peut comporter au moins une couche intermédiaire, entre la première couche et la couche de sortie.
Deux couches successives d'au moins un perceptron multicouches peuvent être telles que :
- les nœuds de la couche aval sont segmentés en différents groupes.
Le procédé est alors tel l'étape b) comporte, pour le perceptron multicouches, les sous-étapes suivantes :
- b-i) à partir des signaux de connexion résultant des nœuds de la couche amont, connectés à un même groupe de la couche aval, sélection de nœuds, appartenant audit groupe, au moins un nœud dudit groupe n'étant pas sélectionné ;
- b-ii) activation des nœuds sélectionnés, au moins un nœud du groupe n'étant pas activé. Selon une possibilité,
- au moins un perceptron multicouches comporte plusieurs paires comportant deux couches successives, chaque paire comportant une couche amont et une couche aval, une matrice de connexion étant définie entre la couche amont et la couche aval ;
- chaque matrice de connexion comporte au moins 50 % de termes nuis ou dont la valeur est au moins dix fois inférieure à au moins un autre terme de ladite matrice ;
- les sous-étapes b-i) et b-ii) sont mises en œuvre pour chaque paire de couches.
La sous-étape b-i) peut comporter, pour chaque groupe d'une couche aval d'au moins un perceptron multicouches:
- calcul d'un signal d'activation pour chaque nœud du groupe, en fonction de signaux de connexion émis, vers ledit nœud, par chaque nœud de la couche amont connecté audit nœud;
- normalisation des signaux d'activation calculés pour chaque nœud du groupe de façon que les signaux normalisés sont compris entre une valeur minimale et une valeur maximale prédéterminées ;
- sélection des nœuds du groupe en fonction des signaux d'activation normalisés.
La sous-étape b-i) peut comporter :
- prise en compte d'une fonction de sélection, la fonction de sélection étant une fonction croissante ou strictement croissante ;
- application de la fonction de sélection à chaque signal d'activation normalisé, de façon à calculer pour chaque signal d'activation normalisé, un signal de comparaison ;
- sélection des nœuds du groupe en fonction du signal de comparaison calculé pour chaque nœud.
La fonction de sélection peut comporter une fonction sigmoïde ou linéaire par morceaux.
Selon un mode de réalisation, au moins une ou chaque matrice de connexion d'un perceptron multicouches comporte au moins 90% ou au moins 95% de termes nuis ou au moins inférieurs à au moins un autre terme de ladite matrice.
Selon un mode de réalisation, pour au moins un perceptron multicouches, chaque signal de connexion entre deux nœuds de deux couches successives est positif.
Selon un mode de réalisation, le procédé comporte une étape c) de combinaison des résultats d'analyse élémentaires, résultant de chaque réseau de neurones élémentaire, pour former un résultat d'analyse.
Selon un mode de réalisation, le procédé comporte, préalablement à l'étape a),
- mesure d'une grandeur physique par un détecteur;
- formation, par le détecteur, d'un signal d'entrée à partir de la grandeur physique mesurée ;
- formation de la donnée d'entrée à partir du signal d'entrée.
Le résultat d'analyse peut être une caractérisation de la grandeur physique mesurée.
Le procédé peut comporter, préalablement à l'étape a) :
- prise en compte d'une donnée mémorisée dans une base de données, la donnée mémorisée formant le signal d'entrée ;
- formation de la donnée d'entrée à l'aide du signal d'entrée ;
Le résultat d'analyse peut alors être une caractérisation de la donnée mémorisée.
Un deuxième objet de l'invention est un système de mesure, comportant :
- un détecteur, configuré pour mesurer une grandeur physique et pour établir un signal d'entrée à partir de la grandeur physique mesurée ;
- une unité de traitement, programmée pour mettre en œuvre le procédé selon le premier objet de l'invention.
Le détecteur peut être un capteur d'image ou un capteur de son ou un capteur magnétique.
Un troisième objet de l'invention est un support de données, lisible par un ordinateur, ou configuré pour être connecté à un ordinateur, ou circuit intégré, comportant des instructions pour mettre en œuvre le procédé selon le premier objet de l'invention, notamment à partir d'une donnée mesurée.
Un quatrième objet de l'invention est un programme d'ordinateur comportant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent à la mise en œuvre d'un réseau de neurones, configuré pour analyser une donnée d'entrée, le réseau de neurones
comportant plusieurs réseaux de neurones élémentaires, chaque réseau de neurones élémentaire comprenant un perceptron multicouches s'étendant entre :
- une première couche;
- une couche de sortie, la couche de sortie comportant un résultat d'analyse élémentaire, par le réseau de neurones élémentaire, de la donnée numérique ; chaque perceptron multicouches étant tel que :
- à chaque couche est assigné un rang, le rang d'une couche étant d'autant plus élevé que la couche est proche de la couche de sortie;
- au moins deux couches de rangs successifs, formant une couche amont et une couche aval, comportent des nœuds, des nœuds des deux couches étant connectés, chaque nœud de la couche amont adressant un signal de connexion à au moins un nœud de la couche aval auquel il est connecté, la connexion des nœuds des couches amont et aval étant définie par une matrice de connexion, chaque terme de la matrice de connexion étant associé à un nœud de la couche amont et un nœud de la couche aval, et quantifiant une contribution du noeud de la couche amont pour le nœud de la couche aval ; le programme étant caractérisé en ce que :
- au moins une matrice de connexion de chaque perceptron multicouches est une matrice creuse, comportant au moins 50 % de termes nuis ou dont la valeur est au moins dix fois inférieure à au moins un autre terme de la matrice ;
- les perceptrons multicouches comportent respectivement, entre deux couches successives de mêmes rangs respectifs, des matrices de connexion creuses différentes.
Le programme d'ordinateur peut comporter l'une des caractéristiques suivantes, prises isolément ou selon les combinaisons techniquement réalisables :
- chaque perceptron multicouches comporte moins une couche intermédiaire, entre la couche d'entrée et la couche de sortie ;
- chaque perceptron multicouches comporte plusieurs paires comportant deux couches successives, chaque paire comportant une couche amont et une couche aval, une matrice de connexion étant définie entre la couche amont et la couche aval ;
- chaque matrice de connexion comporte au moins 50% ou au moins 80% de termes nuis ou dont la valeur est au moins dix fois inférieure à au moins un autre terme de ladite matrice.
Le programme d'ordinateur peut comporter des instructions pour combiner des résultats d'analyse résultant de chaque réseau de neurones élémentaire.
Un cinquième objet de l'invention est un support de données lisible ou par ordinateur, ou pouvant être connecté à un ordinateur, ou un circuit imprimé, dans lequel est enregistré le programme d'ordinateur selon le quatrième objet de l'invention.
Un sixième objet de l'invention est un procédé d'annotation de données, utilisant un programme selon le quatrième objet de l'invention, le programme comportant un premier réseau de neurones élémentaire et un deuxième réseau de neurones élémentaire, les premier et deuxième réseaux de neurones élémentaires comportant respectivement un même nombre de couches, et un même nombre de nœuds par couche, le procédé comportant les étapes suivantes :
- i) prise en compte de premières données d'entrée annotées et de premières données d'entrée non annotées ;
- ii) prise en compte de deuxièmes données d'entrée annotées, différentes des premières données d'entrée annotées, et de deuxièmes données non annotées ;
- iii) apprentissage :
• du premier réseau de neurones élémentaire à l'aide des premières données d'entrée annotées ;
• et du deuxième réseau de neurones élémentaire à l'aide des deuxièmes données d'entrée annotées;
- iv) utilisation
• du premier réseau de neurones élémentaire pour : annoter les premières données non annotées, de façon à former des premières données pseudo-annotées ; ou mettre à jour une annotation de premières données pseudo-annotées résultant d'une itération précédente ;
• du deuxième réseau de neurones élémentaire pour : annoter les deuxièmes données non annotées, de façon à former des deuxièmes données pseudo-annotées ; ou mettre à jour une annotation de deuxièmes données pseudo-annotées résultant d'une itération précédente ;
- v) mise à jour de l'apprentissage :
• du premier réseau de neurones élémentaire à l'aide des premières données d'entrée annotées et des deuxièmes données d'entrée pseudo-annotées lors de l'étape iv) ;
• du deuxième réseau de neurones élémentaire à l'aide des deuxièmes données d'entrée annotées et des premières données d'entrée pseudo-annotées lors de l'étape iv);
- vi) réitération des étapes iv) à v), jusqu'à l'atteinte d'un critère d'arrêt d'itérations, de telle sorte que suite aux itérations, les annotations des premières données d'entrée pseudo-annotées et les deuxièmes données d'entrée pseudo-annotées sont considérées comme stabilisées.
Les premières données annotées et non annotées, de même que les deuxièmes données annotées et non annotées, peuvent être des données mesurées par un détecteur. Le détecteur peut être un capteur d'image ou un capteur de son ou , de façon plus générale, un capteur d'une grandeur physique.
Selon un mode de réalisation,
- lors de l'étape i), le nombre de premières données d'entrée non annotées est supérieur au nombre de premières données d'entrée annotées ;
- lors de l'étape ii), le nombre de deuxièmes données d'entrée non annotées est supérieur au nombre de deuxièmes données d'entrée annotées.
Le programme d'ordinateur peut comporter plusieurs premiers réseaux de neurones élémentaires, chaque premier réseau de neurones élémentaire comportant
• un même nombre de couches, et un même nombre de nœuds par couche ;
• parmi les couches, deux couches de rangs successifs, formant respectivement une couche amont et une couche aval, la matrice de connexion entre la couche amont et la couche aval comportant au moins 50% ou au moins 80% de termes nuis ou dont la valeur est au moins dix fois inférieure à au moins un autre terme de la matrice, les matrices de connexion entre lesdites couches étant différentes dans chaque premier réseau de neurones.
L'étape iii) peut comporter un apprentissage de chaque premier réseau de neurones élémentaire à l'aide des premières données d'entrée annotées.
L'étape iv) peut comporter
• iv-1) une utilisation de chaque premier réseau de neurones élémentaire pour annoter indépendamment les premières données non annotées ou mettre à jour indépendamment une annotation des premières données pseudo-annotées résultant d'une itération précédente ;
• iv-2) pour chaque première donnée pseudo-annotée, une combinaison des annotations résultant de la sous-étape iv-1) pour définir une seule annotation pour ladite première donnée ;
L'étape v) peut comporter une mise à jour de l'apprentissage de chaque premier réseau de neurones élémentaire à l'aide des premières données d'entrée annotées et des deuxièmes données d'entrée pseudo-annotées lors de l'étape iv).
Le programme d'ordinateur peut comporter plusieurs deuxièmes réseaux de neurones élémentaires, chaque deuxième réseau de neurones élémentaire comportant
• un même nombre de couches, et un même nombre de nœuds par couche ;
• parmi les couches, deux couches de rangs successifs, formant respectivement une couche amont et une couche aval, la matrice de connexion entre la couche amont et la couche aval comportant au moins 50% ou au moins 80% de termes nuis ou dont la valeur est au moins dix fois inférieure à au moins un autre terme, les matrices de connexion entre lesdites couches étant différentes dans chaque deuxième réseau de neurones élémentaire.
L'étape iii) peut comporter un apprentissage de chaque deuxième réseau de neurones élémentaire à l'aide des deuxièmes données d'entrée annotées.
L'étape iii) peut comporter :
• iv-1) une utilisation de chaque deuxième réseau de neurones élémentaire pour annoter indépendamment les deuxièmes données annotées ou mettre à jour indépendamment une annotation des deuxièmes données pseudo-annotées résultant d'une itération précédente ;
• iv-2) pour chaque deuxième donnée pseudo-annotée, combinaison des annotations résultant de la sous-étape v-1) pour définir une seule annotation.
L'étape v) peut comporter une mise à jour de l'apprentissage de chaque deuxième réseau de neurones élémentaire à l'aide des deuxièmes données d'entrée annotées et des premières données d'entrée pseudo-annotées lors de l'étape iv).
L'invention sera mieux comprise à la lecture de l'exposé des exemples de réalisation présentés, dans la suite de la description, en lien avec les figures listées ci-dessous.
FIGURES
La figure 1 schématise les principaux éléments permettant une mise en œuvre de l'invention
La figure 2A représente une architecture d'un algorithme d'analyse mettant en œuvre l'invention. L'algorithme d'analyse est basé sur plusieurs réseaux de neurones élémentaires.
La figure 2B schématise un bloc d'extraction mis en œuvre chaque réseau de neurones élémentaire.
La figure 2C schématise un perceptron multicouches de chaque réseau de neurones élémentaire.
La figure 3A montre les principales étapes du fonctionnement d'un réseau de neurones tel que décrit en lien avec la figure 2C.
La figure 3B détaille les étapes de sélection d'un ou de plusieurs nœuds dans un groupe de nœuds d'une couche d'un réseau de neurones élémentaire décrit en lien avec la figure 2C.
La figure 3C est un détail d'un groupe, ou cluster, de nœuds représenté sur la figure 2C.
La figure 3D et la figure 3E illustrent des exemples de fonctions de sélection.
La figure 4A montre une mise en parallèle d'un premier réseau de neurones et d'un deuxième réseau de neurones pouvant être utilisé à des fins d'apprentissage partiellement supervisé.
La figure 4B montre les principales étapes de l'apprentissage partiellement supervisé mettant en œuvre l'architecture décrite en lien avec la figure 4A.
La figure 5 schématise une variante de la mise en parallèle du premier de réseau de neurones et du deuxième réseau de neurones, décrit en lien avec la figure 4A. Selon cette variante, le premier réseau de neurones et le deuxième réseau de neurones sont subdivisés en plusieurs réseaux de neurones élémentaires fonctionnant en parallèle.
EXPOSE DE MODES DE REALISATION PARTICULIERS
La figure 1 représente un exemple de système mettant en œuvre l'invention. Le système 1 comporte un détecteur 10, configuré pour détecter une grandeur physique 11. Dans cet exemple, et de façon non limitative, le détecteur 10 est un capteur d'image, la grandeur physique étant une onde électromagnétique. Le détecteur peut être un capteur acoustique, la grandeur physique étant une onde acoustique. Le détecteur peut être capteur magnétique ou un capteur électrique. D'une façon générale, le détecteur forme un signal d'entrée S représentatif de la grandeur physique qu'il a détecté.
Le détecteur 10 est relié à une unité de traitement 12, configurée pour traiter les mesures. L'unité de traitement 12 comporte un ordinateur ou un processeur spécifique. L'unité de traitement est reliée à une mémoire 13 comportant des instructions, sous forme de programme d'ordinateur ou d'un circuit intégré dédié, pour traiter le signal d'entrée S. Le circuit dédié peut être un circuit de type ASIC (Application Specific Integrated Circuit - Circuit intégré dédié à une application). Le signal d'entrée S est traité de façon à caractériser la grandeur physique détectée.
Dans l'exemple décrit, le traitement réalisé par l'unité de traitement vise à effectuer une classification de l'image formée par le capteur d'image. Les images comportent des caractères alphanumériques et l'unité de traitement est programmée pour identifier les caractères alphanumériques. L'identification consiste à classer chaque image dans une classe de caractère prédéterminée. Il s'agit d'une application de type reconnaissance d'image.
D'autres types de caractérisation sont envisageables. Ainsi, une caractérisation peut être, de façon non limitative, une identification, une reconnaissance (reconnaissance d'image, reconnaissance de son), une classification parmi des classes prédéterminées, une détermination d'une probabilité d'appartenance à une classe, ou une estimation d'un paramètre duquel dépend la grandeur physique mesurée.
La figure 2A schématise une architecture d'un algorithme d'analyse 2 exécuté par l'unité de traitement 12. L'image acquise par le détecteur 10 forme une donnée d'entrée IN de l'algorithme d'analyse 2 mis en œuvre par ordinateur.
L'algorithme d'analyse 2 comporte un réseau de neurones NN. Un aspect important de l'invention est que le réseau de neurones comporte plusieurs perceptrons multicouches, chaque perceptron multicouches fonctionnant en parallèle. Dans l'exemple décrit, le réseau de neurones comporte trois perceptrons multicouches 31, 32, 33. Chaque perceptron multicouches s'étend à partir d'une première couche Li; L2 et L3, comme décrit en lien avec la figure 2B. Chaque première couche peut former une couche d'entrée du réseau de neurones. C'est notamment le cas lorsque la donnée d'entrée est un vecteur. Dans cet exemple, la couche d'entrée de chaque perceptron multicouches est alimentée à un bloc d'extraction, ce dernier étant configuré pour extraire des caractéristiques de l'image formant la donnée d'entrée. Ainsi, le réseau de neurones NN comporte trois blocs d'extraction 21, 22, 23, chaque bloc d'extraction étant configuré pour extraire des caractéristiques de l'image formant la donnée d'entrée. Chaque bloc d'extraction est disposé en amont d'un perceptron multicouches, de façon que les caractéristiques de l'image extraites par un bloc d'extraction forment la première couche d'un perceptron multicouches.
D'une façon générale, le réseau de neurones NN est formé de plusieurs réseaux de neurones élémentaires fonctionnant en parallèle, par exemple NNi, NN2, NN3 dans le cas de trois réseaux de neurones élémentaires. Chaque réseau de neurones élémentaire comporte un perceptron multicouches 31, 32, 33. Chaque réseau de neurones élémentaire peut comporter un bloc d'extraction de caractéristiques 21, 22, 23 alimentant le perceptron multicouches 31, 32, 33. Dans l'exemple décrit, le réseau de neurones comporte trois réseaux de neurones élémentaires.
Par fonctionnant en parallèle, on entend que chaque réseau de neurones élémentaire utilise la même donnée d'entrée et effectue un traitement, indépendamment d'un autre réseau de neurones élémentaire, pour aboutir à une donnée de sortie. Les données de sortie respectives de chaque réseau de neurones élémentaires peuvent être combinées de façon à former la donnée de sortie du réseau de neurones.
Sur la figure 2B, on a schématisé le bloc d'extraction 21 du premier réseau de neurones élémentaire NNi, sachant que les blocs d'extraction 22 et 23 ont une structure similaire. Le bloc d'extraction 21 s'étend entre une couche d'entrée 21jn , qui correspond à l'entrée IN du réseau de neurones, et une couche de sortie 21out. Le bloc d'extraction 21 comporte M couches de convolution successives Ci....Cm...CM. Lorsque m > 1, chaque couche de convolution Cm est obtenue par convolution d'une couche précédente par un filtre de convolution, par exemple un filtre de convolution de dimension 5x5. Le nombre M de couches de convolution Cm peut par exemple être égal à 2. La couche de sortie 21out est usuellement formée par une concaténation des données de la dernière couche de convolution, formant un vecteur de caractéristiques. Le contenu de la couche de sortie 21out forme les caractéristiques extraites de la donnée d'entrée.
Le bloc d'extraction 21 est configuré pour extraire des caractéristiques pertinentes de l'image, ces dernières formant une donnée d'entrée d'un perceptron multicouches, décrit par la suite. On peut utiliser un bloc d'extraction 21 préprogrammé pour extraire des caractéristiques d'une image. De façon alternative, ou complémentaire, le bloc d'extraction 21 fait l'objet d'un apprentissage, conjointement avec le perceptron multicouches qu'il alimente, de façon à déterminer les paramètres des filtres de convolution mis en œuvre dans les couches de convolution Cm.
Les caractéristique extraites par le bloc d'extraction 21 sont ensuite analysées par un perceptron multicouches 31.
Un aspect important de l'invention est que le réseau de neurones comporte différents réseaux de neurones élémentaires. Dans l'exemple représenté sur la figure 2A, le réseau de neurones NN comporte trois réseaux de neurones élémentaires. Le nombre de réseaux de neurones élémentaires peut être compris entre 2 et 10.
La figure 2C représente une architecture d'un perceptron multicouches 31 d'un réseau de neurones élémentaire NNi, sachant que chaque perceptron multicouches de chaque réseau de neurones élémentaire présente une architecture similaire.
Dans l'exemple représenté le perceptron multicouches 31 comporte trois couches Li, L2 et L3. De façon connue dans ce type d'architecture de réseau de neurones, chaque couche comporte des nœuds xn p. Sur la figure 2A, chaque nœud xn p a été schématisé par un cercle. A chaque couche Ln est assigné un rang n. Le rang de la couche Ln est d'autant plus élevé que la couche est proche de la couche de sortie OUTi du perceptron multicouches 31. Dans cet exemple, la couche de sortie OUTi est la couche L3. La couche Li est une couche de rang 1, la couche L2 est une couche de rang 2 et la couche L3 est une couche de rang 3. D'une façon générale, chaque perceptron multicouches comporte au moins deux couches : la couche d'entrée et la couche de sortie. Il peut comporter plusieurs couches intermédiaires entre la couche d'entrée et la couche de sortie.
Dans chaque couche de rang n, à chaque nœud xn p est assigné un ordre p. Le nombre de nœuds xn p dans une couche de rang n est Pn. Pn est par exemple compris entre quelques dizaines et quelques milliers. Les nombres de nœuds respectifs de deux couches différentes peuvent être différents.
Le fonctionnement d'un réseau de neurones de type perceptron multicouches est connu de l'homme du métier. Si l'on considère deux couches successives, i-e de rangs respectifs successifs n — l,n, chaque nœud de la couche Ln de rang n, dite couche aval, reçoit un signal d'activation sn p correspondant à une combinaison linéaire du signal de connexion s
'un ou plusieurs noeuds xn-1;P' de la couche Ln-1 du rang n — 1, dite couche amont. Ainsi, la valeur sn p du signal d'activation de chaque nœud xn p d'une couche Ln est telle que:
OÙ sn-i,p',p est 'e signal de connexion adressé par chaque nœud xn-l pl d'ordre p' de la couche Ln-1 de rang n — 1 vers le nœud d'ordre p de la couche Ln de rang n ; bn-i,pr est un biais associé à chaque nœud xn-l pl de la couche de Ln-1 rang n-1. fn p est une fonction d'activation associée au nœud d'ordre p de la couche de rang n;
Wp' p est un coefficient de connexion entre chaque noeud xn-l pl de la couche précédente et le nœud xn p d'ordre p de couche de rang n.
La forme de chaque fonction d'activation fn p est déterminée par l'homme du métier. Il peut par exemple s'agir d'une fonction de type tangente hyperbolique ou sigmoïde.
La valeur des nœuds de la première couche L dépend de la dernière couche du bloc d'extraction. Pour les couches Ln avec n > 1, les paramètres liés à chaque nœud xn p, c'est-à- dire les termes, bn-l p, et wp p, définis en lien avec l'expression (1) peuvent être déterminés lors de l'apprentissage.
Chaque perceptron multicouches 31, 32, 33 de chaque réseau de neurones élémentaire NNi, NN2, NN3 a de préférence le même nombre de couches et le même nombre de nœuds par couche. Au moins une matrice de connexion Wn-l n reliant deux couches successives de rangs n — l,n est différente pour chaque perceptron multicouches.
Les sorties respectives OUTi, OUT2, OUT3 de chaque perceptron multicouches constituent également les sorties respectives de chaque réseau de neurones élémentaire NNi, NN2, NN3. Elles peuvent être combinées dans une couche de combinaison 40, de façon à former une sortie OUT du réseau de neurones 2. La couche de sortie OUT correspond ainsi à une combinaison des sorties de chaque réseau de neurones élémentaire. La combinaison peut être obtenue par une moyenne ou une médiane des sorties des perceptrons multicouches, ou d'autres types de combinaison, par exemple un vote majoritaire, tel que décrit par la suite.
Une particularité d'au moins un perceptron multicouches, et de préférence de chaque perceptron multicouches, est qu'entre au moins deux couches de rangs successifs n — 1, n, plus de 50%, voire plus de 80%, et même plus de 90% des coefficients de connexion sont nuis. La connexion entre les deux couches successives peut être représentée par une matrice de connexion Wn-l n , de dimension (Pn-1 Pn), dont chaque terme wpl p est le coefficient de connexion entre le nœud d'ordre p' de la couche de rang n — 1 et le nœud d'ordre p de la couche de rang n. Chaque terme wpl p représente une contribution du nœud xn-1;P' dans le nœud xn p. La matrice de connexion Wn-l n est une matrice creuse, au sens ou plus de 50%, voire plus de 80%, voire plus de 90% ou 95% sont nuis. Par nul, il est entendu égal à zéro où pouvant être considérés comme nuis. Les termes pouvant être considérés comme nuis sont les termes dont la valeur est au moins 10 fois inférieure à au moins un autre terme de la matrice. Les termes de la matrice de connexion sont positifs ou nuis. Cela signifie que la matrice est constituée de termes nuis, ou considérés comme tels, et des termes non nuis positifs.
Au moins un perceptron multicouches, et de préférence chaque perceptron multicouches, est établi de telle sorte qu'au moins une matrice de connexion Wn-l n définissant les connexions entre deux couches successives, voire chaque matrice de connexion, soit une matrice creuse
telle que définie dans le paragraphe précédent. Chaque matrice de connexion peut être définie, préalablement à la phase d'apprentissage, par tirage aléatoire.
Le recours à un perceptron multicouches présentant au moins une matrice de connexion creuse améliore la diversité d'apprentissage, lorsque l'apprentissage est effectué selon une approche en multi-réseaux fonctionnant en parallèle. Selon une telle approche, plusieurs réseaux de neurones élémentaires, de structure identique, mais dont les matrices de connexions sont différentes, sont mis en œuvre en parallèle. Cela permet une amélioration des performances d'analyse.
L'utilisation d'une matrice de connexion creuse Wn-l n entre deux couches consécutives (couche amont Ln - couche aval Ln-i) s'accompagne de préférence d'une structuration de la couche de rang le plus élevé (couche aval) en groupes, ou clusters. Chaque cluster Xn q d'une couche Ln de rang n est assigné d'un ordre q. Chaque cluster Xn q regroupe plusieurs nœuds xn p de la couche aval. Le nombre de nœuds par cluster peut par exemple être compris entre 2 et 10. La couche aval Ln de rang n est ainsi segmentée en différents clusters, quine se recouvrent pas. Ainsi, de préférence, un nœud xn p ne peut appartenir qu'à un seul cluster Xn q.
La figure 3A illustre les principes de mise en œuvre du système de mesure décrit en lien avec la figure 1. Au cours d'une étape 100, le détecteur détecte une grandeur physique et génère un signal d'entrée, par exemple une image. D'une façon générale, le signal d'entrée peut être exprimé sous une forme vectorielle, ou matricielle, ou sous la forme de plusieurs matrices. Au cours d'une étape 110, le signal d'entrée est transmis à l'unité de traitement 12. Au cours d'une étape 120, on forme une donnée d'entrée du réseau de neurones NN à l'aide du signal d'entrée. Au cours d'une étape 130, le réseau de neurones NN est mis en œuvre, le résultat de l'analyse du signal d'entrée étant obtenu au niveau de la couche de sortie OUT.
Avantageusement, la structuration des nœuds d'une couche en clusters s'accompagne d'un processus de sélection d'un nœud ou plusieurs nœuds de chaque couche segmentée en clusters comme décrit par la suite, en lien avec les figures 3B à 3E. La figure 3B illustre le processus de sélection tel qu'il est effectué pour chaque cluster. Sur la figure 3C, on a extrait un détail de la figure 2C, qui montre les connexions des nœuds du premier cluster Xn q. Dans cet exemple, n = 2 et q = 1. Le cluster Xn l comporte trois nœuds xn l, xn 2, xn 3. Les nœuds sont activés par des nœuds de la couche amont Ln-lt de rang n-1. Chaque nœud xn p de la couche Ln reçoit un signal d'activation sn p de la couche amont, comme décrit en lien avec (1). Lorsque le nœud xn p est connecté à un seul nœud de la couche amont, le signal sn p correspond au signal de
connexion sn p pr généré par ledit nœud, d'ordre p', de la couche amont. Lorsque le nœud xn p est connecté à plusieurs nœuds de la couche amont, le signal snp correspond à la somme des signaux de connexion signal générés par lesdits nœuds de la couche amont.
Au cours d'une l'étape 131, on prend en compte les signaux d'activation de chaque nœud snp du cluster.
De préférence, au cours d'une étape 132, les signaux d'activation de chaque nœud sont normalisés, de façon à être compris entre une valeur minimale et une valeur maximale prédéterminées. De préférence, les signaux sont normalisés de façon à être homogène à une probabilité, en étant compris entre la valeur minimale 0 et la valeur maximale 1. La normalisation peut être effectuée selon :
°ù Z ' xn q sn,p correspond à la somme des signaux d'activation des nœuds du cluster d'ordre q de la couche n et s^ p correspond au signal d'activation normalisé de chaque nœud xn p d'ordre p du cluster Xn q d'ordre q. L'étape 132 est optionnelle.
Au cours d'une étape 133, les signaux d'activation du cluster sont traités par une fonction de sélection f. La fonction de sélection est de préférence une fonction continue et monotone. La fonction de sélection est ou comporte préférentiellement une fonction sigmoïde, telle que schématisée sur la figure 3D, ou une fonction approchant une fonction sigmoïde. De façon alternative, la fonction de sélection peut être une fonction linéaire par morceaux, comme représenté sur la figure 3E. La fonction de sélection permet d'accentuer la discrimination entre les valeurs des signaux d'activation normalisés
Les signaux d'activation f s^p) traités par le fonction de sélection sont des signaux de comparaison, destinés à être comparés les uns par rapport aux autres, ou par rapport à un seuil. C'est l'objet d'une étape de comparaison 134.
Au cours de la comparaison, selon une première possibilité, on sélectionne le signal de comparaison f s^p) le plus élevé. Selon une autre possibilité, on sélectionne chaque signal de comparaison f(Sn,p) dépassant une valeur seuil prédéterminée.
Suite à la comparaison : les nœuds xn p du cluster Xn q correspondant aux signaux de comparaison sélectionnés sont activés.
les nœuds xn p du cluster Xn q correspondant aux signaux de comparaison non sélectionnés sont désactivés.
Ainsi, au cours d'une étape 135, on active ou on désactive les nœuds xn p du cluster Xn q en fonction de la comparaison. Les nœuds activés reçoivent les signaux d'activation sn p provenant de la couche amont. Ils génèrent, le cas échéant, un signal de connexion à destination d'un ou plusieurs nœuds de la couche suivante. Les nœuds non activés ne génèrent pas de signal de connexion pour la couche suivante. Si la couche comportant les nœuds est la dernière couche du perceptron, les nœuds non activés sont ignorés pour la suite du traitement.
Les étapes 131 à 135 sont répétées pour chaque cluster définis sur au moins une couche du perceptron multicouches. De préférence, les clusters d'une même couche comportent le même nombre de nœuds.
On remarque que, suite à la normalisation, lorsque les valeurs des signaux d'activation s„;P sont comprises entre 0 et 1, les valeurs des signaux de comparaison (s^p) sont également comprises entre 0 et 1.
6 est un seuil et T est un paramètre désigné par le terme « température ».
Les valeurs de 6 et de T sont prédéterminées ou peuvent s'auto-ajuster. Lorsque les valeurs de sont comprises entre 0 et 1, le seuil 6 est également compris entre 0 et 1. Lorsque 6 > 0.5, seul un neurone peut être activé suite au processus de sélection.
La température T détermine la pente de la fonction de sélection. Plus la valeur de T est faible, plus la pente de la sigmoïde est élevée, ce qui augmente le nombre d'occurrences pour lesquelles (s„iP) =0+ ou (s„iP) =1". Les désignations 0+ et 1" désignent respectivement tendant vers 0 en étant supérieur à 0, et tendant vers 1 en étant inférieur à 1. Une faible valeur de T fait tendre la fonction sigmoïde vers une fonction de type créneau.
Il est préférable que la fonction f soit dérivable et soit strictement croissante. En effet, lors de la phase d'apprentissage, des algorithmes de type descente de gradient sont utilisés. La mise en œuvre de ce type d'algorithme peut présenter des difficultés si la dérivée de la fonction f est
nulle. Selon une possibilité, la fonction f comporte une fonction sigmoïde, telle qu'explicitée en lien avec (3), à laquelle est additionnée un terme linéaire.
Un aspect important de l'invention est le recours à la normalisation des valeurs s„;P par la somme des signaux d'activation atteignant les nœuds du cluster considéré. Ainsi, les valeurs s„;P sont assimilables à des probabilités. Cela permet de disposer de valeurs s'étendant dans un intervalle maîtrisé, ce qui est plus approprié préalablement à l'application d'une fonction sigmoïde. Cette approche probabiliste, couplée à un processus de sélection effectué en parallèle sur plusieurs petits clusters d'une même couche, est particulièrement intéressante lorsque que l'on considère un petit nombre de signaux d'activation, induit par une matrice de connexion creuse. On tire profit d'un principe de diversité, qui consiste à multiplier les compétitions entre des petits sous-ensembles de signaux.
D'une façon générale, la taille de chaque cluster est comprise entre 2 et 10 nœuds. Le nombre de nœuds sélectionné dans un cluster est de 1 ou de 2 par cluster soit de l'ordre de 10% à 50% des nœuds formant le cluster.
Comme précédemment décrit, l'algorithme d'analyse 2 est destiné à traiter des données d'entrée résultant d'une détection d'une grandeur physique, formant un vecteur ou une matrice ou plusieurs matrices. Lorsque chaque réseau de neurones élémentaire comporte un bloc d'extraction par couches de convolution, les données formant la couche d'entrée du perceptron multicouches sont positives, ce qui facilite la normalisation précédemment décrite. Le fait que les valeurs soient positives permet d'éviter le recours à une fonction complexe de type fonction exponentielle normalisée (usuellement désignée softmax), et le coût mémoire associé.
De préférence, le processus de sélection tel que précédemment décrit est mis en œuvre sur plusieurs couches de chaque perceptron multicouches disposées en aval de la première couche Li.
Le fait d'utiliser des réseaux de neurones élémentaires, comportant chacun un perceptron multicouches tel que précédemment décrit, disposés en parallèle permet de tirer profit d'une certaine diversité, due à la structure de chaque perceptron : leur structure est similaire, à au moins une matrice de connexion près. Cela permet d'augmenter la robustesse de l'analyse effectuée par le réseau de neurones d'analyse, formé par l'association des différents perceptrons multicouches, et combinant les sorties résultant des perceptrons multicouches. Le fait d'utiliser des matrices creuses permet d'aboutir simplement à une grande diversité, en
particulier lorsque les matrices de connexion sont définies par un tirage aléatoire. Les matrices de connexion ainsi formées sont très décorrélées les unes des autres.
Il est à noter que le recours à un réseau de neurones comportant une ou plusieurs matrices de connexion creuses n'est pas évident. En effet, il est généralement admis que les performances d'un réseau de neurones diminuent lorsque les connexions sont peu nombreuses entre deux couches successives. Cependant, un élément clef de l'invention est que le recours à des matrices creuses, combiné à la sélection dans chaque cluster, telle que précédemment décrite, et/ou à une mise en parallèle de plusieurs réseaux de neurones élémentaires identiques, aux matrices de connexion près, permet de constituer un réseau de neurones NN performant, compte tenu de la diversité d'apprentissage conférée par les matrices de connexions.
Les inventeurs ont testé un procédé d'analyse tel que décrit en lien avec les figures 2A à 2C. Les données d'entrée étaient des images résultant de la base de données MNIST, par une sélection de seulement 10 % d'entre elles. La base de donnée MNIST est connue de l'homme du métier. Elle comporte 60000 échantillons représentatifs de dix chiffres allant de 0 à 9. Chaque image représente un caractère codé sous 28 x 28 pixels, soit 784 pixels. La donnée d'entrée IN du réseau de neurones était un vecteur formé par les 784 pixels. On a utilisé, dans chaque réseau de neurones élémentaire, un bloc d'extraction formé de deux couches de convolution : une première couche de convolution comportait 64 filtres de convolution de taille 5x5 et une deuxième couche de convolution comportait 128 filtres de convolution de taille 5x5. La sortie du bloc d'extraction était formée d'un vecteur de caractéristiques de dimension (1, 4608).
Comme précédemment décrit, le réseau de neurones comportait trois réseaux de neurones élémentaires fonctionnant en parallèle. Chaque réseau de neurones élémentaire comportait un bloc d'extraction (couches de convolution) 21, 22, 23, tel que décrit dans le paragraphe précédent, alimentant respectivement un perceptron multicouches 31, 32, 33. Chaque perceptron multicouches comportait, outre la première couche Li (n = 1), trois couches L2, L3, L4 comportant respectivement 1500 nœuds, 1200 nœuds et 504 nœuds. Chacune de ces couches était segmentée en clusters de 3 nœuds chacun. Le procédé de sélection, tel que décrit en lien avec la figure 3B, a été mis en œuvre sur chaque cluster de chaque couche. On a utilisé une fonction sigmoïde telle qu'explicitée dans (3), à laquelle on a utilisé un terme linéaire de pente égale à 0.05, afin de former une fonction strictement croissante et éviter une dérivée trop faible. Les valeurs 6 étaient respectivement de 0.64, 0.79 et 0.4 pour les couches L2, L3, L4. La valeur de T était égale à 0.05 pour chaque couche.
Compte tenu du terme linéaire, la fonction de sélection était :
L'apprentissage des trois réseaux de neurones élémentaires a été effectué en utilisant des images annotées, avec un nombre d'époques limité à 10. Une époque correspond à un nombre de fois où la totalité des images sont soumises au réseau, dans un ordre différent à chaque époque.
La couche de sortie de chaque réseau de neurones élémentaire était un mot de code binaire de longueur 504, structuré en 168 clusters. Chaque mot résultant de la couche de sortie correspondait au caractère identifié.
Un test visant à estimer la qualité de la classification a été effectué, en analysant les classifications résultant des trois réseaux de neurones élémentaires mis en œuvre indépendamment les uns des autres, ainsi qu'une classification obtenue en effectuant une combinaison, selon un vote majoritaire, des classifications établies par les trois réseaux de neurones élémentaires. Par vote majoritaire, on entend que le résultat de la classification correspond à la classification majoritaire parmi les classifications résultant de chaque réseau de neurones élémentaire. La qualité de classification est quantifiée par un pourcentage de caractères correctement reconnus. L'utilisation des réseaux de neurones élémentaires, sans combinaison des résultats, a donné lieu aux pourcentages respectifs de 99.15%, 98.95% et 99.11%. En combinant les résultats, selon l'approche du vote majoritaire, on a obtenu un pourcentage de 99.23%, ce qui correspond à une augmentation de 0.16% par rapport à la moyenne des pourcentages obtenus avec les réseaux de neurones élémentaires utilisés de façon indépendante. Ainsi, la mise en parallèle de réseaux de neurones élémentaires, comportant au moins une matrice de connexion, creuse, est différente, améliore la performance d'analyse.
A ces niveaux de performance, un gain de 0.16% n'est pas négligeable. Cela correspond à 18% de l'écart entre la moyenne des pourcentages et la valeur idéale de 100%. Ce résultat est particulièrement encourageant, sachant que l'on s'est limité à trois perceptrons multicouches utilisés en parallèle.
On va à présent décrire un autre intérêt de l'approche de sélection précédemment décrite, combinée à une mise en parallèle de perceptrons multicouches de structures identiques, à au moins une matrice de connexion près. L'apprentissage d'un réseau de neurones nécessite des
données annotées, c'est-à-dire des données d'entrée dont le label de sortie est connu. On parle alors d'apprentissage supervisé. La mise en œuvre de réseaux de neurones fonctionnant en parallèle, permet d'augmenter le nombre de données d'apprentissage, en utilisant des données non annotées. On passe ainsi à un apprentissage supervisé, dans lequel toutes les données d'apprentissage sont annotées, à un apprentissage partiellement supervisé, dans lequel une partie des données utilisées pour l'apprentissage ne sont pas préalablement annotées.
La figure 4A représente une architecture d'un algorithme, similaire à la structure représentée sur la figure 2A. Un premier perceptron multicouches 31 est disposé en aval d'un bloc d'extraction convolutif 21. L'association du bloc d'extraction 21 et du perceptron multicouches 31 forme un premier réseau de neurones NNa. Dans le premier perceptron multicouches 31, au moins deux couches successives (couche amont - couche aval) sont reliées par une matrice de connexion creuse, la couche aval étant segmentée en clusters de nœuds mettant en œuvre un processus de sélection tel que précédemment décrit. Le premier réseau de neurones NNa fait l'objet d'un apprentissage avec des premières données d'apprentissage annotées Di, mais également des premières données d'apprentissage non annotées di. Dans cet exemple, les données d'apprentissage, qu'elles soient annotées (10 % des données d'apprentissage) ou non (90% des données d'apprentissage), sont des images extraites de la base de données MNIST.
On dispose également d'un deuxième perceptron multicouches 32, relié à un bloc d'extraction convolutif 22, dont la structure est identique au premier perceptron multicouches 31. L'association du bloc d'extraction 22 et du perceptron multicouches 32 forme un deuxième réseau de neurones NNb. Le deuxième perceptron multicouches 32 est similaire au premier perceptron multicouches 31, à au moins une matrice de connexion près. Ainsi, entre au moins deux couches, le premier et le deuxième perceptrons multicouches ont au moins une matrice de connexion Wn-l n différente l'un de l'autre. Le deuxième réseau de neurones NNb fait l'objet d'un apprentissage avec des deuxièmes données d'apprentissage annotées D2, mais également des deuxièmes données d'apprentissage non annotées d2. Les premières données annotées Di et les deuxième données annotées D2 sont de préférence des ensembles disjoints. Il en est de même des premières données non annotées di et des deuxièmes données non annotées d2.
La figure 4B illustre les principales étapes d'un procédé d'apprentissage des deux réseaux de neurones NNa et NNb. Au cours des étapes 200 et 300, le premier et le deuxième réseaux de neurones NNa et NNb font respectivement l'objet d'un apprentissage respectivement à l'aide des premières et deuxièmes données annotées Di et D2. Suite à l'apprentissage :
le premier réseau de neurones NNa effectue une annotation des premières données non annotées di, de façon à obtenir des premières données pseudo-annotées D'i : étape 210 ; le deuxième réseau de neurones NNb effectue une annotation des deuxièmes données non annotées d2, de façon à obtenir des deuxièmes données pseudo-annotées D'2 : étape 310 .
Les annotations des données pseudo-annotées D'i et D'2 sont provisoires. On parle de pseudoannotations, dans la mesure ou les annotations ne sont pas définitives et peuvent être ajustées durant le processus itératif décrit ci-après.
Les premières données pseudo-annotées D'i sont transmises au deuxième réseau de neurones NNb : étape 220. De façon symétrique, les deuxièmes données pseudo-annotées D'2 sont transmises au premier réseau de neurones NNa: étape 320.
Au cours de l'étape 230, le premier réseau de neurones NNa est réentraîné à l'aide des premières données annotées Di et des deuxièmes données pseudo-annotées D'2. De façon symétrique, le deuxième réseau de neurones NNb est réentraîné à l'aide des deuxièmes données annotées D2 et des premières données pseudo-annotées D'i.
Les étapes 210 à 230 ainsi que 310 à 330 peuvent être réitérées. A chaque itération : lors des étapes 210 et 310, le premier réseau de neurones NNa et le deuxième réseau de neurones NNb effectuent une mise à jour des pseudo-annotations respectivement des premières données pseudo-annotées et des deuxièmes données pseudo-annotées ; lors des étapes 220 et 320, le premières et deuxièmes données pseudo-annotées, respectivement mises à jour lors des étapes 210 et 310 de la même itération, sont respectivement transmises au deuxième réseau de neurones NNb et au premier réseau de neurones NNa; lors des étapes 230 et 330, les premiers et deuxièmes réseaux de neurones sont réentraînés, en utilisant respectivement : o les premières données annotées Di et les deuxièmes données pseudo-annotées D'2 ; o les deuxièmes données annotées D2 et les premières données pseudo-annotées D'i.
Les étapes 210 à 230 et 310 à 330 sont réitérées jusqu'à l'atteinte d'une stabilité dans les pseudo-annotations, par exemple lorsqu'une proportion prédéfinie de données pseudo-
annotées ne change plus d'annotation suite à deux itérations successives. Les pseudoannotations sont alors considérées comme stables.
En cas d'instabilité dans une annotation, par exemple lorsqu'après 20 ou 30 itérations, une pseudo-annotation n'a pas été stabilisée, une annotation par un utilisateur humain peut être sollicitée.
La figure 5 illustre une variante de l'architecture décrite en lien avec la figure 4A. Selon cette variante : le premier réseau de neurones NNa comporte trois premiers réseaux de neurones élémentaires NNa,i, NNa,2, NNa,3 fonctionnant en parallèle. Chaque premier réseau de neurones élémentaire comporte un bloc d'extraction (21i, 212, 2I3) couplé à un perceptron multicouches (31i, 312, 31s). Chaque premier réseau de neurones élémentaire présente la même structure : même nombre de couches, même nombre de nœuds par couche. Au moins une matrice de connexion entre deux couches de chaque perceptron multicouches est différente dans chaque premier réseau de neurones élémentaire. le deuxième réseau de neurones NNb comporte plusieurs deuxièmes réseaux de neurones élémentaires NNb,i, NNb, 2, NNb, 3 fonctionnant en parallèle. Chaque deuxième réseau de neurones élémentaire comporte un bloc d'extraction (22i, 222, 223) couplé à un perceptron multicouches (32i, 322, 323). Chaque deuxième réseau de neurones élémentaire présente la même structure : même nombre de couches, même nombre de nœuds par couche. Au moins une matrice de connexion entre deux couches de chaque perceptron multicouches est différente dans chaque deuxième réseau de neurones élémentaire.
Les perceptrons multicouches du premier et du deuxième réseau de neurones sont respectivement reliés à une première couche de combinaison 41 et une deuxième couche de combinaison 42. Chaque une couche de combinaison est configurée pour combiner les sorties émanant des perceptrons multicouches auquel elle est connectée. La combinaison peut être basée sur une moyenne ou une médiane. La sortie de chaque couche de combinaison constitue la sortie du réseau de neurones.
Les premiers et deuxièmes réseaux de neurones NNa, NNb peuvent être mis en œuvre, à des fins d'apprentissage, comme décrit en lien avec la figure 4B.
Les inventeurs ont mis en œuvre le procédé décrit en lien avec la figure 4B en utilisant une architecture telle que décrite en lien avec la figure 5. Les premiers et deuxièmes réseaux de neurones NNa, NNb ont fait l'objet d'un apprentissage en utilisant des premières données annotées (5 % de la base de données), des premières données non annotées, des deuxièmes données annotées (5 % de la base de données) et des deuxièmes données non annotées. Le nombre de premières données pseudo-annotées, choisies au hasard à chaque itération, était égal au nombre de premières données annotées. De façon similaire, le nombre de deuxièmes données pseudo-annotées, choisies au hasard à chaque itération, était égal au nombre de deuxièmes données annotées. Les premières données annotées et pseudo-annotées après 20 itérations ont été utilisées pour effectuer l'apprentissage d'un réseau de neurones tel que décrit sur la figure 5. Le taux de chiffres correctement reconnus a atteint 99.4%.
Ainsi, à partir de réseaux de neurones fonctionnant en parallèle, et de façon croisée, il est possible d'annoter des données, en formant des données pseudo-annotées, à partir d'un faible nombre de données initialement annotées. Le ratio entre les données initialement annotées et les données pseudo-annotées peut typiquement être inférieur à 10%.
Les performances peuvent être améliorées en augmentant le nombre de réseaux de neurones travaillant en parallèle. Les architectures décrites dans l'exemple comportaient 3 réseaux fonctionnant en parallèle. Il est possible d'augmenter ce nombre, et prévoir 4 ou 5 réseaux parallèles, voire davantage.
L'invention pourra être utilisée pour le traitement de données mesurées, par exemple de traitement d'images, par exemple la reconnaissance d'image, ou le traitement de sons, par exemple la classification de sons ou l'identification de locuteurs. Dans le cas d'un traitement de sons, chaque donnée d'entrée peut être représentée sous la forme d'une image résultant l'évolution d'un spectre de fréquence en fonction du temps. Ainsi, l'invention s'applique à toute donnée pouvant être représentée sous la forme d'un vecteur multidimensionnel.
Claims
1. Procédé, mis en œuvre par ordinateur, d'analyse d'une donnée numérique, prenant la forme d'un vecteur ou d'une matrice, la donnée numérique résultant d'une mesure effectuée par un détecteur, et formant une donnée d'entrée d'un réseau de neurones, le réseau de neurones comportant plusieurs réseaux de neurones élémentaires (NNi, NN2, NN3), chaque réseau de neurones élémentaire comprenant un perceptron multicouches s'étendant entre :
- une première couche (Li, 1.2, L3) ;
- une couche de sortie (OUTi, OUT2,OUT3), la couche de sortie comportant un résultat d'analyse élémentaire, par le réseau de neurones élémentaire, de la donnée numérique ; chaque perceptron multicouches étant tel que :
- à chaque couche est assigné un rang (n), le rang d'une couche étant d'autant plus élevé que la couche est proche de la couche de sortie ;
- au moins deux couches de rangs successifs, formant une couche amont et une couche aval, comportent des nœuds, des nœuds des deux couches
étant connectés, chaque nœud de la couche amont (xn-l pi) adressant un signal de connexion (sn-l p>p) à au moins un nœud de la couche aval (xn p) auquel il est connecté, la connexion des nœuds des couches amont et aval étant définie par une matrice de connexion (Wn-l n), chaque terme de la matrice de connexion (wPiP,) étant associé à un nœud de la couche amont et un nœud de la couche aval, et quantifiant une contribution du noeud de la couche amont pour le nœud de la couche aval ;
- le procédé comportant les étapes suivantes :
• a) utilisation de la donnée d'entrée pour alimenter la première couche du perceptron multicouches de chaque réseau de neurones élémentaire;
• b) mise en œuvre de chaque réseau de neurones élémentaires pour obtenir un résultat d'analyse élémentaire par la couche de sortie du perceptron multicouches de chaque réseau de neurones élémentaire; le procédé étant caractérisé en ce que :
- au moins une matrice de connexion (Wn-l n) du perceptron multicouches de chaque réseau de neurones élémentaire est une matrice creuse, comportant au moins 50 % de termes nuis ou dont la valeur est au moins dix fois inférieure à au moins un autre terme de la matrice ;
- le perceptron multicouches de chaque réseau de neurones élémentaire comporte respectivement, entre deux couches successives de mêmes rangs respectifs, des matrices de connexion creuses différentes.
2. Procédé selon la revendication 1, dans lequel chaque réseau de neurones élémentaire comporte un bloc d'extraction (21, 22, 23), programmé pour extraire des caractéristiques de la donnée d'entrée, les caractéristiques ainsi extraites formant la première couche du perceptron multicouches (31, 32, 33) dudit réseau de neurones élémentaire.
3. Procédé selon la revendication 2, dans lequel le bloc d'extraction comporte différentes couches de convolution successives, chaque couche de convolution résultant de l'application d'un filtre de convolution à la couche de convolution précédente.
4. Procédé selon l'une quelconque des revendications précédentes, dans lequel chaque perceptron multicouches comporte un même nombre de couches et un même nombre de nœuds par couche.
5. Procédé selon l'une quelconque des revendications précédentes, dans lequel chaque perceptron multicouches comporte au moins une couche intermédiaire, entre la première couche et la couche de sortie.
6. Procédé selon l'une quelconque des revendications précédentes, dans lequel les deux couches de rangs successifs d'au moins un perceptron multicouches sont telles que :
- les nœuds de la couche aval (xn p) sont segmentés en différents groupes (Xn q); le procédé étant tel l'étape b) comporte, pour le perceptron multicouches, les sous-étapes suivantes :
- b-i) à partir des signaux de connexion (sn-l p/p) résultant des nœuds de la couche amont, connectés à un même groupe de la couche aval, sélection de nœuds, appartenant audit groupe, au moins un nœud dudit groupe n'étant pas sélectionné ;
- b-ii) activation des nœuds sélectionnés, au moins un nœud du groupe n'étant pas activé.
7. Procédé selon la revendication 6, dans lequel :
- au moins un perceptron multicouches comporte plusieurs paires comportant deux couches successives, chaque paire comportant une couche amont et une couche aval, une matrice de connexion étant définie entre la couche amont et la couche aval ;
- chaque matrice de connexion (Wn-l n) comporte au moins 50 % de termes nuis ou dont la valeur est au moins dix fois inférieure à au moins un autre terme de ladite matrice ;
- les sous-étapes b-i) et b-ii) sont mises en œuvre pour chaque paire de couches.
8. Procédé selon l'une quelconque des revendications 6 ou 7, dans lequel la sous-étape b-i) comporte, pour chaque groupe d'une couche aval d'au moins un perceptron multicouches:
- calcul d'un signal d'activation (sn p) pour chaque nœud (xn p) du groupe (Xn q), en fonction de signaux de connexion (sn-l p>p) émis, vers ledit nœud, par chaque nœud de la couche amont connecté audit nœud;
- normalisation des signaux d'activation calculés pour chaque nœud du groupe de façon que les signaux normalisés (s^p) sont compris entre une valeur minimale (0) et une valeur maximale (1) prédéterminées ;
- sélection des nœuds du groupe en fonction des signaux d'activation normalisés (s^p).
9. Procédé selon la revendication 8, dans lequel la sous-étape b-i) comporte :
- prise en compte d'une fonction de sélection ( ), la fonction de sélection étant une fonction croissante ou strictement croissante ;
- application de la fonction de sélection ( ) à chaque signal d'activation normalisé, de façon à calculer pour chaque signal d'activation normalisé, un signal de comparaison (/(Sn,p));
- sélection des nœuds du groupe en fonction du signal de comparaison calculé pour chaque nœud.
10. Procédé selon la revendication 9, dans lequel la fonction de sélection comporte une fonction sigmoïde ou linéaire par morceaux.
11. Procédé selon l'une quelconque des revendications précédentes, dans lequel au moins une ou chaque matrice de connexion d'un perceptron multicouches comporte au moins 90% ou au moins 95% de termes nuis ou au moins 10 fois inférieurs à au moins un autre terme de ladite matrice.
12. Procédé selon l'une quelconque des revendications précédentes, dans lequel pour au moins un perceptron multicouches, chaque signal de connexion entre deux nœuds de deux couches successives est positif.
27
13. Procédé selon l'une quelconque des revendications précédentes, comportant une étape c) de combinaison des résultats d'analyse élémentaires, résultant de chaque réseau de neurones élémentaire, pour former un résultat d'analyse.
14. Procédé selon la revendication 13, comportant, préalablement à l'étape a),
- mesure d'une grandeur physique (11) par un détecteur (10);
- formation, par le détecteur, d'un signal d'entrée (S) à partir de la grandeur physique mesurée ;
- formation de la donnée d'entrée à partir du signal d'entrée ; le résultat d'analyse étant une caractérisation de la grandeur physique mesurée.
15. Procédé selon la revendication 13, comportant, préalablement à l'étape a) :
- prise en compte d'une donnée mémorisée dans une base de données, la donnée mémorisée formant le signal d'entrée ;
- formation de la donnée d'entrée à l'aide du signal d'entrée ; le résultat d'analyse étant une caractérisation de la donnée mémorisée.
16. Système de mesure, comportant :
- un détecteur (10), configuré pour mesurer une grandeur physique (11) et pour établir un signal d'entrée (S) à partir de la grandeur physique mesurée ;
- une unité de traitement (12), programmée pour mettre en œuvre le procédé selon l'une quelconque des revendications 1 à 15, à partir d'une donnée d'entrée formée à l'aide du signal d'entrée.
17. Système de mesure selon la revendication 16, dans lequel le détecteur est un capteur d'image ou un capteur de son ou un capteur magnétique.
18. Support de données lisible par ordinateur, ou configuré pour être connecté à un ordinateur, ou circuit intégré, comportant des instructions pour mettre en œuvre un procédé selon l'une quelconque des revendications 1 à 15.
19. Programme d'ordinateur comportant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent à la mise en œuvre d'un réseau de neurones, configuré pour analyser une donnée d'entrée, le réseau de neurones comportant plusieurs réseaux de neurones élémentaires, chaque réseau de neurones élémentaire comprenant un perceptron multicouches s'étendant entre :
28
- une première couche (Li, L2, L3) ;
- une couche de sortie (OUTi, OUT2,OUT3), la couche de sortie comportant un résultat d'analyse élémentaire, par le réseau de neurones élémentaire, de la donnée numérique ; chaque perceptron multicouches étant tel que :
- à chaque couche est assigné un rang (n), le rang d'une couche étant d'autant plus élevé que la couche est proche de la couche de sortie ;
- au moins deux couches de rangs successifs, formant une couche amont et une couche aval, comportent des nœuds, des nœuds des deux couches
étant connectés, chaque nœud de la couche amont (xn-x p') adressant un signal de connexion (sn-1 p> p) à au moins un nœud de la couche aval (xn p) auquel il est connecté, la connexion des nœuds des couches amont et aval étant définie par une matrice de connexion (Wn-l n), chaque terme de la matrice de connexion (wp pl) étant associé à un nœud de la couche amont et un nœud de la couche aval, et quantifiant une contribution du noeud de la couche amont pour le nœud de la couche aval ; le programme étant caractérisé en ce que ;
- au moins une matrice de connexion (Wn-l n) de chaque perceptron multicouches est une matrice creuse, comportant au moins 50 % de termes nuis ou dont la valeur est au moins dix fois inférieure à au moins un autre terme de la matrice ;
- les perceptrons multicouches comportent respectivement, entre deux couches successives de mêmes rangs respectifs, des matrices de connexion creuses différentes. . Programme d'ordinateur selon la revendication 19, dans lequel chaque perceptron multicouches comporte moins une couche intermédiaire, entre la couche d'entrée et la couche de sortie. . Programme d'ordinateur selon la revendication 19 ou la revendication 20, dans lequel
- chaque perceptron multicouches comporte plusieurs paires comportant deux couches successives, chaque paire comportant une couche amont et une couche aval, une matrice de connexion étant définie entre la couche amont et la couche aval ;
- chaque matrice de connexion (Wn-l n) comporte au moins 50% de termes nuis ou dont la valeur est au moins dix fois inférieure à au moins un autre terme de ladite matrice.
29 Programme d'ordinateur selon l'une quelconque des revendications 19 à 21, comportant des instructions pour combiner des résultats d'analyse résultant de chaque réseau de neurones élémentaire.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2113939A FR3131039A1 (fr) | 2021-12-19 | 2021-12-19 | Procédé d’analyse d’une donnée numérique |
FRFR2113939 | 2021-12-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023111345A1 true WO2023111345A1 (fr) | 2023-06-22 |
Family
ID=82100791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2022/086526 WO2023111345A1 (fr) | 2021-12-19 | 2022-12-18 | Procédé d'analyse d'une donnée numérique |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3131039A1 (fr) |
WO (1) | WO2023111345A1 (fr) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3501025B1 (fr) * | 2016-09-12 | 2021-08-11 | Pindrop Security, Inc. | Reconnaissance de locuteur de bout en bout à l'aide d'un réseau neuronal profond |
-
2021
- 2021-12-19 FR FR2113939A patent/FR3131039A1/fr active Pending
-
2022
- 2022-12-18 WO PCT/EP2022/086526 patent/WO2023111345A1/fr active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3501025B1 (fr) * | 2016-09-12 | 2021-08-11 | Pindrop Security, Inc. | Reconnaissance de locuteur de bout en bout à l'aide d'un réseau neuronal profond |
Non-Patent Citations (1)
Title |
---|
FERREIRA JOSE RANIERY ET AL: "Multi-View Ensemble Convolutional Neural Network to Improve Classification of Pneumonia in Low Contrast Chest X-Ray Images", 2020 42ND ANNUAL INTERNATIONAL CONFERENCE OF THE IEEE ENGINEERING IN MEDICINE & BIOLOGY SOCIETY (EMBC), IEEE, 20 July 2020 (2020-07-20), pages 1238 - 1241, XP033816455, DOI: 10.1109/EMBC44109.2020.9176517 * |
Also Published As
Publication number | Publication date |
---|---|
FR3131039A1 (fr) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0521548B1 (fr) | Procédé et dispositif avec un réseau neuronal pour classer des données | |
EP2446370B1 (fr) | Détection de défaut dans un dispositif électrochimique | |
EP2821893A2 (fr) | Procédé de reconnaissance d'un geste et d'un contexte, dispositif, terminal d'utilisateur et programme d'ordinateur associés | |
EP1746486B1 (fr) | Procédé de détection de déplacement d'une entité pourvue d'un capteur d'images et dispositif pour le mettre en oeuvre | |
FR3095042A1 (fr) | Procede de definition d’un chemin | |
EP0449353B1 (fr) | Dispositif de traitement de données et procédé pour sélectionner des mots de données contenus dans un dictionnaire | |
EP1792278B1 (fr) | Procede de detection et de pistage de cibles ponctuelles, dans un systeme de surveillance optronique | |
EP0681270A1 (fr) | Procédé de trajectographie d'objets et dispositif de mise en oeuvre de ce procédé | |
WO2023111345A1 (fr) | Procédé d'analyse d'une donnée numérique | |
WO1999012029A1 (fr) | Appareil de classification utilisant une combinaison de methodes statistiques et de reseaux neuronaux, destine notamment a la reconnaissance d'odeurs | |
EP4202770A1 (fr) | Reseau de neurones avec generation a la volee des parametres du reseau | |
EP3660748A1 (fr) | Procédé d'analyse d'un jeu de paramètres d'un réseau de neurones en vue d'obtenir une amélioration technique, par exemple un gain en mémoire | |
EP4099228A1 (fr) | Apprentissage automatique sans annotation ameliore par regroupements adaptatifs en ensemble ouvert de classes | |
EP3346389A1 (fr) | Traitement à la volée de données dans un système d'acquisition | |
EP4012620A1 (fr) | Méthode d'apprentissage automatique par transfert | |
FR3133256A3 (fr) | Méthode de régularisation pour améliorer l’adéquation de l’entraînement d’un réseau neuronal convolutif | |
EP3502904B1 (fr) | Procédé d'amélioration du temps d'exécution d'une application informatique | |
WO2020229310A1 (fr) | Procédé d'analyse automatique d'images pour reconnaître automatiquement au moins une caractéristique rare | |
WO2019211367A1 (fr) | Procede de generation automatique de reseaux de neurones artificiels et procede d'evaluation d'un risque associe | |
EP3340065A1 (fr) | Procédé de détermination de l'état d'un système, procédé de détermination d'une méthode de projection optimale et dispositif mettant en oeuvre lesdits procédés | |
FR3131041A1 (fr) | Procede de mise au point d un dispositif de prediction, procede et systeme associes. | |
EP3920101A1 (fr) | Methode de reduction de la taille d'un reseau de neurones artificiel | |
FR3069087A1 (fr) | Procede de traitement d'une image | |
CA3104759A1 (fr) | Procede de modelisation pour le controle des resultats fournis par un reseau de neurones artificiels et autres procedes associes | |
FR3126527A1 (fr) | Procédé, programme d’ordinateur et dispositif de traitement d’images par extraction de composante(s) principale(s) d’une représentation d’images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22835452 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2022835452 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2022835452 Country of ref document: EP Effective date: 20240719 |