Online learning method for a neural interface

The neural interface method addresses inefficiencies in existing technologies by employing a recursive and self-adaptive learning approach with weighted criteria, enabling real-time actuator control and improved user satisfaction estimation.

FR3170953A1Pending Publication Date: 2026-07-03COMMISSARIAT A LENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES

Patent Information

Authority / Receiving Office
FR · FR
Patent Type
Applications
Current Assignee / Owner
COMMISSARIAT A LENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
Filing Date
2024-12-27
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

Existing neural interface technologies require extensive training data and are not suitable for online or near-real-time learning, leading to inefficiencies in controlling actuators based on electrophysiological signals.

Method used

A method for learning a direct neural interface that includes a predictive control model and a decoding model, utilizing a recursive and self-adaptive approach with weighted criteria to update models based on user satisfaction and task performance, allowing for real-time learning and improved actuator control.

Benefits of technology

Enables efficient, real-time learning and actuator control by adaptively updating models based on user satisfaction and task performance, enhancing the accuracy and responsiveness of neural interface systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A method for learning a direct neural interface, the direct neural interface being connected to sensors (21…211) previously positioned around a user's brain, the interface being configured to control an actuator (6) based on electrophysiological signals detected by each sensor, by applying a predictive model to an observation tensor formed by the signals detected during a given time epoch. The neural interface includes a decoding model for a state of satisfaction, allowing the estimation of user satisfaction from electrophysiological signals detected at each time epoch. The method is such that the decoder is trained based on a weight assigned to each time epoch.
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Online learning method for a neural interface. Technical field

[0001] The technical field of the invention relates to direct neural interfaces, usually referred to as "BCI" (Brain Computer Interface), intended to control an actuator from neurophysiological signals. EARLIER ART

[0002] The field of direct neural interfaces is rapidly developing and appears to be an attractive solution for enabling users with disabilities to control actuators by thought. This involves detecting and recording electrophysiological signals emitted by the cortex. These signals are processed by algorithms to generate a control signal, which is then used to control actuators. This control signal can be used to operate an exoskeleton, a computer, or a robot to provide assistance to the user. The algorithms implemented translate an instruction given by the user, this instruction being captured by electrodes in the form of so-called electrophysiological signals, which are representative of the electrical activity of neurons. This electrical activity may be located in the cortex, using cortical electrodes placed in the skull.It can also be measured using electroencephalography electrodes, which are less invasive as they are placed on the scalp, but also less effective, particularly in terms of spatial resolution. Another solution is to record electrophysiological signals using magnetoencephalography, which requires a dedicated setup.

[0003] The algorithms implemented are generally based on a predictive model. The predictive model uses input data, obtained by preprocessing recorded electrophysiological signals, to establish a control signal for the actuator or actuators. The control signal must correspond to an intention expressed by the user, whose electrophysiological signals are recorded. The user's expressed intention is manifested in the form of electrophysiological signals, which are recorded and transmitted to the direct neural interface, forming observation data. The electrophysiological signals are processed to obtain observation data, forming input data for the model, which then generates a control signal corresponding to the user's expressed intention. The control signal enables the control of the actuator or a user's limb.

[0004] Observational data are generally multidimensional and include: - a spatial component, representative of the spatial origin of the electrophysiological signal; - a frequency component, representative of the intensity of the electrophysiological signal in different frequency bands; - a temporal component corresponding to a temporal sample of the electrophysiological signal in which the frequency analysis is performed.

[0005] Each observation data point is associated with an epoch, that is, a temporal sample of predetermined duration, for example, on the order of 1 second after the user intended to perform the task. The term epoch corresponds to the equivalent of the Anglo-Saxon term "epoch." At each epoch, an observation tensor is formed, gathering the observation data. From the observation tensor, a predictive model is fed. The predictive model, applied to the observation tensor, makes it possible to estimate a control signal, enabling the control of the actuators. The control signal is generally expressed by a control vector.

[0006] The predictive model is established during a learning phase, in which the user performs predefined tasks for which the output of the predictive model is known. The output of the predictive model corresponds to a known control vector, from which the most probable task to be executed is determined. The objective of the learning is to determine components of the recorded electrophysiological signals specific to each task. This may include determining correlations between components of the electrophysiological signals and the model output.

[0007] The development of predictive models has been extensively described. For example, US patent 9480583 describes the application of a multivariate partial least squares linear regression method for developing a predictive model. Such a method is known by the English acronym "NPLS" or by the term "N-way Partial Least Squares." The application of such a method was also described in the publication Eliseyev A, Aksenova T (2013) "Recursive N-way Partial Least Squares for Brain Computer Interface" P1OS ONE July 2013, Volume 8 Issue 7. Such a method is also described in the document Yelisyeyev A "Brain-Computer Interface with cortical electrical activity recording" Human health and pathology. University of Grenoble, 2011.

[0008] However, using an NPLS-type method requires processing a large amount of training data, for example several hundred or several thousand, for a model output corresponding to a specific task. This This assumes a large amount of information is stored in memory, which is not suitable for online learning, i.e., real-time or near-real-time learning. Near-real-time learning is defined as learning performed through successive sequences, each sequence lasting a few seconds or minutes.

[0009] To reduce the amount of information to be memorized, a recursive learning process implementing a REW-NPLS-type method has been developed, REW standing for "Recursive Exponentially Weighted". The training of a predictive model, using REW-NPLS, applied to a BCI interface, is described in EP3985530. The recursive approach is justified by the fact that neural signals are not stationary, which necessitates regular updates to the predictive model.

[0010] The learning processes mentioned above are implemented in a supervised manner: the user follows instructions asking him to perform a task chosen from a list of predefined tasks, and corresponding to a predetermined command vector.

[0011] Patent EP4024170 and the Rouanne publication, “Unsupervised adaptation "of an ECoG based brain-computer interface using neural correlates of task performance," Nature Scientific Reports (2012) 12:21316, describes a learning process that incorporates the user's level of satisfaction with the control signal generated by the predictive model. This allows for an update of the predictive model by canceling or weighting a control signal based on the user's level of satisfaction.

[0012] The inventors propose an improvement to the method described in EP3985530, in order to improve the learning performance of the predictive model and / or the performance of decoding the user's satisfaction state. The objective is to improve the unsupervised learning of the predictive model implemented by the interface. Description of the invention

[0013] A first object of the invention is a method for learning a direct neural interface, the direct neural interface comprising sensors previously arranged around the brain of a user, and configured to detect electrophysiological signals representative of the user's neural activity, the interface being configured to: - control an actuator, by implementing a predictive control model, the predictive control model being configured to generate a actuator control signal from detected electrophysiological signals; - estimate a user satisfaction state by implementing a decoding model, the decoding model being configured to estimate the user satisfaction state from detected electrophysiological signals;

[0014] the process comprising the following steps: a. selection of a task to be performed, chosen from a predetermined list of tasks; b. instruction to the user to imagine an execution of the task chosen in step a) and following the instruction, using the processing unit: - acquisition of motor electrophysiological signals, and formation of an observation tensor from characteristics of the electrophysiological signals; - application of the predictive control model to the observation tensor, to generate a control signal, to drive the actuator, the control signal being representative of a predicted task; c. reiteration of steps a) and b) during several time periods, at each time period being assigned a task chosen during step a) and a task predicted during step b); d. selection of epochs in which the task predicted in step b) is identical to the tasks predicted in step b) of a minimum number of previous successive epochs, the epochs thus selected forming a sequence.

[0015] The process may include:

[0016] -e) for each epoch selected in step d), assignment of a label representing a comparison of the task predicted in step b), with the task chosen in step a), the label being chosen from several possible values;

[0017] -f) formation of a vector of labels from the labels assigned during step e);

[0018] -g) formation of a learning tensor from the observation tensors formed for each period selected in step d);

[0019] -h) update of the decoding model by regression between the label vector and the learning tensor;

[0020] the process being characterized in that step h) comprises: - definition of a weighting criterion for each selected period; - Assigning a weight to each selected era, the weight being defined according to the weighting criterion, according to which two eras different, of the sequence, for which the weighting criterion is different, are assigned two different weights;

[0021] and in that the decoding model formation is carried out according to the weight respectively assigned to each selected epoch.

[0022] According to one possibility, the weight assigned to an epoch depends on the task selected during said epoch.

[0023] According to one possibility, step h) comprises: - hi) subdivision of each task, respectively associated with each selected epoch, into several subclasses, corresponding respectively to each possible value of the label following step e), so that the subclass assigned to each epoch corresponds to the value taken by the label for the task chosen during step a) of said epoch; - hii) assignment of a weight to each subclass, the weight being defined according to the weighting criterion; - hiii) assignment of the weight to each epoch, the weight of each epoch corresponding to the weight assigned, during sub-step hii), to the sub-class assigned to said epoch during sub-step hi).

