0% encontró este documento útil (0 votos)
51 vistas6 páginas

Introducción a Redes Neuronales AI

Cargado por

rodrigo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
51 vistas6 páginas

Introducción a Redes Neuronales AI

Cargado por

rodrigo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1.

Introducción a las Redes Neuronales

1.1. Introducción y herramientas de programación


¿Qué son las redes neuronales artificiales?
Las redes neuronales artificiales son modelos matemáticos inspirados en las células del sistema
nerviosos central. Es importante tratar de modelar a estas células porque, dentro del sistema
nervioso central, el cerebro es el único ejemplo que conocemos en la naturaleza con la capacidad
de procesar información para una variedad de tareas tan distintas y con tan alta efectividad.

Sin embargo, como todo modelo, vamos a considerar solo una simplificación de su contraparte
biológica, tomando unicamente los aspectos mínimos necesarios para conseguir las propiedades
deseadas y sin tener en cuenta los detalles del resto de su funcionamiento.

Podemos decir que las neuronas se conectan entre sí mediante sinapsis, y estas sinapsis
transmiten impulsos electro-químicos a través de las dendritas hasta el núcleo o soma de la
célula. Si el estímulo recibido es suficientemente grande, la neurona va a producir un disparo que
se va a propagar por el axón hacia nuevas sinapsis en otras neuronas, y el proceso se vuelve a
repetir.

Esto lo podemos modelar matemáticamente mediante un vector x para representar los estímulos
de entrada, un vector de pesos w que representan la eficacia con que los estímulos se transmiten
al núcleo de la célula, un umbral b que es la cantidad de estímulo total que se tiene que superar
para producir un disparo, y una función de transferencia que determina qué forma va a tener la
activación de respuesta de la neurona.

Trasladando el proceso a una ecuación, lo podemos escribir como la sumatoria entre el producto
de los estímulos x y los pesos w, menos el umbral b, pasado por la función de transferencia. Pero
como este valor de umbral b también va a ser modificado de la misma forma que los pesos w
durante el aprendizaje, podemos simplificar la expresión asumiendo que existe un valor de
estímulo adicional fijo en -1 y entonces b se convertirá simplemente en un peso extra.

Sabiendo que estas son las partes esenciales del modelo, hay dos cuestiones que siempre deben
tenerse en cuenta: ¿cómo producir una respuesta del modelo?, y ¿cómo hacer que el modelo
aprenda? Es decir, lo que vamos a querer hacer es modificar estos pesos w y este umbral b para
que, en presencia de cierto estímulo, la neurona responda de cierta forma.

Estas neuronas artificiales son unidades de procesamiento muy sencillas, pero trabajando en
conjunto mediante conexiones mutuas, son capaces de actuar como un paradigma computacional
aparte, logrando soluciones muy eficaces y robustas. Esto es lo que se conoce como propiedad
emergente, es decir, el total es mayor que la simple suma de sus partes.
Su relación con otras disciplinas
La Inteligencia Artificial es una rama de las Ciencias de la Computación encargada de tratar de
simular la inteligencia humana. Una definición tan general abarca una enorme diversidad de
métodos y subdisciplinas.

La IA clásica (mediados del siglo pasado) dependía de tratar de capturar conocimiento y


programarlo directamente en el sistema (por ejemplo, los sistemas expertos). Es decir que el
aprendizaje de un problema particular tenía lugar en la cabeza de la persona que debía programar
el sistema.

Por el contrario, lo que ahora llamamos Aprendizaje Automático (Machine Learning), se enfoca en
técnicas que tratan de capturar el conocimiento mediante ejemplos. Esta idea es muy similar a lo
que se viene realizando en estadística desde hace mucho tiempo, sin embargo lo que actualmente
se considera como Aprendizaje Automático apareció por primera vez con las Redes Neuronales
Artificiales.

Pero además las Redes Neuronales tiene algunas ventajas sobre los métodos puramente
estadísticos y sobre los modelos alternativos de Aprendizaje Automático. Las funciones de
distribución estadísticas son buenas para modelar las tendencias generales sobre un conjunto de
datos. Las redes neuronales pueden aprender estas distribuciones, pero también pueden aprender
sobre excepciones particulares. Y las técnicas de Aprendizaje Automático por lo general utilizan
modelos poco flexibles que son adecuados solo para un tipo de problema en particular, por lo que
suelen depender fuertemente del procesamiento previo de los datos. Las Redes Neuronales son
modelos más flexibles que se pueden adaptar a distintos tipos de problemas y no suelen requerir
importantes transformaciones de los datos para poder producir resultados. Además, otra de las
virtudes de las Redes Neuronales es que, por ser un modelo biológicamente inspirado, nos
permiten entender mejor el funcionamiento de nuestro propio cerebro.

