Rede neural
Estrutura inspirada no cérebro, que aprende a detectar padrões nos dados. A base da IA atual.
Uma rede neural é um modelo computacional formado por unidades conectadas, cujos parâmetros são ajustados durante o treinamento para transformar dados de entrada no resultado desejado.
Imagine um produtor de maçãs do interior de São Paulo que quer classificar fotos de maçãs entre frutas sem danos visíveis e aquelas que precisam ser verificadas. Ele fornece exemplos identificados, e a rede aprende as relações entre a imagem e o rótulo. Isso não significa que ela entende de cultivo ou sabe avaliar o sabor. Ela deve realizar uma tarefa específica com base no que aparece na foto.
O que acontece entre a foto e a resposta
Em um modelo simples, a camada de entrada recebe números que representam os dados. As camadas seguintes os transformam usando pesos e funções de ativação. A camada de saída fornece um resultado, como a probabilidade de pertencer a uma de duas categorias. As funções de ativação permitem modelar relações mais complexas do que um único cálculo linear.
Durante o treinamento, o programa compara a previsão com o resultado esperado, calcula o erro e atualiza os parâmetros. A repetição desse processo pode melhorar o ajuste aos exemplos de treinamento. Mas a pergunta mais importante é: o modelo funciona com dados novos? Um bom resultado apenas com fotos que ele já viu não é suficiente. O curso do Google sobre as camadas de uma rede neural mostra como esses modelos são estruturados.
Como testar sua ideia com um exemplo próprio
-
Defina a decisão. No caso das maçãs, pode ser “encaminhar para inspeção manual”, em vez de um objetivo genérico como “avaliar a qualidade”. Frutas com defeitos que não aparecem na foto não servem para testar bem um modelo que analisa apenas imagens.
-
Prepare rótulos consistentes. As pessoas que identificam as fotos precisam entender o critério da mesma forma. Se uma considera uma pequena mancha um defeito e outra não, o modelo recebe instruções contraditórias. Vale discutir primeiro os casos controversos e separá-los.
-
Separe os dados de treinamento dos dados de avaliação. Fotos da mesma maçã não devem aparecer nos dois conjuntos. Caso contrário, um exemplo aparentemente novo pode ser quase idêntico a um usado no treinamento. Para colocar o modelo em uso, também é importante testá-lo com uma amostra de outro dia ou lote de frutas.
-
Compare o resultado com uma solução mais simples. Se uma iluminação padronizada e uma regra que detecta determinada cor forem suficientes, talvez a rede seja desnecessária. Se o problema exigir o reconhecimento de padrões mais complexos, um modelo treinado com dados pode fazer mais sentido.
-
Analise os erros um a um. Anote se o sistema deixa passar frutas danificadas ou rejeita em excesso as saudáveis. Esses erros têm custos diferentes. Na primeira implementação, o resultado pode apenas indicar quando é necessária uma inspeção humana, em vez de controlar sozinho toda a linha.
O que a rede pode confundir com a característica certa
Se você fotografar todas as maçãs danificadas em uma bandeja vermelha e as saudáveis em uma branca, o modelo pode aprender a reconhecer a cor da bandeja. Um resultado excelente em fotos semelhantes vai esconder esse problema. Coloque as frutas sobre outro fundo e veja se a avaliação continua fazendo sentido. Testes assim ajudam a identificar os atalhos usados pelo sistema.
Um problema semelhante pode ocorrer com documentos brasileiros. Uma rede que classifica notas fiscais pode se basear no logotipo do fornecedor, em vez do tipo de documento. Quando surgir um novo fornecedor, a qualidade pode cair. Verifique dados que reflitam o trabalho futuro, e não apenas exemplos fáceis escolhidos para uma apresentação.
Quais tipos de rede você encontra na prática
Redes convolucionais são usadas com frequência para imagens, pois aproveitam relações locais nos dados. Arquiteturas recorrentes processam sequências levando em conta estados anteriores. Transformers usam mecanismos de atenção e estão presentes, entre outros, em modelos de linguagem. São famílias de soluções, não uma regra rígida segundo a qual texto sempre exige uma e imagem, outra.
Você não precisa criar uma rede do zero para usá-la. Pode executar um modelo pronto, adaptar um modelo existente para uma tarefa mais específica ou usar um aplicativo que oculta os detalhes. Em todos os casos, o trabalho é o mesmo: definir o objetivo com clareza, verificar se os dados são representativos e determinar quem é responsável quando há um erro.
O erro mais comum: confundir rede neural com cérebro
O nome e a inspiração histórica não significam que o programa tenha consciência humana, bom senso ou compreenda uma situação como uma pessoa. Reconhecer corretamente uma maçã não lhe dá conhecimento sobre toda a propriedade rural. Avalie uma habilidade específica com exemplos novos e repita os testes quando as condições mudarem. Quanto mais grave for a consequência de um erro, menos você deve confiar apenas em uma demonstração atraente.