TODOPIC

Mecatrónica => Robótica => Mensaje iniciado por: tornar en 05 de Mayo de 2005, 04:04:00

Título: RNA (Redes Neuronales Artificiales)
Publicado por: tornar en 05 de Mayo de 2005, 04:04:00
He pensado iniciar esta seccion del foro, ya que como vi, habia muchas personas interesadas en las redes neuronales. Aqui podriamos tratar todas las cuestiones, dudas, etc. referentes a este tema. Y a la vez podriamos ir posteando ejemplos de RNA"s para ir aprendiendo todos acerca de esta excepcional herramienta que nos permite realizar robots inteligentes, capaces de aprender y moverse sorprendentemente bien en entornos desconocidos y sin necesidad de una programacion por guiado.

El lenguaje de programacion a usar sera C, para de esta forma poder usar los algoritmos y estructuras de datos de nuestras RNA"s en nuestros robots mediante un compilador como ccs picc. Y el pic a usar, sera como minimo uno de la serie 18Fxxx, tampoco se descarta la utilizacion de un RTOS para simular concurrencia, ya que si alguien ha leido algo sobre RNA"s sabra que una de las bases de estas neuronas, es la activacion o inhibicion de unas y otras en paralelo.

Si hay gente interesada en este tema, hacedmelo saber, y seguire posteando cosas sobre las RNA"s. si veo que a nadie le interesa esta seccion, la dare por cerrada.

Un buen libro sobre el tema y que aconsejo leer es el siguiente, donde como especifica el titulo, podemos encontrar algoritmos, aplicaciones y tecnicas de programacion de RNA"s, y lo mejor de todo es que vienen muchos ejemplos practicos realizados en un pseudocodigo de C:

eBook - Artificial Intelligence - Neural Networks - Algorithms, Applications and Programming Techniques .pdf

Se encuentra en el emule, le tengo compartido, y permanecera asi durante unas semanas, si estais interesados, buscarle en el e-mule con el mismo nombre que he dado.

Un saludo. Giño
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: valdorre en 05 de Mayo de 2005, 11:53:00
tornar este es un tema por demas de interesante, que me gustaria que se le dedique una seccion porque creo que entre todos se podriamos aprender mucho Rebotado
adelante con las RNA

saludos
Osvaldo
Salliquelo Argentina
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: valdorre en 05 de Mayo de 2005, 12:38:00
hola, otra vez yo
aca encontre estas paginas en castellano sobre RNA
http://www.gc.ssr.upm.es/inves/neural/ann2/anntutorial.html
http://www.iiia.csic.es/~mario/rna/intro-rna.html
http://electronica.com.mx/neural/
esta ultima tiene algo sobre simuladores de RNA, decime si estoy bien enfocado
saludos

Osvaldo
Salliquelo Argentina
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: dogflu66 en 05 de Mayo de 2005, 18:39:00
Estoy contigo Tornar...

Interesantes los enlaces...
No tenia conocimiento de la mezcla de redes neuronales con la lógica borrosa...
Felicitaciones Valdorre...
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: Jimmy_pop en 06 de Mayo de 2005, 16:44:00
Hola, es interesantisimo el tema de las redes artificiales pq es algo que tiene mucho futuro y de lo que oiremos a hablar mucho en los proximos años, yo tengo un librito que está bastante bien, a pesar de ser un poco elemental llamado:

Redes Neuronales Artificiales - un enfoque práctico
editado por Prentice Hall

no se si este libro está en forma de ebook pero es muy recomendable es ligerito de tragar y resulta muy interesante para coger el feeling de lo que es.

xcierto, qué opinais de la logica fuzzy, en mi opinión apesta y además no me cabe en la cabeza que pueda estar patentada, vaya cosas.

un besoh
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: dogflu66 en 06 de Mayo de 2005, 17:57:00
Ni idea que estuviera patentada, lo que no entiendo como una cosa tan soft se puede patentar, pero de todas maneras, mal, mal y muy mal...
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: Nocturno en 07 de Mayo de 2005, 01:36:00
¿¡Que te sorprende que alguien patente la lógica difusa!?, yo ya no me sorprendo de nada desde que leí esto:

Una resolución del 27 de abril concede a Microsoft la patente sobre el sistema de doble clic. [...] La patente de los EE.UU. concedida a Microsoft es la número 6,727,830 y, en afortunada expresión de José Cervera en su Retiario del diario El Mundo, pasa a engrosar la lista de patentes patentemente absurdas.

