Je recherche une bibliothèque de réseau neuronal open source. Jusqu'à présent, j'ai examiné FANN, WEKA et OpenNN. Les autres que je devrais regarder? Les critères, bien sûr, sont la documentation, les exemples et la facilité d'utilisation.
Dernière mise à jour: 07/01/2019 (Je mettrai à jour cette réponse de temps en temps ...)
Parce que les réseaux de neurones sont très populaires en ce moment ("apprentissage profond"), il existe de nombreuses bibliothèques de recherche disponibles. La plupart d'entre eux sont faciles à configurer, à intégrer et à utiliser. Bien que ce ne soit pas aussi simple que les bibliothèques mentionnées ci-dessus. Ils fournissent des fonctionnalités Edge de pointe et de hautes performances (avec des GPU, etc.). La plupart de ces bibliothèques ont également une différenciation automatique. Vous pouvez facilement spécifier de nouvelles architectures, fonctions de perte, etc. et ne pas avoir à spécifier manuellement la rétropropagation.
Une comparaison des performances pour les bibliothèques accélérées par GPU peut être trouvée ici (un peu dépassé malheureusement). Une comparaison des GPU et des versions de bibliothèque peut être trouvée ici .
Inactif:
Si vous voulez de la flexibilité dans la définition des configurations de réseau, comme le partage de paramètres ou la création de différents types d'architectures convolutionnelles, alors vous devriez regarder la famille des bibliothèques Torch: http://www.torch.ch/ .
Je n'ai pas encore parcouru la documentation de Torch 7, mais la documentation des autres versions était assez décente et le code est très lisible (en Lua et C++).
Vous pouvez utiliser le framework accord.net. http://accord-framework.net/
Il contient des algorithmes d'apprentissage neuronal tels que Levenberg-Marquardt, Parallel Resilient Backpropagation, l'algorithme d'initialisation Nguyen-Widrow, Deep Belief Networks et Restrictured Boltzmann Machines, et de nombreux autres éléments liés au réseau neuronal.
Netlab est une bibliothèque Matlab couramment utilisée. (gratuit et open source)
La boîte à outils Netlab est conçue pour fournir les outils centraux nécessaires à la simulation d'algorithmes de réseaux neuronaux théoriquement bien fondés et de modèles connexes à utiliser dans l'enseignement, la recherche et le développement d'applications. Il est largement utilisé dans le MSc par Research in the Mathematics of Complex Systems.
La bibliothèque Netlab comprend des implémentations logicielles d'un large éventail de techniques d'analyse de données, dont beaucoup ne sont pas encore disponibles dans les packages de simulation de réseau neuronal standard. Netlab fonctionne avec Matlab version 5.0 et supérieure mais n'a besoin que du noyau Matlab (c'est-à-dire qu'aucune autre boîte à outils n'est requise). Il n'est pas compatible avec les versions antérieures de Matlab.