top of page

4 de mar. de 2026

Mini rede neural

Por Hindemburg Melão Jr.

INSTRUÇÕES

 

Introdução:

 

Essa é uma rede neural simples, mas relativamente “potente” para aplicações básicas. Pode ser treinada para diferentes finalidades, mas da maneira como está preconfigurada, serve especialmente para tentar aprender operações aritméticas. Já estão implementadas 5 operações de exemplo:

 

f0 soma dois números

f1 aplica o teorema de Pitágoras, calculando “c” a partir de dois valores (a,b).

f2 calcula uma multiplicação entre 2 números

f3 calcula a raiz quadrada de 1 número

f4 calcula a função gama de 1 número

 

Como utilizar:

 

Você não deve ter hmplot, portanto precisa importar numpy, scipy, matlotlib e eventualmente outras bibliotecas. A única diferença é que ficará sem a formatação do gráfico, você pode colocar sua própria formatação ou usar o padrão do matlotlib.

 

X é o vetor usado no treinamento da rede.

 

X = np.random.uniform(0, 100, (10000, 2))

 

Você configura o valor mínimo (0) e o máximo (100) dentro dos quais devem ser sorteados os (10000) valores de cada dimensão (2) que serão usados no treinamento da rede. Nesse caso serão sorteados 10.000 grupos de dois números racionais, cada um entre 0 e 100, e ambos serão somados.

 

O vetor y é o resultado da função escolhida para ser aplicada ao vetor X e vai gerar os resultados. Por exemplo:

 

X1 = (14,31304, 7,00861)

X2 = (4, 8)

X3 = (88, 16)

 

Se usar para y a função f0, vai y1 será o resultado da soma dos dois valores de X1, y2 será o resultado da soma dos valores de X2 e assim por diante.

 

A rede recebe todos esses 10.000 valores de X e y e tenta ajustar os pesos de seus neurônios para minimizar a soma dos quadrados dos erros de todos os 10.000 casos. A rede não sabe o que é uma soma, nem uma multiplicação, nem nada. Ela apenas tenta ajustar seus pesos usando a função de ativação escolhida (nesse caso ReLU) nos valores de entrada de X de modo que gerem a saída mais próxima possível de y.

 

Os valores “a” e “b” são o teste que você deseja fazer depois que a rede tiver sido treinada até uma determinada época. Nesse exemplo, a=2, b=2 porque queremos testar se a rede consegue fazer 2+2 depois de receber 10.000 exemplos de somas com outros valores, e recalibrar seus parâmetros em 1.000 épocas. Pode-se usar outros valores, como a=4,5 e usar a função gamma treinada em números inteiros, para verificar ela consegue estimar fatoriais de não inteiros a partir do treinamento com inteiros.



bottom of page