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
, elu
eller 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"
}
],
}