Muy interesante este hilo Tornar. Sigo viéndolo complicado con PICs, pero seguro que conseguirás algo que funcione Giño.
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: tornar en 08 de Mayo de 2005, 14:07:00
A ver si alguien me puede explicar exactamente como es el tema de los simuladores de RNA"s, por lo que yo entiendo (de lo que he ido leyendo) el simulador sera digamos los algoritmos que haran que las entradas y salidas de nuestras neuronas artificiales funcionen correctamente. Es que al ver la siguiente pagina, que nos facilito valdorre, me he kedado un poco confuso:

 http://www.iiia.csic.es/~mario/rna/downloads.html

Porque un simulador shareware...? Alguien puede hacer una explicacion clara de que es un simulador de RNA"s?

Saludos Giño
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: tornar en 09 de Mayo de 2005, 03:59:00
En esta semana tratare de adkirir el libro que ha indicado Jimmy_pop, y a ver si me puedo aclarar respecto a la funcion de los simuladores de RNA. Porque el libro que yo indike esta muy bien, pero al ser en ingles, algunos tecnicismos ingleses no se entienden, salvo que tengas un nivel muy avanzado de ingles. Aun asi, el libro es recomendable, ya que estoy aprendiendo mucho, aunke como digo adkirire el otro libro en español para intentar no dejar lagunas en mi conocimiento sobre RNA"s.
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: Jimmy_pop en 10 de Mayo de 2005, 15:48:00
olé, me alegro que mi recomendacion te haya gustado xD

el libro no te va a defraudar, yo a raiz de su lectura hice una pequeña prueba de perceptron multicapa con el excel.. usandolo para aproximar una funcion. Buscaré a ver si encuentro ese fichero pq merece la pena verlo, es la cosa mas chunga q he hecho nunca con una hoja de cálculo xDD

cada fila era una iteracion del entrenamiento de la red.
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: tornar en 11 de Mayo de 2005, 04:12:00
Ahora mismo estoy en plena epoca de examenes, asi que no podre estar muy atento al foro, pero dentro de unas semanas, tratare de realizar un bot con un PIC-18F452, que mediante RNA"s sea capaz de realizar comportamientos simples como por ejemplo seguir paredes.

Un saludo. Giño
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: tornar en 19 de Mayo de 2005, 07:49:00
Jimmy_pop si puedes mostrarnos el ejemplo que hiciste con excel y explicar un poco que es lo del perceptron multicapa, seguro que nos vendria bien a todos los que estamos siguiendo este hilo.

Un saludo Giño
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: Jimmy_pop en 20 de Mayo de 2005, 18:20:00
Oka, lo he estado buscando y por fin lo he encontrado. Son 3MB o así, la verdad es q no he podido comprovar si era o no era el fichero que tocaba pq el openoffice se me niega a abrirlo (supongo pq es enorme). Os lo dejo aquí a ver si tornar o alguien de vosotros que esté interesado y tenga el Excel nos puede confirmar si funciona xD

arj!

no se donde hospedarlo, cuando encuentre la manera lo subo por ahi y lo linko :C
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: tornar en 24 de Mayo de 2005, 04:24:00
Hola jimmy_pop, prueba a ver con rapidshare, es lo que usa la mayoria de la gente, aunke si bien es cierto yo no lo he usado en la vida.
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: Jimmy_pop en 24 de Mayo de 2005, 10:00:00
grazie tornar! lo he probado y creo que la cosa tira

http://rapidshare.de/files/1953607/xarxaneural.zip.html

a ver si lograis descargarlo y me podeis decir si está bien el fichero xD

see ya
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: Nocturno 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
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: Jimmy_pop 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.
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: Jimmy_pop 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
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: Nocturno 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.
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: tornar 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.
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: tornar 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.
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: Jimmy_pop 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!!
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: Artifox 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
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: tornar 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.
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: tornar 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.
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: Artifox 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
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: Artifox 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
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: Jimmy_pop 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
Título: RE: RNA (Redes Neuronales Artificiales)
Publicado por: dogflu66 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...
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: TREMENS 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
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: dogflu66 en 25 de Diciembre de 2007, 16:59:58
Aunque tornar fue quien inició el hilo y hace años que no aparece
por supuesto que estamos interesados en el tema, pero el problema
por lo que este hilo quedo muerto fue por la falta de información
para poder aplicarla de una forma practica o útil.
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: J1M en 26 de Diciembre de 2007, 10:43:37
En la revista Servo, los meses Julio,Septiembre,Noviembre del 2007 y Enero 2008 aparece una serie de artículos prácticos sobre RNA implementadas en un PIC, hay dos casos prácticos, uno en el que aprende una puerta OR y otro algo más complicado, real e interesante que tiene que ver con un servo. Yo de este tema tengo poca idea pero espero os pueda servir de ayuda.

