Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Coding Releases
You last visited: Today at 15:26

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Opensource]Artificial Neural Network

Discussion on [Opensource]Artificial Neural Network within the Coding Releases forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 35
Join Date: Jun 2009
Posts: 2,187
Received Thanks: 6,906
[Opensource]Artificial Neural Network

Hey Leute,

wie der Name schon sagt, release ich heute mein "Framework" zum Verwalten und zum Trainieren von künstlichen neuronalen Netzwerken.

Das "Framework" kann bis jetzt lediglich sogenannte feed-forward-Netze verwalten. Außerdem werden diese Netze anhand des sogenannten "Überwachten Lernens" trainiert.

Das bedeutet so viel wie, dass alle künstlichen Neuronen nur nach vorne verbunden werden (in einem zweidimensionalem Raum sozusagen immer nach rechts). Überwachtes Lernen meint, dass das künstliche neuronale Netzwerk anhand von Eingabedaten und deren zugeordneten Ausgabe-Daten angepasst wird, um so die Fehlerquote zu minimieren.
So ist es beispielsweise ganz einfach möglich, einem künstlichen neuronalen Netzwerk die logischen Grund-Funktionen wie UND, ODER, etc. anzulernen.

Bei Interesse werde ich das ganze auch nochmal etwas genauer und simpel erklären.
Ansonsten könnt ihr all das auch auf Wikipedia usw. nachlesen.

Zum Trainieren der künstlichen neuronalen Netzwerke wird übrigens die sogenannte Backpropagation verwendet.

Nun stellt sich euch sicher die Frage, was kann man mit so einem Mist anfangen?

Für mich dient es einerseits für "Forschungszwecke".
Andererseits stellen künstliche neuronale Netzwerke eine signifikante Rolle im Bereich der Bildverarbeitung, Spracherkennung usw. dar, was für mich ein weiterer Anreiz dafür war, mich mit ihnen auseinander zu setzen.
Es sind euch keine Grenzen gesetzt, lasst eurer Kreativität freien Lauf.

Bei Gelegenheit werde ich das "Framework" weiter verbessern und eventuell sogar eine Visualisierungs-Anwendung schreiben.

Der Hauptgrund warum ich meine Arbeit veröffentliche ist, dass einer von euch sich eventuell mal die Zeit nehmen könnte, um einen Blick auf meinen Quellcode zu werfen und mir zu sagen, was ich hätte besser machen können oder was ich gänzlich falsch gemacht habe. Ich persönlich würde mich riesig über Kritik eurerseits freuen.

Nun gut...
Ich denke, ich hab euch inzwischen genug vollgelabert...
Hier nun der Link zum Git-Repository (ich weiß nicht.. ist das erlaubt?):



MfG Oliver

P.S. Als IDE habe ich Qt Creator verwendet - .pro-Datei befindet sich ebenfalls im Repository
P.P.S. Es sollte zwar alles einwandfrei funktionieren, ist dennoch aber nur eine Pre-Alpha-Version..
CranK™ is offline  
Thanks
3 Users
Old 09/08/2014, 15:35   #2
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Warum lässt du die Neuronen nicht in einer Adjazenzliste bzw. Adjazenzmatrix speichern? Das ist viel effektiver in der Verarbeitung und vorallem Speicherplatz sparender als für alles eine extra Klasse zu machen. Hinzu kommt, dass es wohl auch Codetechnisch um einiges kürzer wäre.

Ansonsten sieht das ansich vom Ablauf her gut aus.

Wäre bestimmt praktisch, wenn du noch nen Momentumterm hinzufügst und du die Lernrate mit der Zeit anpassen lässt. Das erhöht die Effektivität von Neuronalen Netzen ungemein.
Shadow992 is offline  
Thanks
1 User
Old 09/08/2014, 23:38   #3
 
elite*gold: 35
Join Date: Jun 2009
Posts: 2,187
Received Thanks: 6,906
Update

Quote:
Originally Posted by Shadow992 View Post
Warum lässt du die Neuronen nicht in einer Adjazenzliste bzw. Adjazenzmatrix speichern? Das ist viel effektiver in der Verarbeitung und vorallem Speicherplatz sparender als für alles eine extra Klasse zu machen. Hinzu kommt, dass es wohl auch Codetechnisch um einiges kürzer wäre.

Ansonsten sieht das ansich vom Ablauf her gut aus.

Wäre bestimmt praktisch, wenn du noch nen Momentumterm hinzufügst und du die Lernrate mit der Zeit anpassen lässt. Das erhöht die Effektivität von Neuronalen Netzen ungemein.
Adjazenzmatrix war anfangs geplant, da mich aber interessierte, wie das wohl mit den Vektoren etc. aussehen wird, habe ich schlichtweg diesen Weg eingeschlagen. Des Weiteren sollte es so leichter möglich sein, weitere Netzwerktypen zu implementieren...
Kann mich dabei aber auch irren.

#Neues Update#
-Momentumterm hinzugefügt
-Variable Lernrate hinzugefügt
CranK™ is offline  
Thanks
1 User
Old 09/11/2014, 14:14   #4
 
_Roman_'s Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 1,620
Received Thanks: 237
Quote:
So ist es beispielsweise ganz einfach möglich, einem künstlichen neuronalen Netzwerk die logischen Grund-Funktionen wie UND, ODER, etc. anzulernen.
Wie würde sowas funktionieren? Hab mich jetzt noch nicht wirklich eingelesen in das Thema, aber ANN klingen ziemlich interessant
_Roman_ is offline  
Old 09/11/2014, 14:31   #5
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by _Roman_ View Post
Wie würde sowas funktionieren? Hab mich jetzt noch nicht wirklich eingelesen in das Thema, aber ANN klingen ziemlich interessant
Wenn du eine exakte Antwort willst, kannst du einen Blick in mein E-Book werfen:

