A 9×5 crossbar of FTJ memristors connects 9 input neurons (one per pixel, labeled 1–9
in reading order) to 5 output neurons. Repeated presentation of noisy versions of 3 patterns drives
STDP weight updates. Combined with winner-take-all lateral inhibition, different outputs
spontaneously specialize for different input patterns —
unsupervised clustering emerging entirely from hardware physics.
With 5 output neurons but only 3 patterns, the competitive dynamics cause 3 neurons to specialize
(one per pattern) while the remaining 2 either duplicate a specialization or stay unspecialized,
replicating Fig. 4b of Boyn et al. (2017).
Three Input Patterns to Learn — pixel labels 1–9 mark reading-order position in the 3×3 image
Weights persist — watch the network relearn
The 9 labeled pixels are unrolled row-by-row (reading order) into the 9 input columns of
the crossbar below. Pixel 1 (top-left) → column 1; … pixel 9 (bottom-right) → column 9.
The same labels appear above the crossbar columns and inside the learned weight images so you can
track exactly which pixel each weight corresponds to.
FTJ Crossbar Array — full structure
A crossbar array places FTJ memristors at every column–row intersection.
Columns carry pre-synaptic spike inputs (one per pixel);
rows are the output neurons — each fires when its row’s FTJ currents
sum to threshold. Each FTJ junction is one synapse — 45 synapses in the 9×5 array.
● darker circle = higher FTJ conductance (stronger synaptic weight)● arc color = winning output neuron — matches current input pattern (lateral inhibition)
Learned Receptive Fields — weight image per output neuron
Each panel shows the 9 synaptic weights of one output neuron as a 3×3 image (pixel labels match
the column labels above). Dark = strong connection. As training converges, each panel should
resemble one of the 3 input patterns. With 5 neurons and only 3 patterns, 2 neurons are
"surplus" — they may duplicate a pattern or remain unspecialized, which is exactly the
competitive equilibrium reported in Fig. 4b of Boyn et al. (2017).
Colored cells = confirmed specialization. Border = current winner.
Pattern Specialization — cumulative wins per output neuron, by input pattern presented
Each column of bars shows how often that output neuron fired when each pattern was presented.
Early training: all three colors mixed (no specialization). At convergence: one color dominates
per column, and the pattern letter appears below it.
Recognition Rate Over Training
A memristor's resistance encodes history — its pinched hysteresis I–V curve has two states
(HRS and LRS) that persist at V = 0. Spike-timing-dependent plasticity emerges naturally:
the shape of Vpre and Vpost is designed so that VFTJ = Vpre−Vpost
crosses the switching threshold ±Vth only when the spikes arrive in the right
causal order — directly implementing the STDP curve shown below.
One FTJ Junction — where STDP acts
A single FTJ is one synapse: VFTJ drives current I = G·V through the junction,
where G is the learned conductance. The spike timing between Vpre and Vpost
determines whether G increases (LTP) or decreases (LTD).
Memristor I–V Curve — Pinched Hysteresis
A resistor's I–V curve is a fixed straight line through the origin.
A memristor's curve is also pinched at the origin — zero voltage always means zero current,
regardless of state — but its slope depends on history: high-resistance state (HRS)
or low-resistance state (LRS). The bold line shows the current state;
the faint ghost loop is the full hysteresis for reference.
Drag the Δt slider in the spike-timing panel to see the state snap between HRS and LRS.
Spike Timing & VFTJ Threshold Crossing
+200 ns
Vpre (orange) and
Vpost (blue) are biphasic spike waveforms;
VFTJ = Vpre−Vpost is their difference.
The spike shape is designed so that VFTJ crosses the threshold ±Vth
only for the right causal ordering — implementing the correct STDP polarity.
Shaded zones show when VFTJ exceeds ±Vth; the bar shows net ΔG.
Drag Vpost or use the slider to explore timing.
ΔG vs Δt — STDP curve (dot tracks current Δt)
Each point on this curve corresponds to a spike-pair timing. The dot shows where the current Δt falls. Positive Δt (post fires after pre, causal) → potentiation; negative Δt (post fires before pre) → depression. Drag the slider above to explore.