Självstudie: Skapa en MT-datauppsättning (Machine Teaching)

Följ den här självstudien för att lära dig:

  • När du använder en datauppsättning är det vettigt.
  • Så här strukturerar du dina data för maskinundervisning med Bonsai.
  • Så här förbereder du dina MT-data för användning med Bonsai.

Om du vill följa den här självstudien måste du ha ett Microsoft- eller Azure-konto och en Bonsai arbetsyta etablerad i Azure. Om du behöver ett konto eller en Utvärderingsversion av Azure följer du anvisningarna i Microsoft-kontokonfigurationen innan Bonsai du fortsätter.

Viktigt

För att kunna slutföra den här självstudien måste du ha en befintlig Azure Machine Learning arbetsyta eller behörighet att skapa och hantera resurser i Azure Portal.

Bonsaistöder datamängdsimport från Azure Machine Learning (AML) datauppsättningar. Vi rekommenderar att du laddar upp dina data som en sanerad CSV-fil eftersom det för närvarande är det enklaste sättet att lägga till data i AML, men alla format som stöds av AML import fungerar.

Vad är en datauppsättning för maskinundervisning?

En MT-datauppsättning (Machine Teaching) är en samling datadelar som en dator kan behandla som en enda enhet under analysen. I maskinundervisning representerar din datauppsättning en samling träningsavsnitt där varje avsnitt har flera träningsiterationer.

Datauppsättningar är särskilt användbara när du redan har en betydande mängd data och det är opraktiskt eller kostsamt att skapa en lämplig simulering för AI-träning. Men för att vara effektiva måste MT-datauppsättningar vara enhetliga, sanerade, märkta och organiserade. För att arbeta med Bonsaimåste MT-datauppsättningar också följa det dataschema som anges nedan.

Översikt över schema

Datauppsättningen måste innehålla information för minst ett avsnitt med en iteration per rad. Iterationer inom en episod måste anges i kronologisk ordning. Bonsai sorterar inte datauppsättningar under importen.

Datakolumn Obligatorisk Typ som stöds Description
config.FIELD JA int Starta konfigurationsvärden för avsnittet
state.FIELD JA int Simuleringstillståndsvärden för iterationen
action.FIELD JA int Åtgärd som skickas till simuleringen för iterationen
episode NO int, string Ett unikt ID för avsnittet
iteration NO int, string Ett unikt ID i avsnittet för iterationen
state.terminal NO int, bool Anger om raden är ett terminaltillstånd
state.reward NO int Anger belöningsvärdet för iterationen

Viktigt

Gränsen mellan avsnitt måste anges på något av följande sätt:

  • Uttryckligen med en episode kolumn
  • Implicit med en state.terminal kolumn individuellt är båda valfria, men minst en av dem måste anges.

Obligatoriska kolumner

Varje rad måste innehålla en kolumn per fält i var och en av SimConfig, SimStateoch SimAction med följande format: : type_keyword.FLATTENED_FIELD_NAME

Typ av inkling Skriv nyckelord Description
SimConfig config Starta konfigurationsvärden för avsnittet
SimState state Simuleringstillståndsvärden för iterationen
SimAction action Åtgärd som skickas till simuleringen för iterationen

Med tanke på följande tillstånds- och åtgärdstyper i Inkling skulle till exempel motsvarande datakolumner vara:

Inkling Datakolumner
type SimConfig {
  InitialX: number,
  InitialY: number[2],
  InitialZ: {
    W: number
  }
}
Config. InitialX Config. InitialY[0] Config. InitialY[1] Config. InitialZ.W
0.2349 0.3418 0.1336 0.3940
0.4119 1.9685 9.6974 0.7705
0.2216 0.8252 1.1027 0.3089
0.1416 1.0085 1.5780 0.2878
type SimState {
  X: number,
  Y: number[2],
  Z: {
    W: number
  }
}
Statligt. X Statligt. Y[0] Statligt. Y[1] Statligt. Z.W
0.0102 0.0001 -0.0116 0.0114
0.1783 1.4582 9.9742 0.7264
0.7123 0.4934 1.8133 0.6394
0.4119 1.9685 -1.3089 0.5780
type SimAction {
  A: number,
  B: {
    C: number[2],
    D: number
  }
}
Åtgärder. A Åtgärder. B.C[0] Åtgärder. B.C[1] Åtgärder. B.D
1 -5 1.5136 0.3333
7 3 1.4668 3.7353
3 6 0.6472 6.9262
2 0 5.9677 6.5553
9 1 4.2518 7.2479

Valfria kolumner

Datauppsättningsrader kan innehålla ytterligare kolumner som hjälper Bonsai dig med AI-träning.

episode

Ett unikt ID för avsnittet. Avsnitts-ID:t tilldelas av dig under datasanering och kuration.

iteration

Ett unikt ID för iterationen. Iterations-ID:t måste vara unika inom ett visst avsnitt men kan upprepas i olika avsnitt.

Exempel 1 Exempel 2
episode iteration
1 1
1 2
2 1
2 2
state.terminal iteration
0 1
1 2
0 1
1 2

Iterations-ID:t tilldelas av dig under datarening och kuration.

state.reward

Belöningsvärden är numeriska poäng som anger hur lyckad åtgärden som vidtogs i iterationen var. Belöningsvärden beräknas och tilldelas vanligtvis till en iteration under datasanering och kuration.

state.terminal

Anger om raden är ett terminaltillstånd. Kolumnen state.terminal markerar implicit gränserna mellan avsnitt.

  • 0, falseeller False anger att iterationen inte är terminal.
  • 1, true, eller True anger att iterationen är terminal.

Exempel på datauppsättning

Om du inte har en egen datauppsättning kan du ladda ned en csv-exempeldatauppsättningsfil som Moab-exempelhjärnan kan följa med i.

Steg 1: Etablera en AML arbetsyta

  1. Logga in på Azure-portalen.
  2. Skapa en ny resursgrupp med namnet Bonsai-Datasets(US) West US 2 platsen.
  3. Skapa en Machine Learning arbetsyta under den nya resursgruppen.

Steg 2: Upload dina data till AML

  1. Öppna din AML resurs i Azure Portal.
  2. Klicka på Starta studio för att öppna din Machine Learning arbetsyta.
  3. Klicka på + Ny.
  4. Välj "Datauppsättning" i listan med alternativ.
  5. Klicka på + Skapa datauppsättning.
  6. Välj din datakälla bland de tillgängliga alternativen. och
  7. Följ anvisningarna för att skapa en tabelldatauppsättning .

När datauppsättningen är klar kan du granska informationen i AML studio för att kontrollera att importen lyckades.

Nästa steg

Lägga till dina träningsdata på din Bonsai arbetsyta