Wenn es dich nicht so genau interessiert:
Du speist in das Netz ein paar Werte ein und sagst welcher Wert eigentlich hätte rauskommen sollen. Das Netz passt sich dann so an, dass es dem eigentlich richtigem Ergebnis nahe kommt.

Alles in allem ist es aber ungewöhnlich KNN für rein logische Verknüpfungen zu benutzen, weil sich KNNs eben dadurch auszeichnen, dass sie sehr gut im "schätzen" sind und weniger gut im exakten berechnen.
Aber möglich ist es natürlich dennoch.
Shadow992 is offline  
Thanks
2 Users
Old 09/11/2014, 14:48   #6
 
_Roman_'s Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 1,620
Received Thanks: 237
Quote:
Originally Posted by Shadow992 View Post
Wenn du eine exakte Antwort willst, kannst du einen Blick in mein E-Book werfen:

Wenn es dich nicht so genau interessiert:
Du speist in das Netz ein paar Werte ein und sagst welcher Wert eigentlich hätte rauskommen sollen. Das Netz passt sich dann so an, dass es dem eigentlich richtigem Ergebnis nahe kommt.

Alles in allem ist es aber ungewöhnlich KNN für rein logische Verknüpfungen zu benutzen, weil sich KNNs eben dadurch auszeichnen, dass sie sehr gut im "schätzen" sind und weniger gut im exakten berechnen.
Aber möglich ist es natürlich dennoch.
Danke für die Antwort. Ich bin mir bereits über dein Ebook bewusst, wobei ich mir nicht sicher bin, ob mein Maß an Interesse so hoch ist. Es gibt ziemlich viele Sachen für die ich mich interessiere, aber ich finde einfach nicht die Zeit dafür. Reverse Engineering oder Spieleentwicklung würden dazu zählen.

BTT: Inwiefern passt sich das Netz an? Könnte man mit einem KNN folgendes bewerkstelligen?: Ein Spiel wo ein Gegner sich dem Spieler anpasst, was verschiedenste Kriterien voraussetzen würde wie Leben, Schaden etc. des Spielers. Dadurch würde der Spieler immer gegen Gegner kämpfen, die stark genug sind. Aber würde das dann unter den Lernprozess eines KNN fallen oder verstehe ich KNN's falsch?
_Roman_ is offline  
Old 09/11/2014, 15:12   #7
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by _Roman_ View Post
Danke für die Antwort. Ich bin mir bereits über dein Ebook bewusst, wobei ich mir nicht sicher bin, ob mein Maß an Interesse so hoch ist. Es gibt ziemlich viele Sachen für die ich mich interessiere, aber ich finde einfach nicht die Zeit dafür. Reverse Engineering oder Spieleentwicklung würden dazu zählen.

BTT: Inwiefern passt sich das Netz an? Könnte man mit einem KNN folgendes bewerkstelligen?: Ein Spiel wo ein Gegner sich dem Spieler anpasst, was verschiedenste Kriterien voraussetzen würde wie Leben, Schaden etc. des Spielers. Dadurch würde der Spieler immer gegen Gegner kämpfen, die stark genug sind. Aber würde das dann unter den Lernprozess eines KNN fallen oder verstehe ich KNN's falsch?
Nein das ist eines der Gebiete wofür KNNs bestens geeignet sind. Du musst jedoch bedenken, dass die Lernzeiten bei einem derartigem netz extrem groß werden, da wirst mehrere 1000 Kämpfe machen bis das Netz genug gelernt hat um ungefähr auf dem Niveau des Gegners zu sein. Auch die Idee, dass man dadurch Gegner generieren kann, die mit der Spieler mitwachsen muss ich dir leider etwas weniger schmackhaft machen. KNNs sind zwar ziemlich gut im Lernen, aber das menschliche Gehirn ist immer noch um einiges besser als ein KNN. Vondaher kannst du dein KNN zwar trainieren, du brauchst jedoch
1. Viele Spiele bis der Gegner wirklich gut wird
2. Wird er wohl nicht so schnell und gut wie du besser werden

Daher werden KNNs meist im vorraus an einem Algorithmus trainiert, der Gegner simuliert und je nach Schwierigkeit hört man dann bereits nach ein paar Gegnern mit dem Trainieren auf oder eben erst nach ein paar Tausend oder sogar Hunderttausend Spielen.
Shadow992 is offline  
Thanks
2 Users
Reply

Tags
ann, artificial intelligence, ki, knn, künstliche intelligenz


Similar Threads Similar Threads
Artificial Aiming .net Bot
07/27/2012 - All Points Bulletin - 2 Replies
Sell Artificial Aiming .net subscription. Valid until next December! Has access to Full Aimbot for APB reloaded LEVEL 3 Sub!!! Undetected!!! and fully working. Send me a pm!
artificial level up glitch in pvp
03/15/2008 - Archlord - 6 Replies
Back when I was a lvl 32 I think it was. I was waiting in the pvp square in Deribelle waiting for someone to come by and battle when all of a sudden my hp was up from around 800 to around 3000, also my attacks were significantly more. I remmember that I was trying to find a party at the time. sending requests to my freinds. thats all I really remmember. if this has happend to anyone else tell me how. Or if any one know how to do it please tell me. i also wanted to know if anyone knows why...



All times are GMT +1. The time now is 15:28.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.