Los avances teóricos de las últimas décadas en estos modelos, junto con la facilidad de acceso a
más y mejores datos, y el mayor poder de procesamiento, permitieron desarrollar lo que
actualmente se conoce como Aprendizaje Profundo (Deep Learning). Estas nuevas técnicas
permiten que redes de neuronas con más etapas de procesamiento puedan aprender
eficientemente problemas más complejos.

El Aprendizaje Profundo actualmente tiene una justificada muy alta reputación, cultivada no solo
en el éxito obtenido en competencias de muy distinta índole, en donde desde sus primeras
apariciones produjo significativos avances en los respectivos campos, sino también por la más
reciente aparición de los modelos generativos como los Grandes Modelos de Lenguaje (Large
Language Models, LLM). Sin embargo un modelo más complejo no es necesariamente una mejor
solución, y en muchos casos modelos de Redes Neuronales Artificiales sencillos pueden ser una
solución más práctica y aplicarse a una mayor variedad de problemas.

Tanto las Redes Neuronales Artificiales como el Aprendizaje Profundo son temas en constante
investigación, y es posible que sigan apareciendo nuevas alternativas que conviertan a algunos de
los mejores modelos actuales en obsoletos. Pero es importante entender que los fundamentos en
que se basan, de unidades sencillas trabajando en conjunto conectadas entre sí para aprender una
tarea, probablemente seguirán siendo los mismos.

Tipos de modelos y aprendizaje


Existen varios tipos de redes neuronales artificiales. Vamos a empezar hablando del tipo de
modelo que probablemente sea el más utilizado y con la que vamos a trabajar en las primeras
etapas.

Las neuronas o unidades están organizadas en capas. Vamos a tener una capa de entrada que
recibe los estímulos y una capa de salida en donde obtenemos la respuesta de la red. Además
puede haber varias capas intermedias que vamos a llamar capas ocultas.

Cada unidad va a estar conectada mediante pesos con todas las unidades de la capa anterior,
salvo la capa de entrada que no va a tener conexiones. A este tipo de conexiones lo vamos a
llamar “completamente conectado” o “fully-connected”.

Vamos a tener además en todas las capas, menos en la de salida, una unidad extra con un valor
fijo en -1 para que su peso represente el umbral máximo de estímulo que tiene que superar la
neurona para disparar. El incorporar este umbral como un peso extra nos va a facilitar los cálculos
en el proceso de aprendizaje. A esta unidad extra la vamos a llamar unidad umbral.

El estímulo se va a propagar en una sola dirección, desde la capa de entrada, pasando por todas
las capas ocultas, hasta la capa de salida. Este tipo de propagación de los estímulos hacia adelante
se lo llama “feed-forward”.

El estímulo neto que recibe cada unidad se calcula mediante una función de estímulo. Esta función
generalmente es el producto interno entre el vector de activación de la capa anterior y los pesos
correspondientes, aunque en algunos casos es posible utilizar otro tipo de funciones como una
inversa de la distancia vectorial.

Una vez que tenemos el estímulo neto que recibe cada unidad, le vamos a aplicar una función de
activación o función de transferencia para obtener el valor de respuesta de la unidad. Hay varios
tipos de funciones de activación. La más sencilla es la función lineal, es decir la respuesta de la
unidad es exactamente el estímulo neto que recibió. También es muy sencilla la función signo,
que tiene una forma de escalón. Esto es, si el estímulo total es positivo responde con +1 y si es
negativo responde con -1. Otro tipo de función de activación muy usada son las sigmoideas, por
ejemplo la logística, que tiene una forma de escalón suavizado acotada entre 0 y 1, o la tangente
hiperbólica que también tiene una forma de escalón suavizado pero acotada entre -1 y 1. En
algunos casos, cuando la activación o los datos están acotados entre 0 y 1 se los llama binarios y
se asume que representan la presencia o no de estímulo, y cuando están acotados entre -1 y +1
se los llama bipolares y representan la presencia de estímulos inhibitorios o excitatorios.
Por arquitectura de una red neuronal vamos a entender que se trata de la elección de cantidad de
capas ocultas, cantidad de unidades por capa, tipo de conexiones entre capas, funciones de
estímulo y funciones de activación.

