Possiamo risolvere il problema come segue:
< x0, y0, x1, y1>( x0- y0)2+ ( x1- y1)2------------------√
< x0, y0, x1, y1>
Naturalmente, non c'è motivo di farlo in due reti neurali separate, quindi possiamo solo combinare le due end-to-end per avere un modello che prende l'immagine come input e la distanza come output.
Tuttavia, questo modello dovrebbe essere addestrato sui dati etichettati, quindi è necessario generare i dati da soli o etichettare le immagini.
Ma se volessi che imparasse l'idea di chiudere una distanza in modo meno supervisionato, avresti bisogno di usare l'apprendimento per rinforzo. In questo caso, dovresti impostare un ambiente che incentivi l'agente a ridurre la distanza. Questo potrebbe essere semplice come ottenere una ricompensa se un'azione riduce la distanza.
Un altro approccio sarebbe quello di incentivare l'agente utilizzando la ricompensa futura. Cioè, la sua ricompensa non proviene solo dai risultati del prossimo stato immediet, ma ci sono anche contributi dal prossimo stato possibile, quello successivo e così via. Questa è l'idea alla base di Deep Q-Learning e implemento un semplice esempio (molto simile a quello che stai descrivendo) in questo notebook .
Quindi, ora la domanda è: questa implementazione ha fatto qualcosa di diverso dallo spostamento casuale fino a quando non segue una strada per il successo?
Nel tuo esempio, parli di ricompensare l'agente quando raggiunge l'obiettivo. Ma in quello che ho descritto, ha guadagnato la ricompensa avvicinandosi all'obiettivo (o attraverso la funzione Q o direttamente dall'ambiente). È in grado di farlo imparando qualche idea astratta di distanza (che può essere illustrata nella versione supervisionata).
Quando un umano impara questo, è per lo stesso motivo esatto: l'essere umano sta guadagnando una ricompensa per muoversi in quella direzione attraverso un senso di ricompense future.
Direi che, dati abbastanza formazione e dati, l'apprendimento per rinforzo potrebbe facilmente apprendere questo concetto. Per quanto riguarda le altre ricompense presenti sul tabellone (ad esempio, "minimizza l'entropia del tabellone e cerca di ottenere i premi"), devi pensare a cosa stai chiedendo. Preferiresti che l'agente minimizzasse la distanza o massimizzasse la ricompensa? Perché, in generale, non può fare entrambe le cose. Se stai cercando un equilibrio tra i due, allora stai semplicemente ridefinendo la ricompensa per considerare anche la distanza.