A construção de uma rede neural envolve várias etapas fundamentais:
-
Coleta de dados e pré-processamento: Reunir e organizar os dados que serão usados para treinar e testar a rede neural. Isso pode envolver a limpeza dos dados, o tratamento de valores ausentes e a divisão em conjuntos de treinamento, validação e teste.
-
Escolher uma arquitetura de rede neural: Decidir qual o tipo de arquitetura de rede neuronal mais adequado ao problema. Pode ser uma rede neural feedforward, uma rede neural convolucional (CNN) para dados de imagem, uma rede neural recorrente (RNN) para dados seqüenciais ou outras arquiteturas especializadas.
-
Inicializar o modelo: Inicializar os parâmetros da rede neural, como pesos e bias, geralmente de forma aleatória ou usando técnicas específicas de inicialização.
-
Propagação progressiva: Execute a propagação direta passando os dados de entrada pela rede para fazer previsões. Cada camada executa uma operação linear ou não linear na entrada.
-
Calcular a perda: Compare a saída prevista com a saída real para calcular a perda, que mede a distância entre as previsões e os valores reais.
-
Retropropagação: Utilizar um algoritmo de otimização (e.g. gradiente descendente) para atualizar os pesos da rede de forma a minimizar a perda. Esta etapa envolve o cálculo dos gradientes da função de perda em relação aos pesos da rede e, em seguida, o ajuste dos pesos de forma a minimizar a perda.
-
Iterar: Repetir os passos de propagação progressiva, cálculo de perdas e retropropagação durante várias iterações ou épocas para melhorar o desempenho do modelo.
As camadas numa arquitetura típica de uma rede neuronal incluem:
-
Camada de entrada: Esta camada recebe os dados de entrada, quer se trate de imagens, texto, valores numéricos, etc. O número de nós nesta camada corresponde ao número de características na entrada.
-
Camadas ocultas: Estas camadas situam-se entre as camadas de entrada e de saída e são responsáveis pela extração de características relevantes dos dados de entrada. Nas redes neuronais profundas, pode haver várias camadas ocultas e cada camada é constituída por neurónios ou nós.
-
Camada de saída: A camada final que produz a saída do modelo. O número de nós nesta camada depende do tipo de problema - por exemplo, para a classificação binária, pode haver um nó para uma única saída, enquanto que para a classificação multi-classe, pode haver vários nós representando diferentes classes.
As redes neuronais também são definidas por:
-
Funções de ativação: Cada camada (exceto a camada de entrada) inclui normalmente uma função de ativação que introduz não linearidade na rede, permitindo-lhe aprender padrões complexos. As funções de ativação comuns incluem ReLU (Rectified Linear Activation), Sigmoid, Tanh, etc.
-
Ligações (ou Pesos): Cada nó de uma camada está ligado a cada nó da camada seguinte, com um peso associado a cada ligação. Estes pesos são ajustados durante o processo de treino para otimizar o desempenho da rede.
As diferentes arquitecturas de redes neuronais podem ter variações ou camadas adicionais específicas para os seus objectivos, mas estas camadas constituem a estrutura básica de uma rede neuronal.