# Diseños de neuronas electronicas



## Markosgiorgio (Sep 16, 2007)

Hola: quisiera saber si alguien sabe como puedo hacer una neurona electronica. Gracias


----------



## anthony123 (Sep 16, 2007)

para que?? si se puede saber??


----------



## Markosgiorgio (Sep 16, 2007)

Estoy trabajando con un ECG hecho por mi, y ya tengo un simulador de ECG, pero me gustaria hacer una nurona y probar mi equipo con eso.


----------



## Fogonazo (Sep 16, 2007)

Creo que hablas de un EEG.
La neurona se comunica por impulsos quimicos NO electricos.
Lo que si puedes medir es sobre los agrupamientos de neuronas (en sinapsis)

Para simular este necesitas un generador de muy muy baja frecuencia (2 a14 Hz ) y salida en el orden de uV.


----------



## Markosgiorgio (Sep 17, 2007)

Tenes razon es EEG, lo que pasa que es un ECG modificador para detectar cualquiar señal biologica, en realidad lo que tengo ya no es un ECG sino un detector de señales biologicas


----------



## ELCHAVO (Sep 17, 2007)

En cualquier libro de redes neuronales puedes tener el ejemplo basico de la simulacion de una neurona.

alli te dan el codigo de ejemplo para realizar dicho experimento.

eso si no te asustes cuando abras el libro pues tienen cualquier cantidad de matematicas y estadisticas expresadas de la manera mas compleja, como bien lo saben hacer los profesores universitarios. quienes tienen la bendita tendencia de poner complicado lo facil.


bye


----------



## KARAPALIDA (Ago 28, 2008)

Estamos en el horno?

Un equipo de investigadores noruegos ha creado la primera pieza de un hardware que usa la evolución para cambiar su diseño y adaptarse a la función que tiene que desempeñar. Este hardware evoluciona como lo harían las especies animales o vegetales y se adapta al medio sin que sufra su funcionalidad y en apenas unos segundos. En vez de actualizar software, el hardware es capaz de evolucionar, probar soluciones ante los problemas y adoptar la decisión más adecuada. Esta investigación abre la puerta a desarrollos de Inteligencia Artificial más avanzados. Por Raúl Morales.


http://www.tendencias21.net/Crean-el-primer-prototipo-de-hardware-evolutivo_a1484.html[url]

Se imaginan una maquina que tenga IA y sus tiempos de evolucion sean tan rapidos. en un par de dias lo tenemos a TERMINATOR cagandonos a tiros. 

hasta la vista baby´s


----------



## alec494 (Abr 14, 2009)

lamento decirles que las neuronas se comunican por medio de impulsos electricos se llama sinapsis electrica (chequen un libro de fisiologia para mas información) tambien sinapsis quimica.

para hacer una neurona electronica se neceista un amplificador sumador-diferenciador despues pasa a un integrador continuando a un comparador que a su vez debe de activar un oscilador monostable que tambien va a activar otro monosestable para llegar a una retroalimentacion hacia el comparador (no recuerdo si es ahi o en el integrador) 
saludos


----------



## KARAPALIDA (Abr 14, 2009)

alec494 estas charlando verdad?'


Si no estas charlando haceme media docena pra el sabado por favor.


----------



## tempelton (Abr 15, 2009)

Yo utilizo una red neuronal para mover un microbot.

Diseñas la red, la entrenas, ajustas los pesos sinápticos y, con un microcontrolador, lo utilizas como red neuronal, aplicándole los pesos calculados en el entrenamiento.

¿Es eso de lo que estais hablando?

Saludos


----------



## luis_angel88 (Dic 12, 2009)

Hola, disculpen, necesito ayuda para poder diseñar una neurona analogica alguien podria ayudarme???


----------



## Fogonazo (Dic 12, 2009)

luis_angel88 dijo:


> Hola, disculpen, necesito ayuda para poder diseñar una neurona analogica alguien podria ayudarme???


Por que no publicas que has investigado hasta el momento y que esquemas estás analizando.

*Reglas generales de uso del foro* 
*3. Cuando preguntes, danos la máxima información posible. ¡No somos adivinos! *
*6. En nuestra comunidad NO se aplica la ley del mínimo esfuerzo: "no hacer nada y conseguirlo todo".*


----------



## Dgoek (May 1, 2012)

alec494 dijo:


