#unity3d #csharp #ai #artificialintelligence #neural #network

Hej, potrzebuję pomocy koncepcyjnej, otóż tworzę sieć neuronową, która w domyśle ma nauczyć się gry w "bombermana".
Jako wejście perceptronu podaję obiekty z otoczenia bota (głównie sprawdzam czy pole jest bezpieczne czy nie) plus dystans do gracza. Problem mam z outputem, gdyż na samym początku ustaliłem, że będzie to zakres możliwych ruchów do wykonania,
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@croppz: Kiedy na tym polega algorytm uczenia perceptronu - są dane uczące, testowe i jazda... ;) I tak, autor raczej chce coś mądrzejszego niż tradycyjny perceptron. Chociaż ze względu na prostotę implementacji i tak bym z czystej ciekawości spróbował nauczyć sieć na kilkunastu-kilkudziesięciu prostych przykładach i zobaczyć jak to wyekstrapoluje na rzeczywistą rozgrywkę - a nuż starczy.
  • Odpowiedz
@Lacwik: Wyjściem Twojej sieci powinien być wektor możliwych akcji. Akcje to o ile dobrze kojarzę (góra, dół, lewo, prawo, podłożenie bomby). Więc wyjściem będzie wektor o długości 5 aktywowany funkcją softmax, która zamieni go na rozkład prawdopodobieństwa. W najprostszym modelu RL nie masz funkcji celu, którą minimalizujesz. Minimalizujesz bezpośrednio prawdopodobieństwo wykonania akcji, która zakończyła się czymś negatywnym (utrata życia), a maksymalizujesz (minimalizujesz wartość przeciwną) prawdopodobieństwo wykonania akcji pozytywnej (zabicie kogoś,
  • Odpowiedz