[0024] According to one possibility: - steps a) to d) are implemented during several successive sequences; - steps e) to h) are implemented for each sequence; - in sub-step hii), the weighting criterion is a frequency of occurrence of each subclass, the weight of each epoch is higher the lower the number of occurrences of the subclass, following the successive sequences carried out.

[0025] According to one possibility, after each new sequence, the process includes an update of a total weighted number of occurrences for each subclass, the update comprising, for each subclass: - determining the number of occurrences in the new sequence; - weighting of the number of occurrences, during the new sequence, by the weight respectively assigned to subclass in the new sequence; - summation of the weighted number of occurrences of the subclass, for the new sequence, to the total weighted number for each subclass resulting from the previous sequence, the latter being multiplied by a forgetting factor.

[0026] According to one possibility, the decoding model is defined by multivariate regression, involving the calculation of a cross-covariance tensor between the training tensor and the label vector. The cross-covariance tensor of each sequence is established from a product: - of the learning tensor; - of the label vector; - weights assigned to each era.

[0027] According to one possibility: - steps a) to d) are repeated so as to form several successive sequences, each sequence being a chronological rank; - steps e) to h) are implemented for each sequence; - during step h), the decoding model is established from two consecutive sequences, from a sum of the cross covariance tensor established for the higher rank sequence and the cross covariance tensor established for the lower rank sequence multiplied by a forgetting factor.

[0028] According to one possibility: - the learning tensor takes the form of a matrix, one dimension of which is the number of epochs per sequence; - in each step h), relative to each sequence, the weights form a diagonal matrix, each term of the diagonal matrix corresponding to the weight assigned at the time respectively executed during said sequence.

[0029] According to one possibility, which can be implemented independently of steps e), f), g) and the regression of step h), the method also comprises: - ji) formation of an auxiliary observation tensor from the electrophysiological signals detected during each epoch selected in step d); - j-ii) application of a decoding model to the auxiliary observation tensor in order to estimate a label for each epoch; - j-iii) weighting of the estimated label value for each era, by the weight assigned to each era during step h); - j-iv) formation of a histogram of the weighted values ​​of each estimated label; - jv) calculation of a lower fractile and an upper fractile from the histogram; - j-vi) association of a lower threshold and an upper threshold respectively from the lower fractile and the upper fractile, so that an estimated label whose value is lower or higher than the lower threshold or the upper threshold respectively is considered as a label having an error value or a correct value;

[0030] steps j-i) to j-vi) being implemented by the processing unit.

[0031] For each epoch selected in step d), the observation tensor and the auxiliary observation tensor can be identical.

[0032] A second object of the invention is a method for learning a direct neural interface, the direct neural interface comprising sensors previously arranged around the brain of a user, and configured to detect electrophysiological signals representative of the user's neural activity, the interface being configured to: - control an actuator, by implementing a predictive control model, the predictive control model being configured to generate a control signal for the actuator from detected electrophysiological signals; - to estimate a user satisfaction state by implementing a decoding model, the decoding model being configured to estimate the user satisfaction state from detected electrophysiological signals, the decoding model being able to be established from a process according to the first object of the invention;

[0033] the process comprising: - i) choice, by the user, of a mental task to perform, chosen from a predetermined list of tasks; - ii) execution, by the user, of the task chosen in step i) and, during execution, acquisition of electrophysiological signals from the various sensors; - iii) during the execution of the chosen task, implementation of the predictive control model, so as to generate a control signal; - v) following the generation of the control signal, estimation of a label, corresponding to a state of user satisfaction; - vi) repetition of steps i) to v) during a predetermined number of time periods, said periods forming a sequence; - vii) selection of eras based on the estimated user satisfaction level at each step v); - viii) formation of a learning tensor from the electrophysiological signals detected during the epochs selected in step vii) and of a control tensor from the control signals generated during the epochs selected in step vii); - ix) update of the predictive control model as a function of the learning tensor and the control tensor resulting from vii), for the sequence;

[0034] steps iii) to ix) being implemented by the processing unit from detected electrophysiological signals;

[0035] the process being characterized in that step ix) comprises: - definition of a weighting criterion for each period selected in step vii); - assigning a weight to each epoch, the weight being defined according to the weighting criterion for said epoch, according to which two different epochs, for which the weighting criterion is different, are assigned two different weights;

[0036] the process being such that the formation of the predictive control model is carried out according to the weight respectively assigned to each epoch.

[0037] The weight assigned to an epoch may depend on the task (k) chosen during said epoch.

[0038] According to one possibility: - steps i) to ix) are implemented during several successive sequences; - the weighting criterion is a frequency of occurrence of each task, the weight of each period is higher the lower the number of occurrences of the task, following successive sequences carried out.

[0039] According to one possibility, after each new sequence, the process includes updating a total weighted number of occurrences for each task. The update includes, for each task: - determining the number of occurrences in the new sequence; - weighting of the number of occurrences, during the new sequence, by the weight respectively assigned to the task in the new sequence; - summation of the weighted number of occurrences of the task, for the new sequence, to the total weighted number for each task resulting from the lower rank sequence, the latter being multiplied by a forgetting factor.

[0040] According to one possibility, the weighting criterion is a learning performance. The process comprises: - determination of a learning performance indicator for each task following each epoch; - determining the weight of each task based on the task learning performance criterion.

[0041] According to one possibility, the weighting criterion is the quality of the signals collected at each sequence. The method comprises: - determination of a quality criterion for the signals collected at each sequence; - Determining the weight of each task based on the signal quality criterion.

[0042] According to one possibility, the predictive model is implemented by multivariate regression, involving the calculation of a cross-covariance tensor between the training tensor and the control tensor. The cross-covariance tensor for each sequence is established from a product: - of the learning tensor; - of the control tensor; - weights assigned to each era.

[0043] According to one possibility, during step vii), the times for which the level of user satisfaction is between a lower threshold and an upper threshold are rejected.

[0044] A third object of the invention is a direct neural interface, the direct neural interface comprising sensors pre-arranged around the brain of a user and configured to detect electrophysiological signals representative of the user's neural activity, the interface being configured to: - control an actuator, by implementing a predictive control model, the predictive model being configured to generate a control signal for the actuator from detected electrophysiological signals; - estimate a user satisfaction state by implementing a decoding model, the decoding model being configured to estimate the user satisfaction state from detected electrophysiological signals.

[0045] The interface includes a processing unit, configured to acquire electrophysiological signals during each step b) of a process according to the first object of the invention, and to implement steps c) to h) of said process.

[0046] A fourth object of the invention is a direct neural interface, the direct neural interface comprising sensors pre-arranged around the brain of a user and configured to detect electrophysiological signals representative of the user's neural activity, the interface being configured to: - control an actuator, by implementing a predictive model, the predictive model being configured to generate an actuator control signal from detected electrophysiological signals; - estimate a user satisfaction state by implementing a decoding model, the decoding model being configured to estimate the user's level of satisfaction based on detected electrophysiological signals.

[0047] The interface includes a processing unit, configured to acquire electrophysiological signals during each step ii) of a process according to the second object of the invention, and to implement steps iii) to ix) of said process.

[0048] The invention will be better understood upon reading the description of the exemplary embodiments presented later in this description, in connection with the figures listed below. FIGURES

[0049] Fig. 1 schematically represents a neural interface connected to a user, and connected to a processor capable of implementing a process according to the invention.

[0050] Figures 2A, 2B and 2C represent the main block steps enabling implementation of the invention.

[0051] Figure 3 represents a weighted histogram of quantities quantifying the state of satisfaction of a user following the completion of several mental tasks.

[0052] Figures 4A and 4B show a chronology of each learning session.

[0053] Figures 5A to 5F show a comparison of learning performance in implementing supervised learning and implementing the invention for different processing blocks.

[0054] Figures 6A to 6F show a comparison of learning performance by implementing supervised learning and by implementing the invention between two sessions. PRESENTATION OF SPECIFIC IMPLEMENTATION METHODS

[0055] Figure 1 shows the main elements of a neural interface 1 according to the invention. It is a device comprising sensors 2i...2Lb for acquiring electrophysiological signals representative of neuronal activity. The number of sensors is an integer. The sensors 2i...2Li are, for example, cortical electrodes. The sensors 2b...2n are connected to a processing unit 3, for example, a microprocessor, by a wired or wireless connection. Each sensor 2i...2Li is configured to detect an electrophysiological signal emitted by a user 10. From each detected electrophysiological signal, each sensor 2i...2ti transmits an electronic signal Sj...S,j to the processing unit. The processing unit 3 is capable of implementing algorithms, such as predictive control models, to detect characteristics of the electrophysiological signals S1...Sl j specific to a task performed by the user. The processing unit 3 can, for example, be a processor connected to a memory implementing instructions to perform decoding algorithms such as those described in the publications cited in relation to the prior art. These latter . allow the detected physiological signals to be decoded in order to determine the characteristics of the correlated electrophysiological signals of the mental tasks performed by the user 10.

