CNN Playground

Como uma rede convolucional transforma pixels em uma classe, passo a passo.

Deslize um kernel sobre a imagem

Pinte na entrada, escolha ou edite o kernel e veja o mapa de características mudar. Clique em qualquer célula da saída para ver a conta.

Imagem
Pincel
Entrada
Arraste para pintar. Bordas hachuradas = padding.
∗
Kernel 3×3 (pesos)
=
Mapa de características
Clique numa célula para ver o cálculo
negativopositivoUse ← → no teclado para andar célula por célula.
Stride
Padding
Velocidade

Não linearidade e redução de resolução

O mapa abaixo vem da aba 1 (kernel: ). Passe o mouse ou toque no resultado do pooling para ver de onde veio cada valor.

Pooling
Janela
Stride
Deslocar entrada
Mapa da convolução
→
Após ReLU
→
Após pooling

Conjunto de dados: quatro formas desenhadas

Imagens 28×28 geradas no navegador, com posição, tamanho, rotação e espessura aleatórios. 80% vão para treino e 20% para teste.

Exemplos por classe
Ruído

Arquitetura

Uma CNN pequena, escrita do zero em JavaScript (forward e backpropagation), para você ver cada peso. Blocos destacados têm parâmetros treináveis.

Treinamento com gradiente descendente

Filtros
Taxa de aprendizado
Batch
Épocas
perda (entropia cruzada, média móvel) acurácia no teste acurácia no treino

Filtros aprendidos (5×5)

Começam aleatórios. Observe como ganham estrutura durante o treino.

Matriz de confusão (teste)

Linhas: classe real. Colunas: classe prevista.

Aparece ao final da primeira época.

Desenhe uma forma

Desenhe um círculo, quadrado, triângulo ou X. A previsão atualiza enquanto você desenha.

O que a rede vê 28×28
Cobre partes da imagem e mede quanto a confiança cai.
Probabilidades (softmax)

Dentro da rede

Para cada filtro: os pesos aprendidos, o mapa de ativação após ReLU (24×24) e o resultado do max pooling (12×12). Barras mais longas indicam filtros mais ativos para esta imagem.