0% encontró este documento útil (0 votos)
103 vistas13 páginas

Redes Neuronales en Inteligencia Artificial

Este documento presenta información sobre redes neuronales artificiales. Describe los diferentes tipos de modelos neuronales, algoritmos, y elementos clave de las redes neuronales como las entradas, salidas, pesos, funciones de activación y conexiones. Explica los pasos para construir modelos de redes neuronales, incluyendo la obtención de datos, preprocesamiento, diseño de la red y validación del modelo.
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
103 vistas13 páginas

Redes Neuronales en Inteligencia Artificial

Este documento presenta información sobre redes neuronales artificiales. Describe los diferentes tipos de modelos neuronales, algoritmos, y elementos clave de las redes neuronales como las entradas, salidas, pesos, funciones de activación y conexiones. Explica los pasos para construir modelos de redes neuronales, incluyendo la obtención de datos, preprocesamiento, diseño de la red y validación del modelo.
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 DOCX, PDF, TXT o lee en línea desde Scribd

Instituto Tecnológico de La

Laguna
Maestría en Ciencias en Ingeniería Eléctrica Instrumentación
Electrónica

Inteligencia Artificial

Redes Neuronales Artificiales

Asesor: Dr. Martin Vázquez Rueda

Alumno: Jesús Octavio Olivares González

Numero de Control: M2213007


Introducción
Conseguir diseñar y construir máquinas capaces de realizar procesos con cierta
inteligencia ha sido uno de los principales objetivos de los científicos a lo largo de la
historia. De los intentos realizados en este sentido se han llegado a definir las líneas
fundamentales para la obtención de máquinas inteligentes: En un principio los
esfuerzos estuvieron dirigidos a la obtención de autómatas, en el sentido de
máquinas que realizaran, con más o menos éxito, alguna función típica de los seres
humanos.
Hoy en día se continúa estudiando en ésta misma línea, con resultados
sorprendentes, existen maneras de realizar procesos similares a los inteligentes y que
podemos encuadrar dentro de la llamada Inteligencia Artificial (IA).
A pesar de disponer de herramientas y lenguajes de programación diseñados
expresamente para el desarrollo de máquinas inteligentes, existe un enorme
problema que limita los resultados que se pueden obtener: estas máquinas se
implementan sobre computadoras basadas en la filosofía de Von Neumann, y que se
apoyan en una descripción secuencial del proceso de tratamiento de la información.
Si bien el desarrollo de estas computadoras es espectacular, no deja de seguir la
línea antes expuesta: una máquina que es capaz de realizar tareas mecánicas de
forma increíblemente rápida, como por ejemplo cálculo, ordenación o control, pero
incapaz de obtener resultados aceptables cuando se trata de tareas como
reconocimiento de formas, voz, entre otros.
La otra línea de la investigación ha tratado de aplicar principios físicos que rigen en
la naturaleza para obtener máquinas que realicen trabajos pesados en nuestro lugar.
De igual manera se puede pensar respecto a la forma y capacidad de razonamiento
humano; se puede intentar obtener máquinas con esta capacidad basadas en el
mismo principio de funcionamiento. No se trata de construir máquinas que compitan
con los seres humanos, sino que realicen ciertas tareas de rango intelectual con que
ayudarle, principio básico de la Inteligencia Artificial [1].

Modelos Neuronales
¿En qué se diferencian unas redes neuronales de otras?
En primer lugar, hay que distinguir entre modelos neuronales -la forma- y
algoritmos neuronales -cómo aprenden-.
Las redes neuronales son modelos matemáticos que intentan reproducir el
comportamiento del cerebro humano. El principal objetivo de este modelo es la
construcción de sistemas capaces de presentar un cierto comportamiento inteligente.
Esto implica la capacidad de aprender a realizar una determinada tarea.
Se suelen representar mediante grafos, llamados en este contexto neuronas
artificiales. Cada neurona realiza una función matemática.
Las neuronas se agrupan en capas, constituyendo una red neuronal. Una
determinada red neuronal está confeccionada y entrenada para llevar a cabo una
labor específica.
Finalmente, una o varias redes, más los interfaces con el entorno, conforman el
sistema global.
Los modelos neuronales se diferencian en la función que incorpora la neurona, su
organización y forma de las conexiones [1][2].

Algoritmos
Los modelos neuronales utilizan varios algoritmos de estimación, aprendizaje o
entrenamiento para encontrar los valores de los parámetros del modelo (pesos
sinápticos) [2].

Construcción de Modelos
Pasos
1. Obtención de la Base de Datos: Reunir los datos de entrenamiento y de
Prueba
2. Preprocesamiento de los datos: Datos aislados, datos incompletos y
extracción de las características.
3. Diseño de la Red Neuronal: Definición de la arquitectura de la Red y
Definición de entrenamiento.
4. Validación del modelo neuronal
5. Utilización real del sistema