Y finalmente, por aprendizaje nos vamos a referir al proceso de modificar los pesos, que serán los
parámetros entrenables del modelo, para obtener una respuesta deseada específica. Este proceso
de aprendizaje generalmente estará guiado por el postulado de Hebb, formulado originalmente
para su contraparte biológica, que dice “Cuando el axón de una célula A está lo suficientemente
cerca como para excitar a una célula B y repetidamente toma parte en la activación, ocurren
procesos de crecimiento en una o ambas células de manera que tanto la eficiencia de la célula A,
como la capacidad de excitación de la célula B son aumentadas”.

Todo esto sirve como una introducción a algunos términos y nomenclatura que vamos a utilizar,
pero se debe destacar que no existe un consenso generalizado y que es muy común encontrar que
distintos autores utilizan diferentes nombres para referirse a la misma cosa, o el mismo nombre
para referirse a cosas distintas.

Datos y aprendizaje supervisado


Para poder hacer cualquier tipo de aprendizaje vamos a necesitar datos. Es decir, aprender a partir
de datos es lo que llamamos aprendizaje automático o aprendizaje de máquina.

Esto lo podemos pensar como que tenemos un problema que puede ser descripto en forma
numérica. Los distintos elementos numéricos, o variables, que describen al planteo del problema
los podemos organizar en un vector. Además podemos asumir que conocemos muchos ejemplos
de ese problema, es decir, contamos con muchos de sus casos particulares. Si cada ejemplo del
problema puede ser representado como un vector, entonces el conjunto de ejemplos que tenemos
lo podemos representar en una matriz, en donde cada fila va a representar un caso del problema y
cada columna va a representar una de las variables que describe el planteo del problema.

Pero además podemos pensar que para cada caso que conocemos del problema, para cada planteo
particular del problema, también conocemos la solución correspondiente y esta también puede ser
expresada en forma vectorial. Estos van a ser nuestros vectores objetivo o targets. A este conjunto
de vectores que describen las soluciones conocidas también los vamos a organizar en una matriz.
Con lo cual nuestro conjunto de datos va a estar formado por una matriz con datos de entrada y
otra con datos objetivo.

Cada uno de los vectores, de entrada u objetivo, los vamos a llamar patrones, y a cada caso
consistente en el patrón de entrada y su correspondiente patrón objetivo, lo vamos a llamar
instancia del problema.

El utilizar datos de entrada junto a datos objetivo es lo que se conoce como aprendizaje
supervisado. Es decir, le vamos a enseñar a nuestro modelo que para estos ejemplos de este
problema, esta es una solución válida. Y el objetivo final es que, a partir de estos casos conocidos,
cuando el modelo vea un nuevo ejemplo, es decir una instancia del problema que no fue parte de
los datos iniciales, responda con una solución válida del problema.

En general para que un modelo pueda aprender efectivamente necesita ver los datos muchas
veces. Una pasada por todas las instancias del conjunto de datos se lo llama una época. El proceso
de ir haciendo correcciones a los parámetros entrenables del modelo durante varias épocas para ir
aproximándose a la solución deseada se llama entrenamiento.

Gracias a todo esto es posible utilizar redes neuronales artificiales exitosamente en distintos tipos
de problemas como regresión, clasificación, reducción de dimensión, clustering, etc. con
potenciales aplicaciones en diferentes áreas del comercio, la industria, la administración, las
finanzas, el transporte, la educación, la seguridad, la salud, la energía y el entretenimiento.

Herramientas de programación
La mejor forma de entender cómo funciona algo es siendo el responsable de hacerlo funcionar.
Por esto, para entender mejor el funcionamiento de las redes neuronales, lo siguiente que vamos a
hacer es encargarnos de hacer nuestra propia implementación de este tipo de modelo.

Bibliografía
 Haykin, S. (2009). Neural Networks and Learning Machines. (Capítulo 0)

 Prince, S.J.D. (2024). Understanding Deep Learning. (Capítulo 1)

 Goodfellow, I., Bengio, Y., Courville, A. (2016). Deep Learning. (Capítulos 1 y 5)

También podría gustarte