Reservoir Computing is a novel approach to machine learning, using reservoirs containing dynamic complex systems as computational elements. Many different systems have been used as reservoirs, ranging from virtual reservoirs containing random boolean networks, recurrent neural nets, to real physical systems such as nano-carbon tubes. Building on previous work we investigate using in-vitro neuron cultures as reservoirs, TODO
In this paper we describe the necessary infrastructure for embodying neuronal cultures in order to perform closed loop experiments. Next we outline experiments
Reservoir computing is an approach to machine learning inspired by “naturally occurring computation” such as in the human brain, or the organization of cells in ???. More generally, a reservoir is a complex nonlinear system with irreducible properties which we attempt to exploit in order to solve difficult problems such as classification.
Linearly separable input output, detecting spikes vs more abstract spike encoding
Describe more recent reservoirs
This section should motivate why data is post and preprocessed wrt reservoir computing. An important point is to show that these layers have no history, thus showing that a reservoir can help the agent to do some task it would be unable to perform with a linear “uninteresting” reservoir. (even though a source of randomness would probably be enough for wall avoidance which should probably be emphasized).
To perform experiments a MEA2100 system has been purchased from multichannel systems. The MEA2100 system is built to conduct experiments on in-vitro cell cultures, specifically (but not exclusively) neurons. The principal components of the MEA2100 systems are:
To experiment on the properties of cells or other electrically active subjects the micro electrode array (MEA) is used. As the name implies the MEA is equipped with an array of electrodes able to both measure the electrical properties of the experiment subjects, as well as applying outside stimuli, acting in a sense as output and input for the subject.
The electrodes of the MEAs are measured and stimulated by the headstage which contains the necessary high precision electronics needed for microvolt range readings.
The interface board connects to up to two head-stages and is responsible for interfacing with the data acquisition computer, as well as auxiliary equipment such as temperature controls. The interface board processes and filters data from the head-stages which can then be acquired on a normal computer connected via USB. Additionally the interface board contains a Texas instruments TMS320C6454 digital signal processor which can optionally be programmed by users of the system and allows a second process to interface via a secondary USB.
Neurons are vastly complex entities, communicating through complex electric and chemical signals. However, since we are more interested in the emergent properties of neurons in the context of reservoir computing a superficial description suffices. We will only consider a generalized version of the neuron, but in our experiments a plethora of different neurons are used, although they all share the basic similarities described here. The anatomy of a neuron is shown in fig TODO Roughly we can divide a neuron into the following parts:
The body of the cell, not interesting
Short range, incoming from axons
Long range
The “stem” of an axon, usually the starting point
Take a wild guess.
Neurons maintain an electric membrane potential by separating negative and positive ions with an insulated membrane. When excited, something cool happens
The closed loop system is a refinement of the neuro-robot architecture used in (cite Application of dissasociated neural networks in closed loop hybrid systems). (add more detailed version of fig 1 from ↑) The architecture has three different areas of concern:
Data acquisition is the task of configuring the MEA2100, collecting data from the MEA2100 and triggering stimuli. The data acquisition software is responsible only for sending unprocessed data and receiving stimuli requests, it does not do any processing of data. The data acquisition software should send and receive data via TCP/IP, allowing remote access to the neurons.
The next area of concern is processing raw waveform data and decoding it into actions that can be performed by an agent. A typical processing flow is receiving and buffering raw waveform data from a TCP socket, performing spike detection on this buffered data and then feeding the spike data into a feed forward neural network.
The data processor is also responsible for receiving sensor data from the agent module. A typical processing flow is receiving wall distance from an agents sensors, translating these into spike train requests sent to the data acquisition module.
The last area of concern is the actual embodiment of the neuronal culture. The agent control reads decoded neural input from the signal processor which it translates into commands for an agent. This agent can be a simple simulated agent or a fully fledged robot
By separating the areas of concern and using a simple TCP/IP protocol to glue them together the closed loop system can accommodate different modules as long as they adhere to their areas of concern.
For this project two separate software modules have been implemented:
MEAME is responsible for data-acquisition and transmission. It is written in C# and interfaces with an API provided by multichannel systems. It features an API exposing the MEA to the internet by sending a TCP stream with raw channel data, and accepting a stream of data for configuring stimuli. TODO: something about the DSP
SHODAN is a framework for composing reservoir computing experiments written in scala. The advantage of using a generic representation of reservoir computing systems is that we can blah blah blah SHODAN comes
Something about GA’s
Keywords: self-organization, biological neuronal networks, cyborg, brain, robots, learning, neural computation, reservoir computing. The NTNU Cyborg (https://www.ntnu.edu/cyborg) Through NTNU biotechnology and NTNU ICT initiatives (part of the NTNU enabling technolgies), a project to develop a Cyborg (cybernetic organism), a combination of machine and living tissue, has been started. In this project, the aim is to enable communication between living nerve tissue and a robot. This project will raise awareness for biotechnology and ICT, bringing NTNU in the forefront of research and creating a platform for interdisciplinary collaborations and teaching. Within this specialization project and master thesis, there will be a collaboration with the Departments of Neuroscience/Nanomedicine located at St. Olav Hospital and the Department of Engineering Cybernetics. In particular, the goal is to contribute to the Cyborg infrastructure by buildind/testing the infrastructure for connecting alive neuronal cultures through a Micro-Electrode Array (MEA) that can be programmed to stimulate and record neural activity. The goal is to use such signals to control a real or simulated robot (e.g. Khepera robot). An intermediate layer will be used to process the neural signals, based on a feed forward artificial neural network (ANN), which will treat the biological network as a Reservoir of Computation.
Some tasks:
- connect and test MEA infrastructure
- record spontaneous neural activity and make sense of data / patterns
- apply neural stimulation and monitor input/output behavior
- close the loop: robot controlled by biological reservoir
The work may include some of the following tasks: • Reading and thinking • Experimenting • Programming in C or Python (or other language that you are familiar with) Initial Reading: K. Warwick et al., Experiments with an in-vitro robot brain
von neumann, bottleneck, parallellism etc
emergence, self organizing
Interfacing with CS