Możemy rozwiązać problem w następujący sposób:
< x0, y0, x1, y1>( x0- y0)2)+ ( x1- y1)2)------------------√
< x0, y0, x1, y1>
Oczywiście nie ma powodu, aby robić to w dwóch oddzielnych sieciach neuronowych, więc możemy po prostu połączyć dwa kompleksowe modele, które przyjmują obraz jako dane wejściowe, a odległość jako dane wyjściowe.
Model ten musiałby jednak zostać przeszkolony w zakresie danych z etykietami, więc musisz albo wygenerować dane samodzielnie, albo etykietować obrazy.
Ale jeśli chcesz, aby nauczył się pojęcia zamykania dystansu w mniej nadzorowany sposób, musisz użyć uczenia wzmacniającego. W takim przypadku należy skonfigurować środowisko, które zachęca agenta do zmniejszenia odległości. Może to być tak proste, jak zdobycie nagrody, jeśli akcja zmniejszy odległość.
Innym podejściem byłoby zachęcenie agenta do skorzystania z przyszłej nagrody. Oznacza to, że jego nagroda nie pochodzi tylko z wyników następnego stanu natychmiastowego, ale są też wkłady z następnego możliwego stanu, następnego i tak dalej. To jest idea Deep Q-Learning, a ja wdrażam prosty przykład (bardzo podobny do tego, co opisujesz) w tym zeszycie .
Tak więc teraz pytanie brzmi: czy ta implementacja zrobiła coś innego niż losowe przemieszczanie się, dopóki nie podąży drogą do sukcesu?
W twoim przykładzie mówisz o nagradzaniu agenta, który wyląduje na bramce. Ale zgodnie z tym, co opisałem, zyskało nagrodę, zbliżając się do celu (poprzez funkcję Q lub bezpośrednio ze środowiska). Jest w stanie to zrobić, ucząc się abstrakcyjnego pojęcia odległości (które można zilustrować w nadzorowanej wersji).
Kiedy człowiek się tego uczy, dzieje się tak z tego samego powodu: człowiek otrzymuje nagrodę za poruszanie się w tym kierunku dzięki poczuciu przyszłych nagród.
Powiedziałbym, że przy wystarczającym szkoleniu i danych uczenie się przez wzmocnienie może z łatwością nauczyć się tej koncepcji. O ile inne nagrody są obecne na planszy (np. „Zminimalizuj entropię tablicy, a także spróbuj zdobyć nagrody”), musisz pomyśleć o tym, o co pytasz. Czy wolisz, aby agent zminimalizował dystans lub zmaksymalizował nagrodę? Ponieważ, ogólnie rzecz biorąc, nie można zrobić obu. Jeśli szukasz równowagi między nimi, to tak naprawdę po prostu redefiniujesz nagrodę, aby uwzględnić odległość.