Fast Artificial Neural Network ( FANN ) es una biblioteca de programación multiplataforma para el desarrollo de redes neuronales artificiales (RNA) multicapa de propagación directa . Es software libre y de código abierto, licenciado bajo la Licencia Pública General Reducida de GNU (LGPL).
Características
FANN admite la ejecución multiplataforma de redes de una y varias capas. También admite aritmética de punto fijo y de punto flotante . Incluye funciones que simplifican la creación, el entrenamiento y las pruebas de redes neuronales. Cuenta con enlaces para más de 20 lenguajes de programación , incluidos lenguajes de uso común como PHP , C# y Python . [ 1 ]
En el sitio web de FANN se encuentran disponibles varias interfaces gráficas de usuario para utilizar con la biblioteca, como FANNTool, Agiel Neural Network, Neural View, FannExplorer, sfann y otras. Estas interfaces gráficas facilitan el uso de FANN a usuarios con menos experiencia en programación o que buscan una solución sencilla y lista para usar.
El entrenamiento de FANN se lleva a cabo mediante retropropagación . Las funciones de entrenamiento internas están optimizadas para reducir el tiempo de entrenamiento.
Las redes neuronales artificiales entrenadas se pueden almacenar como archivos .NET para guardarlas y cargarlas rápidamente para su uso o entrenamiento futuro. Esto permite dividir el entrenamiento en pasos más pequeños, lo cual resulta útil al trabajar con grandes conjuntos de datos de entrenamiento o redes neuronales de gran tamaño.
Historia
FANN fue escrita originalmente por Steffen Nissen. Su implementación original se describe en el informe de Nissen de 2003, Implementación de una biblioteca de redes neuronales artificiales rápidas (FANN) . [ 2 ] Este informe fue presentado al departamento de informática de la Universidad de Copenhague (DIKU). En su informe original, Nissen afirmó que uno de sus principales motivos para escribir FANN era desarrollar una biblioteca de redes neuronales compatible tanto con aritmética de punto fijo como de punto flotante. Nissen quería desarrollar un agente autónomo que pudiera aprender de la experiencia. Su objetivo era utilizar este agente autónomo para crear un jugador virtual en Quake III Arena que pudiera aprender del juego.
Desde el lanzamiento de su versión original 1.0.0, las funciones de la biblioteca han sido ampliadas por su creador y sus numerosos colaboradores para incluir constructores más prácticos , diferentes funciones de activación , un acceso más sencillo a los parámetros y enlaces a múltiples lenguajes de programación.
El mantenimiento del proyecto se realizó inicialmente desde 2003 en SourceForge , pero desde 2011 se mantiene utilizando el sistema de control de versiones Git [ 3 ] alojado en GitHub . El proyecto estuvo inactivo desde noviembre de 2015 hasta mayo de 2018; en la sección de incidencias, algunos usuarios mencionaron que el autor ya no estaba disponible. Desde 2018, el desarrollo se ha reactivado con contribuciones de varios colaboradores. [ 4 ]
Investigación
El informe original de FANN, escrito por Steffen Nissen, ha sido citado 526 veces según Google Académico . La biblioteca se ha utilizado para investigaciones en reconocimiento de imágenes , aprendizaje automático , biología , genética , ingeniería aeroespacial , ciencias ambientales e inteligencia artificial .
Entre las publicaciones destacadas que citan a FANN se incluyen:
- Papa, JP (2009). "Clasificación de patrones supervisada basada en bosques de ruta óptima". Revista Internacional de Sistemas y Tecnología de Imágenes .
- Papa, JP (2012). "Clasificación eficiente de bosques de ruta óptima supervisada para grandes conjuntos de datos". Pattern Recognition .
- Enzweiler, M. (2011). "Un marco de mezcla de expertos multinivel para la clasificación de peatones". IEEE Transactions on Image Processing .
- Goller, B. (2011). "Una técnica de actualización de modelos estocásticos para estructuras aeroespaciales complejas". Elementos finitos en análisis y diseño .
- Tartaglia, GG (2006). "Predicción de las estabilidades estructurales locales de las proteínas a partir de sus secuencias de aminoácidos". Structure .
Enlaces de lenguaje
FANN fue escrito originalmente en el lenguaje C. [ 5 ] Muchos otros enlaces de lenguaje han sido creados por colaboradores de FANN, incluyendo:
- FannCSharp
- fannj
- Envoltorio FANN para C++
- nodo-fann
- fann.js
- PHP FANN [ 6 ]
- Fortran FANN
- Óxido FANN
- ventilador
- Python FANN
- DerelictFANN
- Fann2Mql
- MetaTrader 4 (MQL4)
- IA-FANN
- rubí-fann
- hrb4fann
- Delphi FANN
- Redes neuronales artificiales Tcl
- lfann
- Prólogo FANN
- plfann
- go-fann
- Núcleo FANN
- Jabón, servicio web
- MATLAB FANN
- libfann de enlace R
- FannAda
- hfann
- Ana.*
- ventilador de octava
- Charla informal FANN
- PD ANN
Véase también
Referencias
- ↑ "FANN – Red neuronal artificial rápida" . leenissen.dk . Consultado el 20 de marzo de 2026 .
- ↑ Nissen, Steffen (31 de octubre de 2003). Implementación de una biblioteca de redes neuronales artificiales rápidas (FANN) (Informe). Departamento de Ciencias de la Computación de la Universidad de Copenhague (DIKU) . Recuperado el 12 de enero de 2026 .
- ↑ "libfann/fann - Confirmación inicial del proyecto VS2010 y archivos fuente y de ejemplo" . GitHub . 4 de septiembre de 2011. Consultado el 12 de enero de 2026 .
- ↑ "¿El propietario de este repositorio se ha retirado / desaparecido? [ sic ] " . GitHub .
- ↑ "Biblioteca de redes neuronales artificiales rápidas" . fann.sourceforge.net . Consultado el 22 de julio de 2025 .
- ↑ "PHP: FANN - Manual" . www.php.net . Consultado el 8 de octubre de 2022 .
Enlaces externos
- Sitio web oficial
- Biblioteca de redes neuronales artificiales rápidas (FANN) en GitHub
- Biblioteca de redes neuronales artificiales rápidas (FANN) en SourceForge
- Bibliotecas de programación