Öğretici: Değerlendirme yapılandırma dosyası oluşturma

Öğrenmek için bu öğreticiyi izleyin:

  • Özel değerlendirmeler tasarlama.
  • Değerlendirme yapılandırma dosyası yazma.
  • Türleri bölüm SimConfig yapılandırmaları olarak çevirme.

Bu öğreticiyi takip etmek için geçerli bir Microsoft veya Azure hesabınız ve Azure'da sağlanan geçerli Bonsai bir çalışma alanınız olmalıdır. Bir hesaba veya Azure deneme sürümüne ihtiyacınız varsa devam etmeden önce yönergeleri Microsoft account setup for Bonsai izleyin.

Özel değerlendirme ekleme

Özel Değerlendirme Kullanıcı Arabirimi Ekle açılan görüntüsünün ekran görüntüsü. Kullanıcı arabirimi bir görünen ad, açıklama ve JSON dosyasını karşıya yüklemek için bir istem isteminde bulunuyor.

Özel değerlendirme tasarlama

Machine Teaching'de değerlendirme, bir dizi senaryoda (bölüm yapılandırmaları) AI'nizin bir ilkeyi ne kadar iyi bir şekilde benimser?

Değerlendirme, veri günlüğü ile simülasyonda öğrenilen davranışın kalitesini ve sağlamlığını ve bunu destekleyen simülasyonlar için canlı görselleştirmeler belirlemenizi sağlar.

Özel bir değerlendirme tasarlarken, şunları unutmayın:

  • İlke performansınız hakkında değerlendirmek istediğiniz belirli öğeleri belirleyerek ve bu öğelerin her biri için değerlendirme planları geliştirin.
  • Değerlendirmek istediğiniz çeşitli senaryolar varsa, daha kolay veri analizi için bunları ayrı değerlendirmelere ayırmayı göz önünde bulundurabilirsiniz.
  • Yaygın durum, en iyi durumlar ve en kötü durum gibi çok çeşitli senaryoları test etmek.
  • Aşırı veya seyrek uzan senaryoları (uç örnekleri ve köşe örnekleri) göz önünde bulundurabilirsiniz.
  • İlkeniz beklenmeyen veya geçersiz başlangıç durumlarına izin verdiyseniz değerlendirmenize geçersiz senaryolar dahil edilir.
  • Benzetiminiz rastgele olasılık dağılımları (stokastik simülatör) içerirse ve belirli bir senaryoyu birden çok kez çalıştırmak için aynı bölüm yapılandırmasında birden çok girişe sahip olmak gerekir.

Boş değerlendirme yapılandırma dosyası oluşturma

Bonsai , hedeflenen beyni değerlendirmek için kullanılan simülasyon ortamını başlatmak için değerlendirme yapılandırma dosyalarını kullanır. Değerlendirme yapılandırma dosyaları, üç alanı olan basit JSON dosyalarıdır: version , context ve episodeConfigurations :

{
  "version": "ASSESSMENT_SCHEMA_VERSION",
  "context": {},
  "episodeConfigurations": []
}

Değerlendirme yapılandırma dosyanız temel öğesi episodeConfigurations alanıdır. episodeConfiguration , Inkling dosyanız türüne göre değerlendirmeniz için başlangıç simülasyon yapılandırmalarını temsil eden bir veya SimConfig daha fazla giriş dizisidir. Yapılandırma dosyanıza açık başlangıç değerleri sağlayamıyorsanız, Bonsai eğitim benzetiminde tanımlandığı gibi varsayılan değeri kullanır.

Yeni bir değerlendirme yapılandırması oluşturmak için:

  1. Tercih ettiğiniz düz metin düzenleyicisini (Visual Studio Code, Atom vb.) açın
  2. Yeni bir .json dosya oluşturun ve değerlendirmenin tarihini ve amacını yazın. Örneğin, "BadTerrain-2021-01-21.json" veya "HighTemps-2021-02-05.json".
  3. Aşağıdaki yapılandırma şablonunu yeni dosyanıza kopyalayın.
{
  "version": "1.0.0",
  "context": {},
  "episodeConfigurations": []
}

İpucu

Kullanıcı arabirimini Bonsai kullanarak temel bir yapılandırma dosyası oluşturabilirsiniz:

  1. Bonsai UIuygulamasını açın.
  2. Değerlendirmek istediğiniz beyin sürümünü seçin.
  3. Eğit sekmesinde öğesini seçin.
  4. Değerlendirme panelinde + Yeni değerlendirme düğmesini seçin.
  5. Değerlendirmeniz için bölüm sayısını ayarlayın.
  6. Inkling söz dizimi kullanarak sınırlamak istediğiniz yapılandırılabilir değişkenler için bir değer, değer kümesi veya değer aralığı belirtin.
  7. Generate (Oluştur) düğmesine tıklayın.
  8. Oluşturulan JSON dosyasını bir metin düzenleyicisine kopyalayın ve dosyayı .json uzantısıyla kaydedin.
  9. Ek özelleştirmeler yapmak için öğreticinin geri kalanını izleyin.

Türlerinizi SimConfig bölüm yapılandırmalara çevirme

Değerlendirme yapılandırma dosyanız en önemli bölümü, bölüm yapılandırmalarının dizisidir. Bölüm Bonsai yapılandırmaları, değerlendirme başladığında simülasyonun nasıl yapılandırıldığından emin olur. Her değerlendirme yapılandırma dosyasında en az bir bölüm yapılandırması olması gerekir.

Bölüm yapılandırmaları, değerlendirmek istediğiniz beyin SimConfig sürümü için Inkling dosyasındaki türle aynı yapıya sahip olmalıdır.

