NeuralNetwork

NeuralNetwork

new NeuralNetwork(topology)

Description:
  • Erstellt ein neues Neuronales Netz mit der gegebenen Topologie.

Source:
Examples
// XOR-Netz: 2 Inputs → 4 Hidden → 1 Output
const net = new NeuralNetwork({
    layers: [2, 4, 1],
    activations: ['relu', 'sigmoid'],
    lossFunction: 'mse',
    learningRate: 0.1
});
// TTT-Netz: 9 Inputs → 36 Hidden → 36 Hidden → 9 Output (Softmax)
const net = new NeuralNetwork({
    layers: [9, 36, 36, 9],
    activations: ['relu', 'relu', 'softmax'],
    lossFunction: 'crossEntropy',
    learningRate: 0.01
});
Parameters:
Name Type Description
topology NetworkTopology

Members

activationNames :Array.<string>

Description:
  • Aktivierungsnamen pro Layer (für Snapshot/Serialisierung).

Source:

Aktivierungsnamen pro Layer (für Snapshot/Serialisierung).

Type:
  • Array.<string>

epoch :number

Description:
  • Aktuelle Epoche (Trainingsfortschritt).

Source:

Aktuelle Epoche (Trainingsfortschritt).

Type:
  • number

lastInput :Float64Array|null

Description:
  • Letzter Input (für Snapshot nach Forward-Pass).

Source:

Letzter Input (für Snapshot nach Forward-Pass).

Type:
  • Float64Array | null

lastLoss :number

Description:
  • Letzter berechneter Verlust.

Source:

Letzter berechneter Verlust.

Type:
  • number

layers :Array.<Layer>

Description:
  • Alle Layers (ohne Input-Layer — der Input-Layer ist kein echtes Layer-Objekt). Index 0 = erster Hidden-Layer, letzter Index = Output-Layer.

Source:

Alle Layers (ohne Input-Layer — der Input-Layer ist kein echtes Layer-Objekt). Index 0 = erster Hidden-Layer, letzter Index = Output-Layer.

Type:

learningRate :number

Description:
  • Lernrate für Gradient Descent.

Source:

Lernrate für Gradient Descent.

Type:
  • number

lossFunction :LossFunction

Description:
  • Aktuelle Verlustfunktion.

Source:

Aktuelle Verlustfunktion.

Type:

lossFunctionName :string

Description:
  • Name der Verlustfunktion.

Source:

Name der Verlustfunktion.

Type:
  • string

topologyDef :Array.<number>

Description:
  • Topologie als Array der Layer-Größen.

Source:

Topologie als Array der Layer-Größen.

Type:
  • Array.<number>

Methods

backward(target) → {number}

Description:
  • Führt einen Backward-Pass (Backpropagation) durch. Berechnet Gradienten und aktualisiert Gewichte mit Gradient Descent.

Source:
Parameters:
Name Type Description
target Float64Array | Array.<number>

Zielwerte

Returns:

Der berechnete Verlust

Type
number

deserialize(data)

Description:
  • Lädt Gewichte aus einem serialisierten Objekt.

Source:
Parameters:
Name Type Description
data Object

Serialisiertes Netzwerk (von serialize())

forward(input) → {Float64Array}

Description:
  • Führt einen Forward-Pass durch das gesamte Netzwerk aus. Daten fließen sequenziell durch alle Layers.

Source:
Parameters:
Name Type Description
input Float64Array | Array.<number>

Eingabedaten (Größe = topologyDef[0])

Returns:

Output des letzten Layers

Type
Float64Array

forwardMasked(input, legalMask) → {Float64Array}

Description:
  • Forward-Pass mit Maskierung illegaler Züge (für Game-KI). Wendet maskedSoftmax auf den Output an.

Source:
Parameters:
Name Type Description
input Float64Array | Array.<number>

Eingabedaten

legalMask Array.<number>

1 = erlaubter Zug, 0 = blockiert

Returns:

Maskierte Wahrscheinlichkeitsverteilung

Type
Float64Array

getCompactSnapshot() → {Object}

Description:
  • Erstellt einen kompakten Snapshot (nur Gewichte und Outputs, ohne Gradienten). Für High-Frequency Updates während des Trainings.

Source:
Returns:

Kompakter Snapshot

Type
Object

getSnapshot() → {NetworkSnapshot}

Description:
  • Erstellt einen vollständigen Snapshot des Netzwerks. Dieser wird über die IframeBridge an die Visualisierung gesendet.

    Alle Daten werden kopiert (Immutable Pattern, Convention §5).

Source:
Returns:
Type
NetworkSnapshot

getTotalParameterCount() → {number}

Description:
  • Gibt die Gesamtzahl aller Parameter (Gewichte + Biases) zurück.

Source:
Returns:
Type
number

serialize() → {Object}

Description:
  • Serialisiert das Netzwerk in ein JSON-kompatibles Objekt. Kann zum Speichern/Laden des trainierten Netzes verwendet werden.

Source:
Returns:

Serialisiertes Netzwerk

Type
Object

setBias(layerIndex, neuronIndex, value)

Description:
  • Setzt den Bias eines Neurons manuell.

Source:
Parameters:
Name Type Description
layerIndex number
neuronIndex number
value number

setLearningRate(rate)

Description:
  • Setzt die Lernrate dynamisch (für Nutzer-Interaktion via Bridge).

Source:
Parameters:
Name Type Description
rate number

Neue Lernrate (z.B. 0.001 bis 1.0)

setWeight(layerIndex, neuronIndex, weightIndex, value)

Description:
  • Setzt ein einzelnes Gewicht manuell.

Source:
Parameters:
Name Type Description
layerIndex number

Index des Layers (0-basiert, ohne Input-Layer)

neuronIndex number

Index des Neurons im Layer

weightIndex number

Index des Gewichts

value number

Neuer Wert

trainEpoch(dataset) → {TrainingResult}

Description:
  • Trainiert das Netz mit einem Batch von Datenpunkten (eine Epoche). Stochastic Gradient Descent: Ein Update pro Sample.

Source:
Parameters:
Name Type Description
dataset Array.<TrainingSample>

Array von {input, target} Paaren

Returns:

Epochen-Statistik

Type
TrainingResult

trainSingle(input, target) → {number}

Description:
  • Trainiert das Netz mit einem einzelnen Datenpunkt.

Source:
Parameters:
Name Type Description
input Float64Array | Array.<number>
target Float64Array | Array.<number>
Returns:

Verlust für diesen Datenpunkt

Type
number