Información y enlaces
Participa comentando, viendo lo que otros tienen que decir, o enlazandolo desde tu blog.
- Otros artículos
- ¿com.sun:tools:jar:1.5.0?
- No me funciona Java Web Start en Opera
Jugando con Redes Neuronales.
Las redes neuronales son una de las herramientas más potentes en el campo de la IA, y en particular suelen dar muy buenos resultados en la detección y reconocimiento de figuras. Recientemente hemos realizado pruebas para valorar si incluíamos esta posibilidad en la detección de figuras en uno de nuestros proyectos. Y aunque en este caso, se ha descartado esta opción, me hace pensar que es sólo cuestión de potencia que algún día las máquinas puedan ser capaces de “ver flores”.
Y para demostrarlo, vamos a detectar en la siguiente foto quiénes son “un poco Flower”:

El primer paso es aplicar a la imagen original un algoritmo de detección de bordes para simplificar la imagen:
Ya que la potencia de calculo es finita y escasa, nuestra red neuronal contendrá sólo 10×10 neuronas, para poder distinguir y procesar una zona muy pequeña, pero suficientemente representativa de la flor.
El siguiente paso es entrenar a nuestra red neuronal, para ello, proporcionamos a la red neuronal ejemplos correctos e incorrectos de regiones de la imagen y lanzamos el proceso de entrenamiento sobre este conjunto reducido.
KernelIA ia = KernelIA.buildKernel(imagen, rectangulos);
Internamente este método itera sobre todas las zonas de ejemplo que tenemos, las transforma a una matriz entendible por la red neuronal e inicia el proceso de entrenamiento para cada patrón.
Una vez que el proceso de entrenamiento ha terminado, ya esta disponible la red neuronal para ser interrogada. Recorremos la imagen, e interrogamos a la red neuronal, en busca de zonas que cumplan con el patrón buscado.
Resultado tras 10 minutos de entrenamiento y 15 patrones sobre los que aprender:
Resultado tras 6 horas de entrenamiento y 40 patrones sobre los que aprender:

Como vemos, en este último caso, el sistema prácticamente ha sabido detectar todos los “Flowers de la oficina”, aunque incluso con 6 horas de entrenamiento, ha cometido algunos extraños errores. Probablemente con algo más de tiempo, paciencia y potencia de cálculo podremos llegar al objetivo deseado en el futuro.


¿Tienes alguna bibliografía divulgativa sobre el tema? Me parece muy interesante incluso para gente como yo :P