NeuralNetworkAPI Plugin pour Minecraft 1.12
Un plugin Bukkit pour ajouter des réseaux de neurones dans Minecraft.
À propos du plugin NeuralNetworkAPI
NeuralNetworkAPI
Un plugin Bukkit pour ajouter des réseaux de neurones dans Minecraft.
Comment l'utiliser (démo de base)
- Pour commencer, utilisez /nn cnn ou /nn createNewNN pour voir la liste de tous les types de réseaux de neurones. Je vous recommande de sélectionner LogicalOR pour débuter.
- Ensuite, utilisez /nn startlearning pour lancer l'entraînement du réseau de neurones.
- Presque immédiatement après avoir envoyé cette commande, utilisez /nn stoplearning pour arrêter l'entraînement. En l'espace de quelques secondes après l'envoi de ces deux commandes, le bot a parcouru plus d'un millier de scénarios et devrait être précis à 100 %. (Pour les autres réseaux de neurones, vous pouvez vérifier la précision en consultant la console.)
- Maintenant, pour le tester, utilisez /nn test pour tester deux entrées, soit true soit false. (exemple : /nn test true false)
- Pour LogicalOR, il devrait afficher true si la première et/ou la seconde entrée est true.
Pour les non-développeurs
Ce plugin n'apporte rien en soi à part quelques démos de ce que cette API peut accomplir. Si vous ne prévoyez pas de développer votre propre plugin NeuralNetwork ou d'utiliser un autre plugin qui utilise cette API, ce plugin peut vous être inutile.
Pour les développeurs de plugins
Il y a quelques points que vous devriez connaître avant de tenter de créer un nouveau type de réseau de neurones.
- Le package d'exemple donne un certain nombre d'exemples de création de réseaux de neurones. Les réseaux de neurones de portes logiques devraient être les plus faciles à comprendre.
- Par défaut, tous les réseaux de neurones qui étendent NNBaseEntity implémentent automatiquement ConfigurationSerializable. Cependant, pour que Bukkit puisse charger ces valeurs depuis la config, vous devrez créer un nouveau constructeur pour la classe comme ceci :
public CustomNeuralNetwork(Map<String,Object> map){ super(map); }
...et laisser la classe ConfigurationSerialization enregistrer l'objet dans le onEnable ou le onLoad de la classe principale comme ceci :
public void onEnable(){ ConfigurationSerialization.registerClass(CustomNeuralNetwork.class); }
- Après cela, vous devriez pouvoir sauvegarder et charger le NNBaseEntity depuis et vers la config. Notez que vous ne pouvez pas sauvegarder l'instance NeuralNetwork dans la config.
- Idéalement, aucune autre partie de votre plugin ne devrait référencer directement votre objet de réseau de neurones personnalisé. À la place, tous les appels à cet objet devraient passer par l'objet NeuralNetwork.
- Pour de meilleurs résultats, n'appelez DeepReinformentUtil.instantaneousReinforce que lorsque le réseau de neurones a échoué d'une manière ou d'une autre. L'appeler lorsqu'il a renvoyé la valeur correcte tend à lui faire "oublier" ce qu'il a peut-être déjà appris.
- Cette API est encore en développement. Certains aspects de ce plugin peuvent changer dans de futures mises à jour. Vérifiez régulièrement la page GitHub pour les mises à jour et assurez-vous que votre projet référence toujours la version la plus récente.
- Lors de l'entraînement de votre NeuralNetwork, si vous ne voulez pas que la console se remplisse de messages de débogage, utilisez NeuralNetworksetBroadcasting(false); pour désactiver le débogage dans la console.
- Si votre IA ne renvoie pas les valeurs que vous attendez, ou si vous voulez savoir ce que votre réseau de neurones "pense" pour une entrée donnée, vous pouvez ouvrir le grapheur pour avoir une visualisation de ce qui se passe. Utilisez NeuralNetworkopenGrapher(); pour ouvrir l'instance du grapheur. Une fois terminé, vous pouvez utiliser NeuralNetworkcloseGrapher(); pour fermer correctement la fenêtre.
- Ajouter davantage de couches cachées à votre réseau de neurones augmente la complexité des motifs qu'il peut apprendre.
- Dans certains cas, avoir un BiasNeuron peut augmenter ou diminuer la capacité du réseau à apprendre. Pour les situations où certaines sorties sont nécessaires s'il n'y a aucune entrée (XNOR, NAND, Inverted, par exemple), il est alors préférable d'avoir au moins 1 neurone de biais dans les entrées.
- Avoir des BiasNeurons sur les couches cachées peut ou non aider dans certaines situations.
Comment cela fonctionne
Les NeuralNetworks commencent avec trois composants de base : un tableau Sensoriel, un objet AI et un objet Controler.
- Le tableau Sensoriel détermine les entrées. Cela peut être des booléens, représentant une valeur true ou false, ou des nombres qui représentent les états possibles pour l'entrée.
- L'AI est ce qui convertit les entrées en sorties. Par une série de neurones, chacun avec ses propres valeurs et seuils, l'information est transmise de l'entrée vers les sorties en fonction de la façon dont le réseau de neurones a été entraîné.
- Le Controler est la façon dont vous convertissez les sorties en données que vous pouvez utiliser. Par exemple, le controler peut convertir les sorties en un booléen, déterminant si l'AI a détecté un gros mot pour un filtre anti-gros mots, ou déterminant la somme de deux entiers.
Page GitHub :
https://github.com/ZombieStriker/NeuralNetworkAPI
Ce plugin collecte des statistiques via bStats :
Bestats collecte uniquement des informations concernant l'architecture de votre système, la version du serveur et la version du plugin. Si vous ne voulez vraiment pas que ces informations soient envoyées, vous pouvez désactiver bstats en allant dans la config et en mettant : "enableStats" sur false.
Comment installer NeuralNetworkAPI
A server on Paper or Spigot
The plugin runs on the server core for Minecraft 1.8.1–1.12; players do not need to install anything.
File goes into the plugins folder
Download the file NeuralNetworkAPI.jar (183 KB) and put it into the server’s plugins folder.
Restart the server
On startup the plugin creates its own settings folder in plugins.
Use the “To server” button
On Millida Hosting, the button at the top of the page uploads the file to your server and restarts it for you.
Minecraft 1.12 runs on Java 8: with a different Java version the game may close right after launch.
Versions
Avec dépendances
| Minecraft | Loader | Fichier | Date | Actions |
|---|---|---|---|---|
| 1.11 | — | NeuralNetworkAPI V1.0.6183 Ko |
FAQ
Which Minecraft versions does NeuralNetworkAPI work on?
There are files for 1.12, 1.11, 1.10, 1.8.1. The newest is 1.12.
Do players need to install NeuralNetworkAPI?
No, the plugin goes only on the server, into the plugins folder: players do not need to download anything.
Which Java does NeuralNetworkAPI need?
Minecraft 1.12 runs on Java 8. If the game closes right after launch, the usual cause is the wrong Java version in the profile settings.
Where can I download NeuralNetworkAPI safely?
On this page: the file NeuralNetworkAPI.jar (183 KB) is stored on Millida’s server, with no link shorteners. SHA-1 checksum: ddba585e5cd50b96f0dc93c2d7523657b9273b43.
Avis
Soyez le premier à noter NeuralNetworkAPI



