Method of locating an electronic device
The method trains artificial neural networks by using a cost function independent of output values for missing data, addressing suboptimal convergence in systems with shadow zones, enhancing accuracy and training efficiency.
Patent Information
- Application Number
- FR2024003833
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-04-12
- Publication Date
- 2025-10-17
AI Technical Summary
Existing methods for training artificial neural networks using supervised learning require numerous measurements, leading to suboptimal convergence due to the use of replacement values for missing data, especially in systems with shadow zones like electromagnetic signal transmission, which can result in incomplete training.
A method for training an artificial neural network that accounts for missing data by using a cost function independent of output values for unavailable measurements, employing a Hadamard product and Euclidean norm to adjust weights, ensuring optimal convergence and accuracy.
The proposed method allows for effective training of neural networks in systems with shadow zones by addressing missing data issues, resulting in improved accuracy and convergence without relying on unrelated replacement values.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Method for locating an electronic device Technical field of the invention
[0001] The present invention relates to the technical field of processing values relating to physical quantities (obtained for example by means of measurements carried out in the physical system) by means of an artificial neural network.
[0002] It relates in particular to methods and a system for training an artificial neural network, as well as a method for determining at least one item of information relating to a physical system and a method for locating an electronic device. State of the art
[0003] It is known to use an artificial neural network for processing values obtained on the basis of measurements carried out within a physical system, in order to deduce, for example, particular information about this physical system.
[0004] For example, it has been proposed to apply, as input to an artificial neural network, values characteristic of the transmission of an electromagnetic signal between an electronic device and at least one antenna, or values obtained on the basis of such characteristic values, so as to obtain, as output from the artificial neural network, information relating to the location of the electronic device.
[0005] Such an artificial neural network can be trained by a supervised learning technique, which however makes it necessary to first carry out a large number of measurements within the physical system in order to feed the artificial neural network as input during the learning phase. Presentation of the invention
[0006] In this context, the present invention proposes a method for training an artificial neural network comprising, on an input layer, input nodes respectively associated with a plurality of physical quantities of a physical system and, on an output layer, output nodes respectively associated with the input nodes, comprising the following steps:
[0007] - reception of a set of data defining, for first quantities physical quantities of the plurality, a value of the first physical quantity concerned and, for at least one second physical quantity of the plurality, an absence of value relating to this second physical quantity;
[0008] - application, for each first physical quantity, of the value of this first physical quantity on the input node associated with this first physical quantity and, for each second physical quantity, a replacement value on the input node associated with this second physical quantity, each output node thus producing an output value;
[0009] - modification of weights respectively attributed to the neurons of the neural network artificial so as to reduce a cost independent of the output value produced by the output node associated with the input node associated with the second physical quantity, and determined as a function of differences, for each first physical quantity, between the value of this physical quantity and the output value produced by the output node associated with the input node associated with this first physical quantity.
[0010] The artificial neural network thus trained produces as output, once the learning phase is complete, output values distributed in the same way as the measured values applied as input.
[0011] These output values can therefore be used for supervised training of another artificial neural network, such as an artificial neural network designed to infer particular information from values obtained on the basis of measurements made in the physical system, as mentioned above.
[0012] However, the cost defined above and used during training implicitly allows for the absence of a value for at least one physical quantity to be taken into account, by not taking into account the replacement value when calculating the cost. Indeed, the replacement value (for example the median of the values encountered) may in practice have no relation to the physical reality of the physical system and lead to suboptimal convergence (or even an absence of convergence) of the training of the artificial neural network.
[0013] This is of particular interest for physical systems where the absence of certain measured values is not random but arises from the physical configuration of the physical system, as is the case for the measurement of transmission characteristics of an electromagnetic signal between an electronic device and an antenna, due to the existence of shadow zones in the transmission.
[0014] The artificial neural network comprises for example a first part comprising the input nodes and producing intermediate values, and / or a second part comprising the output nodes and intermediate nodes designed to respectively receive the intermediate values.
[0015] According to an embodiment described later, the method may comprise a step of constructing a first vector formed of elements respectively associated with the physical quantities of the plurality such that an element associated with a first physical quantity is non-zero (for example equal to 1), and that an element associated with a second physical quantity is zero; said cost can then for example be calculated as a function of a Hadamard product between this first vector and a vector comprising respectively the output values produced by the output nodes.
[0016] The method may further comprise a step of determining a distance between said Hadamard product and a vector comprising the values of the first physical quantities. This distance may then be used to calculate the aforementioned cost, as explained below.
[0017] According to one possible implementation, the physical system comprises an electronic device and at least one antenna.
[0018] The plurality of physical quantities may comprise in this case at least one physical quantity characteristic of the transmission of an electromagnetic signal exchanged between the electronic device and the antenna, and / or a physical quantity derived from a quantity characteristic of the transmission of said electromagnetic signal.
[0019] The values of the first physical quantities can be determined on the basis of measurements carried out within the physical system.
[0020] The invention also proposes a method for training a first artificial neural network comprising, on an input layer, input nodes respectively associated with a plurality of physical quantities of a physical system, using a second artificial neural network comprising, on an input layer, intermediate nodes and, on an output layer, output nodes respectively associated with the input nodes of the first artificial neural network, the method comprising the following steps:
[0021] - training, by means of a training method as proposed above, of a third artificial neural network comprising the second artificial neural network and an artificial neural network portion connected to the second artificial neural network at intermediate nodes and comprising input nodes respectively associated with the physical quantities of the plurality;
[0022] - application of values to the intermediate nodes of the second neural network artificial so as to generate a vector of values respectively produced on the output nodes of the second artificial neural network;
[0023] - learning weights assigned to neurons of the first neural network artificial by applying the values of the generated vector respectively to the input nodes of the first artificial neural network.
[0024] The application and learning steps can be repeated in practice to achieve satisfactory learning.
[0025] The invention also proposes a method for determining at least one item of information relating to a physical system, comprising the following steps:
[0026] - training an artificial neural network by means of a method such as has just been proposed (process including the stages of training, application of values and learning);
[0027] - carrying out measurements within the physical system, for example using sensors located in this physical system and providing said measurements;
[0028] - determination, on the basis of the measurements carried out, of values respectively associated with the plurality of physical quantities;
[0029] - application of the values determined at the input of the artificial neural network, the artificial neural network thus producing as output said at least one piece of information relating to the physical system.
[0030] The invention also proposes a method for locating an electronic device, comprising the following steps:
[0031] - training an artificial neural network using a method such as described above (process including the steps of training, application of values and learning);
[0032] - carrying out measurements within the physical system;
[0033] - determination, on the basis of the measurements carried out, of values respectively associated with the plurality of physical quantities;
[0034] - application of the values determined at the input of the artificial neural network, the artificial neural network thus producing as output information relating to the location of the electronic device.
[0035] The invention finally proposes a system for training an artificial neural network comprising, on an input layer, input nodes respectively associated with a plurality of physical quantities of a physical system and, on an output layer, output nodes respectively associated with the input nodes, the training system comprising:
[0036] - a receiving module designed to receive a set of data defining, for first physical quantities of the plurality, a value of the first physical quantity concerned and, for at least one second physical quantity of the plurality, an absence of value relating to this second physical quantity;
[0037] - a replacement module designed to apply, for each first quantity physical, the value of that first physical quantity on the input node associated with that first physical quantity and, for each second physical quantity, a replacement value on the input node associated with that second physical quantity, such that each output node produces an output value;
[0038] - a cost determination module designed to determine an independent cost of the output value produced by the output node associated with the input node associated with the second physical quantity, and determined as a function of differences, for each first physical quantity, between the value of this physical quantity and the output value produced by the output node associated with the input node associated with this first physical quantity;
[0039] - a training module designed to modify respectively assigned weights to the neurons of the artificial neural network so as to reduce the cost determined by the determination module.
[0040] The optional features presented above in terms of method can also be applied to this drive system.
[0041] Of course, the various features, variants and embodiments of the invention may be combined with each other in various combinations to the extent that they are not incompatible or mutually exclusive. Detailed description of the invention
[0042] Furthermore, various other characteristics of the invention emerge from the appended description given with reference to the drawings which illustrate non-limiting forms of embodiment of the invention and where:
[0043] [Fig-1] is a schematic representation of a network drive system of artificial neurons;
[0044] [Fig.2] is a flowchart showing the main steps of a method for training an artificial neural network;
[0045] [Fig.3] represents a supervised learning system of an artificial neural network; and
[0046] [Fig.4] schematically represents a location system fitted here to a vehicle.
[0047] [Fig.l] schematically represents an (electronic) system for training an artificial neural network 2.
[0048] This drive system comprises a receiving module 4, a module replacement 6, the artificial neural network to be trained 2, a training module 8 and a cost determination module 10.
[0049] This drive system is for example implemented by means of at least one processor and due to the execution, by this or these processor(s), of computer program instructions designed for this purpose.
[0050] In other words, the aforementioned modules and the artificial neural network can each be implemented due to the execution of a set of computer program instructions by a processor.
[0051] Alternatively, however, at least some of the modules could be implemented by a dedicated integrated circuit, specially programmed to perform the function concerned, such as an application-specific integrated circuit.
[0052] The artificial neural network 2 is here an auto-encoder type network.
[0053] The artificial neural network 2 comprises, on an input layer, nodes input 22 and, on an output layer, output nodes 28.
[0054] The artificial neural network 2 comprises a first part comprising the input nodes 22 and producing intermediate values, and a second part comprising the output nodes 28 and intermediate nodes 25 designed to respectively receive the aforementioned intermediate values.
[0055] The first part of the artificial neural network 2 forms an artificial neural network 24, hereinafter referred to as the "encoder network". The second part of the artificial neural network 2 forms an artificial neural network 26, hereinafter referred to as the "decoder network".
[0056] As explained below, the decoder network 26 can be used for the supervised learning of another artificial neural network 30, this other artificial neural network 30 being designed to receive as input values relating respectively to a plurality of physical quantities of a physical system and to produce as output at least one piece of information relating to this physical system.
[0057] This other artificial neural network 30 is for example a localization artificial neural network (or "localization network" for simplicity) designed to receive as input values relating respectively to a plurality of physical quantities of a physical system and to produce as output at least one piece of information relating to the localization of an electronic device.
[0058] The physical quantities may in this case comprise, for example, at least one quantity characteristic of the transmission of an electromagnetic signal exchanged between the electronic device and an antenna (such as a power level in reception of the electromagnetic signal, for example an RSSI value for "Received Signal Strength Indicator"), or a physical quantity derived from such a characteristic quantity (this derived physical quantity may, for example, be the distance between the electronic device and this antenna).
[0059] In the following, we consider N physical quantities of the physical system. For the sake of clarity of the presentation and without this being limiting, we assign an index i (between 1 and N) to each physical quantity and we use this index i below to identify the different values linked to the physical quantity of index i.
[0060] The receiving module 4 receives a set of data D which represent values of the aforementioned physical quantities produced on the basis of measurements carried out within the physical system.
[0061] The value relating to at least one of the physical quantities may, however, prove to be unavailable. In the case described here of a location system based on electromagnetic signals exchanged between an electronic device and antennas, this is produced for example when electromagnetic communication between the electronic device and an antenna could not be established.
[0062] The data D received by the reception module 4 therefore defines:
[0063] - for a first part of the aforementioned physical quantities, that is to say for of first physical quantities among these physical quantities, a value v; of the first physical quantity concerned;
[0064] - for a second part of the aforementioned physical quantities, that is to say for at least one second physical quantity among these physical quantities, an absence of value relative to this second physical quantity (symbolized by a question mark in [Fig.l]).
[0065] In certain embodiments, the data D can also define at least one piece of information p relating to the physical system (here for example information on the location of the electronic device, such as a presence zone among a plurality of predefined zones) associated with the physical quantities defined by the data D. To do this, with a view to the present training of the artificial neural network 2, the measurements producing the physical quantities defined by the data D are for example carried out for a particular value of the information relating to the physical system, that is to say here by positioning the electronic device in a given presence zone p.
[0066] The replacement module 6 processes the data D received by the reception module 4 so as to produce a vector W comprising an element Wi relating to each of the physical quantities:
[0067] - if the value v; relative to a physical quantity is available (i.e. defined in the data D), the element Wi relating to this physical quantity is equal to this value v; ;
[0068] - if the value v; relating to a physical quantity is unavailable (i.e. the data D indicate an absence of value for this physical quantity), the element w; relating to this physical quantity is equal to a replacement value, equal for example to the median of the values previously observed for this physical quantity (these previously observed values being for example the values previously received for this physical quantity by the reception module 4 during previous iterations of the training process).
[0069] In the embodiments where at least one piece of information p relating to the physical system is defined by the data D, the vector W comprises at least one element corresponding to this piece of information p.
[0070] In the sequence E we note the set of indices attributed to the first physical quantities, that is to say to physical quantities for which a value v; relative to this physical quantity is defined in the data D. We note F the set of indices assigned to second physical quantities, that is to say to the physical quantity (or quantities) for which the data D indicate an absence of value.
[0071] We therefore have:
[0072] for all ie E, w; = v;
[0073] for all i GF, Wi = r; (where q is a replacement value).
[0074] In the case where the data D defines at least one piece of information p relating to the physical system, the index(es) i of the element(s) of the vector W corresponding to this information p (or this information p) also belong(s) to the set E.
[0075] The artificial neural network 2 receives the vector W as input.
[0076] Specifically, the input nodes 22 of the artificial neural network 2 are respectively associated with the physical quantities considered (as well as possibly with at least one piece of information p relating to the physical system); each input node 22 thus associated with a particular physical quantity receives the element w; relating to this physical quantity (another input node being able to receive the aforementioned piece of information p).
[0077] Due to the application of the elements Wi on the input nodes 22, the artificial neural network 2 produces respective output values x; on its different output nodes 28. We denote by X the vector formed by the different output values Xj.
[0078] The number of output nodes 28 used here is equal to the number of input nodes 22 used. Thus, each output node 28 can be associated with an input node 22. Thanks to the training process, the values produced by each output node 28 approach those received at the input of the associated input node 22. After training, a given output node 28 can then be associated with the physical quantity associated with the input node 22 associated with this given output node 28. When an input node 22 receives information p relating to the physical system, a corresponding output node 28 can then be associated with this information p relating to the physical system.
[0079] The cost determination module 10 comprises a construction module 12, a filling module 14, a multiplication module 15, a distance evaluation module 16, a counting module 18 and a division module 19.
[0080] The construction module 12 is designed to receive the data D as input and to produce an availability vector Z formed of elements respectively associated with the physical quantities considered and such that an element associated with a first physical quantity is non-zero, here equal to 1, and that an element associated with a second physical quantity is zero.
[0081] In other words, by noting z; the elements of the availability vector Z and with the notations introduced above:
[0082] Z; = 1 for all i GE,
[0083] Z; = 0 for all i G F.
[0084] In the embodiments where the data D further defines information p relating to the physical system, the availability vector also comprises at least one non-zero element (here equal to 1) associated with this information p.
[0085] The multiplication module 15 is designed to receive as input the vector X (product at the output of the artificial neural network 2) and the availability vector Z and to generate as output the Hadamard product of the vector X and the availability vector Z. In the following, X' denotes the vector (Hadamard product) generated at the output of the multiplication module 15.
[0086] The elements x'i of the vector X' are therefore defined by:
[0087] x'j = Xj.Zj.
[0088] Due to the definition of the availability vector Z:
[0089] - the elements x'i associated with an index i attributed to a first physical quantity or (in the embodiments concerned) to information p relating to the physical system (i.e. such that i GE) are equal to the output value x; associated with this index (i.e. to the output value x; produced on the output node 28 associated with the input node 22 associated with this first physical quantity or, where appropriate, to the information p);
[0090] - the elements x'i associated with an index i attributed to a second physical quantity (i.e. such that i GF) are equal to zero.
[0091] The filling module 14 is designed to receive the data D as input and to produce as output a vector Y formed of elements y; respectively associated with the physical quantities considered and such that an element associated with a first physical quantity is equal to the value v; relative to this physical quantity, and that an element associated with a second physical quantity is zero.
[0092] In other words:
[0093] yi = Vi for all ie E,
[0094] y; = 0 for all i F.
[0095] In the embodiments where the data D defines at least one piece of information p relating to the physical system, the vector Y further comprises an element corresponding to this piece of information p.
[0096] The distance evaluation module 16 is designed to receive as input the vector X' produced by the multiplication module 15 and the vector Y produced by the module filling 14, and to output a distance A between the vector X' and the vector Y.
[0097] This distance A is for example the Euclidean norm of the difference between the vector X' and the vector Y, or, as is the case here, the square of this Euclidean norm: 100981
[0099] Due to the way in which the vector X' and the vector Y are obtained, the distance A obtained depends on the differences existing, for each first physical quantity, between the value v; relative to this first physical quantity (taken up by the value yi) and the output value x; (taken up by the value x'O produced by the output node 28 associated with the input node 22 associated with this first physical quantity; on the other hand, due to the fact that the elements associated with a second physical quantity are found in these two vectors X', Y, this distance A is independent of the output value x; produced by the output node 28 associated with the input node 22 associated with this second physical quantity.
[0100] The counting module 18 is designed to receive as input the availability vector Z and to determine as output the number d of non-zero elements in the availability vector Z. In practice, due to the way in which the availability vector Z is constructed, the number d of non-zero elements in the availability vector Z corresponds to the number of first physical quantities among the physical quantities considered (to which is possibly added the number of information(s) p relating to the physical system), while the zero elements of the availability vector Z correspond to the second physical quantities.
[0101] In other words we have: d = card E = N - card F, where card is the cardinal of a set, that is to say the number of elements in this set.
[0102] The division module 19 is designed to receive as input the distance A produced by the distance evaluation module 16 and the number d determined by the counting module 18, and to produce as output a cost C.
[0103] The division module 19 here determines the cost C as the quotient of the distance A and the number d, i.e.: C = A / d.
[0104] The cost determination module 10 was thus able to determine the cost C independently of the output value (or output values) x; produced by the output node(s) 28 associated with the input node(s) 22 associated with the second physical quantity (or second physical quantities), but as a function of differences, for each first physical quantity, between the value v; relating to this physical quantity and the output value x; produced by the output node 28 associated with the input node 22 associated with this first physical quantity.
[0105] In the case of batch processing, the above processing operations are carried out in parallel for several sets of data D representing several sets of values v;. Several cost values are then obtained (in accordance with what is explained above for the cost C) respectively for the different sets of data; the cost C produced at the output of the cost determination module 10 may in this case be a central tendency indicator determined on the basis of the aforementioned cost values, for example the average of the aforementioned cost values.
[0106] The training module 8 is designed to receive as input the cost C determined by the cost determination module 10 and to modify the weights respectively assigned to the neurons of the artificial neural network 2 so as to reduce the cost C.
[0107] The training module 8 uses for example to do this a gradient descent algorithm such as a gradient backpropagation method.
[0108] Thanks to the characteristics of the cost C recalled above, the training is carried out without taking into account the replacement values r;, the introduction of which in place of the missing values is necessary to make the neural network work, but the taking into account of which in the cost would lead to a sub-optimal convergence of the training, or even an absence of convergence.
[0109] [Fig.2] is a flowchart showing the main steps of a method for training an artificial neural network, implemented here in the training system of [Fig.l] to train the artificial neural network 2.
[0110] This method begins with a step E2 of receiving (here by the receiving module 4) a set of data D defining, for first physical quantities among the physical quantities considered, a value v; of the first physical quantity concerned and, for at least one second physical quantity among the physical quantities considered, an absence of value relating to this second physical quantity. As already indicated, in certain embodiments, the data D can further define at least one piece of information p relating to the physical system.
[0111] The method of [Fig.2] also comprises a step E4 of applying, for each first physical quantity, the value v; of this first physical quantity to the input node 22 associated with this first physical quantity and, for each second physical quantity, a replacement value p to the input node 22 associated with this second physical quantity, which results in the production of an output value x; by each output node 28. In certain embodiments, each information p relating to the physical system is applied to a dedicated input node 22.
[0112] The method of [Fig.2] finally comprises a step E6 of modification (here by the training module 8) of weights respectively attributed to the neurons of the artificial neural network 2 so as to reduce the cost C defined above, which is as explained above independent of the output value x; produced by the output node 28 (or the output nodes 28) associated with the input node(s) 22 associated with the second physical quantity (or the second physical quantities), but which is determined as a function of differences, for each first physical quantity, between the value v; relating to this physical quantity and the output value x; produced by the output node 28 associated with the input node 22 associated with this first physical quantity (and, where appropriate, as a function of the difference between the information p and the output value produced by the output node 28 associated with the input node 22 associated with this information p).
[0113] As explained above with regard to the operation of the cost determination module 10, this step E6 may possibly comprise a sub-step of constructing an availability vector Z formed of elements respectively associated with the physical quantities considered so that an element associated with a first physical quantity is non-zero (and here is equal to 1), and that an element associated with a second physical quantity is zero, and a sub-step of calculating the cost C as a function of a Hadamard product (denoted X') between the availability vector Z and a vector X comprising respectively the output values x; produced by the output nodes 28 (this sub-step here comprising the determination of the distance A between this Hadamard product X' and the vector Y comprising the values v; of the first physical quantities so as to calculate the cost C, here as the ratio between this distance A and the number d of non-zero elements in the availability vector Z).
[0114] The steps of [Fig.2] can be repeated so as to train the artificial neural network 2. For example, a predefined number of iterations of the steps of [Fig.2] can be carried out; according to another possibility, the steps of [Fig.2] are repeated until the cost C is lower than a predefined threshold.
[0115] [Fig.3] represents an (electronic) system for supervised learning of an artificial neural network.
[0116] This artificial neural network is here, as already mentioned, a localization artificial neural network (or "localization network" for simplicity) 30. The invention is however not limited to the supervised learning of such a localization network, but can be used for the supervised learning of other artificial neural networks, in particular those capable of receiving on input nodes values determined on the basis of measurements carried out in a physical system and respectively associated with a plurality of physical quantities, and to produce at least one piece of information relating to this physical system as output.
[0117] The supervised learning system of [Fig.3] comprises a generation module 40, the decoder network 26 mentioned above (with reference to [Fig.l]) and the localization network 30.
[0118] The supervised learning system is for example implemented by means of at least one processor and by the execution, by this or these processors, of computer program instructions designed for this purpose.
[0119] In other words, the generation module 40 and the artificial neural networks 26, 30 can each be implemented due to the execution of a set of computer program instructions by a processor.
[0120] Alternatively, however, at least some of these elements could be implemented (at least in part) by a dedicated integrated circuit, specially programmed to perform the function concerned, such as an application-specific integrated circuit.
[0121] The generation module 40 is designed to successively generate sets of values X;.
[0122] Each of these sets of values Xi comprises a number of values equal to the number of intermediate nodes 25 located on the input layer of the decoder network 26.
[0123] The generation module 40 generates for example the values X; by random drawing in accordance with a predefined distribution. According to one possible embodiment, the extrema (i.e. the upper bound and the lower bound) reached by the values present on the intermediate nodes 25 during the learning process of [Fig.2] are memorized and the generation module 40 can then use a distribution (possibly uniform) covering the range of values defined by these extrema (i.e. by this upper bound and this lower bound).
[0124] According to a possible variant, the artificial neural network 2 trained during the process of [Fig.2] is of the variational auto-encoder type as described for example in the article "Auto-Encoding Variational Bayes" by DP Kingma and M. Welling, 2022. In this case, the generation module 40 can generate the values X; by random drawing within the Gaussian distribution associated with the variational auto-encoder.
[0125] As visible in [Fig.3], the generation module 40 is connected to the decoder network 26 at the level of the intermediate nodes 25 so as to be able to apply, for each set of values, the values X; of this set respectively on the intermediate nodes 25.
[0126] The localization network 30 comprises, on an input layer, a plurality of input nodes 32 respectively associated with the physical quantities considered as explained above.
[0127] Each input node 32 associated with a given physical quantity is thus designed as already indicated to receive a value relative to this given physical quantity.
[0128] The location network 30 comprises, on an output layer, at least one output node 38 designed to deliver (once the supervised learning has been carried out) information relating to the physical system, here location information L of an electronic device present in the physical system and in communication with at least one antenna (for example antennas) of the physical system, as will be explained in more detail with reference to [Fig.4].
[0129] As indicated below, in some embodiments, the location network 30 may comprise several output nodes.
[0130] An example of such a localization network 30 is given in the article "Neural-Network-Based Localization Method for Wi-Fi Fingerprint Indoor Localization", by Hui Zhu, Li Cheng, Xuan Li and Haiwen Yuan in Sensors 2023, 23(15).
[0131] Supervised learning (i.e. training) of the localization network 30 is carried out as follows:
[0132] - the artificial neural network 2 comprising the encoder network 24 and the network decoder 26 is first trained as explained above with reference to figures 1 and 2, which makes it possible to obtain a decoder network 26 usable within the framework of [Fig.3];
[0133] - values X; are generated by the generation module 40 and applied to the intermediate nodes 25 of the decoder network 26 so as to generate as output a vector of values respectively produced on the output nodes 28 of the decoder network 26 (the values having a distribution similar to that of the values v; resulting from the measurements in the physical system thanks to the way in which the decoder 26 was trained within the artificial neural network 2);
[0134] - a learning process is implemented, with application of the values respectively on the input nodes 32 of the localization network 30, to determine the weights assigned to the neurons of the localization network 30.
[0135] Several possibilities are possible for determining the information(s) relating to the physical system (here the location information) that the location network 30 must provide as output using supervised learning.
[0136] According to a first possibility, we train an artificial neural network 2 for each possible value of the information relating to the physical system (or each possible multiplet of values of such information) so as to obtain a decoder network 26 for each possible value of the information relating to the physical system (or each multiplet). In this case, to obtain a decoder network 26 associated with a given value of the information relating to the physical system (for example to a given location value), the values v; defined by the data D are obtained by carrying out measurements in the physical system configured in accordance with this given value, that is to say here by placing the electronic device in a region of the physical system corresponding to the given location value.
[0137] The learning process relating to the localization network 30 can then be implemented by successively using the different decoder networks 26 obtained, seeking each time (by modifying the weights attributed to the neurons of the localization network 30) to minimize a distance between the information (here localization) L produced at the output of the localization network 30 and the value of the information relating to the physical system associated with the decoder network 26 concerned.
[0138] This first possibility is interesting in particular when the number of possible values of the information relating to the physical system is limited, for example in the case envisaged below where the location information is a binary indicator of presence or absence of the electronic device in a predefined zone of the physical system (i.e. of the vehicle and / or its environment).
[0139] According to a second possibility, during the training of the artificial neural network 2, the data D also define at least one piece of information p relating to the physical system (here a piece of location information), as was envisaged above as a possible embodiment.
[0140] In this case, the decoder network 26 (obtained by training the artificial neural network 2) also produces on an output node information ir (here location information). This information ir can thus be used during the training of the location network 30: this training can be carried out by minimizing (at each application of a vector of values and by modifying the weights assigned to the neurons of the location network 30) a distance between the information (here location) L produced at the output of the location network 30 and the information ir produced (at the same time as the values ^) at the output of the decoder network 26.
[0141] The last two steps mentioned above (generation of Xi values for application to the decoder network 26 and learning) are repeated until satisfactory learning of the localization network 30 is obtained.
[0142] During the learning which has just been described, it is possible to apply to the input nodes 32 of the localization network 30 not only sets of values produced by the decoder network 26 (as explained above), but in addition sets of values including the values v; from measurements (using for example here also a replacement module such as the replacement module 6 of [Fig.l] so as to apply values to all the input nodes 32 of the localization network 30).
[0143] [Fig.4] schematically represents an (electronic) location system designed to locate an electronic device 50 and here equipping a vehicle 60 (such as a motor vehicle).
[0144] This location system comprises a plurality of antennas 62 (located respectively at various points of the vehicle 60), a processing module 66 and the location network 30 after supervised learning as explained above with reference to [Fig.3].
[0145] The processing module 66 and the location network 30 can for example be implemented by an electronic unit 64 (such as an electronic control unit or ECU for "Electronic Control Unit") present on board the vehicle 60.
[0146] Alternatively, the processing module 66 and the location network 30 could each be implemented by a dedicated electronic entity (for example by a processor-based electronic entity or by an application-specific integrated circuit).
[0147] Each antenna 62 is capable of establishing electromagnetic communication with the electronic device 50 so as to exchange electromagnetic signals with this electronic device 50, for example in the UWB frequency band (for "ultra-wideband").
[0148] The electronic device 50 is for example a mobile telephone 50 (such as the mobile telephone of the user of the vehicle 60) or an electronic identifier (sometimes called a "wireless key").
[0149] When such electromagnetic communication is established, each antenna 62 can thus carry out measurements of characteristics relating to the transmission of the electromagnetic signal between the electronic device 50 and this antenna 62, for example characteristics of the electromagnetic signal received by the antenna 62 from the electronic device 50 (such as the phase and / or the amplitude of the received electronic signal).
[0150] Each antenna 62 is connected to the processing module 66 so as to communicate to the processing module 66 the measurements made. In other applications, sensors can be placed in the physical system and can then be connected to the processing module 66 (by a wired or wireless link) to communicate to this processing module 66 the measurements made by these sensors.
[0151] The processing module 66 is designed to determine, on the basis of the measurements carried out (here by the antennas 62), the values y; of the different physical quantities considered.
[0152] These physical quantities may here comprise one or more physical quantity(ies) characteristic of the transmission of the electromagnetic signal exchanged between the electronic device 50 and an antenna 62, for example one or more quantity(ies) characteristic of the electromagnetic signal received by the antenna 62 from the electronic device 50, such as an indicator of the power of the signal received (by the antenna 62 from the electronic device 50) or RSSI (for "Received Signal Strength Indicator").
[0153] These physical quantities may also comprise here one or more physical quantities derived from a quantity characteristic of the transmission of the electromagnetic signal exchanged between the electronic device 50 and an antenna 62. Such a derived physical quantity is for example the estimated distance between the electronic device 50 and the antenna concerned 62, which may be derived from time-of-flight measurements relating to the electromagnetic signal exchanged between the electronic device 50 and the antenna concerned 62.
[0154] The processing module 66 is furthermore designed to apply the determined values y; of the physical quantities to the input nodes 32 of the location network 30 so that the location network 30 produces on the output node 38 information relating to the physical system, here the location information L of the electronic device 50.
[0155] The location information L can represent for example:
[0156] - a binary indicator of presence or absence of the electronic device in a predefined area of the physical system (i.e. the vehicle and / or its environment);
[0157] - a confidence level relating to the presence of the electronic device in an area predefined physical system (i.e. vehicle and / or its environment);
[0158] - an indicator designating an estimated presence zone of the electronic device 50 among several predefined areas of the physical system (i.e. the vehicle and / or its environment).
[0159] In other embodiments, the location network 30 may include several output nodes on its output layer so as to produce several pieces of information relating to the physical system.
[0160] For example, when several zones are predefined within the physical system (here in the vehicle and / or in its environment), it is possible to provide, for each of these predefined zones, an output node which delivers a level of confidence relating to the presence of the electronic device 50 in the zone concerned.
Claims
Claims
1. Method for training an artificial neural network (2) for locating an electronic device comprising, on an input layer, input nodes (22) respectively associated with a plurality of physical quantities of a physical system and, on an output layer, output nodes (28) respectively associated with the input nodes, comprising the following steps: - receiving (E2) a data set (D) defining, for first physical quantities of the plurality, a value (v;) of the first physical quantity concerned and, for at least one second physical quantity of the plurality, an absence of value relating to this second physical quantity, the values (v;) of the first physical quantities being determined on the basis of measurements carried out within the physical system; - applying (E4), for each first physical quantity, the value (v;) of this first physical quantity on the input node (22) associated with this first physical quantity and, for each second physical quantity, of a replacement value (q) on the input node (22) associated with this second physical quantity, each output node (28) thus producing an output value (x; ); - modification (E6) of weights respectively attributed to the neurons of the artificial neural network (2) so as to reduce a cost (C) independent of the output value (x;) produced by the output node (28) associated with the input node (22) associated with the second physical quantity, and determined as a function of differences, for each first physical quantity, between the value (v;) of this physical quantity and the output value (x;) produced by the output node (28) associated with the input node (22) associated with this first physical quantity.;
2. A method according to claim 1, wherein the artificial neural network (2) comprises a first part (24) comprising the input nodes (22) and producing intermediate values, and a second part (26) comprising the output nodes (28) and intermediate nodes (25) adapted to respectively receive the intermediate values.
3. Method according to claim 1 or 2, comprising a step of constructing a first vector (Z) formed of elements respectively associated with the physical quantities of the plurality so that an element associated with a first physical quantity is non-zero and an element associated with a second physical quantity is zero, said cost (C) being calculated as a function of a Hadamard product between this first vector (Z) and a vector (X) respectively comprising the output values (x;) produced by the output nodes (28).
4. Method according to claim 3, comprising a step of determining a distance (A) between said Hadamard product (X') and a vector (Y) comprising the values of the first physical quantities (v;).
5. Method according to one of claims 1 to 4, in which the physical system comprises an electronic device (50) and at least one antenna (62), and in which the plurality of physical quantities comprises at least one physical quantity characteristic of the transmission of an electromagnetic signal exchanged between the electronic device (50) and the antenna (62), or a physical quantity derived from a quantity characteristic of the transmission of said electromagnetic signal.
6. Method for training a first artificial neural network (30) comprising, on an input layer, input nodes (32) respectively associated with a plurality of physical quantities of a physical system, using a second artificial neural network (26) comprising, on an input layer, intermediate nodes (25) and, on an output layer, output nodes (28) respectively associated with the input nodes (32) of the first artificial neural network (30), the method comprising the following steps: - training, by means of a training method according to one of claims 1 to 5,of a third artificial neural network (2) comprising the second artificial neural network (26) and a part (24) of the artificial neural network connected to the second artificial neural network (26) at the intermediate nodes (25) and comprising input nodes (22) respectively associated with the physical quantities of the plurality;, - applying values (Xj) to the intermediate nodes (25) of the second artificial neural network (26) so as to generate a vector of values (¾) respectively produced on the output nodes (28) of the second artificial neural network (26); - learning weights attributed to the neurons of the first artificial neural network (30) by applying the values (¾) of the generated vector respectively to the input nodes (32) of the first artificial neural network (30).
7. Method for determining at least one piece of information (L) relating to a physical system, comprising the following steps: - training an artificial neural network (30) by means of a method according to claim 6; - carrying out measurements within the physical system; - determining, on the basis of the measurements carried out, values (y;) respectively associated with the plurality of physical quantities; - applying the determined values (y;) as input to the artificial neural network (30), the artificial neural network (30) thus producing as output said at least one piece of information (L) relating to the physical system.
8. Method for locating an electronic device (50), comprising the following steps: - training an artificial neural network (30) by means of a method according to claim 6; - carrying out measurements within the physical system; - determining, on the basis of the measurements carried out, values (y;) respectively associated with the plurality of physical quantities; - applying the determined values (y;) as input to the artificial neural network (30), the artificial neural network (30) thus producing as output information (L) relating to the location of the electronic device (50).
9. System for training an artificial neural network (2) for locating an electronic device comprising, on an input layer, input nodes (22) respectively associated with a plurality of physical quantities of a physical system and, on an output layer, output nodes (28) respectively associated with the input nodes (22), the training system comprising: - a reception module (4) designed to receive a set of data (D) defining, for first physical quantities of the plurality, a value (v;) of the first physical quantity concerned and, for at least one second physical quantity of the plurality, an absence of value relating to this second physical quantity; - a replacement module (6) designed to apply, for each first physical quantity, the value (v;) of this first physical quantity to the input node (22) associated with this first physical quantity and, for each second physical quantity, a replacement value (p) to the input node (22) associated with this second physical quantity, so that each output node (28) produces an output value (¾); - a cost determination module (10) designed to determine a cost (C) independent of the output value (x;) produced by the output node (28) associated with the input node (22) associated with the second physical quantity, and determined as a function of differences, for each first physical quantity, between the value (v;) of this physical quantity and the output value (x;) produced by the output node (28) associated with the input node (22) associated with this first physical quantity; - a training module (8) designed to modify weights respectively assigned to the neurons of the artificial neural network (2) so as to reduce the cost (C) determined by the determination module (10).
Citation Information
Patent Citations
Using semi-supervised variational autoencoder for wi-fi-based indoor localization
EP3798918A1
