2

Ich schreibe neuronales Netzwerk, das Tic-Tac-Toe spielen kann. Netzwerk hat 9 Input-Neuronen, die den Zustand des Boards beschreiben (1 - für Netzwerkzüge, 1,5 - für Gegnerzüge, 0 - für leere Zellen) und 9 Ausgabe-Neuronen (Ausgabe-Neuron mit dem höchsten Wert gibt die beste Aktion in einem gegebenen an Zustand). Netzwerk hat keine versteckte Ebene. Aktivierungsfunktion - Sigmoid. Lernmethode - Q-Lernen + Backpropagation.Neuronales Netzwerk für Tic-Tac-Toe

Das Netzwerk ist trainiert, aber schlecht (setzt weiterhin auf die besetzten Zellen). Also habe ich beschlossen, eine versteckte Ebene hinzuzufügen. Und ich möchte fragen:

Welche Anzahl von Neuronen in der versteckten Schicht zu verwenden und welche Aktivierungsfunktionen sind besser für versteckte und Ausgabe-Layer?

+1

Ich mag Sie Projekt, wenn Sie es auf Github veröffentlichen, wird es allen zugute kommen. Leider ist nicht klar, wie wir die Frage beantworten sollen. Deine Frage hört sich an, als hättest du einen Fehler (tritt auf besetzte Zellen), als eine Frage zum maschinellen Lernen. – SmallChess

Antwort

1

Im Allgemeinen wird die Anzahl der Neuronen, die für die verborgene Schicht hinzugefügt werden sollen, diskutiert here, aber als Faustregel sollte die Anzahl der Neuronen in der versteckten Schicht ungefähr der Anzahl der Eingangsneuronen entsprechen.

Sie können auch das Hinzufügen Anzahl der verborgenen Schichten betrachten, die here diskutiert

Die sigmoide Aktivierungsfunktion ist gut und trotzdem können Sie es überprüfen und auf andere Aktivierungsfunktionen vergleichen.

In Ihrem spezifischen Fall können Sie auch force den Agenten betrachten, um (besetzte) Zellen durch die Verwendung unterschiedlicher Architektur für das Ausgabeneuron nicht zu wählen.

+0

Danke für Ratschläge! Ich werde versuchen, sie zu benutzen. – John