[0056] A mental task, hereinafter referred to as a task, is understood to be an action imagined by a user to whom the direct neural interface is connected. It is an action corresponding to an intention to perform a specific task. The specific task is instructed to the user by a third party or by a dedicated algorithm.

[0057] During the operational functioning of the direct neural interface 1, as mentioned in relation to the prior art, the user successively performs mental tasks. The processing unit 3 receives the electrophysiological signals S1...S1 [ transmitted by the sensors 2i.. .2L i, representative of the electrophysiological signals produced by the user and detected by the sensors. From the detected electrophysiological signals, the processing unit applies the predictive control model to generate a control signal S c for an actuator 6. Thus, the direct neural interface decodes the electrophysiological signals produced by the user 10 in order to generate, using a predictive control model, control signals to an actuator. The predictive model is called a predictive control model because it is designed to control an actuator to enable the execution of a motor task.The quality of the decoding is all the better when the decoding algorithm has undergone quality training.

[0058] The neural interface is also configured to decode the user's state of satisfaction with regard to the execution of tasks they have devised. To this end, the interface may include auxiliary electrodes 5, of the EEG or ECoG type, designed to capture signals representative of the user's state of satisfaction. As described in the Rouanne publication, the electrodes may address a cortical area suitable for observing states of user satisfaction or dissatisfaction. This could, for example, be the medial and middle frontal gyri. It is known that the activity of the medial prefrontal cortex plays a central role in the feeling of satisfaction. The auxiliary electrodes 5 are connected to the processing unit 3. Alternatively, the electrodes enabling the decoding of the user's state of satisfaction are the cortical electrodes 2i...2n used to decode the user's intentions.

[0059] During the learning process, the user has a list T of tasks T to perform. As described in relation to the prior art, during a learning phase, the user is asked to successively perform tasks k chosen from the list of K tasks. The objective is to progressively determine the electrophysiological characteristics best correlated with the tasks. These characteristics then allow the establishment of the predictive control model, implemented during decoding, by which the user 10 can control the actuator 6 connected to the processing unit 3.

[0060] Each task is to be performed during a time epoch n. The number of epochs to be considered for training is very high, potentially reaching several hundred or several thousand. In EP3985530, cited in the prior art, the principles of REW-NPLS learning are described. According to such learning, observational data forming a three-dimensional tensor are available at each epoch n.

[0061] The recorded electrophysiological signals undergo preprocessing, whereby the signal from each electrode, during each epoch, is subjected to a frequency analysis. This can, for example, be a wavelet transform, such as a Morlet wavelet transform, or a CCWT (Continuous Complex Wavelet Transform) decomposition. The duration of each epoch n can be 1 second or 2 seconds, with a temporal overlap between two consecutive epochs. More precisely, during each epoch, a frequency analysis is performed at regular intervals, for example, every 100 ms. An epoch thus groups together several frequency analyses shifted in time. During an epoch, several frequency analyses are performed, temporally offset from one another.

[0062] At each epoch n, we can associate an observation tensor Xn, of which: - the first mode corresponds to the position of each electrode, of dimension II. - the second mode corresponds to the temporal positions of the wavelets, of dimension 12; - the third mode corresponds to the frequency bands resulting from the frequency analysis, of dimension 13;

[0063] A training sequence u comprises N epochs n, extending over a time range 6t. 11 is an integer index assigned chronologically to each sequence. To each training sequence u corresponds a learning tensor Xu, of dimension Nx11x12x13: the learning tensor Xu groups N observation tensors Xn- More generally, the learning tensor Xu is of dimension Alx11.. .x1h x.. .IH, with l <h<H, h étant un indice et H étant un entier positif. Dans cet exemple, H = 3.

[0064] Each epoch n corresponds to a control signal Yn, which can be represented by a control vector of dimension (K, 1). Each term of the control vector corresponds to a task T from the list T of predefined tasks. For example, each term of the control vector is a probability of execution of the task TAu during the N epochs forming the time range u, the different control signals form a matrix Yu of dimension (K,N).

[0065] Alternatively, the control signal Yn can be a matrix, or even a multidimensional tensor, in which case the different control signals form a tensor Ÿ of mode NxJi.. .x Jg x.. .JG. G > 1. In general, each task k corresponds to a specific control signal.

[0066] When the interface is implemented, the predictive control model F allows the observation tensor Xn to be converted into a control signal Yn for each epoch n

[0067] The predictive control model F can notably be a multilinear model, learned by regression between Xu and Yu, for example by a multivariate partial least squares (PLS) method. Such a model allows an estimation of the control signal according to an expression of the type: y^ = p( where F is the predictive control model.

[0068] Ÿn = BXn + b (l),where - B is a prediction tensor, comprising prediction coefficients; - b is a bias tensor;

[0069] The term tensor includes both a vector (1st order tensor), a matrix (2nd order tensor) or higher order tensors.

[0070] In the example described below, without limitation, the predictive control model is such that:

[0071] Ÿn = B Xn + b+ (1), where is a matrix of dimensions (K, P\ Xn and b are vectors of dimensions (P; 1) and (K, 1). Xn is a vector resulting from a vectorization of the tensor Xfl.with p _ T |H t

[0072] Thus, the objective of the predictive control model is to estimate, when using the interface, at a time n, the control vector ŸD according to (1) or (1'), the latter translating the motor action controlled by the user.

[0073] Equation (1) can be used to establish an emission probability. By taking into account probabilities of state changes, the user's state at different successive times can be estimated according to a hidden-state Markov model (HMM), in which the task performed by the user at different successive times is considered a state. By implementing an algorithm, for example a forward algorithm, the different successive states taken by the user can be evaluated. Each state then corresponds to the execution of a task. The successive states are estimated by an HMM-type algorithm, using the predictive motor control model, as described in EP3789852.

[0074] A particular feature of the invention is that the establishment of the predictive motor control model, or its update, takes into account a user satisfaction state, using electrodes 2i...2n or auxiliary electrodes 5, as described in patent EP4024170 and the Rouanne publication described in connection with the prior art. The user satisfaction state is estimated by applying a decoding model, designed to estimate the user satisfaction state from so-called auxiliary observational data, obtained from electrophysiological signal characteristics resulting from electrodes 2i...2n or auxiliary electrodes 5.

[0075] We will describe, with reference to Figures 2A to 2C, the main steps of a method enabling implementation of the invention, so as to form a predictive control model as described by (1) or (1'). It should be noted that the predictive control model is developed online, i.e., in real time or near real time, with iterative updating, as described in EP3985530.

[0076] To this end, observation tensors Xu and control tensors Yu are trained during successive training sequences u, each training sequence comprising several epochs. The predictive control model is updated by taking into account a forgetting factor 2, generally between 0 and 1. The forgetting factor 2 is applied, during the regression, to quantities resulting from the preceding sequence. When the regression is of the NPLS type, the forgetting factor 2 is applied to a cross covariance matrix of the training tensor and the control tensor, as well as to a covariance matrix of the training tensor, as described below.

[0077] In the following description, the steps involving mathematical processing are implemented by the processing unit 3.

[0078] The steps presented below are divided into three blocks A, B and C, which are described below. - Block A: initial recursive learning of the predictive control model: see [Fig.2A] - Block B: Model learning: see [Fig.2B] - Block C: self-adaptive and recursive update of the predictive control model: see [Fig.2C]

[0079] Block A comprises steps 100 to 150. The objective of Block A is to obtain an initial predictive order model, that is, a regression model for estimating user intent from observational data. These steps are not necessary for implementing the invention: the predictive order model can be learned in another way, for example, offline, or from an existing model. The invention can also be implemented without a predictive order model. Initial command: In this case, an equally probable occurrence of each task is assigned. However, executing these tasks over several consecutive sequences allows for the initialization of the predictive command model, which improves the performance of the self-adaptive learning described later. Steps 100 to 150, as well as some applicable variations, are described in application FR2415310 filed on December 27, 2024.

[0080] Step 100: The user imagines a task k at time t. The task chosen at time t may, in particular, correspond to a movement of the actuator, chosen from among K possible tasks. At the same time, the electrophysiological signals resulting from the different sensors are recorded. More precisely, the electrophysiological signals are recorded over an epoch n, extending for a duration 6t from time t.

[0081] Each term Yn(k) of the control vector corresponds to a probability of execution of task k. One of the tasks may be an inactivity task, designated by the acronym IS (Inactive State).

[0082] Step 110: Pre-processing. At each epoch n, the signals are subjected to a time-frequency analysis, as described above, in order to form an observation tensor Xn.

[0083] Steps 100 and 110 are repeated N times, so as to form a learning tensor Xu - N, which can, for example, be equal to a few tens or a few hundred. X is the number of epochs n forming the learning sequence u. For example, the total duration of steps 100 to 110 can be 15 seconds, each epoch lasting a duration 6t of 1 second, with a lag of 100 ms between two successive epochs n, n+1, which implies a 90% overlap between two successive epochs.

[0084] Step 120: Assigning a weight to each epoch of the sequence.

[0085] The inventors have observed that recursive learning according to the prior art, as described in EP3563218, can lead to class imbalance. Class imbalance refers to an imbalance in the occurrence of certain classes, corresponding respectively to certain terms of the control vector. Indeed, certain tasks, corresponding respectively to certain terms of the control vector, may be underrepresented and require a longer training time. For example, when the actuator is an exoskeleton, controlling hand translation may require more training than controlling wrist rotation.

[0086] In addition, the imbalance affecting the difficulty of learning between tasks can vary over time, between different successive learning sequences.

[0087] Furthermore, during the learning process, an additional task may be added, which leads to adding a term to the control vector.

[0088] During learning, the user, or the supervisor, cannot, by himself, compensate for the imbalance between tasks, because the fact that learning some tasks k is more difficult than others cannot be controlled by the user.

[0089] Thus, at each epoch n, a weight wn is assigned, the value of which varies depending on whether one wishes to over- or under-represent the observation at said epoch n. More precisely, the weight depends on the task k assigned at epoch n, among the K possible tasks. The task k assigned at epoch n corresponds to the non-zero term of the control signal Y n. During the same sequence u, the weights wn corresponding to the same task k, that is, the same task, have the same value. Thus, for the same task k, the weight assigned during the same sequence u is ■

[0090] Substep 121: Determination of the weights wn - We determine the number of occurrences of the majority class following the sequence, taking into account the previous sequences:

[0091] j is the number of occurrences of each class k following the previous sequence u -1. During the first sequence, is initialized, for example equal to 0.

[0092] is the number of occurrences of each class k, during the sequence u, before weighting.

[0093] A is the forgetting factor described previously. - we determine the weight assigned to each class k, during the current sequence 11

[0094] , N^N1^ (3) ..............."

[0095] and = 0 if n* = 0 (4)

[0096] It is preferable not to assign excessively large weights to certain tasks, so as not to increase the noise level affecting the determination of the predictive control model. This amounts to avoiding an overweighting of certain classes k. Thus, it can be imposed that a maximum value wmax be established. When (6) leads to a value such that > ​​Wmax, then = Wmax-

[0097] After the weight assigned to each class ka has been defined, the weight associated with epoch n is such that k corresponds to the task associated with epoch n.

[0098] Substep 1 2 2: determination of

[0099] We determine which corresponds to the number of weighted occurrences of each class k, by:

[0100] Nk=

[0101] JŸy is intended to be used when implementing expressions (2) and (3) in the following sequence u + 1.

[0102] In addition to the frequency of occurrence of tasks, other weighting criteria can be taken into account to assign a weight to each epoch n: - Learning performance: for example, tasks for which learning performance is considered low can be weighted less. Learning quality can be assessed using a recall performance indicator, which corresponds to a ratio between the number of occurrences of correctly classified tasks and the number of tasks presented to the user. - the presence of an outlier (aberrant value) at the time considered, in which case the weight can be chosen to be zero: the aim here is to assign a weight based on the quality of the recorded signals, in order to minimize or cancel the influence of signals considered to be aberrant; - the occurrence of a task change, by underweighting the moments occurring just after a task change being underweighted compared to the subsequent moments: this involves taking into account a reaction time of the user, occurring at each task change, and during which the neurological response of the user is considered to be transient.

[0103] More generally, a weighting criterion is defined for each epoch. This may be a criterion of frequency of occurrence of the task performed at each epoch, or of learning performance of the task chosen at each epoch, or a criterion of quality of the signals recorded at each epoch, or a temporal criterion following a change of task.

[0104] Step 1 3 0: training of the learning tensor Xu and a control matrix Yu the sequence u.

[0105] To each learning sequence u corresponds a learning tensor Xu, of dimension NxIlxI2xI3: the learning tensor Xu groups N observation tensors Xn corresponding respectively to N epochs n. Each observation tensor Xn is formed of terms .....2- ), WHERE H is the number of modes of the observation tensor.

[0106] The training of the learning tensor involves a normalization of the observation tensors Xn, then a grouping of each normalized observation tensor formed for each epoch n of the same sequence u.

[0107] Each observation tensor Xn is normalized by the following operations: [DWS] N™=ANTot + ^^ - NuOt is a cumulative training set size; is the size of the training set accumulated since the start of training taking into account the weights. - A is the forgetting factor described previously; - wn is the weight associated with each epoch n of the sequence u; - N™ cst 'a size of the training set following the previous sequence u-1. During the first sequence (u = 1), we take = 0.

[0109] We then calculate an average for each term of the N observation tensors, forming the sequence u [o1101 =K7)av“ ......: 'represents a coordinate of each term of the observation tensor and xn,i is each term with coordinate 1 of the observation tensor Xn;

[0111] We then calculate a quadratic sum SS^ • SS^ = (8)

[0112] A standard deviation is then calculated (9) rrXi — , I------------— VN™-1

[0113] And we normalize each term of each observation tensor XB by:

[0114] xn.rl^ (10) means "is replaced by" cq;

[0115] The same procedure is followed for each control vector Yn. An average y^k is calculated for each term of the N control vectors Yn for the sequence u. In this example, each control vector ^ has K terms Yn

[0116] uYk=~L~ Wll) ui ^-1 J

[0117] Yn is a term with coordinate k of the control vector Ya;

[0118] We then calculate a quadratic sum SS^ • SS^ = x wny2, 112

[0119] A standard deviation is then calculated

[0120] (TYk = uu SS™-N™p™2 <13) Aϰf4

[0121] And we normalize each term of each control vector Yn, for each epoch n, by:

[0122] _ (14) y nk*

[0123] Step 130 involves normalizing each observation tensor Xn and each control tensor Yn by taking into account the weight wn associated with each epoch n of the sequence u. This consists of calculating a time mean and a time standard deviation, weighted by the weight assigned to each epoch, for each term of the observation tensors and the control vector. The time mean and the time standard deviation are calculated for terms with the same coordinates, taking into account each epoch n forming the sequence u.

[0124] Each normalized observation tensor Xn can be expressed as an observation vector Xn, of dimension P, with P = Il x 12 x 13, following the vectorization of the tensor Xn, in which case the learning tensor Xu is a learning matrix Xu formed from the N normalized observation vectors: Xu = (XX _ v ) T- The learning matrix Xu is of dimension (N, P).

[0125] We also form a control matrix Yu from each normalized control vector, y ü = ( yy} T. In this example, Yu is of dimension (N, K) because each control tensor Yn, associated with an epoch n, is a vector of dimension (1, X)-

[0126] Step 1 4 0: Establishment of the predictive control model.

[0127] We now describe the establishment of the predictive control model from the normalized tensors resulting from step 130. This involves establishing a predictive control model that allows the control signal to be estimated from an observation tensor, such that:

[0128] Ÿn = Bu Xn+bu(15). Bu and bu are the parameters of the predictive control model resulting from the sequence u.

[0129] In this example, the regression is a multivariate partial least squares linear regression (N-PLS). Sub-step 141

[0130] From the learning matrix Xu, and the control matrix Yu, the covariance and cross-covariance matrices are calculated:

[0131] = xldiagiw^X^ AC^ <16>

[0132] and [0*331 cV = Xldiag(W^Yn+ACxJ m

[0134] diag(W^ is a diagonal matrix of dimension (N,N). Each term of diag(W^ is the weight wn assigned at epoch n, calculated during step 120.

[0135] Substep 1 42: In this substep, the matrix Bu and the vector bu are determined from the covariance and cross covariance matrices and resulting from the previous substep, as described in EP3563218. This corresponds in particular to step 140 of EP3563218. In EP3563218, the predictive order model is updated by multivariate linear regression by partial least squares (NLS), but other types of multivariate regressions may be used.

[0136] The predictive order model can be used to estimate the most probable task ordered by the user, by a Hidden Markov Model (HMM) type algorithm, each task being assimilated to a state of the user, as previously described.

[0137] Step 150: Iteration. Steps 100 to 140 are repeated for a subsequent sequence, allowing for regular, or even continuous, updating of the predictive control model. The number of iterations of steps 100 to 140 ranges from 1 to several tens or several hundred. This provides an initialized predictive control model F.

[0138] The steps in block B are intended for the supervised learning of the user satisfaction state decoder. Using the signals obtained at the electrodes, the processing unit determines, for each epoch, a scalar variable ^NR rcPæscntat'vc representing the user's state of satisfaction or dissatisfaction. The scalar variable can, for example, be between 0 and 1. The objective of the learning process is, in particular, to define, for each epoch: - a low threshold, below which the user is considered not satisfied, - a high threshold, above which the user is considered satisfied.

[0139] It is also a matter of updating the decoding model, in a recursive way.

[0140] The main steps of block B are:

[0141] Step 200: This task is similar to task 100 previously described. The user imagines a task k, at time t, initiating an epoch n, which corresponds to a known control vector Y n. The duration ôt of each epoch n can be one second.

[0142] Step 2 10: Pre-processing. This task is similar to task 110 and involves a time-frequency analysis of the signals recorded during epoch n. This allows form an observation tensor Xn for epoch n as described in connection with step 110.

[0143] Step 220: implementation of the predictive control model F, defined in block A, from the observation tensor resulting from step 210. The observation tensor Xn can be deployed so as to form an observation vector Xn. intended to be processed by the predictive control model so as to estimate a control signal Ÿn according to (1) or (1').

[0144] Step 2 30: detection of a change of state of the control signal Ÿn and selection of epochs.

[0145] The control signal Ÿn resulting from step 220 is considered representative, within estimation errors, of the most probable motor task imagined by the user: this is the task predicted by the model. A change of task between two consecutive epochs can be detected because it corresponds to a change in the control signal y. For example, each term of the control signal yn is assigned to a task F and corresponds to a probability of executing that task. A change of task corresponds to a change in the term with the maximum value in Ÿn. If a change of task is detected, step 240 is delayed so that it is executed only after a reaction time RT. Steps 200 to 230 are repeated successively so that the same task is predicted for a number of epochs corresponding to the reaction time. The reaction time RT could, for example, be 500 ms.

[0146] Each epoch n extends over a duration 6t of 1 s. During the repetition of steps 200 to 230, two successive epochs are temporally offset by 100 ms. There is thus a 90% overlap between two successive epochs. The number of iterations forming a sequence is, for example, equal to 150, i.e., a duration of 15 seconds.

[0147] Step 230 consists of temporally selecting at least one epoch, occurring after a succession of epochs (reiteration of steps 200 to 230) for which the predicted task is identical. The temporal selection of epochs makes it possible to subsequently take into account epochs at which the user's physiological response is considered to be stabilized.

[0148]

[0149] The following steps are performed for each era selected in step 230. Step 2 40: Labeling of epoch 11: A label Y is assigned to epoch n based on the difference between Yn (determined by step 220) and Yn (known, resulting from 200). When y and Yn are considered close, Ynrd takes a value representing user satisfaction. For example, YNR = 1. When y and Yn are considered different, Y NRn takes a value representative of user dissatisfaction for task k associated with epoch n. For example, Ymr n = 0' The acronym NR stands for Neural Response, which corresponds to the state of user satisfaction.

[0150] Step 2 45: Iterations: Steps 200 to 240 are repeated and implemented for a subsequent epoch n+1, until a number N' of iterations selected during step 230 is reached. N' can, for example, be equal to a few tens or a few hundred. The N' consecutive epochs form a learning sequence v.

[0151] Step 2 5 0: formation of auxiliary observation tensors.

[0152] For each epoch selected in step 230, an observation tensor, called an auxiliary observation tensor, XNRjl, is formed.

[0153] For each epoch, the auxiliary observation tensor XNRn can be identical to the observation tensor Xn formed following step 210 for each selected epoch forming the sequence v. This is particularly the case when considering that the observation data forming the tensor Xn can be used to decode the user's satisfaction state.

[0154] Each auxiliary observation tensor XNRn may be different from the observation tensors resulting from each step 210. This is particularly the case when different electrodes are used to establish the motor control (steps 200 and 210), and / or when different characteristics of the recorded signals are used.

[0155] We thus have N' auxiliary observation tensors XNRjl, each auxiliary observation tensor being different from or equal to the motor observation tensor established in step 210, each auxiliary observation tensor corresponding to a label ^NR,n

[0156] Steps 260 to 290 are intended to perform or update, online, the learning of the user's mental state decoder executed by the processing unit 3.

[0157] Step 2 6 0: Definition of subclasses and weighting of each subclass.

[0158] Substep 261: Definition of subclasses

[0159] Following a sequence v, we seek to determine which occurrences of tasks k, ordered during step 200, are labeled correct or incorrect. We define as many classes as there are tasks ordered during sequence v. Each class is subdivided into two subclasses j, such that: - each identical task k labeled correct belongs to the same subclass;

[0160]

[0161]

[0162] - each identical task k labeled incorrectly belongs to the same subclass. Subsequently, each subclass is designated 7. Sub-Step 2 6 2 Assigning weight to each subclass. We determine the number of occurrences of the majority class following the sequence V : = (20), where: - jyl is the number of occurrences of each subclass 7 following the previous sequence v -1. During the first sequence, is initialized, for example equal to 0. - lly is the number of occurrences of each subclass 7, during the sequence v, before weighting.

[0163] Next, the weight assigned to each subclass 7 is determined by

[0164] . (21) W1- =---;——

[0165] Substep 2 63: determination of jy^

[0166] We determine jy^, which corresponds to the number of weighted occurrences of each class 7, by:

[0167] jy / . = AN>r i+ Wlv 2!iv (21')

[0168] jy^ is intended to be used when implementing expressions (20) and (21) in the following sequence v+1.

[0169] According to one possibility, the weights associated with each subclass are determined by taking into account another weighting criterion, as described in connection with step 120: learning performance, signal quality

[0170] Following step 260, a weight is assigned to each selected epoch n, which corresponds to the weight calculated for the subclass 7 to which the task k ordered at said epoch belongs

[0171] Step 2 7 0: Decoding the user's satisfaction state.

[0172] This involves using all or part of the signals resulting from the electrodes to estimate a state of satisfaction y of the user with respect to the control signal y„. J NR, NBA We implement the decoding model from the auxiliary observation tensor corresponding to each selected epoch n, so as to obtain a state of satisfaction yxr„ . JNR ji

[0173] A decoding vector is also formed R,v ( Y NR^......^NR^X ) resulting from the estimated y11 satisfaction states for each period taken into account JNR during step 240. [°1741 Kk,

[0175] Step 27.5: Definition of thresholds

[0176] A histogram of the values ​​of ÿNRn, weighted respectively by the weight associated with subclass 1 associated with epoch n. This amounts to obtaining the histogram, called the weighted histogram, of the weighted values ​​Wu y^Rjl-

[0177] From the weighted histogram, thresholds corresponding to fractiles of the distribution of values ​​Wn ÿ^Rn- are determined. A count is taken: - a lower fractile, for example a 10% fractile, delimiting the 10% lowest values ​​in the histogram. The lower fractile defines a lower threshold ^inf so that subsequently, each value of ÿNR determined by the satisfaction decoder, lower than is considered a state of dissatisfaction. - and an upper fractile, for example a 90% fractile. The upper fractile defines a lower threshold QSUp so that subsequently, each value of ÿ^R^ determined by the satisfaction decoder, greater than QSUp, is considered as a state of satisfaction.

[0178] The determination of the lower and upper thresholds, conditioning the states of satisfaction and dissatisfaction, is thus carried out from the weighted histogram.

[0179] Fig. 3 represents an example of a weighted histogram, on which a lower threshold and an upper threshold have been shown.

[0180] During block B, the user satisfaction state decoding model can also be updated. For this, for the N' epochs selected in step 230, and for which the YNR v label vector formed by the set of Y nRji labels determined during each step 240 is available. / \T ^NR,v - ......y

[0181] The user state decoding model can be updated by performing a regression between the label vector Y^R v and a learning tensor Xv, formed from the auxiliary observation tensors XNRn.

[0182] Preferably, the update of the decoding model takes into account the weights defined during step 260.

[0183]

[0184]

[0185]

[0186]

[0187]

[0188] This allows for updating the user satisfaction state decoder using a small amount of data. This enables a simple and quick update of the decoder without requiring significant memory resources; the decoding model can be updated regularly, for example, monthly, or every 3 or 6 months. The decoding model update corresponds to the following steps: Step 28 0: Training of the XNR learning tensor v and the label vector NR,v • Each auxiliary observation tensor X^Rjl, and the vector Ynr v are normalized by the following operations, v™. i»Tfot , vN (22) Nv - AN vA +2^-. ™n ]\jT°t CS( a size of the training set accumulated since the beginning of learning; 2 is the forgetting factor described earlier; wn is the weight associated with each epoch n of the sequence v: the weight of each epoch corresponds to the subclass 1 assigned to the epoch. is the normalization term for the previous sequence v -1. During from the first decoding sequence (y = 1), we take NÿOt _ q. We then calculate an average y^NR,i for each term of the N' tensors auxiliary observation X^r^ forming the sequence = V7^with j = Q j ] : i represents a coordinate of each term of the tensor observation and is each term of coordinate 1 of the auxiliary observation tensor Xn^R of the sequence v; We then calculate a quadratic sum • SSy* = We then calculate a standard deviation I (25) °v V <ot-l And we normalize each term xn,NR, i of each observation tensor XnRji By: (26) XN R fi, i crf

[0189]

[0190]

[0191]

[0192]

[0193]

[0194]

[0195]

[0196]

[0197]

[0198]

[0199] We form a vector of labels. The label vector Y^rv is formed by the set labels Y nr^ determined at each step 240. Thus: , 'T ^NR,v “ yNRv eï™ We then calculate an average yYNR for each term of the N' labels ......J NRf^N nr =—“ nY Z^^nY NRjl \ ; We then calculate the quadratic sums: ggY We then calculate the standard deviations SS^-NYli^ (29) ÂÏFÂ And we normalize each term of the label vector Y^ry^^ (30) NR .It Step 280 involves normalizing each auxiliary observation tensor X^Rn and the label vector Y^r by taking into account the weight wn associated with each epoch n of the sequence v. This consists of calculating a time mean and a time standard deviation, weighted by the weight assigned to each epoch, for each term of the auxiliary observation tensors and the label vector. The time mean and time standard deviation are calculated for terms with the same coordinates, considering each epoch n forming the sequence v. Each normalized auxiliary observation tensor XNRn can be expressed as an auxiliary observation vector X]\jRn following the vectorization of each tensor X^r^, in which case the learning tensor XNRv is a learning matrix X^rv formed from the N' auxiliary observation vectors: XnR'V= (XNRj}=1, -XNR>o=Ny The learning matrix X^rv is of dimension (NP'), where P' is the dimension of each normalized auxiliary observation vector X^r^.

[0200] Step 290: Update the decoding model

[0201] The establishment of the decoding model from the learning tensor X^rv and the label vector Y^r resulting from step 280 is now described. Substep 291

[0202]

[0203]

[0204]

[0205]

[0206]

[0207]

[0208]

[0209]

[0210]

[0211]

[0212]

[0213]

[0214]

[0215]

[0216] The covariance and cross-covariance matrices are calculated and explained as follows: = X ! Rr diag^ (31) and = Xx Rr diag(w v )x NRv + (32) diag(W^ is a diagonal matrix of dimension (N',N'). Each term of diag(Wv) is the weight wn assigned at epoch n, calculated during step 260. The covariance and cross-covariance matrices are used to establish a decoding model according to the following sub-steps Substep 292: In this substep, the decoding model is determined from the tensors qX-nr and qxnr^nr. The aim is to establish a decoding model that allows the control signal to be estimated from an observation tensor, such that: NR,n = Pv %RNfl + ^33^ Pv and 6V are the parameters of the decoding model resulting from the sequence v. Block B enables an online update of the satisfaction state decoder, taking into account class balancing. This results in improved decoding performance. Block C: Iterative update of the predictive order model _F± Completing block B and using an initial predictive order model, for example, one resulting from block A, allows for an unsupervised update of said predictive order model. The advantage is that the labeling of each epoch results from the user's satisfaction state decoder, and not from annotations generated by a supervisor. Block C comprises the following steps: Step 300: The user imagines performing a task k at time t, as described in step 100. The neural signals produced by electrodes 2i...2L i are recorded over an epoch n extending between t and f + 6t- Step 310: The neural signals corresponding to the epoch are centered and reduced. They undergo time-frequency analysis, as described in connection with step 110, in order to form an observation tensor Xir Step 320: The predictive control model F, as described in connection with step 220, is applied to the observation tensor, which is notably deployed to form an observation vector Xn. This yields a control signal. In this example, each term of the control signal corresponds to a probability that a task k is imagined by the user.

[0217] Steps 300 to 320 are repeated for several epochs until the condition specified in step 330 is reached.

[0218] Step 330: After a duration t + τ + RT, following a change in the maximum term of the vector, if the maximum term has not changed during this duration, the neural signals intended to predict user satisfaction are recorded. This means that the predicted task is identical for the epochs extending between t and t + τ + RT. The recorded neural signals form an auxiliary observation tensor X^r^. It is recalled that the auxiliary observation tensor can be different from or identical to the observation tensor Xn-

[0219] In the example described below, the observation tensors Xn- and auxiliary observation tensors formed at each epoch are identical.

[0220] Step 340: The user satisfaction state ÿ^Rn is estimated by applying the decoding model, resulting from block B, to the auxiliary observation tensor X^Rn formed in step 330.

[0221] Step 350 j Steps 300 to 340 are repeated M times, M can for example be equal to a few tens or a few hundred. M is the number of epochs n forming the learning sequence u. For example, the total duration of the sequence may be 15 seconds, each epoch lasting a duration Ôt of 1 second, with a lag of 100 ms between two successive epochs, which implies a 90% overlap between two successive epochs. M may be equal to or different from the number of epochs N described in block A.

[0222] Step 360: Processing of observation tensors Xn based on user satisfaction. During this step: - the observation tensors X„ for which yxrr, > GL,,,, are il r 1 17 NR,!! ^SUp conserved: we consider that the task k corresponding to the epoch n corresponds to the maximum term of the vector Ÿn; - observation tensors Xn for which < y < (Jsup are rejected; - the observation tensors Xn for which ÿ^R n — are conserved: We consider that the task k associated with epoch n corresponds not to the maximum term of the vector but to the second maximum, that is, to the task for which the probability is closest to the maximum probability. Thus, for epochs n to which ÿ^!Rn — Tinf' Ie term the maximum of ya is set to zero, so that the second maximum prevails following the setting of the maximum term to zero.

[0223] Step 3 7 0: Weighting

[0224] Thus, at each epoch n, a weight wn is assigned, the value of which varies depending on whether one wishes to over- or under-represent the observation at said epoch n. More precisely, the weight depends on the task k assigned at epoch n, among the K possible tasks. The task k assigned at epoch n corresponds to the non-zero term of the control signal Y n. During the same sequence u, the weights wa corresponding to the same task k, that is, the same task, have the same value. Thus, for the same task k, the weight assigned during the same sequence u is w%

[0225] Substep 3 7 1: Determination of the weights wn - we determine the number of occurrences of the majority class following the sequence - : W. where:

[0226] j is the number of occurrences of each class k following the previous sequence u -1. During the first sequence, is initialized, for example equal to 0.

[0227] iiu is the number of occurrences of each class k, during the sequence u, before weighting.

[0228] 2 is the forgetting factor described earlier. - we determine the weight assigned to each class k, during the par

[0229] , Cr'-M, (35) w{f=—5^

[0230] and = 0 if = 0 (36)

[0231] It is preferable not to assign excessively large weights to certain tasks, so as not to increase the noise level affecting the determination of the predictive control model. This amounts to avoiding an overweighting of certain classes k. Thus, it can be imposed that a maximum value wmax be established. When (36) leads to a value such that , then

[0232] After the weight assigned to each class ka has been defined, the weight wn associated with epoch n is such that wn = k corresponding to the task associated with epoch n.

[0233] Substep 3 7 2: determination of

[0234] We determine which corresponds to the number of weighted occurrences of class k, by :

[0235] Nk=

[0236] is intended to be used when implementing expressions (35) and (36) in the following sequence u +1.

[0237] Besides the frequency of occurrence of tasks, other weighting criteria can be taken into account to assign a weight to each epoch 11, as described in connection with block A, Cf substep 121.

[0238] Step 3 80: Training of the learning tensor Xu and the control matrix Ÿu-

[0239] Each observation tensor Xn is normalized by the following operations: [02401 N™ = AN™ - is a cumulative training set size; - 2 is a forgetting factor between 0 and 1. - wn is the weight associated with each epoch 11 of the sequence u; - N™ is 'c normalization term for the previous sequence u - l.During the first sequence (u = 1), we take _ g.

[0241] We then calculate an average pAi for each term of the N observation tensors, forming sequence 11:

[0242] ijXi =—1— ta. v Yqa) = Itr) N™ 1 ^1......1H /

[0243] xn,i is each term with coordinate 1 of the observation tensor Xu;

[0244] We then calculate a quadratic sum • SS^ = (40)

[0245] We then calculate a standard deviation Iss^-Ny0^1'2 (41) °u \ NA'-l

[0246] And we normalize each term of the observation tensor by:

[0247] (42)

[0248] The same procedure is followed for each control vector Ÿn-

[0249] We calculate an average for each term k of the M' vectors of command Ÿn for the sequence u:

[0250] uŸk = —l— (ANT^IJÿ::+XN TA. Fz Vd.q)

[0251] y is a term with coordinate k of each vector y„ 17 n=kn

[0252] We then calculate a quadratic sum — t2(44)

[0253]

[0254]

[0255] We then calculate a standard deviation (45) And we normalize each term of Ÿn Pæ":

[0256] yn!^ (46)

[0257] Each normalized observation tensor X can be expressed as an observation vector Xn, of dimension P, with P = 11 x 12 x 13, following the vectorization of each selected observation tensor Xn, in which case the normalized observation tensor is a learning matrix Xu formed from the normalized observation vectors AT: y = (Y . Y AT. The matrix The learning curve Xu is of dimension (MP). M' corresponds to the number of tensors Xn selected during step 360. M' < M.

[0258] A control matrix Ÿu is also formed from each normalized control vector: <y _          ry \ l. dans cet exemple, ÿu est de dimension (MK).

[0259] Step 390: Establishing the predictive order model.

[0260] We now describe the establishment of a predictive control model from the tensors resulting from step 380. This involves establishing, by regression, a predictive control model that allows us to estimate the control signal from an observation tensor, such that: [026i] Ÿn = Buxn+bum

[0262] In this example, the regression is a multivariate partial least squares linear regression (N-PLS).

[0263] Sub-Step 3 91: Formation of covariance matrices

[0264] In a manner analogous to what has been described in connection with (16) or (17), from Xu and Ÿw we form the covariance and cross-covariance matrices. These are expressed as follows:

[0265] C™ = xldiag(w^u+AC™

[0266] and

[0267] = XTdiag{Wu}Yu+ <49'

[0268] diag(Wu) is a diagonal matrix of dimension (M). Each entry of diag(Wu) is a weight wn assigned at epoch n, whose value varies according to the class k assigned at epoch n, depending on whether one wishes to over- or under-represent the observation at said time n. During the same sequence u, the weights wn corresponding to the same class k, that is, the same task, have the same value

[0269] Substep 392: during this step, the matrix Bu and the vector bu are determined from the resulting covariance and cross covariance matrices f^XX and ^xŸ '-"U of the previous sub-step, in a manner analogous to what was described in step 142 of block A. Experimental trials

[0270] The steps described above were implemented, recording ECoG signals from a user using a WIMAGINE wireless implant, as described in Mestais C. et al “WIMAGINE: Wireless 64-Channel ECoG recording implant for long term clinical applications”, IEEE Transactions on neural Systems and rehabilitation engineering, Vol. 23, Nol, January 2015.

[0271] During the trials, the user controlled a virtual environment while positioned in front of an avatar providing visual information to the patient. The avatar was a mirror image of the user. The requested task was indicated on the avatar by an orange circle placed at the level of the corresponding movement state. The probability of predicting each task was indicated on the avatar in the form of orange rings whose diameter depended on the probability of the decoded states. During the supervised trials, a green ring indicated that the highest probability was consistent with the task imagined by the user. The avatar had 5 possible states, in addition to the resting state, the following movements: - right-hand grip; - left-hand grip; - right elbow flexion - flexion of the left elbow.

[0272] The user underwent a direct motor imagery process, in which they had to imagine performing one of these movements and visualize the avatar performing it on the screen. Two sessions were conducted, lasting 32 minutes and 53 minutes respectively, over a period of 2 days.

[0273] During each session, neural signals were received from 64 electrodes, with time-frequency analysis performed at epochs of 1 second duration, two successive epochs being offset by 100 ms, resulting in an overlap rate of 90%. The time-frequency analysis was implemented using the Morlet wavelet transform, with 15 center frequencies spaced 10 Hz apart between 10 Hz and 150 Hz.

[0274] During the first session, supervised pre-learning of the predictive control model was implemented, taking into account 2 or 3 instructions for each state, as described in relation to block A. The advantage of pre-training the predictive command model is to obtain, during the implementation of online unsupervised learning (block C), a reasonable ratio of correct to incorrect responses. The pre-training is short enough to allow for an assessment of the unsupervised learning of the predictive command model. The objective of pre-training is therefore to promote convergence of the unsupervised learning. This involves obtaining a reasonable ratio of correct to incorrect responses. Pre-training thus enables faster learning of the satisfaction state decoder thanks to a better distribution of the satisfaction state subclasses. Without pre-training, the distribution of the satisfaction state subclasses would be heavily biased towards incorrect responses (i.e.of dissatisfaction) and therefore the satisfaction state decoder would take much longer to converge to a viable solution in terms of performance. Thus, the advantage of pre-training the predictive control model is, on the other hand, to accelerate the convergence of the online unsupervised learning of the predictive control model.

[0275] Following pre-training, training of the user satisfaction state decoder was implemented. The user had 64 ECoG electrodes placed on their sensorimotor cortex. The decoder training was implemented using lower and upper fractions equal to 10% and 90%, respectively.

[0276] We then carried out unsupervised updates of the predictive control model, as described in connection with block C. The states were indicated to the user, in order to measure decoding performance, but they were not used as labels for each epoch.

[0277] Figures 4A and 4B represent the chronology of the two sessions: implementation of each block over time (x-axis). Figures 4A and 4B indicate the blocks implemented over time during each session. The predictive control model and the satisfaction decoder learned during the first session were used during the second session.

[0278] Figures 5A to 5F show the evolution of the performance of unsupervised self-adaptive learning. The learning process was broken down into different training blocks, each training block corresponding to an update of the predictive control model, i.e., 15 seconds of learning. Each training block was assigned a chronological time index, which corresponds to the x-axis.

[0279] Learning performance was quantified by calculating two indicators: - overall precision, or "balanced accuracy", defined according to the ratio TP TV TP+FN 1 TN+FP 2

[0280] where TP, TN, FP and FN denote respectively the number of true positives, true negatives, false positives, false negatives. The maximum overall accuracy score is equal to 1. - a score, designated fscore, defined according to the ratio____LE____ TP+^^

[0281] Figure 5A shows the evolution of the overall accuracy (balanced accuracy). Figures 5B to 5F show the evolution of the fscore for each state: rest (Idle), left elbow flexion (LE), left hand grasp (LH), right elbow flexion (RE), right hand grasp (RH). Each figure shows the performance obtained: - in a supervised manner (Symbol °), then not being updated afterwards: blocks A and A&B; - in an unsupervised manner (Symbol *) (blocks C only), after pre-learning (blocks A and A&B).

[0282] On each of these figures, a so-called chance level has also been represented by a dotted line, determined by taking into account a performance level when the output of the decoder is random.

[0283] Figure 5A illustrates the gain provided by unsupervised learning Compared to supervised learning: unsupervised updating of the predictive control model leads to improved performance. Figures 5B to 5F illustrate the gain provided by unsupervised learning compared to supervised learning for 3 of the 5 states, namely right elbow flexion (RE: see Figure 5E), right hand grasping (RH - see Figure 5F), and left elbow flexion (LE: see Figure 5C). The LE and RE tasks underwent intentionally limited initial training to allow for the assessment of learning improvements in an unsupervised manner.

[0284] Figures 6A to 6F show the evolution of the indicators respectively discussed in relation to Figures 5A to 5F, between session 1 and session 2, as described in relation to Figures 4A and 4B. In each figure, the indicators obtained by supervised learning (blocks A and A&B) and by unsupervised learning (blocks C) are represented.

[0285] The invention allows for online, unsupervised learning of a predictive control model, and can be implemented for any BCI type system, including devices in which decoding is transmitted to the nerves of the spine or to the muscles.< / y>

Claims

1. Demands Method for learning a direct neural interface, the direct neural interface comprising sensors (21.. .211, 5) previously arranged around a user's brain and configured to detect electrophysiological signals representative of the user's neural activity, the interface being configured to: - control an actuator (6), by implementing a predictive control model, the predictive control model being configured to generate a control signal for the actuator from detected electrophysiological signals; - estimate a user satisfaction state by implementing a decoding model, the decoding model being configured to estimate the user satisfaction state from detected electrophysiological signals; The process involves the following steps: a) choice of a task (A) to be performed, chosen from a predetermined list of tasks (1... k... K); b) instruction to the user to imagine an execution of the task chosen in step a) and following the instruction, using the processing unit (3): • acquisition of motor electrophysiological signals, and formation of an observation tensor (Xn) from characteristics of the electrophysiological signals; • application of the predictive control model (F) to the observation tensor, to generate a control signal (Y) to drive the actuator, the control signal being representative of a predicted task; c) reiteration of steps a) and b) during several time epochs (n), to each epoch being assigned a task chosen during step a) and a task predicted during step b); d) selection of epochs in which the task predicted in step b) is identical to the tasks predicted in step b) of a minimum number of previous successive epochs, the epochs thus selected forming a sequence(v); e) for each epoch selected in step d), assignment of a label (Yi\Rn) representing a comparison of the task predicted in step b), with the task chosen in step a), the label being chosen from several possible values; f) formation of a label vector ( Y^rv) from the labels assigned during step e); g) formation of a learning tensor (Xv) from the observation tensors formed for each epoch selected in step d); h) update of the decoding model by regression between the label vector (Y nr y) and the learning tensor (xv); the process being characterized in that step h) comprises: - definition of a weighting criterion for each selected epoch (n); - assignment of a weight (wn) to each selected epoch (n), the weight being defined according to the weighting criterion, according to which two different epochs, of the sequence (v), for which the weighting criterion is different, are assigned two different weights; and in that the formation of the decoding model is carried out according to the weight respectively assigned to each selected epoch.