> lamento decirles que las neuronas se comunican por medio de impulsos electricos se llama sinapsis electrica (chequen un libro de fisiologia para mas información) tambien sinapsis quimica.
> 
> para hacer una neurona electronica se neceista un amplificador sumador-diferenciador despues pasa a un integrador continuando a un comparador que a su vez debe de activar un oscilador monostable que tambien va a activar otro monosestable para llegar a una retroalimentacion hacia el comparador (no recuerdo si es ahi o en el integrador)
> saludos



Hola espero que aun estes activo en el foro, o alguien me pueda ayudar.
Tengo una duda espero me puedan ayudar porfavor, estoy tratando de simular electronicamente una neurona y e logrado que cuando revasa cierto umbral mis entradas excitadoras, como inibidoras, empieze a mandar pulsos el 555, el problema es que solo lo hace cuando esta debajo de cierto umbral en mi caso 4 volts y lo que requiero es que lo haga alrevez que se active cuando supere cierto umbral, ademas no estoy seguro si esta bien mi circuito por la retroalimentacion del segundo 555, veo q tu tienes idea de como se hace espero me pudas ayudar gracias y saludos
simulacion:
http://dl.dropbox.com/u/198820/555neu.lvw
http://dl.dropbox.com/u/198820/neurona.JPG


----------



## fernandob (May 1, 2012)

Markosgiorgio dijo:


> Hola: quisiera saber si alguien sabe como puedo hacer una neurona electronica. Gracias


 
preguntale a este, que es el que tiene los planos :








antes tenia una representacion aca (dicen ) :





pintaba dentro de todo bien .
pero ahora , yo que me guio por la facha ......no se si sera confiable :










alec494 dijo:


> lamento decirles que las neuronas se comunican por medio de impulsos electricos se llama sinapsis electrica (chequen un libro de fisiologia para mas información) tambien sinapsis quimica.
> 
> para hacer una neurona electronica se neceista un amplificador sumador-diferenciador despues pasa a un integrador continuando a un comparador que a su vez debe de activar un oscilador monostable que tambien va a activar otro monosestable para llegar a una retroalimentacion hacia el comparador (no recuerdo si es ahi o en el integrador)
> saludos


 
y con eso hiciste UNA NEURONA ?? 
ya esta.

ahora que se esconda Dios y nosotros contamos 





tempelton dijo:


> Yo utilizo una red neuronal para mover un microbot.
> 
> Diseñas la red, la entrenas, ajustas los pesos sinápticos y, con un microcontrolador, lo utilizas como red neuronal, aplicándole los pesos calculados en el entrenamiento.
> 
> ...


 
podes poner el enlaceo el esquema ?? 
hoy dia los vendedores estan mucho mas avanzados que la tecnologia misma al parecer.


----------



## chclau (May 1, 2012)

Es cierto, así se hace (un modelo de) una neurona, con un sumador, un integrador y un comparador.  La idea es imitar el comportamiento de ciertas neuronas que responden a estímulos luego de un cierto tiempo. El integrador y comparador modelan el tiempo de respuesta, el estímulo tiene que estar presente un cierto tiempo hasta que el integrador sobrepase el umbral del comparador.

Las diversas entradas al sumador modelan varios estímulos. Si tenés dos estímulos a la vez, el integrador integra (valga la rebuznancia) más rápido, y activa al comparador también más rápidamente.

No quiere decir con eso que conectando varias de esas neuronas vas a hacer un cerebro... solamente ciertas funciones motrices que con ese modelo se simulan bastante bien.


----------



## fernandob (May 1, 2012)

me decis que se sabe *REALMENTE* como funciona una neurona??
y como es una red neuronal ?? 

o es solo "una idea" simplificada ?? con electronica


----------



## chclau (May 1, 2012)

Se saben muchas cosas sobre como funcionan ciertas neuronas, no te olvides que ya hay varios tipos de oídos y ojos electrónicos que se conectan directamente a nervios.

Pero el integrador y todo eso es un modelo, simple... pero que para ciertas aplicaciones (control del movimiento de un robot) da muy buenos resultados.


----------



## fernandob (May 1, 2012)

sabes quie pasa, ya muchas veces he leido titulos ostentosos y luego sion cosillas simples.
si realmente se sabe como funciona una neurona.
se sabe como estan interconectadas.
que falta ??
el soft?? 

que raro que nunca escuche aca en el foro acerca de el modulo "neurona".

si tiene realmente una utilidad.

por que calculo debe ser "un modulo" , como es un flip flop.
o como es una celda de una gal .
o como es un op.

