Una rete neurale può elaborare il concetto di distanza?


10

Immagina un gioco in cui è uno schermo nero a parte un pixel rosso e un pixel blu. Dato questo gioco a un essere umano, per prima cosa vedranno che premendo i tasti freccia si sposta il pixel rosso. La prossima cosa che proveranno è di spostare il pixel rosso sul pixel blu.

Dai a questo gioco un'intelligenza artificiale, sposta casualmente il pixel rosso fino a quando un milione di tentativi dopo si sposta accidentalmente sul pixel blu per ottenere una ricompensa. Se l'IA avesse un concetto di distanza tra il pixel rosso e blu, potrebbe provare a ridurre al minimo questa distanza.

Senza effettivamente programmare il concetto di distanza, se prendiamo i pixel del gioco possiamo calcolare un numero (i), come "entropia", che sarebbe inferiore quando i pixel sono distanti rispetto a quando sono vicini? Dovrebbe funzionare con altre configurazioni di pixel. Come un gioco con tre pixel in cui uno è buono e uno è cattivo. Solo per dare alla rete neurale un senso di come appare lo schermo? Quindi assegna un obiettivo alla NN, ad esempio "cerca di ridurre al minimo l'entropia del tabellone e cerca di ottenere ricompense".

C'è qualcosa di simile a questo nella ricerca attuale?


Non penso che lo daresti direttamente all'immagine e gli farebbe trovare la distanza ... Piuttosto lo daresti a un set di numeri che rappresentano distanza, distanza verticale, distanza orizzontale, ecc.
FreezePhoenix,

@Pheo sì, ma dovresti dargli valori diversi per ogni tipo di "gioco". Mentre quello che sto dicendo è, potremmo avere un tipo globale di valore che è alto quando i pixel sono raggruppati insieme e basso quando i pixel sono distanziati?
Zooby

"La prossima cosa che proveranno è di spostare il pixel rosso sul pixel blu." "rosso" e "blu" potrebbero non essere clisteri, quindi inizierai ad aumentare la distanza prima che il pixel blu ti noti.
Lee,

Risposte:


1

Risposta

Prenderò la tua domanda al valore nominale e approfondirò questo argomento.

Si Loro possono. La tipica mente umana può. Ma considera la mente umana. Milioni, se non miliardi , di neuroni. In effetti, si può considerare la distanza come un concetto umano, semplicemente una teoria sviluppata dalle interazioni con il mondo.

Pertanto, dato un anno o due, con una tonnellata di neuroni in mano, potresti replicare questo scenario. Cioè se il tuo computer è parallelo come la mente umana. La breve spiegazione è che la mente umana è molto parallela.

Tuttavia, sarebbe più semplice calcolare la distanza con un programma, non un'intelligenza artificiale, e semplicemente fornire il risultato all'intelligenza artificiale che prenderebbe le decisioni.

Considera il tempo che hai trascorso guardando uno schermo. Se riesci a distinguere la distanza (approssimativa) tra due pixel, lo stesso vale per una rete neurale, così come sei. Tuttavia, aggiungi la quantità di tempo che hai trascorso in vita e l'apprendimento nell'equazione, e diventa un disastro.

Ulteriori letture

Il cervello umano è parallelo

Questo è il risultato del fatto che tutti i neuroni nel cervello umano sono indipendenti l'uno dall'altro. Possono eseguire vere azioni simultanee , rendendo così l'azione di interpretazione delle immagini e molto più semplice, poiché i blocchi di neuroni possono "pensare" indipendentemente dalle operazioni degli altri, limitando ciò che sarebbe "ritardo" a una quantità minuscola.


1

Puoi creare l'intelligenza artificiale per "vedere" come un essere umano. Come hai detto, dando le chiavi all'umano, farà clic in modo casuale. Deve solo sapere quali tasti preme che lo avvicinano ad altri oggetti sullo schermo. Penso che le basi di un'intelligenza artificiale siano il riconoscimento degli oggetti. Vorrei provare a creare uno script per mappare gli oggetti dello schermo del gioco. Ci sono esempi legali in Python.

Vorrei provare a seguire un percorso come questo:

  • Fai capire all'intelligenza artificiale che facendo clic sulle frecce o sul WASD ed è nel contesto GAME, l'oggetto che sposta i pixel secondo la direzione, rappresenta l'autore principale (il giocatore).

  • In parallelo: mappare tutti i confini della regione e indicizzare diversi oggetti all'interno di quella regione per avere automaticamente il dominio delle coordinate e la distanza dell'oggetto. L'IA deve VEDERE (trasmettere) il gioco e attraverso le immagini per classificare gli oggetti. Capisci cosa intendo?

  • Parallelamente: l'IA deve essere consapevole di tutti i testi e le informazioni sullo schermo (tutti mappati, ricordi?). Devi capire quando cambia un testo o succede qualcosa di diverso. Ad esempio: ogni volta che ritorna alla posizione iniziale di ogni fase, ogni volta che ha un conteggio, cosa succede quando il cout raggiunge lo zero o un numero comune che genera un altro tipo di cambiamento.

  • Deve capire cosa si ripete ad ogni "respawn". Devi anche capire cos'è "respawn". Forse una determinata posizione della mappa su ogni mappa restituisce ogni volta che termina un conteggio sullo schermo. O quando si imbatte in un certo tipo di oggetto (oggetto mappato)

Ad essere onesti, se vuoi creare un robot super intelligente, puoi seguire tutti i passaggi che attraversano la testa di diversi umani, i migliori umani o le regole di ogni gioco. Ma a volte è più semplice creare robot specifici per eseguire attività specifiche. Dipende da quello che vuoi fare


Non stava chiedendo come lo avresti fatto, ma piuttosto puoi farlo.
FreezePhoenix,

È possibile farlo in diversi modi. Ho passato il modo in cui avrei preso per creare il modello. Non è una teoria, è un processo che può comprendere altri processi in base all'evoluzione dell'IA.
Guilherme IA,

1

Quello che dici qui è l' esempio perfetto per la pianificazione del percorso , che è ampiamente studiato nell'IA.

Cerca l' algoritmo A-star e come migliorarlo con le reti neurali :)


1

Possiamo risolvere il problema come segue:

<x0,y0,x1,y1>(x0y0)2+(x1y1)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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.