2. A method according to claim 1, wherein the weight assigned at a time depends on the task selected during said time.

3. A method according to claim 2, wherein step h) comprises: - hi) subdivision of each task (i), respectively associated with each selected epoch, into several subclasses (;), corresponding respectively to each possible value of the label (YNRn) following step e), such that the subclass assigned to each epoch corresponds to the value taken by the label for the task (k) chosen during step a) of said epoch; - hii) assignment of a weight ( to each subclass (7), the weight being defined according to the weighting criterion; - hiii) assignment of the weight (^n) to each epoch (n), the weight of each epoch corresponding to the weight (wp assigned, during substep hii), to the subclass assigned to said epoch during substep hi).

4. The method according to claim 3, wherein: - steps a) to d) are implemented during several successive sequences; - steps e) to h) are implemented for each sequence; - in substep hii), the weighting criterion is a frequency of occurrence of each subclass, the weight of each epoch is higher the lower the number of occurrences of the subclass, following the successive sequences carried out.

5. A method according to claim 4 comprising, after each new sequence (r), an update of a total number of weighted occurrences for each subclass j, the update comprising, for each subclass (7): - determination of a number of occurrences j in the new sequence (v); - weighting of the number of occurrences, during the new sequence, by the weight ) respectively assigned to subclass in the new sequence; - summation of the weighted number of occurrences of the subclass, for the new sequence, to the total weighted number for each subclass J resulting from the previous sequence J' the latter being multiplied by a forgetting factor (A).

