Redes neuronales artificiales
La red neuronal artificial, o simplemente la red neuronal para abreviar, no es una idea nueva. Ha existido durante unos 80 años.
No fue hasta 2011, cuando las redes neuronales profundas se hicieron populares con el uso de nuevas técnicas, una gran disponibilidad de conjuntos de datos y computadoras potentes.
Una red neuronal imita a una neurona, que tiene dendritas, un núcleo, un axón y un axón terminal.
Para una red, necesitamos dos neuronas. Estas neuronas transfieren información a través de sinapsis entre las dendritas de una y el axón terminal de otra.
Un modelo probable de una neurona artificial se ve así:
Una red neuronal se verá como se muestra a continuación:
Los círculos son neuronas o nodos, con sus funciones en los datos y las líneas / bordes que los conectan son los pesos / información que se transmite.
Cada columna es una capa. La primera capa de sus datos es la capa de entrada. Entonces, todas las capas entre la capa de entrada y la capa de salida son las capas ocultas.
Si tiene una o varias capas ocultas, entonces tiene una red neuronal poco profunda. Si tiene muchas capas ocultas, entonces tiene una red neuronal profunda.
En este modelo, tiene datos de entrada, los pondera y los pasa a través de la función en la neurona que se llama función de umbral o función de activación.
Básicamente, es la suma de todos los valores después de compararlo con un valor determinado. Si dispara una señal, entonces el resultado es (1) apagado, o no se dispara nada, entonces (0). Eso luego se pondera y se pasa a la siguiente neurona, y se ejecuta el mismo tipo de función.
Podemos tener una función sigmoidea (en forma de s) como función de activación.
En cuanto a los pesos, son aleatorios para comenzar y son únicos por entrada en el nodo / neurona.
En un típico "feed forward", el tipo más básico de red neuronal, usted hace que su información pase directamente a través de la red que creó y compara la salida con lo que esperaba que hubiera estado usando sus datos de muestra.
Desde aquí, debe ajustar los pesos para ayudarlo a que su salida coincida con la salida deseada.
El acto de enviar datos directamente a través de una red neuronal se denomina feed forward neural network.
Nuestros datos van desde la entrada a las capas, en orden, luego a la salida.
Cuando retrocedemos y comenzamos a ajustar los pesos para minimizar la pérdida / costo, esto se llama back propagation.
Esto es un optimization problem. Con la red neuronal, en la práctica real, tenemos que lidiar con cientos de miles de variables, millones o más.
La primera solución fue utilizar el descenso de gradiente estocástico como método de optimización. Ahora, hay opciones como AdaGrad, Adam Optimizer, etc. De cualquier manera, esta es una operación computacional masiva. Es por eso que las redes neuronales se dejaron en la estantería durante más de medio siglo. Fue solo muy recientemente que incluso teníamos la potencia y la arquitectura en nuestras máquinas para considerar siquiera realizar estas operaciones, y los conjuntos de datos del tamaño adecuado para coincidir.
Para tareas de clasificación simples, la red neuronal tiene un rendimiento relativamente similar al de otros algoritmos simples como K vecinos más cercanos. La utilidad real de las redes neuronales se realiza cuando tenemos datos mucho más grandes y preguntas mucho más complejas, las cuales superan a otros modelos de aprendizaje automático.