Sabira Sabanovic

Thibaut Devolder

Joo- Kim

Sohini Manna

Jérôme Larroque

Arnaud Bournel

Brice Davier

Dafiné Ravelosona

Eric Cassan

Ivan Saychenko

Jérôme Saint-Martin

Philippe Dollfus

Marie-Pierre Caron

Laurence Stephen

Sophie Bouchoule

Jacob Torrejon

Steven Lequeux

Daniele Pinna

Mathieu Riou

Philippe Talatchian

Miguel Romera

Abreu Flavio

Joao Araujo

Sören Sampaio

Boyn

A Fukushima

K Yakushiji

H Kubota

S Yuas

Fabien Alibart

Selina La Barbera

Massimiliano Omid Kavehei

Di Ventra

Manan Suri

Pierre Bessière

Jacques Droulez

Emmanuel Mazer

Sandip Tiwari

Julien Martel

Giacomo Indiveri

Tobi Delbruck

Gabriela Michel

Rodney Douglas

Sergio Soli- Nas

Saray Soldado

Christian Pehle

Alex Rast

Sergio Martin

Del Campo

Fredrik Sandin

Vincent Lorrain Thanks

Crafty Thanks

Nadim Kobeissi

Denis Crété

Many people contributed to the success of this work, and deserve to be acknowledged for their direct or indirect contributions.

First and foremost, I would like to thank my parents Lilijana and Muhamed Vodenicarevic, who fled a country at war with a one year-old baby to start a new life from scratch in France.

You left everything behind for me, and despite the difficult context, you managed to give me the taste for science, and stay the best people and the best parents I know, and for all of that, I am proud of being your son. I am also infinitely grateful to

Introduction

"Constraint inspires creativity."

Biz STONE " T RADITIONAL computing paradigms are currently reaching fundamental limits.

Alternative computing approaches exploiting the rich dynamics of coupled oscillators could provide a solution to this problem. "

INTRODUCTION

F ROM face and speech recognition, movie recommendations and text translation to au- tonomous vehicles, targeted advertising and fraud detection, there is a colossal demand for human-like "artificial intelligence" in this era of massive data processing.

Personal or corporate computers, hand-held devices and even everyday objects and appliances are increasingly required to go beyond logic and arithmetic operations that represent the realm of traditional computing, and to perform cognitive tasks in which humans usually excel.

Recent breakthroughs in machine learning algorithms have opened a wide range of applications that were long thought to be out of reach for computers. Image recognition algorithms now outperform humans in several situations [START_REF] He | Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification[END_REF], and in 2016 a computer won against a human grandmaster at the strategic Go game [START_REF] Silver | Mastering the game of Go with deep neural networks and tree search[END_REF].

Computer architectures and underlying complementary metal-oxide semiconductor (CMOS) transistor technologies have been optimized for decades to perform billions of successive logic and arithmetic operations per second with high precision and without error. At the architectural level, computers use separate units for memory and computation, which induces a communication overhead called the von Neumann bottleneck.

Most cognitive algorithms, however, have fundamentally different requirements. They function optimally in a massively parallel and distributed way, and are tolerant to noise and errors, which makes traditional computers ill suited for such algorithms. Efforts are being made to increase parallelism in computers with the advent of thousand-core graphics processing units (GPU), to gain efficiency by reducing floating point precision, and to accelerate certain operations used by cognitive algorithms using specialized hardware such as tensor processing units (TPU). Despite those improvements, supercomputers running machine learning algorithms may require kilowatts (≈ 600 kW for the Go game) or more to perform tasks that the human brain executes with 20 watts [START_REF] Hasler | Special report : Can we copy the brain? -A road map for the artificial brain[END_REF] using unreliable neurons arranged in a parallel and distributed topology that fuses computing and memory.

INTRODUCTION 3

of oscillator-based computing chips that could perform cognitive tasks efficiently by exploiting the rich physics of coupled nano-oscillators.

However, proposed oscillator-based computing systems are not yet competitive with traditional CMOS due to the limitations of their architectures, the intrinsic constraints of nanooscillator technologies, and lack of powerful algorithms to run them in real-life contexts.

T HIS thesis proposes and investigates new oscillator-based computing architectures com- patible with current nano-oscillator technologies, and provides specially designed machine learning algorithms allowing them to process real-life cognitive tasks efficiently.

The first chapter of the thesis provides an intuition of oscillator dynamics, and their potential computational role in the human brain. The mathematical origin of the computational capabilities of coupled oscillators is then explained through simple models. Using these concepts, existing nano-oscillator technologies are detailed, together with their potential for oscillator-based computing. An overview of existing computing architectures using those oscillators is then provided.

The second chapter presents a promising oscillator-based pattern classification idea that was originally proposed in a purely mathematical context. A readout circuitry is designed and its robustness investigated in order to propose a full-featured oscillator-based pattern classification architecture. A thorough simulation analysis is then performed to investigate the compatibility of this architecture to the constraints of nano-technologies, as well as its scalability.

The chapter ends by presenting possible improvements and alternative versions of the architecture.

The third chapter presents a particular nano-oscillator technology: the spintronic vortex nano-oscillator. It establishes a model of the device compatible with circuit simulation tools, and uses it to show the compatibility of the device with the requirements of the proposed oscillator-based classification architecture. A circuit coupling multiple oscillators to implement the oscillator-based classifier of Chapter 2 is then designed. A mathematical description of the system, together with circuit simulations are used to investigate the compatibility of its behavior to the one described in the case of generic oscillators in the second chapter.

The fourth chapter investigates learning algorithms that can be applied to the oscillatorbased classifier in order to train it to solve real-life classification tasks. After introducing machine learning principles and terminology, the theory of the oscillator-based classifier architecture is translated into the framework of machine learning. A novel learning algorithm tailored to this architecture is proposed, and its operation is tested on typical machine learning tasks.

Modifications of the architecture are then proposed to increase its computational power and their effect is investigated on different classification tasks. Algorithms for an alternative version of the architecture are also proposed and tested.

The fifth and last chapter focuses on a radically different approach. A true hardware random bitstream generator based on purely stochastic nano-oscillators is proposed and investi-INTRODUCTION gated experimentally. The quality of the resulting bitstream is evaluated to confirm the validity of the approach, and the effects of different environmental perturbations are investigated. The generated random bits are then used in the context of probabilistic computing to feed a simulated architecture performing low-power e-mail classification as spam or not spam.

Chapter 1

The computational power of oscillations "If you have pendulum clocks on the wall and start them all at different times, after a while the pendulums will all swing in synchronicity. The same thing happens with heart cells in a Petri dish: they start beating in rhythm even when they're not touching one another." Henry Louis MENCKEN " C OUPLED oscillations are ubiquitous in nature and follow complex synchro- nization dynamics. This Chapter explains how inspiration can be drawn from oscillations present in the brain in order to leverage modern nanoscale oscillators for efficient computing. "

T HIS CHAPTER defines the context of the thesis and its motivations. After introducing cou- pled oscillators and the complex synchronizations they exhibit, it presents existing nanooscillator technologies capable of producing these behaviors on chip, and reviews architectures leveraging their dynamics to achieve unconventional computing tasks.

Coupled oscillations and synchronization

In 2000, people walking at similar paces on the newly opened London's Millennium bridge caused vibrations that spontaneously synchronized their step, which further amplified the vibrations until the bridge started to sway [START_REF] Steven | Theoretical mechanics: Crowd synchrony on the Millennium Bridge[END_REF]. This phenomenon intuitively illustrates how oscillators (the humans walking) can synchronize when they interact (through the vibrations they induce on the bridge).

Such coupled oscillations and synchronizations are ubiquitous in the environment: clapping audiences spontaneously synchronize [START_REF] Néda | Self-organizing processes: The sound of many hands clapping[END_REF], circadian rhythms align to daylight cycles [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF], swarms of crickets end up chirping in unison [START_REF] Mirollo | Synchronization of Pulse-Coupled Biological Oscillators[END_REF], metronomes on the same table synchronize [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF], alternating current power grids stabilize by aligning their phases [START_REF] Motter | Spontaneous synchrony in power-grid networks[END_REF][START_REF] Li | Optimizing synchronization stability of the Kuramoto model in complex networks and power grids[END_REF]. Such phenomena are also observed at higher scales such as stock markets [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF] and ecosystems themselves [START_REF] Blasius | Complex dynamics and phase synchronization in spatially extended ecological systems[END_REF].

This section provides an intuitive introduction to coupled oscillations and synchronizations, as well as their potential role in the human brain.

Intuitive definition of coupled oscillators and synchronization

Resonators and auto-oscillators

All systems with a periodic or quasi-periodic behavior can be seen as generalized oscillators.

Their frequencies are defined as the number of periods per second, and their state is defined by an internal value called the phase. The way in which their oscillations are sustained separate them into two main categories: resonators and auto-oscillators.

In resonators, oscillation is induced and maintained by a periodic source of power acting on a system at a given frequency that does not depend on the state of the system [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF]. A simple example is a child on a swing being pushed by a blind parent, that is at a constant frequency and regardless of the position of the swing. The swing then exhibits sustained oscillations only when the frequency of the pushes is close to its resonant frequency, which is defined by the resonator parameters such as the length of the swing ropes. Because they amplify the oscillations of a periodic source around their resonant frequency, resonators are mainly used as amplifiers or filters. For example guitar bodies resonate to amplify the sound of the strings, while RLC filters can discard frequencies that are far from their resonance. However, they always require a modulated power source to oscillate.

On the contrary, auto-oscillators only require a constant power source but its effect de-

COUPLED OSCILLATIONS AND SYNCHRONIZATION 7

pends on the state of the oscillator, which allows sustained oscillations. The net effect of the power source is effectively modulated by the oscillator itself, and an isolated auto-oscillator exhibits self-sustained oscillation at its natural frequency which is defined by its parameters [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF]. A typical example is the battery-powered pendulum clock which triggers a magnetic push every time it reaches an extremal position. Other examples of auto-oscillators include direct current motors, menstrual cycles, neurons, or blinking fireflies [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF]. Note that an auto-oscillator can be built by coupling a resonator with a feedback system.

Oscillator coupling and synchronization

It is convenient to introduce the concepts of oscillator coupling and synchronization through the example of fireflies. Male individuals from most firefly species use periodic light signals (bioluminescent blinking) to signal their presence to females. It has been observed that the males from a given species quickly synchronize their signals and start blinking in unison to allow females of the same species to locate them more efficiently [START_REF] Moiseff | Firefly Synchrony: A Behavioral Strategy to Minimize Visual Clutter[END_REF]. Each blinking firefly can be modeled as an auto-oscillator as it has an internal self-sustained periodic clock advancing at its natural frequency and making the firefly blink at the end of each period. Fireflies from the same species have similar natural frequencies. As shown in Figure 1.1, a firefly can perceive the blinking of neighboring fireflies and every time it perceives a signal, it takes an action depending on the current state of its own clock. If it happens in the first half-period, it means that the firefly blinked before its neighbor, to which it responds by slightly nudging its clock back in time to reduce its advance. On the contrary, if a neighboring flash is detected during the second half-period, the clock is nudged forward in time to catch up and blink slightly sooner the next time [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF][START_REF] Buck | Mechanism of Rhythmic Synchronous Flashing of Fireflies[END_REF]. Through this mechanism, neighboring fireflies end up synchronizing until all the males of the species in the area blink in unison. This is a typical example of coupled oscillators that synchronize in frequency locking (they blink at the same frequency), and phase alignment (they blink at the same time). The amplitude by which firefly i nudges its clock when firefly j flashes corresponds to the coupling strength from oscillator j to oscillator i . Typically, the stronger the coupling strength, the more oscillators interact, and the more effectively they can synchronize. The coupling strength is a critical parameter as it determines the dynamics of an ensemble of coupled oscillators. For example, heart pacemaker cells need to pulsate in perfect synchrony to avoid fibrillation and are therefore strongly coupled, unlike some areas in the brain where excessive synchronization between neurons causes epilepsy [START_REF] Mirollo | Synchronization of Pulse-Coupled Biological Oscillators[END_REF]. the firefly to blink. When they perceive it, the neighboring fireflies on the right adjust their internal clocks: the top one is in advance so it nudges its clock back in time while the bottom one lags behind and nudges its clock forward. This brings them closer to synchrony with the firefly that blinked.

Another important concept in oscillator networks is natural frequency mismatch. When two fireflies have clocks running at different speeds, they behave like auto-oscillators with different natural frequencies. The difference between their natural frequencies is called the natural frequency mismatch. At low mismatch, synchronization is harder but the two oscillators can still synchronize by locking at a common frequency. However, synchronization becomes impossible above a threshold mismatch value. In the case of fireflies, this threshold has evolved so that males of the same species can synchronize despite small variations in their clock speeds, but Figure 1.2 shows that different species have very distinct natural frequencies, thus leveraging this property to minimize interference. Reproduced from [START_REF] Spencer | North American Fireflies of the Genus Photuris[END_REF]. Even though the firefly example provides the basic intuition behind coupled oscillators, it represents a simple case. Networks of oscillators coupled in more complex topologies have been shown to exhibit advanced synchronization behaviors, chaos and multi-scale oscillation states [START_REF] Maistrenko | Desynchronization and Chaos in the Kuramoto Model[END_REF][START_REF] Flovik | Describing synchronization and topological excitations in arrays of magnetic spin torque oscillators through the Kuramoto model[END_REF]. Many of these behaviors have also been observed in the human brain, which suggests that the brain could be using these complex dynamics for functional purposes.

COUPLED OSCILLATIONS AND SYNCHRONIZATION

Oscillations in the brain

From single neuron fluctuations to whole brain rhythmic signals, oscillations have been observed in the brain at multiple scales and linked to its activity.

Neurons and synapses

Neurons are living cells thought to be the main information processing units of the brain.

The human brain contains a network of about 100 billion highly interconnected neurons [START_REF] Frederico | Equal numbers of neuronal and nonneuronal cells make the human brain an isometrically scaled-up primate brain[END_REF],

which integrate, transform and transmit electrochemical signals from multiple neurons or sensory organs, towards multiple other neurons or motor organs. This neural network is highly recurrent and exhibits diverse connectivity topologies at multiple scales. Neurons are connected to each other through nano-scale electro-chemical channels called synapses through which information typically travels unidirectionally, from the pre-synaptic neuron to the post-synaptic neuron.

Figure 1.3 provides a simple high level schematic of a neuron and shows its three main functional parts: the synapses, the dendrites, and the axon. Dendrites are tree-shaped ramifications of the cell body that receive information from other neurons through synapses and convey it to the cell. The axon is a single long projection of the cell that transmits signals from the cell body to post-synaptic neurons, and therefore acts as an outbound information channel.

Figure 1.3: Schematic centered on a neuron connected to two other (cropped) neurons. The axon visible on the left can transmit an action potential to the neuron in the middle through a synaptic connection. This event is then channeled by the dendrites of the neuron in the center and integrated in its soma, along with other events received from other synapses. This integration can induce an action potential that is then transmitted by the axon towards the dendrites of the neuron on the right.

More precisely, the neuron is an excitable cell that maintains a gradient of ionic concentrations across its outer membrane, and therefore a voltage called membrane potential. When a limited voltage perturbation occurs, the resting state potential is progressively restored by ion pumps. However, when a sufficiently important positive voltage perturbation (depolarization) occurs, an electrochemical pulse called an action potential is generated, quickly travels CHAPTER 1: THE COMPUTATIONAL POWER OF OSCILLATIONS through the axon, and activates the synapses at its extremity. This emission of an action potential is called firing or spiking. As they are connected to the dendrites of post-synaptic neurons, those activated synapses then perturb the voltages of these neurons in turn. If the combined depolarization induced by all its pre-synaptic neurons is sufficient, a post-synaptic neuron fires as well. Once a neuron has fired, it enters a depletion period called the refractory period and during which it is unable to fire. After the refractory period, the neuron returns to its resting state [START_REF] Trappenberg | Fundamentals of Computational Neuroscience[END_REF].

Synapses can be excitatory and contribute to post-synaptic neuron firing, or inhibitory and prevent the post-synaptic neuron from firing. The amplitude of the perturbation they induce is also an important factor as different synapses have different weights in the integration process of post-synaptic neurons. The total effect of an activated synapse on its post-synaptic neuron varies from synapse to synapse, and can also depend on brain-scale hormonal signals or on the types and states of pre and post-synaptic neurons [START_REF] Trappenberg | Fundamentals of Computational Neuroscience[END_REF][START_REF] Skaggs | Theta phase precession in hippocampal neuronal populations and the compression of temporal sequences[END_REF]. Furthermore, the properties of synapses and neurons can change on longer time scales as part of the learning capabilities of the brain [START_REF] Trappenberg | Fundamentals of Computational Neuroscience[END_REF][START_REF] Caporale | Spike Timing-Dependent Plasticity: A Hebbian Learning Rule[END_REF].

The interplay of those excitatory and inhibitory phenomena in complex and recurrent neural networks gives rise to oscillations at multiple scales that could be a means of information processing.

Neural oscillations

Periodically firing neurons are common in human and animal nervous systems, and all neurons can be seen as auto-oscillators as they fire periodically when subject to a constant stimulus. However, certain neurons do not require external stimulation to fire periodically. Ensembles of interacting neurons can also show auto-oscillatory group behavior at a higher scale.

Neurons of a particular class, called endogenous oscillators, spontaneously fire periodically due to fluctuations of their own membrane potentials, and continue to oscillate when isolated from other neurons. These neurons behave like auto-oscillators, and their internal clocks can be accelerated or slowed down by other neurons, thus allowing synchronization [START_REF] Pinsker | Aplysia bursting neurons as endogenous oscillators. I. Phase-response curves for pulsed inhibitory synaptic input[END_REF][START_REF] Daniel | Endogenous burst capability in a neuron of the gastric mill pattern generator of the spiny lobster Panulirus interruptus[END_REF][START_REF] Bucher | Central Pattern Generators[END_REF].

Figure 1.4: Schematic of a half-center oscillator composed of two coupled neurons firing alternatively, and the time traces of their membrane voltages. Adapted from [START_REF] Marder | Central pattern generators and the control of rhythmic movements[END_REF].

In other cases, the interaction between multiple neurons gives rise to higher scale autooscillatory behaviors. A well-studied example is the half-center oscillator, a simple network of

COUPLED OSCILLATIONS AND SYNCHRONIZATION 11

two coupled neurons commonly found in the nervous systems of animals [START_REF] Doloc | A database of computational models of a half-center oscillator for analyzing how neuronal parameters influence network activity[END_REF]. Figure 1.4 shows a half-center oscillator composed of neurons A and B. The effective interactions between the two neurons are both excitatory and inhibitory. When neuron A fires, it inhibits neuron B, preventing it from firing. However, this incoming spike also triggers a slow depolarization process in neuron B, eventually leading to neuron B firing. The same process then happens to neuron A. The membrane voltages of the two neurons plotted in Figure 1. [START_REF] Mark | The cloud begins with coal: Big data, big networks, big infrastructure, and big power[END_REF] show the periodic and alternating behavior of the two neurons. Half-center oscillators behave like auto-oscillators, and in the case when external inhibitory or excitatory signals are applied to their neurons, their frequencies decrease or increase respectively, which allows coupled half-center oscillators to interact and synchronize [START_REF] Marder | Central pattern generators and the control of rhythmic movements[END_REF][START_REF] Schlichter | Phase response properties of an idealized half-center oscillator[END_REF].

At higher scales, oscillations involving large numbers of neurons can also be studied by measuring mean electric or magnetic fields around given areas of the brain (electroencephalography/EEG, magnetoencephalography/MEG) or by detecting increased blood supply resulting from local neural activity (functional magnetic resonance imaging, positron emission tomography, near-infrared spectroscopy). These techniques allowed the observation of both local oscillations and disparate groups of neurons oscillating in synchrony throughout the brain [START_REF] Michael | The human brain is intrinsically organized into dynamic, anticorrelated functional networks[END_REF].

Figure 1.5 presents oscillations measured by electroencephalography (EEG) by detecting large scale oscillations of the average electric potential of entire areas of the brain. The observed oscillations can be used to detect the awareness state, sleep cycles, diagnose epilepsy and brain damage [START_REF] Henry | Electroencephalography: Basic Principles, Clinical Applications, and Related Fields[END_REF], or even control robots by thought [START_REF] Millan | Noninvasive brain-actuated control of a mobile robot by human EEG[END_REF]. This suggests that oscillatory neural activity is tightly linked to the function of the brain.

One example of a well studied neural oscillator is the circadian clock, which allows humans and other mammals to keep track of the time of day. The circadian clock is an ensemble of about 20,000 neurons of which many fire in synchrony and generate a 24-hour rhythm. This network behaves as an auto-oscillator that actively synchronizes to day-night cycles [START_REF] Mohawk | CENTRAL AND PERIPH-ERAL CIRCADIAN CLOCKS IN MAMMALS[END_REF]. Other important examples of pace keeping auto-oscillators observed in the nervous system of most vertebrates are central pattern generators. They consist of an ensemble of neurons, often including endogenous and half-center oscillators, that oscillate at a tunable natural frequency to coordinate rhythmic motor actions, including for example swimming and walking. Their operation involves highly diverse and tunable synchronization capabilities [START_REF] Bucher | Central Pattern Generators[END_REF].

Oscillatory behaviors are also associated to advanced cognitive activity and data processing. For example, gamma oscillations, which are 30 -100 Hz neural oscillations observed in large areas of the brain, were linked to attention, memory and motor mechanisms [START_REF] Jensen | Human gamma-frequency oscillations associated with attention and memory[END_REF][START_REF] Wolfgang | Coherence of gamma-band EEG activity as a basis for associative learning[END_REF][START_REF] Wang | Neurophysiological and computational principles of cortical rhythms in cognition[END_REF].

These observations have motivated an important research effort to understand the way information could be encoded and processed by neural oscillations.

Oscillator-based information processing in the brain

Contrary to the transistors used by computers, neurons are slow (hundreds of activations per second at most) but activate in a massively parallel way, show a high degree of variability as each neuron is substantially different from the others, and appear to be noisy and unreliable.

It was shown that synapses have a probabilistic nature and can fail to transmit a signal more than 90% of the time [START_REF] Allen | An evaluation of causes for unreliability of synaptic transmission[END_REF]. Moreover, significant random noise has been observed in neural activity [START_REF] Faisal | Noise in the nervous system[END_REF]. The way the brain robustly encodes and processes information is therefore fundamentally different from traditional computers, and coupled oscillations and synchronizations are often considered as one of the mechanisms used by the brain to achieve this purpose [START_REF] Trappenberg | Fundamentals of Computational Neuroscience[END_REF].

It is likely that multiple coding schemes are used by the nervous system. The simplest one is rate coding which consists in encoding an analog value as the spiking frequency of neurons. Early experiments have shown that the sensory neurons of a muscle produce spikes at a frequency that increases with the weight applied on the muscle [START_REF] Adrian | The impulses produced by sensory nerve-endings[END_REF]. This coding scheme is believed to be very common in sensory and motor neurons, and is also present in multiple other areas of the brain [START_REF] Trappenberg | Fundamentals of Computational Neuroscience[END_REF].

Information can also be encoded in the joint activity of an ensemble of neurons sensitive to different stimuli (population coding). It has been observed for example that the synchronization of different subsets of neurons encodes frequency-domain information when listening to spoken vowels [START_REF] Sachs | Auditory nerve representation of vowels in background noise[END_REF].

Temporal coding, on the other hand, appears to encode information in the timing of emitted spikes, and phase-of-fire coding in particular can represent information as the timing of a spike relative to a background oscillation. Activity consistent with this mechanism appears in the hippocampus of mice and is thought to be a means of encoding the distance to visually observed landmarks. It is known as the theta precession. A background neural theta oscillation (4 -8 Hz) is present in this area of the brain. As the mouse approaches the landmark, some of its neurons start to fire, and the closer it gets, the closer their spikes align with the background theta oscillation [START_REF] Skaggs | Theta phase precession in hippocampal neuronal populations and the compression of temporal sequences[END_REF][START_REF] Huxter | Independent rate and temporal coding in hippocampal pyramidal cells[END_REF].

UNDERSTANDING AUTO-OSCILLATOR SYSTEMS 13

Those neural coding schemes usually involve large populations of neurons which makes them statistically robust to individual neuron variability, noise and lack of reliability. Moreover, oscillators made of large synchronized ensembles of neurons are less subject to noise and behave in a more stable and deterministic way than single neurons [START_REF] Landsman | Noise robustness and spatially patterned synchronization of cortical oscillators[END_REF].

However, noise and probabilistic behaviors can also be seen as assets for efficient data processing in the brain [START_REF] Faisal | Noise in the nervous system[END_REF]. Studies have shown that synaptic stochasticity can improve information transmission [START_REF] Goldman | Enhancement of Information Transmission Efficiency by Synaptic Failures[END_REF], filter redundant information [START_REF] Goldman | Redundancy Reduction and Sustained Firing with Stochastic Depressing Synapses[END_REF], and that noise can induce or improve the synchronization of neural oscillations [START_REF] Ermentrout | Reliability, synchrony and noise[END_REF][START_REF] Zhou | Impact of neuronal heterogeneity on correlated colored noise-induced synchronization[END_REF][START_REF] Guo | Stochastic and coherence resonance in feed-forwardloop neuronal network motifs[END_REF][START_REF] Bressloff | Stochastic synchronization of neuronal populations with intrinsic and extrinsic noise[END_REF][START_REF] Gu | Noise Induces Oscillation and Synchronization of the Circadian Neurons[END_REF].

Coupled oscillations in the brain appear to be linked to data processing tasks, which suggests that the brain could be leveraging the complex dynamics of oscillator networks for computational purposes. This is a major source of inspiration for the design of neuro-inspired unconventional computing architectures but requires an understanding of oscillator theory, as well as oscillator network modeling and simulation techniques.

Understanding auto-oscillator systems

In 1665, Christiaan Huygens first recognized the phenomenon of oscillator synchronization [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF].

Since then, important theoretical and experimental research efforts have been deployed to understand and theorize oscillators and systems of coupled oscillators. As a result, various types of oscillators showing different behaviors have been identified, modeled and simulated.

Relaxation oscillators

Relaxation oscillators as defined by van der Pol [START_REF] Balth Van Der Pol Jun | Sc. LXXXVIII. On "relaxation-oscillations[END_REF] are a very common type of oscillator involving dynamics at two distinct time scales: each period contains intervals of slow (integration) and fast (firing) motion. Their oscillations typically do not resemble a smooth sine wave, but a sequence of pulses. A pedagogical example of a relaxation oscillator is the water tank presented in Fig. 1.6(a). The tap water fills the tank, progressively increasing its water level (integration).

When it reaches a threshold, the tank is emptied quickly (firing), and the cycle repeats. The water outflow follows a periodic spike pattern as shown in Fig. 1.6(b).

The firefly example in Section 1.1.1.2 is also a relaxation oscillator: the internal clock of each individual runs until a certain threshold that resets it and triggers a short light pulse, which gives rise to periodic flashes.

Relaxation oscillator models applied to neuroscience are called integrate-and-fire oscillator models. The auto-oscillator neurons mentioned in Section 1.1.2.2 are examples of integrateand-fire neural oscillators: their dynamics alternate between a slow voltage integration time and, after a threshold is reached, a sudden ( 2ms) action potential that resets the voltage, generating a periodic spike train in the process.

Relaxation oscillators have been used to model various phenomena such as geysers, ther- Adapted from [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF].

mostats [START_REF] Pippard | The Physics of Vibration[END_REF] or heartbeats [START_REF] Ginoux | Van der Pol and the history of relaxation oscillations: Toward the emergence of a concept[END_REF]. Because their dynamics span multiple time scales and can display discontinuities, their analysis and modeling can be impractical. Their behavior has therefore often been approximated by harmonic oscillator models otherwise used to describe sine-shaped oscillations [START_REF] Bhowmik | How well do oscillator models capture the behaviour of biological neurons?[END_REF]. The most widely used and generic harmonic oscillator model is the Kuramoto model.

Kuramoto oscillators and the intuition behind phase dynamics

The Kuramoto model [START_REF] Schimansky-Geier | Chemical Oscillations, Waves, and Turbulence[END_REF] is one of the most widely used and generic harmonic oscillator models, and is famous for admitting analytical solutions in certain cases (see details in Section 1.2.2.3).

It captures the two main properties of auto-oscillators: the natural frequency and inter-oscillator coupling. Despite its simplicity, it is able to predict advanced behaviors in complex networks of oscillators and was successfully used to describe a wide range of oscillators such as chemical reactions, firefly blinking, or earthquakes [START_REF] Steven | From Kuramoto to Crawford: exploring the onset of synchronization in populations of coupled oscillators[END_REF][START_REF] Michael | Arrays of coupled chemical oscillators[END_REF][START_REF] Vasudevan | Earthquake sequencing: chimera states with Kuramoto model dynamics on directed graphs[END_REF][START_REF] Acebrón | The Kuramoto model: A simple paradigm for synchronization phenomena[END_REF][START_REF] Dörfler | Synchronization in complex networks of phase oscillators: A survey[END_REF]. In particular, it is an important tool in neuroscience where it was used to model multiple neural oscillation phenomena including central pattern generators and circadian clocks [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF][START_REF] Bhowmik | How well do oscillator models capture the behaviour of biological neurons?[END_REF][START_REF] Cabral | Role of local network oscillations in resting-state functional connectivity[END_REF][START_REF] Cabral | Role of local network oscillations in resting-state functional connectivity[END_REF][START_REF] Cumin | Generalising the Kuramoto model for the study of neuronal synchronisation in the brain[END_REF][START_REF] Breakspear | Generative Models of Cortical Oscillations: Neurobiological Implications of the Kuramoto Model[END_REF][START_REF] Cabral | Exploring mechanisms of spontaneous functional connectivity in MEG: How delayed network interactions lead to structured amplitude envelopes of band-pass filtered oscillations[END_REF]. The Kuramoto model is therefore a valuable approach for modeling networks of oscillators in order to leverage their computational power.

Constructing the Kuramoto model

The Kuramoto model can be readily constructed from the basic intuition behind coupled autooscillators provided in Section 1.1.1. As a starting example, an auto-oscillator A can be seen as a clock with a needle continuously rotating anti-clockwise in a smooth fashion. The angle of the needle θ A (in radians) represents the phase of the oscillator. When nothing disturbs it, the

UNDERSTANDING AUTO-OSCILLATOR SYSTEMS

clock runs at a constant number of turns per unit time: its natural frequency f 0 A (in Hz), which is an intrinsic property of the oscillator. The evolution of its phase can then be written as:

θA 2π = f 0 A with θ A (t = 0) = θ 0 A , (1.1)
where θA is the time derivative of the phase of oscillator A, and therefore its angular frequency.

θ 0 A is the initial phase of the oscillator (the angle of its needle at t = 0). This is the Kuramoto model for one oscillator.

Note : Phase is free

Note that the phase increases linearly with time, eventually going beyond 2π and reaching arbitrarily large values. Even though θ = π and θ = π + 2π correspond to the same state of the system, resetting the phase at each period would involve a discontinuous jump in the value of θ, and hamper its smooth description as well as the proper definition of its time derivative θ. This implies that the phase of the oscillator effectively accumulates over time.

The next step in this construction is to take into account the coupling between two interacting oscillators A and B in order to capture their synchronization capabilities. As presented in the simple firefly example in Section 1.1.1.2, the clock B is expected to accelerate clock A when it lags behind B , and to slow it down when it is ahead of B . As the two clocks are periodic, deciding whether clock B lags behind or is ahead of clock A implies evaluating the sinus of the phase difference sin(θ B -θ A ). Figure 1.7 shows that if the phase difference lies in the halfperiod sin(θ B -θ A ) > 0, then A lags behind B and needs to accelerate (positive contribution to θA ), while if it lies in the other half-period sin(θ B -θ A ) < 0, then A is ahead of B and needs to slow down (negative contribution to θA ). These contributions bring sin(θ B -θ A ) closer to 0, in which case the two clocks show the same time. The same situation applies to the clock B , and the two oscillators can synchronize.

The equations can then be rewritten to include this coupling term which yields the twooscillator Kuramoto model:

   θA 2π = f 0 A + k A,B sin(θ B -θ A ) θB 2π = f 0 B + k B,A sin(θ A -θ B ) . (1.2)
k i , j (in Hz) is the coupling strength from oscillator j to oscillator i which quantifies the amplitude of the frequency boost that oscillator j can cause on oscillator i . The higher k A,B is, the more clock B influences clock A. f 0 A and f 0 B are the natural frequencies of oscillators A and B respectively: they are the frequencies at which they oscillate when they don't interact with each other (when k A,B = k B,A = 0). This approach generalizes to a network of N coupled oscillators, which implies N phase equations, one per oscillator. The phase equation for oscillator i then reads:

θi 2π = f 0 i + N j k i , j sin(θ j -θ i ) . (1.3)
In that case, k i , j is the N × N coupling matrix of the network, which defines the coupling strength from each oscillator j to each other oscillator i in the network. This model is the simplest form of the N-oscillator Kuramoto model and successfully describes the dynamics of many coupled auto-oscillators.

Synchronization of two Kuramoto oscillators

To provide a better understanding of the phase dynamics in Kuramoto networks, I have simulated the simple case of the two coupled Kuramoto oscillators shown in However, as in the case of fireflies (Section 1.1.1.2), the two oscillators can't reach a common frequency because their natural frequencies differ sensibly ( f 0 Af 0 B = 100MHz). In Figure 1.8(c), the natural frequency mismatch is lower:

f 0 A -f 0 B = 30MHz.
The instantaneous frequencies of the two oscillators appear to be more efficiently pulled together, as they shows a case with an even lower natural frequency mismatch f 0 Af 0 B = 15MHz. After a transient period (about 50ns), the frequencies of the two oscillators lock to a common frequency (107.5MHz). This is a typical example of synchronization with frequency locking.

This simple example illustrates that the behavior of the instantaneous frequencies of two coupled oscillators depends on their natural frequency mismatch: the closer the oscillators are to synchronization, the more their frequencies are attracted to each other on average. To properly visualize and quantify this phenomenon, the mean frequencies of the oscillators can be evaluated as functions of their natural frequency mismatch.

For this purpose, I have simulated the same system by varying the natural frequency of oscillator A while keeping f 0 B = 100MHz constant, and evaluated the mean instantaneous frequencies of the two oscillators. To achieve high precision, the simulation was run for T = 10s The simulation shows that when the natural frequency mismatch is high (for example f 0 A < 50MHz), the mean frequencies of the oscillators stay almost equal to their natural frequencies. This shows that even though the instantaneous frequencies fluctuate in time due to the coupling, the average influence of an oscillator on the frequency of the other is low when the mismatch is high.

As f 0

A gets closer to f 0 B , the mean frequencies get closer to each other (increasing entrainment) until f 0 A = 80MHz where the two oscillators synchronize. The synchronization region is centered around f 0 B and spans 20MHz. This can be understood through equations 1.2 where the frequency of oscillator A can be pulled down to f 0 Ak A,B = 190MHz at most and the frequency of oscillator B can go up to f 0 B + B,A = 110MHz, which can bring their frequencies closer to each other by k A,B + k B,A = 20MHz. This corresponds to the maximum natural frequency mismatch that allows them to reach a common frequency by interacting with each other and to synchronize.

These observations therefore provide two important intuitions on the dynamics of Kuramoto auto-oscillators that can be leveraged for computational purposes:

• the entrainment between two oscillators increases with their coupling strength but decreases with their natural frequency mismatch.

• two oscillators can synchronize when their total coupling strength is higher than their natural frequency mismatch.

UNDERSTANDING AUTO-OSCILLATOR SYSTEMS 19

Analytical predictions in Kuramoto networks

Since its first formulation [START_REF] Schimansky-Geier | Chemical Oscillations, Waves, and Turbulence[END_REF], the Kuramoto model has been an important research subject in mathematics. The theory of Kuramoto networks is now very elaborate and can provide important predictive tools to build powerful oscillator systems, but key aspects of even simple networks remain open questions.

An important observation is that the Kuramoto equations are fully scale invariant [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF] and are only sensitive to frequency or phase differences relatively to coupling strengths. This means that shifting all natural frequencies or all phases in a Kuramoto system by the same amount does not affect the dynamics. Moreover, multiplying both the natural frequencies and the couplings by the same factor also leads to a fully equivalent behavior. This scale and shift invariances therefore allow the Kuramoto model to be used consistently to describe different types of oscillators running at different speeds.

Networks of Kuramoto oscillators have also been shown to exhibit high sensitivity to initial conditions in certain cases, and even chaos [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF][START_REF] Maistrenko | Desynchronization and Chaos in the Kuramoto Model[END_REF]. Theoretical approaches provide ways to predict complex behaviors in networks of coupled oscillators, but those predictive capabilities heavily depend on the structure and size of the network.

On one side, the two-oscillator problem presented above is fully solved analytically: closed form expressions of the phases, average frequencies and synchronization ranges are available given the natural frequencies and coupling values [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF][START_REF] English | Experimental study of synchronization of coupled electrical self-oscillators and comparison to the Sakaguchi-Kuramoto model[END_REF]. Analytical predictions of the equilibrium points of the 3 and 4 oscillator Kuramoto models have also been published recently [START_REF] Xin | Analytical solutions of equilibrium points of the standard Kuramoto model: 3 and 4 oscillators[END_REF].

On the other side, the case of an infinite number of oscillators N → ∞ was also successfully studied. Kuramoto himself [START_REF] Schimansky-Geier | Chemical Oscillations, Waves, and Turbulence[END_REF] provided analytical expressions allowing him to fully solve the problem of a continuum of uniformly coupled oscillators with suitable distributions of natural frequencies. The critical coupling value that induces a phase transition into a fully synchronized state of such a network is also known but the stability of steady state solutions is still a subject of research [START_REF] Li | Optimizing synchronization stability of the Kuramoto model in complex networks and power grids[END_REF][START_REF] Steven | From Kuramoto to Crawford: exploring the onset of synchronization in populations of coupled oscillators[END_REF][START_REF] Acebrón | The Kuramoto model: A simple paradigm for synchronization phenomena[END_REF].

An important parameter that describes the synchronization state of a network with an infinite number of oscillators N → ∞ is the order parameter r defined by:

r e i ψ = 1 N j e i θ j , (1.4)
where ψ is the mean phase of the oscillators. The term r corresponds to the absolute value of the mean of the complex phases of the oscillators and quantifies the phase-coherence of the system. It converges to a stable value for an infinite number of oscillators and reaches its maximum r = 1 when the phases of all oscillators add up constructively, or its minimum r = 0 when their phases take balanced values in [0; 2π).

CHAPTER 1: THE COMPUTATIONAL POWER OF OSCILLATIONS

Despite these advances, the case of a finite 4 < N < ∞ number of oscillators, which is the situation relevant for this thesis, remains elusive. As Strogatz notes, "As of March 2000, there are no rigorous convergence results about the finite-N behavior of the Kuramoto model" [START_REF] Steven | From Kuramoto to Crawford: exploring the onset of synchronization in populations of coupled oscillators[END_REF]. This statement remains true today. Approximations have been provided to predict the oscillator phases in special cases such as full synchronization of all the oscillators in a network [START_REF] Wang | Approximate solution for frequency synchronization in a finite-size Kuramoto model[END_REF]. These approximations remain however impractical for applications.

One of the reasons of this lack of solutions is that the order parameter r behaves in a more complex way in the finite-N case. Strogratz [START_REF] Steven | From Kuramoto to Crawford: exploring the onset of synchronization in populations of coupled oscillators[END_REF] writes: "Whereas Kuramoto's approach had relied on the assumption that r was strictly constant, [. . . ] nothing like that could be strictly true for any finite N ." This suggests that more complex, and fluctuating synchronization states are present in the finite-N case, making it the regime with the richest dynamics.

It is also important to note that, as the order parameter arises from the mean activity (mean field) of a set of oscillators, it may be linked to neural oscillations in the brain, and more specifically to EEG/MEG signals. Cabral et al. [START_REF] Cabral | Exploring mechanisms of spontaneous functional connectivity in MEG: How delayed network interactions lead to structured amplitude envelopes of band-pass filtered oscillations[END_REF] note that in their model of neural oscillations "the synchrony degree of the system (estimated using the Kuramoto order parameter) is strongly correlated with the envelopes of 10.5-21.5Hz oscillations" corresponding to MEG signals.

As the theory of finite networks of Kuramoto oscillators does not provide enough predictive power or is impractical for most applications, numerical simulations have proven to be an important approach for the study of complex oscillator systems.

Simulating Kuramoto networks

A Kuramoto network is described by a set of nonlinear differential equations that can be readily integrated using standard numerical iterative methods.

Through their inherent flexibility and ease of use, numerical integration approaches have provided important insight into the rich behavior of arbitrary Kuramoto networks by revealing both expected and unforeseen complex phenomena. For example, simulation was used to analyze complex partially synchronized states in Kuramoto networks [START_REF] Steven | From Kuramoto to Crawford: exploring the onset of synchronization in populations of coupled oscillators[END_REF]. It has also been used

to study different topologies of oscillator network connectivity and to successfully reproduce complex behaviors observed in the brain [START_REF] Breakspear | Generative Models of Cortical Oscillations: Neurobiological Implications of the Kuramoto Model[END_REF] or in networks of nano-oscillators [START_REF] Flovik | Describing synchronization and topological excitations in arrays of magnetic spin torque oscillators through the Kuramoto model[END_REF].

Integration method

In this thesis, simulations are carried out using the popular fourth order Runge Kutta method as it provides high accuracy at reasonable computing times. The choice of the integration time step d t has important implications: too high values degrade the accuracy of the results while too low values considerably slow down the simulation without providing notable accuracy gains. In my simulations, I set the value of d t by reducing it until the simulation results stopped changing, then further divided its value by 10.

In summary, numerical results have shown that the behavior of Kuramoto oscillators is the most complex, rich and computationally promising in the case of finite-N weakly coupled oscillator networks allowing multiple subsets of synchronized and free-running oscillators. Such networks exhibit complex behaviors and elude analytical description despite the simplicity of the underlying model. Furthermore, the Kuramoto model can also be extended to capture a larger part of the dynamics present in physical oscillators such as noise and extra non-linearities.

Noise and stochasticity

Noise is inherent to all physical systems above absolute zero temperatures, and can have important effects on the dynamics of oscillators by randomly perturbing their phases. It must therefore be taken into account for the design of oscillator-based systems.

Experimentally, the noise present in an isolated auto-oscillator is typically quantified by the Full Width at Half Maximum (FWHM, also called linewidth) of its power spectrum as measured by a spectrum analyzer [START_REF] Tsunegi | High emission power and Q factor in spin torque vortex oscillator consisting of FeB free layer[END_REF][START_REF] Tiberkevich | Temperature dependence of nonlinear auto-oscillator linewidths: Application to spin-torque nano-oscillators[END_REF]. Theoretically, noise in a Kuramoto oscillator is usually introduced as a Brownian motion (random walk) of its phase resulting from white noise, and can be set up to match experimental FWHM values for realism.

Noise has also been shown to reduce the stability of synchronization between oscillators.

High levels of noise can even prevent it altogether. This is mainly due to the fact that Gaussian noise can agitate the phase of an oscillator to a point where it has to re-synchronize by skipping one period. These noise-induced "phase slips" occur more frequently for higher noise levels [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF].

SDE integration

When noise is present, the Kuramoto model becomes a system of stochastic differential equations (SDE). In that case, I used the Euler-Maruyama SDE integration method instead of fourth order Runge Kutta. The iterative update equations of the phases in the noisy Kuramoto model are then:

θ i ← θ i + 2π × f 0 i + j 2π × k i , j sin(θ j -θ i ) + 2π × FWHM d t × N (0, 1) × d t ,
where d t is the timestep and N (0, 1) a random number generator following a normal distribution with mean µ = 0 and variance σ 2 = 1.

Also note that the noisy two-oscillator Kuramoto model can be fully solved analytically and the expression of the mean frequencies of the two oscillators as continued fractions can be found in [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF] p.242. I used this expression to verify the stochastic simulations.

Despite its locally negative effect on synchronization, noise can also be an agent of selforganization. It has been shown that moderate noise helps stabilize global synchronization in certain Kuramoto network topologies showing multiple stationary states [START_REF] Kouhi Esfahani | Noiseinduced synchronization in small world networks of phase oscillators[END_REF], a phenomenon reminiscent of noise-induced synchronization of neural oscillations (Section 1.1.2.2).

When the noise amplitude is too high, oscillators behave in a purely stochastic way, which is out of the scope of the Kuramoto model. However, stochastic oscillators show promising computational capabilities and are the focus of Chapter 5.

Non-linear oscillators: the Landau-Stuart model

The Kuramoto oscillator is qualified as isochronous or linear as the state of the isolated oscillator is fully described by its phase θ and its frequency does not depend on the amplitude of the oscillations. The state of a Kuramoto oscillator can be seen as evolving along a circle (Fig- ure 1.11(a)), the radius of which is arbitrary and constant as it does not affect the dynamics.

This system owes its linearity to a proportional response to any applied perturbation.

On the contrary, the frequency of non-linear (or non-isochronous) oscillators depends on their amplitude. For example, the frequency of the heartbeat in mammals changes with heartbeat amplitude [START_REF] Vasil | Sensitivity to external signals and synchronization properties of a non-isochronous auto-oscillator with delayed feedback[END_REF]. Neurons in animal brains, the locomotion of fish and reptiles [START_REF] Willner | Neural Organization of the Locomotive Oscillator[END_REF], and certain nano-oscillators [START_REF] Locatelli | Vortexbased spin transfer oscillator compact model for IC design[END_REF] are also well described as non-linear oscillators.

The state of a non-linear oscillator typically converges to a stable oscillation orbit called the limit cycle along which it oscillates at the natural frequency f 0 , when isolated from any source of perturbations. The stable amplitude ρ 0 of the oscillations corresponds to the radius of this cycle. As shown in Figure 1.11(b), the non-linear oscillator responds to an amplitude perturbation by relaxing back to its limit cycle, altering the phase in the process. The equation that "describes the simplest nonlinear oscillator" as stated in [START_REF] Schimansky-Geier | Chemical Oscillations, Waves, and Turbulence[END_REF] is the Landau-Stuart equation [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF] which assumes a quadratic influence of the amplitude on the frequency.

Without coupling terms, the amplitude ρ and the phase θ of a Landau-Stuart oscillator follow:

ρ = γ(ρ 0 2 -ρ 2 )ρ θ = 2π f 0 + νγ(ρ 2 -ρ 0 2 ) , (1.5)
where γ is the damping coefficient for radius deviation that quantifies how fast the amplitude ρ is pulled back towards its stable value ρ 0 after a perturbation. ν is the dimensionless nonlinear frequency shift that defines the non-linearity: it quantifies how much the frequency shifts from the natural frequency f 0 due to a radius deviation. At ν = 0, the amplitude has no effect on the frequency and the oscillator behaves like a linear Kuramoto oscillator.

The Kuramoto model and its non-linear generalization, the Landau-Stuart model, are fun-

CHAPTER 1: THE COMPUTATIONAL POWER OF OSCILLATIONS

damental for the work in this thesis as they allow evaluating the behavior of arbitrary systems composed of linear or non-linear oscillators. In order to design a neuro-inspired oscillatorbased computing architecture, the oscillator model needs to be tailored to the chosen physical oscillator technology. The diverse zoology of potentially suitable physical oscillators is presented in the next section.

Available nano-oscillators

In this section, I review and summarize the main types of nanoscale auto-oscillators currently available and potentially usable in oscillator-based computing architectures.

Relaxation nano-oscillators based on physical or chemical state switching

This particular type of nano-oscillator typically consists of a pair of electrodes enclosing an oxide film, amorphous semiconductor or Mott insulator with an electrical resistance that depends on its physical or chemical state. This state is in turn affected by the voltage applied at the device terminals. Voltages above a high threshold V th trigger an abrupt transition to a high conduction state, resulting in a sudden drop of the device resistance. This behavior is called "threshold switching". This transition is reversible and the device resets to its higher resistance state after a short time when the applied voltage goes below a low threshold.

Such a threshold switching device can be connected to a capacitor in order to produce a relaxation auto-oscillator. To illustrate this approach, Figure 1.12 shows the results of Sharma et al. [START_REF] Sharma | Phase Coupling and Control of Oxide-based Oscillators for Neuromorphic Computing[END_REF] on tantalum oxide nano-oscillators: Figure 1.12(a) presents a circuit including a threshold switching device in parallel with a capacitor that behaves as an auto-oscillator, and Figure 1.12(b)

shows the time trace of the output voltage V out and current I out of the circuit. As the parasitic capacitor C paras. in parallel with the device is connected to the voltage source V S through a resistor R S , the voltage at the device terminals progressively increases. When the voltage reaches V th ≈ 6 V, the device suddenly becomes conductive (≈ 300 Ω), generating a current spike through R ch2 and a quick discharge of C paras. . The device stays conductive until the voltage is sufficiently low (≈ 2 V) to allow it to reset to a high resistance state (≈ 100 kΩ). The cycle then repeats, producing a self-sustained periodic train of voltage spikes at the terminals of R ch2 .

This circuit uses 700 × 700 nm 2 wide CMOS-compatible nano-devices and behaves as an auto-oscillator with a natural frequency tunable from 30 kHz to 300 MHz by adjusting the supply current using a MOSFET transistor. Sharma et al. [START_REF] Sharma | Phase Coupling and Control of Oxide-based Oscillators for Neuromorphic Computing[END_REF] have also experimentally demonstrated electrical coupling between two of these nano-oscillators both using direct electrical connections and capacitive coupling, successfully achieving synchronization. The authors argue such devices could be scaled down to 3 nm and reach gigahertz frequencies.

Unfortunately, data on the total power consumption of such oscillators is scarce (Pick- ett et al. [START_REF] Pickett | Sub-100 fJ and sub-nanosecond thermally driven threshold switching in niobium oxide crosspoint nanodevices[END_REF] show single switching with less than 100 fJ). Efficient coupling circuits involving more than two oscillators have yet to be designed, and due to their operation based on physical transitions, limited device lifetimes are expected.

Similarly, architectures implementing spiking units inspired by biological neurons were built using 100 × 100 nm 2 Nb 2 O 5 devices [START_REF] Pickett | A scalable neuristor built with Mott memristors[END_REF] or by lacunar spinel compounds [START_REF] Stoliar | A Leaky-Integrate-and-Fire Neuron Analog Realized with a Mott Insulator[END_REF].

These relaxation oscillators were modeled using custom compact models depending on the component but are also compatible with the the more general Van der Pol relaxation oscillator model [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF][START_REF] Beaumont | Current-induced electrical selfoscillations across out-of-plane threshold switches based on VO2 layers integrated in crossbars geometry[END_REF]. The synchronization dynamics of large populations of such oscillators can also be studied with the Kuramoto model [START_REF] Acebrón | The Kuramoto model: A simple paradigm for synchronization phenomena[END_REF].

With experimentally demonstrated wide frequency tuning, two-device coupling and synchronization capabilities, relaxation nano-oscillators based on intrinsic threshold switching are promising devices for the implementation of oscillator-based computing architectures [START_REF] Parihar | Computing with dynamical systems in the post-CMOS era[END_REF],

but suffer from lack of efficient multi-device coupling methods and shorter lifetimes. Using additional control transistors, it is possible to tune the natural frequency of a CMOS ring oscillator to build a voltage-controlled oscillator that can reach multi-gigahertz frequencies. Natural frequencies are tunable across wide ranges, for example from 13 Hz to 407 MHz [START_REF] Zhao | A wide tuning range voltage-controlled ring oscillator dedicated to ultrasound transmitter[END_REF] or from 100 MHz to 3.5 GHz [START_REF] Grozing | CMOS ring oscillator with quadrature outputs and 100 MHz to 3.5 GHz tuning range[END_REF]. The size of a single oscillator heavily depends on the number of gates, the control circuitry and the choice of CMOS technology. An example implementation in 0.18 µm CMOS requires 49 × 28 µm 2 [START_REF] Ghani | A 1.4ghz CMOS Low-Phase Noise Voltage-Controlled Ring Oscillator[END_REF]. Power requirements also vary heavily depending to the circuit and technology. However, low energy designs are available, and consume for example 6.75 µW at 124 MHz [START_REF] Goyal | Design of Ultra Low Power Voltage Controlled Ring Oscillator[END_REF]. Ring oscillators can be modeled as non-linear oscillators [START_REF] Elwakil | Nonlinear models of some ring oscillators[END_REF], and multiple ring oscillators can be coupled to achieve synchronization [START_REF] Ge | Nonlinear Analysis of Ring Oscillator and Cross-Coupled Oscillator Circuits[END_REF].

CMOS ring oscillators

All these features suggest that ring oscillators could be used for all-CMOS oscillator-based computing architectures, despite relatively high circuit area requirements.

Mechanical nano-oscillators

Nano-electromechanical systems (NEMS) are nano-scale systems containing moving (vibrating) mechanical parts. NEMS technology can be used to build nano-scale bridges, cantilevers or more complex structures that can mechanically oscillate in one or more dimensions. Their position, angle or deformation can both be measured and actuated through various techniques, the most common ones being electrostatic interaction and piezoelectric effects. NEMS can be co-integrated with CMOS and are already present in a wide range of commercial devices including inertial measurement units (accelerometers, gyroscopes), micro-mirror arrays for DLP video projectors or ink jet printer heads [START_REF] Walraven | Introduction to applications and industries for microelectromechanical systems (MEMS)[END_REF].

At first order, a typical NEMS cantilever behaves like a spring, and therefore a resonator. In order to turn it into an auto-oscillator, it is necessary to use support circuitry that performs a readout of the current position of the cantilever, and actuates the motion of the cantilever depending on the readout in a feedback loop, as introduced in Section 1.1.1.1. To illustrate this concept, Figure 1.14 presents the experimental work of Philippe et al. [START_REF] Philippe | Fully monolithic and ultra-compact NEMS-CMOS self-oscillator based-on single-crystal silicon resonators and low-cost CMOS circuitry[END_REF]: a NEMS cantilever with co-integrated CMOS feedback circuitry, effectively implementing an auto-oscillator. NEMS auto-oscillator frequencies can reach hundreds of MHz [START_REF] Feng | A self-sustaining ultrahighfrequency nanoelectromechanical oscillator[END_REF] and natural frequency tuning was demonstrated using multiple approaches including dynamically adjusting the feedback circuit [START_REF] Chen | A self-saturating mechanical oscillator with linear feedback[END_REF] or the stiffness of the moving part using piezoelectric materials [START_REF] Zalalutdinov | Frequency entrainment for micromechanical oscillator[END_REF]. These oscillators also show very low phase noise levels. For example, Fenget al. [START_REF] Feng | A self-sustaining ultrahighfrequency nanoelectromechanical oscillator[END_REF] measured FWHM = 9 kHz at f 0 = 428 MHz.

Moreover, coupling and synchronization of multiple NEMS oscillators has been demonstrated experimentally. The most straightforward coupling approach is mechanical coupling [START_REF] Colinet | Modal Control of Mechanically Coupled NEMS Array for Tunable Oscillators[END_REF] where oscillators interact with each other through vibrations. As the magnitude of the vibrations decreases with distance, this is mostly a local coupling scheme that involves neighboring CHAPTER 1: THE COMPUTATIONAL POWER OF OSCILLATIONS oscillators. Nearest-neighbor coupling can also be achieved through optical coupling [START_REF] Zhang | Synchronization of Micromechanical Oscillators Using Light[END_REF]. Finally, electrical coupling can achieve local but also global coupling by actuating the oscillators using the sum of the signals measured on individual oscillators [START_REF] Matthew | Phase Synchronization of Two Anharmonic Nanomechanical Oscillators[END_REF]. NEMS oscillators have been successfully modeled using the Kuramoto model [START_REF] Heinrich | Collective Dynamics in Optomechanical Arrays[END_REF][START_REF] Holmes | Synchronization of many nanomechanical resonators coupled via a common cavity field[END_REF] but also more complex models describing their dynamics more precisely [START_REF] Matthew | Phase Synchronization of Two Anharmonic Nanomechanical Oscillators[END_REF].

With their industry standard fabrication techniques, CMOS integration, low noise and demonstrated natural frequency control, coupling and synchronization, NEMS oscillators are promising devices for oscillator-based computing architectures, but tend to require high circuit areas.

Josephson junction nano-oscillators

A Josephson junction consists of two superconductors separated by a thin insulating layer.

When subject to a constant voltage, the current through a Josephson junction oscillates at a well-defined fundamental frequency, ν = V /Φ 0 , where Φ 0 ≈ 2.07mV/THz and V is the timeaveraged voltage across the junction [START_REF] Benz | Coherent emission from two-dimensional Josephson junction arrays[END_REF]. Under certain voltage and current conditions, the output signal of the oscillator is nearly sinusoidal. The natural frequencies of such oscillators are also voltage-tunable from hundreds of kHz to more than 1 THz [START_REF] Benz | Two-dimensional arrays of Josephson junctions as voltagetunable oscillators[END_REF], raising considerable interest for terahertz applications [START_REF] Robertazzi | Josephson terahertz local oscillator[END_REF][START_REF] Ozyuzer | Emission of Coherent THz Radiation from Superconductors[END_REF].

Note that a single Josephson junction has a broad power spectrum, but multiple junctions can be coupled together to synchronize and behave as one spectrally pure oscillator.

Benz et al. [START_REF] Benz | High-frequency oscillators using phase-locked arrays of Josephson junctions[END_REF] show that junctions with FWHM ≈ 160 MHz can be coupled in a 10 grid to produce a 88.8 GHz signal with FWHM = 13 kHz. However, this requires more circuit area per oscillator. Nevertheless, this limitation is compensated by the extreme scalability of Josephson junctions, and experimental results presented in [START_REF] Cybart | Nano Josephson superconducting tunnel junctions in YBa2cu3o7-δ directly patterned with a focused helium ion beam[END_REF] suggest that Josephson junctions could be scaled down to the nanometer.

Electrical coupling and synchronization of multiple Josephson junctions has also been demonstrated [START_REF] Benz | Coherent emission from two-dimensional Josephson junction arrays[END_REF][START_REF] Cawthorne | Synchronized oscillations in Josephson junction arrays: The role of distributed coupling[END_REF][START_REF] Jain | Mutual phase-locking in Josephson junction arrays[END_REF][START_REF] Yurii | Networks of Josephson junctions and their synchronization[END_REF] and coupled Josephson junction oscillators have been successfully modeled using the Kuramoto model [START_REF] Wiesenfeld | Frequency locking in Josephson arrays: Connection with the Kuramoto model[END_REF].

An important drawback of Josephson junctions is that they can not operate at room temperature but require an important cooling effort. High critical temperature superconductors allow operation at temperatures up to 90 K [START_REF] Kashiwagi | The present status of high-T c superconducting terahertz emitters[END_REF], but still require liquid nitrogen cooling.

As a result, Josephson junctions are a promising device for implementing oscillator-based computation architectures but come with a high cooling overhead. These devices are therefore not adapted to low-area/low-energy applications, but show interesting potential for high supercomputers.

AVAILABLE NANO-OSCILLATORS 29

Magnetic nano-oscillators

Magnetic nano-oscillators leverage the magnetization dynamics of materials and the spin of electrons in order to achieve auto-oscillation at the nano scale. Most magnetic nano-oscillators rely on the CMOS-compatible magnetic tunnel junction (MTJ) technology at the heart of novel magnetic random access memories [START_REF] Apalkov | Spin-transfer Torque Magnetic Random Access Memory (STT-MRAM)[END_REF]. In their most basic form illustrated in Figure 1.15, MTJs consist of a nano-pillar (≈ 100 nm in diameter) containing a thin insulating barrier (called the tunnel barrier) sandwiched between a pinned ferromagnet with constant magnetization, and a "free" ferromagnet with a magnetization capable of oscillating. Electrons carry a small quantity of angular momentum called the spin. In a typical electronic current, half of the electrons have a spin "up", and half have a spin "down". When electrons flow through the junction, they get spin-polarized by the pinned ferromagnet, causing an excess of electrons with either spin to reach the free ferromagnet. Such a spin-polarized current applies in turn a magnetic torque [START_REF] Ralph | Spin transfer torques[END_REF] on the free ferromagnet. This phenomenon is called the spin-transfer torque effect.

Current-induced spin transfer torque can cause oscillations of the magnetization in the free ferromagnet. Oscillators using this approach are called spin transfer nano-oscillators (STNOs).

Different magnetization distributions and oscillation regimes exist. The particular case of a vortex magnetization core precessing along an orbit is studied in Chapter 3. Stochastic oscillations can also be spontaneously induced by noise in unstable magnetic tunnel junctions, which are studied in Chapter 5.

As the tunnel barrier is thin enough for electrons to cross it by quantum tunneling, MTJs behave as electrical resistors. Moreover, the tunnel magneto-resistance effect [START_REF] Sun | Magnetoresistance and spin-transfer torque in magnetic tunnel junctions[END_REF] (TMR) causes the resistance of magnetic tunnel junctions to depend on the the free layer magnetization.

As illustrated in Figure 1.16, the presence of a net magnetization is linked to an asymmetry in the densities of spin up (n ↑ ) and spin down (n ↓ ) electronic states. The electronic currents for the two spin orientations can be seen as two parallel currents (red arrows in the figure).

When the two sides of the tunnel junction are magnetized in the same direction (top half of the figure), the excess of electrons in the favored spin direction on one side of the tunnel barrier matches the excess of available states for the same spin direction on the other side of the barrier, allowing a strong spin-polarized electronic current to flow. On the contrary, when the As a result, resistance is minimal when the free layer magnetization is aligned with the pinned layer magnetization, and maximal when they are in opposite directions, with intermediate cases resulting in intermediate resistance values. The resistance of the MTJ therefore oscillates together with the magnetization of the free layer, allowing signal readout.

Natural frequency control through voltage or current biases allows wide tuning ranges, typically from 1 to 5 GHz [START_REF] Choi | Spin nano-oscillator-based wireless communication[END_REF] or for 100s of MHz in the sub-gigahertz range for vortex oscillators (see Chapter 3). Moreover, Bonetti et al. [START_REF] Bonetti | Spin torque oscillator frequency versus magnetic field angle: The prospect of operation beyond 65 GHz[END_REF] experimentally observed 46 GHz oscillations in 100 nm nano-contact STNOs under strong magnetic fields (1.4 T) at an angle of 30 • with respect to the device plane. The authors also theoretically predict that frequencies beyond 65 GHz could be reached using perfectly in-plane magnetic fields.

Magnetic oscillators can be coupled electrically [START_REF] Georges | Impact of the electrical connection of spin transfer nano-oscillators on their synchronization: an analytical study[END_REF] in arbitrary topologies, through dipolar interactions resulting in local couplings [START_REF] Locatelli | Efficient Synchronization of Dipolarly Coupled Vortex-Based Spin Transfer Nano-Oscillators[END_REF], or through exchange interaction and spin waves [START_REF] Awad | Long-range mutual synchronization of spin Hall nano-oscillators[END_REF]. Synchronization of multiple magnetic nano-oscillators was also shown both theoretically and experimentally [START_REF] Awad | Long-range mutual synchronization of spin Hall nano-oscillators[END_REF][START_REF] Kaka | Mutual phase-locking of microwave spin torque nanooscillators[END_REF][START_REF] Mancoff | Phase-locking in double-pointcontact spin-transfer devices[END_REF][START_REF] Grollier | Synchronization of spin-transfer oscillators driven by stimulated microwave currents[END_REF][START_REF] Belanovsky | Numerical and analytical investigation of the synchronization of dipolarly coupled vortex spin-torque nano-oscillators[END_REF].

Depending on their structure, technology and operation regime, these nano-oscillators show different levels of phase noise. Experimentally observed values for vortex STNOs (see Chapter 3) are around FWHM ≈ 1 MHz at f 0 ≈ 500 MHz [START_REF] Dussaux | Large microwave generation from current-driven magnetic vortex oscillators in magnetic tunnel junctions[END_REF]. Phase noise can be further pushed below 1 Hz at f 0 = 7.344 GHz for STNOs stabilized by external circuitry [START_REF] Tamaru | Extremely Coherent Microwave Emission from Spin Torque Oscillator Stabilized by Phase Locked Loop[END_REF]. Certain types of magnetic oscillators have been modeled using specialized models [START_REF] Thiele | Steady-State Motion of Magnetic Domains[END_REF] but also using the generic Kuramoto model [START_REF] Flovik | Describing synchronization and topological excitations in arrays of magnetic spin torque oscillators through the Kuramoto model[END_REF].

All these properties make magnetic nano-oscillators attractive as microwave sources for telecommunications [START_REF] Choi | Spin nano-oscillator-based wireless communication[END_REF][START_REF] Villard | A GHz Spintronic-Based RF Oscillator[END_REF][START_REF] Prokopenko | Spin-Torque Nano-Oscillator as a Microwave Signal Source[END_REF], but also promising candidates for oscillator-based computing architectures.

Other types of oscillators

Other types of small form factor oscillators exist, and could also present attractive features for oscillator-based computing.

Traditional capacitor-inductor resonators coupled with feedback circuitry are currently used as auto-oscillators for a wide range of applications, but have limited integration capabilities.

Negative differential resistances (e.g. Gunn diode, Tunnel diode) coupled to resonant circuits also show promising results for auto-oscillator based Terahertz generation [START_REF] Eisele | State of the art and future of electronic sources at terahertz frequencies[END_REF] and could be potential candidates for oscillator-based computing.

Optical oscillators using light-matter interactions show interesting potential for high speed computation, and have been shown to synchronize [START_REF] Deschênes | Synchronization of optical oscillators over a free-space link at the femtosecond level[END_REF][START_REF] Lavrov | Electro-optic delay oscillator with nonlocal nonlinearity: Optical phase dynamics, chaos, and synchronization[END_REF]. Research on using these oscillators for computing is however still at a preliminary stage [START_REF] Frank | Synchronization of laser oscillators, associative memory, and optical neurocomputing[END_REF].

Chemical oscillators also present significant potential for computation, and populations of chemical oscillators show synchronization capabilities [START_REF] Taylor | Dynamical Quorum Sensing and Synchronization in Large Populations of Chemical Oscillators[END_REF]. However, chemical oscillators still require research efforts on miniaturization and lifetime.

Biological auto-oscillators including certain types of neurons or groups of neurons such as the endogenous oscillators presented in Section 1.1.2.2 could be used for computation. Computation using living neuron cultures on silicon chips was achieved, for example DeMarse et al.

presented a "brain in a dish" controlling a flight simulator [START_REF] Demarse | Adaptive flight control with living neuronal networks on microelectrode arrays[END_REF]. However, such approaches require expensive life support systems, and the shortened lifetime of neurons in such conditions is a major limitation.

Alternatively, molecular motors such as the ones found in living cells could be used as autooscillators. Research on this approach is however at a very early stage and consists mainly of theoretical predictions [START_REF] Shin'ichi Ishiwata | Molecular motors as an autooscillator[END_REF].

Computing with oscillators

Several computing systems leveraging the dynamics of oscillators have been proposed and implemented. This section describes the main oscillator-based computing approaches.

Binary computing with oscillators

Oscillator-based binary computers, called parametrons, were among the first computers used in Japan in the late 1950s, before being superseded by faster and more scalable semiconductorbased computers in the 1960s. Parametrons perform classical binary operations using coupled oscillators based on macro-scale inductors all running at the same natural frequencies and subject to a global external oscillating signal at the double of this frequency. This approach exploits the capability of these oscillators to achieve two possible stable states of synchronization with the external signal. Due to higher order interactions, the oscillators spontaneously lock to the external signal with two possible relative phases (0 or π), allowing each oscillator to represent a bit 0 or 1. Different types of couplings between oscillators implement a complete set of logic functions that manipulate these bits, allowing full-featured computation [START_REF] Rojas | The First Computers: History and Architectures[END_REF][START_REF] Goto | The Parametron, a Digital Computing Element Which Utilizes Parametric Oscillation[END_REF]. With CMOS reaching its limits, parametrons have recently seen a new surge of interest.

Quantum flux parametrons implemented with superconducting Josephson Junction oscillators (see Section 1.3.4) show no resistive losses and extremely energy-efficient, fast and thermodynamically reversible bit state switching. This physical reversibility, together with bijective logic gates that do not induce dissipation through loss of information, could lead to fully reversible super-computers with energy requirements below the Landauer limit, which is the lower bound on the energy consumption of dissipative computers. Fully reversible quantum flux parametron logic gates have been demonstrated experimentally [START_REF] Takeuchi | Reversible logic gate using adiabatic superconducting devices[END_REF], but full computing systems have not been demonstrated yet.

Parametrons can also be implemented with a wide range of room temperature auto-oscillator technologies [START_REF] Roychowdhury | Boolean Computation Using Self-Sustaining Nonlinear Oscillators[END_REF]. For example, they have been built and characterized using oxide-based relaxation oscillators (introduced in Section 1.3.1) [START_REF] Sharma | Phase Coupling and Control of Oxide-based Oscillators for Neuromorphic Computing[END_REF][START_REF] Kesim | Phase Based Boolean Computation Using GeTe6 Oscillators[END_REF] and nano-electro-mechanical oscillators (introduced in Section 1.3.3) [START_REF] Mahboob | Bit storage and bit flip operations in an electromechanical oscillator[END_REF].

Parametron computers built with nano-oscillators show promising capabilities for general purpose computing based on standard binary operations. However, while performing the same tasks, their current implementations are still slower and less energy-efficient than their CMOS counterparts.

Image segmentation

Low level image segmentation consists in isolating regions of a picture based on certain criteria such as brightness or contrast. It is one of first processing steps used by a high number of

COMPUTING WITH OSCILLATORS 33

image processing algorithms [START_REF] Sharma | Automated medical image segmentation techniques[END_REF], allowing for example the detection of foreground objects in a picture.

Spatially local coupling of oscillators can be achieved through dipolar, mechanical, electrical or optical interactions between neighboring oscillators. Moreover, their synchronization also depends on the differences between their tunable natural frequencies. As a result, the synchronization dynamics of a two-dimensional grid of locally coupled oscillators naturally shows both space and value dependencies, which can be leveraged to implement brightness-based image segmentation. Figure 1.17(a) shows an example of oscillator network where the natural frequency of each oscillator is controlled by the corresponding pixel of a picture, and the oscillators are bidirectionally coupled to their close neighbors (we assume a uniform coupling strength k). Figure 1.17(b) shows a map of the average frequencies of the simulated Kuramoto oscillator network without coupling (k = 0). In that case, the average frequencies of the oscillators match their natural frequencies, and therefore the brightness of the original image pixels.

When couplings are present (k > 0), neighboring oscillators with similar natural frequencies synchronize to a common average frequency. On the average frequency map Figure 1.17 I performed this simulation as a side-project during the 2016 Capo-Caccia neuromorphic engineering workshop, but this approach was already described in the litterature [START_REF] Nikonov | Convolutional Networks for Image Processing by Coupled Oscillator Arrays[END_REF]. Similar and more advanced oscillator-based image segmentation and contrast detection approaches have been proposed using different oscillator technologies among which neural oscillators, chemical oscillators, micro-electro-mechanical oscillators [START_REF] Fang | Image segmentation using frequency locking of coupled oscillators[END_REF] or spin transfer torque nanooscillators [START_REF] Yogendra | Computing with coupled Spin Torque Nano Oscillators[END_REF].

CHAPTER 1: THE COMPUTATIONAL POWER OF OSCILLATIONS

Using the intrinsic dynamics of oscillators to perform image segmentation is therefore an attractive approach for efficient image pre-processing.

Vertex coloring

Vertex coloring, is a NP-hard problem that consists in attributing a color to each node of a graph so that two connected nodes do not get the same color, while minimizing the total number of different colors. Finding an approximate coloring solution plays an important role in resource allocation and scheduling, including program compilation or frequency attribution in telecommunication [START_REF] Marx | Graph colouring problems and their applications in scheduling[END_REF].

In 2017, Parihar et al. [START_REF] Parihar | Vertex coloring of graphs via phase dynamics of coupled oscillatory networks[END_REF] proposed a reformulation of this problem that can be solved approximately by capacitively coupled oxide-based relaxation oscillators with individually tunable dense couplings, and presented a working experimental implementation for small graphs.

With the chosen coupling scheme, two connected oscillators synchronize out of phase, i.e.

their phases "repel" each other. When a full oscillator network, this "repelling effect" leads to a stable state of the phases from which an approximate solution can be easily extracted. Note that using oscillators for graph coloring was previously theorized in 1998 by Wu et al. [START_REF] Chai | Graph coloring via synchronization of coupled oscillators[END_REF] for 2 colors, and generalized to k colors in 2009 by Lee [START_REF] Anthony | k-Phase Oscillator Synchronization for Graph Coloring[END_REF].

Vertex coloring is therefore an interesting example of computing with intrinsic nano-oscillator dynamics. However, the number of colors the architecture can represent is limited by the phase noise and variability of the oscillators. Moreover, the number of independently tunable connections between oscillators grows quadratically with the number of nodes in the graph, which represents a serious scalability limitation.

Degree of matching computation

Computing a distance measure between two vectors can be computationally heavy for traditional computers. For example, computing the

L 2 2 = ||A -B || 2 2 = N i (a i -b i ) 2 distance between N -dimensional vectors A = {a i } i =1..N and B = {b i } i =1.
.N requires as many multiplications as there are dimensions, followed by an accumulation operation.

As explained in Section 1.2.2.3, the order parameter of a network of coupled oscillators naturally indicates the level of synchronization in the network, and can be used to obtain an approximate similarity measure called "degree of matching" (DOM) [START_REF] Nikonov | Coupled-Oscillator Associative Memory Array Operation for Pattern Recognition[END_REF]. Among others, Yogendra et al. [START_REF] Yogendra | Computing with coupled Spin Torque Nano Oscillators[END_REF] proposed and simulated such an architecture with N coupled spin transfer torque nano-oscillators where the natural frequency of the i -th oscillator is shifted away from a common value proportionally to a i -b i . A simple circuit then extracts the degree of matching using the mean field signal of the oscillators. inducing a higher level of synchronization in the network, and a higher degree of matching. The opposite of the parabola-shaped degree of matching, -DOM, can then be rescaled to resemble the L 2 2 (A, B ) = N i (a ib i ) 2 function for small distances. As a result, the authors propose to use this approach to approximate the L 2 2 distance between two similar vectors by leveraging oscillator dynamics.

Note that they also propose the computation of the dot product A•B by using the expansion

A • B = -1 2 L 2 2 (A, B ) -L 2 2 (A, 0) -L 2 2 (0, B ) .
Similar schemes have been proposed in multiple other papers [START_REF] Nikonov | Convolutional Networks for Image Processing by Coupled Oscillator Arrays[END_REF][START_REF] Nikonov | Coupled-Oscillator Associative Memory Array Operation[END_REF][START_REF] Shukla | Ultra low power coupled oscillator arrays for computer vision applications[END_REF], and implementations with other kinds of oscillators including oxide-based relaxation oscillators [START_REF] Maffezzoni | Modeling and Simulation of Vanadium Dioxide Relaxation Oscillators[END_REF] have been imagined. It is therefore possible to naturally implement approximate distance evaluation using oscillator dynamics without having to explicitly compute any sum or product.

Auto-associative memories and Hopfield networks

Auto-associative memory corresponds to the capability of fully retrieving a known pattern when given an incomplete, deformed or noisy version of this pattern. For example, when provided with the incomplete quote "to be, or not to -", the brain spontaneously and effortlessly associates it to the corresponding known full pattern "to be, or not to be".

Auto-associative memories are important for a wide range of applications including autocompletion, de-noising preprocessing or error correction [START_REF] Hopfield | Neural networks and physical systems with emergent collective computational abilities[END_REF]. However, traditional computers do not perform well on such tasks which typically require massively distributed computation. As a result, alternative auto-associative memory schemes leveraging device physics have been proposed. These approaches borrow the ideas of Hopfield networks, which consist in tuning the interactions between a set of binary units so that their final states match known stored patterns, and apply them to dynamical systems by engineering the attractors of a physical system to match stored patterns. When the state of the system is set according to a noisy or incomplete input pattern, the dynamics converge to the closest attractor, naturally reconstructing the full pattern in the process [START_REF] Hopfield | Neural networks and physical systems with emergent collective computational abilities[END_REF].

Multiple oscillator-based Hopfield-like auto-associative memories have been proposed since the original theoretical formulation of the approach by Hoppensteadt et al. [START_REF] Hoppensteadt | Associative memory of weakly connected oscillators[END_REF]. As an example, Maffezzoni et al. [START_REF] Maffezzoni | Analysis and Design of Boolean Associative Memories Made of Resonant Oscillator Arrays[END_REF] present an auto-associative memory for boolean words (binary vectors x = {±1}) using coupled MEMS oscillators modeled using the Kuramoto model and inspired by a work from Hoppensteadt et al. [START_REF] Hoppensteadt | Synchronization of MEMS resonators and mechanical neurocomputing[END_REF]. First, the "correlation" matrix of each bit i with each other bit j is computed and averaged across all M known examples:

k rec i , j = 1 M M m=1 x (m) i x (m) j . (1.6)
In order to perform auto-association on an unknown binary vector x test , its correlation matrix

k test = x (test) i x (test) j
is applied as the coupling matrix between the oscillators in the network. As a result of synchronization, the phase of each oscillator converges to ±π with respect to a reference oscillator, which closely matches the presented vector bits. After a stabilization period, the coupling matrix is set to k rec and the dynamics converge towards the corresponding stored attractor. After stabilization, the relative phases of the oscillators encode the bits of the reconstructed vector. This architecture leverages intrinsic oscillator dynamics to implement an auto-associative memory. However, it still requires a quadratically large number of tunable amplifier-based couplings, as well as the capability to read individual oscillator phases. The couplings need to be tuned dynamically during the computation, which could be done by applying arbitrary waveforms [START_REF] Hölzel | Pattern recognition with simple oscillating circuits[END_REF], but remains impractical at the nano-scale.

Similar architectures were also proposed for other oscillator technologies including spin transfer torque nano-oscillators [START_REF] Yogendra | Computing with coupled Spin Torque Nano Oscillators[END_REF], laser oscillators [START_REF] Frank | Synchronization of laser oscillators, associative memory, and optical neurocomputing[END_REF].

COMPUTING WITH OSCILLATORS 37

With the Hopfield approach, the maximal number of orthogonal patterns that can be stored in a system of N oscillators while still achieving recognition with low error rates is approximately 0.138N but is usually lower in practical implementations [START_REF] Nishikawa | Hoppensteadt. Capacity of Oscillatory Associative-Memory Networks with Error-Free Retrieval[END_REF]. Oscillator-based autoassociative memories therefore offer promising capabilities for fast and efficient operation, but their scalability is limited.

Hetero-associative memories and pattern classification

Hetero-associative memories involve associating an incomplete or noisy pattern of one type to a corresponding pattern of another type. As an example, the human brain can associate a particular smell to visual memories from past experiences involving similar smells [START_REF] Bernstein | The contributions of Marcel Proust to psychoanalysis[END_REF].

Moreover, this mechanism of the brain is thought to be correlated with certain types of neural oscillations [START_REF] Stella | Associative Memory Storage and Retrieval: Involvement of Theta Oscillations in Hippocampal Information Processing[END_REF], suggesting that oscillator-based approaches could be particularly well suited for hetero-associative memory implementation.

Pattern classification

In the particular case in which an input pattern is associated to a "label", for example when the picture of a face is associated to the name of the person, hetero-associative memory corresponds to pattern classification. Classification consists in automatically recognizing a presented pattern and tagging it with the right label. For example, it can consist in classifying presented pictures as "cat" or "dog" if they contain the corresponding animal, or classifying a tumor as "benign" or "malign" given some of its properties. Classification algorithms are ubiquitous in various contexts including object recognition for self-driving cars [START_REF] Levinson | Towards fully autonomous driving: Systems and algorithms[END_REF], biometric identification [START_REF] Sanchez-Reillo | Biometric identification through hand geometry measurements[END_REF] or credit scoring [START_REF] Baesens | Using Neural Network Rule Extraction and Decision Tables for Credit-Risk Evaluation[END_REF].

Classification tasks typically require important computational resources, and leveraging the naturally complex dynamics of coupled nano-oscillators to perform classification efficiently is therefore highly attractive.

Oscillator-based classification

A straightforward way of performing classification is to use the degree of matching (Section 1.4.4)

to compare an input pattern to stored examples of each class and to output the label of the best matching one. Evaluating the degree of matching against multiple stored examples can be done in a parallel way using multiple coupled oscillator circuits. Circuit complexity can be further reduced by using a hierarchical architecture, and achieves promising results on image recognition [START_REF] Fang | Non-Boolean Associative Processing: Circuits, System Architecture, and Algorithms[END_REF].

Figure 1.20: Classification architecture using the degree of matching to find the index of the stored pattern that matches the input pattern the best. Adapted from [START_REF] Fang | Non-Boolean Associative Processing: Circuits, System Architecture, and Algorithms[END_REF]. An alternative classification architecture proposed in a theoretical context by Vassilieva et al. [START_REF] Vassilieva | Learning Pattern Recognition Through Quasi-Synchronization of Phase Oscillators[END_REF] solves this scalability problem by using synchronization readouts of a network of tuned oscillators as the ''label" associated to the presented pattern. It only requires tuning natural frequencies, detecting synchronizations, and the number of oscillators does not depend on the number of examples. In Chapter 2, I detail this architecture, adapt it to the constraints of nano-oscillators and characterize its performance and robustness.

Feed-forward artificial neural networks

Definition of an artificial neural network

Currently, the most popular and powerful machine learning models for cognitive tasks are artificial neural networks, which are loosely inspired from biological neural networks. Artificial neural networks play an important role in natural data processing and cognitive tasks such as language translation, or image classification. However, these networks are currently run by traditional computers or graphic cards using an important number of floating point operations to simulate non-linear transformations.

Implementation with oscillators

As oscillators show intrinsically non-linear responses, they represent an attractive approach for implementing non-linear neurons in artificial neural networks. Approaches implementing artificial neural networks using oscillator-based neurons require the theoretical knowledge of the exact transfer function that the neuron implements. As explained in Section 1.2.2.3, usable analytical predictions are scarce in coupled oscillator models. As a consequence, oscillator-based neurons need to use extremely basic oscillator dynamics that are well-described by theory.

In the literature, I have found only two types of oscillator-based neuron designs. They both implement a simple threshold function that yields a high output if the input is above a given threshold value, and a low output otherwise.

In a work from 2013, Kaluza [START_REF] Kaluza | Computation with phase oscillators: An oscillatory perceptron model[END_REF] proposes a simple threshold neuron made of a pair of synchronized oscillators described by a modified Kuramoto model with doubled frequencies.

The input of the oscillator tunes the coupling strength of the connection between the two oscillators, and the output corresponds to the phase difference between them. Similarly to the parametrons introduces in Section 1.4.1, and due to the special oscillator model being used, the oscillators synchronize with a relative phase of π if the coupling strength (and therefore the input) is beyond a threshold, which corresponds to output "1", or with a relative phase of 0 (output "0") otherwise.

The drawbacks of this scheme are that it uses an exotic oscillator model, and relies on tuning the coupling between the oscillators in real time.

In their 2015 paper, Yogendra et al. [START_REF] Yogendra | Coupled Spin Torque Nano Oscillators for Low Power Neural Computation[END_REF] propose a threshold neuron that uses a pair of bidirectionally coupled spin transfer torque nano-oscillators with similar baseline natural frequencies. The input detunes the natural frequency of one of the oscillators. The two oscillators stay synchronized for low input values, and unlock when the input crosses a threshold. The readout is opposite to the degree of matching (see Section 1.4.4). The output is 0 when the two oscillators are synchronized, and 1 when a sufficiently high input desynchronizes them.

Contrary to Kaluza's neuron, this approach does not rely on dynamically tuned couplings, and functions with realistic oscillator models. Note that the authors also introduce an alternative design that replaces the reference oscillator by a radio-frequency current source. This requires a function generator but a single signal can be shared by multiple neurons.

Artificial neurons implemented with oscillators are therefore a promising element for efficient feed-forward artificial neural networks. However, in order to achieve higher computational power, neurons with more advanced transfer functions than a simple threshold are required. In Section 4.5.1, I define and characterize such a neuron.

Reservoir computing Definition of reservoir computing

Similarly to more conventional artificial neural networks, reservoir computing seeks to apply non-linear transformations to data in order to perform a cognitive task, but it offloads nonlinearity computation to a "reservoir". A simple linear regression between the readout and the expected output for a set of known examples yields the output weight matrix (in red in Figure 1.22). When the dimensionality of the readout vector is high (5 in the Figure 1.22), this approach can solve complex cognitive tasks at low energy cost.

Implementation with nano-oscillators

A time-dependent reservoir computing approach was experimentally implemented by Torrejon et al. [START_REF] Torrejon | Neuromorphic computing with nanoscale spintronic oscillators[END_REF] using a single vortex spin transfer torque nano-oscillator to perform spoken digit classification with state-of-the art recognition rates. A filtered version of a voice signal is applied as an input current to the oscillator, and the envelope of its voltage is read at several points in time. These readout values are then combined by a weight matrix found by linear regression to provide the outputs.

An alternative approach was proposed and simulated by Coulombe et al. [START_REF] Coulombe | Computing with networks of nonlinear mechanical oscillators[END_REF] using springcoupled micro-electromechanical oscillators as a time-sensitive reservoir, and yields promising results on spoken digit classification.

The complexity of coupled oscillator dynamics prevents a full analytical description of their dynamics. However, reservoir computing can leverage this complexity to achieve computation without requiring a precise description of the network. Reservoir computing with oscillators is therefore a promising approach for efficient computation.

Summary of the chapter

After an intuitive introduction to oscillations their synchronization dynamics, I presented various results from neuroscience suggesting that oscillations may play a role in cognitive computational tasks performed efficiently by the human brain. I observed that such biological oscillatory phenomena could be used as a source of inspiration for efficient oscillator-based computation.

To understand how coupled oscillators could achieve computation, I explained their phase, frequency and synchronization dynamics through the generic linear Kuramoto model, showing that their rich behaviors could be leveraged for computation even with a small number of oscillators. I also extended this study by defining a more advanced model for non-linear oscillators, the Landau-Stuart model.

Implementing compact oscillator-based computing architectures on chip requires using nano-scale oscillators. In order to provide an overview of the capabilities of existing nanooscillators, I presented the main categories of suitable oscillator technologies, showing that several could be used in computational architectures.

Finally, I presented various oscillator-based computational architectures that have been proposed, and listed their advantages and limitations.

Chapter 2

Using coupled oscillators for pattern classification

Life is a constant oscillation between the sharp horns of dilemmas.

H. L. MENCKEN "

T HE SECOND CHAPTER of this thesis presents an oscillator-based architecture that performs pattern classification, and evaluates its compatibility with the constraints of nano-technologies. "

T HIS CHAPTER introduces an oscillator-based classification architecture, extends it to func- tion with nano-oscillators and investigates its compatibility with constraints linked to nano-technology. It covers:

DEFINING A NANO-OSCILLATOR BASED PATTERN CLASSIFIER

Defining a nano-oscillator based pattern classifier

The pattern recognition approach at the basis of this study is presented in Figure 2.1(a). It consists of a core network of oscillators that are coupled by fixed bidirectional weak connections.

All-to-all coupling is considered in this study unless stated otherwise. Such all-to-all coupling can be realized by electrical coupling of resistive elements [START_REF] Georges | Impact of the electrical connection of spin transfer nano-oscillators on their synchronization: an analytical study[END_REF] as will be presented in Chap- A and f 0 B . On the sides of the map, only one input oscillator interacts with the core network, as the natural frequency of the other input oscillator is very different from the natural frequencies of the core oscillators. This results in the synchronization regions , , involving the synchronization of a single pair of core oscillators. The central regions , , result from the interaction of multiple core oscillators with both input oscillators. They correspond to the synchronization of more than a single pair.

The resulting list of synchronized pairs of core oscillators corresponds to the output synchronization pattern of the system and is strongly dependent on the natural frequencies of the input oscillators. It is therefore a signature of the input stimuli, and can be used to achieve classification/recognition of the presented input.

By performing an associative operation between a set of analog inputs and a limited set of synchronization patterns, this system behaves as a hetero-associative memory. This scheme can be used for different kinds of multi-class classification problems, such as image classification [START_REF] Vassilieva | Learning Pattern Recognition Through Quasi-Synchronization of Phase Oscillators[END_REF], spoken word classification or decision making. Shaping the response of such a network so that it outputs the desired class on presented examples from a given data set requires a learning process that is investigated in Chapter 4. This second Chapter only investigates the system at the architectural level.

Example : A dummy classification task

To provide a better understanding of the classification process using the presented oscillator based classifier, I illustrate it with a dummy task involving the classification of made-up plants into 8 different species depending on 2 of their features: petal length and width. shows the resulting classification map: depending on its features, the presented plant is classified as belonging to a given species. For example a plant with a petal length of 2 cm and a petal width of 1 cm is classified as belonging to "Species 7".

Note again that this is a dummy task for illustration purposes that was designed to match the existing reference map. On a real task, this response map needs to be tuned to match the task by adjusting the natural frequencies of the core oscillators through a learning algorithm. This is the focus of Chapter 4.

A ROBUST SYNCHRONIZATION DETECTION SCHEME 47

In this work, except when assessing the impact of oscillator non-linearities, I simulate the oscillator-based architecture by using a generalized version of the Kuramoto model defined by equation (2.1) describing the evolution of oscillator i 's phase θ i as a function of its intrinsic frequency f 0 i and the influence of the other oscillators j k i , j sin(θ j -θ i + φ i , j ). The coupling from oscillator j to oscillator i is modeled through the coupling strength k i , j and the coupling phase shift φ i , j . Unless stated otherwise, a phase shift φ i , j = 0 is assumed. When specified, a phase noise term is also included in the simulation:

θi 2π = f 0 i + j k i , j sin(θ j -θ i + φ i , j ) + Noise(FWHM, t ) . (2.1)
The noise is quantified by the FWHM quantity defined to be the Full Width at Half Maximum of the power spectrum density of an isolated oscillator.

Numerical integration

The integration scheme follows:

d θ i = 2π × f 0 i + j 2π × k i , j sin(θ j -θ i + φ i , j ) + 2π × FWHM d t × N (0, 1) × d t , (2.2)
where N (0, 1) is the normal distribution with mean of 0 and a standard deviation of 1.

Simulations not involving noise use fourth order Runge Kutta ODE integration. When noise is included, the specific Euler-Maruyama SDE integration scheme is used instead.

I consider that the core network is initially in a random unsynchronized state before the input stimuli are applied. After applying the stimuli and waiting for the stabilization of the frequencies in the network during a given stabilization time, its state is read by pairwise evaluation of synchronization between core network oscillators. This requires designing a synchronization detection scheme.

A robust synchronization detection scheme

Achieving readout with fast, possibly noisy oscillators in real time is an equally important challenge as the pattern recognition itself. In this section, two simple, easy to implement schemes for the evaluation of the degree of synchronization between pairs of oscillators are proposed and investigated. Then, the quality of the readout of each scheme is evaluated and compared in the case of a network of noiseless oscillators as well as in a more realistic case of noisy oscillators.

Schemes for evaluating synchronization patterns

The readout process of such an architecture involves pairwise synchronization detection between core oscillators, and the output is the resulting list of synchronized pairs. In the literature, noise was observed to not only prevent synchronization [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF] in weak coupling conditions but also to induce fluctuations in the synchronization pattern readout during evaluation time,

showing transitions in regions where multiple synchronization attractors are available [START_REF] Weiss | Noise-induced transitions in optomechanical synchronization[END_REF].

Synchronization between oscillators in its strictest definition is therefore hardly achieved, as perfect phase-locking seldom occurs.

Thus, a weaker definition of synchronization is needed and should be based on a measure of the degree of synchronization between two signals. For instance, statistical methods such as the variance measure introduced in [START_REF] Vassilieva | Learning Pattern Recognition Through Quasi-Synchronization of Phase Oscillators[END_REF] can be used to define quasi-synchronization between a pair of oscillators {n,m}:

Var τ (sin(θ n -θ m )) < v , (2.3)
where the variance is evaluated during a limited time τ. A threshold v ∈ [0; 0.5] is chosen to discriminate quasi-synchronized pairs from non-synchronized pairs, v = 0 corresponding to a perfect synchronization requirement. This definition was shown to allow the detection of a rich set of synchronization patterns in weakly coupled networks [START_REF] Vassilieva | Learning Pattern Recognition Through Quasi-Synchronization of Phase Oscillators[END_REF]. However, the hardware implementation of such a detection scheme would involve a combination of complex circuits, or an external computing unit: it is not a reasonable readout technique for an efficient physical implementation.

Here, I propose two other quasi-synchronization detection schemes based on operational principles compatible with an easy CMOS implementation and compare their performances with the variance-based method. The oscillator signals are digitized using Schmitt triggers, intended to increase the noise resilience of the readout, after which a rising edge detection is performed to obtain a single pulse per period of the signals.

A first synchronization evaluation approach that is further called "direct counter" is presented in Fig.

Equivalence of the detection schemes

To compare the synchronization evaluation schemes, we first investigate the simplified case of a single input oscillator {A} and two core oscillators {1, 2}, as illustrated in Fig. 2.4(a). Core oscillators' natural frequencies are set to { f (1) 0 , f (2) 0 } = {560, 580} MHz and the input oscillator's natural frequency f (A) 0 is swept from 470 to 670 MHz. Fig. 2.4(a) captures the synchronization phenomenon between the three oscillators by showing the evolution of their average frequencies. While the coupling between core oscillators {1,2} is initially too weak for them to synchronize, they are eventually brought to synchronization when the input oscillator's natural frequency lies in a limited range (552 to 588 MHz).

For each simulation, the oscillator network dynamics are computed during 1 µs. After a 0.5 µs cool-down time to reach the convergence of the network dynamics, the three detection schemes are evaluated during τ = 0.5 µs between core oscillators {1,2}. Their outputs are plotted in Figs. 2.4(b,c,d) before the thresholding operation.

The three curves appear extremely similar. It is surprising to note that, while variance measure and counter approaches use different basic principles, the obtained curves can actually almost be superimposed. All exhibit a very distinct dip to a zero-value when the two core oscillators are synchronized, and a high plateau value when the oscillators are desynchronized. In the intermediate range, where the oscillators are quasi-synchronized, the outputs show a progressive increase, allowing to define thresholds that will discriminate whether the oscillators are quasi-synchronized or not.

From these curves, we choose equivalent thresholds for the three detection schemes: v = 0.28 for the variance measure scheme, d = 6 for the direct counter scheme, and f = 6 for the flip-flop counter scheme. In the following we use these threshold values if not stated otherwise.

Pattern recognition and comparison of the readout schemes

The three readout schemes can now be evaluated on the full coupled oscillator network of Fig. 2.3(a), introduced in Section 2.2. As in the previous simulation, the oscillator network dynamics are simulated for 1 µs for each point in this map. After a 0.5µs cool-down time to wait for the convergence of the network dynamics, the three detection schemes are performed on each of the six pairs of core oscillators during τ = 0.5µs, and the results are compared to their respective thresholds. For each simulation, an output list of synchronized pairs is then given by each readout scheme. To account for the robustness of the readout results to initial conditions, each point on the map is simulated ten times with random initial phases. If the ten simulations do not result in the same output synchronization pattern, the point is discarded as "inconsistent" and left blank on the map. If the ten simulations yield identical results, the point is then colored on the map according to the output pattern.

Readout maps in the absence of noise

CHAPTER 2: USING COUPLED OSCILLATORS FOR PATTERN CLASSIFICATION

Note : Computing maps is expensive

Producing these 200 × 200-point maps, to allow precise assessment of the coupled oscillator network behavior, comes at a high computational cost as it requires 200 × 200 × 10 = 400, 000 independent simulations per map. For optimal efficiency, the simulations were performed simultaneously on the 2880 cores of a nVidia Tesla K40 GPU, using the Cuda Thrust C++ library.

In this noiseless example, the three evaluation schemes yield rich output maps, with large and well-defined regions associated to different synchronization patterns. The boundary regions (blank) where no repeatable readout is obtained are relatively small. These results show the efficient recognition capability of the oscillator network, as originally presented in Section 2.2. Indeed, it spontaneously discriminates inputs through the establishment of synchronization patterns in its core. Additionally, it is remarkable that all of the introduced synchronization detection schemes are operational and lead to highly similar readout maps.

The capabilities of the oscillator network associated with each readout scheme are evaluated through the number of classes of patterns the architecture is able to discriminate, i.e. the number of regions with different readouts that appear on the map. In this counting, we choose to ignore isolated points, as well as porous regions where consecutive points do not consistently yield the same output. To do so, a filter is applied on the readout maps, as illustrated on In the case of both counter-based readouts, eight patterns are discriminated, each one be-

A ROBUST SYNCHRONIZATION DETECTION SCHEME 53

ing associated to a different synchronization pattern. Meanwhile, a ninth output pattern appears for the variance-based readout ( in Figure 2.5(a)). This is due to the intrinsic nontransitivity of quasi-synchronization detection methods: for example synchronizations can be detected between oscillators 1 and 2, as well as between 2 and 3, without any synchronization being detected between 1 and 3. Measured non-transitive synchronization patterns are however rare and generally unstable with the low synchronization detection thresholds being used.

Readout maps in the presence of noise

When considering hardware implementations, especially based on nanotechnology such as proposed in Section 1.4, the consequences of the phase noise of the oscillators, which can significantly perturb the network dynamics, needs to be considered. To account for it, we reproduced the simulations of the network dynamics as well as the three readout schemes including a non zero noise corresponding to oscillators' FWHM = 1 MHz.

We show in Fig. 2.5(d,e,f) the readout maps obtained for the noisy oscillator network. Again, for all three detection schemes, the three maps remain very similar. Compared to the noiseless network, the class regions are sensibly reduced, and the blank (inconsistent) regions are getting wider, as could be expected. Indeed, as the noise increases, the repeatability of the readouts becomes an increasing issue. It notably has an impact on the readout map obtained through the variance-based scheme. As one can see in Fig. 2.5(d), the ninth synchronization pattern is no longer observed, and the purple region has become particularly porous.

Testing detection schemes against different network parameters

Modifying the coupling strengths between oscillators in the network changes the distribution of synchronization patterns, and also has an influence on the relative phase dynamics between coupled oscillators, and subsequently on the synchronization readout. To compare the detection schemes in the case of other network configurations, we repeated the simulations of noisy networks with varying input-core coupling strengths k i c and core-core coupling strengths k cc . The two counter-based readout schemes provide quasi-identical results. Both plots show that optimal coupling strengths, for which a maximum number of classes can be discriminated, fall in the same range for the three readout schemes. However, the counter-based schemes lead to the discrimination of a higher number of classes than the variance-based one in large ranges of coupling strengths. These observations suggest that the counter-based definitions of quasisynchronization might be more robust than the variance-based one. We discuss and interpret this idea in the next section.

Sensitivity of the readout schemes to noise and parameters

In this subsection, an in-depth evaluation and comparison of these schemes is performed, and their applicability for a final hardware system is discussed.

Noise resilience of the readout schemes

To assess the relative influence of phase noise on the three readout schemes, we repeat the simulations of the noisy network with increasing noise levels and plot the evolution of the number of classes discriminated by each readout method in Fig. 2.8. The three schemes show different resiliences to noise.

For low noise levels, the variance-based scheme shows the lowest resilience, as it is the first detection scheme that stops being able to discriminate eight classes. Indeed, the variance measure is strongly affected by fluctuations appearing in the phase difference dynamics. Therefore, when looking at the outputs before thresholding, we observe an increasing spreading of the results for the ten repeated simulations with increasing phase noise. This induces spurious detections of synchronization or desynchronization producing many inconsistent points, which leads to the disappearance of some classes in the readout map.

The two counter-based schemes keep their ability to discriminate eight patterns for higher noise levels, even beyond 2 MHz for the direct counter scheme. They evaluate the exact number of desynchronization events and are not sensitive to their dynamics. However, the flipflop counter scheme appears to fail very rapidly when the FWHM of the oscillators goes above 2 MHz, even faster than the variance-based scheme. In the flip-flop counter detection method, every desynchronization event, i.e. phase slip between the two signals, is detected and counted.

As the noise level increases, many spurious desynchronization events get detected, which eventually leads the counter to go above the threshold. Only strong synchronizations are then detected. This observation suggests that the threshold level should be raised to adapt to high phase noise oscillator networks.

Because it simply evaluates an average frequency difference between the two noisy signals, the direct counter scheme is the one showing the best resilience to noise. It is still able to discriminate six classes of inputs for oscillators with FWHMs up to 4.5 MHz, when other readout methods only discriminate one or two classes.

Influence of the threshold

We have seen that in the presence of noise, the three readout methods may suffer difficulties to detect quasi-synchronization. In these conditions, the initial choice of the thresholds, in an oversimplified case and for a noiseless network, should be reconsidered. We now analyze the impact of the choice of the threshold on the number of recognized patterns. Fig. 2.9(a,b)

shows the total number of discriminated classes for the FWHM = 1 MHz (solid lines) and for the FWHM = 3 MHz (dotted lines) noisy networks as a function of the variance and counter thresholds.

In the case of low phase noise (FWHM = 1 MHz), all three readout techniques identify the maximum number of patterns (eight) for a reasonable range of thresholds. When increasing the As noticed in Section 2.3.4.1, when the FWHM of oscillators reaches 3 MHz, the three readout methods detect different numbers of patterns using the thresholds chosen initially: six for the direct counter scheme, four for the variance-based scheme, and only two for the flip-flop counter scheme. The presented plots show that these initial choices are not adapted to the higher noise case, and that other optimal thresholds can be found. The direct counter approach still shows the best resilience to noise as up to seven synchronization patterns can be read, while the variance measure approach is limited to detecting up to six patterns. In the counter-based approaches, the optimal thresholds are close to our initial choices, yet the optimal ranges are substantially reduced. For the flip-flop counter scheme, the optimal threshold is found around 18, confirming that high noise induces the spurious detection of many desyn- In Fig. 2.10, we plot the percentage of matching points between the obtained readout maps and the reference map, as a function of τ and for each readout scheme. The figure inset also shows the evolution of the detected number of patterns as a function of τ. For equivalence in the case of the counter-based detection schemes, the thresholds are adjusted as τ varies so that {d , f } /τ is kept equal to 12µs -1 . We observe a fast convergence of the readout maps for evaluation times up to 0.5µs above which the convergence starts slowing down. After 2µs, the counter-based readout schemes reach 90% matching with the reference, while the variance-based scheme lags behind. For the counter-based methods, the maximum number of patterns (eight) is already detected when τ > 0.2µs, while τ > 0.4µs is needed for the variance measure scheme. In all case, the choice of τ = 0.5µs then offers a reasonable trade-off as the maximum number of patterns is already discriminated.

Choosing the right detector

In situations with oscillators with no or low phase noise, the readouts of all three techniques appear very similar. Although variance measure is the most complex, it is not the most robust to noise, and may actually identify less synchronization patterns in some situations with intermediate noise levels and very weak coupling between core oscillators. The variance measure also appears to converge slower than counter-based approaches, hence requiring longer evaluation time for equivalent precision.

When both counter-based protocols show equivalent results, the flip-flop counter is the best choice for hardware implementation, as it relies simply on an unsigned counter. However the flip-flop counter protocol appears to fail at high noise levels, when it detects a lot of spurious desynchronization events. Nonetheless, the direct counter protocol also shows strong resilience to high noise, again better than the variance measure. The choice between these two techniques should therefore be based on the amount of noise. For simplicity and consistency of the results across a wide range of noise levels, the direct counter scheme is used in the rest of this thesis.

This study involved the measure of the synchronization state of all pairs of core oscillators to obtain comprehensive results on the behavior of the detectors. However, from the scalability point of view, using 1 2 N × (N -1) detection circuits to read the synchronization state of every pair of N oscillators is a major constraint. In practice, this approach is highly redundant as virtually all stable synchronization states are transitive. Moreover, core oscillators are identical and only defined by their natural frequencies, they can therefore always be sorted according to their natural frequencies. These properties allow retrieving the full synchronization maps by measuring only consecutive pairs of core oscillators: (1,2),(2,3), [START_REF] Hasler | Special report : Can we copy the brain? -A road map for the artificial brain[END_REF][START_REF] Mark | The cloud begins with coal: Big data, big networks, big infrastructure, and big power[END_REF] in the case of 4 core oscillators. In that case, the number of detectors scales as N -1, which represents an important scalability improvement. This approach is used in the rest of the thesis.

The readout scheme being defined (and published [START_REF] Vodenicarevic | Synchronization Detection in Networks of Coupled Oscillators for Pattern Recognition[END_REF]), the robustness and scalability of the whole architecture can now be evaluated within the constraints of nanotechnologies.

Is this architecture nanodevice-ready ?

This section investigates, through extensive numerical simulations and theoretical analysis, the resilience of such a pattern recognition scheme to phase noise, variability, and non-linearities present in nanotechnologies. It then assess the scaling properties of the network by evaluating the evolution of its pattern discrimination capacity with increasing numbers of oscillators. The geometrical effects that can appear in nano-device architectures are also studied.

Behavior under the presence of noise

As observed in the previous section, noise is an important challenge in hardware implementations of oscillator-based computing. To complete the study of the influence of noise in this architecture initiated in Section 2.3.4.1, we simulate the reference architecture for increasing phase noise levels on both input and core oscillators. We then compare the obtained readout map to the ideal map evaluated in the noiseless case (Fig. 2.1). that this architecture is resilient to relatively high noise levels, demonstrating 70% matching at FWHM = 1MHz, corresponding to oscillators with f /FWHM ≥ 500. As a comparison, typical auto-oscillating magnetic nano-devices have shown f /FWHM ≥ 6000 [START_REF] Tsunegi | High emission power and Q factor in spin torque vortex oscillator consisting of FeB free layer[END_REF] (FWHM lower than 100kHz at 457MHz, see Section 1.3.5), and mechanical oscillators [START_REF] Zalalutdinov | Frequency entrainment for micromechanical oscillator[END_REF] can achieve f /FWHM ≈ 50 × 10 3 (see [START_REF] Feng | A self-sustaining ultrahighfrequency nanoelectromechanical oscillator[END_REF] and Section 1.3.3), which makes these technologies good candidates for this architecture.

In order to fully mitigate the effects of noise, we found that the distance between the natural frequencies of core oscillators can be increased. Figure 2.11(a) shows results for a case in which the couplings, distances between natural frequencies, and input frequency sweep ranges have been multiplied by a factor of 1.5 ( ). This system is notably more robust to noise than the initial system. However, this is a trade-off as it requires accessing a larger range of natural frequencies for the core oscillators, and ensuring stronger couplings.

As a conclusion, the architecture is robust to phase noise when the minimal interdistance between core oscillator natural frequencies is defined according to the noise level.

CHAPTER 2: USING COUPLED OSCILLATORS FOR PATTERN CLASSIFICATION

Numerical integration parameters

The time-step used that ensures convergence of both ODE and SDE integration schemes is dt = 100ps. The total simulation time was 1µs of which the first 0.5µs are the transient stabilization time after which synchronization detection counting starts. This waiting time was chosen to ensure the stabilization of the dynamics on 1, 000 simulation runs of the reference system with different random initial conditions. The total simulation time corresponds to approximately 600 periods of the oscillators and is chosen to be a realistic scale for real-life implementations. Two oscillators are considered synchronized when the final absolute value of their counter is strictly less than 6, that is less than about 2% difference in their number of periods.

Effects of natural frequencies variability

As will be studied in Chapter 4, tuning the sizes and positions of the readout synchronization pattern regions requires the ability to set the natural frequency of every core oscillator. This is done either at design time by geometrical or material engineering of each oscillator, or by relying on the knowledge of the natural frequency tuning function f 0 (bias) of every oscillator.

Both approaches are prone to device variability, which can lead to random shifts in the natural frequencies of the oscillators. As the distances between frequencies in the core network are critical parameters, this variability can induce behavioral changes.

To study the effects of natural frequency variability, the readout map was computed for increasing variability factors and compared to the reference map of Fig. 2.1(b). For increasing ∆ f 0 values, 100 possible outcomes are computed with core oscillator natural frequencies uniformly drawn in the range [

f 0 i -∆ f 0 , f 0 i + ∆ f 0 ]
where f 0 i is the target natural frequency of oscillator i . Fig. 2.12(a) shows the degree of matching with the expected readout map as a function of ∆ f 0 .

The solid curve represents the average matching for the 100 simulations, while the blue filled region shows the span between the worst and best matching values reached.

For low variability values, the worst case matching first slowly decreases up to approximately ±3MHz, before dramatically falling below 50% for higher variability values. This worst case corresponds to a situation where the natural frequencies of a pair of core oscillators are brought close enough so that undesired synchronization appears even without input stimuli.

Nevertheless, the worst case matching stays over 70% up to a variability of ±2MHz, which corresponds to 10% of the initial difference between two consecutive core network natural frequencies.

A typical example of readout map is shown on Fig. 2.12(b) in a case of 2MHz variability. In this map, f 0 1 and f 0 2 are slightly further apart than expected, which reduces the region in which they can synchronize. On the contrary, f 0 2 , f 0 3 , f 0 where all three are synchronized appear on the sides of the map.

These results show that the system is robust to moderate natural frequency variability, but that high variability on natural frequencies rapidly induces uncertainty on the system response. Again, we conclude that knowledge of the variability level of the system defines the minimal natural frequency difference between consecutive core oscillators.

In the presence of high variations, an effective approach could be to take inspiration from the reinforcement learning algorithms from the machine-learning expertise, and use the readout to implement a feedback of the oscillator biases in order to achieve the correction of the natural frequency values [START_REF] Vassilieva | Learning Pattern Recognition Through Quasi-Synchronization of Phase Oscillators[END_REF][START_REF] Borisyuk | An oscillatory neural network model of sparse distributed memory and novelty detection[END_REF], taking advantage from the tunability of the core oscillators.

Effects of coupling constants variability

Variability on the coupling values can arise from variability in inter-oscillator distances (in case of proximity coupling effects), variability in electrical connections, variability in the signal amplitude they emit or variability in their individual response to stimuli [START_REF] Sharma | Phase Coupling and Control of Oxide-based Oscillators for Neuromorphic Computing[END_REF][START_REF] Persson | Phase-locked spin torque oscillators: Impact of device variability and time delay[END_REF].

The consequences of such variability were studied by computing the readout map for increasing variability amplitudes in the coupling strengths. For each value of variability amplitude µ ranging between 0 and 100%, 100 simulations were run after randomly drawing individ-

ual couplings k a,b in the uniform range k 0 a,b (1-µ), k 0 a,b (1+µ)
where k 0 a,b is the initial coupling without variability.

A typical map obtained under a coupling variability µ = 20% is shown in Fig. 2.13(b). It shows that coupling variability has an influence on the size and shape of the synchronization regions in the readout map. Notably, it has a significant impact on regions corresponding to the synchronization of a single pair of oscillators. Indeed, the smaller the coupling between the two oscillators, the smaller the input frequency range in which they will synchronize is.

The readout map also shows that the core network no longer responds symmetrically to the two input stimuli, due to variability in input-core couplings.

The average matching with the expected readout as a function of the coupling strength variability amplitude is shown in Fig. 2.13(a). The filled region represents the span between the worst and best matching rates encountered. These results show that the network is highly robust to coupling variability. Indeed, even 100% variability does not fully hamper the function of the recognition process, as no sudden breakdown is observed. A reasonable 20% variability, even in the worst case scenario that was simulated, leads to more than 70% matching with the expected readout map. This robustness can be attributed to the existence of redundant couplings in the core network, which tends to even out local coupling variations.

These results show that the architecture is robust to coupling variability, and are very encouraging in the context of nanotechnologies, for which precise engineering of individual couplings in a network are complex to achieve.

Effects of coupling phase shifts

As introduced in Section 1.3, coupling between oscillators can arise from many different phenomena including magnetic interaction [START_REF] Locatelli | Efficient Synchronization of Dipolarly Coupled Vortex-Based Spin Transfer Nano-Oscillators[END_REF], electrical coupling [START_REF] Lebrun | Mutual synchronization of spin torque nano-oscillators through a non-local and tunable electrical coupling[END_REF][START_REF] Agrawal | Electrically coupled MEMS oscillators[END_REF], mechanical coupling [START_REF] Shim | Synchronized Oscillation in Coupled Nanomechanical Oscillators[END_REF]. Notably, couplings can have both a conservative and a dissipative component [START_REF] Pikovsky | Synchronization : a universal concept in nonlinear sciences[END_REF][START_REF] Grigory | Synchronization in Oscillatory Networks[END_REF], and sometimes involve delays. To fully account for the different types of interactions, a non-zero uniform coupling phase shift term φ i , j = φ is added in the solved Kuramoto equation 2.1, and its influence on the system is assessed through the following simulations. The readout map was simulated for different values of the coupling phase-shift term φ, in the ideal case of noiseless oscillators and with no variability. The number of discriminated synchronization patterns is also strongly affected by the appearance of a coupling phase-shift. The maximum number, 8, holds for only small phase-shifts, and then progressively falls as φ increases toward π 3 , for which all the synchronizations break. As shown by the map of Fig. 2.14(c), when φ approaches π, we observe that only synchronization of pairs of oscillators arises, in the regions for which the two inputs have close frequencies.

The map obtained for φ = 0.12π is shown in Figure 2.14(b). We can see that for this phaseshift, the synchronization pattern region shapes are already significantly deformed with regards to Fig. 2.1(b), especially when several pairs of core oscillators are involved. Indeed, while interaction phase-shifts do not prevent synchronization between two oscillators, frustrations arise when several oscillators are involved in the synchronization process as seen in other contexts in [START_REF] Vasil Tiberkevich | Phase-locking and frustration in an array of nonlinear spin-torque nano-oscillators[END_REF][START_REF] Huang | Effects of frustration on explosive synchronization[END_REF]. This phenomenon is critical in the context of the stimuli-induced core oscillator synchronizations, as at least three oscillators (2 core and 1 input) are involved.

As a conclusion, as the engineering of the pattern recognition architecture using a network of oscillators relies strongly on the ability to synchronize more than two oscillators, the phase relation between synchronized oscillators should be carefully engineered.

CHAPTER 2: USING COUPLED OSCILLATORS FOR PATTERN CLASSIFICATION

The use of delay lines or reactive components in the network can in particular be integrated in the design process to solve this issue by bringing the coupling phase shift back to zero for optimal performance. Technological solutions allowing this can be found in [START_REF] Lebrun | Mutual synchronization of spin torque nano-oscillators through a non-local and tunable electrical coupling[END_REF][START_REF] Vasil Tiberkevich | Phase-locking and frustration in an array of nonlinear spin-torque nano-oscillators[END_REF][START_REF] Datta | Neuro inspired computing with coupled relaxation oscillators[END_REF][START_REF] Zhou | Capacitance Enhanced Synchronization of Pairs of Spin-Transfer Oscillators[END_REF].

Effects of oscillator non-linearity

Non-linear behavior, i.e. phase-amplitude coupling, is a common property of nano-oscillators.

As explained in Section 1.2.4, it manifests itself through a frequency dependence on the oscillation amplitude. This non-linearity has a strong influence on the synchronization efficiency as it amplifies the effects of interactions [START_REF] Slavin | Nonlinear Auto-Oscillator Theory of Microwave Generation by Spin-Polarized Current[END_REF]. This subsection assesses the consequences of non-linearity on the behavior of the pattern recognition architecture.

I model the oscillators of the system using the Landau-Stuart model with couplings as defined by the following set of coupled equations:

       ṙi = γ(1 -r 2 i )r i + j k i , j r j cos(θ j -θ i + φ 0 ) θi = w 0 i + νγ(r 2 i -1) + j k i , j r j r i sin(θ j -θ i + φ 0 ) , (2.4)
where r i is the amplitude of oscillator i , γ is the damping coefficient for radius deviation, ν is the dimensionless nonlinear frequency shift that quantifies the non-linearity, and φ 0 is the coupling phase that depends on the physical nature of the coupling mechanism. Equation 2.4 is a conventional way to model nonlinear oscillators, as described in [START_REF] Slavin | Nonlinear Auto-Oscillator Theory of Microwave Generation by Spin-Polarized Current[END_REF]. The phase equation of this model reduces to the Kuramoto equation 2.1 in the absence of nonlinearity (ν = 0). When phase-amplitude coupling is involved, it can be shown (demonstration in Section 3.4.3) that a pair of oscillators interact with an increased effective coupling term:

k i j = k i j r j r i 1 + ν 2 .
The second effect of the nonlinearity implies a contribution to the effective coupling phase-shift, that then verifies:

φ = φ 0 + arctan(ν)
The choice of a too strong coupling is detrimental for the recognition abilities of the network, this effective increase should be conveniently used to allow the use of weaker physical couplings at design time, or allow a larger spacing between core oscillator natural frequencies.

As an illustration, we show in Fig. 2.15 the readout map obtained in a case when the coupling between the oscillators is conservative (φ 0 = -π/2) and with a strong non-linearity ν = 5, for which all coupling strengths were reduced by a factor 1 + ν 2 ≈ 5. This rescaling allows to come back to effective coupling strengths close to those of Fig. 2.1(b). However, the map appears deformed as anticipated due to the non-zero effective phase-shift (φ ≈ -0.06π for ν = 5).

We conclude that the nonlinearity effects are interestingly beneficial for the design of the introduced pattern recognition architecture. By artificially increasing the coupling strength, it allows the use of even more weakly coupled networks, but mostly it will allow to increase the spacing between core oscillators' natural frequencies, that has strong interest to mitigate

System scalability

We observed that our reference architecture composed of four core oscillators and two input oscillators already allows discriminating up to eight different classes of stimuli. We now study the evolution of the maximum number of synchronization patterns reached by the proposed architecture as it scales by increasing the number of both core and input oscillators.

During the readout phase, synchronization is evaluated between pairs of core oscillators with consecutive natural frequencies. For N c core oscillators, each one of the N c -1 pairwise evaluations can return a positive or a negative answer. The theoretical upper bound on the number of discriminated patterns can then be derived as the number of possible values taken by a binary word of N c -1 bits, i.e. 2 N c -1 .

Nevertheless, depending on the number of input oscillators, different proportions of these synchronization outcomes can be reached. To investigate the actual capacity of the system, we have computed the readout maps of the proposed circuit on GPU for different numbers of core oscillators and different numbers of input oscillators, and have counted the number of different unique available synchronization patterns in each of them. To keep the parameters of the system unchanged, we maintain a constant 20MHz difference between consecutive natural frequencies in the core network. Note that an increase in the number of core oscillators is bounded by the availability of a larger range of natural frequencies. The number of dimensions of the computed maps is equal to the number of inputs. The ideal cases (without noise nor The maximum number of patterns stays equal to the theoretical upper bound longer when more inputs are present. This is due to the fact that a higher number of groups of oscillators can be synchronized independently when more inputs are available, which increases the total number of patterns reachable by the system.

As we have seen that the presence of noise and variability in such oscillator-based computing architectures has an influence on the network's synchronization behavior, it is important to assess the scalability of the system in a non-ideal case. We reproduced simulations including an important level of noise and variability: noise FWHM = 1MHz, ±1MHz variability on natural frequencies and 10% variability on the couplings, as defined in the previous sections.

The non-ideal cases in Fig. 2.16 show the average number of discriminated synchronization patterns in the response maps obtained on 10 random trials in these conditions. The filled areas correspond to the span between the best and worst cases encountered during the random trials.

We observe that this level of noise and variability does not or barely affect the number of discriminated patterns in the 1 and 2 input cases, as well as in the 3 inputs case until N c = 5.

For higher N c values, in the three-input case, the number of output synchronization patterns is reduced with regards to the ideal case: in the worst case N c = 10, the number of stable patterns

IS THIS ARCHITECTURE NANODEVICE-READY ?

67 discriminated drops from 169 in the ideal case, to 107 on average. This loss is mainly due to the noise effects: the tested variability values, although high, have little effect on the number of synchronization patterns. The patterns suppressed by noise tend to be the smallest, therefore less-reliable, patterns.

Nevertheless, we see in Figure 2.16 that the presence of noise and variability does not fundamentally affect the scaling capability of the system, but requires avoiding using unreliable patterns of the response map. We should also remark that, in the presence of noise and variability, the previously mentioned frequency spacing criteria also limit the scalability of the system provided that the accessible natural frequency range for core and input oscillators is limited.

Overall, these results show that the maximum number of synchronization patterns of the proposed system is high and scales well with the number of oscillators, which makes the system attractive for many-class classification and associative memories.

Map resolution and scaling

To keep the the frequency resolution constant, the maps of the scaling study and 10 core oscillator maps were computed using 333 × 333 × 10 = 1, 108, 890 simulations on GPU.

Effects of geometrical constraints

Uniform all-to-all coupling is a straightforward hypothesis when considering networks of oscillators. Nevertheless, densely packed networks of oscillators also offer the possibility to leverage coupling through proximity effects. In such a situation, the distance between oscillators can affect their coupling strength and/or induce phase shifts in their signals. The geometrical arrangement of devices then appears as a fundamental consideration. It is then interesting, in the nano-device context, to assess the robustness of the studied computing scheme in the case of non-uniform couplings.

Spatially decaying coupling strengths

Proximity couplings usually involve short characteristic interaction distances. Coupling strength then decreases with the physical distance between two oscillators. This applies for example to mechanical couplings through acoustic waves(see [START_REF] Shim | Synchronized Oscillation in Coupled Nanomechanical Oscillators[END_REF] and Section 1.3.3), to spin wave coupling of spintronic oscillators [START_REF] Awad | Long-range mutual synchronization of spin Hall nano-oscillators[END_REF][START_REF] Houshang | Spinwave-beam driven synchronization of nanocontact spin-torque oscillators[END_REF], to optical couplings [START_REF] Frank | Synchronization of laser oscillators, associative memory, and optical neurocomputing[END_REF] or to couplings through dipolar electrical or magnetic fields [START_REF] Locatelli | Efficient Synchronization of Dipolarly Coupled Vortex-Based Spin Transfer Nano-Oscillators[END_REF]. See Section 1.3 for more details.

To assess this effect, we simulate our 2-input architecture considering 10 core oscillators arranged along a line, sorted by increasing natural frequency, and with core-core coupling strengths k i , j (i = j )∈core decreasing exponentially with distance:

k i , j (i = j )∈core = k cc × exp -λ i -j -1 , (2.5)
where λ is the spatial coupling decay factor. For generality, input-core couplings are left unchanged. Figure 2.17(a) shows the number of discriminated patterns in the response map, as well as its matching to the map with all-to-all uniform couplings (λ = 0), as functions of the spatial coupling decay factor λ. The graph shows that the system behavior changes minimally up to λ = 0.075, where it shows 90.6% matching to the all-to-all map with all its 53 patterns still present. The number of discriminated patterns then drops and stabilizes to 46 for λ > 0.4 and the matching with the all-to-all map drops and stabilizes to 75.4% for λ > 5.8.

In order to illustrate the effects of such a decay, we also compute an example N c = 4 core oscillator response map under a high decay factor (λ = 0.5). The corresponding response map These results show that in a configuration where couplings are decaying in space, or even limited to first neighbors, the system only loses a small portion of its capacity, as most of the synchronization patterns can be stabilized by short-range interactions alone.

IS THIS ARCHITECTURE NANODEVICE-READY ? 69

Spatially-increasing coupling phase shifts

When coupling in the network involves propagating waves, the distance between two oscillators can also induce non-negligible time delays, and therefore distance-dependent coupling phase shifts. They can also be induced by material non-linearities [START_REF] Sunil | Nonlinear Effects in Optical Fibers: Origin, Management and Applications[END_REF].

To account for distance-dependent coupling phase shifts we simulate the 2-input architecture with 10 core oscillators arranged spatially along a line, ordered by increasing natural frequency, and with a distance-dependent coupling phase shift term between core oscillators φ i , j (i = j )∈core :

φ i , j (i = j )∈core = -η × i -j , (2.6)
where η represents the phase shift per unit distance. to the uniform phase shift case, the response map of the system is heavily altered by distancerelated phase shifts. For η = 0.04π, the matching with the ideal map already drops to 63.4%, as the shape of pattern regions is changing, but only 3 patterns are not observed anymore. Generally, while the matching to the ideal η = 0 map quickly decreases below 60%, the number of stable patterns stays high, over 40, for moderate values of η (< 0.4π). A locally optimal situation is observed around η = 0.22π, which is related to system symmetries. Patterns involving only 2 core oscillators synchronized with a single input are again the most resilient to these phase shifts, while the apparition of frustrations quickly destabilizes patterns involving multiple synchronized oscillators.

Overall, to keep the maximal capacity of the system, accumulated contributions to the phase-shifts between each pair of oscillators should be brought as close to zero as possible.

Considering propagation-related effects, a careful distribution of oscillators in space should be considered to ensure target phase-shift. It is however expected that, in case of decaying coupling, the influence of distance-dependent phase-shift should be lower.

Advantages and limitations of the architecture

In this section, I showed that a network of nano-oscillators can be used to achieve recognition and classification operations robustly by relying on the rich synchronization dynamics of its oscillators while remaining compatible with their properties. This work was published as [START_REF] Vodenicarevic | A Nanotechnology-Ready Computing Scheme based on a Weakly Coupled Oscillator Network[END_REF].

In an ideal situation with noiseless oscillators and in absence of variability issues, this architecture allows the classification of stimuli in a large number of classes. Even if its capacity is diminished as compared to an ideal case, this computing architecture is also fully compatible with noise levels and device variability corresponding to current achievements in nanotechnology. Resilience to noise and device variability is a widespread feature of neural networkinspired architectures [START_REF] Querlioz | Bioinspired Programming of Memory Devices for Implementing an Inference Engine[END_REF], and a strong advocate for their use in conjunction with nanotechnologies. In the case of this system, the relaxed nature of synchronization evaluation further helps the system deal with noisy situations.

A challenge for the design of architectures using emerging nano-technologies such as nanooscillators is the difficulty, with the still limited fabrication capabilities, to integrate high numbers of devices on chip. In this work, I have shown that this architecture can allow for complex classification tasks even with a network of a reduced number of oscillators. It is able to discriminate oscillating stimuli into a number of classes that scales rapidly with the number of core oscillators, even in situations with high phase noise and variability. With this fast increase of the computational complexity with the number of oscillators, relatively complex cognitive tasks can already be achieved with a limited number of oscillators, as illustrated in this study in the case N c ≤ 10 oscillators.

Concerning scalability, our study has highlighted network design rules, for which the minimal natural frequency spacing among core oscillators has to be set in agreement with the expected noise and variability amplitudes. As a consequence, the accessible natural frequency range appears as a crucial parameter during the architecture design.

Nanodevice-based oscillators are generally non-linear [START_REF] Slavin | Nonlinear Auto-Oscillator Theory of Microwave Generation by Spin-Polarized Current[END_REF][START_REF] Mestrom | Modelling the dynamics of a MEMS resonator: Simulations and experiments[END_REF]. I have shown that these non-linearitiesi.e. phase-amplitude coupling -allow the use of weaker couplings in the core computing network, by increasing the oscillators' synchronization capabilities. They allow to increase the spacing between core oscillators frequencies, but also contribute to the phaseshifts between synchronized pairs of oscillators.

Such phase-shifts, that also arise from the global properties of the coupling, appear to be the most important practical challenge towards achieving oscillator network computation.

They are responsible for the appearance of frustrations that restrict synchronization of more than two oscillators, and reduce the global synchronization capabilities of the network. Therefore, this point should receive special attention for the choice of ideal technology as well as ideal coupling type and geometry in the design of the network. Coupling phase shifts can also be adjusted at design time: for instance, in the case of high frequency oscillators, proper trans-

POSSIBLE IMPROVEMENTS AND ALTERNATIVE ARCHITECTURES 71

mission line design can introduce phase delays between oscillators so that phase shifts are ideally brought back to zero [START_REF] Lebrun | Mutual synchronization of spin torque nano-oscillators through a non-local and tunable electrical coupling[END_REF][START_REF] Vasil Tiberkevich | Phase-locking and frustration in an array of nonlinear spin-torque nano-oscillators[END_REF][START_REF] Datta | Neuro inspired computing with coupled relaxation oscillators[END_REF][START_REF] Zhou | Capacitance Enhanced Synchronization of Pairs of Spin-Transfer Oscillators[END_REF].

The computing scheme described through this work was also shown to be compatible with different oscillator coupling strategies. While all-to-all coupling guarantees the highest classification capacity, coupling through proximity effects, prone to appear in nano-device networks, can also be leveraged with high computing capacity.

Improvements and alternative architectures

Improving the architecture A proposal to achieve advanced classification could also be to rely on the juxtaposition of several small core networks, trained independently to discriminate complementary subsets of patterns. From a nanotechnology point of view, this also avoids the complex fabrication of large networks of nano-objects and would facilitate the training of the networks.

In the case of magnetic or certain mechanical oscillators, the oscillators also need to be sufficiently spaced apart to prevent interactions through dipolar coupling or local vibrations, which limits the integration density. Embracing this interaction to combine local and global couplings between oscillators could allow the implementation of architectures with rich behaviors and higher density.

An alternative "EEG-like" readout method

This subsection describes a proposal for an alternative readout approach inspired by the EEG signals in the brain.

As introduced in Section 1.1.2.2 and later in Section 1.2.2.3, the mean field activity of an ensemble of neurons in the brain can be obtained as an EEG signal. An analogous quantity can be defined in oscillator networks as the mean of the signals of all the oscillators:

1

N i sin(θ i ) . (2.7)
This mean field signal is also directly proportional to the real part of the Kuramoto order equation (equation 1.4) :

Re r e i ψ = 1 N j sin (θ j ) .

(2.8)

CHAPTER 2: USING COUPLED OSCILLATORS FOR PATTERN CLASSIFICATION

When the order parameter r varies slowly compared to the phases sin(θ i ), it can be extracted by taking the envelope:

S = envelope 1 N j sin (θ j ) , (2.9)
which is called the "EEG-like" signal in the rest of the manuscript, as it resembles its biological counterpart. Envelope detection itself can be done with simple resistor-capacitor circuits with a suitable decay time constant τ EEG . The "EEG-like" signal is an approximation of the order parameter that is convenient to probe in typical coupled nano-oscillator networks, and provides a measure of the global synchronization state of the network. It could therefore be thresholded in order to perform binary (yes or no) classification using the same type of architecture as studied throughout this chapter.

Note that S is similar to the degree of matching measures introduced in Section 1.4.4 but is used here in a classification context that does not involve distance measurements.

In transitions of the EEG-like value, as well as a multitude of complex secondary patterns linked to higher-order dynamics which make this response more complex to understand, predict and use in real classification contexts.

These results show that the proposed EEG-like readout method could be used in a binary classification architecture if the envelope detection time constant is chosen properly. Learning algorithms for this alternative architecture are studied in Section 4.5.

Summary of the chapter

In this chapter, I have proposed an oscillator-based pattern classification architecture inspired by the seminal work of Vassilieva et al. [START_REF] Vassilieva | Learning Pattern Recognition Through Quasi-Synchronization of Phase Oscillators[END_REF] that consists of a network of coupled "core" oscillators, themselves coupled to a set of "input" oscillators. The pattern to be classified is applied as the set of natural frequencies of the input oscillators, which in turn perturb the core network, and induce synchronizations among core oscillators. The resulting list of synchronized pairs of core oscillators is read using a simple and robust counter-based synchronization scheme. This list corresponds to the class the system has attributed to the presented pattern. The response of the classifier can be tuned to properly solve a given classification problem by adjusting the natural frequencies of the core oscillators.

I have also investigated the compatibility of this architecture with the constraints linked to nano-technologies. In this context, I have shown that the architecture is robust to various phenomena including noise, oscillator variability, coupling variability and oscillator nonlinearities. However, this oscillator-based classifier appears to be sensitive to phase shifts which therefore need to be compensated at design time. I have also shown that the maximum number of classes the system can discriminate scales quickly with the number of oscillators.

In the last section, I have proposed a modified version of this architecture where, instead of performing synchronization detection for readout, the envelope of the mean field of the oscillators is measured. This readout method is inspired by the EEG signals observed in the brain, linked to the Kuramoto order parameter, and provides a promising means of binary classification.

Chapter 3

Case of the spintronic vortex nano-oscillator

Magnetism, as you recall from physics class, is a powerful force that causes certain items to be attracted to refrigerators.

Dave BARRY "

T HE THIRD CHAPTER of this thesis describes how an oscillator-based classifier can be implemented with particular devices: vortex spin transfer nano-oscillators.

"

Introduction

As explained in the introductory Section 1.3.5, spin transfer nano-oscillators have multiple advantages including compact size, compatibility with the CMOS fabrication process, wide-range tunable natural frequencies using currents or magnetic fields, and demonstrated synchronization capabilities using electrical or dipolar coupling schemes. A specific type of spin-transfer nano-oscillator involves the rotation of a stable vortex magnetization configuration instead of a full magnetic domain. This type of device, called the vortex spin-transfer nano-oscillator, presents multiple attractive features.

Features of the vortex spin-transfer nano-oscillator

The main highlights of vortex spin transfer nano-oscillators are:

• high frequencies typically of the order of 500 MHz and up to 2 GHz [START_REF] Grimaldi | Response to noise of a vortex based spin transfer nano-oscillator[END_REF],

• high spectral purity, typically FWHM ≈ 100s of kHz at GHz operating frequencies. This spectral purity exceeds that of other spin-transfer nano-oscillators, and represents the main advantage of vortex oscillators [START_REF] Locatelli | Efficient Synchronization of Dipolarly Coupled Vortex-Based Spin Transfer Nano-Oscillators[END_REF][START_REF] Dussaux | Large microwave generation from current-driven magnetic vortex oscillators in magnetic tunnel junctions[END_REF][START_REF] Pribiag | Magnetic vortex oscillator driven by d.c. spin-polarized current[END_REF],

• and wide-range current-based natural frequency tuning, over 100s of MHz [START_REF] Dussaux | Large microwave generation from current-driven magnetic vortex oscillators in magnetic tunnel junctions[END_REF][START_REF] Torrejon | Neuromorphic computing with nanoscale spintronic oscillators[END_REF][START_REF] Manfrini | Frequency shift keying in vortex-based spin torque oscillators[END_REF].

• Experimentally demonstrated electrical and dipolar coupling and synchronization capabilities [START_REF] Locatelli | Efficient Synchronization of Dipolarly Coupled Vortex-Based Spin Transfer Nano-Oscillators[END_REF][START_REF] Lebrun | Mutual synchronization of spin torque nano-oscillators through a non-local and tunable electrical coupling[END_REF][START_REF] Tsunegi | Electrical synchronization of spin-torque oscillators driven by self-emitted high frequency current[END_REF].

Due to their frequencies in the microwave range, low bandwidth and intrinsic broad range current-to-frequency conversion, vortex spin-transfer nano-oscillators are the focus of studies investigating their usage in the telecommunication domain [START_REF] Manfrini | Frequency shift keying in vortex-based spin torque oscillators[END_REF][START_REF] Kreissig | Vortex spin-torque oscillator stabilized by phase locked loop using integrated circuits[END_REF][START_REF] Grimaldi | Spintronic nano-oscillators: Towards nanoscale and tunable frequency devices[END_REF].

As part of the MEMOS project, we are in close collaboration with Julie Grollier's team at the CNRS/Thales joint laboratory in Palaiseau. In order to harness the potential of this collaboration, we investigate the implementation possibilities of the oscillator-based architectures introduced in Chapter 2 with the vortex spin-transfer nano-oscillators that our collaborators The device under consideration is a 100 nm wide nanopillar hybrid spin transfer vortex based oscillator, as introduced in [START_REF] Dussaux | Large amplitude spin torque vortex oscillations at zero external field using a perpendicular spin polarizer[END_REF], and presented in Figure 3.1(a). It is composed of a layered stack, including a metallic spin-valve structure with a perpendicularly magnetized ferromagnetic layer, a non-magnetic spacer and a central ferromagnetic layer. The latter is also part of a magnetic tunnel junction, composed of an insulating barrier and an in-plane magnetized ferromagnetic layer. The magnetizations of both perpendicular and in-plane magnetized ferromagnets are considered pinned (i.e. constant). The dimensions of the pillar and particularly the aspect ratio of the central ferromagnet are chosen so that its remanent magnetic state is a vortex [START_REF] Guslienko | Magnetic vortex state stability, reversal and dynamics in restricted geometries[END_REF]. Such magnetic state corresponds to the magnetization curling in the layer's plane and popping out-of-plane in the center region called the vortex core (see Figure 3.1). The studied mode of the vortex, called "gyrotropic mode", corresponds to a circular displacement of the vortex core around the center of the magnetic dot [START_REF] Thiele | Steady-State Motion of Magnetic Domains[END_REF][START_REF] Guslienko | Magnetic vortex state stability, reversal and dynamics in restricted geometries[END_REF] as illustrated in Figure 3.1(b).

Description of the device

As current flows through the device, the two pinned layers act as spin-current sources generating a spin-transfer effect on the vortex. As demonstrated in previous works, a source of perpendicular spin polarization is mandatory to start and sustain the vortex precession [START_REF] Mistral | Current-Driven Vortex Oscillations in Metallic Nanocontacts[END_REF][START_REF] Khvalkovskiy | Vortex oscillations induced by spin-polarized current in a magnetic nanopillar: Analytical versus micromagnetic calculations[END_REF].

On the other hand, the MTJ with in-plane magnetized layer is needed to convert the magnetization oscillations into resistance oscillations [START_REF] Dussaux | Large amplitude spin torque vortex oscillations at zero external field using a perpendicular spin polarizer[END_REF], and plays a major role in the synchronization process by providing an in-plane component to the current spin polarization [START_REF] Khvalkovskiy | Nonuniformity of a planar polarizer for spin-transfer-induced vortex oscillations at zero field[END_REF]. Under sufficient current bias, the device then demonstrates permanent resistance oscillations and a resulting AC voltage appears across the device.

Vortex spin transfer nano-oscillators therefore behave as oscillating resistors, with a frequency increasing with the applied DC current. This allows coupling multiple oscillators electrically.

Defining a model of the device

We propose an implementation of a physical model describing the self-sustained vortex oscillations in a pillar STNO for use in integrated circuit design of hybrid MTJ/CMOS systems.

To correctly describe the oscillator behavior at room temperature, our model implementation includes non-linearities [START_REF] Dussaux | Field dependence of spin-transfer-induced vortex dynamics in the nonlinear regime[END_REF], as well as phase and amplitude noise effects under thermal fluctuations [START_REF] Tiberkevich | Temperature dependence of nonlinear auto-oscillator linewidths: Application to spin-torque nano-oscillators[END_REF][START_REF] Grimaldi | Response to noise of a vortex based spin transfer nano-oscillator[END_REF]. These factors can be of major importance to accurately describe the synchronization phenomenon.

We present a VerilogA implementation of the model under the Cadence platform and confront the obtained simulations to previously obtained experimental results. Finally, we demonstrate the compatibility of our model with a CMOS design kit for integrated circuit design by simulating an integrated current source for biasing and synchronization of the STNO.

The vortex spin-transfer oscillator model

Because the vortex gyrotropic mode is isolated from other higher frequency modes, the selfsustained oscillations under spin-transfer effect can be properly described by a collective-variable equation, called the Thiele equation [START_REF] Thiele | Steady-State Motion of Magnetic Domains[END_REF][START_REF] Guslienko | Magnetic vortex state stability, reversal and dynamics in restricted geometries[END_REF], where the global dynamics is described through the evolution of the position of the magnetic vortex core. This equation was recently extended to include the spin-transfer terms [START_REF] Mistral | Current-Driven Vortex Oscillations in Metallic Nanocontacts[END_REF][START_REF] Khvalkovskiy | Vortex oscillations induced by spin-polarized current in a magnetic nanopillar: Analytical versus micromagnetic calculations[END_REF][START_REF] Dussaux | Field dependence of spin-transfer-induced vortex dynamics in the nonlinear regime[END_REF]. The device is then modeled according to the following equations, where X = ρe i χ is the vortex core complex coordinate (see Figure 3.1(b)):

iG Ẋ = -D(ρ) Ẋ -k(ρ)X + i κ ⊥ I X + (κ SL + i κ FL ) I + F noi se (t ) . (3.1)
The device conductance oscillates in time according to: lators theory [START_REF] Tiberkevich | Temperature dependence of nonlinear auto-oscillator linewidths: Application to spin-torque nano-oscillators[END_REF][START_REF] Grimaldi | Response to noise of a vortex based spin transfer nano-oscillator[END_REF][START_REF] Kamppeter | Finite temperature dynamics of vortices in the two dimensional anisotropic Heisenberg model[END_REF]. Finally, the amplitude of the oscillations is limited by the existence of a critical velocity v c for the vortex core that triggers a polarity switching and subsequently stops the self-sustained oscillations [START_REF] Khvalkovskiy | Vortex oscillations induced by spin-polarized current in a magnetic nanopillar: Analytical versus micromagnetic calculations[END_REF].

R = R 0 + R = R 0 -R amp ρIm(X ) , where      R 0 = 2R min 1+ 1 1+T M R R amp = R 0 2 ξ 2R min 1 -1 1+T M R . ( 3

Field-like torque

Note that because at the time of this work the effects of the field-like-torque κ FL was considered negligible in the description of such oscillators, the preliminary version of our model considered until Section 3.2.5 uses a field-like-torque factor λ = 0 (see Table 3.2).

Model implementation

The described physical model was implemented in VerilogA analog hardware description language. This allows the model to be used as a component in circuits simulated by a broad range of circuit simulation tools, and in particular the industry-standard Cadence Spectre simulator we are using. Simulations were conducted for a 2r = 180nm diameter device, with a t = 10nm thick free N i F e layer whose magnetic parameters are gathered in the the spin-valve) and an ideal p ∥ = 100% in-plane polarization (from the MTJ) were assumed.

These parameters correspond to a critical 220µA current to start the self-sustained oscillations.

The model was tested under constant current bias for transient simulations, in both cases of noise-free and noisy oscillator. The vortex core position was initiated in a random position in the vicinity of the ferromagnet center, allowing the observation of a transitory regime where the oscillations amplitude increases up to its stable value, starting the steady regime of oscillations.

A major criteria for the validation of our model was the stability of the noise-free auto- we present the temporal evolution of the device voltage under a constant 260µA current bias in both cases. The observed auto-oscillation frequency is 617.8MHz, in good agreement with the expected frequency for the chosen device dimensions [START_REF] Guslienko | Magnetic vortex state stability, reversal and dynamics in restricted geometries[END_REF]. As it appears on the corresponding spectrum on Figure 3.2(c), fluctuations in the noisy oscillator translate into phase noise that broadens the spectrum peak, accounting for the non-zero peak linewidth observed experimentally [START_REF] Dussaux | Large amplitude spin torque vortex oscillations at zero external field using a perpendicular spin polarizer[END_REF]. A 14.6MHz linewidth is measured, independent on the time step, in good agreement with the 14.0MHz theoretically predicted linewidth [START_REF] Tiberkevich | Temperature dependence of nonlinear auto-oscillator linewidths: Application to spin-torque nano-oscillators[END_REF].

oscillations

CMOS-compatible natural frequency tuning

We validated the compatibility of our model with a commercial 28-nm CMOS design kit by designing a MOSFET-based supply for the STNO (see Figure 3.3). The circuit is a voltage controlled current source. A two-transistor architecture is implemented to prevent voltage oscillations across the STNO from disturbing the current bias. With this circuit, the current is kept constant despite the resistance oscillations of the device that can shift the operating point of the transistors. The frequency of the auto-oscillator is then controlled by the gate voltage of the T 1 transistor, as summarized in Figure 3.3.

The circuit is designed so that a zero command voltage stays below the threshold current

Synchronization to an oscillating signal

Spin transfer nano-oscillators also show the ability to respond to an AC-current excitation by synchronizing to the input signal for sufficient amplitude and if its frequency is close enough to the auto-oscillation frequency [START_REF] Dussaux | Phase locking of vortex based spin transfer oscillators to a microwave current[END_REF][START_REF] Lehndorff | Injection locking of the gyrotropic vortex motion in a nanopillar[END_REF]. To test the ability of the implemented model to implement this capability, we simulated the response of the STNO when a harmonic AC-voltage is added to the command voltage as shown on Figure 3.4(a). The simulation was run for V cd e = 120mV, corresponding to a 261µA current bias and a frequency of 619MHz, to which an ACsignal at a frequency 609MHz was added. The frequency response presented in Figure 3.4(b)

shows that a minimum 100mV AC-input amplitude is necessary for the oscillator to shift its frequency and synchronize to the AC signal, which corresponds to the AC-current amplitude These results show that the model is capable of predicting synchronization to an oscillating current, however the synchronization range initially didn't fully match experimental results [START_REF] Lebrun | Mutual synchronization of spin torque nano-oscillators through a non-local and tunable electrical coupling[END_REF]. Section 3.2.5 explains the underlying causes of this mismatch and the corrections we applied.

CHAPTER 3: CASE OF THE SPINTRONIC VORTEX NANO-OSCILLATOR

Model parameter

Limitations of the model and subsequent improvements

Since our publication of this model in 2015 [START_REF] Locatelli | Vortexbased spin transfer oscillator compact model for IC design[END_REF], new experimental results, including results from our collaborators in Thales, have shed light on some of its limitations, after which we have improved the model.

The field-like torque term κ FL was shown to be dominant compared to κ SL by Romera et al. [START_REF] Romera | Enhancing the injection locking range of spin torque oscillators through mutual coupling[END_REF] to explain the strong synchronization capabilities of these oscillators. We therefore adjusted λ to match experimental values. The underestimated non-linearity of the oscillator also caused noise over-estimation and is corrected by the adjustments.

Adjusting the model to specific devices

The CMOS-compatible Verilog-A model of the vortex-based spin transfer oscillator that we presented in Section 3.2.1 represents the theoretical behavior of a generic vortex nano-oscillator around its typical operation regime. It uses analytically predicted parameters from fundamental physics, and assumes typical material properties. We demonstrated that it successfully accounts for the non-linear behavior of typical vortex nano-oscillators, their current-based natural frequency tuning, as well as their ability to synchronize to external signals.

As real devices have different properties and non-idealities, their operating point is not the same as in the ideal case. Instead, parameters can be chosen to match experimental measurements or micromagnetic simulations around the operating point. As shown by Grimaldi et al [START_REF] Grimaldi | Response to noise of a vortex based spin transfer nano-oscillator[END_REF], this can imply adjustments of multiple orders of magnitude compared to values deduced from the analytical analysis.

In the framework of our cooperation with CNRS-Thales, I used parameters that describe the general behavior of the vortex nano-oscillators studied experimentally by the team of Julie Grollier as given in Table 3.3. Note that the field-like torque is now taken into account with λ = 5 according to the observations of Lebrun et al. [START_REF] Lebrun | Mutual synchronization of spin torque nano-oscillators through a non-local and tunable electrical coupling[END_REF].

ELECTRICALLY COUPLING NANO-OSCILLATORS IN A CIRCUIT 85

Electrically coupling nano-oscillators in a circuit

Physically coupling STNOs all-to-all can be achieved through electrical coupling which consists in summing the signals of all oscillators and applying the resulting sum signal as an oscillating current to all oscillators. As a result, each oscillator is coupled to each other. Our collaborators studied different circuit implementations of this approach [START_REF] Georges | Impact of the electrical connection of spin transfer nano-oscillators on their synchronization: an analytical study[END_REF]. Julie Grollier's team also implemented one of those coupling schemes [START_REF] Romera | Enhancing the injection locking range of spin torque oscillators through mutual coupling[END_REF], proving its operation experimentally. This section focuses on a theoretical description of this approach.

Coupling oscillators in series

Phase compensation

As explained in Section 2.4.4, the synchronization of oscillators is sensitive to phase shifts.

These simulations include a compensation of the phase shift to maximize the synchronization range. Phase compensation has been demonstrated experimentally by our collaborators in the case of vortex spin transfer nano-oscillators using delay lines [START_REF] Lebrun | Mutual synchronization of spin torque nano-oscillators through a non-local and tunable electrical coupling[END_REF]. shows the mean frequencies of the two oscillators as functions of I 0 1 . Outside of the synchronization range, the mean frequency of Osc. 1 varies quasi-linearly with I 0 1 , and shows a natural frequency tuning behavior consistent with experiments [START_REF] Lebrun | Mutual synchronization of spin torque nano-oscillators through a non-local and tunable electrical coupling[END_REF]. The synchronization range of about 5 MHz also matches its experimentally observed order of magnitude [START_REF] Lebrun | Mutual synchronization of spin torque nano-oscillators through a non-local and tunable electrical coupling[END_REF]. This validates the behavior of the oscillator compact model as well as the effectiveness of this coupling circuit which allows choosing the natural frequencies of the oscillators by applying bias currents.

Analytical interpretation of the circuit

This approach can be extended to a higher number of oscillators as shown in Figure 3.6. A rigorous analytical analysis provides further predictive power and insight into this scheme. Connecting the current and voltage of capacitor C yields:

I rf = C d d t j (I 0 j -I rf )R j -I rf R L . (3.3)
As C is large, the capacitor voltage in its stable state can be assumed constant and equal to

l I 0 l R 0 l : j (I 0 j -I rf )(R 0 j + R j ) -I rf R L = j I 0 j R 0 j . (3.4)
Rearranging the terms and using R j = R 0 j + R j provides the expression of the oscillating current

ELECTRICALLY COUPLING NANO-OSCILLATORS IN A CIRCUIT

87

I rf :

I rf = l I 0 l Rl R L + l R 0 l + l Rl . (3.5)
The sum of resistance deviations l Rl is small compared to the sum of the constant resistances R L + j R 0 l not only because of the lower amplitude of its terms, but also because of their mutual compensations. The denominator term can therefore be approximated:

I rf ≈ l I 0 l Rl R L + j R 0 l . ( 3.6)
The total current through oscillator j is then:

I tot j = I 0 j -I rf = I 0 j - m I 0 m R L + l R 0 l Rm , (3.7)
and by using the expression of the STNO resistance (equation (3.2)):

I tot j = I 0 j + m I 0 m R L + l R 0 l R amp m ρ m sin(θ m ) , (3.8)
where θ m is the phase of the oscillator m.

Therefore, the total current through oscillator j is:

I tot j = I 0 j + m A m ρ m sin(θ m ) , where A m = I 0 m R L + l R 0 l R amp m . (3.9)
This result confirms that the current through an oscillator j of the circuit is composed of its current bias I 0 j and of the sum of the signals of all the oscillators in the network. Note that the weight of a single oscillator m in this sum is proportional to its amplitude ρ m and to its constant current bias I 0 m .

Mean field signal

The voltage measured at the terminals of R L is :

U L = -R L m A m ρ m sin(θ m ) . (3.10)
This signal is linked to the mean field generated by the combined activity of all the oscillators and acting on the whole network i sin(θ i ). EEG-like architectures such as described in Section 2.5.2 could be readily implemented simply by taking the envelope of this signal with an envelope detection circuit.

This circuit is therefore a valid and realistic approach for STNO coupling, and is used as the reference coupling circuit throughout this chapter. Furthermore, it can also be used for other two-terminal resistive oscillator devices.

Note : Mean frequency readout

The average frequencies of the oscillators can be measured using a spectrum analyzer in place of R L as done by our collaborators [START_REF] Lebrun | Mutual synchronization of spin torque nano-oscillators through a non-local and tunable electrical coupling[END_REF], which allows synchronization detection.

However, using a spectrum analyzer is acceptable on a tabletop experiment but not for integrated circuit realization.

This detection can instead be achieved by amplifying the voltage at the terminals of each measured oscillator j :

U j = (R 0 j + R j ) × I 0 j -I rf .
The DC contribution R 0 j I 0 j can be filtered out with a series capacitor, which leaves the oscillating part of the voltage Ũ j . Moreover, simulations show that in this circuit, the amplitude of I rf is low compared to I 0 j , which makes R j I 0 j the dominant contribution to Ũ j by an order of magnitude:

Ũ j ≈ R j I 0 j = R amp j ρ j sin(θ j ) ,
which is proportional to the oscillator signal sin(θ j ) and can readily be used with the synchronization detection circuits proposed in Section 2.2, providing a more integrable readout approach.

Link with general oscillator models

The Thiele model provides a realistic description of vortex STNOs but can be cumbersome to simulate or not adapted to other similar oscillator technologies. This section investigates how well STNOs are described by a generic non-linear (Landau-Stuart) or even a linear (Kuramoto) model as used in our device-agnostic simulations.

Coupled phase-amplitude equations

The complex Thiele model expresses the evolution of the vortex core position X in the complex plane:

iG Ẋ = -D Ẋ -k X + i κ ⊥ I X + (κ SL + i κ FL )I , (3.11)
where:

   D = αG η + η ρ 2 k = (k ms + k Oe I ) + (k ms + k Oe I )ρ 2 .
(3.12)

The expression κ SL + i κ FL is a complex number combining the in-plane effects of two orthogo-

LINK WITH GENERAL OSCILLATOR MODELS 89

nal torques: the Slonczewski and Field-Like torques. It can be rewritten in polar coordinates:

iG Ẋ = -D Ẋ -k X + i κ ⊥ I X + I κ ∥ e i ψ ∥ , where    κ ∥ = κ 2 SL + κ 2 FL ψ ∥ = tan -1 (κ FL /κ SL ) . (3.13)
This form makes the phase shift ψ ∥ induced by the in-plane torques explicit. The system parameters used in this study yield κ ∥ ≈ 0.11 and the phase shift ψ ∥ ≈ 0.49π matches the value experimentally obtained by our collaborator R. Lebrun [START_REF] Lebrun | Mutual synchronization of spin torque nano-oscillators through a non-local and tunable electrical coupling[END_REF]:

ψ exp ∥ ≈ π/2
. By setting X = ρe i θ where ρ is the amplitude and θ the phase of the oscillator, the real and imaginary parts of the resulting equation can be combined, knowing D > 0 and G > 0, into coupled amplitude and phase equations. Moreover, we split the noise terms into their real and imaginary parts and expand the resulting random walk terms for an integration timestep d t :

       ρ = Gκ ⊥ I -Dk D 2 +G 2 ρ - κ ∥ D 2 +G 2 I sin θ -ψ ∥ -ψ 0 + σN (0, 1) θ = Dκ ⊥ I +Gk D 2 +G 2 - κ ∥ D 2 +G 2 I ρ cos θ -ψ ∥ -ψ 0 + σ ρ N (0, 1) , with ψ 0 = tan -1 (D/G) and σ = 1 r G 2k B T D d t . (3.14)
This convenient form of the Thiele model readily provides the radius stability condition of an isolated oscillator Gκ ⊥ I = Dk. In the case of the second order developments of D(ρ 2 ) and k(ρ 2 ) used here, this is a second degree polynomial in ρ 2 that can be solved analytically to obtain the stable amplitude ρ 0 .

Simulation and subsequent spectral analysis show an oscillator linewidth of FWHM = 171.4 kHz which is consistent with experimental observations and solves the noise overestimation problem mentioned in Section 3.2.5. Moreover, when the condition Gκ ⊥ I = Dk is injected as is in the phase equation θ without the coupling term, it yields the natural frequency of the Thiele oscillator:

f 0 thiele = 1 2π k G . ( 3.15)
Also note that since D G, the phase shift component ψ 0 is considered low (ψ 0 ≈ 0.004π in my simulations) and ψ ∥ dominates.

Upper bound on the integration time step

Knowing the expression of the natural frequency f 0 thiele and requiring 50 integration steps per period with a high margin against small frequency variations around this natural frequency, the upper bound on the integration step I used is:

dt < 1 50 2π G k .

From Thiele to Landau-Stuart

As the frequency of a vortex STNO evolves quadratically with its amplitude, this device is an intrinsically non-linear oscillator. As shown in Section 2.4.

   ρ = Gκ ⊥ I -Dk D 2 +G 2 ρ θ = Dκ ⊥ I +Gk D 2 +G 2 Landau -Stuart :    ρ = γ(ρ 0 2 -ρ 2 )ρ θ = 2π f 0 + νγ(ρ 2 -ρ 0 2 ) .
A few approximations are however needed to obtain compatible expressions between the two models.

Developing terms around the equilibrium state

A major complexity of the Thiele model resides in the current or radius dependencies of parameters k and D.

However, the oscillating component I rf of the current is small compared to its constant part I 0 (see Section 3.3). Because of this, the expression of the confinement k can be approximated by the case I = I 0 :

k ≈ (k ms + k Oe I 0 ) + (k ms + k Oe I 0 )ρ 2 . (3.16)
For the same reason:

κ ⊥ I ≈ κ ⊥ I 0 . (3.17)
Likewise, simulations show that after the transient period, the amplitude of an oscillator deviates by less than 15% from its stable amplitude ρ 0 . The amplitude of an oscillator can therefore be expressed as:

ρ = ρ 0 + δρ , (3.18)
where δρ is a small deviation.

Using this expression, it is possible to develop the amplitude-dependent terms k and D to the first order in δρ:

k ≈ k 0 + k 1 ρ 2 , ( 3.19)

LINK WITH GENERAL OSCILLATOR MODELS 91

where k 0 = (k ms + k Oe I 0 ) + (k ms + k Oe I 0 )ρ 0 2 and k 1 = (k ms + k Oe I 0 )2ρ 0 .

And for D:

D ≈ D 0 + D 1 δρ , (3.20)
where D 0 = αG η + η ρ 0 2 and D 1 = αGη 2ρ 0 .

In the fraction 1 D 2 +G 2 , the constant G 2 in the denominator is more than 5000 times larger than D 2 . The first order term D 1 can therefore be safely omitted:

1 D 2 +G 2 ≈ 1 D 0 2 +G 2 .
(3.21)

First order equivalence of the amplitude equations

The Thiele amplitude equation is not directly compatible with the one given by Landau-Stuart, but the two models have similar behaviors around the stable point of operation. The next step is therefore to derive and map the first order expressions of these two models.

Re-injecting the approximated factors back into the Thiele amplitude equation without coupling terms yields, after rearranging the terms:

ρ = 1 D 0 2 +G 2 Gκ ⊥ I 0 -D 0 k 0 -D 0 k 1 + D 1 k 0 δρ ρ . (3.22)
At equilibrium, the stable radius ρ 0 verifies δρ = ρ = 0, which implies:

Gκ ⊥ I 0 = D 0 k 0 . (3.23)
This is a second degree polynomial in ρ 0 2 that can be solved exactly to obtain ρ 0 :

Gκ ⊥ I 0 = αG η + η ρ 0 2 (k ms + k Oe I 0 ) + (k ms + k Oe I 0 )ρ 0 2 . (3.24)
Taking this into account allows to reduce the amplitude equation to a simple form: As the two amplitude equations now have the same first-order form, it is possible to identify

ρ = - D 0 k 1 + D 1 k 0 D 0 2 +G 2 δρ ρ . ( 3

CHAPTER 3: CASE OF THE SPINTRONIC VORTEX NANO-OSCILLATOR

the damping coefficient for radius deviation γ:

γ = D 0 k 1 + D 1 k 0 2ρ 0 (D 0 2 +G 2 ) . (3.27)
As a result, the Landau-Stuart amplitude equation equivalent at first order to the Thiele amplitude equation is:

ρ = γ(ρ 0 2 -ρ 2 )ρ , with γ = D 0 k 1 + D 1 k 0 2ρ 0 (D 0 2 +G 2 ) , (3.28)
where the equivalent stable radius ρ 0 is found by solving the polynomial given in equation (3.24).

Equivalence of the phase equations

The Thiele phase equation without couplings directly maps to the Landau-Stuart with only minor approximations (D and k do not need to be linearized in δρ):

θ = 1 D 0 2 +G 2 κ ⊥ I 0 D +Gk . ( 3.29)
Expanding the terms and rearranging yields:

θ = 1 D 0 2 +G 2 κ ⊥ I 0 αGη +G(k ms + k Oe I 0 ) + 1 D 0 2 +G 2 κ ⊥ I 0 αGη +G(k ms + k Oe I 0 ) ρ 2 . (3.30)
This expression can be immediately mapped to the Landau-Stuart phase equation:

θ = 2π f 0 + νγ(ρ 2 -ρ 0 2 ) . (3.31)
Identifying the dimensionless nonlinear frequency shift ν gives:

ν = 1 γ(D 0 2 +G 2 ) κ ⊥ I 0 αGη +G(k ms + k Oe I 0 ) . (3.32)
This expression confirms that this dimensionless parameter that quantifies the non-linearity of the oscillator mainly depends on the second order physical parameters η , k ms , k Oe : without them, the oscillator behaves in a linear way. Its value in my simulations is ν ≈ 2.04 which is close to the value experimentally predicted by our collaborators tan -1 (ν experiment ) ≈ 2π/5 =⇒ ν experiment ≈ 3. The natural frequency f 0 can be readily found by injecting the amplitude equilibrium condition (3.23) into the phase equation (3.29):

f 0 = 1 2π k 0 G . (3.33)
As a result, the Thiele phase equation without couplings is almost perfectly equivalent to the

LINK WITH GENERAL OSCILLATOR MODELS 93

Landau-Stuart phase equation as defined by: θ = 2π f 0 + νγ(ρ 2 -ρ 0 2 ) , where

           f 0 = 1 2π k 0 G γ = D 0 k 1 +D 1 k 0 2ρ 0 (D 0 2 +G 2 ) ν = 1 γ(D 0 2 +G 2 ) κ ⊥ I 0 αGη +G(k ms + k Oe I 0 ) . (3.34)

Coupling terms in the amplitude equation

Applying an oscillating current to an STNO acts on its amplitude. Injecting the total current applied to the oscillator j inside the circuit (equation 3.9) into the coupling part of the Thiele amplitude equation (3.14)

yields: ρ = [. . . ] - κ ∥ D 2 +G 2 sin(θ -ψ ∥ -ψ 0 ) I 0 + m A m ρ m sin(θ m ) . (3.35)
After expansion:

ρ = [. . . ] - κ ∥ D 2 +G 2 I 0 sin(θ -ψ ∥ -ψ 0 ) - m κ ∥ A m D 2 +G 2 ρ m sin(θ m ) sin(θ -ψ ∥ -ψ 0 ) . (3.36)
The first term sin(θ -ψ ∥ -ψ 0 ) is parasitic: it makes the radius oscillate with the phase of the oscillator itself. This term does not provide an explicit contribution to the synchronization dynamics as it does not involve other oscillators at the first order. We chose to approximate it out.

Moreover, sin(θ m ) sin(θ

-ψ ∥ -ψ 0 ) = 1 2 (cos(θ m -θ + ψ ∥ + ψ 0 ) -cos(θ m + θ -ψ ∥ -ψ 0 )).
As the absolute frequencies are high (hundreds of MHz) and are tuned in a small range, the term cos(θ m +θ-ψ ∥ -ψ 0 ) oscillates at about twice the frequency of the oscillator. Such high-frequency terms can perturb the oscillator dynamics, but do not induce synchronizations. As a result, we decided to neglect it as well.

These two relatively strong approximations, as well as D ≈ D 0 in the denominator make the problem more tractable, and yield the following expression for the amplitude coupling term of

oscillator i : ρi = [. . . ] + 2π j k i , j ρ j cos(θ j -θ i + φ 0 i ) ,
where

     k LS i , j = κ ∥ i A j 4π D 0 i 2 +G 2 i φ 0 i = ψ ∥ i + ψ 0 i -π . ( 3.37)
This shows an explicit dependence on the phase differences with other oscillators θ j -θ, which

CHAPTER 3: CASE OF THE SPINTRONIC VORTEX NANO-OSCILLATOR

is an important factor for entrainment and synchronization.

Note : Self-coupling

Note that the terms ρ m cos(θ m -θ + (ψ ∥ + ψ 0 -π)) of the coupling sum also include a contribution of the oscillator itself, for which the phase difference is zero. This adds a constant term to the amplitude expression, making the stable amplitude slightly higher, which increases the natural frequency as well, thus deviating from the point of operation f 0 expression derived earlier and around which the system was approximated. However, simulations show that the effects of this self-coupling term are low in practice, that the point of operation deviates only slightly, and that the approximations still hold.

Amplitude coupling allows indirect synchronization effects, as amplitude oscillations translate into frequency oscillations in non-linear oscillators.

Coupling terms in the phase equation

The Thiele phase equation (3.14) also contains a coupling term. The expression of the oscillating current in the circuit can therefore be injected into it to obtain:

θ = [. . . ] - κ ∥ D 2 +G 2 1 ρ cos(θ -ψ ∥ -ψ 0 ) I 0 + m A m ρ m sin(θ m ) . (3.38)
Following the same procedure as for the amplitude coupling term, we neglect the parasitic term in cos(θ-ψ ∥ -ψ 0 )I 0 . We also expand sin(θ m ) cos(θ-ψ ∥ -ψ 0 ) = 1 2 (sin(θ m +θ-ψ ∥ -ψ 0 )+sin(θ mθ + ψ ∥ + ψ 0 )) and neglect the double frequency term. These approximations, as well as D ≈ D 0 in the denominator yield the following phase coupling for oscillator i :

θ ≈ [. . . ] + 2π j k LS i , j ρ j ρ i sin(θ j -θ i + φ 0 i ) , where      k LS i , j = κ ∥ i A j 4π D 0 i 2 +G 2 i φ 0 i = ψ ∥ i + ψ 0 i -π . ( 3

.39)

Complete Landau-Stuart model with couplings

Taking all these considerations into account, the Landau-Stuart model equivalent at first order to the Thiele model is defined by: According to our tests, this inaccuracy lies in the neglected parasitic and double-frequency terms (sections 3.4.2.4 and 3.4.2.5) that can act as noise that reduces the synchronization range, as well and the slight shift in the point of operation due to self-coupling (remark in section 3.4.2.4). It also partly comes from circuit-related approximations neglecting some parasitic oscillations (Section 3.3.2). This results in a large under-estimation of the dynamics perturbing the system and acting against the stability of the synchronization. The net effect of this deviation is a ≈ 2.5× overestimation of the effective coupling strengths k LS i , j . I therefore corrected the model by dividing k LS i , j by 2.5 and simulated it again.

         ρi = γ i (ρ 0 i 2 -ρ 2 i )ρ i + 2π j k LS i , j ρ j cos(θ j -θ i + φ 0 i ) θi = 2π f 0 i + ν i γ i (ρ 2 i -ρ 0 i 2 ) + 2π j k LS i , j ρ j ρ i sin(θ j -θ i + φ 0 i ) . ( 3
         ρi = γ i (ρ 0 i 2 -ρ 2 i )ρ i + 2π j k LS i , j ρ j cos(θ j -θ i + φ 0 i ) θi = 2π f 0 i + ν i γ i (ρ 2 i -ρ 0 i 2 ) + 2π j k LS i , j ρ j ρ i sin(θ j -θ i + φ 0 i ) ,
where

                                                 γ i = D 0 i k 1 i + D 1 i k 0 i 2ρ 0 i (D 0 i 2 +G 2 i ) ν i = 1 γ i (D 0 2 i +G 2 i ) k ⊥i I 0 i α i G i η i +G i (k msi + k Oei I 0 i ) k LS i , j = 1 2.5 κ ∥ i A j 4π D 0 i 2 +G 2 i f 0 i = 1 2π k 0 i G i φ 0 i = ψ ∥ i + ψ 0 i -π . ( 3

Noise terms

The expression of the noise can be approximated by using σ ≈ σ 0 around the equilibrium point:

LINK WITH GENERAL OSCILLATOR MODELS 97

         ρi = γ i (ρ 0 i 2 -ρ 2 i )ρ i + 2π j k LS i , j ρ j cos(θ j -θ i + φ 0 i ) + σ 0 i N (0, 1) θi = 2π f 0 i + ν i γ i (ρ 2 i -ρ 0 i 2 ) + 2π j k LS i , j ρ j ρ i sin(θ j -θ i + φ 0 i ) + σ 0 i ρ 0 i N (0, 1)
, where

σ 0 i = 1 r i G i 2k B T D 0 i d t .
(3.42)

Simulations and subsequent spectral analysis show a linewidth of FWHM = 73.02 kHz, which is lower than the linewidth obtained from the Thiele model (171.4 kHz). This difference is mainly due to the neglected higher order terms that induced linewidth spreading. My simulations have shown that in this case, a correction factor 2 can be applied to the noise terms in the Landau-Stuart equations to match the Thiele model:

σ 0 i (corrected) = 2σ 0 i . (3.43)
With this correction, I obtain a consistent linewidth of 186.3 kHz.

Linear approximation: connection with the Kuramoto model

Most simulations in this thesis use the generic linear Kuramoto model. It is therefore important to evaluate how well this model captures the behavior of a typical nano-oscillator. This subsection assesses whether this can be used to describe the complex case of the heavily non-linear vortex STNOs.

The starting point of this analytical study is the coupling-corrected Landau-Stuart model (equation 3.41) that successfully describes the vortex STNO:

         ρi = γ i (ρ 0 i 2 -ρ 2 i )ρ i + 2π j k LS i , j ρ j cos(θ j -θ i + φ 0 i ) θi = 2π f 0 i + ν i γ i (ρ 2 i -ρ 0 i 2 ) + 2π j k LS i , j ρ j ρ i sin(θ j -θ i + φ 0 i ) . ( 3

.44)

As the Kuramoto model assumes a constant amplitude, it demands ρi = 0. This strong approximation transforms the Landau-Stuart amplitude equation into:

γ i (ρ 2 i -ρ 0 i 2 ) = 2π j k LS i , j ρ j ρ i cos(θ j -θ i + φ 0 i ) . (3.45)
This expression can be readily injected in the phase equation in place of

γ i (ρ 2 i -ρ 0 i 2 ): θi = 2π f 0 i + 2πν i j k LS i , j ρ j ρ i cos(θ j -θ i + φ 0 i ) + 2π j k LS i , j ρ j ρ i sin(θ j -θ i + φ 0 i ) . (3.46)

CHAPTER 3: CASE OF THE SPINTRONIC VORTEX NANO-OSCILLATOR

Combining the trigonometric functions sin and cos, approximating the amplitude ratios

ρ j ρ i ≈ ρ 0 j ρ 0 i
for each term of the sum and adding the noise term yields the Kuramoto model:

θi = 2π f 0 i + 2π j k i , j sin(θ j -θ i + φ i ) + 2πFWHM d t N (0, 1)
, where

       k i , j = k LS i , j ρ 0 j ρ 0 i 1 + ν 2 i φ i = φ 0 i + tan -1 (ν i ) . ( 3

Note : Non-linearity and Kuramoto

Our tests show that the Kuramoto approximation of the Landau Stuart model holds well up to reasonable values of the non-linearity (ν < 10), which is the case in this chapter as well as in Section 2.4.5. Only the effective couplings and phase shifts are notably affected.

However, the approximation breaks for extremely high values of ν.

The analytical Kuramoto equations of two coupled Vortex STNOs and their validation through simulation illustrate the capacity of this model to successfully approximate even some nonlinear oscillators.

A circuit implementing the pattern recognition architecture

In the previous section, the Thiele model and its Landau-Stuart and Kuramoto approximations were tested in a simple case with only two coupled STNOs. In this section, we design a circuit that implements the full pattern recognition architecture studied in Chapter 2 and simulate it in the noiseless case using the full Thiele model with circuit simulation. We also validate the Landau-Stuart and Kuramoto approximations on this larger system. We first run a full circuit simulation using the Thiele STNO model. Some minor differences exist however. One of them is that the synchronization regions are more noisy, mainly due to second order oscillations acting like noise as explained in Section 3.4.2.6, thus making the stable synchronization regions thinner or almost absent such as the region. The second notable difference is that the regions have slightly different shapes than in the reference architecture, and their shapes depend on the frequency ranges in which they appear. For example, , , are increasingly thinner at higher frequencies. This is mainly due to the dependency of the system parameters on the value of the bias current as mentionned in Section 3.4.2.1 and to the non-linear dynamics of the oscillators: the stronger the bias current, the larger the amplitude of the oscillator becomes. However, synchronization regions globally behave as expected in the reference architecture. These results confirm that the proposed circuit conveniently implements the pattern recognition scheme at the heart of this thesis, and that the Landau-Stuart and Kuramoto models

SUMMARY OF THE CHAPTER 101

correctly predict its behavior while allowing to generalize our study to many other devices.

Summary of the chapter

In this Chapter, I described the characteristics of vortex spin transfer nano-oscillators that behave like a two-terminal resistor with a resistance value that oscillates in time, and the more current is applied, the faster it oscillates, with the ability to reach GHz frequencies. Using existing theoretical results, we defined and validated a VerilogA SPICE model of the device. The model successfully describes vortex precession, current-based natural frequency tuning, and synchronization to an external oscillating source. However, the underlying theory is derived from fundamental physics, and corresponds to a second-order development of the dynamics of a typical, generic oscillator. As such, it is not tailored to accurately represent the behavior of the particular devices observed by our collaborators from Julie Grollier's group at the CNRS/Thales laboratory. In order to get a successful description of these particular devices, I adjusted the parameters of the model to match experimental results published by our collaborators.

Then, I described a circuit that implements the electrical coupling of multiple resistive nano-oscillators, and simulated it using our adjusted VerilogA device model.

AN OFFLINE LEARNING ALGORITHM FOR OSCILLATOR-BASED CLASSIFICATION 105

An offline learning algorithm for oscillator-based classification

Offline learning algorithms use a numerical model of the oscillator network to perform the learning in simulation, outside of the system. Once the learning is done offline, the obtained parameters are transferred to the real system which can then perform inference. This approach therefore relies on the accuracy of the model, and differences between the real circuit and simulations can cause issues. However, the learning algorithm has access to all the internal state variables of the model, such as the actual phases of the oscillators, allowing advanced modelaware algorithms to be used. Inspiration for such algorithms can be drawn from usual machine learning techniques.

Supervised machine learning principles

The basic principle of supervised machine learning is to present known examples to a tunable computational model (typically a succession of non-linear transformations with tunable parameters Θ such as the weights of a neural network as introduced in Section 1. where α is the learning rate that defines the size of the parameter update steps.

5. Repeat the procedure until the mean error E is sufficiently low.

In the case of the oscillator-based classification architecture of Chapter 2, the examples are presented as sets of input oscillator natural frequencies f 0 in , and the tunable parameters of the system are the natural frequencies of the core oscillators f 0 core . The output of the system is a set of synchronization measures between core oscillators which needs to be properly defined theoretically.

Defining the output of the oscillator-based classifier

The output function for the oscillator-based classifier needs to be differentiable with respect to its parameters f 0 core , and to provide a measure of the synchronization quality of each output pair of core oscillators.

A convenient measure of the instability of the synchronization of an oscillator pair (i , j ) is the ratio between the absolute value of the mean frequency difference between the two oscillators, and a synchronization threshold frequency under which the oscillators are considered synchronized:

D i , j = | < f i > -< f j > | thresh . ( 4.1)
The mean frequencies < f > are only computed during the last T integ period of the simulation to ensure convergence. If D i , j < 1, the oscillators are considered synchronized, and if D i , j > 1 they are considered not synchronized. More generally, as this desynchronization measure is continuous, the lower D i , j is, the more consistent the synchronization of oscillators i and j is assumed to be.

The threshold frequency thresh needs to be chosen carefully: too low values would force the learning algorithm to operate inside a region of very stiff synchronization dynamics, while too high values would make it operate in a regime of very low interaction between the oscillators where the outputs are linear transformations of the natural frequencies. For a uniformly coupled network of oscillators, the value of the threshold that provides the richest learning capabilities was found to be approximately half of the coupling strength k between the oscillators: thresh = k/2, which is equivalent to the thresholds defined for the synchronization detection schemes presented in Section 2.3.

The ensemble of D i , j values can therefore be used offline as the set of outputs of the classifier. A suitable error function can then be defined using these values.

Choosing an error function for oscillator-based classification

The error function E (m) for presented example m needs to be differentiable as well, and to take high values when expected synchronizations are not met, and low values when they match the expected synchronization pattern for this example.

AN OFFLINE LEARNING ALGORITHM FOR OSCILLATOR-BASED CLASSIFICATION 107

The desynchronization measure D (m) i , j for each output oscillator pair (i , j ) adds a contribution E (m) i , j to this error depending on the expected synchronization state for this pair. One possible expression of this contribution that was shown to work effectively in my simulations is: if (i, j) synchronization expected :

E (m) i , j =            1 2 D (m) i , j 2 if D (m) i , j ≤ 1 1 1 + e -4 D (m) i , j -1 if D (m) i , j > 1 ,
if (i, j) synchronization not expected :

E (m) i , j =            1 - 1 2 D (m) i , j 2 if D (m) i , j ≤ 1 1 - 1 1 + e -4 D (m) i , j -1 if D (m) i , j > 1 .
These equations are plotted in Figure 4.1 as functions of the synchronization measure D (m) i , j . I chose these expressions because they are fully continuous, monotonous and differentiable everywhere, and take values within [0, 1) with 0 meaning that the synchronization of the pair is exactly as expected for the presented example, while values close to 1 mean that the pair has the opposite of its expected synchronization state. The quadratic left side of this function mainly penalizes expected synchronizations that are about to break (D (m) i , j close to 1). Moreover, the sigmoid right side of this function saturates because the interaction between pairs of oscillators with very distant natural frequencies does not vary substantially as the natural frequencies change.

By combining the contributions of all observed pairs, we get the full expression of the error for example m:

E (m) = output pairs (i , j ) E (m) i , j . ( 4

Differentiation of the error

The learning process involves the computation of the derivative of the error with respect to the natural frequencies of the core oscillators f 0 core .

∂E (m) ∂ f 0 core = output pairs (i , j ) ∂E (m) i , j ∂ f 0 core . (4.3)
It is therefore necessary to find an expression of

∂E (m) i , j ∂ f 0 core .
Using the chain rule of differentiation, the following expression is obtained:

∂E (m) i , j ∂ f 0 core = ∂E (m) i , j ∂D (m) i , j ∂D (m) i , j ∂ f 0 core . (4.4)
The derivative

∂E (m) i , j ∂D (m) i , j
can be readily computed analytically from the expressions of the differentiable output errors given in Section 4.2.3.

The second factor

∂D (m) i , j
∂ f 0 core can also be expanded further from the expression of D (m) i , j given in equation (4.1):

∂D (m) i , j ∂ f 0 core = Sign < f i > -< f j > 1 thresh ∂ < f i > ∂ f 0 core - ∂ < f j > ∂ f 0 core . (4.5)
The derivatives

∂< f > ∂ f 0 core
reflect how the mean frequencies in the network behave when the natural frequencies vary. This corresponds to the Jacobian matrix of the oscillator network transfer function (orange rectangle on Figure 4.2) taking natural frequencies as inputs, and providing mean frequencies as outputs. The Jacobian of the oscillator network does not have a simple expression as it reflects complex relationships resulting from the intricate interaction dynamics of the coupled oscillators, and alternative techniques are required to compute it.

AN OFFLINE LEARNING ALGORITHM FOR OSCILLATOR-BASED CLASSIFICATION 109

Jacobian computation methods

No analytical transfer function has been found for a finite size oscillator network taking natural frequencies as inputs, and outputting the mean frequencies of the oscillators. This is also true for the matrix of its partial derivatives: the Jacobian of the oscillator network. To compute this Jacobian, I have developed two main approaches: numerical gradient computation, and forward propagation through numerical integration.

Numerical gradient computation

A straightforward way of obtaining an approximation of the Jacobian of the oscillator network transfer function is to perform a numerical differentiation, which is commonly used to verify the derivatives used in neural network libraries as it is model-agnostic. It consists in computing the initial outputs of the system, as well as its outputs after successively shifting each natural frequency by a small value d f , one at a time. The derivative of the mean frequency of oscillator i with respect to the natural frequency of oscillator n is then approximately:

∂ < f i > ∂ f 0 n ≈ < f i > f 0 n +d f -< f i > f 0 n d f , ( 4.6)
where

< f i > f 0 n
is the mean frequency of oscillator i obtained without any natural frequency shift, and

< f i > f 0 n +d f
is obtained after adding a small shift d f to the natural frequency f 0 n of oscillator n.

For a network of N C core oscillators, this method requires simulating it N C + 1 times to compute the Jacobian of the mean core oscillator frequencies as functions of the core natural frequencies. I have performed this computation using an HTML5/Javascript frontend served by a backend C++ server that dispatches all those independent computations, for all the examples, on different GPU-enabled computing servers, and aggregates the results to obtain the Jacobian.

Simulations on the analytically solvable two-oscillator case suggest that this method successfully provides a valid approximation of the Jacobian. However, this approximation of the Jacobian is noisy, and the choice of the d f hyperparameter is critical, with an ideal value depending on the system state. This does not allow choosing a unique value for this hyperparameter, and makes this method unpractical.

CHAPTER 4: MACHINE LEARNING WITH OSCILLATOR-BASED ARCHITECTURES

Note : Advanced numerical differentiation approach

Note that an extended approach for numerical differentiation called "simultaneous perturbation stochastic approximation" may solve this problem as it uses decaying d f and learning rate. It also requires only two evaluations per step but may need more steps to converge [START_REF] James | An overview of the simultaneous perturbation method for efficient optimization[END_REF]. Unfortunately, I didn't find a scheduling scheme for this algorithm that improves the results of oscillator-based architectures.

Clamping the derivative

On the verge of synchronizations, oscillator systems follow stiff dynamics (see Figure 1.9), which gives rise to derivatives exceeding 10 10 inside the Jacobian. When such a derivative appears for one presented example, its value dominates the contributions of all the other examples, and results in erratic optimization. To limit this effect, I clamped the derivative

∂< f i > ∂ f 0 n
for each presented example within defined bounds. This can be achieved by any squashing function. I use tanh as it approximates unity for small values, and progressively clamps more extreme values between -1 and 1.

Forward derivative propagation through numerical integration

An alternative approach I developed computes the Jacobian of the oscillator network as the system is being simulated, with higher precision. For simplicity, the presented method uses basic Euler integration but it could be extended to more advanced integration schemes such as Runge Kutta.

During the numerical integration of the Kuramoto system, the values of all the variables of the system at time t + dt are given by a differentiable function of their values at the previous integration step t :

θ i (t + dt) = θ i (t ) + 2πdt f 0 i + j k i j sin θ j (t ) -θ i (t ) . (4.7)
By using the chain rule, it is therefore possible to keep track of the derivatives through the integration process, allowing the computation of the Jacobian of the oscillator network with the following algorithm:

1. Apply the natural frequencies f 0 and choose random initial phases θ 0 .

2. Initialize state variables (the initial state does not depend on the system inputs):

AN OFFLINE LEARNING ALGORITHM FOR OSCILLATOR-BASED CLASSIFICATION 111

(a) For each oscillator a with respect to each natural frequency f 0 b , initialize the derivatives of the phases:

∂< f a > ∂ f 0 b = 0
3. For each time step t until the total simulation time T sim :

(a) Compute the instantaneous frequencies f a = f 0 a + j k a j sin θ j -θ a (b) Compute their derivatives:

∂ f a ∂ f 0 b = δ a,b + j k a j ∂θ j ∂ f 0 b -∂θ a ∂ f 0 b cos θ j -θ a (c) If t ≥ T sim -T integ ,
where T integ is the averaging time, accumulate the means:

i. Accumulate the mean frequencies:

< f a >←< f a > + f a
ii. Accumulate their derivatives:

∂< f a > ∂ f 0 b ← ∂< f a > ∂ f 0 b + ∂ f a ∂ f 0 b (d) Update the phase derivatives: ∂θ a ∂ f 0 b ← ∂θ a ∂ f 0 b + 2πdt ∂ f a ∂ f 0 b (e) Update the phases: θ a ← θ a + 2πdt f a 4. Normalize the means: < f a >←< f a > T integ /dt and ∂< f a > ∂ f 0 b ← ∂< f a > ∂ f 0 b T integ /dt
This algorithm provides the output of the oscillator network operator < f > as well as its

Jacobian ∂< f a > ∂ f 0 b
given the input natural frequencies f 0 .

As it comes from the analytical differentiation of the numerical update equations, this Jacobian computation approach has excellent precision, which makes it more effective than purely numerical approaches. However, this algorithm is also computationally heavy for large oscillator systems as the number of equations to integrate grows quadratically with the number of oscillators. Due to its precision, it remains however attractive for networks containing few oscillators such as the ones studied in this thesis, as well as in experiments. From this point and until Section 4.5, Jacobian computations are performed using this method.

Discussion and potential alternative approaches

Both numerical differentiation and forward-propagation through numerical integration work with systems containing few oscillators but have a limited scalability and become impractical for large networks of oscillators. Alternative differentiation approaches can be imagined, such

as training a neural network to represent the transfer function of the oscillator network operator with high fidelity, and then use its Jacobian instead of computing the real one, for better computational efficiency.

Alternatively, other learning algorithms that do not require the derivative could also be used. This includes Genetic Algorithms [START_REF] Sn Sivanandam | Introduction to genetic algorithms[END_REF] (discussed in Section 4.5.4) or inferring a learning policy using Reinforcement Learning [START_REF] Richard | Reinforcement learning: An introduction[END_REF].

CHAPTER 4: MACHINE LEARNING WITH OSCILLATOR-BASED ARCHITECTURES Implementation in a standard machine learning framework

Using the same inspiration as for the forward derivative propagation through numerical integration, the numerical solving process of the oscillator network dynamics can be reinterpreted as a recurrent neural network, and therefore implemented as a standard layer in a machine learning framework. In order to represent the full process of numerical integration, these elementary cells are stacked in time and act as a feed-forward differentiable network. oscillator network operator that sets random initial phases θ 0 and runs the integration process for a total time T sim . After waiting for the stabilization of the oscillator network dynamics, the instantaneous frequencies are averaged during T integ . This full oscillator network operator

AN OFFLINE LEARNING ALGORITHM FOR OSCILLATOR-BASED CLASSIFICATION 113

takes the natural frequencies of the oscillators f 0 as inputs, and outputs their mean frequencies < f >. And as it is made of a feed-forward composition of differentiable functions, the operator is guaranteed to be fully differentiable.

As a result, this operator can be seamlessly used as a neural network layer inside a standard machine learning framework. To achieve that, I have implemented the oscillator network operator as a custom operator for the Tensorflow machine learning library developed by Google, and used extensively in the machine learning community. Highly optimized machine learning tools provided by the library can then be used to evaluate the oscillator-based classification architecture.

Tensorflow custom operator

A Tensorflow operator is a piece of compiled C++ code imported into the Python front end of the library, which defines two functions. The first reads the input tensor fed to the operator and computes the output tensor. The second reads the input and output tensors and computes the Jacobian.

The custom C++11 operator I wrote implements the forward differentiation algorithm presented in Section 4.2.5.2 using the Eigen linear algebra library, which provides native GPU acceleration allowing to efficiently run the operator on multiple examples in parallel.

Unlike conventional operators where the Jacobian is computed as a separate function of the inputs and outputs of the operator, the oscillator network operator computes its Jacobian at the same as its outputs. As a result, I define a C++ operator with two outputs: the mean frequencies, and the Jacobian. I then use a Python wrapper that has only one output mapped to the mean frequencies output of the underlying C++ operator, and a Jacobian computation function that returns the second output of the underlying C++ operator.

Note : Oscillator recurrent cell

The oscillator recurrent cell described here has an important property: the memory line θ(t ) → θ(t + dt) is only transformed through a linear transformation (one addition) per time step. This property, which also gives their power to Long Short Term Memory recurrent neural networks [START_REF] Hochreiter | Long Short-Term Memory[END_REF], allows the gradients to be propagated back in time over long durations without vanishing due to squashing non-linear functions. This reduces the vanishing gradient problem and allows the learning to take into account long-term relationships.

In summary, using the proposed expression of the error, and the forward propagation through numerical integration technique for differentiation within a machine learning framework allows training the oscillator-based classification architecture on a large variety of classification tasks.

Learning binary classification

In this section, I investigate the learning capabilities of the oscillator-based classifier on the simple case of binary classification. The task consists in classifying two-dimensional inputs into one of two classes ("class 0" or "class 1") using the general architecture shown in Figure 4.4.

The output is obtained by evaluating the synchronization state of only one pair of oscillators.

If they are synchronized, the class that the system associates to the presented example is "class 1". If they are not synchronized, the output class is "class 0". The goal of the learning process is to adjust the natural frequencies of the core oscillators f 0 1 , f 0 2 , f 0 3 , f 0 4 so that the influence of the inputs on measured oscillators 1 and 2, as well as their indirect influences through other oscillators, results in the correct classification of the presented examples. Note that the natural frequencies are clamped between f 0 min = 450MHz and f 0 max = 750MHz to avoid non-realistic values.

To provide an intuition of the learning process, I define a simple classification task for which the initial state is shown in The classifier also correctly generalizes to inputs it has not been trained with. For example, any new point in the same area as the red ones would be classified as class 1.

AN OFFLINE LEARNING ALGORITHM FOR OSCILLATOR-BASED CLASSIFICATION 115

Inertia for better optimization

As the value of the error inside the parameter space is a complicated function with multiple saddle points and local minima, standard steepest gradient descent can get stuck into one of them, slowing the learning and preventing better solutions from being found.

To reduce the impact of these limitations, I have used the ADAM optimizer [START_REF] Diederik | Adam: A Method for Stochastic Optimization[END_REF], which performs gradient descent with inertia and second moment prediction, allowing convergence towards better solutions.

These results show that the learning process can work as expected. The classification capabilities of the architecture now need to be evaluated.

Classification capabilities

To get an intuition of the learning capabilities of the oscillator-based classifier, I perform binary classification on two-dimensional inputs.

Performance on a simple task

The classification task previously performed and illustrated in • In Figure 4.6(a), the region of expected synchronization is still on the first diagonal of the map but is not centered. Simulation results show that this task is successfully solved by the classifier. More generally, the classifier is not sensitive to translation along the 4.6(b), the region of expected synchronization is slightly above the center. After learning, the resulting output synchronization region does not fully cover the red examples: it stays on the first diagonal. This shows that the architecture is not capable of classifying this single off-diagonal region properly.

diagonal f 0 A = f 0 B . • In Figure
• In Figure 4.6(c), the region of expected synchronization is further away from the diagonal. After learning, the resulting output synchronization region stays stuck on the diagonal and only reaches a few class 1 examples. This confirms that the architecture cannot represent single off-diagonal regions. This is due to the fact that the input oscillators are identical, and only defined by their natural frequencies: when the two inputs are swapped, the same response map is obtained. This causes the response map of the system to be necessarily symmetric along the first diagonal, which represents a major limitation of the architecture. These results show that the architecture, in its basic form, does not have sufficent classification power due to its intrinsic symmetries. Classifying regions that do not follow these symmetries would require a form of symmetry-breaking mechanism.

MAKING THE LEARNING MORE FLEXIBLE 117

Freeing the coupling strengths

One possible approach to break the symmetry would be to allow the individual coupling strengths k i , j to be learned at the same time as the core natural frequencies. For N oscillators, this also provides N 2 more tuning parameters that could allow a finer tuning of the classification response. These results show that allowing the tuning of the couplings during learning successfully breaks the symmetry, provides more tuning parameters, and allows the classifier to represent complex classes. However, this approach is particularly complicated to implement with nanotechnologies as coupling tunability is not physically convenient with most nano-oscillators.

An alternative approach therefore needs to be developed to achieve similar symmetry-breaking and parameter space expansion while only acting on natural frequencies.

Making the learning more flexible

In order to achieve symmetry-breaking and increase the number of tunable parameters, I have defined a more general version of the oscillator-based classification architecture that is still compatible with nano-technologies.

Extended architecture

The proposed extended architecture is presented in Figure 4.8. It consists in applying different learned linear combinations of the inputs and a constant bias as the natural frequencies of the oscillator network. This is achieved through a tunable weight matrix W : It is important to note that the architecture presented previously is a special case of this extended architecture where all the weights are zero except that each input is connected to the corresponding input oscillator W 11 = W 22 = 1 and the core oscillators are only connected to the constant bias with weights defining their natural frequencies. A specificity of the extended architecture is that presenting an example input can change all the natural frequencies of the network, instead of only acting on the input oscillators.

f 0 = W   in 1   . ( 4
For N in -dimensional inputs and N oscillators, the weight matrix provides a high number of parameters ((N in + 1)N ), and is not constrained by any symmetries which effectively allows symmetry breaking without changing inter-oscillator couplings. The inter-oscillator couplings are therefore constant and uniform, all the oscillators are identical, and only their natural frequencies are adjusted. The architecture is therefore still compatible with many nano-oscillator technologies.

Running inference with this architecture requires computing the matrix-vector multiplications (equation (4.8)). This can be implemented materially by a pre-processing step using classical multiplier chips, Tensor Processing Units [START_REF] Schneider | Deeper and cheaper machine learning [top tech 2017[END_REF] or synapse matrix techniques developed for neural network architectures such as SpiNNaker [START_REF] Furber | Overview of the SpiNNaker System Architecture[END_REF] or True North [START_REF] Merolla | A million spikingneuron integrated circuit with a scalable communication network and interface[END_REF]. A more sophisticated approach would be to use a crossbar of resistive memories (or memristive devices) [START_REF] Lin | Physical Realization of a Supervised Learning System Built with Organic Memristive Synapses[END_REF] to achieve this computation naturally through Kirchhoff's laws.

MAKING THE LEARNING MORE FLEXIBLE 119

This extended oscillator-based pattern classification architecture is therefore a straightforward addition that inherits all the important properties described in the previous chapters, and only requires slight adjustments to the learning algorithm.

Learning capabilities

In order to evaluate the learning capabilities of this extended architecture, the same types of two-dimensional binary classification tasks as in Section 4.2.7 are performed. In this architecture, a coupling constant k = 10MHz is used. These results show that the extended architecture inherits the classification capabilities of the previous one, but is also capable of classifying off-diagonal regions.

I also test the architecture on more complex classification tasks. In This preliminary study of the extended oscillator-based classifier architecture shows promising classification capabilities even with a small number of oscillators.

Performing a canonical machine learning task

In order to evaluate the behavior of the extended oscillator-based classifier on a real machine learning task, I use the simple and popular IRIS dataset which consists in classifying flowers into three different species given four features.

The Iris dataset

The Iris dataset [START_REF] Fisher | The Use of Multiple Measurements in Taxonomic Problems[END_REF] is a historically significant table consisting of measurements performed on the flowers of three different species of the Iris plant genus: Iris setosa, Iris versicolor and Iris virginica. Each row of the table represents one sample flower through four of its features: the length and width of its petals, and the length and width of its sepals. It contains 150 samples, with 50 samples per species.

Given a target species, we train the oscillator-based classifier on the following binary classification task: synchronize the output oscillators if the presented flower is part of the target species, and to desynchronize them if it is part of any other species.

It is important to note that the species Iris versicolor is especially difficult to identify as it is not linearly separable from the other species. This means that linear classifiers (like most single-layer neural networks) can not find a hyper-plan in the feature space that separates it from the other species.

In order to evaluate the generalization power of the architecture, I split the dataset into a training set (30 flowers from each species) and a testing set (the remaining 20 flowers for each species). The learning is performed only using the training set, and the classification rate is evaluated on the testing set examples that the network has not encountered during learning.

Classification quality

The performance of the extended oscillator classifier on the Iris dataset is evaluated by training the network on the binary classification task for different target species.

CHAPTER 4: MACHINE LEARNING WITH OSCILLATOR-BASED ARCHITECTURES

These results show that the proposed architecture successfully solves a reference classification task. Moreover, the successful identification of the non-linearly separable class Iris versicolor suggests that due to its non-linearities, the oscillator-based classifier is capable of performing more advanced tasks than typical single-layer neural networks.

Influence of the number of oscillators

As the dynamics of the oscillator network get more complex with more oscillators, the classification capabilities of the oscillator-based classifier are expected to increase with its size. In order to characterize how these capabilities scale, I perform learning on the classification of the non linearly separable Iris versicolor class with different numbers of oscillators in the network. I also compare it to a classical two-layer tanh neural network with different numbers of neurons. With two oscillators, the oscillator classifier appears to perform substantially better with more than 86.67% test set classification rate versus 73.33% for the two-neuron neural network.

With three units, both architectures perform similarly with 95% classification rate. For higher numbers of units, the classification rates stabilize at 98.33% for the oscillator classifier and 96.67% for the neural network.

These results show that the single-layer oscillator-based classifier performs similarly to a two-layer neural network of the same size. These observations confirm that by exploiting its complex dynamics, a single layer using the proposed architecture can perform advanced classification tasks.

MAKING THE LEARNING MORE FLEXIBLE

Impact of phase noise on the classification rate

As the learning is done offline and the weights can then be transferred to a real oscillator system, the impact the phase noise present in the physical system needs to be assessed. In order to characterize the effect of phase noise, I carry out offline learning on the Iris versicolor class using a noiseless 6-oscillator extended oscillator classifier and then perform inference on the test set by adding increasing amounts of oscillator phase noise. For each value of oscillator linewidth, I perform 100 inference tasks with different seeds for the noise and the initial phases of the oscillators. Figure 4.13 shows the average test set classification rate obtained on 100 trials as a function of the oscillator linewidth. The blue-filled region represents the span between the worst and best classification rates encountered during the trials.

The data shows that the classification rates decrease slowly with increasing noise. For noise levels typical of spin torque nano-oscillators (FWHM = 1MHz), the classification rates stay around 94.6% on average, with a worst case encountered at 90%. For extremely high noise (FWHM > 5MHz), the worst cases encountered reach 66.67% which is equivalent to the classifier outputting 0 for all the examples (which is right 2/3 of the time). The classifier therefore ceases to be reliable at such noise levels. These results confirm that the extended oscillatorbased classifier with offline learning is robust to phase noise, allowing it to function with classical STNOs.

The noise sensitivity of the architecture could in principle be further reduced if noise is included during learning, which forces the learning algorithm to reject solutions giving low classification rates under the presence of noise. Unfortunately, my tests show that the offline learning algorithm I proposed does not function properly when noise is present due to extreme

Discussion on the extended oscillator-based classifier

Simulation results show that the extended oscillator-based classifier can perform binary classification efficiently and scale better than classical neural networks as it exploits to the computational power brought by the complex physics of the oscillator network. However, gradientbased learning methods only work offline and can not take noise into account during learning, which increases the noise sensitivity of the trained system.

The presented approaches could naturally be extended to multi-class classification by reading the synchronization state of as many oscillator pairs as there are classes. Moreover, as the oscillator network operator is fully differentiable, multi-layer architectures composed of stacked oscillator networks could be trained with this method and interfaced with other differentiable operators. For example, in a two-layer architecture, the input natural frequencies of the second layer network would be a learned linear combination of the output average frequencies of the first layer network. This could allow the system to perform more advanced tasks requiring more abstraction.

In summary, this promising architecture exploits the powerful dynamics of nano-oscillator for cognitive tasks, shows good results in simulation, and could be further improved. Possible future directions include studying multi-class and multi-layer classification, signal, sound and

ALTERNATIVE "EEG-LIKE" READOUT AND ADAPTED LEARNING APPROACHES 125

video classification in the time domain by using transient behaviors as well, and implementing the architecture experimentally.

Alternative "EEG-like" readout and adapted learning approaches

The previous sections of this Chapter have focused on architectures where synchronization detection between oscillators is used as the readout method for the classifier output.

An alternative readout method for the oscillator-based binary classification architectures is introduced in Section 2.5.2 and consists in taking the envelope S of the average signal of the oscillators. In Section 3.3.2, I have shown that this signal can be readily obtained from a typical STNO electrical coupling circuit. In this section, I investigate methods to achieve learning using this alternative readout approach.

In the particular case of N = 2 synchronized oscillators, the analytical expression of the EEG-like signal S can be derived from the Kuramoto model. In the first subsection I study how a pair of oscillators can be used as a neuron, and how these neurons can be combined to build a neural network and achieve robust learning through standard gradient descent techniques.

In the second subsection, I apply the EEG-like readout method to the extended oscillatorbased binary classifier. As gradient-based methods are not satisfactory in this case, I focus on an alternative bio-inspired learning algorithm.

Neural networks based on synchronized pairs of oscillators

The case of N = 2 oscillators is well understood in the Kuramoto framework, and analytical expressions for the system variables and their average values can be found. As stated in section 1.4.7, artificial neurons based on pairs of coupled oscillators leverage this knowledge but only implement simple threshold neurons.

In this part, I propose an alternative approach with a neuron design using a pair of coupled oscillators kept in a synchronized state with an analog, differentiable EEG-like signal output.

I derive the analytic expression of its activation function, show that this neuron is capable of representing generic logic gates, and assess its capacity to learn these gates through gradient descent. I then simulate the dynamics of artificial neural networks using these neurons on two standard machine learning tasks, and verify their robustness to the intrinsic noise of nanooscillators.

Oscillator-based neuron

An artificial neuron needs to take a weighted sum of values as input, and output its value after transformation by a non-linear activation function. Such neurons can then be stacked to form an artificial neural network as shown in Figure 4.14. The natural frequency of the second oscillator is kept constant ( f 0 2 = f 0 mid ), while the natural frequency of the first oscillator is tuned by the weighted sum of the neuron inputs z = i w i x i where x i is the i -th input of the neuron and w i the corresponding weight value. Assuming that the natural frequency response of the first oscillator is proportional to this command by a factor f 0 amp , its natural frequency is then f 0 1 = f 0 mid +z f 0 amp . An envelope detector is applied to the sum of the two oscillator signals sin(θ 1 ) + sin(θ 2 ). For simplicity, the resulting EEG-like signal S is rescaled between 0 and 1 which defines the output of the neuron a = (S -2)/(2 -2).

The activation function of the neuron, which corresponds to its output as a function of the weighted input sum, is shown in Figure 4.15(b) and can be expressed analytically. Envelope detection on sin(θ 1 )

+ sin(θ 2 ) = 2 cos θ 1 -θ 2 2 sin θ 1 +θ 2 2 yields S = 2 cos θ 1 -θ 2 2
. As the two oscillators are synchronized, they run at the same instantaneous frequency θ1 = θ2 . By applying this constraint to the Kuramoto equations, a more useful expression of S is obtained:

S = 2 + 2 1 - z f 0 amp 2k 2 ; a = S -2 2 -2 . ( 4
.9)

ALTERNATIVE "EEG-LIKE" READOUT AND ADAPTED LEARNING APPROACHES 127

The paraboloid-shaped activation function (4.9) is fully differentiable in the synchronization region, which allows error derivative computation. However, it is non-monotonous, unlike the sigmoid activation functions used conventionally in artificial neural networks.

Capabilities of the oscillator-based neuron

To assess the capabilities of this unconventional neuron, I perform the learning of two-input logic gates by simulating (4.9) using realistic parameters f 0 mid = 500MHz, f 0 amp = 10MHz, k = 6MHz, typical of spin-torque nano-oscillators, an exponential-decay envelope detector, and the standard steepest gradient descent learning algorithm. The two input weights, and one bias value are learned for 1, 000, 000 different sets of initial weight and bias values to assess the robustness of the results. Table 4.1 shows the percentage of initial conditions leading to successful logic gate learning, and compares it with a traditional sigmoid neuron, and with a threshold neuron. The results show that the oscillator neuron successfully learns all the gates the threshold or sigmoid neurons can learn, and with favorable initial conditions it also learns to solve XOR and XNOR, which is not achievable by a sigmoid nor a threshold. This is allowed by the non-monotonous activation function of the oscillator pair: each of its lobes (z < 0 or z > 0) can be used as classical non-linear activation functions while using different lobes for different input examples allows more advanced operations. The energy landscapes of XOR and XNOR exhibit multiple and different local minima which accounts for their non-perfect and different scores. As the amplitude of the gradient with oscillator neurons is higher than with sigmoid neurons, the learning rate parameter of the gradient descent is adjusted to obtain comparable learning iteration numbers.

Application to machine learning tasks

In this section, I simulate more comprehensive neural networks using the oscillator-based neuron. First, a simple single-layer neural network containing three neurons is trained by gradient descent (or equivalently the perceptron learning rule for the threshold neurons) on the standard Iris classification dataset.

The evolutions of the test set classification rates of the three classes during learning are The classification rate stays over 84% for a linewidth of 100kHz, a noise value typical of higher quality spin-torque nano-oscillators [START_REF] Tsunegi | High emission power and Q factor in spin torque vortex oscillator consisting of FeB free layer[END_REF], which suggests that the proposed approach could be implemented using such nano-devices.

ALTERNATIVE "EEG-LIKE" READOUT AND ADAPTED LEARNING APPROACHES 129

These results, being published as [START_REF] Vodenicarevic | A neural network based on synchronized pairs of nano-oscillators[END_REF], validate through simulation the use of the oscillatorbased neuron I proposed for machine learning. It appears to be a valid functional alternative to sigmoid or threshold neurons, and naturally computes its parabola-shaped transfer function through its intrinsic dynamics.

However, the scheme appears to be more sensitive to noise than the approaches based on synchronization detection. This is in part due to the noise sensitivity of envelope detection, but mainly to the gradient-based offline learning method that can not take noise into account to reject noise-sensitive solutions.

EEG-like signal readout in the extended oscillator-based classifier

In this part, I come back to the extended oscillator-based classification architecture. Instead of reading whether or not selected oscillators of the extended classifier are synchronized as done in Section 4.2.6, I study the possibility of using the EEG-like signal S as a readout of the global synchronization state of the network as presented in Section 2.5.2. This signal can then be thresholded to perform binary classification. This also adds flexibility by allowing the readout of any affine function of S, and not necessary the mean signal itself.

Definition of the classification architecture with EEG-like readout

For simplicity, the envelope detection time constant was chosen to be τ EEG = 0, which is

CHAPTER 4: MACHINE LEARNING WITH OSCILLATOR-BASED ARCHITECTURES

equivalent to measuring the mean value of S. This choice was made as the study in Section 2.5.2

shows that τ EEG = 0 provides relatively regular response maps without over-representation of higher order dynamics. Moreover, slightly higher time constants mainly improve the readout range (Figure 2.19(c)), which is already corrected by the rescaling operation.

Just like the two-oscillator neuron, this approach is convenient to implement in hardware with nano-oscillators and standard components. It is therefore an attractive alternative to synchronization detection in the case of binary classification.

Bio-inspired learning using genetic algorithms

Such an EEG-like readout requires rethinking the learning process of the architecture. My attempts to compute the gradient of this architecture have failed, in part because the rectification operation pulls the derivative to zero when the sum signal is negative, and more importantly because of the the system response itself. As explained in Section 2.5.2, the synchronization regions show a relatively flat response but still contain local bumps due to higher order phenomena, leading to incorrect numerical derivative estimation.

As a result, I focus on "black box" optimization techniques that do not require any information on the model. More specifically, genetic algorithms [START_REF] Sn Sivanandam | Introduction to genetic algorithms[END_REF] leverage the evolutionary principles of mutations, sexual reproduction and selection that led to the current efficiency of complex lifeforms on earth in order to perform model-free optimization.

Genetic algorithms

The basic principle of genetic algorithms is to repeatedly apply random changes and combinations to the system parameters and select the best performing solutions. More formally, genetic algorithms seek to minimize the error function of a system defined by a genome, which in the simplest case corresponds to a vector of its parameters, and only require evaluating its performance (fitness) on the target task. If only the outputs of the system are used for evaluation, no information on the internal variables are required and genetic algorithms could also run online.

Evolved antenna for space applications. Credit: NASA These algorithms are used whenever gradient and reinforcement based approaches can not be applied and have been used with success to solve complex problems such as defining antenna shapes with special constraints [START_REF] Gregory S Hornby | Automated antenna design with evolutionary algorithms[END_REF], or school timetabling [START_REF] Abramson | A parallel genetic algorithm for solving the school timetabling problem[END_REF]. Genetic algorithms have also recently become an important research topic in neural network optimization [START_REF] Salimans | Evolution strategies as a scalable alternative to reinforcement learning[END_REF].

In the case of the oscillator-based classifier with EEGlike readout, a genome g corresponds to a given weight matrix, and I define its fitness F g as an inverse function of its

ALTERNATIVE "EEG-LIKE" READOUT AND ADAPTED LEARNING APPROACHES 131

mean quadratic error E g on a classification training set.

The genetic algorithm optimization process I used executes the following steps:

1. Initialization: create a generation of N pop random genomes (weight matrices) {W g } g ∈[1;N pop ] .

2. Evaluation: run each genome W g on the classification task to evaluate its fitness F g . This process increases the fitness of the population in time through selection, but also explores new solutions with mutations and sexual reproduction. This general approach is relatively standard in genetic algorithms, but the details of each implementation vary substantially. In this work, I have designed a specific implementation that fits the specificities of the oscillator-based classifier. The details of the algorithm are provided in Appendix A.

Evolving binary classification on a simple task

The behavior of the EEG-like readout is linked but nonetheless substantially different from synchronization detection, and their associated learning algorithms are fundamentally different. It is therefore necessary to evaluate the capabilities of this alternative architecture on a standard classification task.

To achieve this comparison, I start by performing a simple two-dimensional binary classification task with 6 oscillators: classify points in a centered circular region as 1, and the other points as 0. example as class 0, while in warm colored areas a > 0.5, the output class is 1. At generation 1, the response is defined by the random initial conditions. After 17 generations, a central blob forms, but the classification is still approximative. At generation 93, the target region is clearly identified with outputs approaching 1.0, while the output is inhibited in class 0 areas and stays close to 0. The classification is therefore successful.

However, contrary to gradient descent which only explores promising directions in the parameter space at each iteration, this genetic algorithm is not model-aware. It relies on random trials, has no memory of previous failures, and therefore mostly explores non-promising directions in the parameter space. This implies a high computational overhead, and the algorithm is very demanding: with a population of N pop genomes and a training set of M train examples, one generation requires N pop × M train offline simulations or online physical executions per generation (here 200, 000), most of which do not lead to improvements.

These results show that the genetic algorithm achieves learning and successfully solves this

ALTERNATIVE "EEG-LIKE" READOUT AND ADAPTED LEARNING APPROACHES 133

simple task, at the expense of a high resource overhead.

Parallelization

As they are independent, I run all train and test set simulations for all genomes in parallel on GPU using a custom C++ code, and gather the results at the end of each generation.

This represents 2, 200, 000 parallel simulations per generation.

Evolution on a more complex task, and impact of noise

The next step to characterize the capabilities of the oscillator-based classifier with EEG-like readout is to focus on a more complex task, and evaluate the impact of oscillator phase noise.

Note that contrary to gradient-based algorithms that do not support phase noise during learning, genetic algorithms are not sensitive to it, and noise can be applied during the learning process itself.

To perform this analysis, I evolve the classifier for another binary classification task: the two-dimensional target map shown in

Results on the Iris dataset

In the previous subsection, I have shown that the extended oscillator-based classifier with EEGlike readout evolved using a genetic algorithm can solve complex two-dimensional tasks. In order to compare its classification capabilities to the case with synchronization detection and gradient descent, I perform training on the Iris dataset with 6 oscillators for 100 generations. This result shows that the classification capabilities of this approach are very similar to the case with synchronization detection and gradient descent, but appear more resilient to noise because of the presence of phase noise during learning, which ensures the compatibility of the architecture with a broader range of nano-oscillators. The associated genetic algorithm learning process, however, is substantially slower and computationally demanding.

Target class

As a result, the choice between the gradient-optimized classifier and the genetically optimized EEG-like classifier mainly depends on the available learning time and computational power.

Remarks and improvements on the architecture

The simulation results on the extended oscillator-based classifier with EEG-like readout and genetic algorithm learning show promising results on classification tasks. The learning pro-

SUMMARY OF THE ARCHITECTURES AND OFFLINE LEARNING METHODS

135

cess can run both offline and in a hardware implementation but requires a long and resourcehungry learning process.

Moreover, when the genetic algorithm is used in conjunction with a realistic device model, or on a physical implementation of the architecture, it is capable of taking into account every aspect of the system dynamics. As a consequence, variabiliy, noise, non-linearities or higher order dynamics could all be transparently leveraged by the learning algorithm as computational assets.

However, such an architecture can only perform binary classification. A solution to that limitation is to train as many networks as there are classes, each of them identifying one of the classes. If the weight matrix is implemented using a technology that allows rapid rewriting, each of the matrices trained for each target class can also be applied sequentially to discriminate the classes one after the other using the same oscillator network.

Summary of the architectures and offline learning methods

This section summarizes the different architectures and associated offline learning algorithms proposed in this thesis, highlighting their advantages and shortcomings.

Oscillator-based classifier

Readout: synchronization detection Learning: gradient descent N c all-to-all uniformly coupled core oscillators and N i input oscillators uniformly coupled to all core oscillators. A N i -dimensional input pattern is presented by setting the input oscillator's natural frequencies, inducing synchronizations in the core network. Synchronization detection is performed on an ensemble of "output" pairs of core oscillators and constitutes the output.

The learning process uses iterative gradient-based optimization of all core natural frequencies on a simulated model of the system so that its response closely matches the expected one on the presented examples. The learned natural frequencies can then be transferred into a physical system for inference.

+

Towards full online learning

Online learning algorithms operate directly on the oscillator network. Examples are presented as inputs to the network, its outputs are compared to the expected ones, and its parameters are adjusted accordingly. In the case of the oscillator-based pattern recognition architecture described in Chapter 2, this means that the learning algorithm only has access to measurable quantities such as the synchronization states of the oscillators. Such algorithms would allow these classifiers to adapt to new or changing data without having to go through offline learning each time, which makes them compelling for a wider range of applications. However, designing a fully online learning approach without resorting to time-consuming model-free algorithms is challenging.

A simple online learning method was sketched in the seminal work of Vassilieva et. al [START_REF] Vassilieva | Learning Pattern Recognition Through Quasi-Synchronization of Phase Oscillators[END_REF].

It consists in presenting known examples and adjusting core oscillator natural frequencies to promote expected synchronizations or break unexpected ones and obtain the right output for the presented example. This method can be summarized by the following algorithm:

1. Present a known input example to the oscillator network 2. Wait for stabilization 3. For all core oscillator pairs (i , j ):

(a) Read the synchronization state of (i , j ) (b) If the pair (i , j ) is synchronized but is not expected to be for this example:

⇒ Adjust the natural frequencies f 0 i and f 0 j slightly further apart (c) If the pair (i , j ) is not synchronized but is expected to be for this example:

⇒ Adjust the natural frequencies f 0 i and f 0 j slightly closer to each other 4. Repeat the process with another example Running this algorithm effectively corresponds to regulating the synchronizations so that they match the expected ones for the training examples. A major advantage of this algorithm is that it is not heavily sensitive to mismatches between the actual system and its model. This makes it robust to variability, extra non-linearities or higher order phenomena. The algorithm operates as long as it can bring natural frequencies closer to induce synchronizations or push them further apart to break synchronizations. However, this approach only tunes the oscillators used as outputs. Whenever the dimensionality of the classifier output is lower than the number of pairs of core oscillators, this algorithm does not adjust the natural frequencies of the oscillators that are not part of an output pair, as it does not fully evaluate indirect interactions between oscillators. As an example, it can therefore not learn to perform advanced binary classification tasks requiring more than two core oscillators, contrary to the offline learning methods presented in this Chapter. Moreover, such a linear regulation of synchronizations is very sensitive to local minima and the learning process can easily get stuck in suboptimal solutions.

As a result, this algorithm is an important step towards full online learning in oscillatorbased classifiers, and is robust to device non-idealities. However, it is still limited to simple classification tasks.

Nevertheless, in the context of the MEMOS project, Julie Grollier's team at CNRS/Thales is working on an experimental implementation of a classifier using spin transfer torque nanooscillators, similar to the one introduced in Chapter 2, and using an online learning algorithm similar to the one presented in this section, in order to perform spoken vowel classification.

Fruitful discussions between our teams have led to a better understanding of the system and its capabilities. amples. On standard classification tasks, this approach achieves classification rates similar to the gradient-optimized extended oscillator-based classifier with synchronization readout while showing higher noise resilience, but requires substantially more computational power.

Finally, I presented leads towards online learning approaches, including a first experimental realization of a learning system using spin torque oscillators by our collaborators of the CNRS/Thales laboratory.

Chapter 5

Random number generation and computing with stochastic oscillators

Everything we care about lies somewhere in the middle, where pattern and randomness interlace.

James GLEICK " T HE FIFTH AND LAST CHAPTER of this thesis focuses on a fundamentally differ- ent approach: using the intrinsically random behavior of superparamagnetic tunnel junctions to achieve efficient random bitstream generation applied to stochastic computing. "

T HIS CHAPTER presents a different kind of device than the ones envisioned in Chapters 2 to 4:

intrinsically stochastic spintronic nano-oscillators called superparamagnetic tunnel junctions. As their behavior is purely stochastic, such oscillators can not be used to implement the computing schemes presented in the previous chapters, contrary to harmonic or relaxation oscillators. However, their random behavior can be useful for efficient random number generation, especially for emerging alternative computing schemes that require massive numbers of low energy random numbers [START_REF] Locatelli | Spintronic devices as key elements for energyefficient neuroinspired architectures[END_REF]. This Chapter studies this approach by focusing on:

1. the experimental measurement of superparamagnetic tunnel junctions for long durations, 2. the design of a whitening scheme that converts the signals obtained from these devices into an unbiased, uncorrelated bitstreams, as well as the validation of the resulting random bitstream quality using a standardized statistical test suite, 3. the design and circuit simulation of a full-featured random number generator using this whitening approach, and characterization of its energy and area requirements, as well as the influence of environmental perturbations, 4. validating the random bitstream generator using the experimental bitstreams on an example probabilistic classification task consisting in classifying e-mail messages as spam or not spam.

These results highlight an alternative path where oscillators can allow novel forms of computation.

Introduction

Many emerging alternative computing approaches, such as stochastic computing [START_REF] Alaghi | Survey of Stochastic Computing[END_REF][START_REF] Friedman | Bayesian Inference With Muller C-Elements[END_REF][START_REF] Morro | Ultra-Fast Data-Mining Hardware Architecture Based on Stochastic Computing[END_REF][START_REF] Tara | Stochastic electronics: a neuro-inspired design paradigm for integrated circuits[END_REF][START_REF] Winstead | Stochastic iterative decoders[END_REF] and some brain-inspired (neuromorphic) schemes [START_REF] Merolla | A million spikingneuron integrated circuit with a scalable communication network and interface[END_REF][START_REF] Maass | Noise as a resource for computation and learning in networks of spiking neurons[END_REF][START_REF] Suri | Bio-inspired stochastic computing 208 BIBLIOGRAPHY using binary CBRAM synapses[END_REF], require a large quantity of random numbers. However, the circuit area and the energy required to generate these random numbers are major limitations of such computing schemes. For example, in the popular neuromorphic TrueNorth system [START_REF] Merolla | A million spikingneuron integrated circuit with a scalable communication network and interface[END_REF], one third of the neuron area is dedicated to perform random number generation. Indeed, one million random bits are required, at each integration step of the system. More concerning, in stochastic computing architectures, which consist in representing and manipulating values as probabilistic bitstreams, random number generation is typically the dominant source of energy consumption, as the logic performed using the random bits is generally quite simple and efficient by principle. Many practical stochastic computing schemes therefore try to limit their reliance on expensive independent random bits using various techniques, including the sharing or reuse of random bits [START_REF] Morro | Ultra-Fast Data-Mining Hardware Architecture Based on Stochastic Computing[END_REF][START_REF] Brown | Stochastic neural computation. I. Computational elements[END_REF][START_REF] Sharifi Tehrani | Stochastic decoding of LDPC codes[END_REF]. However, such tricks limit the capabilities of stochastic computing to small tasks, as they introduce Most of the aforementioned unconventional computing circuits use pseudo-random number generators, which generate bitstreams that appear random using fully deterministic iterative bit scrambling operations. But these either lead to low quality random numbers or are highly energy and area-consuming. A preferable solution would be to rely on "true" random number generators that generate random bits based on physical phenomena that are intrinsically random. However, this is also difficult to realize with minimal energy consumption.

This difficulty is due to the fact that most true random number generators function by triggering events whose outcome is intrinsically random. Triggering these events comes with a non-negligible energy cost. The most energy-efficient example uses a bistable CMOS circuit forced into in a meta-stable state which then randomly falls into one of the two stable states, generating one random bit [START_REF] Sanu | 2.4 Gbps, 7 mW All-Digital PVT-Variation Tolerant True Random Number Generator for 45 nm CMOS High-Performance Microprocessors[END_REF]. It consumes 3pJ/bit and a circuit area of 4000µm 2 .

In order to reduce this large area footprint, recent proposals suggest to leverage the inherent stochastic programming properties that arise in many of the bi-stable nano-devices developed for memory applications [START_REF] Rajendran | Nano Meets Security: Exploring Nanoelectronic Devices for Security Applications[END_REF]. This approach was investigated with oxide-based resistive memory devices [START_REF] Huang | A Contact-Resistive Random-Access-Memory-Based True Random Number Generator[END_REF][START_REF] Balatti | True random number generation by variability of resistive switching in oxide-based devices[END_REF][START_REF] Wang | A Novel True Random Number Generator Design Leveraging Emerging Memristor Technology[END_REF][START_REF] Hu | Leveraging Stochastic Memristor Devices in Neuromorphic Hardware Systems[END_REF], phase-change memory devices [START_REF] Piccinini | Self-Heating Phase-Change Memory-Array Demonstrator for True Random Number Generation[END_REF][START_REF] Fong | Generating true random numbers using on-chip complementary polarizer spin-transfer torque magnetic tunnel junctions[END_REF], magnetic memory devices [START_REF] Fukushima | Spin dice: A scalable truly random number generator based on spintronics[END_REF][START_REF] Ho Choi | A Magnetic Tunnel Junction based True Random Number Generator with conditional perturb and real-time output probability tracking[END_REF][START_REF] Oosawa | Design of an STT-MTJ based true random number generator using digitally controlled probability-locked loop[END_REF], as well as with straintronic memory devices [START_REF] Barangi | Straintronics-Based True Random Number Generator for High-Speed and Energy-Limited Applications[END_REF]. However, these approaches are based on repeated, energy-intensive programming operations, and still require high energy for random bit generation. For instance, it requires dozens of pJ/bit to induce a stochastic switch of magnetization in magnetic tunnel junctions with two stable states, as proposed in the "Spin-Dice" concept [START_REF] Fukushima | Spin dice: A scalable truly random number generator based on spintronics[END_REF], due to the high energy barrier between the magnetic states. Optimized schemes have been proposed [START_REF] Kim | Spin-Orbit-Torque-Based Spin-Dice: A True Random-Number Generator[END_REF][START_REF] Sengupta | True random number generation using voltage controlled spin-dice[END_REF][START_REF] Lee | Design of highthroughput and low-power true random number generator utilizing perpendicularly magnetized voltage-controlled magnetic tunnel junction[END_REF], predicting further reduction of the energy cost per bit, but are still bounded by the need of a costly perturb operation. While proposing high quality random number with high throughput, such strategies are not fit for emerging neuroinspired computing applications like stochastic computing architectures.

A more natural approach would be to extract random numbers directly from thermal noise, as it provides randomness at no energy cost. Unfortunately, this approach requires large circuits to amplify thermal noise into a large signal of random bits, and has never been shown to be more energy efficient than the first approach until now. The lowest energy solution today is to use jitter as a way to efficiently amplify the noise present in CMOS ring oscillators (described in Section 1.3.2). The most energy efficient implementation [START_REF] Yang | 16.3 A 23mb/s 23pj/b fully synthesized true-random-number generator in 28nm and 65nm CMOS[END_REF] requires 23p J /bi t and 375µm 2 .

In the present work, we propose the use of a stochastic oscillating device that intrinsically amplifies thermal noise without external energy supply: superparamagnetic tunnel junctions.

These bi-stable magnetic tunnel junctions rely on a magnetic stack similar to the magnetic nano-oscillators introduced in Section 1.3.5, and are reminiscent of the junctions used for Magnetic Random Access Memories (MRAMs) [START_REF] Apalkov | Spin-transfer Torque Magnetic Random Access Memory (STT-MRAM)[END_REF]. However, contrarily to MRAM cells, the energy barrier between the two magnetic states is very low, and thermal fluctuations induce repeated and stochastic magnetization switching between the two states at room temperature. There-fore, no write operations are required and a low-energy readout of the device state naturally produces random bits. In this Chapter, we show that these devices permit the generation of high quality random numbers at 20fJ/bit using less than 2µm 2 , which is orders of magnitude more efficient in terms of energy and area than current solutions.

We first show experimentally that superparamagnetic tunnel junctions allow the generation of high-quality random bits with minimal readout circuitry and that their behavior can be predicted by existing physical models. We then use the model to investigate the influence of device scaling and environmental factors on random bit quality and speed. Circuit simulation enables an estimation of the energy efficiency of random bit generation. Finally, we demonstrate the potential of these devices for unconventional computing through the example task of email messages classification using random bits extracted from the experimental data, and show that they are particularly adapted to computing schemes trading off speed for ultra low energy consumption.

Exploiting superparamagnetic tunnel junctions for random bitstream generation

The stochastic behavior of superparamagnetic tunnel junctions Superparamagnetic tunnel junctions are bistable spintronic nanodevices composed of a high stability pinned nanomagnet and a low-stability "free" nanomagnet, separated by a tunnel oxide layer (Fig. 5.1(a)). Their structure is highly similar to the magnetic tunnel junctions used as the basic cells of MRAMs. The devices I measured experimentally, as part of our collaboration with Julie Grollier's group at CNRS/Thales, were fabricated by A. Fukushima, K. Yakushiji, H. Kubota and S. Yuasa at AIST Japan using sputtering, following a standard magnetic tunnel junction process, and with the CMOS-compatible stack detailed in Fig. 5.1(b). E-beam lithography patterning was then performed to produce 50 × 150nm 2 elliptic pillars.

The free magnet has two stable states, parallel (P) and antiparallel (AP) relatively to the pinned layer (Fig. 5.1(c)). Through the tunnel magneto-resistance effect [START_REF] Sun | Magnetoresistance and spin-transfer torque in magnetic tunnel junctions[END_REF], the electrical resistance of the junction in the AP state R AP is higher than the resistance in the P state R P . This effect is traditionally measured through the TMR coefficient defined by R AP /R P = 1 + TMR.

The lateral dimensions of the device are chosen so that the effective energy barrier between the two stable states is not very high compared to k B T . Unlike the case of MRAMs, for which the magnetization direction of the free magnet is highly stable and can only be switched by proper external action, the magnetization direction of the superparamagnetic free magnet spontaneously switches between its two stable states, due to low stability relative to thermal fluctuations (Fig. 5.1(c)) [START_REF] Rippard | Thermal relaxation rates of magnetic nanoparticles in the presence of magnetic fields and spin-transfer effects[END_REF][START_REF] Mizrahi | Controlling the phase locking of stochastic magnetic bits for ultra-low power computation[END_REF]. Here, no bias or perturb scheme is required to provoke these random fluctuations, but only temperature. Resistance versus time measurements were done on junctions by applying a low 10 µA constant current through the junction. Such a small current amplitude was chosen to have negligible influence on the magnetic behavior of the device [START_REF] Vincent | Analytical Macrospin Modeling of the Stochastic Switching Time of Spin-Transfer Torque Devices[END_REF] and to maximize its lifetime while providing a clear signal. quency. The voltage was initially sampled at 100kHz, and bitstreams with slower sampling rates were obtained by subsampling the initial bitstream. To evaluate the quality of the obtained random bits, the device was measured for over 2.5 days, producing 21.2 gigabits. No external magnetic field was applied during the measurement.

Optimizing the quality of random bits

The sampling frequency needs to be chosen carefully relative to the mean switching frequency of the junction, defined as F MTJ = 1/(τ 1 + τ 0 ), where τ 1 and τ 0 are the mean dwell times in state 1 and 0, respectively. F MTJ was measured to be 1.66kHz (τ 1 + τ 0 ≈ 604µs). Fig. 5.2(c) presents the correlation of consecutive bits extracted at different sampling rates. This result is superimposed with the one theoretically expected from a Poisson process. At high sampling frequency, subsequent bits are naturally autocorrelated (at F sampling = 100kHz, correlation reaches 92.8%), and can therefore not be used for applications. This correlation decreases exponentially with the sampling period, which can therefore be chosen based on the correlation requirements on the random numbers.

As observed, in Fig. 5.2(a), the AP and P states possess an asymmetric stability: the device spends more time on average in the P state than in the AP state, which corresponds to a mean state (mean of the binarized signal) of 60.5%. This asymmetry can be connected to the stray field induced by the pinned magnet layer structure, which is present in all magnetic tunnel junctions [START_REF] Hayakawa | Current-Induced Magnetization Switching in MgO Barrier Based Magnetic Tunnel Junctions with CoFeB/Ru/CoFeB Synthetic Ferrimagnetic Free Layer[END_REF]. This biasing field offsets the junction mean state from the ideal 50% value required for most applications, and is subject to device-to-device variations.

In order to eliminate this bias and any residual bit correlation, a "whitening" of the random bits is therefore required. To achieve this operation, we make use of a standard technique:

combining several bitstreams into a single one using XOR gates. It can be shown (mathematical derivation available in Appendix B) that the auto-correlation after XOR whitening is the product of the individual auto-correlations of the combined signals. It therefore decreases exponentially with the number of combined MTJ bitstreams, and is always lower than the autocorrelation of any of the combined signals. In the same way, the mean state of the whitened bitstream gets exponentially closer to 50% with the number of XOR-combined bitstreams, and stays always closer to perfect balance than any of the bitstreams being combined. As a reference, a more advanced but heavy stateful whitening technique ("Blum" [START_REF] Blum | Independent unbiased coin flips from a correlated biased source-A finite state markov chain[END_REF]) was also applied to the raw measurements. under 1% and the mean value reaches 49.9%. For 8 bitstreams (XOR8), the auto-correlation is below 0.06% and the mean state reaches 50% with a standard deviation of 0.5%. These results suggest that XOR whitening can correct correlation and mean value issues.

However, in order to fully evaluate the quality of a whitened bitstream, signal autocorrelation and mean state are not sufficient metrics. We therefore used the standardized National Institute of Standards and Technology Statistical Test Suite (NIST STS) [START_REF] Soto | Statistical testing of random number generators[END_REF], which evaluates the quality of the random bitstream against 188 tests. The NIST STS computes the statistics of bitstreams, such as mean value, auto-correlation, standard deviation, estimated entropy or pattern occurrence frequencies, and checks weather they are consistent with perfect randomness.

It also looks for the presence of repeated structures, linear dependencies, and other behaviors unexpected in a perfectly random bitstream.

To perform the NIST STS tests, the bitstream to be tested, measured during 2.5 days, is divided into 1 Mbits sequences. Each chunk is then tested independently, and the pass rate (percentage of one million bits sequences passing the test) was computed for each of the 188 For a bitstream to be consistent with cryptographic quality, the pass rates of all tests should lie in the green region [START_REF] Soto | Statistical testing of random number generators[END_REF], corresponding to the expected minimal pass rate provided by the NIST STS, dependent on the number of tested chunks. We can see that bits extracted by XOR8 whitening pass this requirement (this was also the case with the reference Blum technique), while with XOR4 whitening only a fraction of the tests are consistent with cryptographic quality of the random bits1 .

Table 5.1 presents more comprehensive results: the proportion of tests in the green area is given for XOR-whitened bitstreams at different sampling frequencies and numbers of XORcombined bitstreams. The results confirm that the quality of the whitened bitstream increases for lower sampling frequencies (less correlation) and higher numbers of XOR-combined bitstreams (less correlation and lower bias). Higher numbers of XOR-combined bitstreams therefore allow further increasing the sampling rate while still passing all the NIST statistical tests, at the expense of more circuit area and energy consumption. XOR8 at F sampling /F MTJ = 3.0 appears to be an optimal choice, with 100% of the tests consistent with cryptographic quality and the highest sampling frequency.

Consistent results were observed on a second sample, measured during 1.5 days, producing 8.96 gigabits.

Scaling capabilities in terms of speed and energy consumption Device model and properties

Further studying the potential of superparamagnetic tunnel junctions for random number generation requires a realistic model of the device. In the literature, at low electric current, magnetic tunnel junctions switching is usually described by an Arrhenius-Néel two-states analysis, modeling a thermally activated magnetic switching [START_REF] Mizrahi | Magnetic stochastic oscillators: Noise-induced synchronization to under-threshold excitation and comprehensive compact model[END_REF]. The mean switching rates in each state are then described by:

   r 0→1 = 1/τ 0 = f 0 exp -∆E 0→1 k B T r 1→0 = 1/τ 1 = f 0 exp -∆E 1→0 k B T , ( 5.1)
where f 0 = 1GHz is the magnetic attempt frequency, ∆E 0→1 and ∆E 1→0 are the energy barriers associated with each transition (see Fig. 5.1(c)). Our experimental results suggesting that superparamagnetic tunnel junction switching is a Poisson process are consistent with this model.

The superparamagnetic tunnel junctions that we characterized experimentally in this study are slow devices. They can be used to generate random bits at kHz frequencies, sufficient for real-time brain-inspired systems like [START_REF] Merolla | A million spikingneuron integrated circuit with a scalable communication network and interface[END_REF], but not for high performance applications. In our 50 × 150nm superparamagnetic tunnel junctions, we identified that the switching occurs through nucleation and propagation of a magnetic domain, probably seeded by fluctuations in a subset of grains within it [START_REF] Rippard | Thermal relaxation rates of magnetic nanoparticles in the presence of magnetic fields and spin-transfer effects[END_REF] (by opposition to single domain magnetic reversal). The small effective switching volume of the free ferromagnet involved in the nucleation of the switching process explains the low energy barriers observed between the stable states, as compared to the full volume reversal energy barrier expected for those dimensions (evaluated to be approximately 126kT).

By contrast, recent experiments on perpendicular magnetic anisotropy (PMA) magnetic tunnel junctions have shown that aggressively scaled devices (diameters smaller than 35nm) switch at the scale of the whole volume [START_REF] Sato | Properties of magnetic tunnel junctions with a MgO/CoFeB/Ta/CoFeB/MgO recording structure down to junction diameter of 11 nm[END_REF]. Therefore, in the context of random number generators, extreme scaling of the nanodevices appears as providential, as smaller volumes and areas are directly linked to a lower magnetization stability of the free magnet [START_REF] Sato | Comprehensive study of CoFeB-MgO magnetic tunnel junction characteristics with single-and double-interface scaling down to 1x nm[END_REF], increasing random bit generation speed exponentially. This is in sharp contrast with MRAMs, where conservation of stability with extreme scaling is an important challenge [START_REF] Thomas M Maffitt | Design considerations for MRAM[END_REF].

Minimizing auto-correlation

From the study described previously, we observe that a 26% correlation between consecutive bits can be efficiently whitened out by XOR8 and allow generated random numbers to pass all the NIST STS tests.

This consideration, together with the model, allows us to evaluate quantitatively the speed of scaled random bit generators based on superparamagnetic tunnel junctions, by evaluating the maximum sampling frequency to keep the correlation ρ c X ,X +1

26%.

The auto-correlation function of a telegraphic signal can be derived simply from its escape rates, allowing to express the average correlation between consecutive samples as :

ρ X ,X +1 (T sampling ) = e -(r 0→1 +r 1→0 ) T sampling , (5.2)
where r 0→1 and r 1→0 are the escape rates from 0 and 1 states respectively, and T sampl i ng is the sampling period. In case of a symmetrical system:

r 0→1 = r 1→0 = f 0 exp - ∆E k B T = 2F MTJ , (5.3)
where ∆E is the energy barrier separating the two states. ∆E = K eff (D)π D 2 4 t is derived as a function of the device diameter D, where t = 1.6nm is the free magnet thickness and the effective anisotropy K e f f (D) is derived considering interfacial anisotropy and bulk anisotropies, using experimental values from [START_REF] Sato | Properties of magnetic tunnel junctions with a MgO/CoFeB/Ta/CoFeB/MgO recording structure down to junction diameter of 11 nm[END_REF].

The maximal sampling frequency is then obtained knowing the critical correlation ρ c X ,X +1 that can be mitigated by the whitening operation :

F max sampling = 4F MTJ ln(1/ρ c X ,X +1 ) = 2 f 0 ln(1/ρ c X ,X +1 ) exp - ∆E k B T . ( 5.4)
For the a critical correlation ρ c X ,X +1 ≈ 26%, the maximum sampling frequency is:

F max sampling ≈ 3F MTJ = 3 2 f 0 exp - ∆E k B T . ( 5

Readout circuit

In addition, in a final system, specialized transistor-based electronics needs to be associated to the superparamagnetic tunnel junctions to read their states without interfering with the random bit generation quality. Here, we considered a precharge sense amplifier circuit (PCSA, Fig. 5.4(b)), a CMOS circuit originally proposed as an MRAM read circuit [START_REF] Zhao | High Speed, High Stability and Low Power Sensing Amplifier for MTJ/CMOS Hybrid Logic Circuits[END_REF]. We simulated this circuit using standard integrated circuit design software (Cadence tools) and the transistor models of a 28nm commercial technology. The superparamagnetic tunnel junctions were modeled using a compact (VerilogA-based) model implementing the Arrhenius-Néel model.

The results of circuit simulation (Fig. 5.4(c)) show that the read energy is relatively independent from superparamagnetic tunnel junction resistance, and very low (≈ 2fJ/bit).

We also evaluated the read disturb effect of the PCSA. Reading the state of a junction can potentially affect random bit generation through the spin torque effect. Based on the spin torque model of [START_REF] Mizrahi | Magnetic stochastic oscillators: Noise-induced synchronization to under-threshold excitation and comprehensive compact model[END_REF], its impact on the mean state is around 10 -6 for junctions such as the one we characterized experimentally. Ultrascaled junctions are expected to be more sensitive to this effect. The SPICE simulation results presented in Figure 5.5 show the mean state of a perfectly balanced ultrascaled stochastic magnetic tunnel junction as a function of the reading frequency. These results show that the read disturb effect stays below 0.1% for ultrascaled junctions functioning at high frequencies. This small effect would therefore be corrected by whitening. Although superparamagnetic tunnel junctions allow random number generation with minimal energy, their sensitivity to external perturbations must be carefully evaluated.

Sensitivity of the random bitstream generator to perturbations

Influence of temperature and magnetic fields

First, as the stochastic switching of superparamagnetic tunnel junctions is thermally activated, temperature directly affects their switching rates.

Crosstalk effects

Finally, a challenge regarding scalability and integration is that closely packed superparamagnetic tunnel junctions can interact by dipolar interaction, which could lead to correlations in random numbers.

To evaluate this effect, we model the free magnetic layers of two identical side by side superparamagnetic tunnel junctions as two dipoles interacting through dipolar coupling (fig- The two superparamagnetic tunnel junctions constitute a stochastic system described as a 4states markov process [START_REF] Neiman | Synchronization of noisy systems by stochastic signals[END_REF] illustrated in figure 5.7(b). Their states are modeled by two variables {A, B } that can take two values {-1, +1}. In the absence of interaction, the transition rates are strictly identical: r = f 0 exp -∆E k B T . However, dipolar interaction induce an asymmetry so that two different rates have to be considered [START_REF] Rippard | Thermal relaxation rates of magnetic nanoparticles in the presence of magnetic fields and spin-transfer effects[END_REF]:

           r + = f 0 exp - ∆E k B T 1 + H d i p H k 2 r -= f 0 exp - ∆E k B T 1 - H d i p H k 2 , (5.6)
where H k = 2∆E k B T is the magnetic layer's coercive field and H d i p is the amplitude of the dipolar field radiated by one junction onto the other and is given by H d i p = M S V 4πd 3 This system can be simplified as the two-state Markov chain shown in figure 5

with stationary solutions : P A=B = r + r + +r -and P A =B = r - r + +r -.

RANDOM BITSTREAMS FROM SUPERPARAMAGNETIC TUNNEL JUNCTIONS 155

The cross-correlation between the two junctions states is then expressed as:

ρ = |〈AB 〉| 〈A 2 〉 〈B 2 〉 = |〈AB 〉| = P A =B -P A=B . ( 5.8)
Using the expressions from equation 5.6, we obtain :

ρ = tanh 2 ∆E k B T H d i p H k .
(5.9)

Replacing the expressions of the dipolar and coercive fields:

ρ = tanh µ 0 (M S V ) 2 4πk B T d 3 .
(5.10)

We evaluate that in the case of perpendicularly magnetized superparamagnetic tunnel junctions, the center-to-center distance between two devices guaranteeing negligible crosstalk, corresponding to less than ρ c = 0.1% cross-correlation, is given by:

d c = µ 0 (M S V ) 2 4πk B T tanh -1 (ρ c ) 1/3 . ( 5

Comparison table with other hardware random bitstream generators

In this section, the properties of the proposed superparamagnetic tunnel junction random number generator are compared to other proposed approaches from the litterature.

Table 5.2 compares the functioning principle, the circuit area usage, the energy per bit, the bit generation rate and the bitstream quality for 17 different low-energy random number generation approaches at different stages of development.

Note that some authors present statistical test results on bitstreams generated by simulated architectures that use pseudo-random number generators to emulate the underlying random physical phenomena of the system (for example noise or metastability). These results must be with be taken with caution: with a good underlying pseudo-RNG, perfect statistical test results on the system output show at best that the simulation doesn't degrade the quality of the pseudo-RNG.

This table shows that the XOR8 random bitstream generator we proposed in this chapter reaches state-of-the-art energy/bit and area efficiencies. Depending on the application, random number quality can be slightly reduced by switching to XOR4 in order to divide by two the energy and area requirements.

It can also be shown that multiple C-elements can be stacked in a tree-like structure to take into account multiple evidence terms [START_REF] Friedman | Bayesian Inference With Muller C-Elements[END_REF], given the naive hypothesis that the occurrences of different words are conditionally independent. This hypothesis is relatively strong but was shown to provide good results in practice, and is at the basis of naive Bayes classifiers that have proven effective in various practical applications such as text classification or medical diagnosis [START_REF] Rish | An empirical study of the naive Bayes classifier[END_REF].

Note : Successive operations and correlation

A common problem in stochastic computing is that many binary operations on bitstreams introduces correlations. In this example, each layer of C-elements creates larger "domains" of successive 0s and 1s in its outputs. The assumption of non-autocorrelation of the C-element inputs is therefore less and less satisfied starting from the second layer C-elements, and the quality of the inference falls when many layers are present. Decorrelation techniques exist but can be expensive in terms of energy or circuit area. This limitation is discussed in detail in [START_REF] Friedman | Bayesian Inference With Muller C-Elements[END_REF].

Implementation using stochastic nano-oscillators

This classifier requires one probabilistic bitstream per evidence term, and one for the prior.

These bitstreams can be generated at low energy cost with the proposed superparamagnetic tunnel junction random bit generator.

USING SUPERPARAMAGNETIC TUNNEL JUNCTIONS FOR UNCONVENTIONAL COMPUTING 161

Figure 5.10(a) shows the XOR-whitened generator that produces independent, non-autocorrelated and unbiased "coin flip" bits. proximation, due to the integer rounding operation, increases with the number of bits K that encode the integers. However, higher K bit depths require proportionally higher numbers of unbiased random bit generators, which defines a trade-off between the precision of probability encoding, and circuit area and energy consumption.

Using this approach, the full architecture presented in Figure 5.10 can be implemented to perform low energy Bayesian inference.

Note : Direct probabilistic bitstream generation

As the probability of the non-whitened bitstream generated by a superparamagnetic tunnel junctions is tunable using magnetic fields (figure 5.6(b)) or currents [START_REF] Mizrahi | Magnetic stochastic oscillators: Noise-induced synchronization to under-threshold excitation and comprehensive compact model[END_REF], it could be possible to directly use it as a tunable probabilistic bitstream source. This would reduce the number of junctions to one per probabilistic bitstream and avoid the comparison operation, but would require lower sampling rates to erase auto-correlations previously corrected by the whitening operation.

In this work, I focus on illustrating the effectiveness of the superparamagnetic tunnel junction random number generator using this architecture because it constitutes a simple concrete example that requires important quantities of high quality random bits.

Implementing Bayesian inference for message classification

To illustrate the potential of superparamagnetic tunnel junctions for unconventional computing, we use the experimental whitened random bitstreams as inputs for a C-element based Bayesian inference scheme to perform message classification. In this pedagogical task, we use this circuit to classify email messages as spam or not spam (sample messages are presented in The approach uses a dictionary of known words with their associated occurrence rates in spam and non-spam messages. Each word i of the dictionary constitutes an evidence term E i and has an associated probabilistic bitstream generator whose probability P * (E i ) of drawing a 1 is set to a different value depending on the presence (or absence) of the word in the presented sentence. No prior is assumed (P (spam) = 0.5), which allows omitting this term from the C-element tree. The outputs of the bitstream generators are then combined using C-elements to perform an approximate Bayesian inference. The time average of the output gives the probability of the presented message being spam. Fig. 5.11(b) gives the spam probability inferred using XOR4-whitened bitstreams and shows that the more random bit generators are used per word, the more precisely the probabilistic binary generator can be tuned and the better the prediction is. Also, the longer the output averaging time, the more accurate the answer of the system is. A trade-off to keep a low energy consumption is found for 8 random bit generators / word and averaging over 2000 samples.

Because of its reliance on multiple stages of binary bitstream combination, and fine generator probability tuning, this circuit is sensitive to the quality of the underlying random number generator. We tested the circuit using raw 5kHz-sampled experimental bitstreams, as well as its XOR4 and XOR8 whitened versions. When the bits are not whitened, the circuit does not perform satisfactorily (Fig. 5.11(c)). Using bits whitened with XOR8, the circuit performs as well as the reference Blum whitener, successfully classifying all messages. Furthermore, XOR4, which does not pass all NIST STS tests, also provides perfect classification while requiring less energy. These results highlight the potential of the approach for low-energy applications. Using the results of the previous section, circuit simulation with 8 random bit generators / word and 2,000 clock cycles shows that a message can be classified using only nJ energy. The exact energy depends on the number of words in the dictionary, and is shown in figure 5.12.

This simple study shows that superparamagnetic tunnel junctions can be used to achieve efficient random number generation for low-power probabilistic computing.

Conclusion

In this work published as [START_REF] Vodenicarevic | Low-energy truly random number generation with superparamagnetic tunnel junctions for unconventional computing[END_REF], we have shown that the natural dynamics of superparamagnetic tunnel junctions produces random telegraph signals that can be read and turned into high quality random bitstreams with minimal energy and circuit overhead, while staying fully compatible with standard CMOS fabrication processes.

The whitening process turning these measurements into usable random bitstreams implies energy and area overhead. But while reference Blum whitening would add important CMOS overhead, whitening based on XOR gates adds very little. XOR8 and Blum both provide high random bit quality consistent with cryptographic requirements, but XOR8 fits better to low energy applications, as it typically requires only 20fJ/bit and 2µm 2 , orders of magnitudes less than the demonstrated state of the art. This efficiency comes at the cost of speed. Scaled superparamagnetic tunnel junctions could generate random bits at speeds of dozens of MHz, which is slower than higher energy random bit generators, but sufficient for many unconventional computing schemes in very low power consumption contexts such as the Internet of Things.

This efficiency also comes at the cost of a certain sensitivity of random bit generation to the environment, making it prone to attacks. Random bit generation based on superparamagnetic tunnel junctions is therefore much better suited for unconventional computing than for cryptographic applications.

The evaluation of the probabilistic email classifier circuit also suggests that in many alternative computing schemes, lower-quality whitening can be used successfully to achieve extreme energy efficiency without degrading performance. At design time, a balance between random number quality, generation speed, and energy consumption can be freely chosen to suit the target application. This is especially important in the context of modern Bayesian inference systems [START_REF] Coninx | Bayesian sensor fusion with fast and low power stochastic circuits[END_REF][START_REF] Faix | Design of Stochastic Machines Dedicated to Approximate Bayesian inferences[END_REF], but also for embedded circuits and Internet of Things applications that are designed to work at low frequencies and low energies.

This study shows, through the example of superparamagnetic tunnel junctions acting as natural noise amplifiers, that emerging nanodevices, and stochastic nano-oscillators in particular, can be used as highly efficient true randomness sources for a wide range of applications.

Conclusions and future work

"L'homme ne peut découvrir de nouveaux océans tant qu'il n'a pas le courage de perdre de vue la côte."

André GIDE " T HIS FINAL PART summarizes the work done in this thesis, highlighting its con- tributions. In the light of those conclusions, ideas for future research directions are suggested. "

T HIS part summarizes the thesis, highlights its main contributions and draws conclusions, as well as promising ideas for future research on the topic. To perform useful classification tasks, a learning method is required. In the fourth Chapter, I propose a novel offline learning algorithm, with extensions to the classifier architecture, allowing it to perform more advanced tasks. A learning algorithm for the EEG-like version is also proposed in the Chapter. Both approaches show near-perfect results on standard machine learning benchmarks, implying that these architectures, with their learning algorithms, are good oscillator-based classifiers.

Summary

The last chapter focuses on a fundamentally different approach using intrinsically stochastic magnetic tunnel junction (MTJ) oscillators for random bitstream generation. I define a XOR-based whitening scheme producing random bits from MTJ signals, and validate it with experimental measurements I performed on devices provided by Julie Grollier. The resulting bitstream passes all NIST tests for randomness quality. Circuit simulations show that this generator has better energy and circuit area than the state of the art, and represents an important asset for low power probabilistic computing. This observation was validated by using experimental bitstreams to feed a probabilistic classifier circuit that successfully classified a set of e-mail massages as spam or not.

Conclusion and perspectives

As traditional computing technologies reach scaling limits, and appear fundamentally ill-suited for increasingly ubiquitous cognitive processing, various alternative computing schemes are being explored. Among them, multiple pattern classification approaches leveraging the complex dynamics of coupled oscillators have been proposed, but suffer from incompatibilities with current technologies. This thesis introduced realistic oscillator-based pattern classification schemes leveraging current nano-oscillator technologies, and showing competitive performance on standard classification tasks. Moreover, stochastic computing architectures using logic operations on probabilistic bitstreams for efficient computing show great potential for low-energy applications, but their power consumption is currently dominated by the heavy cost of random bit generation. This thesis also proposed a solution to this bottleneck by leveraging intrinsically stochastic nano-oscillators for energy-efficient, high quality random bit generation.

This thesis confirmed that nano-oscillators offer attractive properties for implementing advanced computational architectures. The case of the vortex spin transfer nano-oscillator was investigated in detail, showing that this type of device provides rich dynamics and high integration capabilities, which makes it a good candidate for computational architectures. Moreover, vortex spin transfer nano-oscillators offer a wide variety of coupling approaches, including both local and global electric and magnetic couplings. A possible development to this thesis could be to combine multiple such coupling schemes in a single oscillator network, which could give rise to extremely rich dynamics, potentially allowing more computational power to be extracted from a limited number of oscillators. Further experimental work is however required to increase the number of vortex spin transfer nano-oscillators that can be coupled on chip, and reduce their power consumption in order to pave the way towards higher scale experimental realizations of oscillator-based computing architectures. Similar studies should also be carried out with other types of nano-oscillators, including popular relaxation nano-oscillators or Josephson junctions.

Through the design of machine learning approaches for the oscillator-based classifier, this thesis also suggests that achieving competitive results with trainable nano-device based architectures requires rethinking machine learning principles to take device physics into account at their core. Research efforts should also be invested into online learning in order to provide more effective and flexible learning capabilities to nanodevice-based architectures. Despite recent advances, achieving effective online learning with nano-devices remains highly challenging, probably even more than offline learning.

Moreover, our realization of a high quality, low power true random number generator and probabilistic message classifier using stochastic nano-oscillators shows that undesirable phenomena, such as the noise that plagues devices when they are scaled down, could also be em-AUTO-CORRELATION

Our results show that applying XOR whitening allows to pass all the NIST tests at higher sampling rates (see tables in article and S2). This is due to XOR combining the randomness of independent, individually lower quality bitstreams into a high quality one, with lower autocorrelation, and a mean value closer to 0.5.

Here we demonstrate mathematically that a XOR gate combines two independent bitstreams

A and B into a whitened bitstream S = XOR(A, B ) that has lower auto-correlation and a mean value closer to 0.5 than both A and B . We assume P (A) ∈ (0; 1) and P (B ) ∈ (0; 1).

Auto-correlation

Auto-correlation can arise in consecutive samples of the bitstreams at t 1 and t 2 = t 1 + dt. We define A 1 and A 2 as the two samples of A at t 1 and t 2 respectively. The same goes with B 1 and B 2 for bitstream B , and S 1 , S 2 for the output bitstream S. We assume that all the probabilities are stable in time (for example P (A 1 ) = P (A 2 ) = P (A)). The conditional probability P (A 1 |A 2 ) can be reversed using the Bayes theorem, and shows the following symmetry: This also applies to P (B 1 |B 2 ) and P (S 1 |S 2 ).

We also have: This implies the symmetry P ( Ā2 ∩ A 1 ) = P (A 2 ∩ Ā1 ).

We define the probability of the two samples A 1 and A 2 being equal as:

P (A 2 = A 1 ) = P (A 2 ∩ A 1 ) ∪ Ā2 ∩ Ā1 = P (A 2 ∩ A 1 ) + P Ā2 ∩ Ā1 . (B.4)
Moreover, the sum of the probabilities of all the outcomes on A 1 and A 2 is one: Note that these results also apply to B and S.

P ( Ā2 ∩

B.1 AUTO-CORRELATION 179

The output of the XOR gate is equal for the two consecutive samples (S 2 = S 1 ) in the following cases:

• A 1 = 0, B 1 = 0, A 2 = 0, B 2 = 0 ; with probability P ( Ā2 ∩ Ā1 )P ( B2 ∩ B1 ),

• A 1 = 0, B 1 = 0, A 2 = 1, B 2 = 1 ; with probability P (A 2 ∩ Ā1 )P (B 2 ∩ B1 ),

• A 1 = 1, B 1 = 1, A 2 = 0, B 2 = 0 ; with probability P ( Ā2 ∩ A 1 )P ( B2 ∩ B 1 ),

• A 1 = 1, B 1 = 1, A 2 = 1, B 2 = 1 ; with probability P (A 2 ∩ A 1 )P (B 2 ∩ B 1 ),

• A 1 = 0, B 1 = 1, A 2 = 0, B 2 = 1 ; with probability P ( Ā2 ∩ Ā1 )P (B 2 ∩ B 1 ),

• A 1 = 0, B 1 = 1, A 2 = 1, B 2 = 0 ; with probability P (A 2 ∩ Ā1 )P ( B2 ∩ B 1 ),

• A 1 = 1, B 1 = 0, A 2 = 0, B 2 = 1 ; with probability P ( Ā2 ∩ A 1 )P (B 2 ∩ B1 ),

• A 1 = 1, B 1 = 0, A 2 = 1, B 2 = 0 ; with probability P (A 2 ∩ A 1 )P ( B2 ∩ B1 ).

The probability P (S 2 = S 1 ) is obtained by summing those probabilities. After summing, factoring and using the P ( Ā2 ∩ A 1 ) = P (A 2 ∩ Ā1 ) symmetry we get: from which the auto-correlation ρ S t 1 ,t 2 of the output bitstream S is deduced using ρ S t 1 ,t 2 = P (S 2 = S 1 ) -P (S 2 = S 1 ), and similar expressions for A and B (called ρ A t 1 ,t 2 and ρ B t 1 ,t 2 ): = ρ A t 1 ,t 2 × ρ B t 1 ,t 2 .

P (S 2
(B.9)

This result shows that the auto-correlation of the XOR output is always lower in magnitude than the auto-correlation of any of its inputs.

Moreover, the output of a XOR gate can be safely used as an input of another one for further whitening. Since the XOR operation is associative, XOR whitening can both be organized as a tree or a chain. The auto-correlation obtained after whitening N independent MTJ signals {A 1 , A 2 , • • • , A N } is therefore the product of all the individual auto-correlations of the MTJ signals: In particular, neural oscillations that appear to be linked to computational activity in the brain have inspired approaches leveraging the complex physics of networks of coupled oscillators in order to process cognitive tasks efficiently. In the light of recent advances in nano-technology allowing the fabrication of highly integrable nano-oscillators, this thesis proposes and studies novel neuro-inspired oscillator-based pattern classification architectures that could be implemented on chip.

ρ S t 1 ,t 2 = N i =1 ρ A i t 1 ,

Figure 1 . 1 :

 11 Figure 1.1: The internal clock of the firefly on the left reaches the end of a period which causes the firefly to blink. When they perceive it, the neighboring fireflies on the right adjust their internal clocks: the top one is in advance so it nudges its clock back in time while the bottom one lags behind and nudges its clock forward. This brings them closer to synchrony with the firefly that blinked.

Figure 1 . 2 :

 12 Figure 1.2: Time trace of the flashes recorded on two different firefly species. The two species have distinct natural frequencies which prevents synchronization between them.Reproduced from[START_REF] Spencer | North American Fireflies of the Genus Photuris[END_REF].

Figure 1 . 5 :

 15 Figure 1.5: An example of electroencephalogram (EEG): time signal of the voltage measured on the scalp of a sleeping patient, showing different oscillatory patterns at different sleep stages. Credits: Univ. South Carolina Infant Development Laboratory and Nature Group.

Figure 1 . 6 :

 16 Figure 1.6: A simple example of a relaxation oscillator. (a) Schematic of the water tank oscillator. (b) Water outflow as a function of time. Adapted from [8].

Figure 1 . 7 :

 17 Figure 1.7: Phase response of an oscillator A subject to the influence of another oscillator B in the Kuramoto model. (a) When the phase difference θ B -θ A lies in the half-period sin(θ B -θ A ) < 0, it means that oscillator A is ahead of B and slows down. When the phase difference lies in sin(θ B -θ A ) > 0, A is lagging behind B and therefore it accelerates.

Figure 1 . 8 , following equations 1 . 2 ,

 1812 and for different natural frequencies. The couplings are symmetric and defined as k = k A,B = k B,A = 10MHz. This two-oscillator case gives important insight into the influence of natural frequency mismatch and into the principles of synchronization and entrainment.

Figure 1 .

 1 Figure 1.8(b) shows the instantaneous frequencies of the two oscillators θA (t ) 2π and θB (t ) 2π as functions of time in full lines. The dotted lines represent their natural frequencies f 0 A = 200MHz and f 0 B = 100MHz. In this first example, the instantaneous frequencies of the two oscillators fluctuate in time around their natural frequencies due to the coupling term in equations (1.2).

Figure 1 . 8 :

 18 Figure 1.8: Two coupled kuramoto oscillators at different natural frequencies. (a) Schematic diagram. (b) Instantaneous frequencies of the oscillators (full line) and natural frequencies (dotted lines) f 0 A = 200MHz and f 0 B = 100MHz. (c) Another simulation for f 0 A = 130MHz and f 0 B = 100MHz (d) Simulation for f 0 A = 115MHz and f 0 B = 100MHz.

Figure 1 .

 1 Figure 1.8(d) shows a case with an even lower natural frequency mismatch f 0 Af 0 B = 15MHz. After a transient period (about 50ns), the frequencies of the two oscillators lock to a common

CHAPTER 1 :Figure 1 . 9 :

 119 Figure 1.9: Mean frequencies (plain lines) and natural frequencies (dotted lines) of two coupled Kuramoto oscillators A and B as functions of the natural frequency of oscillator A.

Figure 1 .

 1 Figure 1.10 shows the phases of a two-dimensional network of locally coupled Kuramoto oscillators simulated by Flovik et al. [17], providing a visual example of its complex dynamics including the presence of vortices (Figure 1.10(c)).Figure 1.10(a) shows how the order param-

Figure 1 .

 1 10(a) shows how the order parameter r increases from 0 without couplings (k = 0) to almost 1 for strong couplings (k ≥ 35MHz).Snapshots taken at increasing coupling strengths are presented in Figure1.10(b), and show phase transitions towards more coherent states as the couplings increase.

Figure 1 . 10 :

 110 Figure 1.10: Simulation of a two-dimensional lattice of Kuramoto oscillators showing (a) the evolution of the order parameter r as the coupling strength k increases, (b) maps of the relative phases of the oscillators with increasing coupling strengths (1 to 4), and (c) the relative phases of the oscillators in one of the maps, highlighting the presence of vortices (dashed circles) with their polarities. Figure adapted from [17].

Figure 1 . 11 :

 111 Figure 1.11: (a) Linear oscillator state evolving along a circle. (b) Non-linear oscillator relaxing back to its limit cycle (dashed circle) after a perturbation. Figure adapted from [8].

Figure 1 . 12 :

 112 Figure 1.12: Figure adapted from [71] showing a tantalum oxide relaxation auto-oscillator. (a) Auto-oscillator circuit. (b) Current and voltage as functions of time.

  CMOS ring oscillators leverage the finite propagation time of a signal through logic gates made with transistors in order to implement auto-oscillators. Because they are built with transistors only, they are a practical source of oscillating signals inside integrated circuits, and are heavily used for this purpose. CMOS ring oscillators are typically made of an odd number of NOT logic gates arranged in a ring as shown in Figure1.13. The odd number of not gates, together with propagation delays, prevents a stable state from establishing and induces permanent selfsustained voltage oscillations in the circuit.

Figure 1 . 13 :

 113 Figure 1.13: Simplified schematic of a typical CMOS ring oscillator.

Figure 1 . 14 :

 114 Figure 1.14: Figure adapted from [84]. (a) SEM micrograph of a NEMS-CMOS auto-oscillator. (b) Simplified schematic of the oscillator. (c) Output voltage as a function of time.

Figure 1 .

 1 Figure 1.14(a) shows a micrograph of the system with a zoom on the NEMS cantilever, and Figure 1.14(b) shows an equivalent schematic of the system. The position of the cantilever is detected using the changes in capacity between the cantilever and the left electrode (left black rectangle on the schematic). This signal is amplified by a minimal CMOS amplifier that then actuates the cantilever in return using electrostatic interaction through the right electrode (right black rectangle on the schematic).Figure 1.14(c) presents the resulting time trace of

Figure 1 .

 1 14(c) presents the resulting time trace of the voltage signal generated by this auto-oscillator and shows sustained oscillations at about 8 MHz. The area occupied by the whole circuit on chip using 0.35 µm technology is 50×70 µm 2 , which is still relatively large.

Figure 1 . 15 :

 115 Figure 1.15: Simplified schematic of a magnetic tunnel junction.

CHAPTER 1 :

 1 THE COMPUTATIONAL POWER OF OSCILLATIONS magnetizations of the two ferromagnets are in opposite directions (bottom half of the figure), an excess of states for a given spin on one side of the barrier is matched with a shortage of states on the other side. This results in low currents for both spins. The resistance of of the device can therefore be modeled as a pair of resistors in parallel (right side of the figure), each corresponding to one electronic spin. When the ferromagnet magnetizations are aligned, the device is equivalent to a low-value resistor and a high-value resistor in parallel. When the magnetizations are in opposite directions, the device is equivalent to two high-value resistors in parallel.

Figure 1 . 16 :

 116 Figure 1.16: Schematic description of the Tunnel Magneto-Resistance effect (TMR), adapted from [107]. MTJs under a constant voltage bias U are shown on the left in the cases where the magnetization of the free ferromagnet is aligned with the pinned ferromagnet (top), and in the case where they are in opposite directions (bottom). The central part of the figure shows the corresponding densities of electronic states (n ↑ for spin up states, and n ↓ for spin down) in the pinned (left) and free ferromagnets (right). The red arrows are electron tunneling currents and E F are the Fermi levels. The right part of the figure shows the equivalent resistance model.

  (c) for k = 30 MHz, contiguous pixel regions of similar brightness are mapped to a single common brightness value. This result corresponds to an image segmentation according to brightness and allows simplifying an image as a pre-processing step.

Figure 1 . 17 :

 117 Figure 1.17: Segmentation with locally coupled oscillators. Each oscillator represents a pixel, its natural frequency is set according to the original image pixel brightness, and its resulting mean frequency is the segmentation brightness output. (a) Neighbor coupling scheme. (b) Clustered image output without coupling (k = 0MHz). (c) Clustered image output with k = 30MHz couplings.

Figure 1 .

 1 18(a) shows a simplified representation of this network in the N = 4-dimensional case.

Figure 1 . 18 :

 118 Figure 1.18: Degree of matching measure using 4 coupled oscillators. (a) Simplified view of the oscillator network. (b) Degree of matching as a function of a 1 -b 1 and a 2 -b 2 when a 3 = b 3 and a 4 = b 4 . Adapted from [138].

Figure 1 .

 1 Figure 1.18(b) shows the output degree of matching as a function of a 1 -b 1 and a 2 -b 2 . The more vectors A and B are similar (a i ≈ b i ), the closer the natural frequencies are to each other,

Figure 1 .

 1 [START_REF] Trappenberg | Fundamentals of Computational Neuroscience[END_REF] shows an example reconstruction result of an image containing a noisy version of one of the stored digits: "2".

Figure 1 .

 1 Figure 1.19: MEMS-based auto-associative memory reconstructing a picture of the digit "2".Adapted from[START_REF] Maffezzoni | Analysis and Design of Boolean Associative Memories Made of Resonant Oscillator Arrays[END_REF].

Figure 1 .

 1 Figure 1.20 shows a classification architecture by Fang et al. [158] that uses CMOS ring oscillators. Degrees of matching are computed between the input pattern and each stored pattern, and a "Global Resolution Operator" resolves the label of the best matching stored pattern with high accuracy. Similar architectures have been proposed for other types of oscillators including spin transfer torque nano-oscillators [159] or MEMS [150]. This type of oscillator-based classifier only requires tuning natural frequencies and reading degrees of matching, which is convenient for implementations based on nano-devices. However, a set of training examples needs to be stored, and the number of coupling and readout circuits increases rapidly with the number of examples to compare with. This seriously limits the scalability of such an architecture.

Figure 1 .

 1 21shows a artificial neural network in its simplest feed-forward form, that classifies a set of features (height, weight, head size) into two classes (cat or dog). It consists of successive layers (2 in the figure) of non-linear transformations (neurons) on data to perform the task. The vector of outputs h of the neural network gives the degree of confidence that the presented set1.4 COMPUTING WITH OSCILLATORSof features corresponds to a given class. In Figure1.21, the neurons performing non-linear transformations are represented as blue circles. The input of each layer is a linear combination of the outputs of the previous layer (or the input data for the first layer) and a constant bias.These linear combinations (red lines) are encoded as weight matrices, and the ensemble of all the elements of all those matrices constitutes the parameter vector Θ of the model.

Figure 1 .

 1 Figure 1.21: A simple two-layer neural network for classification. Blue circles are non-linear transfer functions (neurons), and red lines are tunable weight matrices.

Figure 1 .

 1 Figure 1.22: A simple reservoir computing approach for classification. Red lines are tunable weight matrices.

Figure 1 .

 1 Figure 1.22 shows a simple example of reservoir computer. The reservoir (in blue) is a highly non-linear physical system with complex internal dynamics. It is typically made of a set of ran-

1 .

 1 the presentation of a promising architecture that leverages synchronizations in a network of oscillators to achieve classification and only requires natural frequency control and synchronization readout,IntroductionAs introduced in Section 1.4.6, most of the proposed oscillator-based pattern classification architectures rely on dynamically tuning couplings, or directly acting on the phases of oscillators, which is hard to implement with current technologies. In 2011, Vassilieva et al.[START_REF] Vassilieva | Learning Pattern Recognition Through Quasi-Synchronization of Phase Oscillators[END_REF] proposed a novel classification scheme that only relies on tuning natural frequencies, and reading the synchronization state of a network of weakly, uniformly coupled oscillators. As neither couplings nor individual oscillator phases need to be tuned, this approach appears promising in the context of nano-technologies. However, the seminal work of Vassilieva et al. was done in a purely mathematical context and does not cover realistic synchronization detection methods nor the resilience to the imperfections of current nano-oscillator technologies.In this chapter, I reinterpret and extend the approach of Vassilieva et al. into a full-featured nano-oscillator based pattern classification architecture. I first show that this architecture can be implemented by leveraging a general property of nano-oscillators allowing convenient frequency tuning through an external bias (usually current or voltage) and propose robust readout circuits that perform pairwise synchronization detection using elementary logic circuits. I then investigate the robustness of the resulting architecture to the typical constraints of current nano-technologies including phase noise, device and coupling variability, phase shifts, geometrical effects, non-linearities as well as the scaling capabilities of the classifier. I also introduce a modified version of this architecture, which relies on a different readout method inspired by the EEG signals from the brain and uses the mean field signal of the oscillator network as an output for classification.

ter 3 ,

 3 or by summing the signals of all oscillators and re-injecting the total signal by the use of external circuitry[START_REF] Csaba | Computational Study of Spin-Torque Oscillator Interactions for Non-Boolean Computing Applications[END_REF]. As their natural frequencies are spread, no synchronization between the oscillators happens spontaneously. A set of input oscillators, with stronger couplings to the core oscillators, is used to perturb the core network. The input to the network is encoded as the natural frequency of these input oscillators.

Figure 2 . 1 :

 21 Figure 2.1: (a) Diagram of the oscillator network showing input oscillators A,B and core oscillators 1,2,3,4. (b) The output synchronization readout map of the ideal reference oscillator network. Each color represents a different set of synchronized pairs of core oscillators. The gray regions represent areas where none of the oscillator pairs is synchronized. The white regions correspond to situations where the evaluated synchronization state is sensitive to the initial conditions.

Figure 2 . 2 :

 22 Figure 2.2: Dummy plant species classification task with the oscillator-based classifier. (a) Oscillator-based classifier architecture. (b) Resulting classification map.

Figure 2 .

 2 Figure 2.2(a) introduces the architecture where the input features of the presented plant are converted to frequencies by a linear rescaling operation and applied as the natural frequencies of the input oscillators.

Figure 2 .

 2 Figure 2.2(b) shows the resulting classification map: depending on its features, the

  2.3(a). This technique aims at evaluating the difference ∆N τ between the number of periods of the two signals during a given amount of time τ. The counting is achieved by incrementing or decrementing a counter at each rising edge of the respective signals. The result is then compared to a threshold d , and the two oscillators are considered synchronizedif |∆N τ | < d .A second scheme that is further called "flip-flop counter" is presented in Fig.2.3(b). Thistechnique exploits the fact that if two signals are synchronized, their rising edges should alternate. A counter is then incremented each time two consecutive rising edges of the same signal are not separated by a rising edge of the second. Again, after the evaluation time τ, the two oscillators are considered synchronized if the final value of the counter is strictly lower than a given threshold f .Because they use only limited information from the signals, the two counter-based schemes

Figure 2 . 3 :

 23 Figure 2.3: Illustration of proposed schemes for evaluating the degree of synchronization between pairs of oscillators: (a) direct counter evaluation technique, (b) flip-flop counter evaluation technique.

Figure 2 . 4 :

 24 Figure 2.4: Simulations in a simplified, noiseless situation with two core oscillators with fixed natural frequencies { f (1) 0 , f (2) 0 } = {560, 580} MHz, and one input oscillator whose natural frequency f (A) 0 is varied. (a) Average frequencies of the three oscillators as a function of f (A) 0 . The quasi-synchronization of the two core oscillators is evaluated using the three readout schemes, and their outputs are plotted as a function of f (A) 0 for (b) variance measure, (c) direct counter, and (d) flip-flop counter schemes. Vertical purple dotted lines indicate the range of perfect synchronization between oscillators 1 and 2. Horizontal green dotted lines correspond to selected thresholds under which oscillators are declared quasi-synchronized.

Figs. 2

 2 Figs. 2.5(a,b,c) present the readout maps of the synchronization patterns in the core network, as a function of the input oscillators' natural frequencies { f (A) 0 , f (B ) 0 } in the case of noiseless oscillators (η = 0). They are obtained using the variance measure, direct counter and flip-flop counter detection schemes respectively.

Figure 2 . 5 :

 25 Figure 2.5: Readout maps showing the distribution of synchronization patterns among core oscillators as a function of the two input oscillators' natural frequencies f (A) 0 , f (B ) 0 , as detected by the three readout protocols. Each color is associated to a single synchronization pattern, as specified on Fig.(a). The (a,b,c) maps are obtained in a situation with noiseless oscillators, (d,e,f ) maps are obtained for oscillators with phase noise corresponding to FWHM=1 MHz. Readout maps are evaluated respectively using: (a,d) the variance measure scheme, (b,e) direct counter scheme, and (c,f) flip-flop counter scheme.

Fig. 2 . 6 ,

 26 Fig. 2.6, that only keeps regions which yield identical outputs in an at least 3 MHz radius area.This ensures that the counted classes are represented by large and continuous regions that are tolerant to small input variations.

Figure 2 . 6 :

 26 Figure 2.6: Effect of the filter applied to the readout maps for counting discriminated patterns. This is illustrated in the case of the readout map obtained for a noiseless network and the flip-flop counter detection scheme (see Fig. 2.5(c)). Saturated regions delimited by a black line are considered robust and kept by the filter, pale areas are ignored. The numbers on the map index the eight unique discriminated patterns.

Fig. 2 .

 2 Fig. 2.7(a) shows the number of discriminated classes of inputs when k cc = 4 MHz is kept constant and k i c is varied. Fig. 2.7(b) shows the number of discriminated classes of inputs when k i c = 12 MHz is kept constant and k cc is varied.

Figure 2 . 7 :

 27 Figure 2.7: Number of discriminated patterns within the core network as a function of (a) inputcore k i c coupling and (b) core-core k cc coupling as evaluated using the three detection schemes. Simulations performed with FWHM = 1 MHz.

Figure 2 . 8 :

 28 Figure 2.8: Number of discriminated patterns as a function of oscillators' FWHM, as evaluated using the three detection schemes.

Figure 2 . 9 :

 29 Figure 2.9: Number of discriminated patterns, (a) as a function of the threshold v when using the variance measure technique, (b) as a function of the counter threshold when using the direct counter and flip-flop counter techniques. The FWHM of the oscillators is set to 1 MHz (solid lines) and 3 MHz (dotted lines). Vertical green dotted lines indicate the thresholds that were chosen in Section 2.3.3.1 and used in the simulations to obtain readout maps.

Figure 2 . 10 :

 210 Figure 2.10: Matching percentage between the readout map obtained for a limited integration time τ and the readout map obtained for a long 100µs integration time, as a function of τ and for the three detection protocols. The inset shows the number of discriminated patterns detected by the three methods as a function of integration time. Simulations are performed with FWHM = 1 MHz.

Figure 2 .

 2 Figure 2.11: (a) Percentage of matching points to the ideal map with respect to noise FWHM for the original ( ) and the adjusted ( ) systems. (b) An example of synchronization readout map under oscillator noise FWHM = 1MHz in the original system.

Figure 2 .

 2 11(a) shows the percentage of matching points to the noiseless ideal map of Fig.2.1(b) at different levels of noise. These results show

Figure 2 .

 2 Figure 2.12: (a) Average matching with the expected map for 100 draws on different natural frequency uniform variability ranges, filled between best and worst cases encountered. (b) An example readout map where f 0 2 was shifted by +2MHz and f 0 4 by -2MHz: { f 0 1 , f 0 2 , f 0 3 , f 0 4 } = {560, 582, 600, 618}MHz.

Figure 2 .

 2 Figure 2.13: (a) Average matching with the expected map for 100 draws with different coupling uniform variability amplitudes µ, filled between best and worst cases encountered. (b) An example readout map for µ = 0.2.

Figure 2 .

 2 Figure 2.14(a) shows the evolution of the degree of matching of the readout map to the ideal map of Fig. 2.1(b), as well as of the number of different discriminated synchronization patterns, as a function of the coupling phase shift value. Results show that the phase-shift has significant effects on the response of the system, as the matching with the reference map drops

Figure 2 .

 2 Figure 2.14: (a) Matching with the ideal map (+) and total number of different discriminated patterns (+) in the readout map as a function of phase shift φ. (b) An example readout map for a phase shift φ = 0.12π. (c) Example readout map for φ = π.

Figure 2 . 15 :

 215 Figure 2.15: Readout map obtained for an oscillator network with conservative coupling (φ 0 = -π/2), dimensionless non-linear frequency shift ν = 5 and coupling strengths reduced by a factor 1 + ν 2 ≈ 5 compared to the linear network.

Figure 2 . 16 :

 216 Figure 2.16: Number of different discriminated patterns in the readout map as a function of the number of core oscillators N c , for N i = {1, 2, 3} input oscillators, as evaluated in an ideal case and in an average case with high noise and variability. The filled regions represent the span between the best and worst cases encountered during 10 random variability trials. The theoretical upper bound (■) corresponds to 2 N c -1 .

Figure 2 .

 2 Figure 2.17: (a) Matching with the response map in the uniform all-to-all coupling case (■), and number of discriminated patterns ( ) in the resulting map for N c = 10 core oscillators as a function of the spatial coupling exponential decay factor. The oscillators are assumed to be arranged along a line, spaced by one distance unit, and ordered by increasing natural frequency. (b) Example response map obtained for N c = 4 core oscillators, N i = 2 input oscillators and λ = 0.5.

Fig. 2 .

 2 Fig.2.17(b) shows that only the 4-oscillator pattern disappears as the coupling decay increases. On the other hand, patterns involving a single input and 2 core oscillators , and remain unaffected. Patterns involving at most single pairs of synchronized oscillators remain unaffected because they rely on first-neighbor couplings only. On the other hand, patterns involving at least one group of more than 2 synchronized oscillators are affected because long range interactions between distant neighbors in the group contribute to their stability.

Figure 2 . 18 :Fig. 2 .

 2182 Figure 2.18: Matching with the ideal map (+) and total number of different discriminated patterns (+) in the readout map as a function of the phase shift per distance unit, for N c = 10 core oscillators. Oscillators are assumed to be arranged along a line, spaced by one distance unit, and ordered by increasing natural frequency.

  order to evaluate this EEG-like readout possibility for the oscillator-based classification architecture, I simulate its response map in terms of the mean value of the EEG-like signal S obtained using different envelope detection time constants τ EEG (Figure 2.19(b,c,d)), and compare it to the corresponding pairwise synchronization map shown in Figure 2.19(a).

Figure 2 . 19 : 2 . 6 SUMMARY OF THE CHAPTER 73 Figure 2 .

 21926732 Figure 2.19: (a) Synchronization response map of the oscillator-based classification architecture. (b, c, d) EEG-like signal maps of the same system with τ EEG = {0, 0.01, 0.1}µs envelope detection time constants respectively.

Figure 2 .

 2 Figure 2.19(c) shows the EEG response map with an envelope detection time constant τ EEG = 0.01µs. The map is similar to the case τ EEG = 0µs but the contrast has improved: the EEG signal now varies between 0.34 and 0.74. This higher contrast can make the physical readout easier.

Figure 2 .

 2 Figure 2.19(d) corresponds to the EEG-like response map for τ EEG = 0.1µs. It shows abrupt

  a realistic model of the device, and validates it against the experimental results of our collaborators. A suitable coupling circuit implementing the oscillator-based classifier introduced in Chapter 2 is also defined. Connections to existing oscillator models providing different levels of realism, simulation speed and analytical prediction capabilities are also derived, validated and compared. Finally, the full oscillator-based classifier is simulated in order to investigate the compatibility of the vortex spin transfer nano-oscillator with the classification architecture.

Figure 3 . 1 :

 31 Figure 3.1: (a) Sample description. Arrows illustrate the magnetization distribution in ferromagnets. (b) Illustration of the vortex magnetization dynamics. Arrows and color scale respectively describe the in-plane and out-of-plane magnetization distribution.

. 2 )

 2 Equation 3.1 is the modified Thiele equation describing the dynamics of the vortex core, accounting for conservative and dissipative terms. The left hand side gyrotropic term is equal to along perpendicular z-axis p ∥ 100% Current spin polarization along in-plane x-axis Table3.1: Geometrical and magnetic parameters for the free ferromagnetic layer and spin polarized current.the sum of the effective forces acting on the vortex core: an effective damping force, a springlike confinement force, and effective spin-transfer forces induced respectively by the perpendicular and the in-plane spin polarizations of the current. Equation3.2 relates the value of the resistance to the position of the vortex core, and depends on the TMR. All the terms appearing in these equations are derived from geometrical and magnetic parameters. Their expressions are gathered in table3.2. Additionally, on the right-hand side, a phenomenological stochastic force F noi se (t ) has been added, describing the action of thermal fluctuations according to fluctuation-dissipation theorem, and derived in the framework of the classical nonlinear oscil-

  frequency and amplitude in the steady-state regime and their independence to the simulation time step. Due to different time-scales for the evolution of the phase and the amplitude of oscillations, we found that the compact model is largely improved by implementing equation (3.1) under polar coordinates instead of Cartesian. We then evaluated that to ensure a steady-state frequency stability, a reasonable criteria was ensuring that the time step for the simulation verifies ∆t < T (ρ)/50 where T (ρ) = 2π/ω is the instantaneous oscillation period of the vortex. We enforce this minimum time step thanks to a bound_step VerilogA call within the compact model.The thermal fluctuation term was implemented through a random Gaussian draw at each integration step of the differential equation. Compatibility of this model with fluctuationdissipation theory was then verified by evaluating the average fluctuating energy at equilibrium. At zero bias, this energy 〈 〉 = 〈1 2 k(ρ)r 2 ρ 2 〉 was verified to be equal to the thermal energy k B T . 10µs simulations of a single oscillator on a 3.20GHz CPU were obtained in respectively 9.43s and 9.81s for the noise-free and room-temperature noisy oscillator. In Figures 3.2

  (a) and (b),

Figure 3 . 2 :

 32 Figure 3.2: (a) Simulated voltage versus time for a noise-free oscillator under a constant 260µA bias. (b) Simulated voltage versus time and (c) associated spectrum for a noisy oscillator under a constant 260µA bias. Full Width at Half-Maximum is determined by fitting the spectrum peak with a Gaussian function.

Figure 3 . 3 :

 33 Figure 3.3: (a) MOSFET-based control circuit for the spin transfer oscillator, simulated using a commercial 28nm-node design kit. (b) Frequency and peak-to-peak amplitude of the output voltage V out versus command voltage.

Figure 3 . 4 :

 34 Figure 3.4: (a) MOSFET-based control circuit simulated using a commercial 28nm-node design kit. V cde is oscillating at f stimulus = 609MHz to apply an alternating current component I AC , and V bias1 sets the natural frequency at about f 0 = 620MHz. (b) STNO frequency as a function of the amplitude of I AC .

Figure 3 .

 3 Figure 3.5(a) shows the coupling circuit using two oscillators connected in series and capacitively coupled. Two different constant current biases I 0 1 and I 0 2 are applied to oscillators 1 and 2 respectively, in order to define their natural frequencies. As the resistances R 1 (t ) and R 2 (t ) of the two oscillators fluctuate, their combined effect induces current oscillations I rf in the whole branch. This current influences the oscillators by accelerating them or slowing them down, which corresponds to non-local, all-to-all coupling. The capacity C must be high enough (C > 200pF) to avoid second-order oscillations, and the load resistor R L = 50 Ω corresponds to the internal resistance of high frequency measurement devices such as spectrum analyzers. In order to characterize the efficiency of this coupling, I have carried out a noiseless SPICE simulation of this circuit including the Thiele model of the oscillators, at constant oscillator 2 natural frequency defined by I 0 2 = 706 µA and swept the natural frequency of oscillator 1 by varying I 0 1 from 680 µA to 730 µA.

Figure 3 .

 3 Figure 3.5(b) shows the mean frequencies of the two oscillators as functions of I 01 . Outside of the synchronization range, the mean frequency of Osc. 1 varies quasi-linearly with I 0 1 , and shows a natural frequency tuning behavior consistent with experiments[START_REF] Lebrun | Mutual synchronization of spin torque nano-oscillators through a non-local and tunable electrical coupling[END_REF]. The syn-

Figure 3 . 5 :

 35 Figure 3.5: SPICE simulation of two coupled vortex nano-oscillators in a circuit. (a) Circuit diagram. (b) Mean frequency of the two oscillators, as functions of the current bias of Osc. 1 I 0 1 . Frequency locking synchronization is achieved for 700 µA < I 0 1 < 712 µA.

Figure 3 . 6 :

 36 Figure 3.6: Electrical coupling of N vortex spin torque nano-oscillators.

. 25 )

 25 From this expression, we see that at first order, the Thiele amplitude equation behaves like a restoring force towards δρ = 0. To identify this equation to its Landau-Stuart counterpart, we first need to develop the Landau-Stuart equation to the first order with ρ = ρ 0 + δρ in the same way: δρ = (-2γρ 0 δρ)ρ .(3.26)

.40) 3 . 4 LINK WITH GENERAL OSCILLATOR MODELS 95 In

 3495 order to test how well this model matches the Thiele model, I simulate it in the same twooscillator noiseless case as in Figure 3.5(b) with the same phase compensation to maximize synchronization, and compare the results to the Thiele model.Figure 3.7 shows the average frequencies of the two coupled oscillators as functions of the oscillator 1 bias current I 0 1 , for the Thiele model (in blue, same values as in Figure 3.5(b)) and for the first order equivalent Landau-Stuart model (in red).

Figure 3 . 7 :

 37 Figure 3.7: Mean frequencies of two electrically coupled nano-oscillators, as functions of the Osc. 1 current bias, as obtained through SPICE simulation with the Thiele model, and using the raw Landau-Stuart model. The raw Landau-Stuart model overestimates the synchronization range.

Figure 3 .

 3 8 assesses the behavior of the corrected model in the same case as previously (Figure 3.7), comparing it to the Thiele model. This coupling-corrected Landau-Stuart model is in very good agreement, in all regions, with the full Thiele model with SPICE simulation. The coupling-corrected Landau-Stuart model can therefore successfully approximate the behavior of STNOs:

. 41 )Figure 3 . 8 :

 4138 Figure 3.8: Mean frequencies of two electrically coupled nano-oscillators, as functions of the Osc. 1 current bias, as obtained through simulation with the Thiele model, and using a coupling-corrected Landau-Stuart model. Excellent agreement is achieved. These results show that the behavior of non-linear STNOs is successfully approximated by a Landau-Stuart model, which illustrates the usefulness of this model as a generic description of non-linear oscillators. It also implies that an oscillator-based classification architecture built with vortex spin-transfer nano-oscillators is subject to the effects of non-linearities shown in Section 2.4.5.

. 47 )

 47 In this expression the non-linearity ν increases the effective Kuramoto coupling strength by a factor 1 + ν 2 i , and induces a phase shift tan -1 (ν i ). The noise term can be freely adjusted to match the desired linewidth FWHM = 171.4 kHz In order to evaluate this model, I simulate the same noiseless two coupled oscillator case as in Figure3.8 to compare it to the Landau-Stuart model. The same phase compensation is used as in the previous simulations, and verifies φ i = 0. Figure3.9 shows that this Kuramoto model closely matches the Landau-Stuart model both inside and far from the synchronization range, with only minor deviations in the entrainment regions close to synchronization.

Figure 3 . 9 :

 39 Figure 3.9: Mean frequencies of two electrically coupled nano-oscillators, as functions of the Osc. 1 current bias, as obtained through simulation with the Landau-Stuart model, and using the linear Kuramoto model. Good agreement is obtained between the two models.

Figure 3 .

 3 Figure 3.10(a) shows a schematic of the circuit that naturally couples 6 STNOs all-to-all with independently tunable natural frequencies, thus implementing the oscillator-based pattern recognition scheme described in Chapter 2. A minor difference is that all the couplings are identical (the input oscillators A ans B do not have stronger couplings) but this simplification due to circuit constraints does not influence the quality nor the fundamental behavior of the architecture. The current biases of the core oscillators are { f 0 1 , f 0 2 , f 0 3 , f 0 4 } = {703, 706, 709, 712}µA, the load resistor is R L = 50 Ω and the capacitor C = 200 pF.

Figure 3 .

 3 10(b) shows the synchronization response map of the core oscillators for different values of the current biases of the two input oscillators I 0 A and I 0 B . The map is close to the reference map studied in Chapter 2 (Figure 2.1(b)) which confirms that this circuit effectively implements the expected pattern recognition behavior.

Figure 3 .Figure 3 . 10 :

 3310 Figure 3.10(c) shows the resulting synchronization map using the equivalent Landau-Stuart model (equation 3.41). This map is very similar to the Thiele map, and also includes the nonlinearity related deformations such as the aforementioned pattern thinning. It is however slightly less noisy as the model does not include some second-order fluctuations (see sections 3.4.2.4 and 3.4.2.5), which makes patterns larger than in the Thiele case. Furthermore, the fully

  Circuit simulation results were in agreement with the experimental observations of our collaborators and successfully described the natural frequency control and synchronization dynamics of electrically coupled oscillators. To complete the understanding of this circuit, I derived the analytical equations of the total current flowing through each oscillator as functions of the oscillator resistance values. Using the oscillator model equations, the analytical description of the circuit and multiple approximations, I rewrote the description of the oscillator network as a Landau-Stuart model, which is the simplest model describing networks of non-linear oscillator. Simulation results comparing the two models showed that the Landau-Stuart description was accurate but overestimated the synchronization range of a pair of coupled oscillators. After adding a single corrective factor to the coupling expression of the Landau-Stuart model, this mismatch, due to approximations, was successfully compensated. As a result, the corrected Landau-Stuart model was in perfect agreement with the initial circuit simulation results on a two-oscillator circuit. By applying further approximations, I rewrote the Landau-Stuart model as a linear Kuramoto model. Simulation results comparing the resulting Kuramoto model with the Landau-Stuart model on the two-oscillator case showed good agreement between the two models.Finally, I described a circuit that implements the oscillator-based classifier presented in Chapter 2 and computed its response map using circuit simulations. I also computed the equivalent response maps using the Landau-Stuart model, and the Kuramoto model. The three response maps were in good agreement, which shows that the proposed circuit successfully implements the oscillator-based classifier, and that the generic linear Kuramoto model used to study the circuit in Chapter 2 is indeed a good description of the system. These theoretical results suggest that vortex spin transfer nano-oscillators are compatible with the constraints of the proposed architecture. Experiments performed by our collaborators give an oscillator phase noise level FWHM < 1 MHz, which allows the successful operation of the classifier. The oscillator-based classifier can therefore be implemented using vortex spin transfer nano-oscillators, and the robustness results obtained in Chapter 2 using a generic oscillator model fully apply to this case. Moreover, our collaborators at the CNRS/Thales laboratory have experimentally implemented an architecture similar to the one described in this Chapter. A detailed description of their approach, as well as the associated learning algorithm are presented in Section 4.7. CHAPTER of this thesis presents how to train the oscillator-based classifier proposed in Chapter 2 to solve arbitrary classification tasks. "IntroductionIn order to solve an arbitrary classification task with the oscillator-based classifier proposed in Chapter 2, the response of the system first needs to be shaped accordingly. This can be achieved by supervised learning, which involves presenting known examples to the classifier and adjusting the tunable parameters of the system, here the natural frequencies of the core oscillators, so that the right output is associated to each presented input example. After successful learning, the classifier can perform inference, which means that it can operate on new, unlabeled data. This Chapter focuses on defining an offline learning algorithm for the oscillator-based classifier. Offline learning implies that the parameters of the network are learned within a simulated computer model of the classifier, and can then be transferred into a physical system for inference. After defining a novel offline learning algorithm dedicated to the oscillator-based classifier proposed in Chapter 2, I perform offline learning and evaluate the capabilities of the architecture on simple classification tasks. In the light of these results, I deduce the limitations of the architecture, and propose architectural changes to achieve better results while keeping the classifier compatible with the constraints of nano-technologies. I then evaluate the resulting extended oscillator-based classifier on typical machine learning tasks. I also propose a different learning approach for the "EEG-like" variant of the classifier introduced in Section 2.5.2, and investigate its learning capabilities. Finally, I introduce online learning possibilities through the experimental work of our collaborators at UMR CNRS/Thales. Contrary to offline learning, online methods carry out the learning process directly within a physical implementation of the classifier, but show other limitations.

1 .

 1 4.7), compute a scalar error function E that measures the difference between the vector of outputs h of the model and the vector of expected outputs y, adjust the parameters Θ of the model to minimize this error, and repeat the process until the model correctly performs the desired task on the examples. Once successfully trained, the model can be used on real, unknown data. Finding the right way to adjust the parameters of the model to minimize the error function E typically involves computing the partial derivatives ∂E ∂Θ of the error with respect to all model parameters, which define how the error changes when the corresponding parameters are adjusted. Positive values indicate that the parameter needs to be reduced and negative values indicate that it needs to be increased to minimize the error. The magnitude of the derivative of E with respect to a given parameter measures the sensitivity of the error E to this parameter. A simple optimization method, steepest descent, is readily deduced from this observation and follows: For each example m from a batch of M examples: (a) Present the input example vector x (m) to the model (b) Compute the output h (m) of the model for example m (c) Compute the error function E (m) h (m) , y (m) for example m (d) Compute the derivatives ∂E (m) ∂Θ 2. Compute the mean error E = 1 M m E (m) on the presented examples 3. Compute the mean derivatives ∇ Θ E = 1 M m ∂E (m) ∂Θ 4. Apply the parameter update rule: Θ ← Θ -α∇ Θ E

Figure 4 . 1 :

 41 Figure 4.1: Error contribution of a pair of core oscillators (i , j ) for example m, as a function of the desynchronization measure D (m) i , j . (a) When a synchronization of this pair is expected for example m. (b) When the pair is expected to be desynchronized for example m. The dashed line represents the limit between synchronization and desynchronization D (m) i , j = 1.

. 2 )

 2 A global view of the architecture including the error functions is presented in Figure4.2.

Figure 4 . 2 :

 42 Figure 4.2: Block diagram view of the offline learning model for the oscillator-based classification architecture.

  Initialize the derivatives of the instantaneous frequencies: Initialize the mean frequency accumulators: < f a >= 0, and their derivatives:

Figure 4 .

 4 Figure 4.3(a) illustrates the reinterpretation of the oscillator network as a recurrent neural network cell. This elementary cell takes the phases of the oscillators θ(t ) and their natural frequencies f 0 as inputs, and outputs the instantaneous frequencies of the oscillators f (t ) as well as their new phases for the next time step θ(t + dt). This elementary cell is fully differentiable.

Figure 4 . 3 :

 43 Figure 4.3: (a) Diagram of the elementary recurrent cell equivalent to the Euler integration update rule. (b) A fully differentiable oscillator network operator using a stack of these elementary cells to represent numerical integration.

  Figure 4.3(b) illustrates an

Figure 4 . 4 :

 44 Figure 4.4: Diagram of the oscillator-based binary classifier.

Figure 4 .

 4 5(a). It consists in classifying blue (class 0) and red (class 1) example points. The green background area in the map is where the two output oscillators are synchronized (output class 1), and the target of the learning is to reshape this area so that it covers the red (class 1) examples, and not the blue (class 0) ones. Note that the initial conditions for the core natural frequencies are set to be the same as in Chapter 2.

Figure 4 .

 4 Figure 4.5(b) shows the response map after 10 learning iterations. The spurious side synchronization lines have almost disappeared, and the central blob has moved towards covering the red (class 1) examples. The classification quality has therefore improved since most red examples are correctly classified as class 1 and most blue examples are correctly classified as class 0.

Figure 4 .

 4 Figure 4.5(c) shows the map after 20 learning iterations: the classification is now almost perfect. When a red (class 1) example is presented, the output oscillators synchronize to classify it as class 1, and when a blue (class 0) example is presented, they don't synchronize and classify it correctly as class 0.

Figure 4 . 5 :

 45 Figure 4.5: (a) Initial response map. (b) Response map after 10 learning iterations. (c) Response map after 20 learning iterations. The green area is where the two output oscillators are synchronized. Synchronization is expected for the class 1 examples (red dots), and no synchronization is expected for the class 0 examples (blue dots).

Figure 4 .

 4 5 consisted in classifying a simple centered circular region of red examples, and was easily solved. In this part, I attempt the same task, but for different positions of the expected synchronization region in order to evaluate the sensitivity of the classifier to translation.

Figure 4 .

 4 Figure 4.6 shows the response map of the system after 100 learning steps, and for three different positions of the target class 1 region:

Figure 4 . 6 :

 46 Figure 4.6: Classifying regions at three different positions. On (a) the region is off-center but on the first diagonal of the map, and on (b) and (c) it is off-diagonal.

Figure 4 .

 4 Figure 4.7 shows response maps after 100 learning iterations for different regions of expected synchronization: • The control run on Figure 4.7(a) confirms that allowing the adjustment of couplings does not hamper the classification of symmetric regions along the diagonal. • Figure 4.7(b) shows the successful classification of a highly off-diagonal region. This shows that tuning the couplings allows the system to represent off-diagonal regions. • Figure 4.7(c) shows the classification of a more complex, and non-symmetric shape for which more than 90% of the examples are successfully classified. This validates the effectiveness of this architecture.

Figure 4 . 7 :

 47 Figure 4.7: Maps after learning by optimizing natural frequencies and couplings for different target shapes.

. 8 )Figure 4 . 8 :

 848 Figure 4.8: Extended version of the binary classification architecture showing the tunable weight matrix as red lines.

Figure 4 .

 4 Figure 4.9 shows the response maps of the system for different target synchronization regions. In these maps, the class 1 area of expected synchronization is marked in bright red and green colors, and class 0 areas where no synchronization is expected is marked in dark green and red colors: green areas correspond to successful classification, while red areas mark misclassification. The initial weights before learning are set to match the basic classification architecture behavior presented in the previous chapters, plus uniform random variations in the range [-10 -3 ; 10 -3 ].Figure 4.9(a) shows the response map of the extended architecture before learn-

Figure 4 .

 4 9(a) shows the response map of the extended architecture before learning for a simple task consisting in classifying a centered circular class 1 region. The response is reminiscent of the one in Figure4.5(a). After 100 learning steps, Figure4.9(b) confirms that this simple case is still successfully solved, as well as the off-centered but diagonal case in Figure 4.9(c). More interestingly, Figure4.9(d) shows that the off-diagonal case is also successfully solved.

Figure 4 .

 4 10, I show the resulting response maps of the extended classification architecture after learning to classify non diagonal-symmetric stretched regions (Figure 4.10(a and b)), disjoint regions (Figure 4.10(c)) and concave regions (Figure 4.10(d)). All regions are successfully classified by the extended architecture using only 6 oscillators.

Figure 4 . 9 :

 49 Figure 4.9: Basic classification task with the extended classification architecture. Bright areas represent expected synchronization, dark areas represent expected desynchronization. Green represents successful classification and red highlights misclassification. (a) Initial condition before learning on a centered circular pattern. (b) Resulting map after 100 learning steps. (c) Resulting map for a non-centered diagonal pattern. (d) Resulting map for an off-diagonal pattern.

4. 3 MAKING THE LEARNING MORE FLEXIBLE 121 Figure 4 . 10 :

 3121410 Figure 4.10: Response maps of the extended oscillator-based classification architecture after 100 learning steps on different non diagonal-symmetric stretched regions (a) and (b), disjoint regions (c) and a concave region (d).

Figure 4 .

 4 Figure 4.11 shows the classification rate on the test set as a function of the learning step for each target species. It shows that the learning process successfully increases the classification rates which stabilize after about 120 learning steps. At the end of the learning process, the Iris setosa and Iris virginica species are perfectly classified for all test examples, while the nonseparable class Iris versicolor is successfully identified for 98.3% of the test examples.

Figure 4 . 11 :

 411 Figure 4.11: Evolution of the test set classification rate of each Iris class by the extended oscillator-based classification architecture, as functions of the learning iteration.

Figure 4 .

 4 Figure 4.12 shows the test set classification rates of the extended oscillator-based classifier and the tanh neural network, as functions of the number of units (oscillators or neurons).

Figure 4 .

 4 Figure 4.12: ( ) Test set classification rate of the Iris-Versicolor non linearly separable class after learning, as a function of the number of oscillators in the network. ( ) Classification rate on the same task using a 2-layer tanh-based neural network, as a function of the number of neurons.

Figure 4 . 13 :

 413 Figure 4.13: Test set classification rate on the Iris-Versicolor class using the extended oscillatorbased classification architecture after learning, as a function of the oscillator linewidth (FWHM). The figure shows the average classification rate on 100 trials, and the filled background represents the span between the minimal and maximal classification rates encountered during trials. The horizontal red line is the classification rate obtained if the classifier always outputs 0.

Figure 4 .

 4 Figure 4.14: A simple feed-forward neural network, where each blue rounded rectangle is an artificial neuron implementing a non-linear activation function.

Figure 4 . 15 :

 415 Figure 4.15: (a) Simplified schematic of the proposed neuron. Red circles are oscillators. (b) Neuron activation function for f 0 amp = 2k. The neuron operates in the phase locked (blue filled) region.

Figure 4 . 16 :

 416 Figure 4.16: Iris test set classification rate evolutions during learning for the three classes using (a) oscillator-based neurons, (b) classical sigmoid neurons (c) threshold neurons.

Figure 4 .

 4 Figure 4.17: MNIST test set classification rate as a function of the oscillator linewidth.

Figure 4 .

 4 Figure 4.18 shows a schematic of the global classification architecture with EEG-like readout. The underlying architecture is the same as for the extended oscillator-based classifier, with a tunable weight matrix and a uniformly coupled oscillator network (my simulations use k = 7MHz). Only the readout method differs. It consists in taking the envelope S of the mean signal of the oscillators (or any signal proportional to it), rescaling it to obtain the analog output a = α a + β a S, and thresholding it to output a binary value a > 0.5.

Figure 4 . 18 :

 418 Figure 4.18: Schematic of the extended oscillator-based classifier with EEG-like readout.

3 . 4 . 6 .

 346 Selection: (a) Keep N survive good genomes intact for the next generation: select N survive genomes at random with probabilities proportional to their fitnesses. (b) Select couples for sexual reproduction: select N pop -N survive pairs of genomes, with probabilities proportional to individual fitnesses. Sexual reproduction and mutations: for every selected couple: (a) Produce a "child" genome by combining the genomes of the parent couple (b) Apply random mutations to the children genomes 5. Replace the current generation with a new one composed of the N survive genomes that survived the previous generation, and the N pop -N survive newly produced children genomes. Go back to step 2. to process the new generation.

Figure 4 .

 4 19(a) shows the target response map with this region. The training set on which evolution is performed consists of 1000 randomly chosen points different from the map pixels, and the test set consists of the 100 × 100 pixels of the response map.

Figure 4 .

 4 Figure 4.19(b) plots the test set classification rate of the best genome (the best-performing genome on the training set), and the mean test set classification rate of the population as functions of the generation number. After about 40 generations, the mean classification rate of the population reaches 95% and its best genome crosses 99%. The snapshots in figures 4.19(c,d,e) show the rescaled output a map of the best genome of generations 1, 17 and 93 respectively. In the desaturated areas a < 0.5 the network classifies the

Figure 4 . 19 :

 419 Figure 4.19: Evolving the weight matrix of the extended oscillator-based classifier with EEG-like readout to classify a simple two-dimensional circular region. (a) Target response map defining the classification task. (b) Test set successful classification rate as a function of the generation number, showing the score of the best genome of the population, as well as the average score of the population. (c,d,e) Snapshot maps of the a output of the best genome in the population at generations 1, 17 and 93 respectively. Desaturated areas are classified as 0, and warm-colored areas are classified as 1.

Figure 4 .

 4 20(a). The setup is the same as for the previous task but contrary to the simple centered circular region, this target region is concave and not diagonal-symmetric. The learning is performed both without noise, and with an oscillator linewidth of FWHM = 1MHz.

Figure 4 . 20 :

 420 Figure 4.20: Evolved complex two-dimensional classification using the extended oscillatorbased classifier with EEG-like readout. (a) Target map. (b) Map of the rescaled output a of the best genome after 100 generations, without noise. (c) Response map of the best genome after evolution during 100 generations with oscillator linedwidths FWHM = 1MHz.

Figure 4 .

 4 Figure 4.20(b) shows the map of the rescaled output a of the best genome after 100 generations of evolution without phase noise. Its classification rate exceeds 96% which confirms that the classifier quickly solves this task.

Figure 4 .

 4 Figure 4.20(c) shows the a output map of the best genome after 100 generations of evolution in the presence of noise levels consistent with spin torque nano-oscillators. This response map appears more granular and the limits of the classified areas are more blurry. However, the test set classification rate still reaches 95%. This result shows the high resilience of this classifier to realistic phase noise levels. This can be attributed to the presence of noise during the evolution process which eliminates noise-sensitive solutions and favors robust ones, leading to noise robustness being deeply imprinted in the genomes.

Figure 4 .

 4 Figure 4.21 shows the architecture used for this project. It consists of a core set of four electrically coupled vortex spin transfer torque nano-oscillators perturbed by antenna-fed radiofrequency signals A and B with respective frequencies f A and f B . A spectrum analyzer is used

Figure 4 . 21 : 140 CHAPTER 4 :

 4211404 Figure 4.21: Schematic of the experimental classification architecture with STNOs by Julie Grollier's team, showing four electrically coupled vortex STNOs with antenna RF inputs A and B . Mean field signal spectra are shown without input signals, and with input signals respectively.

Figure 5 . 1 :

 51 Figure 5.1: Structure and behavior of superparamagnetic tunnel junctions. (a) Basic structure of the measured superparamagnetic tunnel junctions and readout setup. (b) Detailed stack of the junctions. (c) Representation of the two stable magnetic states, and the associated energy barrier. (d) Experimental resistance trace and thresholding operation.

Fig. 5 .

 5 1(d) shows a sample from the time evolution of the electrical resistance of a junction measured at room temperature, as well as a binarized version, obtained by thresholding. We see that the resistance follows two-state fluctuations analogous to a random telegraph signal. The mean frequency of fluctuations is strongly related to the shape and material properties of the junction[START_REF] Sato | Properties of magnetic tunnel junctions with a MgO/CoFeB/Ta/CoFeB/MgO recording structure down to junction diameter of 11 nm[END_REF].

Figure 5 . 2 :

 52 Figure 5.2: Statistics of the experimental superparamagnetic tunnel junction signal. (a) Experimental histograms of the dwell times in Anti-parallel (AP, top Figure, high resistance) and Parallel (P, bottom Figure, low resistance) states, for a superparamagnetic magnetic tunnel junction measured during 10s. (b) Experimental power spectrum density of the resistance signal. (c) Autocorrelation of the experimental resistance signal as a function of signal sampling period.

Figure 5 . 3 :

 53 Figure 5.3: Whitened experimental random bitstream quality assessment. (a) Mean state and consecutive bit autocorrelation as functions of the number of independent superparamagnetic tunnel junction signals combined by XOR. NIST STS randomness quality test results on experimental data whitened by XOR4 (b) and XOR8 (c) at a F sampling = 5kHz sampling frequency. When all test results are in the green area, the bitstream is consistent with cryptographic quality.

tests. Fig. 5 .

 5 3(b) and (c) show the results for XOR4 and XOR8 whitened bitstreams respectively.

. 5 )Fig. 5 .

 55 Fig. 5.4(a), based on this derivation, shows that random bits could be generated at up to tens of MHz for energy barriers below 5k B T , corresponding to a diameter of 8nm.

Figure 5 . 4 :

 54 Figure 5.4: (a) Effect of scaling the energy barrier on the ideal sampling frequency, based on the device model. The inset shows the energy barrier as a function of the junction diameter for PMA-MTJs. (b) Precharge sense amplifier (PCSA) circuit for reading the state of a superparamagnetic tunnel junction. (c) PCSA reading energy as a function of the superparamagnetic tunnel junction P state resistance R P .

Figure 5 . 5 :

 55 Figure 5.5: Mean value of a perfectly balanced ultrascaled stochastic MTJ as a function of the sampling frequency, obtained through SPICE simulation of the PCSA circuit and using our device model. The dashed red line represents the ideal 50% mean value.

Figure 5 . 6 :

 56 Figure 5.6: External perturbations and crosstalk effects. (a) Theoretical curve of the maximum sampling frequency for high quality random bit generation, as a function of temperature, for different junction stabilities (the black curve corresponds to the junction characterized in Figs. 5.2 and 5.3). (b) Black symbols: experimental mean state of the junction (up ratio) as a function of the applied magnetic field (red dotted line: theory). (c) Theoretical minimal distance between superparamagnetic tunnel junctions allowed to prevent crosstalk, as a function of the superparamagnetic tunnel junction diameter.

Fig. 5 .

 5 6(a), based on the model introduced in the previous section, shows the temperature dependence of the maximum sampling frequency for several values of the effective barrier. Higher temperatures produce better random numbers: as temperature increases, the superparamagnetic tunnel junction switching rates increase accordingly, thus allowing faster sampling frequencies. Devices should therefore be sized based on their lowest operation temperature. Superparamagnetic tunnel junctions are also sensitive to magnetic fields. Fig.5.6(b) shows the experimental mean state of a superparamagnetic junction as the function of external magnetic field. Fields of a few Oe shift the mean state to a level that cannot be corrected by XOR8 whitening. Magnetic shielding is therefore necessary for applications. Such technology (based on mu metals) has already been developed for MRAM.

ure 5 .

 5 7(a)).

Figure 5 . 7 :

 57 Figure 5.7: (a) Representation of the free magnetic layers of two identical side by side superparamagnetic tunnel junctions modeled as two dipoles. Their states are associated respectively to the variables A and B , each taking two possible values {+1, -1}. (b) 4-states Markov chain showing the possible transitions between all {A,B} system states, and associated transition rates. (c) Simplified Markov chain.

. 11 )Fig. 5 .

 115 Fig. 5.6(c) shows the evolution of this critical distance at room temperature as the diameter of the junctions is scaled down. It falls below 100nm for ultimately scaled 10nm diameter devices, which constitutes a layout design rule, and which would be naturally respected if the junctions are associated with PCSA circuits.

Figure 5 .

 5 Figure 5.10(c) shows the general structure of a cascaded C-element Bayesian inference architecture with 7 input bitstreams representing the normalized evidence terms with probabilities {P * (E 1 ), • • • , P * (E 7 )}, and a bitstream with the prior probability P (X ). The architecture has one output that provides the probability P (X |E 1 , • • • , E 7 ). Thresholding this output allows simple binary classification.

Figure 5 . 10 :

 510 Figure 5.10: Schematic of a full C-element based Bayesian inference architecture using superparamagnetic magnetic junctions for probabilistic bitstream generation. (a) XORwhitened stochastic magnetic tunnel junction random bitstream generator. (b) Probabilistic bitstream generation from whitened bitstreams using a comparator. (c) C-element Bayesian inference network.

Figure 5 .

 5 10(b) shows how those unbiased bitstreams are turned into probabilistic bitstreams. Random integers A are generated with each bit of their K -bit binary representation coming from an unbiased bitstream. These numbers uniformly span integers in the range [0 . . 2 K -1]. They are then compared, using a digital comparator, to a stored number B = Round P × 2 K with the strict comparison A < B . The output of the comparator is then a probabilistic bitstream with a probability of approximately P . The precision of this ap-

Fig. 5 .

 5 Fig. 5.11(a)), as recently introduced in [216].

Figure 5 . 11 :

 511 Figure 5.11: Email classification with stochastic computing using whitened experimental random bitstreams. (a) Stochastic email classification circuit, and email messages to classify. One "RNG" block includes several random bit generators to provide bits with controllable probability. (b) Resulting spam probability as a function of the number of random bits per word using XOR4-whitened experimental 5kHz data over 2000 iterations. (c) Spam classification success rates for different whitening techniques for 5kHz sampling, using 8bits/word and 2000 iterations.

Figure 5 . 12 :

 512 Figure 5.12: Total energy required to classify e-mail messages, as a function of the number of words in the dictionary.

  After listing existing nano-oscillator technologies, the first Chapter of this thesis shows that oxide-based relaxation oscillators, CMOS ring oscillators, MEMS oscillators, Josephson junctions and spintronic nano-oscillators have great potential for applications. The Chapter then summarizes existing oscillator-based computing approaches, and concludes that they perform well on specific tasks, but that pattern classifiers, currently in high demand, do not have satisfying oscillator-based implementations. As a starting point to implement such a classifier, I study a promising oscillator-based pattern classification idea formulated in a purely mathematical context by Vassilieva et al. which uses synchronization readout and natural frequency control in an oscillator network to achieve classification. After proposing simple and robust synchronization detection schemes, a fullfeatured oscillator-based classifier architecture is defined in the second Chapter. Through extensive simulations, I show that this architecture scales well and is compatible with the constraints and non-idealities of nano-technologies provided certain design rules.The third Chapter focuses on a specific oscillator type, the vortex spin transfer nano-oscillator, studied experimentally by Julie Grollier's group. The Chapter defines an accurate VerilogA model of the device, compatible with industrial circuit simulation tools, which show that the device matches the requirements of the classifier architecture. The third Chapter then describes a circuit using these devices to implement the classifier. Thorough mathematical analysis and simulations show that this circuit behaves as expected. A variant of the architecture with EEG-like readout is also proposed.

P (A 1

 1 |A 2 ) = P (A 1 ) P (A 2 ) P (A 2 |A 1 ) = P (A 2 |A 1 ) . (B.1)

P (A 2 ∩

 2 Ā1 ) = (1 -P (A))P (A 2 | Ā1 ) = (1 -P (A)) P (A) 1 -P (A) P ( Ā1 |A 2 ) = P (A) 1 -P (A 2 |A 1 ) . (B.2) and P ( Ā2 ∩ A 1 ) = P (A)P ( Ā2 |A 1 ) = P (A) 1 -P (A 2 |A 1 ) . (B.3)

  Ā1 ) + P (A 2 ∩ A 1 ) + P ( Ā2 ∩ A 1 ) + P (A 2 ∩ Ā1 ) = 1 . (B.5)By identifying P (A 2 = A 1 ) and using the symmetry P ( Ā2 ∩ A 1 ) = P (A 2 ∩ Ā1 ) in this equation we get:P ( Ā2 ∩ A 1 ) = P (A 2 ∩ Ā1 ) = 1 -P (A 2 = A 1 ) 2 . (B.6)

= S 1 )

 1 =4P (A 2 ∩ Ā1 )P (B 2 ∩ B1 )+ P (A 2 ∩ A 1 ) + P ( Ā2 ∩ Ā1 ) P (B 2 ∩ B 1 ) + P ( B2 ∩ B1 ) . (B.7)By identifying P (A 2 = A 1 ) and P (B 2 = B 1 ) we obtain the formula:P (S 2 = S 1 ) = 1 -P (A 2 = A 1 ) -P (B 2 = B 1 ) + 2P (A 2 = A 1 )P (B 2 = B 1 ) , (B.8)

ρ S t 1 ,t 2 =

 12 P (S 2 = S 1 ) -P (S 2 = S 1 ) = 2P (S 2 = S 1 ) -1 = 1 -2P (A 2 = A 1 ) -2P (B 2 = B 1 ) + 4P (A 2 = A 1 )P (B 2 = B 1 )

  photographie de son visage. De même, la classification de fleurs permet d'identifier l'espèce à laquelle appartient une fleur à partir de certaines de ses propriétés (taille des pétales, sépales, etc. . . ). Des architectures de classification à l'aide d'oscillateurs ont été proposées par le passé, mais présentent des problèmes de passage à l'échelle, ou sont incompatibles avec les nanotechnologies actuelles. Cette thèse se fonde sur une architecture de classification à l'aide d'oscillateurs initialement proposée dans un cadre mathématique par Vassilieva et al. et qui requiert uniquement le contrôle des fréquences naturelles d'un réseau uniforme d'oscillateurs couplés, et la lecture de son état de synchronisation. Ceci la rend très prometteuse car compatible avec les contraintes technologiques actuelles. Cette architecture est composée d'un réseau d'oscillateurs couplés dits de "coeur", eux-mêmes couplés à un ensemble d'oscillateurs d'entrée. Un motif est présenté en ajustant les fréquences naturelles des oscillateurs d'entrée, ce qui induit des perturbations du réseau de coeur, et y fait apparaître des synchronisations. La liste résultante des paires synchronisées d'oscillateurs de coeur est lue et représente l'étiquette attribuée par le réseau au motif présenté. La réponse du système doit être adaptée au problème à résoudre en ajustant les fréquences naturelles des oscillateurs de coeur. Durant ma thèse, j'ai étendu cette architecture, l'ai adaptée au contexte des nano-oscillateurs, évalué sa robustesse, et défini un algorithme d'apprentissage adapté pour effectuer des tâches classiques d'apprentissage automatique.Dans le dernier chapitre, j'ai effectué des mesures expérimentales sur une technologie fondamentalement différente: les nano-oscillateurs stochastiques, qui oscillent entre deux états de résistance de manière entièrement stochastique. À l'aide de ces données, j'ai pu définir et évaluer un circuit de génération de nombres aléatoires, que j'ai ensuite intégré au sein d'une architecture de classification probabiliste.

table 3

 3

	Symbol	Expression	Description	Units
	G	2πt M S /γ	Gyrovector amplitude	N .s/m
	η	1 2 ln r 4L e -1 8	1 st order damping	unitless
	η	1/12	2 nd order damping	unitless
	D(ρ)	αG η + η ρ 2	Non-linear damping	N .s/m
	k ms	10 9 µ 0 M S	2 t 2 /r	1 st order magneto-static confinement	N /m
	k ms	k ms /4	2 nd order magneto-static confinement	N /m
	k Oe	0.85µ 0 M S t /(πr )	1 st order Oersted field confinement	N .m/A
	k Oe	-k Oe /2	2 nd order Oersted field confinement	N .m/A
	k(ρ)	(k ms + k Oe I )	Non-linear confinement	N /m
		+ k ms + k Oe I ρ 2	coefficient
	a J	g µ B / (2t eM S )	Spin transfer efficiency	m 2 /A/s
	ξ	2/3	Average magnetization to vortex displacement ratio unitless
	κ 0 SL	a J G/ 2πr 2	Slonczewski torque amplitude	N /m/A
	κ ⊥	p ⊥ κ 0 SL	Orthogonal spin transfer	N /m/A
	κ SL	2L e ln(2)p ∥ κ 0 SL /r	In-plane Slonczewski spin transfer	N /m/A
	κ FL	λ × κ 0 SL ξp ∥	In-plane Field-like torque	N /m/A
	v c	1 3 L e γµ 0 M S	Critical vortex velocity	m/s

.1. The minimum resistance was chosen to be R mi n = 130Ω with a TMR ratio TMR % = 70% for the tunnel junction, in agreement with previously fabricated devices. A p ⊥ = 60% perpendicular polarization (from

Table 3 .

 3 2: Parameters for the Thiele equation modeling the vortex gyrotropic motion. γ is the electron gyromagnetic ratio, µ B is the Bohr magneton, µ 0 is the vacuum permeability, g = 2 is the Landé factor and e is the electron charge.

Table 3 .

 3 Analytical operating point CNRS-Thales devices 3: Model parameters for the vortex nano-oscillator around the analytical operating point, and around the operating point of the devices studied in collaboration with CNRS-Thales.

	r	100 nm	100 nm
	η	0.588558	1.1372
	η	0.0833333	0.5265
	k ms	8.84194 × 10 -4 N/m	3.6201 × 10 -4 N/m
	k ms	22.1049 × 10 -5 N/m	1.086 × 10 -5 N/m
	k Oe	0.0270563 N.m/A	0.8768 N.m/A
	k Oe	-0.0135282 N.m/A	0 N.m/A
	λ	0	5

  [START_REF] Courtland | Transistors Could Stop Shrinking in[END_REF], this non-linearity can have an effect on the system. It is therefore important to evaluate if its description fits the generic Landau-

	Stuart model widely used in simulation of architectures involving non-linear oscillators. In this
	subsection, I analytically connect the Thiele model to the Landau-Stuart model using reason-
	able approximations.
	Without couplings, the Thiele amplitude-phase equations (3.14) already resemble the Landau-
	Stuart model (Section 1.2.4):
	Thiele :

Table 4 .

 4 1: Proportion of initial states converging to the correct logic function after learning. Results shown for different logic gates, and for oscillator-based, sigmoid-based, and threshold-based neurons.

	Target gate Oscillator neuron Sigmoid neuron Threshold neuron
	XOR	15.8	0	0
	XNOR	29.8	0	0
	Others	100	100	100

Iris test set classification rates after evolution No noise FWHM = 1MHz FWHM = 10MHz

	Iris setosa	100%	100%	100%
	Iris versicolor	98.3%	98.3%	98.3%
	Iris virginica	100%	100%	100%

Table 4 .

 4 2: Iris test set classification rates using the extended oscillator-based classifier with EEG-like outputs for the best genome after 100 generations.

Table 4 .

 4 2 shows the test set classification rates for the identification of each target class without noise, with FWHM = 1MHz and with FWHM = 10MHz.Iris setosa and Iris virginica are successfully classified 100% of the time, and the non-separable Iris versicolor is successfully classified 98.3% of the time. A remarkable observation is that these classification rates stay constant even for extreme noise levels (FWHM = 10MHz). My tests show that the classification rates only start to drop for FWHM > 30MHz.

  Uses a standard machine learning framework + Indirect oscillator interactions fully taken into account -Offline learning only -Phase noise not taken into account during learning -Can only learn simple diagonal-symmetric patterns

	4.7 TOWARDS FULL ONLINE LEARNING	137
	Oscillator pair neural network
	Readout: EEG-like signal Learning: gradient descent
	A neural network where each neuron is a synchronized pair of oscillators, its input shifts the
	natural frequency of one of its oscillators, and its output is the EEG-like signal rescaled. The ac-
	tivation function of the neuron can be expressed analytically and is differentiable. It is used for
	offline learning with classical neural network gradient-based techniques optimizing the weight
	matrices connecting the neurons.
	+ Straightforward to implement in existing neural network frameworks
	+ Can discriminate complex arbitrary patterns
	+ Only requires coupling pairs of oscillators, which is convenient for experiments
	-Requires a coupling and a readout circuit for each neuron
	-Offline learning only
	-Phase noise not taken into account during learning
	-High sensitivity to noise
	Extended oscillator-based classifier
	Extended oscillator-based classifier Readout: EEG-like signal Learning: genetic algorithm
	Readout: synchronization detection Learning: gradient descent Architecture similar to the extended oscillator-based classifier with synchronization detection,
	Architecture similar to the previous one but all oscillators are identical (no more input/core but the readout consists in measuring the EEG-like signal (the envelope of the mean signal of
	difference) and uniformly all-to-all coupled. Their natural frequencies are linear combinations all the oscillators), then rescaling and thresholding it to perform binary-only classification. As
	of the components of the presented input and a constant bias. This linear combination is pro-gradient-based learning algorithms do not perform well on this architecture, I use a genetic
	duced by a weight matrix that is tuned by a gradient-based learning algorithm so that the re-model-free algorithm to optimize the weight matrix.
	sponse of the system closely matches the expected one on the presented examples. + Online learning capabilities
	+ Uses a standard machine learning framework + Indirect oscillator interactions fully taken into account
	+ Indirect oscillator interactions fully taken into account + All system dynamics implicitly taken into account
	+ Can discriminate complex arbitrary patterns + High noise resilience after learning in the presence of noise
	-Offline learning only + Can discriminate complex arbitrary patterns
	-Phase noise not taken into account during learning -Binary classification only
	-Long and resource-demanding model-free learning process

Table 5 .

 5 1: NIST Statistical Test Suite results for the whitened experimental random bitstream. Percentage of NIST STS tests satisfying cryptographic quality requirements for different numbers of combined bitstreams, and different sampling frequencies.

	F sampling F sampling /F MTJ	Raw	XOR2 XOR4 XOR8
	100 kHz	60.4	0	10.1	10.1	10.1
	20 kHz	12.1	0.5	0.5	10.6	12.2
	9.1 kHz	5.5	1.1	10.6	10.6	88.3
	5.9 kHz	3.6	1.1	1.1	16.5	100
	5 kHz	3.0	1.1	1.1	72.9	100
	1.9 kHz	1.1	1.1	14.4	97.9	100
	0.9 kHz	0.54	1.1	14.4	98.4	100
	0.7 kHz	0.42	1.1	16.0	97.9	100
	0.5 kHz	0.30	1.1	16.0	98.4	100

adapting this architecture to function with existing nano-oscillator technologies, including the definition of robust synchronization detection circuits,

3. investigating the compatibility of the resulting oscillator-based classification architecture with the constraints of nano-technologies including phase noise, device and coupling variability, phase shifts, geometrical effects, non-linearities as well as scaling capa

bilities, 4. proposing an alternative readout method inspired by the EEG signals in the brain that uses the mean field signal of the oscillator network as an output.

The NIST tests also include a uniformity condition on the distribution of P-Values among tested sequences[START_REF] Soto | Statistical testing of random number generators[END_REF]. This condition was passed for all tests for sequences processed by Blum and XOR8.

ACKNOWLEDGEMENTS v

Acknowledgements

Experimental setup

The current is applied, and the voltage measured using a NI USB 6351 source and measurement unit connected to a PC running a custom C++ multi-thread high speed data acquisition, buffering, processing and storage software I wrote for this purpose.

The dies containing the superparamagnetic tunnel junctions were glued an wirebonded by Miguel Romera, Alice Mizrahi and myself to PLCC 32-pin chip carriers. The carriers are held by a PLCC socket on a sample holder circuit board I built to provide 4-terminal sensing that minimizes noise and improves measurement precision when the applied currents are low, as well as over-voltage protection. The junctions are highly sensitive and voltages over about 200 mV can break their tunnel barrier. This has motivated the choice of MMBD4148SE fast small signal diodes for protection, as well as proper grounding against electrostatic discharges.

In order to apply magnetic fields, I built a fan-cooled 10 mT electromagnet that carries the sample holder board at the center of its coil. The electromagnet is powered by a computer-controllable current source also driven by the C++ software running on the PC.

The current-to-field calibration was done manually using a teslameter.

Sample holder board inside the electromagnet connected to the NI USB 6351 source and measurement unit (bottom right). Zoom on the chip with 4 wire-bonded superparamagnetic tunnel junctions. Fig. 5.2(a) shows the histograms of the dwell times in the '1' (AP) and '0' (P) states, obtained through measurement of a superparamagnetic tunnel junction over a 10 second period. We see that these histograms can be fitted by an exponential law, which is characteristic of a Poisson process. Fig. 5.2(b) presents the power spectrum density of the same signal, superimposed with the expected power spectrum density of a random telegraph signal based on a Poisson process.

Excellent agreement between the measured results and the hypothesis of a Poisson process is seen.

Random bits can be extracted by sampling the voltage across the device at a constant fre-

USING SUPERPARAMAGNETIC TUNNEL JUNCTIONS FOR UNCONVENTIONAL COMPUTING 157

Using superparamagnetic tunnel junctions for unconven-

tional computing

This section focuses on applying the superparamagnetic tunnel junction random number generator to perform Bayesian inference with stochastic computing using C-elements on a toy problem illustrating its effectiveness for low energy stochastic computing.

Introduction to stochastic computing

Stochastic computing is an alternative computational approach for efficiently performing mathematical operations on data encoded as probabilistic bitstreams (infinite time sequences of 0s and 1s with different occurrence probabilities) instead of binary number representations. A given random bitstream A can encode an analog value an one of its statistical properties, typically the proportion of 1s, also called the "mean value" or "probability P (A)" of the bitstream.

The principles, advantages and some important constraints of stochastic computing are well illustrated by the stochastic multiplier circuit. The stochastic multiplier circuit therefore performs a low energy (one logic gate) product operation, and its precision can be freely chosen through the averaging time.

CHAPTER 5: RNG AND COMPUTING WITH STOCHASTIC OSCILLATORS

However, this approach requires the two input bitstreams to be independent (P (B |A) = P (B )). If it is not the case, the output becomes P (S) = P (A)P (B |A).

This simple example illustrates the power of stochastic computing which allows it to perform certain operations on decimal numbers with finite arbitrary precision at low energy and circuit area, which matches the requirements of Internet of Things devices, for example.

This example also underlines the requirement of the bitstreams to behave in a purely stochastic way (i.e. like independent biased coin flips), which requires high quality random bit generation compatible with low power and area requirements.

Performing Bayesian inference with stochastic computing using probabilistic bitstream generators

Bayesian inference is a technique that infers the probability of a given event occurring knowing a set of clues. It is used for example for illness diagnosis given a set of symptoms [START_REF] Kononenko | Inductive and Bayesian Learning in Medical Diagnosis[END_REF]. In this subsection, I present the principles of Bayesian inference, and how to implement it in a stochastic computing context to achieve simple binary classification.

Principles of Bayesian inference

Bayesian inference is an important approach in statistics and stochastic computing for classification and decision making [START_REF] Kononenko | Inductive and Bayesian Learning in Medical Diagnosis[END_REF]. It consists in predicting the "posterior" probability

of an event X occurring for a given observed set of conditions ("evidence") {E 1 , E 2 , • • • , E N }. For example, it can represent the probability of a patient having a given illness (X = 1) knowing the presence or absence of symptoms E 1 = 1, 0, • • • , E N = 1, 0. This prediction relies on the Bayes' Theorem:

(5.12)

In this equation,

represents the "likelihood" gathered from statistics on known data. For example, it can represent the probability of a given set of symptoms occurring in ill X = 1 or healthy X = 0 patients. P (X ) is the "prior" which characterizes knowledge of the global occurrence probabilities of the outcomes of X . It could represent the known occurrence rates of the illness among patients.

When no prior knowledge is available, this value can be set to 0.5.

) is the "marginal probability" of the evidence. It characterizes the global occurrence probability of a given evidence set in the data: for example the probability of a given set of symptoms being observed on a randomly chosen patient.

USING SUPERPARAMAGNETIC TUNNEL JUNCTIONS FOR UNCONVENTIONAL COMPUTING 159

Bayesian inference using C-elements

The Muller C-element, also known as the C-gate, is a simple sequential logic element with two inputs A and B , and one output S. It outputs the value of its inputs when they are identical, or keeps its previous output value S prev when the inputs are different. Its symbol and equivalent circuit are shown in Figure 5.9(a), and its truth table is given in Figure 5.9(b). Given the truth table in This translates into the following equivalent probabilistic expression:

(5.13)

When bitstreams A and B are independent, not auto-correlated in time, and that the output probability is stable (P (S) = P (S prev )), the output probability of the C-element becomes:

Bayes' theorem (equation 5.12) in the case of a single evidence term E 1 can also be reformulated into a similar form:

, where

(5.15)

The left hand equation corresponds to the C-element output probability equation 5.14 with the following two inputs :

-A probabilistic bitstream with the prior probability P (X )

-A probabilistic bitstream with the normalized evidence probability P * (E 1 )

This result shows that a single C-element naturally computes P (X |E 1 ) provided two independent and non-autocorrelated bitstreams with probabilities computed from the prior knowledge and known data statistics.

braced and leveraged to achieve new types of computation.

In summary, this thesis contributes to a recent vision of nano-electronics, in which nanodevices act as more than simple switches, and their rich intrinsic physics are fully leveraged to achieve advanced computational tasks with a minimal number of devices. In this quest, inspiration can be drawn from biological systems, which have been optimized over billions of years following similar principles, in order to create a new generation of highly scalable, energy efficient and cognitive-ready computing systems.

List of publications and contributions

Peer-Reviewed Journal Articles

Initialization

Initialization consists in generating an initial, random population of genomes. Contrary to the previously presented architectures that are initialized before learning to a given state with only slight variations, genetic algorithms require a heavily random and diverse initial population [START_REF] Heikki Maaranen | On initial populations of a genetic algorithm for continuous optimization problems[END_REF]. This allows distant solutions in the parameter space to be evaluated, combined and optimized. High population diversity improves parallel solution search, reduces the sensitivity to local fitness maxima, and enhances the capabilities of sexual reproduction.

In my simulations, the population size is N pop = 200. I randomly selected the weights coming from the inputs in the uniform range ± f 0 maxf 0 min where f 0 max = 750MHz and f 0 min = 450MHz are the maximal and minimal natural frequencies allowed (values outside this range are clamped). Biases are selected so that the natural frequencies without inputs are uniformly

Evaluation

Evaluation involves running the architecture using each genome g on the training set to obtain the fitnesses F g . I use the following algorithm:

1. For each genome W g , and every training set example m: simulate or physically run the architecture using the corresponding weight matrix to obtain the EEG-like signals S (m) g . 2. For every genome W g :

) Deduce the fitness of the genome: F g = 1 10 -10 + E g (10 -10 prevents infinite values if E g = 0)

The fitness F g rates how well a genome W g performs and dictates its probability to be selected for.

A.3 SELECTION

Note : Loss function choice

The quadratic error loss function was chosen instead of the cross-entropy loss usually applied to classification tasks mainly because cross-entropy doesn't behave properly with non-clamped rescaled functions, and would add complexity for regression and online learning.

Selection

Selection steers the evolution process towards maximizing fitness. It involves choosing the best genomes and allowing them to survive the generation and/or reproduce sexually. I use the following selection process:

1. Define a discrete probability distribution Q sel of the genomes in the population where the probability of drawing a given genome g is weighted by its fitness F g .

Select good genomes to be kept intact for the next generation:

Draw N survive from Q sel . Add them to a "survivors" list. The same genome can be chosen multiple times.

3. Select N pop -N survive pairs of genomes for sexual reproduction. Each genome is independently drawn from Q sel . A genome can be paired with itself.

Allowing individuals with high fitness to survive reduces the probability of losing well performing solutions from the gene pool, and allows the next generation to reuse their parameters.

In my simulations, I allow a survival rate of 20% which corresponds to N survive = 40.

Moreover, the selection process uses probabilistic selection instead of directly ranking and selecting the best individuals for survival and sexual reproduction. This gives a chance to every genome to explore the parameter space before being selected away, which improves the diversity of the population and the resilience to local fitness maxima.

Sexual reproduction and mutations

Sexual reproduction and mutations drive the exploration of potential new solutions in the parameter space.

Sexual reproduction consists in combining two parent genomes in order to produce offspring that inherit and combine parental characters. It was shown to accelerate the evolution of both living beings [START_REF] Christopher | Sex and evolution[END_REF], and simulated systems [START_REF] Sn Sivanandam | Introduction to genetic algorithms[END_REF]. It is now heavily used in genetic algorithms. ARCHITECTURE Random mutations involve randomly shifting some parameters of a genome to make it explore nearby solutions in the parameter space. Throughout generations, it brings genomes towards local fitness maxima by trial and error.

To implement sexual reproduction and mutations, I used the following algorithm:

1. For each selected pair of parent genomes P = {W a ,W b }, generate a new child genome W c in which each matrix element W c i j is defined according to the following procedure: During the sexual reproduction process, each matrix element is either inherited from a random parent, or as a combination of the two parent values with a probability P combine = 0.1. Inheriting and combining parental traits provides an efficient way to accelerate the exploration of the parameter space while keeping previously found beneficial innovations.

The mutation probability in my simulations is P mutate = 0.1 and the standard deviation is

Appendix B

Effects of XOR whitening on bitstream probability and auto-correlation " I N THIS APPENDIX , we mathematically demonstrate the effects of XOR whitening on the bitstream mean value and auto-correlation. " AUTO-CORRELATION

Mean value

The mean value P (S) after XOR(A,B) is :

The normalized difference between the ideal 0.5 mean value and P (S) is P ( S) -P (S) = 2 0.5 -P (S) . The same is defined for input A with 2 0.5 -P (A) and input B with 2 0.5 -P (B ) . The previous expression of P (S) can be rearranged to obtain: 2 0.5 -P (S) = 2 0.5 -P (A) × 2 0.5 -P (B ) . (B.12)

When P (A) = 0.5 or P (B ) = 0.5, we get P (S) = 0.5. Otherwise, we get the equivalence:

which is always true.

These results show that the mean value at the output of a XOR gate is always closer to 0.5 than the mean value of any of its inputs, or equal to 0.5 if any of the inputs has already a mean value of exactly 0.5. In the case of This shows that the mean value of the whitened signal gets exponentially closer on average to 50% as the number of combined signals increases. Again, better-balanced signals contribute more to balancing the whitened bitstream than highly unbalanced ones.

As a conclusion, this study shows that XOR whitening reduces auto-correlations exponentially with the number of combined signals and brings the mean value exponentially closer to 50% with the number of combined signals.

Synthèse en français

" I CI nous présentons une synthèse en français des points importants de cette thèse.

A summary in French of the main points of this work is presented here. " AUTO-CORRELATION

Résultats

Afin de pouvoir lire l'état de synchronisation du réseau de coeur, j'ai défini deux circuits de détection simples. Ces deux circuits évaluent tous deux l'état de synchronisation d'une paire J'ai ainsi pu définir un modèle VerilogA de cette technologie de nano-oscillateur, compatible avec les outils industriels de simulation de circuits, notamment Cadence Spectre. À l'aide de simulations de circuits, j'ai pu montrer que ce modèle, une fois ajusté aux données expérimentales disponibles, prédit correctement la dépendance en courant de la fréquence naturelle, mais aussi la synchronisation à un signal oscillant.

J'ai ensuite défini un circuit de couplage entre ces oscillateurs qui implémente naturellement l'architecture de classification. Des simulations et un traitement mathématique m'ont permis de montrer que la réponse de ce système est proche de la réponse idéale du classificateur à oscillateurs génériques étudié précédemment.