6. A method according to any one of the preceding claims, wherein the decoding model is defined by multivariate regression, comprising a calculation of a cross covariance tensor between the learning tensor (XF) and the label vector (Ynrv), the cross covariance tensor of each sequence being established from a product of: - the learning tensor; - the label vector; - the weights (w^) assigned to each epoch.

7. A method according to claim 6, wherein - steps a) to d) are repeated so as to form several successive sequences, each sequence being a chronological rank (v); - steps e) to h) are implemented for each sequence; - during step h), the decoding model is established from two consecutive sequences, from a sum of the cross covariance tensor established for the higher rank sequence (v) and the cross covariance tensor established for the lower rank sequence (yl) multiplied by a forgetting factor (A).

8. A method according to any one of claims 6 or 7, wherein: - the learning tensor takes the form of a matrix, one dimension of which is the number of epochs (M') per sequence; - in each step h), relative to each sequence, the weights (w^) form a diagonal matrix (diag(W) each term of the diagonal matrix corresponding to the weight (w) assigned to the epoch (n) respectively executed during said sequence.

9. A method according to any one of the preceding claims, further comprising: - j-1) formation of an auxiliary observation tensor (X^) from the electrophysiological signals detected during each epoch selected in step d); - j-2) application of a decoding model to the auxiliary observation tensor so as to estimate a label \ for each epoch; - j-3) weighting of the value of the estimated label for each epoch, by the weight (wn) assigned to each epoch during step h); - j-4) formation of a histogram of the weighted values ​​of each estimated label; - j-5) calculation of a lower fractile and an upper fractile from the histogram;- j-vi) association of a lower threshold (Qinf) and an upper threshold (QSllp) respectively from the lower fractile and the upper fractile, so that an estimated label whose value is lower or higher than the lower threshold or the upper threshold respectively is considered as a label having an error value or a correct value; steps ji) to j-vi) being implemented by the processing unit (3).;

