Autor Tema: RNA (Redes Neuronales Artificiales)  (Leído 45400 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: RNA (Redes Neuronales Artificiales)
« Respuesta #15 en: 24 de Mayo de 2005, 12:21:00 »
Pues lo que es funcionar, funciona. Pero ¿dónde está el manual de instrucciones? locolocolocolocolocolocolocolocolocolocolocoloco
Esto no hay quien lo entienda Rebotado

Desconectado Jimmy_pop

  • PIC12
  • **
  • Mensajes: 72
RE: RNA (Redes Neuronales Artificiales)
« Respuesta #16 en: 25 de Mayo de 2005, 12:06:00 »
xDDDD oka oka voy a dar explicaciones (o a tratar de darlas)

La historia es la siguiente:

Se quiere aproximar una función s(x)=(1+cos(2*pi*x))/2 con x e [0,1] con un perceptron multicapa

características del perceptron usado:

* 1 capa oculta de 3 neuronas
* 1 neurona en la capa de entrada (toma como entrada la variable X)
* 1 neurona en la capa de salida (da como salida la aproximación y(x) de s(x))
* La función de activación usada para las neuronas de la capa oculta y la capa de salida es del tipo SIGMOIDAL es decir f(t)=1/(1+exp(-t))
* La función de activación de la capa de entrada es la función identidad f(t)=t

las neuronas funcionan de la siguiente manera: dan como salida (las salidas se llaman "a"Giño la función de activación (f(t)) evaluada en el valor de t igual a la suma de todas las entradas que le llegan multiplicadas por unos coeficientes llamados pesos W sumados a un offset llamado U. Cada neurona tiene una sola salida y múltiples entradas, además de una entrada offset llamada U.

para calcular la salida de la neurona j de la capa n:
an_j = f( sumatorio por i  de {wn-1_ij*an-1_i}+un_j)

los pesos y los offsets como explicaré mas adelante se adaptan siguiendo una regla llamada BACK PROPAGATION.

los subindices van de la siguiente forma:
(puede ser confuso leed con atención)

* salida ai_j : corresponde a la salida de la neurona J de la capa i
* peso wi_jk:  peso aplicado a la salida de la neurona j de la capa i al entrar en la neurona k de la capa i+1
* entrada offset ui_j: entrada de offset de la neurona j de la capa i



el esquema de la red es el siguiente:
.....................................u2_1.....................................u3_1
......................................|.................................................|
.....................................v................................................v
x -->(  )---w1_11----->(  )----w2_11---------------------->(   )-----> y
........... .........................................................................../. /
............ ...................................u2_2............................/. /
............. ..................................|................................../. /
................................................v.............................../. /
..................\__w1_12------->(  )---w2_21-------------/. /
.................. .............................................................../
......................................................u2_3................../
.........................................................|....................../
........................................................v...................../
.........................__w1_13------->(  )---w2_31-----/

juas vaya dibujo, cruzo los dedos para que lo veais bien


para calcular la salida y, se empieza des de la izquierda calculando la salida de las neuronas de la capa oculta (2) y luego tururut la salida de la capa 3 es decir y.

de donde salen los valores de w y u? w y u son los encargados de sintonizar la forma de la salida de la red para aproximar una función, la forma de encontrarlos es ENTRENAR LA RED, eso se hace cogiendo un cojunto de puntos del intervalo de x que queremos aproximar la función s(x) y mostrándolos a la red de forma repetida aplicando despues de entrar cada punto la regla de la retropropagacion para hacer converger los valores de w y u.

Como se hace:
REGLA DE LA RETROPROPAGACION
se empieza con el error entre y(x) [funcion aproximada] y s(x) [funcion que se quiere aproximar] y éste error se va propagando des de la capa de salida hasta la oculta. Para ello se calculan los llamados deltas generalizados.

para calcular los deltas y variar los pesos existen dos casos a distinguir: deltas de neuronas de la capa de salida, deltas de neuronas de cualquier otra capa.

* pesos de las entradas de la capa de salida: w2_i1 (de la neurona i de la capa 2 a la neurona de salida) para la iteracion M+1

W2_i1( M+1 ) = W2_i1(M)+ALFA*d3_1(M)*a2_i(M)

donde ALFA es el llamado coeficiente de entrenamiento: cuanto mas alto mas rapido varían los pesos

para el offset la formula es similar:

U3_1(M+1)=U3_1(M)+ALFA*d3_1(M)

como calcular d3_1(M)= - (s(x)-y(x))*y(x)*(1-y(x))

* pesos y offsets para la capa oculta: w1_1j (de la neurona de entrada a la neurona j de la capa oculta (2))

W1_1j(M+1)= W1_1j(M)+ALFA*d2_j(M)*(s(x)*W1_1j(M))

analogamente

U2_j(M+1)=U2_j(M)+ALFA*d2_j(M)

y para calcular

d2_j(M)=a2_j*(1-a2_j)*d3_1(M)*W2_j1(M)

-----------------------------------------------------------------------------------

el cálculo como veis es pesado y cabron y tiene que hacerse al introducir cada valor de x en la red....

a base de ir metiendo puntos y aplicando la regla los parametros W y U se van ajustando y el error cada vez es mas pequeño (de hecho hace una forma como de hipérbole).

Dudo que mi explicación sea suficiente para que nadie haga nada, pero así he justificado las etiquetas de las columnas de la plantilla de excel.

Os animo a consultar bibliografía y probar de hacer algo.

Saludos.

Desconectado Jimmy_pop

  • PIC12
  • **
  • Mensajes: 72
RE: RNA (Redes Neuronales Artificiales)
« Respuesta #17 en: 25 de Mayo de 2005, 12:07:00 »
NO VEAS lo que me ha costado subir el comentario xD

hasta he tenido que usar el ETHEREAL para no perder el texto del post por un jodido fallo de la mierda del mierdarroba

GRRRRRRrrrrrrrrrr

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: RNA (Redes Neuronales Artificiales)
« Respuesta #18 en: 25 de Mayo de 2005, 12:28:00 »
Pues gracias por el esfuerzo en ilustrarnos.
Ahora voy a ponerme a ver si soy capaz de digerirlo sin correr el riesgo de quedarme con menos neuronas que tu programa.

Desconectado tornar

  • Moderador Local
  • PIC18
  • *****
  • Mensajes: 342
RE: RNA (Redes Neuronales Artificiales)
« Respuesta #19 en: 27 de Mayo de 2005, 06:45:00 »
Hola Tidh, en este apartado lo que estamos intentando es justamente eso, intentar aprender sobre RNA"s desde 0, es normal que al principio no te enteres de muchas cosas, a mi tambien me pasa, pero para eso esta aki este hilo del foro para preguntar las dudas que nos vayan surgiendo y tratar de resolverlas entre todos.

Cuando te refieres al libro que recomiendo, supongo que te refieres al que esta en ingles del emule, al menos por lo que he estado leyendo de este libro tiene muy buena pinta, ya que ilustra toda la teoria con practica en un pseudocodigo C, que nos viene al pelo, para usar un compilador C para microcontroladores, pero puede ser un problema el que el libro este en ingles, si no tienes conocimientos avanzados de este idioma, yo ahora mismo estoy en plena epoca de examenes, pero en cuanto acabe dentro de unas semanas, he pensado adkirir el libro que recomendo jimmy_pop que esta en español.

Siempre me ha gustado leer varios libros sobre un mismo tema, ya que dependiendo del autor, y de la forma en que esten expresadas las cosas, puede ser algo facil de aprender, o algo casi imposible sin conocimientos previos del tema.

Desconectado tornar

  • Moderador Local
  • PIC18
  • *****
  • Mensajes: 342
RE: RNA (Redes Neuronales Artificiales)
« Respuesta #20 en: 15 de Junio de 2005, 07:08:00 »
Por fin, he acabado los examenes, ahora a esperar las notas RollEyes Hoy voy a ir a madrid a comprar el libro que sugirio jimmy_pop, si alguien mas se ha interesado en este libro, tened cuidado al comprarlo y pedir el de pearson del 2004, si el libro que kereis es el libro del cual hablo jimmy_pop. Porque hay por ahi circulando algun libro con un titulo practicamente identico, pero que no es el mismo.

En cuanto empiece a leer algo, y tenga alguna RNA creada para el bot, posteare aki el codigo si os parece.

Un saludo.

Desconectado Jimmy_pop

  • PIC12
  • **
  • Mensajes: 72
RE: RNA (Redes Neuronales Artificiales)
« Respuesta #21 en: 15 de Junio de 2005, 08:59:00 »
Bien bien tornar!

A mi aun me quedan 2 semanas de exámenes :C (4 de 8 :C) puaj...
a ver qué te parece el libro!!

Desconectado Artifox

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 455
    • Quadbot
RE: RNA (Redes Neuronales Artificiales)
« Respuesta #22 en: 18 de Julio de 2005, 09:52:00 »
Hola muchachos, me quede loco al ver que quieren aprender RNA"s para implementarlo en PIC"s... Yo se un poco, estoy llevando un curso en la universidad (Inteligencia Artificial) y hasta ahora hemos visto algo de RNA"s, acerca del perceptron, sus deficiencias y estamos entrando a ver otras redes, por ejemplo la backpropagation que es multicapa. Aun no se mucho tampoco, pero puedo ayudar muchisimo...

Por otro lado, no se si manejaran el Matlab, alli hay tutoriales de RNA"s ademas de poder entrenar tus neuronas alli, es excelente para entrenarlas....

Bueno, ya me mantendre en contacto. Por lo pronto seguire investigando un poco mas...

Nos vemos Rebotado
Video Quadbot
Saludos desde mi querido Perú.
Si realmente queremos que el mundo cambie debemos empezar por nosotros mismos... ;)

Desconectado tornar

  • Moderador Local
  • PIC18
  • *****
  • Mensajes: 342
RE: RNA (Redes Neuronales Artificiales)
« Respuesta #23 en: 21 de Julio de 2005, 06:33:00 »
El matlab se usa para temas de RNA"s? no tenia ni idea... y a parte del matlab existe algun otro programa comercial que se use para trabajar con RNA"s? a todos los que estamos empezando con el tema nos vendria de perlas saber las herramientas que usan los profesionales para crear y trabajar con RNA"s.


Saludos.

Desconectado tornar

  • Moderador Local
  • PIC18
  • *****
  • Mensajes: 342
RE: RNA (Redes Neuronales Artificiales)
« Respuesta #24 en: 21 de Julio de 2005, 06:34:00 »
El matlab se usa para temas de RNA"s? no tenia ni idea... y a parte del matlab existe algun otro programa comercial que se use para trabajar con RNA"s? a todos los que estamos empezando con el tema nos vendria de perlas saber las herramientas que usan los profesionales para crear y trabajar con RNA"s.


Saludos.

Desconectado Artifox

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 455
    • Quadbot
RE: RNA (Redes Neuronales Artificiales)
« Respuesta #25 en: 26 de Julio de 2005, 12:37:00 »
Hola nuevamente muchachos... Primero que nada, he estado buscanco algun otro simulador de RNA"s y encuentro lo mismo que uds, por otro lado a mi aprecer el Matlab es uno de los mejores, pues te premite crear, entrenar y simular las RNA"s, ademas de tener un tutorial donde te explica como es que hace para operar las neuronas.

Por otro lado quiero compartirles un poco de la teoria que se, que aunque es poco, pero de repente le sirve a algunos para guiarse.

Clasificacion de las RNA"s:
** Redes Supervisadas (Las entrenamos para que reconozcan patrones)
     - 1 Capa: Perceptron simple - Adaline
     - Multicapa: MLP - Backpropagation

** Redes No Supervisadas (Aprenden "SOLAS"Giño
     - Hopfield
     - Kohonen

Aca les dejo un link en español, espero les sirva....
http://electronica.com.mx/neural/informacion/introduccion.html
Un abrazo y nos vemos pronto...Rebotado
Video Quadbot
Saludos desde mi querido Perú.
Si realmente queremos que el mundo cambie debemos empezar por nosotros mismos... ;)

Desconectado Artifox

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 455
    • Quadbot
RE: RNA (Redes Neuronales Artificiales)
« Respuesta #26 en: 25 de Agosto de 2005, 01:25:00 »
Muchachos, nos hemos quedado colgados con este tema... creo que nos falto un objetivo... yo ya estoy aprendiendo un poco mas de RNA"s y dentro de poco logica difusa loco...

Hasta donde he podido aprender (lo mas basico) con RNA"s podemos "clasificar patrones", "aproximar funciones" y "hacerlo que aprenda solo"

Lo que les propongo es lo siguiente: plantear un proyecto en el cual podamos utilizar RNA"s... por ejemplo: que nuestro robot pueda "aprender" a reconocer colores, contornos, etc (nosotros no le enseñamos, sino q el aprenda solo); que aprenda a reconocer obstaculos para poder evadirlos o nos haga algun calculo...

No se, una aplicacion para ponerla en nuestros pic"s con un robot... estamos faltos de ideas... Que dicen???? Fumador

Yo puedo ayudar un poco haciendo el entrenamiento en Matlab y proporcionandoles un poco de informacion objetiva, pues a veces tenemos tanta informacion que no sabemos que hacer con ella...

Se animan????? Den sus opiniones y piensen un proyecto, de repente lo podemos implementar en el bot de radon....

Nos vemos, un abrazo Rebotado
Video Quadbot
Saludos desde mi querido Perú.
Si realmente queremos que el mundo cambie debemos empezar por nosotros mismos... ;)

