Brains and AIMiddleLesson 3014 min read

Neuromorphic chips

Neuromorphic chips are computer chips designed to work more like brains: spiking neurons, events instead of a clock, and memory close to computing. Learn what they are good for, and their limits.

Lesson in motion

In 60 seconds

Neuromorphic chips

Neuromorphic chips are computer chips designed to work more like brains: spiking neurons, events instead of a clock, and memory close to computing. Learn what they are good for…

1/4
In simple words
Most computer chips are like a factory where every machine runs all day, even when there is no work. A neuromorphic chip is like a factory where each machine switches on only when a part arrives, and the tools are kept right next to each machine. It is built to copy some of the tricks brains use to save energy.
Neuromorphic means "shaped like the nervous system". A neuromorphic chip is a computer chip whose design borrows ideas from brains. Different chips borrow different ideas, but common ones are:
  • Spiking neurons built into the hardware, instead of only plain number crunching.
  • Event-driven operation: parts of the chip work mainly when a spike arrives.
  • Memory next to computing, so less data has to travel.
  • Many small cores working in parallel, like many neurons at once.

Examples you may hear about

Large companies and university labs have built research neuromorphic chips. Two well-known examples are Intel's Loihi family and IBM's TrueNorth. Both use spiking neurons and event-driven designs. Designs and versions change over time, so check the current information from each company if you need details.

Brain-like sensors

The same idea works for sensors. A normal camera sends full pictures many times a second, even when nothing moves. An event camera (also called a neuromorphic vision sensor) has pixels that send a signal only when the brightness at that pixel changes. A still scene sends almost nothing. A moving object sends a stream of events.
Python: frames versus events for one pixel (made-up readings)python
# MADE-UP brightness readings of one pixel over 12 moments.
readings = [50, 50, 50, 51, 50, 80, 120, 120, 121, 120, 60, 60]
ref, events = readings[0], []
for t, value in enumerate(readings):
    if abs(value - ref) >= 15:          # send an event only on a big change
        events.append((t, "+" if value > ref else "-"))
        ref = value
print("Frame camera sends", len(readings), "values")
print("Event pixel sends", len(events), "events:", events)

What they are good at, and where they struggle

Current challenges
  • Training spiking networks is harder than training normal ones
  • Fewer ready-made software tools than for GPUs
  • Not the best choice for dense work such as training today's large language models
  • Real savings depend on the task; they must be measured
Promising uses
  • Always-on sensing with very low power, such as detecting a sound or a movement
  • Robots and drones that must react fast on a small battery
  • Pairing with event cameras for fast motion
  • Research: running brain models, such as spiking network simulations
Real example
Imagine a wildlife camera in a forest in the Western Ghats. It must watch for animals for months on one battery. Most of the time, nothing moves. A brain-like design that works only when something changes is a natural fit for this kind of job.
Note
Neuromorphic computing is still mostly used in research and special products. It is an exciting field, but it has not replaced GPUs for mainstream AI. Say this plainly when you explain it.

Watch and read more

Lab

An event encoder that turns made-up pixel brightness readings into change events, like one pixel of an event camera.

~20 min

The problem

This runs in your browser. The readings are made up.

  1. Run the starter.
  2. Finish to_events(signal, threshold). Keep a reference value, starting at signal[0]. For each time t, if abs(signal[t] - ref) >= threshold, add the event (t, +1) if brightness went up or (t, -1) if it went down, and set ref = signal[t].
  3. Print how many events you get compared with the number of readings, for thresholds 10 and 30.
  4. Write two lines: what is lost when the threshold is large?

Practice lab

Edit the code and run it. Python runs in your browser — nothing is sent to our server.

Output

No output. Add print(...) to see values.

You are done when

Hard questions

Try to answer before you reveal. If you can answer these, you understood the lesson.

Q1Why compare with a reference value, not simply with the previous reading?Reveal

A slow, steady change, such as a light fading a little each moment, may never differ from the previous reading by the threshold, so comparing neighbours would miss it completely. Comparing with the value at the last event adds the small changes up until they are big enough to report.

Q2An event camera watches a busy road with flickering lights and lots of motion. Why might the energy saving shrink?Reveal

Event-driven sensing saves work when little changes. With lots of motion and flicker, many pixels change all the time, so the stream of events grows large, and processing it costs energy. This is the same rule as lesson 6: the saving depends on how sparse the activity is.

Please sign in to continue.

Questions people ask

Can I buy a neuromorphic chip?

Some research chips are made available to research groups, and some brain-inspired sensors and small chips are sold as products. Check each company's current offerings, because this changes quickly.

Can I try spiking networks without special hardware?

Yes. Spiking neurons can be simulated on any computer, as you did in lesson 5. There are open-source libraries for simulating spiking networks in Python.

Will neuromorphic chips replace GPUs?

Nobody knows. Today they are good at some low-power, event-driven jobs, while GPUs lead for training and running large AI models. It is more likely that different chips will be used for different jobs.

Lesson test

5 questions. Get 3 right (60%) to pass and complete this lesson.

Sign in to take the test and save your progress