Justera maskininlärningsalgoritmen

Med algorithm satsen kan avancerade användare experimentera med att ändra maskininlärningsalgoritmer och justera parametrar som används av träningsmotorn. Motorn tar dock hänsyn till algorithm instruktioner, inte krav. Motorn kan ignorera -instruktionen om den fastställer att den begärda algoritmen eller parametrarna är olämpliga eller föråldrade. När tips används gäller de bara för det begrepp som de anges för.

Algoritmidentifierare som stöds

Token Name Används för
APEX Distribuerat djupt Q-nätverk nominella åtgärdsutrymmen
PPO Proximal principoptimering kontinuerliga och diskreta ordningstalsutrymmen
SAC Mjuk aktör kritiker kontinuerliga och diskreta ordningstalsutrymmen

Exempel

graph (input: GameState): Action {
  concept balance(input): Action {
    curriculum {
      source MySimulator

      algorithm {
        Algorithm: "APEX",
        HiddenLayers: [
          {
            Size: 64,
            Activation: "tanh"
          },
          {
            Size: 64,
            Activation: "tanh"
          }
        ]
      }
    }
  }
}

Konfiguration av minnesläge

Använd parametern MemoryMode för att konfigurera om konceptets åtgärd kan lära sig att vara beroende av tidigare tillstånd eller åtgärder. Värden som stöds:

Värde Beskrivning
default Träningsmotorn väljer minnesläget state and action automatiskt. Detta är standardbeteendet om MemoryMode inte har angetts.
none Inget minne. Inlärda åtgärder kan bara bero på aktuellt tillstånd.
state Minne från tidigare tillstånd. Kan lära sig åtgärder som är beroende av det aktuella tillståndet samt de tidigare tillstånden i avsnittet.
state and action Minne av tidigare tillstånd och tidigare åtgärder. Inlärda åtgärder kan bero på tidigare tillstånd och åtgärder i avsnittet.

MemoryMode kan ställas in utan att ange en algoritm. Till exempel:

algorithm {
    MemoryMode: "state"
}

Lagerspecifikation

Flera algoritmer tillåter att dolda lager i neurala nätverk konfigureras. Dolda lager definieras som en matris med strukturer som definierar storleken och (valfritt) aktiveringsfunktionen för varje dolt lager. Storlekar måste vara positiva heltal och aktiveringsfunktionerna måste vara av: linear, tanh, relu, logistic, softmax, elueller default. Till exempel:

HiddenLayers: [
  {
    Size: 400,
    Activation: "relu"
  },
  {
    Size: 300,
    Activation: "tanh"
  }
]

APEX-DQN-parametrar

APEX-DQN stöder följande parametrar.

Parameter Typ Beskrivning Exempel
QLearningRate antal Inlärningstakten för att träna Q-nätverket QLearningRate: 0.0001
HiddenLayers LayerSpec[] En matris med lagerspecifikationer Se Lagerspecifikation

Standardkonfigurationen för APEX-DQN:

algorithm {
    Algorithm: "APEX",
    QLearningRate: 5e-4,
    HiddenLayers: [
        {
            Size: 256,
            Activation: "tanh"
        },
        {
            Size: 256,
            Activation: "tanh"
        }
    ]
}

PPO-parametrar

PPO stöder följande parametrar.

Parameter Typ Beskrivning Exempel
BatchSize Number.UInt32 Batchstorlek (1000–2000000) för aggregering av utvärderingsdata BatchSize: 8000
PolicyLearningRate antal Inlärningstakten för att träna principnätverket PolicyLearningRate: 0.0001
HiddenLayers LayerSpec[] En matris med lagerspecifikationer Se Lagerspecifikation

Optimering av proximala principer (PPO) fungerar genom att samla ett stort antal fullständiga banor och analysera dem aggregerat för att få ett konfidensmått för sannolikheten att en viss ändring av principen förbättrar prestandan. Med en tillräckligt stor batchstorlek ger PPO monoton principförbättring. När algoritmen gör ändringar leder konfidensen till verkliga förbättringar baserat på stora mängder data. Parametern BatchSize avgör hur mycket data som ska aggregeras för att fatta det här beslutet.

Mindre batchar leder till snabbare konvergens när uppdateringar beräknas oftare. Men små batchuppdateringar blir mindre tillförlitliga och principen kan bli instabil om batchstorleken är för liten.

Standardkonfigurationen för PPO:

algorithm {
    Algorithm: "PPO",
    BatchSize: 6000,
    PolicyLearningRate: 5e-5,
    HiddenLayers: [
        {
            Size: 256,
            Activation: "tanh"
        },
        {
            Size: 256,
            Activation: "tanh"
        }
    ]
}

SAC-parametrar

SAC stöder följande parametrar.

Parameter Typ Beskrivning Exempel
QHiddenLayers LayerSpec[] En matris med lagerspecifikationer för Q-värdenätverket Se Lagerspecifikation
PolicyHiddenLayers LayerSpec[] En matris med lagerspecifikationer för principnätverket Se Lagerspecifikation

Standardkonfigurationen för SAC:

algorithm {
    Algorithm: "SAC",
    QHiddenLayers: [
        {
            Size: 256,
            Activation: "relu"
        },
        {
            Size: 256,
            Activation: "relu"
        }
    ],
    PolicyHiddenLayers: [
        {
            Size: 256,
            Activation: "relu"
        },
        {
            Size: 256,
            Activation: "relu"
        }
    ],
}