Neurônios Artificiais – Uma Breve Introdução
O termo supervisionado significa que temos um conjunto de dados, com as classes definidas (entrada) e os sinais de saída (labels) já esperados. Por exemplo, podemos treinar a rede neural com imagens de um objeto e esperamos que, após o modelo treinado nos “mostrar” a imagem do mesmo objeto, o modelo será capaz de nos “dizer” se o objeto mostrado está ou não na imagem apresentada. Essa é uma tarefa de classificação.
Atualmente, temos ouvido falar cada vez mais de redes neurais artificiais, mas como essas redes são formadas?
Ao pensar em rede, sabemos que temos um conjunto de nós trabalhando juntos. Cada unidade ou nó da rede neural artificial, é o neurônio artificial.
Nesse texto, vamos tratar da unidade que compõe a rede neural. Será feita uma breve introdução do funcionamento do neurônio artificial. Uma vez que entendemos como foi concebido e como funciona o neurônio artificial, podemos começar a imaginar como a rede neural artificial funciona. Obviamente, temos outras características associadas às redes neurais. Aqui, vamos entender o neurônio artificial e mais adiante, em outros conteúdos complementares, falaremos de mais outras características.
A inspiração para o neurônio artificial é o neurônio biológico. Warren McCulloch e Walter Pitts tentaram entender como o neurônio biológico funciona no cérebro, e a partir daí, criar um modelo de inteligência artificial. Foi quando, em 1943, publicaram o primeiro conceito simplificado de uma célula cerebral. McCulltoch-Pitts (MCP) – “A Logical Calculus of the Ideas Immanent in Nervous Activity“. Os neurônios são células nervosas interconectadas, que processam e transmitem sinais químicos.
McCulloch e Pitts propuseram o neurônio artificial como uma espécie de portal binário. Múltiplos sinais chegam até os dendritos e são integrados no corpo da célula. Quando o acúmulo de sinais no corpo da célula exceder um certo limite, um sinal de saída é emitido, passando através do axônio.
Alguns anos depois, Frank Rosenblatt, publicou o trabalho “The Perceptron: A Perceiving and Recognizing Automation“. Foi a proposta de um algoritmo capaz de encontrar o melhor coeficiente de peso e depois multiplicado com a entrada, para decidir se o neurônio artificial transmitirá ou não o sinal de saída. Isso dentro de um contexto de aprendizado supervisionado, resultando na predição que nos diz se a entrada pertence ou não a uma determinada classe.
Uma Introdução ao Modelo Perceptron
A seguir, vamos examinar brevemente a definição formal de um neurônio artificial. Podemos imaginar que a ideia da tarefa de um neurônio artificial é a de classificação binária. Considerando duas classes, temos 1 (classe positiva), e -1 (classe negativa). Uma parte importante do neurônio artificial é a função de decisão: ϕ(z).
A função de decisão faz uma combinação linear com os sinais de entrada, x, e o vetor de pesos correspondente, w, onde z é a entrada da rede:
A entrada de features e seus pesos associados, x e w, é a entrada da rede z. Após fazer a combinação linear ϕ(z), se o resultado for maior que o limiar ɵ , será predito a classe 1, caso contrário, a classe -1. No caso do algoritmo perceptron, a função de decisão terá um resultado para cada unidade da rede. Uma rede neural artificial, é composta por camadas com neurônios artificiais.
Vejamos uma ilustração de entrada e saída do neurônio artificial:
Estamos analisando o funcionamento de um único neurônio artificial.
Em uma rede neural artificial, o número de neurônios artificias em cada da rede neural é variável, a depender do problema que estamos lidando. Quando a saída de um neurônio artificial é maior que zero, será disparado um sinal para a próxima camada da rede neural, caso contrário nenhum sinal será emitido.
Em particular, o modelo perceptron, só pode ser aplicado em funções lineares. A fim de ajustar o modelo, temos o conceito de bias. Podemos imaginar o bias como uma taxa de ajuste constante, que ajuda a manter a linearidade da função.
Estamos tratando de redes neurais com uma breve introdução ao neurônio artificial, que compõe a rede neural, portanto, trata-se de modelo de aprendizado supervisionado. Ao treinar nossa rede neural, teremos um conjunto de dados com as classes separadas e para o treinamento.
Agora que introduzimos o conceito de bias, podemos trazer o limiar para o lado esquerdo da equação, com o peso-zero como w_0= -θ e x_0=1. Dessa forma, vamos escrever a formalização matemática de maneira mais compacta.
Usamos a transposta de w, por ser apenas uma forma de escrever a multiplicação das matrizes. Para finalizar, veremos abaixo em um gráfico, como a entrada da rede z, é “esmagada” em uma saída binária (-1 ou 1) e como pode ser usada para identificar entre duas classes linearmente separadas.
Esse é o modelo perceptron. Não temos código por agora, pois precisamos compreender o modelo básico antes de avançar. Esse é o primeiro artigo de uma série que vai falar sobre rede neural. Fique ligado e nos acompanhe no Terça Tech para saber mais.
Referências
https://towardsdatascience.com/perceptron-learning-algorithm-d5db0deab975
https://towardsdatascience.com/the-perceptron-3af34c84838c
Python Machine Learning – 3dr Edition – Sebastian Raschka e Vahid Mirijalili