en fin.

alguno de ustedes lo ha usado ?? o tiene info clara y aplicaciones ??
en todo el foro no veo teoria, o aplicaciones.......


----------



## chclau (May 1, 2012)

Lo que yo recuerdo es que un modelo asi lo publicaron hace mucho en una Saber Electronica, Elektor o algo asi. Estuve buscando un poco en la red pero me parece que ya nadie se toma la molestia de conectar tres operacionales para hacer una "neurona", siendo que por software podés simular muchísimas, mucho más fácil, con control total de los parámetros, etc. etc.

Buscá por redes neuronales para control de robots y vas a encontrar. 

Si entiendo tu otra pregunta... primero que me parece que no se conoce a fondo TODO el funcionamiento de una neurona, se conoce un poco, como conectarse a ella e incluso todavía en forma bastante precaria.

Pero usando una analogía, imaginate que hay muchos tipos de neuronas. Burdamente, algunas son procesadores, otras memorias FLASH, otras RAM, otras son puertos. Si agarrás a un CroMagnon y le enseñas a soldar, y le das un puñado de componentes, que probabilidad hay de que haga una computadora que ande? Y sin PCB ni nada, eh. Soldando patita por patita a lo macho nomás, una contra otra a la que te criaste.

Eso, por un lado. Por el otro, la complejidad del cerebro es impresionante. Algunos hablan de 10^11 neuronas, y de algo así como 10^14 conexiones, o sinapsis.

Volviendo a tu pregunta, no tenemos las datasheets completas de las neuronas, y aparte, no tenemos los medios tecnológicos para crear sistemas de esa cantidad de neuronas y conexiones. O sea, estamos estancados en el hardware.
El software, si es que hay algo así en el cerebro... no empezamos ni a arañarlo.


----------



## chclau (May 4, 2012)

Algo que pensé con respecto a ésto... Y otra vez a un nivel muy burdo de cómo yo entiendo el cerebro, pero para eso primero doy un paso al costado.

Hace muchos años nos daban un circuito, supongamos, un sistema de adquisición de datos. Amplificador operacional, conversor A-D, micro.

La ganancia del operacional la controlabas por hardware variando resistencias. En el micro corría software que te mostraba el valor adquirido.

Pasan los años, y le agregamos unas cuantas cosas más. Un multiplexor controlado por el software para adquirir varios canales. La ganancia del amplificador, para adaptarla a cada canal, le ponemos al AO un potenciómetro digital a la entrada. Los límites entre HW y SW se empiezan a difuminar, no?

Del mismo modo, en el cerebro, las "resistencias" de los "integradores" van cambiando con el tiempo. Por ejemplo, el aprendizaje es, muy burdamente hablando, la bajada progresiva de los valores de resistencias en algunos caminos determinados, y-o la creación de caminos nuevos que refuerzan el concepto aprendido. O, cuando dejamos de oir un ruido monótono, en alguna parte una resistencia eleva su valor para bloquear este estímulo.

En definitiva... mi conclusión es que el cerebro es como un FPGA que se auto reprograma. Ahora tenemos "solamente" que conectar unos cuantos millones de FPGA, todos contra todos, darles posibilidades de auto reprogramación... y en un par de días lo tenemos a Terminator entre nosotros.


----------



## Ferdinando12 (May 4, 2012)

Una pequeña contribución, el hardware es software cableado.....
Este articulo es interesante
http://www.biounalm.com/2010/01/un-hongo-puede-simular-la-red-vial-de.html
.-


----------



## asherar (Mar 30, 2015)

Estoy asistiendo a un curso de redes neuronales (matemática, nada de hardware) y el primer ejercicio es hacer funcionar un perceptrón simple (sin capas ocultas) para hacer un OCR (Reconocedor Optico de Caracteres). 
Es un tipo de red neuronal que se dice asistida, porque se debe entrenar con relaciones de entrada-salida conocidas. 
Les paso el enunciado (en el TP1_2014.pdf) y una implementación mía en Matlab (en el PCO1-c.zip) para un entrenamiento con 5 letras (A,B,C,D,E) y un conjunto de pruebas de 5 letras (las mismas pero con ruido). 
Cada letra se arma con un arreglo de 5 pixels de ancho por otros 5 de alto, que se leen desde un archivo "dataset.m". Los arreglos se completan con un -1 al final para considerar los umbrales de activación de la red. 
El entrenamiento consiste en calcular los factores de peso para cada entrada. 
La neurona se entrena ejecutando con Matlab el script "ps_ent.m", rutina que, en cada pasada (o época): 
1.- calcula los factores de peso para todas las muestras, 
2.- calcula el error para todas las muestras, 
3.- corrige los factores de peso para reducir el error total.  
Esto lo repite hasta que el error de cada pasada sea menor que un determinado valor. 
El programa pide entrar un coeficiente "llamado velocidad de aprendizaje", lo que permite ajustar algo la precisión y la cantidad de pasadas que se calculan. 
Como en mi caso los "pesos" iniciales son al azar, cada vez se obtiene una solución diferente. 
Al entrenar construye los bmp de cada letra, muestra la curva de aprendizaje (el error en función de las pasadas),  