10. A method according to claim 9, wherein for each epoch selected in step d), the observation tensor (X^) and the auxiliary observation tensor (XNRn) are identical.

11. A method for learning a direct neural interface, the direct neural interface comprising sensors (2i...2n, 5) previously arranged around a user's brain and configured to detect electrophysiological signals representative of the user's neural activity, the interface being configured to: - control an actuator (6), by implementing a predictive control model, the predictive control model being configured to generate a control signal for the actuator from detected electrophysiological signals; - estimating a user satisfaction state by implementing a decoding model, the decoding model being configured to estimate the user satisfaction state from detected electrophysiological signals, the decoding model being established from a method according to any one of claims 1 to 10; the process comprising: - i) selection, by the user, of a mental task (k) to perform, chosen from a predetermined list of tasks - ii) execution, by the user, of the task chosen in step i) and, during execution, acquisition of electrophysiological signals from the various sensors; - iii) during the execution of the chosen task, implementation of the predictive control model, so as to generate a control signal (y); - v) following the generation of the control signal, estimation of a label corresponding to a state of satisfaction of the user; - vi) repetition of steps i) to v) during a predetermined number of time epochs (n), said epochs forming a sequence (u); - vii) selection of eras based on the estimated user satisfaction level at each step v); - viii) formation of a learning tensor (Xu) from the electrophysiological signals detected during the epochs selected in step vii) and of a control tensor (Ku) from the control signals generated during the epochs selected in step vii); - ix) update of the predictive control model as a function of the learning tensor and the control tensor resulting from vii), for the sequence (u); steps iii) to ix) being implemented by the processing unit from detected electrophysiological signals; the process being characterized in that step ix) comprises:

