Capítulo 1 : Red neuronal artificial
Los sistemas informáticos que se basan en las redes neuronales biológicas que componen los cerebros de los animales se conocen como redes neuronales artificiales, o ANN para abreviar. Estas redes se denominan más a menudo redes neuronales, o simplemente NN.
Una RNA se construye sobre una red de unidades o nodos interconectados que se denominan neuronas artificiales. Estas neuronas están destinadas a imitar aproximadamente a las neuronas que se encuentran en un cerebro biológico. Cada conexión, similar a las sinapsis que se encuentran en los cerebros reales, tiene la capacidad de enviar una señal a otras neuronas. Una neurona artificial es aquella que primero recibe señales, luego analiza esas señales y luego envía mensajes a otras neuronas a las que está vinculada. La "señal" en una conexión es un número real, y la salida de cada neurona se calcula mediante alguna función no lineal de la suma de sus entradas. La "señal" en una conexión se denomina "señal" en la conexión. Los bordes son otro nombre para las conexiones. El peso de las dendritas neuronales y las conexiones de borde a menudo cambia en función del aprendizaje continuo. La intensidad de la señal en una conexión puede aumentarse o disminuirse en función del peso. Es posible que las neuronas tengan un umbral, y que solo cuando la señal total supere ese umbral, la neurona envíe una señal. En la mayoría de los casos, los grupos de neuronas se organizan en capas. Es posible que cada capa realice cambios únicos en los datos que recibe. Las señales se abren camino desde la primera capa, que se conoce como capa de entrada, hasta la capa final, que se conoce como capa de salida, tal vez después de viajar a través de las capas más de una vez.
Las instancias de procesamiento, cada una de las cuales tiene una "entrada" y una "salida" conocidas, permiten que las redes neuronales aprendan (o sean entrenadas) mediante la creación de conexiones ponderadas por probabilidad entre las dos, que luego se almacenan dentro de la estructura de datos de la propia red. Así es como aprenden las redes neuronales. El proceso de entrenamiento de una red neuronal utilizando un ejemplo existente a menudo implica calcular la diferencia entre la salida procesada de la red (normalmente una predicción) y una salida objetivo. Esto se hace para determinar qué tan bien la red ha aprendido del ejemplo. En esta distinción es donde radica el error. A continuación, la red realizará los ajustes necesarios en sus asociaciones ponderadas de acuerdo con una regla de aprendizaje y haciendo uso de este valor de error. La salida generada por la red neuronal como resultado de cambios sucesivos se volverá progresivamente similar a la salida prevista. Después de un número suficiente de estos cambios, el entrenamiento puede finalizarse dependiendo de las condiciones especificadas después de haber sido completado. Este tipo de aprendizaje se conoce como aprendizaje supervisado.
Este tipo de sistemas "aprenden" a realizar tareas pensando en ejemplos, en la mayoría de los casos sin estar programados con reglas que sean relevantes para las actividades en sí. Por ejemplo, en el reconocimiento de imágenes, pueden aprender a reconocer imágenes que contienen gatos mediante el análisis de imágenes de ejemplo que se han etiquetado manualmente como "gato" o "sin gato" y, a continuación, utilizar los resultados para reconocer gatos en otras imágenes. De esta manera, aprenderían a identificar imágenes que contienen gatos mediante el análisis de imágenes que han sido etiquetadas manualmente como "gato" o "sin gato". Lo logran a pesar de que no tienen conocimientos previos sobre los gatos, como el hecho de que los gatos tienen pelo, cola, bigotes y caras similares a los gatos. En su lugar, desarrollan rasgos de identificación de forma completamente automatizada a partir de las instancias que analizan.
Fueron Warren McCulloch y Walter Pitts quienes descubrieron que los perceptrones básicos eran incapaces de procesar el circuito exclusivo y que los ordenadores no tenían la capacidad de procesar redes neuronales que fueran útiles.
En 1970 se publicó el enfoque general para la diferenciación automatizada (AD) de redes discretas enlazadas de funciones diferenciables anidadas que había sido desarrollado por Seppo Linnainmaa. en términos de criterios como la identificación de las señales de tránsito (IJCNN 2012).
Las RNA se concibieron por primera vez como un esfuerzo por imitar la estructura del cerebro humano con el fin de resolver problemas que eran difíciles de resolver para los enfoques algorítmicos tradicionales. Rápidamente cambiaron su enfoque para mejorar los resultados empíricos, renunciando en gran medida a los esfuerzos por mantenerse fieles a los orígenes biológicos de sus productos. Las neuronas están conectadas entre sí en una variedad de configuraciones diferentes, lo que permite que la salida de algunas neuronas se convierta en la entrada de otras neuronas. La red tiene la forma de un grafo que es dirigido y ponderado.
Las redes neuronales artificiales (ANN) están formadas por neuronas artificiales, que se extraen esencialmente de redes neuronales biológicas. Cada neurona artificial recibe entradas y genera una única salida que es capaz de ser distribuida a varias neuronas adicionales. Los valores de características de una muestra de datos externos, como fotos o documentos, pueden servir como entradas. Alternativamente, las salidas de otras neuronas pueden servir en esta capacidad. El trabajo, como la identificación de un elemento en una imagen, se completa con las salidas de las últimas neuronas de salida de la red neuronal.
Para determinar cuál es la salida de la neurona, primero debemos calcular la suma ponderada de todas las entradas de la neurona. Esta suma debe calcularse teniendo en cuenta los pesos de las conexiones que van de las entradas a la neurona. Vamos a añadir un término de sesgo a este total.
En el aprendizaje profundo, las neuronas a menudo están dispuestas en numerosas capas, ya que este tipo de aprendizaje enfatiza la complejidad. Las neuronas de una capa sólo pueden hacer conexiones con otras neuronas de la capa inmediatamente anterior y de la capa que la sigue inmediatamente. La capa que recibe datos del exterior se denomina capa de entrada. La capa de salida es la que genera el producto terminado en su totalidad. Hay al menos una y quizás más capas secretas entre ellos. También hay redes con una sola capa y redes sin capas. Existe la posibilidad de que existan numerosos patrones de conexión entre los dos niveles. Son capaces de estar "completamente vinculadas", lo que significa que cada neurona de una capa es capaz de conectarse a todas las neuronas de la capa superior. Pueden estar agrupándose, que es cuando un grupo de neuronas en una capa se une a una sola neurona en la siguiente capa, lo que reduce el número de neuronas en esa capa. La agrupación es una de las formas en que las neuronas pueden comunicarse entre sí.
Un hiperparámetro es un tipo de parámetro constante, cuyo valor se determina antes del comienzo del proceso de aprendizaje. El proceso de aprendizaje se utiliza para obtener los valores de los parámetros. La tasa de aprendizaje, el número de capas ocultas y el tamaño del lote son ejemplos de hiperparámetros. Es posible que los valores de algunos hiperparámetros dependan de los valores de otros hiperparámetros. Por ejemplo, el grosor de algunas capas puede cambiar dependiendo de la cantidad total de capas.
El aprendizaje es el proceso en el que la red se adapta para abordar mejor un trabajo teniendo en cuenta las observaciones de muestra. El aprendizaje implica hacer ajustes en los pesos (y, en algunos casos, en los umbrales) de la red para obtener una predicción más precisa. Los errores observados deben reducirse tanto como sea posible para lograr esto. Se considera que el aprendizaje está completo cuando el análisis de datos adicionales no ayuda a reducir la tasa de error de manera significativa. Incluso después de ser enseñado, la tasa de error no suele llegar a ser completamente cero. En la mayoría de los casos, será necesario modificar la red si se determina, después de enterarse, que la tasa de error es demasiado alta. En la práctica, esto se logra mediante la creación de una función de costo que luego se evalúa a intervalos regulares mientras el sistema está aprendiendo. El proceso de aprendizaje continuará mientras la salida del sistema continúe cayendo. Por lo general, el costo se caracteriza como una estadística cuyo valor solo se puede adivinar en lugar de determinarse con precisión. Debido a que las salidas son números, el margen de error entre la salida, que es casi con seguridad un gato, y la respuesta correcta, que también es un gato, es bastante pequeño cuando la tasa de error es baja. El objetivo del aprendizaje es reducir el número total de discrepancias entre las observaciones tanto como sea posible. La gran mayoría de los modelos de aprendizaje pueden entenderse como una aplicación directa de la teoría de la optimización y la estimación estadística.
La tasa de aprendizaje es el factor que determina la magnitud de las acciones correctivas que el modelo debe realizar para compensar los errores en cada observación. La idea de momento lineal permite ponderar el equilibrio entre el gradiente y el cambio previo de tal manera que el ajuste del peso depende, al menos hasta cierto punto, del cambio anterior. Cuando el momento está cerca de cero, el énfasis está en el gradiente, mientras que cuando está cerca de uno, el énfasis está en el cambio más reciente.
Aunque es posible definir una función de costo según sea necesario, la selección de una función de costo...