Aşağıdaki Mürekkepleme türü:

type SimConfig {
  ConfigField_1: Field_1_Type,
  ConfigField_2: {
    TypeSubField_1: SubField_1_Type,
    TypeSubField_2: SubField_2_Type,
  }
  ...
  ConfigField_N: Field_N_Type,
}

Değerlendirme yapılandırmasında aşağıdaki bölüm tanımına çevirir:

{
  "ConfigField_1": "Value_1",
  "ConfigField_2": {
    "TypeSubField_1": "SubValue_1",
    "TypeSubField_2": "SubValue_2",
  },
  ...
  "ConfigField_N": "Value_N",
}

Önemli

Sayı alanlarının çoğu yapılandırma dosyasında sayı olarak geçirilirken, numaralandına sayı türleri dize olarak geçirilsin.

Tek alan türlerini SimConfig çeviri

SimConfigInkling dosyanıza türün türünde adlı tek bir alan dahil Drive olduğunu Direction varsayalım:

type Direction number<Left = 0, Right = 1, Straight = 2, Back = 3>
type SimConfig { Drive: Direction }

Bölüm yapılandırma dizisinde yer alan her giriş, türü tarafından tanımlandığı Drive gibi için geçerli bir değer Direction sağlalanmalıdır. Örnek:

[
  {"Drive": "Left"},
  {"Drive": "Right"},
  {"Drive": "Back"}
]

Benzetim yapılandırma bilgileri tek bir değer olduğu için, değerleri açık bir alan BonsaiDrive adı olmadan alana eşler. Sonuç olarak, isterseniz bölüm yapılandırma dizinizin girişlerinde alan adı kolaylık açısından hariç tutulabilirsiniz:

[
  "Left",
  "Right",
  "Back"
]

Basit türleri SimConfig çeviri

SimConfigInkling dosyanıza türün ve türünde ve adlı Drive iki RoadCondition değere sahip olduğunu DirectionTerrain varsayalım:

type Direction number<Left = 0, Right = 1, Straight = 2, Back = 3>
type Terrain string<Bad = "B", Rough = "R", Clear = "C">

type SimConfig {
  Drive: Direction,
  RoadCondition: Terrain
}

Bölüm yapılandırma dizisinde yer alan her girişin ve Drive türleri tarafından tanımlanan geçerli RoadCondition değerlere sahip alanları Direction ayarlaması Terrain gerekir.

Örneğin, itici beyni aşağıdaki iki senaryoya göre değerlendirmek istediğinizi varsayalım:

  • Başlangıç olarak kaba bir yolda sola doğru inin.
  • Başlangıç olarak temiz bir yolda sola doğru inin.

Yapılandırma dosyanız iki bölüm yapılandırmasına sahip olabilir. Başlangıç değerlerini olarak ayarlayarak bir {Left, Rough} tane ve başlangıç değerlerini olarak ayarlayarak: {Left, Clear}

[
  {
    "Drive": "Left",
    "RoadCondition": "Rough"
  },
  {
    "Drive": "Left",
    "RoadCondition": "Clear"
  }

İç içe SimConfig sözlüklerle çeviri

SimConfigInkling dosyanıza türün üç alan dahil olduğunu varsayalım:

Ad Tür Amaç
Drive Movement , bir elektrik araba için geçerli yönü ve yol durumunu gösterir.
BatteryLevel number<0 .. 1> , araba pilin geçerli ücretlerini yüzde olarak gösterir.
AmbientTemp Temperature , Santigrat'ta çevresindeki alanı sıcaklığı gösterir.
type Direction number<Left = 0, Right = 1, Straight = 2, Back = 3>
type Terrain string<Bad = "B", Rough = "R", Clear = "C">
type Movement {
  Orientation: Direction,
  RoadCondition: Terrain
}
type Temperature number<-90 .. 60>

type SimConfig {
  Drive: Movement,
  BatteryLevel: number<0 .. 1>,
  AmbientTemp: Temperature
}

Bölüm yapılandırma dizisinde yer alan her giriş, ilgili türler tarafından tanımlandığı şekilde Drive , ve için geçerli başlangıç değerleri BatteryLevelAmbientTemp ayarlalanmalıdır.

Örneğin, itici beyni aşağıdaki senaryolara göre değerlendirmek istediğinizi varsayalım:

  • Ca'nın Berkeley'inde bir yaz gününde tam pille kaba bir yolda sola doğru devam edin.
  • Ca'nın Berkeley'in yaz günü neredeyse boş bir pille temiz bir yolda geriye doğru ilerleerek başlayabilirsiniz.
  • Başlangıç olarak Berkeley, CA'da bir bahar gününde yarım pilin olduğu kötü bir yolda düz bir şekilde devam edin.

Yapılandırma dosyanız üç bölüm yapılandırmasına sahip olabilir:

[
  {
    "Drive": {
      "Orientation": "Left",
      "RoadCondition": "Rough"
    },
    "BatteryLevel": 1,
    "AmbientTemp": 14
  },
  {
    "Drive": {
      "Orientation": "Back",
      "RoadCondition": "Clear"
    },
    "BatteryLevel": 0.1,
    "AmbientTemp": 22
  },
  {
    "Drive": {
      "Orientation": "Straight",
      "RoadCondition": "Bad"
    },
    "BatteryLevel": 0.5,
    "AmbientTemp": 18
  },

Sonraki adımlar

Artık değerlendirme yapılandırma dosyaları oluşturma hakkında bir şeyler biliyorsunuz. Eğitilmiş bir beyni değerlendirmek için bir tane kullanmayı deneyin.