y el mapa de pesos en colores. 

En una segunda etapa, para usar la red se ejecuta el el script "ps_uso.m". 
El programa pide entrar el numero de ejemplo a probar con la red y el resultado es un nro binario de 10 bits escrito de atrás para adelante. Con las primeras 5 muestras no debería fallar, y con las 5 finales debería dar diferente según cuanto ruido uno le agrege a las muestras. Yo le puse dos o tres pixels cambiados. 

No es nada del otro mundo, pero está bueno para empezar a experimentar y perderle el miedo al tema. Luego uno lo puede complicar todo lo que quiera.
El paso siguiente es poner algo como esto en una FPGA, y ya tenemos un pequeño cerebro electrónico, al menos para hacer cosas simples como reconocer caracteres. 
No es chiste, creo que esto sería más simple que construir como alguien dijo antes una madeja de FPGAs que se auto configuren.


----------



## asherar (Sep 2, 2015)

Acá les muestro un programa que hice para clasificar un conjunto de tapitas exclusivamente a partir de su color. 
La aplicación en sí no sé si es muy práctica pero sirve para ilustrar las posibilidades de la técnica.
El video muestra cómo se entrena una red neuronal denominada Mapa Auto Organizado de Cohonen. 
Para el entenamiento se utiliza un archivo con 2970 ternas RGB. Estos números son generados al azar a partir de 9 colores bien diferentes de componentes RGB: (0,0,0), (0,0,255), ...,  (255,255,255) y  (127,127,127). 
En total se emplean 330 variantes al azar de cada uno de los 9 colores base. 
En un caso real el conjunto de colores de entrenamiento se podría generar fotografiando cada tapita por separado o más eficientemente digitalizando una foto del conjunto de tapitas a clasificar. 
Una vez entrenada la red cada tapita se explora individualmente con una cámara y su terna RGB se analiza con la red neuronal. 
El programa ubica el color correspondiente en una región de la pantalla que agrupa los colores similares. 
En el caso de aplicar esto a un clasificador de tapitas, deberá además habilitar una compuerta diferente para que la tapita sea reunida en una bolsa diferente para cada color. 
Entiendo que la aplicación práctica sería más interesante de ver, pero por ahora sólo terminé el software. El enlace manda al video en facebook:

https://www.facebook.com/IterAlgo/videos/vb.773998062620118/1039540819399173/?type=2&theater

La clasificación puede hacerse con diferente resolución en el mapa de salida. 
Algunos resultados finales con distinta resolución se muestran en las imágenes fijas siguientes.


----------



## torres.electronico (Sep 2, 2015)

*#modeTROLL_on*
Si maña cuando salis de tu casa ves por casualidad un "T-800", yo que vos dejo todo como esta y cuando te agarre, le decis que era un chiste y que solo sabes programar qbasic 

*#modeTROLL_off*
 Muy bueno Ale  ; Fuera de broma, hoy eto se puede hacer gracias a los avances de la tecnologia (FPGA´s)... Ahora, te imaginas todo esto en sus inicios por alla a fines de la decada de los 70 / principios de los 80? cuack 
Lleva su buen tiempo de lectura para tan solo tener una minima nocion y o tratar de entender lo que estas hablando...Por mi parte es muy poca lectura que le di al respecto y solo puedo hablar por articuos y algun que otro repositorio que eh leido; Practicamene como estoy muy ejos de estas tematcas, no le inverti el tiempo que realmente se merece... Igualmente, muy bueno che, gracias Ale por compartir tu experiencia


----------



## asherar (Sep 2, 2015)

