Rede Neural Artificial - Blocos de Construção

O processamento de ANN depende dos três blocos de construção a seguir -

  • Topologia de rede
  • Ajustes de pesos ou aprendizagem
  • Funções de ativação

Neste capítulo, discutiremos em detalhes sobre esses três blocos de construção da RNA

Topologia de rede

Uma topologia de rede é o arranjo de uma rede junto com seus nós e linhas de conexão. De acordo com a topologia, a RNA pode ser classificada como os seguintes tipos -

Rede Feedforward

É uma rede não recorrente com unidades de processamento / nós em camadas e todos os nós em uma camada estão conectados com os nós das camadas anteriores. A conexão tem pesos diferentes sobre eles. Não há loop de feedback, o que significa que o sinal só pode fluir em uma direção, da entrada para a saída. Pode ser dividido nos seguintes dois tipos -

  • Single layer feedforward network- O conceito é de RNA feedforward tendo apenas uma camada ponderada. Em outras palavras, podemos dizer que a camada de entrada está totalmente conectada à camada de saída.

  • Multilayer feedforward network- O conceito é de RNA feedforward com mais de uma camada ponderada. Como essa rede possui uma ou mais camadas entre a camada de entrada e a de saída, ela é chamada de camadas ocultas.

Rede de Feedback

Como o nome sugere, uma rede de feedback tem caminhos de feedback, o que significa que o sinal pode fluir em ambas as direções usando loops. Isso o torna um sistema dinâmico não linear, que muda continuamente até atingir um estado de equilíbrio. Pode ser dividido nos seguintes tipos -

  • Recurrent networks- São redes de feedback com malha fechada. A seguir estão os dois tipos de redes recorrentes.

  • Fully recurrent network - É a arquitetura de rede neural mais simples porque todos os nós estão conectados a todos os outros nós e cada nó funciona como entrada e saída.

  • Jordan network - É uma rede em malha fechada na qual a saída irá para a entrada novamente como feedback, conforme mostrado no diagrama a seguir.

Ajustes de pesos ou aprendizagem

Aprendizagem, em rede neural artificial, é o método de modificar os pesos das conexões entre os neurônios de uma rede especificada. A aprendizagem em RNA pode ser classificada em três categorias, a saber, aprendizagem supervisionada, aprendizagem não supervisionada e aprendizagem por reforço.

Aprendizagem Supervisionada

Como o nome sugere, esse tipo de aprendizado é feito sob a supervisão de um professor. Este processo de aprendizagem é dependente.

Durante o treinamento da RNA sob aprendizagem supervisionada, o vetor de entrada é apresentado à rede, que dará um vetor de saída. Este vetor de saída é comparado com o vetor de saída desejado. Um sinal de erro é gerado, se houver uma diferença entre a saída real e o vetor de saída desejado. Com base nesse sinal de erro, os pesos são ajustados até que a saída real corresponda à saída desejada.

Aprendizagem Não Supervisionada

Como o nome sugere, esse tipo de aprendizagem é feito sem a supervisão de um professor. Este processo de aprendizagem é independente.

Durante o treinamento de RNA sob aprendizagem não supervisionada, os vetores de entrada de tipo semelhante são combinados para formar clusters. Quando um novo padrão de entrada é aplicado, a rede neural fornece uma resposta de saída indicando a classe à qual o padrão de entrada pertence.

Não há feedback do ambiente sobre qual deveria ser a saída desejada e se está correta ou incorreta. Conseqüentemente, neste tipo de aprendizado, a própria rede deve descobrir os padrões e características dos dados de entrada e a relação dos dados de entrada sobre os de saída.

Aprendizagem por Reforço

Como o nome sugere, esse tipo de aprendizado é usado para reforçar ou fortalecer a rede sobre algumas informações críticas. Este processo de aprendizagem é semelhante à aprendizagem supervisionada, mas podemos ter muito menos informações.

Durante o treinamento da rede em aprendizagem por reforço, a rede recebe algum feedback do ambiente. Isso o torna um tanto semelhante ao aprendizado supervisionado. Porém, o feedback obtido aqui é avaliativo e não instrutivo, o que significa que não existe professor como na aprendizagem supervisionada. Após receber o feedback, a rede realiza ajustes dos pesos para obter melhores informações críticas no futuro.

Funções de ativação

Pode ser definido como a força ou esforço extra aplicado sobre a entrada para obter uma saída exata. Em ANN, também podemos aplicar funções de ativação sobre a entrada para obter a saída exata. A seguir estão algumas funções de ativação de interesse -

Função de Ativação Linear

Também é chamada de função de identidade, pois não realiza edição de entrada. Pode ser definido como -

$$ F (x) \: = \: x $$

Função de ativação sigmóide

É de dois tipos, como segue -

  • Binary sigmoidal function- Esta função de ativação executa a edição de entrada entre 0 e 1. É de natureza positiva. Ele é sempre limitado, o que significa que sua saída não pode ser menor que 0 e maior que 1. Também é estritamente crescente por natureza, o que significa que quanto mais a entrada maior seria a saída. Pode ser definido como

    $$ F (x) \: = \: sigm (x) \: = \: \ frac {1} {1 \: + \: exp (-x)} $$

  • Bipolar sigmoidal function- Esta função de ativação executa a edição de entrada entre -1 e 1. Pode ser de natureza positiva ou negativa. É sempre limitado, o que significa que sua saída não pode ser menor que -1 e maior que 1. Também é estritamente crescente na natureza como a função sigmóide. Pode ser definido como

    $$ F (x) \: = \: sigm (x) \: = \: \ frac {2} {1 \: + \: exp (-x)} \: - \: 1 \: = \: \ frac {1 \: - \: exp (x)} {1 \: + \: exp (x)} $$