Network

The network component of Simbrain represents a simulated neural circuit. For a quick dive in see the quick start or this video, which contains a series of links to short clips describing common network operations (adding neurons, connecting neurons, etc.).

Networks contain a variety of objects (“network models”), including free-floating neurons and synapses, but also neuron arrays and weight matrices for array-based networks, and other more complex structures. This page contains a brief overview of the main object types. Most objects can be linked to one another with synapses, synapse groups, or weight matrices. The Simbrain philosophy is to allow for arbitrary combinations of network models. Many tools and utilities exist for organizing, arranging, and training these linked network models.

Main Object Types

Free neurons and synapses

Free neurons and synapses are part of “classic” Simbrain, allowing nodes and connections to be organized in arbitrary ways using a familiar point-and-click interface. Both nodes and synapses can be equipped with arbitrary rules. See neurons and synapses.

free weights and neurons

Neuron Collections and Synapse Groups

Free neurons and weights can be aggregated into neuron collections and synapse groups. Neuron collections are lightweight wrappers that allow neurons to be labeled, moved as a unit, and connected to other layers. They have green interaction boxes; deleting a collection leaves the neurons intact.

neuron collections

Neuron Arrays and Weight Matrices

An alternative to free nodes and weights (and collections of them) is neuron arrays and weight matrices, which support array-based operations, as is standard in modern neural networks. These are much faster and more conventional, though somewhat less intuitive at first. See arrays and matrices.

neuron array and weight matrix

Neuron collections can be linked to neuron arrays with weight matrices or synapse groups.

Tensor Layers and Convolutional Neural Networks

Tensor layers support image-like arrays with height, width, and channel dimensions. They can be connected by convolution, pooling, and flattening connectors to build convolutional neural networks. See convolutional neural networks.

CNN shape labels use different conventions depending on the object: tensor layers use H x W x C, pooling connectors use pool-window size, and convolution connectors use full kernel-bank shape. See Convolutional Neural Networks.

tensor layer

Subnetworks

These are customized collections of network models (neurons, neuron arrays, tensor layers, etc.) that can be associated with data and other objects, and that are updated in a customized way. Examples include backprop networks, convolutional neural networks, and restricted boltzmann machines. See subnetworks.

restricted boltzmann machine

See Also


Table of contents