PDF de programación - Tema 4: Introducción a las redes neuronales

Imágen de pdf Tema 4: Introducción a las redes neuronales

Tema 4: Introducción a las redes neuronalesgráfica de visualizaciones

Publicado el 10 de Octubre del 2019
483 visualizaciones desde el 10 de Octubre del 2019
808,4 KB
56 paginas
Creado hace 1a (02/11/2018)
Tema 4: Introducción a las redes neuronales

D. Balbontín Noval
F. J. Martín Mateos

J. L. Ruiz Reina

Dpto. Ciencias de la Computación e Inteligencia Artificial

Universidad de Sevilla

Neuronas artificiales: inspiración biológica

• El aprendizaje en los sistemas biológicos está basado en redes

muy complejas de neuronas interconectadas

• La neurona es una célula que recibe señales

electromagnéticas, provenientes del exterior (10 %), o de otras
neuronas (90 %), a través de las sinapsis de las dendritas

• Si la acumulación de estímulos recibidos supera un cierto

umbral, la neurona se dispara. Esto es, emite a través del axón
una señal que será recibida por otras neuronas, a través de las
conexiones sinápticas de las dendritas

Neuronas artificiales: inspiración biológica

• El aprendizaje en los sistemas biológicos está basado en redes

muy complejas de neuronas interconectadas

• La neurona es una célula que recibe señales

electromagnéticas, provenientes del exterior (10 %), o de otras
neuronas (90 %), a través de las sinapsis de las dendritas

• Si la acumulación de estímulos recibidos supera un cierto

umbral, la neurona se dispara. Esto es, emite a través del axón
una señal que será recibida por otras neuronas, a través de las
conexiones sinápticas de las dendritas

Neuronas artificiales: inspiración biológica

• El área de la conexión sináptica puede potenciar o debilitar la

señal recibida. Las conexiones sinápticas son dinámicas. Con
el desarrollo y el aprendizaje algunas conexiones se potencian,
otras se debilitan

• Cerebro humano: red de neuronas interconectadas

• Aproximadamente 1011 neuronas con 104 conexiones cada una

• Las neuronas son lentas, comparadas con los ordenadores:

10−3 sgs. para activarse/desactivarse

• Sin embargo, los humanos hacen algunas tareas mucho mejor

que los ordenadores (p.ej., en 10−1 segundos uno puede
reconocer visualmente a su madre)

• La clave: paralelismo masivo

Redes Neuronales Artificiales (RNA)

• Modelo matemático basado en una estructura de grafo

dirigido cuyos nodos son neuronas artificiales. Por ejemplo:

Redes Neuronales Artificiales (RNA)

• Modelo matemático basado en una estructura de grafo

dirigido cuyos nodos son neuronas artificiales. Por ejemplo:

Redes Neuronales Artificiales (RNA)

• Modelo matemático basado en una estructura de grafo

dirigido cuyos nodos son neuronas artificiales. Por ejemplo:

Funcionamiento general de una red neuronal

• Cada nodo o unidad (neurona artificial), se conecta a otras
unidades a través de arcos dirigidos (modelando la conexión
axón → dendritas)

• Cada arco j → i sirve para propagar la salida de la unidad j

(notada aj ) que servirá como una de las entradas para la
unidad i. Las entradas y salidas son números

• Cada arco j → i tiene asociado un peso numérico wji que

determina la fuerza y el signo de la conexión (simulando la
sinapsis)

Funcionamiento general de una red neuronal

• Cada unidad calcula su salida en función de las entradas que

recibe

• La salida de cada unidad sirve, a su vez, como una de las

entradas de otras neuronas

• El cálculo que se realiza en cada unidad será muy simple, como

veremos

• La red recibe una serie de entradas externas (unidades de
entrada) y devuelve al exterior la salida de algunas de sus
neuronas, llamadas unidades de salida

Cálculo realizado por cada unidad

• La salida de cada unidad se calcula: ai = g (Pn

j=0 wji aj )

• Donde:

• g es una función de activación

• El sumatorio Pn

j=0 wji aj (notado ini ) se hace sobre todas las

unidades j que envían su salida a la unidad i

• Excepto para j = 0, que se considera una entrada ficticia

a0 = −1 y un peso w0i denominado umbral

Umbral y funciones de activación

• Intuitivamente, el umbral w0i de cada unidad se interpreta

como una cantidad que debe superar la suma de las señales de
entrada que recibe la unidad, para que se active

• La función de activación g tiene el papel de evitar que la red
sea simplemente una función lineal (sumas y multiplicaciones
por escalares). Así se enriquece la expresividad y la red es
capaz de aprender funciones más complejas.

• Funciones de activación más usadas:

si
si

−1

• Función bipolar: sgn(x) = 1
• Función umbral: umbral(x) = 1 si

0 si
• Función ReLU: ReLU(x) = max{0, x}
• Función sigmoide: σ(x) = 1

1+e−x

x > 0
x ≤ 0

x > 0
x ≤ 0

• La función sigmoide es derivable y σ′(x) = σ(x)(1 − σ(x))

Funciones de activación

Función umbral

umbral(x) = 1 si x > 0

0 si x ≤ 0

Función sigmoide

σ(x) = 1

1+e−x

Tangente hiperbólica

tanh(x) = 2

1+e−2x − 1 = 2σ(2x) − 1

ReLU

ReLU(x) = max{0, x}

Redes neuronales hacia adelante

• Cuando el grafo que representa a la red es acíclico, la red se
denomina hacia adelante (las que trataremos en este tema)

