Splashery.ContentsPlayground
ConvNet, a still.

Fig. 33. §3 AI and Computing

ConvNet

A convolutional network, or CNN, is a neural network built for pictures.

PlaygroundHow to play

1Facts

Shelf
AI and Computing
Kind
Built from a recipe
Your own
Draw a digit
Sound
Yes
Licenses
CC BY 4.0

2How to play

Tap it to read the digit. Draw your own digit in the Splash tab.

3Its controls

Table I. Every control on this Splash.

ControlKindRangeStart
Read the digitTap
ReadButton
ViewList3 choicesPoster (2D)

4About it

A convolutional network, or CNN, is a neural network built for pictures. It slides small filters across the picture: each filter is a little grid of weights that lights up where it finds its pattern, such as a slanted stroke, and makes a feature map. Pooling shrinks the map, keeping the strongest signal in each patch, and later layers combine the features to recognize the whole shape.

Tap it: a glowing 3-by-3 filter slides over a handwritten 7, stamping a feature map tile by tile; the tiles pool into a smaller map, and the scores for the digits 0 to 9 rise with 7 on top. In the Splash tab, pick a 3D view, or draw a digit and a small trained network reads it. Each square on the drawing pad is one pixel of the small 8-by-8 picture the network reads: the lighter its gray, the more ink it holds, and the pad starts with the sample 7.

5Details

Splats
Opens at 200,000 at Mid Detail, 60,007 at Low, and up to 890,000 at Max

6Is it right?

The drawing pad runs a real small convolutional network with stored trained weights. Its test-set result reproduces the displayed 97.0%. The separate 7 diagram uses real filtering and pooling but prepared final digit scores.

  1. Correct.

    The drawing pad runs convolution, ReLU, pooling, dense scoring, and softmax.[1][2]

    An independent tensor implementation matches every layer on ten samples and 64 random drawings to absolute error below 1e-10.

  2. Correct.

    The network reads 8-by-8 images from a named digit dataset.[3]

    The asset identifies UCI Optical Recognition of Handwritten Digits; pixel values are scaled from 0–16. All ten stored samples classify correctly.

  3. Close.

    The displayed test accuracy is 97.0%.[3]

    The exported network correctly classifies 1,743 of 1,797 original UCI test rows: 96.99499%, which rounds to 97.0%.

  4. Correct.

    The introductory filter and pooling calculate feature values.[1][2]

    The 3-by-3 cross-correlation and ReLU produce a 5-by-5 map. Max pooling includes smaller windows at the edges.

  5. Simplified.

    The introductory digit scores are an illustration.[1]

    The score array is stored separately from the filter and pooled values; its winning 7 is not inferred from that map.

  1. [1]Convolutions for images, Dive into Deep Learning authors
  2. [2]Pooling, Dive into Deep Learning authors
  3. [3]Optical Recognition of Handwritten Digits, UCI Machine Learning Repository; Alpaydin and Kaynak
Simplified
The introductory diagram uses one fixed filter on a 7-by-7 sample, a normalized feature map, partial edge pooling windows, and stored digit scores. The drawing network reads 8-by-8 grayscale pixels and does not retrain while drawing.

7Sources and credits

8Share it

This link opens it in the Playground. To put it on your own page, add the element and one script tag. Every option.

https://splashery.app/play/?toy=cnn
<script type="module" src="https://splashery.app/play/src/element.js"></script>
<splashery-toy toy="cnn"></splashery-toy>

9Nearby