12.

13.

14. - definition of a weighting criterion for each period selected in step vii); - assignment of a weight (wn) to each epoch, the weight being defined according to the weighting criterion for said epoch, according to which two different epochs, for which the weighting criterion is different, are assigned two different weights; the process being such that the formation of the predictive control model is carried out according to the weight respectively assigned to each epoch. Method according to claim 11, wherein the weight assigned at a time depends on the task (k) chosen during said time. A method according to any one of claims 10 or 11, wherein: - steps i) to ix) are implemented during several successive sequences; - the weighting criterion is a frequency of occurrence of each task, the weight of each period is higher the lower the number of occurrences of the task, following successive sequences carried out. A method according to claim 13 comprising, after each new sequence (u), an update of a total number of weighted occurrences for each task 'a m'sc to date comprising, for each task(k); - determining a number of occurrences in the new sequence (u); - weighting of the number of occurrences, during the new sequence, by the weight (Wu,k) respectively assigned to the task in the new sequence; - summation of the weighted number of occurrences of the task, for the new sequence, to the total weighted number for each task J resulting from the lower rank sequence J, the latter being multiplied by a forgetting factor (2).

15. A method according to any one of claims 11 or 12, wherein the weighting criterion is a learning performance, the method comprising: - determining a learning performance indicator for each task following each epoch; - determining the weight of each task according to the learning performance criterion of the task.