Elementos
Una red neuronal está compuesta de tres partes:
1. Entrada
2. Núcleo
3. Salidas.
Fig. 1.- Modelo de una red neuronal artificial

Entradas
Las entradas y salidas de una neurona pueden ser clasificadas en dos grandes
grupos:
1. Binarias: Admiten dos valores posibles: En general en este tipo de neurona se
utilizan los siguientes dos alfabetos {0,1} o {-1,1}.
2. Continuas: Admiten valores dentro de un determinado rango, que en general
suele definirse como [-1, 1].
La selección del tipo de neurona a utilizar depende de la aplicación y del modelo a
construir [2].

Pesos
El peso sináptico w ij define la fuerza de una conexión sináptica entre dos neuronas,
la neurona presináptica i y la neurona postsináptica j .
Los pesos sinápticos pueden tomar valores positivos, negativos o cero. En caso de
una entrada positiva, un peso positivo actúa como excitador, mientras que un peso
negativo actúa como inhibidor.
En caso de que el peso sea cero, no existe comunicación entre el par de neuronas.
Mediante el ajuste de los pesos sinápticos la red es capaz de adaptarse cualquier
entorno y realizar una determinada tarea [2].

Regla de propagación
La regla de propagación determina el potencial resultante de la interacción de la
neurona i con las N neuronas vecinas. La regla de propagación más simple y
utilizada consiste en realizar una suma de las entradas ponderadas con sus pesos
correspondientes [2]:
N=1
net i (t )= ∑ wij∗x j (t )
j=1

Activación
La función de activación determina el estado de activación actual de la neurona en
base al potencial resultante net i (t) y al estado de activación anterior de la neurona
a i ( t−1 ).

El estado de activación de la neurona para un determinado instante de tiempo t


puede ser expresado de la siguiente manera:
a i ( t )=f (ai ( t−1 ) ,net i ( t ) )

Sin embargo, en la mayoría de los modelos se suele ignorar el estado anterior de la


neurona, definiéndose el estado de activación en función del potencial resultante hi :
a i ( t )=f (net i ( t ))

Algunas de las funciones de activación más utilizadas en los distintos modelos de


redes neuronales son:

Todas las neuronas que componen la red se hallan en cierto estado.


Podemos decir que hay dos posibles estados, reposo y excitado, a los que
denominaremos estados de activación y a cada uno de los cuales se le asigna un
valor.
Los valores de activación pueden ser:
1. Continuos
2. Discretos: Valores binarios.
3. En notación binaria, un estado activo se indicaría por un 1, y se caracteriza por
la emisión de un impulso por parte de la neurona (potencial de acción), mientras
que un estado pasivo se indicaría por un 0.
Además, pueden ser limitados o ilimitados.
En otros modelos se considera un conjunto continuo de estados de activación, en
cuyo caso se asigna un valor entre [0,1] o en el intervalo [-1,1], generalmente
siguiendo una función sigmoidal. La señal que envía cada una de las neuronas a sus
vecinas dependerá de su propio estado de activación [2] [3].

Salida
La función de salida proporciona el valor de salida de la neurona, en base al estado
de activación de la neurona. Es decir:
y i ( t )=f ( net i ( t ) )

Existen cuatro funciones de transferencia típicas que determinan distintos tipos de


neuronas:
1. Función Escalón: Asocia a neuronas binarias en las cuales cuando la suma
de las entradas es mayor o igual que el umbral de la neurona, la activación es
1, si es menor, la activación es 0 (o –1). Las redes formadas por este tipo de
neuronas son fáciles de implementar en hardware, pero sus capacidades están
limitadas.
2. Función Lineal o Mixta: En las neuronas con función mixta si la suma de
las señales de entrada es menor que un límite inferior, la activación se define
como 0 (ó –1). Si dicha suma es mayor o igual que el límite superior,
entonces la activación es 1. Si la suma de entrada está comprendida entre
ambos límites, la activación se define como una función lineal de suma de las
señales de entrada.
3. Función Sigmoidal: La importancia de esta función es que su derivada es
siempre positiva y cercana a cero para los valores grandes positivos o
negativos; además toma su valor máximo cuando x es cero. Esto hace que se
puedan utilizar las reglas de aprendizaje definidas para la función escalón,
con la ventaja respecto a esta función, que la derivada está definida para todo
el intervalo.
4. Función de transferencia gaussiana: Los centros y anchura de estas
funciones pueden ser adaptados, lo cual las hace más adaptativas que las
funciones sigmoidales [2][3].

