Se sostituiamo nell'articolo "learning" con "calibration" e "mind" con "loss function" diventa molto meno sorprendente. La calibrazione di una rete neurale effettua la selezione (solitamente, pseudo) casuale di una delle infinite funzioni che passano a meno di un epsilon dai punti noti. Per questo possiamo definirlo un processo statistico e per questo più dati determinano una selezione migliore. E per questo ci troviamo a dover gestire overfit e underfit. Fin quando possiamo definire un dominio e un codominio, fino a quando siamo noi a scegliere le dimensioni degli stessi e fin quando disponiamo di dati, di energia e tempo sufficienti alla calibrazione, le reti neurali ci daranno buoni risultati con alta probabilità. Andando poi a dare un occhiata al paper di DeepMind ( https://arxiv.org/pdf/1802.07740.pdf ), l'introduzione spiega bene l'*obbiettivo politico *della ricerca: For all the excitement surrounding deep learning and deep reinforcement
learning at present, there is a concern from some quarters that our understanding of these systems is lagging behind. Neural networks are regularly described as opaque, uninterpretable black-boxes. Even if we have a complete description of their weights, it’s hard to get a handle on what patterns they’re exploiting, and where they might go wrong. As artificial agents enter the human world, the demand that we be able to understand them is growing louder. Let us stop and ask: what does it actually mean to “understand” another *agent*?
Il resto dell'introduzione assume che la natura dell'agente sia irrilevante: uomini, animali e macchine vanno considerati tutti nello stesso modo. Per farlo si risale al concetto di "agente". E ringraziamo che non siano saliti fino a Object! :-D Infatti: A salient feature of these “understandings” of other agents is that they
make little to no reference to the agents’ true underlying structure.
Peccato che in realtà, per qualsiasi programmatore, questa attività di comprensione, tipicamente chiamata debug, preveda proprio l'analisi e la comprensione della "vera struttura sottostante". *Sempre*, il bug consiste in una differenza fra la struttura immaginata dal programmatore e quella effettivamente imposta al programma. Purtroppo è piuttosto facile far leva su diversi bias umani per diffondere questa *ridicola credenza* che le reti neurali non siano software come gli altri e non vadano dunque spiegati attraverso la loro struttura di funzionamento, che è totalmente deterministica (fin tanto che viene eseguita da macchine deterministiche). Primo fa tutti, fingendo che il lettore concordi su questa ipotesi, per generare una convinzione in esso (questo processo ha un nome nel marketing, ma non mi sovviene). Non è così. E' molto più semplice: se non possiamo dimostrare che un software è corretto, allora è sbagliato. Sforzarsi di (far) immaginare un pensiero all'interno del software è... fantasia? marketing? pressione culturale e politica? Non trovo la parola appropriata Di certo non è ingegneria. Ed è un peccato. Ma non dovrei prendermela. Il vero obbiettivo non è la AGI. E' *deployare sistemi pericolosi senza dover rispondere dei danni* che provocheranno. Giacomo 2018-07-28 22:41 GMT+02:00 Roberto “Rob” Dolci <setsail88@gmail.com>:
http://www.sciencemag.org/news/2018/07/computer- programs-can-learn-what-other-programs-are-thinking
Important little step in the path to general AI
Cheers Rob
_______________________________________________ nexa mailing list nexa@server-nexa.polito.it https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa