A gépi tanulási algoritmus beállítása

A záradék lehetővé teszi, hogy a tapasztalt felhasználók kísérletezve módosítják a betanító motor által használt gépi tanulási algoritmusokat és algorithm hangolási paramétereket. A motor azonban az utasításokra algorithm vonatkozó tippeket veszi figyelembe, nem a követelményeket. A motor figyelmen kívül hagyhatja az utasítást, ha azt határozzák meg, hogy a kért algoritmus vagy paraméterek nem megfelelőek vagy elavultak. A tippek használata esetén csak arra a fogalomra vonatkoznak, amelyhez meg vannak adva.

Támogatott algoritmusazonosítók

Jogkivonat Name Alkalmazási cél
APEX Elosztott mély Q-hálózat névleges műveletterek
PPO Proximal Policy Optimization folyamatos és különálló sorszámú műveletterek
SAC Soft Actor–Aktor folyamatos és különálló sorszámú műveletterek

Példa

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

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

Memóriamód konfigurálása

A paraméterrel konfigurálhatja, hogy a fogalom művelete megtanulhatja-e, hogy MemoryMode függ-e a korábbi államoktól vagy műveletektől. Támogatott értékek:

Érték Leírás
default A betanító motor automatikusan kiválasztja a state and action memóriamódot. Ha nincs megadva, ez MemoryMode az alapértelmezett viselkedés.
none Nincs memória. A megtanult műveletek csak az aktuális állapottól függenek.
state Korábbi államok memóriája. Megismerheti az aktuális állapottól és az előző állapottól függő műveleteket az eseményben.
state and action A korábbi államok és korábbi műveletek memóriája. A megtanult műveletek az esemény korábbi államától és műveleteitől függenek.

MemoryMode az algoritmus megadása nélkül is beállítható. Például:

algorithm {
    MemoryMode: "state"
}

Rétegspecifikáció

Számos algoritmus teszi lehetővé a neurális hálózat(oka)k rejtett rétegeinek konfigurálát. A rejtett rétegek olyan struktúrák tömbjeként vannak definiálva, amelyek meghatározzák az egyes rejtett rétegek méretét és (opcionálisan) az aktiválási függvényt. A méreteknek pozitív egész számnak kell lennie, az aktiválási függvények pedig a következő függvények valamelyikének kell lennie: linear , , , , , vagy tanh relu logistic softmax elu default . Például:

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

APEX-DQN-paraméterek

Az APEX-DQN a következő paramétereket támogatja.

Paraméter Típus Leírás Példa
QLearningRate szám A Q-hálózat betanítási sebessége QLearningRate: 0.0001
HiddenLayers LayerSpec[] Rétegsokajátok tömbje Lásd: Rétegspecifikáció

Az APEX-DQN alapértelmezett konfigurációja:

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

PPO-paraméterek

A PPO a következő paramétereket támogatja.

Paraméter Típus Leírás Példa
BatchSize Number.UInt32 Kötegelt méret (1000-2000000) az értékelési adatok összesítéséhez BatchSize: 8000
PolicyLearningRate szám A szabályzathálózat betanítási sebessége PolicyLearningRate: 0.0001
HiddenLayers LayerSpec[] Rétegsokajátok tömbje Lásd: Rétegspecifikáció

A proximal policy optimization (PPO) nagy számú teljes útvonal összegyűjtésével és összesítéssel való elemzésével működik, hogy megbízhatósági metrikát kapjon annak valószínűségéhez, hogy a szabályzat egy adott módosítása javítja-e a teljesítményt. Megfelelően nagy kötegmérettel a PPO monoton szabályzatfejlesztést eredményez. Ahogy az algoritmus módosítja a megbízhatóságát, az nagy mennyiségű adat alapján fog valódi fejlesztéseket eredményezni. A paraméter határozza meg, hogy mennyi adatot összesít a rendszer a BatchSize döntés meghozatala érdekében.

A kisebb kötegek gyorsabb konvergenciához vezetnek, mivel a frissítések számítása gyakoribb. A kis kötegfrissítések azonban kevésbé megbízhatók, és a szabályzat instabillá válhat, ha a köteg mérete túl kicsi.

A szabályzat teljesítményének becsléséhez javasoljuk, hogy olyan kötegméretet használ, amely az egyes szimulációk teljes sorozatának jelentős hányadát tartalmazza. Ha például a 100 lépésből áll, és 100 szimulátorral is bír, próbáljon ki egy 5000 és 10000 közötti értéket.

A PPO alapértelmezett konfigurációja:

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

SAC-paraméterek

Az SAC a következő paramétereket támogatja.

Paraméter Típus Leírás Példa
QHiddenLayers LayerSpec[] A Q értékhálózat rétegsifikációinak tömbje Lásd: Rétegspecifikáció
PolicyHiddenLayers LayerSpec[] A házirend-hálózat rétegsifikációinak tömbje Lásd: Rétegspecifikáció

Az SAC alapértelmezett konfigurációja:

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