Formas de 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 de sí mismo (conexión auto – recurrente).
Cuando ninguna salida de las neuronas es entrada de neuronas del mismo nivel o de
niveles precedentes, la red se describe como propagación hacia delante.
Cuando las salidas pueden estar conectadas como entradas de neuronas de niveles
previos o del mismo nivel, incluyéndose ellas mismas, la red es de propagación
hacia atrás. Las redes de propagación hacia atrás que tiene lazos cerrados son
sistemas recurrentes [2][3].

Fig. 2. Tipos de Conexión neuronales.


Características
Topología
Consiste en la organización y disposición de las neuronas en la red formando capas
o agrupaciones de neuronas.
1. Redes Monocapa: Se establecen conexiones laterales entre las neuronas que
pertenecen a la única capa que constituye la red.
Ejemplos de redes de este tipo son la RED HOPPFIELD. Las redes
monocapa se utilizan típicamente en tareas relacionadas con lo que se conoce
como auto – asociación; es decir, para regenerar informaciones de entrada
que se presenta como incompleta o distorsionada.
2. Redes Multicapa: Disponen las neuronas agrupadas en varios niveles. Dado
que este tipo de redes disponen de varias capas, las conexiones entre
neuronas pueden ser como las antes mencionadas (Propagación hacia
enfrente o hacia atrás) [4].

Mecanismo de Aprendizaje
El aprendizaje es el proceso por el cual una red neuronal modifica sus pesos en
respuesta a una información de entrada. Podemos considerar que el proceso de
aprendizaje ha terminado cuando los valores de los pesos permanecen estables. Un
aspecto importante es determinar los criterios de la regla de aprendizaje; cómo se
van a modificar los pesos. De forma general se consideran dos tipos de reglas:
1. Aprendizaje Supervisado: Se realiza mediante un entrenamiento controlado
por un agente externo (supervisor, maestro) que determina la respuesta que
debería generar la red a partir de una entrada determinada. El supervisor
comprueba la salida generada por el sistema y en el caso de que no coincida
con la esperada, se procederá a modificar los pesos de las conexiones.
Se distingue de tres formas de llevarlo a cabo:

1.1. Aprendizaje por corrección de error.


Consiste en ajustar los pesos de las conexiones de la red en función de
la diferencia entre los valores deseados y los obtenidos en la salida.
1.2. Aprendizaje por refuerzo.
Se basa en la idea de no disponer de un ejemplo completo del
comportamiento deseado; es decir, de no indicar durante el
entrenamiento la salida exacta que se desea que proporcione la red
ante una determinada entrada. Aquí la función del supervisor se reduce
a indicar mediante una señal de refuerzo si la salida obtenida en la red
se ajusta a la deseada (éxito = +1 o fracaso = -1) y en función de ello
se ajustan los pesos basándose en un mecanismo de probabilidades.
1.3. Aprendizaje estocástico.
Consiste básicamente en realizar cambios aleatorios en los valores de
los pesos y evaluar su efecto a partir del objetivo deseado y de
distribuciones de probabilidad.
2. Aprendizaje no Supervisado: No requieren de influencia externa para
ajustar los pesos de las conexiones entre sus neuronas.
La red no recibe ninguna información por parte del entorno que le indique si
la salida generada en respuesta a una determinada entrada es o no correcta;
son capaces de auto organizarse. Estas redes deben encontrar las
características, regularidades, correlaciones o categorías que se pueden
establecer entre los datos de la entrada.
Pero, ¿Qué genera la red en la salida?
Existen varias posibilidades en cuanto a interpretación:
 La salida representa el grado de familiaridad o similitud entre la
información de entrada y la información mostrada con anterioridad.
 Clusterización o establecimiento de categorías, indicando la red a la
salida a qué categoría pertenece la información de entrada, siendo la
propia red la que debe establecer las correlaciones oportunas.
 Codificación de los datos de entrada, generando a la salida una
versión codificada con menos bits, pero manteniendo la información
relevante de los datos.
 Mapeo de características, obteniéndose una disposición geométrica
que representa un mapa topográfico de las características de los datos
de entrada.
Los algoritmos de aprendizaje no supervisado suelen ser de dos tipos:
2.1. Aprendizaje Hebbiano: Mide la familiaridad o extracción de
características de los datos de entrada. Este aprendizaje consiste
básicamente en el ajuste de los pesos de las conexiones de acuerdo con
la correlación de los valores de activación (salidas) de las dos neuronas
conectadas:
Incr (w¿¿ ij)= y i y j ¿

Si las dos unidades son activas (salida positiva), se produce un