Saludos!
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: dogflu66 en 26 de Diciembre de 2007, 11:10:42
Hola JiM, esa revista se puede comprar o pedir desde España?
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: J1M en 26 de Diciembre de 2007, 11:13:31
En su página tienes la información sobre como hacerte suscriptor:
http://www.servomagazine.com
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: TREMENS en 28 de Diciembre de 2007, 16:17:28
En cuanto a la información para poder aplicarla de forma útil, es cierto que quizás falte, pero deberíamos empezar estudiando.O sea, me parece que es un tema al cual a que estudiarlo bien para entenderlo y sacarle utilidad práctica. Me parece que para una implementación embebida deberíamos usar pic 18 o 24, DSP, FPGA.....que opinan??
Creo que habría que aprender a programar en matlab para simular e insisto averiguar como se obtiene el código  en C con el Matlab, para cargar a un dispositivo.
O podríamos usar el Matlab para hacer algún programa de PC, usando eso del matlab que le llaman GUI(Interfaz Gráfica de Usuario).

Encontraron nombres de libros en español??? y alguno en inglés si es que está demasiado bueno como para exigirle que sea en español.
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: eto en 28 de Diciembre de 2007, 22:39:27
Hola a todos, soy super nuevo por este subforo, pero me llamo la atencion el tema, no sabia que tambien estaban investigando esto, que bueno, he tratado de seguir el hilo de la conversacion y veo que buscan un titulo en español, ps yo tambien lleve el curso hace algunos años, y el libro que me sirvio bastante es 'REDES NEURONALES Y SISTEMAS DIFUSOS',  pero en fin el asunto es que les recomiendo el libro, porque ademas que trata el tema de forma comprensible, tambien trae uno que otro ejemplo de un perceptron en C, bueno, yo recuerdo haber bajado bastante literatura de RNA en C, la voy a buscar y ya les dejo el enlace para compartirla, lo que no recuerdo es si estaba en español, pero bueno, estaba en C, con un poco de estudio de la teoria no se hace muy complicado el desarrollo del programa. A ver si logro ubicar elpedazo de codigo de ejemplo del libro y lo posteo al rato  :)
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: eto en 28 de Diciembre de 2007, 23:29:08
ya lo encontre, y mas o menos es lo siguiente, esta en C.

(codigo quitado hasta esperar respuesta del moderador)

y algo un poco mas ilustrativo de que trata el programa (espero)  :z)  :mrgreen:


       wi1 
x1--o------- \
       wi2        \
x2--o--...        \           NEURONA i
 .     wij            ( sumatoria(wij*xj) - thi )---->[f(sumatoria)]-->Yi(salida)
xj--o--...        / |
 .     win       /  |
xn--o------- /   |(thi) umbral
                      |
                   (-1) 


la idea es hallar "Yi", haciendo que el programa, realice la sumatoria de los productos entre las entradas (xj) y los pesos(wij), le reste el umbral y aplique una funcion (que dependera del tipo de neurona que se este usando).  El de arriba es el perceptron basico, una neurona que independientemente sea el modelo de red que se use, casi siempre si no me equivoco, sera la misma, en lo que se diferencian es en la aplicacion, el modelo de red, y el tipo de aprendizaje que utilizan, como ya mencionaron antes. tienen las REDES MONOCAPA, MULTICAPA, MAO, en tipo de aprendizaje tienen BACK-PROPAGATION, HEBBIANO, etc. en fin. ojala sirva de algo mi aporte, seguire buscando la bibliografia que mencione. Y ojala encuentre un trabajo en el que casi me pidieron que transcriba el librito ese, y lo subo tambien :)

Ha tambien veo que mencionan el 'Matlab'(enlace quitado hasta esperar respuesta del moderador), para generar codigo en C, ps si se puede lo que nunca hice , pero si lei en su documentacion que se puede, porque no pasan por su pagina, buscando un poco encuentran lo referente, no pongo el enlace directo porque siempre me perdi en ese sitio  :mrgreen:  :mrgreen:
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: eto en 01 de Enero de 2008, 21:09:11
Hola a todos, que tengan un buen comienzo de año.
Aca les dejo una dirección donde subi unos pdf's que baje hace algun tiempo, ojala les sirva  'redes neuronales'(****), están los documentos que comente, sobre codigos en c++, un manual del matlab para redes neuronales, subire algo mas en cuanto encuentre más cosas ;)
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: jfh900 en 01 de Enero de 2008, 21:44:57
Muchas gracias por la información.