Redes neuronales hacia adelante

• Las unidades en una red hacia adelante suelen estructurarse
en capas, tal que cada capa recibe sus entradas de unidades
de la capa inmediatamente anterior

• Capa de entrada, capas ocultas y capa de salida
• Hablamos entonces de redes multicapa

• Otras arquitecturas: redes recurrentes, en la que las unidades

de salida retroalimentan a las de entrada

Redes neuronales como clasificadores

• Una red neuronal hacia adelante con n unidades en la capa de
entrada y m unidades en la capa de salida no es más que una
función de R n en R m

• Por tanto, puede usarse como un clasificador de conjuntos en

R n:

• Para clasificación booleana, tomar m = 1 y:

• Si se tienen funciones de activación umbral o bipolar,

considerar un valor de salida (el 1, por ejemplo) como “SI” y
el otro como “NO”

• Si se usa el sigmoide, considerar un valor de salida por encima

de 0.5 como “SI” y un valor por debajo como “NO”

• En general, para clasificaciones con m posibles valores, cada
unidad de salida corresponde con un valor de clasificación; se
interpreta que la unidad con mayor salida es la que indica el
valor de clasificación

Redes Neuronales y Aprendizaje

• Cuando hablamos de aprendizaje o entrenamiento de redes
neuronales estamos hablando de encontrar los pesos de las
conexiones entre unidades, de manera que la red se comporte
de una determinada manera, descrita por un conjunto de
entrenamiento

• Específicamente, para redes neuronales hacia adelante, es

habitual plantear la siguiente tarea de aprendizaje supervisado

• Dado un conjunto de entrenamiento

D = {( ~xd , ~yd ) : ~xd ∈ R n, ~yd ∈ R m, d = 1, . . . , k}

• Y una red neuronal de la que sólo conocemos su estructura

(capas y número de unidades en cada capa)

• Encontrar un conjunto de pesos wij tal que la función de R n en

R m que la red representa se ajuste lo mejor posible a los
ejemplos del conjunto de entrenamiento

• Tendremos que concretar lo que significa “lo mejor posible”

Aplicaciones prácticas de redes neuronales

• Para problemas que se pueden expresar numéricamente

(discretos o continuos)

• Se suelen utilizar en dominios en los que el volumen de datos

es muy alto, y puede presentar ruido: cámaras, micrófonos,
imágenes digitalizadas, etc

• En los que interesa la solución, pero no el por qué de la misma

• Problemas en los que es asumible que se necesite previamente

un tiempo largo de entrenamiento de la red

• Y en los que se requieren tiempos cortos para evaluar una

nueva instancia

ALVINN

Coche autónomo de 1989

ALVINN

Coche autónomo de 1989

• Una capa de entrada con 1217 neuronas: 30 × 32 (píxeles de

la video cámara); 8 × 32 (laser range finder); 1 (road intensity
feedback).

• 29 neuronas en la capa oculta.

• 46 neuronas en la capa de salida: 45 para codificar la
curvatura del movimiento y 1 road intensity feedback.

x

ALVINN: un ejemplo de aplicación

• RNA entrenada para conducir un vehículo, a 70 Kms/h, en
función de la percepción visual que recibe de unos sensores

• Entrada a la red (simplificación) : La imagen de la carretera

digitalizada como un array de 30 × 32 pixels. Es decir, 960
datos de entrada

• Salida de la red (simplificación): Indicación sobre hacia dónde

torcer el volante, codificada en la forma de un vector de 30
componentes (desde girar totalmente a la izquierda, pasando
por seguir recto, hasta girar totalmente a la derecha)

• Estructura: una red hacia adelante, con una capa de entrada
con 960 unidades, una capa oculta de 4 unidades y una capa
de salida con 30 unidades

ALVINN: un ejemplo de aplicación

• Entrenamiento: mediante un conductor humano, que conduce

el vehículo una y otra y otra vez

• Los sensores de visión registran la imagen que el conductor ve

(secuencias de 960 datos cada una)

• Otros sensores registran simultáneamente las acciones

(movimientos del volante) que éste realiza

• Una vez codificada ambas informaciones adecuadamente,

disponemos de distintos pares (secuencias) de la forma (~x, ~y ),
donde ~x = (x1, x2, . . . , x960) e ~y = (y1, y2, . . . , y30),
constituyen ejemplos de entrada/salida para la red

• Objetivo: encontrar los valores de los pesos wji asociados a

cada arco j → i de la red de tal forma que para cada dato de
entrada ~x, que propaguemos a lo largo de la red el valor
obtenido en la salida coincida con el valor ~y correspondiente
(o se parezca lo más posible)

Ejemplos de aplicaciones prácticas

• Clasificación

• Reconocimiento de patrones

• Optimización

• Predicción: climatológica, de audiencias, etc

• Procesamiento del lenguaje natural
• Interpretación de datos sensoriales del mundo real

• Reconocimiento de voz
• Visión artificial, reconocimiento de imágenes

• Satisfacción de restricciones

• Control, de robots, vehículos, etc

• Compresión de datos

• Diagnosis

Perceptrones

• Empezamos estudiando el caso más simple de red neuronal:

sólo una capa de entrada y una de salida

• Puesto que cada salida es independiente, podemos centrarnos

en una única unidad en la capa de salida

• Este tipo de red se deno
  • Links de descarga
http://lwp-l.com/pdf16696

Comentarios de: Tema 4: Introducción a las redes neuronales (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad