Académique Documents
Professionnel Documents
Culture Documents
Facultad de Ingeniería
Inteligencia Artificial
Redes Neuronales
Andres Rodrigues
Jose Garcia
Manuel Jimenez
Las redes neuronales (también conocidas como sistemas conexionistas) son un modelo
computacional basado en un gran conjunto de unidades neuronales simples (neuronas
artificiales), de forma aproximadamente análoga al comportamiento observado en los axones
de las neuronas en los cerebros biológicos. Cada unidad neuronal está conectada con muchas
otras y los enlaces entre ellas pueden incrementar o inhibir el estado de activación de las
neuronas adyacentes. Cada unidad neuronal, de forma individual, opera empleando funciones
de suma. Puede existir una función limitadora o umbral en cada conexión y en la propia unidad,
de tal modo que la señal debe sobrepasar un límite antes de propagarse a otra neurona. Estos
sistemas aprenden y se forman a sí mismos, en lugar de ser programados de forma explícita, y
sobresalen en áreas donde la detección de soluciones o características es difícil de expresar con
la programación convencional.
Las Redes Neuronales son una base importante para el desarrollo de la Inteligencia
artificial. Son inspiradas en el comportamiento de las neuronas y conexiones del cerebro
humano tratando de crear un programa, sistema o máquina que sea capaz de solucionar
problemas difíciles, actuar de forma humana, y realizar trabajos pesados mediante técnicas
algorítmicas convencionales.
• Aprendizaje adaptativo.
Como las redes neuronales pueden aprender a diferenciar patrones mediante ejemplos
y entrenamientos, no es necesario elaborar modelos a priori ni necesidad de especificar
funciones de distribución de probabilidad.
Las redes neuronales son sistemas dinámicos autoadaptativos. Son adaptables debido a
la capacidad de autoajuste de los elementos procesales (neuronas) que componen el sistema.
Son dinámicos, pues son capaces de estar constantemente cambiando para adaptarse a las
nuevas condiciones.
• Tolerancia a fallos.
Las redes neuronales fueron los primeros métodos computacionales con la capacidad
inherente de tolerancia a fallos. Comparados con los sistemas computacionales tradicionales,
los cuales pierden su funcionalidad cuando sufren un pequeño error de memoria, en las redes
neuronales, si se produce un fallo en un número no muy grande de neuronas y aunque el
comportamiento del sistema se ve influenciado, no sufre una caída repentina.
La razón por la que las redes neuronales son tolerantes a los fallos es que tienen su
información distribuida en las conexiones entre neuronas, existiendo cierto grado de
redundancia en este tipo de almacenamiento. La mayoría de los ordenadores algorítmicos y
sistemas de recuperación de datos almacenan cada pieza de información en un espacio único,
localizado y direccionable. En cambio, las redes neuronales almacenan información no
localizada. Por lo tanto, la mayoría de las interconexiones entre los nodos de la red tendrán sus
valores en función de los estímulos recibidos, y se generará un patrón de salida que represente
la información almacenada.
Una red individual puede ser entrenada para desarrollar una única y bien definida tarea
(tareas complejas, que hagan múltiples selecciones de patrones, requerirán sistemas de redes
interconectadas). Con las herramientas computacionales existentes (no del tipo PC), una red
puede ser rápidamente entrenada, comprobada, verificada y trasladada a una implementación
hardware de bajo coste. Por lo tanto, no se presentan dificultades para la inserción de redes
neuronales en aplicaciones específicas, por ejemplo, de control, dentro de los sistemas
existentes. De esta manera, las redes neuronales se pueden utilizar para mejorar sistemas en
forma incremental y cada paso puede ser evaluado antes de acometer un desarrollo más amplio.
Para entender el potencial de la computación neuronal, sería necesario hacer una breve
distinción entre sistemas de computación neuronales y digitales: los sistemas neurológicos no
aplican principios de circuitos lógicos o digitales.
La misma está constituida por neuronas interconectadas y arregladas en tres capas (esto
último puede variar). Los datos ingresan por medio de la “capa de entrada”, pasan a través de
la “capa oculta” y salen por la “capa de salida”. Cabe mencionar que la capa oculta puede estar
constituida por varias capas.
Tanto las neuronas articiales y las biológicas tienen similitudes, como lo son entradas,
pesos y generan salidas. Sería algo:
La neurona trata a muchos valores de entrada como si fueran uno solo; esto recibe el
nombre de entrada global. Por lo tanto, ahora nos enfrentamos al problema de cómo se pueden
combinar estas simples entradas (ini1, ini2, ...) dentro de la entrada global, gini. Esto se logra a
través de la función de entrada, la cual se calcula a partir del vector entrada. La función de
entrada puede describirse como:
En la imagen anterior, se puede observar a una neurona con dos entradas y una salida.
La nomenclatura utilizada es: ini1 = entrada número 1 a la neurona Ni; wi1 = peso
correspondiente a ini1; ini2 = entrada número 2 a la neurona Ni; wi2 = peso correspondiente a
ini2; y outi = salida de la neurona Ni. El conjunto de todas las n entradas ini = (ini1, ini2, ..., inin)
es comúnmente llamado “vector entrada”.
o Función de activación
Una neurona biológica puede estar activa (excitada) o inactiva (no excitada); es decir,
que tiene un “estado de activación”. Las neuronas artificiales también tienen diferentes estados
de activación; algunas de ellas solamente dos, al igual que las biológicas, pero otras pueden
tomar cualquier valor dentro de un conjunto determinado.
La función activación, es una función de la entrada global (gini) menos el umbral (Θi).
Las funciones de activación más comúnmente utilizadas se detallan a continuación:
1) Función lineal:
−1 𝑥 ≤ −1/𝑎
𝑓(𝑥) { 𝑎 ∗ 𝑥 − 1/𝑎 < 𝑥 < 1/𝑎
1 𝑥 ≥ 1/𝑎
con x = gini - Θi, y a > 0.
2) Función sigmoidea:
1
𝑓(𝑥) = , 𝑐𝑜𝑛 𝑥 = 𝑔𝑖𝑛𝑖 − 𝜃𝑖
1 + 𝑒 −8𝑥
Los valores de salida que proporciona esta
función están comprendidos dentro de un rango
que va de 0 a 1. Al modificar el valor de g se ve
afectada la pendiente de la función de
activación.
𝑒 8𝑥 − 𝑒 −8𝑥
𝑓(𝑥) = , 𝑐𝑜𝑛 𝑥 = 𝑔𝑖𝑛𝑖 − 𝜃𝑖
𝑒 8𝑥 − 𝑒 −8𝑥
Los valores de salida de la función tangente
hiperbólica están comprendidos dentro de un
rango que va de -1 a 1. Al modificar el valor de
g se ve afectada la pendiente de la función de
activación.
1) Ninguna: este es el tipo de función más sencillo, tal que la salida es la misma que
la entrada. Es también llamada función identidad.
1 𝑠𝑖 𝑎𝑐𝑡𝑖 ≥𝜉𝑖
2) Binaria: { 𝑑𝑒 𝑙𝑜 𝑐𝑜𝑛𝑡𝑟𝑎𝑟𝑖𝑜
, 𝑑𝑜𝑛𝑑𝑒 𝜉𝑖 𝑒𝑠 𝑒𝑙 𝑢𝑚𝑏𝑟𝑎𝑙
0
• Redes monocapas:
En las redes monocapa, se establecen conexiones entre las neuronas que
pertenecen a la única capa que constituye la red. Las redes monocapas se
utilizan generalmente en tareas relacionadas con lo que se conoce como
autoasociación (regenerar información de entrada que se presenta a la red de
forma incompleta o distorsionada).
• Redes multicapas:
Las redes multicapas son aquellas que disponen de un conjunto de neuronas
agrupadas en varios (2, 3, etc.) niveles o capas. En estos casos, una forma para
distinguir la capa a la que pertenece una neurona, consistiría en fijarse en el
origen de las señales que recibe a la entrada y el destino de la señal de salida.
Normalmente, todas las neuronas de una capa reciben señales de entrada desde
otra capa anterior (la cual está más cerca a la entrada de la red), y envían señales
de salida a una capa posterior (que está más cerca a la salida de la red). A estas
conexiones se las denomina conexiones hacia adelante o feedforward.
Sin embargo, en un gran número de estas redes también existe la posibilidad de
conectar la salida de las neuronas de capas posteriores a la entrada de capas
anteriores; a estas conexiones se las denomina conexiones hacia atrás o
feedback.
Estas dos posibilidades permiten distinguir entre dos tipos de redes con
múltiples capas: las redes con conexiones hacia adelante o redes feedforward,
y las redes que disponen de conexiones tanto hacia adelante como hacia atrás
o redes feedforward/feedback.
Conexión entre neuronas:
La conectividad entre los nodos de una red neuronal está relacionada con la forma en
que las salidas de las neuronas están canalizadas para convertirse en entradas de otras
neuronas. La señal de salida de un nodo puede ser una entrada de otro elemento de proceso, o
incluso ser una entrada de sí mismo (conexión autorrecurrente). Cuando ninguna salida de las
neuronas es entrada de neuronas del mismo nivel o de niveles precedentes, la red se describe
como de conexión hacia delante. Cuando las salidas pueden ser conectadas como entradas de
neuronas de niveles previos o del mismo nivel, incluyéndose ellas mismas, la red es de conexión
hacia atrás.
Las redes de propagación hacia atrás que tienen lazos cerrados son llamadas: sistemas
recurrentes.
Perceptrones:
• Simple:
El modelo biológico más simple de un perceptrón es una neurona y viceversa.
Es decir, el modelo matemático más simple de una neurona es un perceptrón.
La neurona es una célula especializada y caracterizada por poseer una cantidad
indefinida de canales de entrada llamados dendritas y un canal de salida llamado
axón. Las dendritas operan como sensores que recogen información de la región
donde se hallan y la derivan hacia el cuerpo de la neurona que reacciona
mediante una sinapsis que envía una respuesta hacia el cerebro, esto en el caso
de los seres vivos.
1 𝑠𝑖 𝑤 ∗ 𝑥 − 𝑢 > 0
𝑓(𝑥) = {
0 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
Donde w es un vector de pesos reales y w*x es el producto escalar (que computa
una suma ponderada). u es el “umbral”, el cual representa el grado de inhibición
de la neurona, es un término constante que no depende del valor que tome la
entrada.
• Adeline:
Generalmente se compone de una sola capa de n neuronas (por tanto n valores
de salida ) con m entradas con las siguientes características:
• Multicapa:
El perceptrón multicapa es una red neuronal artificial (RNA) formada por
múltiples capas, esto le permite resolver problemas que no son linealmente
separables, lo cual es la principal limitación del perceptrón (también llamado
perceptrón simple). El perceptrón multicapa puede ser totalmente o localmente
conectado. En el primer caso cada salida de una neurona de la capa "i" es
entrada de todas las neuronas de la capa "i+1", mientras que en el segundo cada
neurona de la capa "i" es entrada de una serie de neuronas (región) de la capa
"i+1".
Compuerta OR
Tabla de verdad:
Input Output
A B A OR B
0 0 0
Donde Q = A + B 0 1 1
1 0 1
1 1 1
Del análisis de las tablas de verdad se concluye que la compuerta OR, tendrá siempre en su salida
un “0” lógico cuando todas sus entradas sean “0” lógico, sin importar cuantas entradas tenga la
compuerta. En los demás casos la salida será un “1” lógico.