Un saludo
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: eto en 03 de Enero de 2008, 22:02:28
Hola, ya habiendo corregido todo lo que se tenia que corregir, y siguiendo un poco el consejo de dogflu66, digo que seria interesante hacer un pequeño sistema nervioso, pero como que parece muy complicado viendolo desde otra perspectiva, asi que mi propuesta es la siguiente:

Si podemos desarrollar, cada sección del sistema mensionado en partes, primero hariamos, algo sencillo como un seguidor de luz, que vendría a ser el sentido de la vista de algun futuro robot, o talvez hecer un seguidor de sonido (el oido del robot), con unos microfonos nos podría bastar creo yo, sea cual sea por el que se comiense la idea es hacer primero un pequeño soporte que sostenga lo que seria la cabeza del robot, y al ver luz o escuchar sonido, oriente su cabeza en esa dirección.

Por ahora para ir haciendo pruebas cuento con 18f452, así que ire avanzando algo y posteando lo que se avance, aunque no sea muy seguido...   8)    :)
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: eto en 05 de Enero de 2008, 03:06:58
Hola, veo que una de las razones por la que este tema va tan lento, es por falta de informacion, asi que para los que recien van entrando con esto de las RNA, les dejo algo de informacion, (totalmente de libre distribucion, igual podrian encontrarla en muchas paginas de por ahi, pero es lo que entendi del tema), imagenes y texto (libres), espero sea entendible, trate de explicarlo lo mejor que pude, por ahora les dejo esto.

REDES NEURONALES ARTIFICIALES 1

REDES NEURONALES ARTIFICIALES

Veamos algo más directo, que información teórica se encuentra ya a montones, y me parece que son más definiciones matemáticas, veamos algo un poco más práctico.

LA NEURONA BIOLOGICA.
A manera de introducción, se puede hacer referencia a la neurona biológica, que como ya sabemos consta de tres partes principales, las dendritas, el cuerpo celular de la neurona (soma) y el axón, funcionalmente la neurona recibe información por las dendritas, la procesa en el cuerpo celular, y la reacción se emite por el axón, dependiendo donde se encuentre la neurona, trasmitirá esa información de salida a otras neuronas o a los músculos.