16. A method according to any one of claims 11 or 12, wherein the weighting criterion is a quality of the signals collected at each sequence, the method comprising: - determining a quality criterion of the signals collected at each sequence; - determining the weight of each task as a function of the signal quality criterion.

17. A method according to any one of claims 11 to 16, wherein the predictive model is implemented by multivariate regression, comprising a calculation of a cross covariance tensor between the learning tensor and the control tensor, the cross covariance tensor of each sequence is established from a product of: - the learning tensor; - the control tensor; - the weights assigned to each epoch.

18. A method according to any one of claims 11 to 17, wherein at step vii), the times for which the level of user satisfaction is between a lower threshold and an upper threshold are rejected.

19. Direct neural interface, the direct neural interface comprising sensors (2i...2n, 5) pre-arranged around a user's brain and configured to detect electrophysiological signals representative of the user's neural activity, the interface being configured to:

20. - control an actuator (6), by implementing a predictive control model, the predictive model being configured to generate a control signal for the actuator from detected electrophysiological signals; - estimate a user satisfaction state by implementing a decoding model, the decoding model being configured to estimate the user satisfaction state from detected electrophysiological signals; the interface comprising a processing unit (3), configured to acquire electrophysiological signals during each step b) of a process according to any one of claims 1 to 10, and to carry out steps c) to h) of said process. Direct neural interface, the direct neural interface comprising sensors (2i...2n, 5) pre-positioned around a user's brain and configured to detect electrophysiological signals representative of the user's neural activity, the interface being configured to: - control an actuator (6), by implementing a predictive model, the predictive model being configured to generate an actuator control signal from detected electrophysiological signals; - estimate a user satisfaction state by implementing a decoding model, the decoding model being configured to estimate the user satisfaction state from detected electrophysiological signals; the interface comprising a processing unit, configured to acquire electrophysiological signals during each step ii) of a process according to any one of claims 11 to 18, and to carry out steps iii) to ix) of said process.