reforzamiento de la conexión.
Si por el contrario, una es activa y la otra pasiva (salida negativa), se
produce un debilitamiento de la conexión.
Por tanto, la modificación de los pesos se realiza en función de los
estados (salidas) de las neuronas, obtenidos tras la presentación de
cierto estímulo (información de entrada), sin tener en cuenta si se
deseaba obtener o no esos estados de activación.
2.2. Aprendizaje competitivo y cooperativo: Las neuronas compiten unas
con otras con el fin de llevar a cabo una tarea dada.
Se pretende que cuando se presente a la red cierta información, sólo
una o un grupo de ellas se activen.
Por tanto, las neuronas compiten por activarse, quedando las
perdedoras a sus valores de respuesta mínimos.
La conexión entre neuronas se realiza en todas las capas de la red,
existiendo en estas neuronas conexiones recurrentes de autoexcitación
y conexiones de inhibición (signo negativo) por parte de neuronas
vecinas.
El objetivo de este aprendizaje es categorizar (clustering) los datos que
se introducen en la red. De esta forma, la información es clasificada
formando parte de la misma categoría, activando por tanto la misma
neurona de salida.
La variación del peso de una conexión entre una unidad i y otra j será
nula si la neurona j no recibe excitación por parte de la neurona i y se
modificará si es excitada por dicha neurona i [4][5].

Tipo de asociación entre la información de entrada y salida


Las redes neuronales son sistemas que almacenan cierta información aprendida; esta
se registra de forma distribuida en los pesos asociados a las conexiones entre
neuronas.
Hay que establecer cierta relación o asociación entre la información presentada a la
red y la salida ofrecida por esta. Es lo que se conoce como memoria asociativa.
Existen dos formas primarias de realizar esta asociación entrada/salida y que
generan dos tipos de redes:
1. Redes Hetero – asociativas: La red aprende parejas de datos
[ ( A 1 , B1 ) , ( A 2 , B2 ) … ( An , B n ) ], de tal forma que cuando se le presente
determinada información de entrada Ai responda con la salida
correspondiente Bi.
Al asociar información de entrada con la información de salida, precisan al
menos de 2 capas, una para captar y retener la información de entrada y otra
para mantener la salida con la información asociada.
Si esto no fuese así se perdería la información inicial al obtenerse la salida
asociada; es necesario mantener la información de entrada puesto que puede
ser necesario acceder varias veces a ella, por lo que debe permanecer en la
capa de entrada. El aprendizaje de este tipo de redes puede ser con
supervisión.
2. Redes Auto – asociativas: La red aprende cierta información A1 , A 2 … A n
de forma que cuando se le presenta una información de entrada realizará una
autocorrelación, respondiendo con uno de los datos almacenados, el más
parecido al de entrada. Este tipo de redes pueden implementarse con una sola
capa de neuronas.
El tipo de aprendizaje utilizado habitualmente es el no supervisado y suelen
utilizarse en tareas de filtrado de información para la reconstrucción de datos,
eliminando distorsiones o ruido, explorar relaciones entre informaciones
similares para facilitar la búsqueda por contenido en bases de datos y para
resolver problemas de optimización [5].

Representación de la información de entrada y salida


Redes continuas: En un gran número de redes, tanto los datos de entrada como de
salida son de naturaleza analógica (valores reales continuos y normalmente
normalizados, por lo que su valor absoluto será menor que la unidad). En este caso
las funciones de activación de las neuronas serán también continuas, del tipo lineal o
sigmoidal.
Redes discretas: Por el contrario, otras redes sólo admiten valores discretos [0,1] a
la entrada, generando también en la salida respuestas de tipo binario. La función de
activación en este caso es del tipo escalón.
Redes híbridas: La información de entrada es continua, pero a la salida ofrecen
información binaria [4][5].
Bibliografía
[1] “Redes Neuronales”, class notes for SSC – 1012, Departamento Sistemas
Computacionales, Instituto Tecnologico Nacional de Mexico Campus: Nuevo
Laredo, Otoño 2005.
[2] J.A.T.Barrera, Redes Neuronales, [Online]. Available:
http://www.cucei.udg.mx/sites/default/files/pdf/toral_barrera_jamie_areli.pdf
[3] “Redes Neuronales”, class notes for SSC – 1012, Departamento Sistemas
Computacionales, Instituto Tecnologico Nacional de Mexico Campus: Nuevo
Laredo, Verano 2005.
[4] “Redes Neuronales”, class notes for SSC – 1012, Departamento Sistemas
Computacionales, Instituto Tecnologico Nacional de Mexico Campus: Nuevo
Laredo, Otoño 2003.
[5] Historia de las Redes Neuronales, [Online]. Available:
http://www.itnuevolaredo.edu.mx/takeyas/apuntes/Inteligencia%20Artificial/
Apuntes/tareas_alumnos/RNA/Redes%20Neuronales2.pdf

También podría gustarte