Se le tecniche di apprendimento automatico continuano a migliorare, qual è il ruolo degli algoritmi in futuro?


23

Diamo un'occhiata al futuro tra circa 30 anni. Siamo ottimisti e supponiamo che le aree relative all'apprendimento automatico continuino a svilupparsi rapidamente come quelle che abbiamo visto negli ultimi 10 anni. Sarebbe fantastico, ma quale sarebbe il ruolo degli algoritmi tradizionali in un futuro simile?

Qui con "algoritmi tradizionali" mi riferisco al solito processo che seguiamo in TCS: formalizzare un problema computazionale ben definito , progettare algoritmi per risolvere il problema e dimostrare garanzie formali sulle prestazioni .

Ora quali sono le aree di applicazione in cui dovremo utilizzare la progettazione e l'analisi degli algoritmi tradizionali anche in futuro, ed è altamente improbabile che eventuali progressi dell'apprendimento automatico rendano gli algoritmi tradizionali per lo più irrilevanti?

All'inizio può sembrare una domanda sciocca: ovviamente dovremo essere in grado di fare l'ordinamento, la ricerca, l'indicizzazione, ecc. Anche in futuro! Ovviamente dovremo essere in grado di eseguire trasformazioni di Fourier in modo efficiente, moltiplicare matrici di grandi dimensioni, trovare percorsi più brevi, risolvere problemi di ottimizzazione lineare!

Ma ancora una volta, una volta che inizi a guardare più in profondità le applicazioni in cui tradizionalmente utilizziamo gli algoritmi che progettiamo, non è affatto chiaro che la progettazione e l'analisi degli algoritmi tradizionali siano la risposta giusta a tali problemi: nelle applicazioni correlate alla ricerca , di solito siamo interessati a trovare qualcosa che corrisponda a un essere umano in un vago senso mal definito (ad es. somiglianza semantica), non qualcosa che sia ottimale in qualche senso matematico (ad es. distanza minima di modifica). Nelle applicazioni relative alla pianificazione del percorso, di solito siamo interessati a trovare percorsi che siano validi sulla base di esempi (ad es. altre persone lo preferiscono), non percorsi ottimali in un certo senso matematico (ad esempio la distanza più breve o il prezzo più basso). E una volta che hai un componente umano vago e mal definito nell'immagine, potrebbe essere il caso che stiamo meglio cercando di insegnare al computer a produrre buone risposte basate su esempi, invece di cercare di far emergere un ricercatore TCS con un problema computazionale formale che possiamo affrontare mediante la progettazione e l'analisi di algoritmi tradizionali.

Quindi quali sono le aree di applicazione (preferibilmente applicazioni industriali reali e dirette) in cui è assolutamente chiaro che ciò che abbiamo fatto in passato negli algoritmi sarà anche il modo giusto (e l'unico modo possibile) di fare progressi nel futuro?

Gli algoritmi utilizzati come subroutine nelle tecniche di apprendimento automatico sembrano un ovvio candidato a prova di futuro, ma questo dipende fortemente dalla particolare tecnica di apprendimento automatico che utilizziamo e, come abbiamo visto negli ultimi dieci anni circa, questo potrebbe cambiare rapidamente .


2
nccnc-ε

4
Sono scettico sull'idea che gli approcci siano esclusivi. Abbiamo motivo di pensare che non sarà possibile definire formalmente i problemi che gli algoritmi di machine learning risolvono e costruire buoni modelli teorici che analizzino le loro prestazioni? Ciò potrebbe richiedere modelli migliori per algoritmi basati sui dati (che ritengo algoritmi con elevata complessità descrittiva), ma è un ostacolo che non può essere superato?
Neal Young,

Risposte:


6

Questa è una domanda che mi ha perseguitato di recente, quindi sono contento che tu l'abbia fatto.
Tuttavia, sono meno interessato a classificare le aree di applicazione per le quali l'apprendimento automatico dominerà l'approccio computazionale di quanto non lo sia nell'impatto sull'avanzamento nel campo degli algoritmi (tradizionali). A che tipo di ricerca di "algoritmi creati dall'uomo" saremo ancora interessati, tra 30 anni? Certo, questa è la domanda più difficile a cui rispondere in generale, perché è l'applicazione che determina quale qualità del risultato è richiesta.

penso che algoritmi di enumerazione saranno numerati tra i sopravvissuti. Continuerà a essere necessario testare tutti gli ingressi di un chip o condurre una ricerca esaustiva. L'attenzione specifica per l'oggetto, il design finemente calibrato richiesto per generare ogni istanza dell'oggetto esattamente (o almeno) una volta; e l'amplificazione del tempo di esecuzione di qualsiasi sforzo sprecato (potrebbe esserci un numero esponenziale di istanze, in funzione della descrizione dell'oggetto) - questi fattori mi rendono scettico sul fatto che un processo di apprendimento automatico per scopi generici possa eguagliare un intelligente, soluzione appositamente progettata in questo settore.


4

Il problema con le soluzioni di apprendimento automatico è che non c'è modo di sapere se hanno davvero calcolato ciò che volevi.

Mi aspetto che prendano il controllo in tutti i domini in cui un risultato errato non è catastrofico (ovvero ovunque in cui attualmente utilizziamo l'euristica) o il risultato può essere facilmente verificato (problemi di ricerca per i quali si conosce una soluzione (perché selezionando "lì non c'è soluzione "potrebbe essere difficile)).

Per i restanti domini, mi aspetto che gli algoritmi vengano dimostrati formalmente (ad esempio usando Coq / Gallina) in modo spesso accellerato. Si spera che l'apprendimento automatico alla fine renderà le prove in tali sistemi facili come sulla carta (o anche più facili). Potrebbe persino arrivare al punto in cui gli umani scrivono solo le specifiche e l'algoritmo e la sua prova di correttezza si trovano usando l'apprendimento automatico. (Si noti che l'algoritmo stesso non utilizza l'apprendimento automatico, ma sono state trovate prove di correttezza utilizzando l'apprendimento automatico)

Quindi potremmo trovarci a scrivere solo assistenti di correzione, specifiche del programma e algoritmi di apprendimento automatico.

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.