(http://i174.photobucket.com/albums/w93/etohumb/RNA/sinapsis.jpg)

Haciendo una comparación funcional, con la electrónica, si quisiéramos compararla con un circuito, si fuera analógico, podríamos hacerlo con un amplificador sumador, y en el mundo digital, con cualquier procesador, específicamente en nuestro caso podemos hacerlo con un PIC o cualquier otro microcontrolador.

Como vemos en la figura, la sinapsis se realiza de la salida del axón, a las dendritas de otra neurona, las cuales llevan la información al cuerpo celular para procesarla, y transmitirla al axón nuevamente, lo cual hacemos en todos nuestros circuitos, tenemos una(as) entrada(s), y una(s) salida(s), el detalle es en como se procesa la información, implementando un método de control común, podemos encontrarnos desde un algoritmo simple hasta uno muy complejo, según sea la necesidad, pero utilizando una neurona o una red neuronal, el algoritmo siempre será el mismo.

LA NEURONA ARTIFICIAL.
Ya habiendo visto las semejanzas, veremos como procesa la información la neurona., para lo cual veremos como realiza su sinapsis.

(http://i174.photobucket.com/albums/w93/etohumb/RNA/sinapsisartificial.jpg)

Lo que tiene que hacer la neurona artificial es multiplicar cada entrada por su respectivo peso, lo mismo que el peso umbral, que normalmente su entrada es -1 (pero se puede utilizar otro valor, según sea el caso, pero eso se vera más adelante), y sumar esos resultados, esa sumatoria se llama la “regla de propagación”, ese resultado pasa a ser evaluado por otra función que es la “función de activación” cuyo resultado es efectivamente la salida de la neurona artificial, esta función de salida dependerá del tipo de neurona que se utilice.

La regla de propagación mas común, es la vista en la figura.

Como hemos visto, lo único que tiene que hacer nuestra neurona es multiplicar y luego sumar, para luego aplicar una función a la salida

FUNCION DE ACTIVACION
Veremos un cuadro de las más comunes.

FUNCIONRANGOGRAFICA
IDENTIDADy = x[-inf, +inf](http://i174.photobucket.com/albums/w93/etohumb/RNA/f_activacion_identidad.jpg)
ESCALONy = signo(x)
y = H(x)
{-1,+1}
{0,+1}
(http://i174.photobucket.com/albums/w93/etohumb/RNA/f_activacion_escalon.jpg)
LINEAL A TRAMOS       -1, si x<-1
y =  x, si -1<=x<=+1
        +1, si x>+1
[-1,+1](http://i174.photobucket.com/albums/w93/etohumb/RNA/f_activacion_lineal_tramos.jpg)
SIGMOIDEA          1
y = -------
       1+e^(-x)
y = tgh(x)
[0,+1]


[-1,+1]
(http://i174.photobucket.com/albums/w93/etohumb/RNA/f_activacion_sigmoidea.jpg)
GAUSSIANAy = A.e^(-Bx^2)[0,+1](http://i174.photobucket.com/albums/w93/etohumb/RNA/f_activacion_gaussiana.jpg)
A la próxima espero poder dejarles un programa de ejemplo para ilustrar mejor el tema, tambien tratare de explicar como es el proceso de aprendizaje, y si hay algun error, ps avisen, pa corregirlo...    8)
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: Nocturno en 05 de Enero de 2008, 04:41:16
Gracias por el esfuerzo Eto. Creo que si no aprendo leyendo tus posts, ya no aprenderé de ninguna otra manera.
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: AKENAFAB en 05 de Enero de 2008, 07:30:19

HOla eto!!

Estoy muy atento a lo que posteas , muy interesante el tema y muy entendible la manera en que lo explicas.


GRacias por la info !!!

P.D.  ¿ Puedes arreglar estos enlaces ?? o no son enlances?

Citar
REDES NEURONALES ARTIFICIALES 1

REDES NEURONALES ARTIFICIALES

Gracias de nuevo!

Atentamente
 Akenafab
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: eto en 05 de Enero de 2008, 15:02:02
Hola.
Gracias AKENAFAB por los comentarios, respecto a los enlaces que mencionas, no son enlaces, solo son los titulos, pero ya lo arregle.
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: eto en 04 de Febrero de 2008, 04:19:36
hola de nuevo amigos, mil disculpas por dejar abandonado el tema, pero me encontraba con algo de trabajo, bueno aun lo estoy pero tambien estoy con el tema de las RNA en la cabeza, asi que les dejo un poco mas de info, saliendo del tema un poco a alguien alguna vez le paso que el compilador de C++ o el C se le volviera loco??, le comento que a mi no me responde muy bien que digamos, bueno el punto es que cuando declaro una matriz el segundo termino siempre me devuelve de valor igual a "1", y no he podido solucionar este problema, asi que estube haciendo el programa para el entrenamiento en Delphi, pero veo que no muchos manejan este lenguaje, asi que les pediria que me dijeran si puedo continuar o tal vez seria más comodo hacerlo en VB, bueno espero sus respuestas.

regresando al tema.  8)

REDES NEURONALES ARIFICIALES 2

Antes de empezar debemos recordar que el conocimiento acumulado por la red esta en los PESOS.

APRENDIZAJE.
REDES SUPERVISADAS.

Bueno primero veremos el aprendizaje Hebbiano (desarrollado por Donal Hebb), con el asociador lineal, que creo la mayoría de libros empiezan por el, así que si encuentran alguno no nos saltearemos mucho su temario.

Básicamente lo que hace este modelo de aprendizaje es asociar un grupo de entradas con otro de salidas previstas con anterioridad o salidas deseadas.

Lo interesante de las redes neuronales artificiales es que al presentarles en patrón de entrada parecido a alguno que tenga memorizado nos dará de salida un patrón de salida también parecido, es decir que si tenemos para una entrada X una salida Y, y le presentamos una entrada (X + d) tendremos a la salida (Y + e) con (d,e) cantidades pequeñas, lo que no ocurriría con un sistema experto por ejemplo.

El asociador lineal con una función de activación identidad tendrá como salida.

Y = Suma(Wij*Xj)

Entonces el problema es justamente encontrar los pesos que nos ayuden a cumplir con esta función, para eso el algoritmo de aprendizaje trata de encontrar dichos pesos realizando comparaciones entre la salida deseada y la obtenida, probando una y otra vez con las diferentes entradas que se le presentan a la red, modificando los pesos de acuerdo a la siguiente regla de actualización.

Delta(W) = e*Yoi*Xj , con e = <0,1>

Este tipo de aprendizaje rpresenta la base para la mayoria de reglas de aprendizaje pero puede llegar a ser muy restrictivo con respecto a cuantos pares de patrones puede relacionar, esto debido a que por la forma que tiene la regla de actualización, los patrones de entrada deben ser ortonormales es decir.

Para: W = Yo1*X1’ + Yo2*X2’ + … + Yon*Xn’
Y = Suma(W*Xu) = (Yo1*X1’ + Yo2*X2’ + … + Yon*Xn’)*Xu =
= Yo1*(X1’*Xu) + … + You*(Xu’*Xu) + … + Yon*(Xn’*Xu) = You

Con:
X = vector de entradas.
W = vector de pesos
Y = vector de salidas.
Xu = patrón de entrada U-ésimo.
You = patrón de salida U-ésimo.
Xu’ = traspuesta del patrón de entrada U-ésimo.

LA REGLA DE APRENDIZAJE.
El objetivo de la regla de aprendizaje es llegara encontrar el grupo (patrón) de pesos que combinados con las entradas nos den la salida correcta, y hacerlo de la forma mas rápida posible, tratando de minimizar el error de la red al interpretar las entradas optimizando los pesos.

EL PERCEPTRON SIMPLE
“El perceptrón simple es un modelo unidireccional, compuesto por dos capas de neuronas, una sensorial, y otra de salida. La operación de una red de este tipo, con N neuronas de entrada y M de salida, se puede expresar como

Yi(t) = f(suma(de j=1 hasta N)[Wij*Xj - thi]) , para todo 1<=i<=M” [REDES NEURONALES Y SISTEMAS DIFUSOS, pag.47]

Por ahora llego hasta ahi, espero sus respuestas para poder ilustrar mejor lo escrito, ya que mejor es verlo en practica :D
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: jpernesto_666 en 24 de Septiembre de 2008, 02:38:06
Hola,hace tiempo estaba estudiando un poco sobre RNA's,pero como no entendia mucho lo deje jeje,pero encontre este foro,lo retomare,esta muy interesante esto,saludos!. :c) 8)
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: TREMENS en 30 de Octubre de 2008, 09:06:07
eto no puedo descargar lo que adjuntaste a tus mensajes. Podrías enviármelo o solucionar el problema por favor??

Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: damago en 31 de Octubre de 2008, 17:08:21
Buenas,

adjunto un trabajo de redes hecho para matlab5 que hice para la uni.

Tambien cree un video que esta en youtube:

Se trata de reconocimiento de 5 caracteres. Existe un conjunto de datos para entrenar la red, que contiene unas 6 formas diferentes de cada letra (letra_x.mat).. Se pueden añadir mas letras, y añadir ruido a estas para probar la red. los archivos pes_x.mat son los pesos de la red.
La red implementada es una red multicapa (ahora no recuerdo la cantidad de neuronas que use al final jeje). Ejecutar visual.m para ver el funcionamiento.

Un saludo. Dani.
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: eto en 31 de Octubre de 2008, 20:13:29
Hola TREMENS, bueno no es mucho lo que adjunto y el link está bien, al menos no tube problemas en descargarlo, pero igual te dejo los links individuales para que puedas descargarlos.

Este es el mismo  post que tengo más adelante, solo esta en word, es mi explicacion de redes neuronales (http://www.esnips.com/doc/bf6f13d8-bdc7-4eb7-b1a2-7e1cd69c128a/REDES-NEURONALES-ARTIFICIALES-1), que por cierto aun no puedo acabar la segunda parte.  :oops:

El otro es un pequeño ejemplo de la utilizacion de una neurona (http://www.esnips.com/doc/cb8f5f9a-f579-404a-9c8e-9e02012ba601/IA1) en matlab que nos pidieron en la universidad.

PD. Solo dale a donde dice download en la parte de abajo; el ejemplo de matlab es para la version 6.5, creo que algunas veces puede importar esa diferencia, solo porsiacaso. Si aun hay problemas avisame porfavor y lo subo al foro, los puse en ese sitio para no sobrecargar el espacio del foro.

Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: migsantiago en 05 de Abril de 2009, 20:46:31
Hola

Estoy depurando mi algoritmo para el perceptrón multicapa con retropropagación y a falta de buenas fuentes bibliográficas recurro a la ayuda del foro.

Ya implementé todo el algoritmo y entrené la función XOR exitosamente. Ahora estoy enseñándole al algoritmo una ecuación definida a trozos y el objetivo es que la red neuronal la aprenda bien.

Mi problema es que la curva de error total (promedio de la suma de los errores cuadráticos medios por patrón) a veces sube y a veces baja, oscila. Lo normal es que el error siempre decrezca tal y como se ve en la figura siguiente. Eso hasta donde sé, porque también tengo dudas al respecto.

(http://img22.imageshack.us/img22/8064/dsc00103mkw.th.jpg) (http://img22.imageshack.us/img22/8064/dsc00103mkw.jpg)

pero lo que estoy obteniendo es esto:

(http://img15.imageshack.us/img15/7092/errorrna.th.jpg) (http://img15.imageshack.us/img15/7092/errorrna.jpg)

Se observa que el error no baja siempre, hay veces en que el error sube demasiado y luego baja.

Desafortunadamente mi profesor no conoce el algoritmo ni las ecuaciones correctas de la retropropagación y estoy usando el método 'prueba y error'.

Si alguien tiene alguna sugerencia será bienvenida. Gracias.
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: migsantiago en 06 de Abril de 2009, 17:08:40
Agrego más datos de mi algoritmo...

1 neurona de entrada
10 neuronas en 1 capa oculta
1 neurona de salida (función lineal)

La función la tabulé en 200 puntos (200 patrones de entrada).

Pasos del algoritmo
* Hago la propagación hacia adelante dejando la última neurona lineal
* Calculo delta de la neurona de salida
* Calculo delta de las neuronas ocultas
* Actualizo pesos y umbrales de salida
* Actualizo pesos y umbrales restantes

Las ecuaciones de delta, pesos y umbrales son:

(http://img529.imageshack.us/img529/7839/dsc00108.th.jpg) (http://img529.imageshack.us/img529/7839/dsc00108.jpg)

EDITO:
Apliqué una normalización a los datos de la salida y cambié la función de lineal a sigmoidal y la curva de error empezó a comportarse normalmente.  :-/

(http://img11.imageshack.us/img11/2814/errormejorado.th.jpg) (http://img11.imageshack.us/img11/2814/errormejorado.jpg)

Por ahora, problema resuelto  :D Y todo por no querer normalizar los datos  :P
Título: RNA (Redes Neuronales Artificiales)
Publicado por: Pericles87 en 27 de Abril de 2009, 01:28:48
esta es primer participacion en este foro y en cualquier foro en general, soy estudiante de ing. de control en la U. nacional de Colombia- Medellin.
actualmente estoy en un proyecto de investigacion en redes neuronales artificiales con el fin de montar un sistema de procesamiento de datos de censores de posicion, y la red se montara en microcontroladores. por ahora la serie que se tiene pensado usar es la 18fxxx, que tenga conexion directa USB para evitar problemas con el serial. la el modelo de la RNA ya se tiene definido: 4-7-5-3 (4 neuronas en capa de entrada, 7 primera capa oculta, 5 segunda capa oculta, 3 capa de salida) con retropropagacion y funcion sigmoidea. la red se esta simulando en el GUI nntool de matlab y tambien conJust Neral Network, un demo de un software bastante completo aunque con algunas limitaciones.
los problemas con que contamos en estos momentos son:
eleccion definitiva del PIC a usar, creemos ke esta serie va bien, pero aun hay dudas con la capacidad de memoria. sugerencias?
funciones de la red (aprendizaje, activacion, etc) en lenguage c para programar el PIC.

en la actualidad dispongo de mucha teoria sobre redes, pero no tengo claras las politicas para poner esta info. en el foro, asi que si me aclaran esto se los agradesco.

asi que estoy disponible para ayudar al que este interesado en este tema tan interesante y de antemano muchas gracias por la colaboracion.
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: Nocturno en 27 de Abril de 2009, 02:14:03
Podrás publicar aquí toda la información que sea de libre distribución. Mira las reglas del foro.
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: migsantiago en 27 de Abril de 2009, 10:54:24
eleccion definitiva del PIC a usar, creemos ke esta serie va bien, pero aun hay dudas con la capacidad de memoria. sugerencias?
funciones de la red (aprendizaje, activacion, etc) en lenguage c para programar el PIC.

en la actualidad dispongo de mucha teoria sobre redes, pero no tengo claras las politicas para poner esta info. en el foro, asi que si me aclaran esto se los agradesco.

asi que estoy disponible para ayudar al que este interesado en este tema tan interesante y de antemano muchas gracias por la colaboracion.

Hola y bienvenido

Actualmente yo también estoy trabajando RNA. Ya terminé mi algoritmo para backprop y ahora estoy trabajando las redes de base radial.

Para montar una RNA en un pic, yo la entrenaría en la pc y cargaría los pesos y umbrales ya entrenados en el pic para aligerar la programación. Tienes que definir qué compilador de C usarás, los más usados aquí son el C18 de Microchip y el CCS.

Necesitarás matrices de pesos flotantes del siguiente tamaño:

Capa entrada a 1a capa oculta: 4x7= 28 flotantes
1a capa oculta a 2a capa oculta: 7x5 = 35 flotantes
2a capa oculta a capa de salida: 5x3 = 15 flotantes

Y arreglos de umbrales de los siguientes tamaño:

1a capa oculta: 7 flotantes
2a capa oculta: 5 flotantes
capa salida: 3 umbrales

Total de flotantes: 93

Total de memoria: 93 flotantes x 4bytes = 372bytes

Estos datos al ser fijos podrán almacenarse en memoria de programa ROM.

Ahora hay que considerar que se tendrán las activaciones de las neuronas.

Activaciones:
4 de entrada
7 de 1a oculta
5 de 2a oculta
3 de salida
Total: 19 flotantes

19 flotantes x 4bytes= 76bytes

Esto se deberá montar en RAM.

El algoritmo de propagación no es grande, la función más compleja es la sigmoidal, pero haciéndolo en c se facilita.

Ahí tienes un estimado de cuánta memoria emplearás. Creo que casi cualquier pic actual te da el ancho para tu problema. El PIC18F4550 es ideal ya que cuenta con USB.
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: Pericles87 en 30 de Abril de 2009, 02:08:35
Agradezco mucho por la información, eso era exactamente lo que necesitaba y no lo sabía hacer. Respecto a la función sigmoidea encontré en un artículo una aproximación recomendada para montar en un PIC que no hace uso del exponente:

Y= ( ( (1/2) + ((x + |(x)| ) / 4 ) )/(2^(|(x)|)))     C.Alipi simple approximation of sigmoidal function.

La trate de copiar lo mejor que pude pero ese es el autor y una parte del nombre del articulo.
En fin considero que es más adecuada esa función, y ocupa menos espacio. Que opinan?
Estoy trabajando en ccs, y estoy trabajando en las funciones de activación, les estaré informando sobre los avances y luego de pronto monte un video de la red funcionando (en un futuro mediano). De nuevo muchas gracias por la ayuda y por recibirme en este ameno foro.
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: migsantiago en 30 de Abril de 2009, 12:28:22
Agradezco mucho por la información, eso era exactamente lo que necesitaba y no lo sabía hacer. Respecto a la función sigmoidea encontré en un artículo una aproximación recomendada para montar en un PIC que no hace uso del exponente:

Y= ( ( (1/2) + ((x + |(x)| ) / 4 ) )/(2^(|(x)|)))     C.Alipi simple approximation of sigmoidal function.

La trate de copiar lo mejor que pude pero ese es el autor y una parte del nombre del articulo.
En fin considero que es más adecuada esa función, y ocupa menos espacio. Que opinan?
Estoy trabajando en ccs, y estoy trabajando en las funciones de activación, les estaré informando sobre los avances y luego de pronto monte un video de la red funcionando (en un futuro mediano). De nuevo muchas gracias por la ayuda y por recibirme en este ameno foro.


¿Podrías dar un link al lugar en donde lo encontraste?

CCS sí cuenta con exponentes: exp(). Usando un pic18f4550 dudo que nos falte ram o rom al usarla. Si tu algoritmo requiere velocidad talvez sí sea buena idea usar la aproximación de arriba.

(http://img183.imageshack.us/img183/6996/expb.jpg)
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: TREMENS en 11 de Septiembre de 2009, 23:35:53
Quizá tu problema esté en que particionaste mal los datos o hacés mal la validación cruzada en el entrenamiento. Revisá eso Migsantiago.

Saludos
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: migsantiago en 12 de Septiembre de 2009, 10:46:56
Hola Tremens

Hace ya meses que logré limpiar la curva de error de entrenamiento. Mi problema era que no realizaba correctamente la normalización de los datos de entrenamiento.

Hay que normalizar cada columna de los datos de forma independiente y yo no normalizaba nada o normalizaba todos los datos como uno solo.

Gracias por tu respuesta.
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: TREMENS en 12 de Septiembre de 2009, 14:25:51
Hola Pericles, solo quería hacerte la observación de que si usás la aproximación de la exponencial al programar el pic, eso implica que cuando entrenes tu RN fuera del pic tengas que usar esa aproximacion como funciones de activación donde corresponda.

Saludos
Tremens
Título: Re: RNA (Redes Neuronales Artificiales)
Publicado por: migsantiago en 12 de Septiembre de 2009, 14:30:03
Tremens, es decir que si yo entreno mi red en una PC y luego ingreso los pesos y deltas al PIC... ¿los valores de salida serán diferentes porque el logaritmo no es exacto en el PIC comparado con el logaritmo de la PC?