Em suma, a rede neural é uma função: dados de entrada, resultado de saída.
Vamos usar o Reconhecimento de imagem de dígitos manuscritos MNIST como exemplo para definir a forma de função correspondente:

Esta é uma aplicação de nível de entrada da Rede Neural. A entrada é uma imagem em tons de cinza de baixa resolução (28 x 28), correspondendo a uma função com 784 variáveis de entrada. Se for uma imagem colorida de megapixels, as variáveis de entrada correspondentes chegarão a 3 milhões.
Pode-se ver que a rede neural é usada para resolver alguns problemas complexos, e as funções correspondentes também são complexas. A realização do algoritmo é construir a função correspondente.
Como construir uma função tão complicada? Podemos começar com funções simples. O exemplo mais simples e bem-sucedido são os circuitos digitais.
Os circuitos digitais são os pilares dos computadores e construíram nosso enorme mundo digital. Mas seu núcleo é composto de portas lógicas AND, OR e NOT.
O que é uma porta lógica? Na verdade é uma função. E são as funções mais simples.
| Portão lógico | expressão | formulário de função |
|---|---|---|
| E portão | ||
| OR portão | ||
| NÃO portão |
NÃO imagem do portão (use 0 para e 1 para )
AND gate image
OR imagem do portão
Combine portas lógicas simples para obter funções mais poderosas.
Construa uma nova função binária:


Construa uma função multivariada:

Combinando funções simples de portas lógicas, novas funções lógicas podem ser construídas. Incluindo operações como adição, subtração, multiplicação e divisão de inteiros de 32 bits e operações de tipos de ponto flutuante de precisão simples de 32 bits, etc.
Vamos olhar para as linguagens de programação novamente. Tome Python como exemplo, veja os elementos em Python.
| Nome | Símbolo | Função |
|---|---|---|
| Operadores lógicos | e ou não | Funções lógicas binárias e unárias |
| Operadores aritméticos | +, -, *, /, %, **, // | Funções Binárias |
| Operadores de comparação | ==, !=, >, <, >=, <= | Funções binárias |
| ... |
Tomando o operador de adição de número de ponto flutuante (+) como exemplo, a imagem da função é a seguinte:
Você pode definir suas próprias funções em Python:
def f(x, y): return max(0, 2*x + 3*y - 3)
Uma nova função é definida aqui. Ele usa "+, -, *, max" e outras funções para construir a nova função. O método de construção também se dá por meio da composição de funções.
As funções estão em toda parte nas linguagens de programação. Combinando funções básicas, novas funções podem ser construídas e novos algoritmos podem ser obtidos.
A rede neural também é função. Assim como os circuitos digitais e as linguagens de programação, também é composto por funções simples. As unidades básicas de circuitos digitais são funções lógicas como AND, OR e NOT. As unidades básicas nas linguagens de programação são funções como vários operadores, enquanto a unidade básica das redes neurais são os neurônios.
Então, o que é um neurônio? Um neurônio biológico é uma célula com dendritos de entrada e axônios de saída. E o neurônio na rede neural é um neurônio artificial, também é uma função, mais precisamente, é um tipo de função.
O número de entradas de neurônios pode ser alterado, o que significa que ele representa uma função de elemento , e pode ser diferente para diferentes neurônios.

Os neurônios se combinam para formar uma rede neural. Como mostrado abaixo:

A rede neural contém três neurônios (não conte neurônios de entrada):
A função representada pela rede neural é:
Apenas saber que é uma função de elemento não é suficiente. As unidades básicas AND, OR e NOT nos circuitos digitais listam a tabela-verdade e desenham a figura, mas e o neurônio?