Desconectado Jimmy_pop

  • PIC12
  • **
  • Mensajes: 72
RE: RNA (Redes Neuronales Artificiales)
« Respuesta #27 en: 06 de Septiembre de 2005, 12:08:00 »
Hola,

a ver, no se qué podemos hacer nosotros como proyecto, es un campo muy experimental aun. Las redes de neuronas de momento se usan muy poco y cuando se usan me da la impresión que es muy a menudo en forma de redes Kohonen y cosas parecidas que sirven para clasificar en grupos. El tema de usar redes con aprendizaje tutelado para hacer controladores complejos es algo que está bastante verde, principalmente el problema está en que se requieren conjuntos de aprendizaje muy grandes, hay estratégias como usar controladores lineales en paralelo para automatizar el aprendizaje y mil historias pero tengo la impresión de que hoy en dia aun no está muy explorado. En el futuro es mas que evidente que veremos nuevos modelos de redes mas eficaces y estoy convencido que nos van a sorprender gratamente, os dejo si quereis un link acojonante de una muestra de control de red neural de un brazo robotico con feedback visual, acojonante:

http://www.k2.t.u-tokyo.ac.jp/fusion/VisualFeedbackGrasping/index-e.html

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
RE: RNA (Redes Neuronales Artificiales)
« Respuesta #28 en: 06 de Septiembre de 2005, 14:53:00 »
Yo llevo años detrás de estos dos temas pero no consigo encontrar nada para poder utilizar de una forma real y efectiva en los temas y posibilidades de hardware que manejo... por lo que esta empresa queda para aquellos de vosotros que teneis el nivel suficiente para poder abarcar el tema... asi que como esto sobrepasa ampliamente mis conocimientos... para mi entra en el terreno mistico... asi que sigo todos vuestros pasos desde la sombra...
Saludos desde Granada, España.

Desconectado TREMENS

  • PIC16
  • ***
  • Mensajes: 125
Re: RNA (Redes Neuronales Artificiales)
« Respuesta #29 en: 24 de Diciembre de 2007, 17:00:43 »
A mi también me interesan las redes neuronales e Inteligencia Artificial en general.
Voy a ir recopilando info para ir estudiando el tema.
Si se necesita usar matlab, habrá que usar matlab. Espero que la gente retorne a este hilo que está abandonado.

Dejo una pregunta: Según escuché el matlab puede generar el código en C. Es cierto esto?? alguien sabe como se hace?

Saludos


 

anything