Presentación de Libgann

Libgann es una biblioteca de redes neuronales, construida bajo licencia GPL haciendo uso del lenguaje de  programación C++. Debido a las características que definen a este lenguaje, unido a un estudio de los  aspectos que tienen en común los distintos modelos de redes neuronales, se ha conseguido una biblioteca de fácil uso y una gran expansibilidad, que mantiene un estricto compromiso entre claridad y eficiencia.

Libgann no nace como un proyecto fin de carrera, fue ideada en 2005 como una forma de introducirme en las redes neuronales, no obstante, después de invertir un cierto tiempo en el diseño de la biblioteca, me parecía cada vez un proyecto más interesante, en el cual, podría aplicar muchas tecnologías y conocimientos hasta entonces adquiridos, y lo que es más importante, aprender muchas cosas nuevas, esto unido a la gratificación personal que ofrece el desarrollo de software libre, han hecho a este servidor un entusiasmado de este proyecto, tanto es así, que al igual que Libgann no nació como un proyecto fin de carrera, tampoco morirá como tal.
La biblioteca no es la primera creada como software libre, no obstante tiene características que la diferencian, entre otras podemos destacar:

  • Una jerarquía de clases que permite crear nuevos modelos sin que se convierta en una tarea ardua, esto dota al proyecto de una gran escalabilidad.
  • La biblioteca soporta redes neuronales dinámicas, es decir,  podemos añadir neuronas a estas e incluso capas, sin tener que reconstruir de nuevo la red neuronal.
  • Uso del estándar XML para formatear y validar la información, de forma que todos los ficheros generados por Libgann, serán creados con formato XML, y tendrán un DTD asociado que nos permitirá determinar la validez de los citados ficheros.
  • Implementa métodos para visualizar de las redes neuronales construidas, para ello usa GraphViz, dando así un carácter pedagógico a la biblioteca.

En el ámbito de las redes neuronales es crucial la eficiencia, hasta tal punto, que muchas aplicaciones no pueden permitirse la carga extra que supone usar una biblioteca de redes neuronales, este tipo de aplicaciones implementan una red neuronal especifica que le permite obtener una rápida ejecución, no obstante, existe un proceso previo que busca la red neuronal y los parámetros que más se adecúan a un uso determinado. En este proceso, es donde adquieren importancia las bibliotecas de redes neuronales, y es donde se enmarca nuestro proyecto.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: