Redes neurais artificiais

A Rede Neural Artificial, ou simplesmente rede neural para resumir, não é uma ideia nova. Já existe há cerca de 80 anos.

Não foi até 2011, quando Deep Neural Networks se tornou popular com o uso de novas técnicas, grande disponibilidade de conjuntos de dados e computadores poderosos.

Uma rede neural imita um neurônio, que tem dendritos, um núcleo, um axônio e um axônio terminal.

Para uma rede, precisamos de dois neurônios. Esses neurônios transferem informações por meio de sinapses entre os dendritos de um e o axônio terminal de outro.

Um provável modelo de neurônio artificial se parece com isto -

Uma rede neural será semelhante à mostrada abaixo -

Os círculos são neurônios ou nós, com suas funções nos dados e as linhas / arestas que os conectam são os pesos / informações que estão sendo transmitidos.

Cada coluna é uma camada. A primeira camada de seus dados é a camada de entrada. Então, todas as camadas entre a camada de entrada e a camada de saída são as camadas ocultas.

Se você tiver uma ou algumas camadas ocultas, terá uma rede neural superficial. Se você tiver muitas camadas ocultas, terá uma rede neural profunda.

Neste modelo, você tem dados de entrada, pondera-os e os transmite pela função no neurônio que é chamada de função de limiar ou função de ativação.

Basicamente, é a soma de todos os valores após a comparação com um determinado valor. Se você disparar um sinal, o resultado é (1) fora, ou nada é disparado, então (0). Isso é então pesado e passado ao próximo neurônio, e o mesmo tipo de função é executado.

Podemos ter uma função sigmóide (forma de s) como a função de ativação.

Quanto aos pesos, eles são apenas aleatórios para começar e são únicos por entrada no nó / neurônio.

Em um típico "feed forward", o tipo mais básico de rede neural, você faz com que suas informações sejam transmitidas diretamente pela rede que você criou e compara a saída com o que esperava que fosse usando seus dados de amostra.

A partir daqui, você precisa ajustar os pesos para ajudá-lo a fazer com que sua saída corresponda à saída desejada.

O ato de enviar dados diretamente através de uma rede neural é chamado de feed forward neural network.

Nossos dados vão da entrada às camadas, em ordem, e depois à saída.

Quando voltamos e começamos a ajustar os pesos para minimizar a perda / custo, isso é chamado back propagation.

Isto é um optimization problem. Com a rede neural, na prática real, temos que lidar com centenas de milhares de variáveis, ou milhões, ou mais.

A primeira solução foi usar a descida gradiente estocástica como método de otimização. Agora, existem opções como AdaGrad, Adam Optimizer e assim por diante. De qualquer forma, esta é uma operação computacional massiva. É por isso que as redes neurais foram deixadas na prateleira por mais de meio século. Só muito recentemente é que tínhamos o poder e a arquitetura em nossas máquinas para sequer considerar fazer essas operações e os conjuntos de dados de tamanho adequado para corresponder.

Para tarefas de classificação simples, a rede neural tem desempenho relativamente próximo de outros algoritmos simples como K vizinhos mais próximos. A real utilidade das redes neurais é percebida quando temos dados muito maiores e questões muito mais complexas, ambos os quais superam outros modelos de aprendizado de máquina.