Las redes neuronales artificiales RNA buscan imitar el comportamiento de las redes neuronales de las personas, y aplicarlas en las computadoras, esta presentación es una introducción a esta rama de la Inteligencia Artificial que cada dia toma mas importancia en el desarrollo de computadores de 6ta generación
1. República Bolivariana de Venezuela
M. P. P. para la Educación Universitaria, Ciencia y Tecnología
I. U. P. “Santiago Mariño”
Cátedra: Electiva IV – Inteligencia Artificial
Elaborado por:
Luis Lozano CI 22.840.519 – Ingeniería de Sistemas - Barcelona
Junio - 2021
Redes
Neuronales
2. “El construir una computadora que sea capaz de aprender, y de
entender el significado de las formas en imágenes visuales, o incluso
distinguir entre distintas clases de objetos similares son parte de la
problemática a la que se enfrentan los que diseñan computadoras, los
ingenieros y los Programadores [Freeman & Skapura, 1991]”.
Para una computadora el reconocer imágenes aún muy diferentes,
es una tarea sumamente difícil, lo que en el caso de los humanos es
algo relativamente sencillo. Esto se debe a que los sistemas biológicos
poseen una arquitectura distinta (paralelismo masivo) a la de una
computadora moderna.
Podemos definir a una Red Neuronal Artificial (RNA en
adelante) como modelos matemáticos inspirados en sistemas
biológicos, adaptados y simulados en computadoras
convencionales [Lara, 1998]
3. ¿Qué son las redes Neuronales?
Las redes neuronales artificiales están basadas en el
funcionamiento de las redes de neuronas biológicas. Las neuronas
que todos tenemos en nuestro cerebro están compuestas de
dendritas, el soma y el axón: Las dendritas se encargan de captar
los impulsos nerviosos que emiten otras neuronas. Estos impulsos,
se procesan en el soma y se transmiten a través del axón que emite
un impulso nervioso hacia las neuronas contiguas.
¿Qué es una red Neuronal Artificial?
En el caso de las neuronas artificiales, la suma de las entradas
multiplicadas por sus pesos asociados que determina el “impulso
nervioso” que recibe la neurona. Este valor, se procesa en el
interior de la célula mediante una función de activación que
devuelve un valor que se envía como salida de la neurona.
Del mismo modo que nuestro cerebro está compuesto por
neuronas interconectadas entre sí, una red neuronal artificial está
conectadas entre sí y agrupadas en diferentes niveles que
denominamos capas:
4. ¿Qué es un perceptrón?
Es un clasificador binario de modelo lineal con una relación de
entrada-salida simple como en el que se realiza un producto
escalar de un n número de entradas con sus pesos asociados y
luego enviamos esta “entrada de red” a una función de paso con un
umbral definido.
Funciones de activación en Redes Neuronales
La función de activación recibe un valor de entrada y se
encarga de devolver una salida que corresponde a la decisión o el
peso determinado a partir de la entrada. Habitualmente los valores
de salida están normalizados en rangos entre [0,1] o [-1,1]
5. Cuales son las funciones de activación para la redes neuronales Artificiales
Las funciones de activación nos permitirán reducir la complejidad de cómputo y evaluar el rango resultante en
valores más manejables. Veamos primeramente que pasaría si no la utilizáramos.
Función lineal
Para cada valor de la función en x (es decir, f(x)) obtenemos un
valor x. Es lo mismo que decir x = y, ¿Y esto que implica? Que
para cada valor de entrada voy a obtener el mismo valor de salida.
Sin importar cuan grande o chico sea. Veamos la grafica:
Función Sigmoide
La función sigmoide lleva todos nuestros valores entre (0, 1). Por
lo tanto, se usa especialmente para modelos en los que tenemos que
predecir la probabilidad de algo, ya que utilizamos 0 como 0% y 1
como 100%. La función es diferenciable, es decir, podemos
encontrar la pendiente de la curva sigmoidea en dos puntos
cualesquiera.
6. Función tangencial Hiperbolica (tanh)
A diferencia de la función de activación sigmoide el rango de la
función tanh es de (-1, 1). A este tipo de funciones (tanto a la
sigmoide como a la tanh) también se las denomina sigmoideas y se
pueden identificar rápidamente por su forma de S.
Función Relu
La ReLU es la función de activación más utilizada en el mundo
en estos momentos, ya que se utiliza en casi todas las redes
neuronales convolucionales o de deep learning.
Función Relu
La ReLU es la función de activación más utilizada en el mundo
en estos momentos, ya que se utiliza en casi todas las redes
neuronales convolucionales o de deep learning. La función lineal
f(x) = x nos resultaba de poca ayuda. ¿Cuál es la diferencia en la
ReLU? La clave está en que todos los valores negativos se vuelven
cero, y eso significa que cualquier entrada negativa dada a la
función de activación de ReLU convierte el valor en cero
inmediatamente.
7. ¿Son todas la funciones?
Existen otras funciones de activación como la binaria, la Sofmax, maxout, ELU, Prelu, softplus entre otras.
Todas estas funciones no lineales nos facilitan la generalización o adaptación del modelo con una gran
variedad de datos y permiten diferenciar entre los resultados.
Tener la representación gráfica y en consideración su dominio, rango y si las funciones o sus derivadas son
monótonas nos permiten elegir mejor a la hora de construir nuestra red.
Una neurona artificial se
representa del siguiente modo :
En el caso de las neuronas artificiales, la suma de las entradas multiplicadas por sus pesos asociados determina el
“impulso nervioso” que recibe la neurona. Este valor, se procesa en el interior de la célula mediante una función de
activación que devuelve un valor que se envía como salida de la neurona.
Del mismo modo que nuestro cerebro está compuesto por neuronas interconectadas entre sí, una red neuronal
artificial está formada por neuronas artificiales conectadas entre sí y agrupadas en diferentes niveles que denominamos
capas:
8. ¿Qué es una capa?
Una capa es un conjunto de neuronas cuyas entradas provienen de una capa anterior (o de los datos de
entrada en el caso de la primera capa) y cuyas salidas son la entrada de una capa posterior.»
Las neuronas de la primera capa reciben como entrada los datos reales que alimentan a la red
neuronal. Es por eso por lo que la primera capa se conoce como capa de entrada. La salida de la última
capa es el resultado visible de la red, por lo que la última capa se conoce como la capa de salida. Las capas
que se sitúan entre la capa de entrada y la capa de salida se conocen como capas ocultas ya que
desconocemos tanto los valores de entrada como los de salida.
Capa de entrada Capa de Salida
Capas Ocultas
9. ¿Cómo se clasifican las redes Neuronales Artificiales?
La topología o arquitectura de una red consiste en la organización y disposición de las neuronas en la red. Las
neuronas se agrupan formando capas, que pueden tener muy distintas características
Donde podemos ver que las neuronas se agrupan para formar capas y las capas se unen entre ellas formando
redes neuronales.
10. ¿Cómo aprenden las neuronas?
Entrenar una red neuronal consiste en ajustar cada uno de los pesos de las entradas de todas las neuronas que
forman parte de la red neuronal, para que las respuestas de la capa de salida se ajusten lo más posible a los datos que
conocemos.
Por ejemplo. Si queremos conseguir que la red neuronal sea capaz de generalizar e identificar gatos en cualquier
imagen, es importante utilizar un elevado número de imágenes para realizar el entrenamiento, tanto de imágenes que
son gatos (etiquetadas como 1) como de imágenes que no son gatos (etiquetadas como 0), incluyendo la mayor
variabilidad posible. Con esto, la red será capaz de ajustar sus parámetros para satisfacer en la medida de lo posible
todas las imágenes, por lo que será capaz de extraer de manera precisa las características que identifican la presencia de
un gato en una imagen.
11. Ventajas más importantes de la RNA
Las redes neuronales artificiales poseen características similares a las del cerebro, logran aprender de la
experiencia, son capaces de generalizar de casos anteriores a nuevos casos, abstraen características esenciales a
partir de entradas con información irrelevante.
Aprendizaje: Una red neuronal es capaz de aprender, esto se da a partir de un conjunto de datos de entrada
que se representa mediante un entrenamiento o experiencia inicial
Auto Organización: Una red neuronal puede tener su propia representación de la información en su interior.
Tolerancia a fallos. Una RNA es muy robusta, pues a pesar de estar dañada parcialmente puede seguir
respondiendo de forma aceptable.
Flexibilidad. Cuando los datos de entrada en una red presentan cambio no muy significativos como ruido, la
RNA puede manejarlo adecuadamente.
Tiempo real: La respuesta de una red puede darse en tiempo real, debido a que la estructura es en paralelo.
Cuando se implementa en dispositivos electrónicos como en una computadora.
12. Desventajas de una red Neuronal
Dentro de las ventajas que proporcionas las RNA existen desventajas las cuales en su mayoría son superables.
Complejidad de aprendizaje para grandes tareas: Cuando un red neuronal tiene que realizar muchas tareas,
también tiene que aprender a realizarlas, entonces enseñarle a una red es un trabajo muy complicado.
Tiempo de aprendizaje elevado: Cuando una RNA tiene que reconocer o clasificar mayor cantidad de
patrones similares, se tiene que invertir más tiempo en lograr unos pesos adecuados que lo representen.
No permite interpretaciones: La salida de la red es únicamente un numero que no puede ser interpretado por
el misma, depende de la aplicación y del programador darle un significado a dicho valor.
Elevada cantidad de datos para entrenamiento: Cuando se desea que una red aprenda de forma correcta a
identificar patrones, se debe enseñar mayor cantidad de información esto implica varias horas de consumo de
CPU.