Aclaro que esto lo hice con visual basic solamente, y eso de ponerlo en físico es algo que pienso 
hacer para otra aplicación más adelante cuando termine el curso de  FPGA correspondiente.  

Los mapas autoorganizados son relativamente fáciles de entender cómo funcionan y un poco 
rebuscados para construir. Para que lo haga yo que recién empiezo no debe ser muy difícil. 
Sólo sumas y productos y algunas horas de programación. 

Pero esto no es nada. 
Hay otras cosas más sofisticadas que están haciendo los muchachos de Google, como reconocer 
estilos de un pintor a partir de uno de sus cuadros, y luego reproducir el mismo estilo sobre otra 
imagen. Son otro tipo de redes más complejas, pero que corren en máquinas con placas gráficas 
(GPU) relativamente comunes. 

Como para darse una idea. 
http://www.sciencedump.com/content/new-neural-algorithm-applies-artistic-styling-paintings-photos


----------



## asherar (Feb 8, 2016)

Algo como para empezar a comprender qué son, cómo funcionan las redes neuronales, y por qué están haciendo furor en estos años recientes. 

http://www.xataka.com/robotica-e-ia/las-redes-neuronales-que-son-y-por-que-estan-volviendo







En el texto enlaza a: 
http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/





Que lleva a este juguetito:  http://cs.stanford.edu/people/karpathy/convnetjs//demo/classify2d.html

Espero que resulte instructivo y ayude a decidir a alguien para empezar a leer más en detalle.


----------



## asherar (Abr 12, 2016)

Sin ánimo de hacer off topic, sólo quiero contarles a los que me siguieron en este tema, que a mis jóvenes 53 años, por fin estoy asistiendo al tan deseado curso de FPGA !!! 
Asi que el T-800 que se vaya preparando, porque pronto tendrá que enfrentarse a mi ASH-1.0 !!!


----------



## asherar (May 13, 2016)

Enlazo un video que explica cómo utilizar un algoritmo para extracción de características con el objeto de analizar las dimensiones de un conjunto de datos. Está pensado en 3D para poder graficar algo y sacar conclusiones a simple vista. Se puede extender la idea a cualquier dimensión, sólo que el procesamiento correspondiente llevará un tiempo proporcionalmente mayor.

http://www.anmaks.com/Sanger_3.mp4

Cualquier duda, si puedo veré de aclararla.

Si les gusta leer acá va la version pdf: 

http://www.anmaks.com/REDES NEURONALES/Reducción de dimensiones usando Sanger.pdf

Esto puede aplicarse a la clasificación de un conjunto de fotografías. 
Supongamos que tenemos un grupo de 300 fotos de caras de gatitos y queremos hacer un sistema que los reconozca. A cada foto la vamos a pensar como un "dato" (no un gato) descrito como un "arreglo de N pixeles". 
N resulta ser la cantidad de coordenadas de cada foto, y por lo tanto la dimensión del espacio donde se define el conjunto. Para un análisis como este todas las fotos deben tener la misma resolución (cierto número de pixeles de ancho y de largo). 
La dimensión de este espacio puede ser enorme dependiendo de la resolución de las fotos. 
Pero por tratarse de fotos de un mismo tipo (caras de gatitos) es de esperar que exista una gran redundancia en el conjunto. 
Por lo tanto en realidad no se necesitarán tantas dimensiones para caracterizarlo. 
El algoritmo mostrado permite eliminar las redundancias para quedarse con la cantidad de dimensiones mínima, que es la cantidad de características en las que realmente difieren las fotos. 
Cada una de estas características será consecuencia de que existen algunos patrones en las imágenes. Por ejemplo, un patrón corresponderá a la forma ovoidal promedio de las siluetas de la caras. Otro patrón corresponderá a la forma de las orejas, otro a la de los ojos, otro a la boca, etc. 
Entonces, la cara de un gatito cualquiera se puede pensar como una combinación particular de cierta silueta de cara, cierto perfil de orejas, cierto formato de ojos, etc. 
Al final, nuestros mapas de N pixeles serán descritos como un conjunto de coeficientes que permiten reconstruir cada fotografía individual a partir de unos pocos patrones comúnes. 
La cantidad de coeficientes necesarios es mucho menor que la cantidad de pixeles N, lo que permite organizar los datos en forma práctica y ágil. Esto suele hacerse mediante otra red neuronal que ya he descrito, como ser los mapas autoorganizados o mapas de Cohonen. 
¿ Se acuerdan del organizador de tapitas ?


----------

