Neural Networks - La nascita di un nuovo paradigma di programmazione

1

Ultimamente, c'è stata molta pubblicità sulle reti neurali. Hanno rilevato il campo di intelligenza artificiale, trovando applicazioni in computer vision, medicina, elaborazione del linguaggio naturale, ecc.

Ci sono campi di ricerca attivi per comprenderli e le loro capacità, ma sembra che la risoluzione di sempre più problemi di intelligenza artificiale riguardi più la ricerca della giusta architettura NN (esiste anche una ricerca attiva sull'apprendimento dei metalli - automatizzare la progettazione delle reti neurali) .

Dal momento che sempre più problemi possono essere risolti trovando la giusta architettura di una rete neurale, possiamo dire che un nuovo paradigma di programmazione sta nascendo?

Modifica: la maggior parte delle risposte sostiene che le reti neurali non sono affatto nuove. In effetti, sono stati presenti per almeno 50 anni, almeno da quando il perceptron è stato introdotto alla fine degli anni cinquanta. Direi che le reti neurali, così come le conosciamo, sono esistite da quando il backpropagation è stato applicato alle reti neurali negli anni ottanta. Tuttavia, sembra esserci un aumento esponenziale nell'uso delle reti neurali. La domanda ruotava intorno all'idea che con le reti neurali, risolvere un problema significa progettare un'architettura che risolva il problema. Considerando questo aumento esponenziale del loro utilizzo e numero di applicazioni, a quale punto le reti neurali possono essere considerate un paradigma a sé stanti?

    
posta Paul92 11.06.2017 - 00:48
fonte

3 risposte

4

can we say that a new programming paradigm is being born?

Puoi. Ma o sei stupido o sei in pubblicità.

Il paradigma di programmazione (e le sue tecniche) di cui stai parlando sta facendo nuovi traguardi, ma non è nuovo.

AI nacque prima del computer digitale. È stato il sogno dei re. L'informatica non sarebbe qui senza di essa. AI non ha iniziato con uno e zero. È iniziato con la matematica. L'inferno è più vecchio anche allora gli orologi che riempiono torri di orologio.

Ciò che è cambiato è l'hardware e la scala di compiti che siamo in grado di raggiungere.

Sì, l'architettura fa una grande differenza. Ma così fa corrispondere la procedura con l'attività. Ho visto massicci ammassi di Hadoop messi in imbarazzo da un singolo computer con un Bash one ben scritto.

Quindi, questo non è un cambio di paradigma. Se mai è il potere del marketing.

Ma comunque, mi piace essere in grado di dire a Siri "portami a casa".

    
risposta data 11.06.2017 - 03:54
fonte
3

Le reti neurologiche sono un paradigma?

Le reti neurali sono un dominio per un insieme di problemi specifici e il loro soluzioni. Poiché le reti neurali influenzano profondamente il modo in cui un sistema è costruito, potrebbero essere considerate come schema architettonico . Poiché definiscono ulteriormente un insieme di concetti e schemi di pensiero correlati, potrebbero essere chiamati paradigma .

Che cos'è un paradigma di programmazione?

Un paradigma di programmazione è in generale inteso come modo di programmare e strutturare il codice supportato dalle funzionalità del linguaggio di programmazione e utilizzato in tutto il codice.

Ad esempio, è possibile trovare la programmazione funzionale o le funzioni di programmazione orientate agli oggetti in diversi linguaggi di programmazione e in quasi tutti i codici scritti in base a questo paradigma. Ma non lo troverai mai per le reti neurali. Una rete neurale non è una struttura direttamente nel codice del programma: è qualcosa che emerge da tutto il sistema. Questo è il motivo per cui il modello architettonico sarebbe più appropriato.

Inoltre, il codice della rete neurale è inutile senza l'addestramento / apprendimento acquisito dalla rete. Quindi la rete neurale non riguarda solo la programmazione.

Conclusione

Mentre le reti neurali sono usate nella programmazione e formano un paradigma, non sono un paradigma di programmazione secondo il senso generalmente attribuito a quel termine.

Proprio come i grafici: anche questi sono un concetto piuttosto vecchio, con schemi di pensiero correlati (citazione del giorno " una volta che hai un algoritmo A* nel tuo cervello, ogni problema sembra un GPS "). Quindi sono chiaramente un paradigma. I grafici sono ormai onnipresenti nella programmazione. Esistono molti framework e domini applicativi (ad esempio le reti neurali sono grafici). Esistono anche motori di database dedicati con linguaggio di query specifico del grafico. Ma nessuno osa definirlo un "paradigma di programmazione".

    
risposta data 11.06.2017 - 10:21
fonte
2

C'è una linea confusa tra una tecnica e un paradigma. Non c'è una grande definizione per "paradigma di programmazione" oltre "le caratteristiche generali di come un programma è scritto" (per esempio potremmo dire che un programma è scritto in un paradigma funzionale se funziona principalmente con oggetti immutabili e pesantemente con funzioni di ordine superiore). È importante sottolineare che un paradigma è una caratteristica generale di come il codice è scritto e non di alcun oggetto chiamato nel codice: in un programma Haskell in genere non esiste alcun oggetto chiamato functionalness .

Al contrario, una rete neurale verrà nominata nel codice. Puoi avere una libreria di reti neurali in modo che tu non possa avere una libreria di programmazione funzionale .

Direi anche che le reti neurali mancano di una certa dose di genericità che impedisce loro di diventare un paradigma: non hanno a che fare con la creazione di particolari funzionalità in un programma (ad esempio "identificare se questa immagine è un gatto") ma non del tutto adatto per altre funzionalità ("trova il logaritmo di questo numero", "mappa questa funzione su un elenco", "analizza questo csv in un elenco di liste", ecc.).

    
risposta data 11.06.2017 - 02:14
fonte

Leggi altre domande sui tag