Intelligenza Artificiale: un nuovo mondo

Un’ intelligenza artificiale è un programma installato su una macchina, il cui scopo è simulare la mente o le azioni umane. Al giorno d’oggi non esistono intelligenze artificiali che si avvicinino alla complessità di un cervello, ma queste tecnologie ci hanno comunque fornito numerosissimi progressi

Le A.I. hanno uno scopo preciso: devono essere in grado di risolvere problemi e prendere decisioni nelle situazioni in cui l’uomo non riesce a farlo. Non solo, devono farlo come lo farebbe un’intelligenza naturale.Devono saper pensare o agire in maniera razionale, o umana.

Tuttavia, è abbastanza difficile definire questi parametri. Cos’è un’intelligenza? Cosa vuol dire pensare in maniera umana o razionale? Per questo, per decidere se una macchina sia intelligente o meno, ricorriamo ad un esperimento risalente ai primissimi studi sull’intelligenza artificiale: il test di Turing 

Il test parte dal presupposto che è impossibile determinare a tutti gli effetti se una macchina pensi o meno, perchè per farlo bisognerebbe essere la macchina stessa. È sufficiente, per definirla intelligente, che il suo comportamento sia indistinguibile da quello di un umano

Il test si svolge così: un uomo comunica con due stanze. In una c’è una persona, nella seconda la macchina da testare. L’uomo non ha modo di sapere con chi sta comunicando, e deve cercare di capire chi è la persona e chi la macchina. Se non riesce a distinguerli, allora la macchina ha passato il test, ed è considerata intelligente

Un computer moderno viene programmato con degli algoritmi, che di norma si limitano a dare istruzioni alla macchina su come agire.

Questi algoritmi possono anche essere molto complessi, ma non sono considerabili intelligenza, perchè si limitano a seguire delle regole logiche che gli sono state date (se x… allora y, o x o y, ecc…) 

Quella che oggi noi chiamiamo intelligenza artificiale sfrutta un sistema di programmazione chiamato rete neurale artificiale, che consente al programma di imparare ed evolversi col tempo

Una rete neurale è fondamentalmente il modello matematico, seppur molto semplificato, di una rete neurale biologica (quella del cervello). Questo modello viene inserito nella programmazione dei computer, e consente loro di distinguere dei pattern e soprattutto di imparare. Ma come è possibile fare questo? 

  • Le unità base di una rete neurale sono i neuroni, delle funzioni matematiche 
  • Una rete neurale è composta da più strati di neuroni. Il primo strato è detto strato di input, quello/i centrale/i nascosto, e l’ultimo strato di output. Questo è lo strato decisivo, in cui il programma deve identificare il dato analizzato (deve riconoscere cos è)
  • Quando un dato viene inserito nella rete neurale attraversa tutti gli strati, dopo ogni strato viene “manipolato” tramite delle costanti dette pesi, e infine viene definito
  • La rete neurale ha anche un’altra capacità, che consiste nel misurare i propri errori
  • Dopo ogni inserimento di dati, la rete dà la sua risposta, ma “si ricorda” anche se la risposta che ha dato è giusta o sbagliata
  • In questo modo, ogni volta che viene usata, la rete neurale diventa più esperta nell’identificare un pattern, adattando i pesi alle necessità
  • Prima di diventare abbastanza abile, una rete neurale deve “allenarsi” su molti dati, e questo può richiedere anche molto tempo

 

Di Anna Passanese

Traduzione di Anna Passanese

 

 

Artificial Intelligence: a new world

Immagine da forbes.com

An artificial intelligence is a program installed on a machine, whose purpose is to simulate the human mind or actions. Nowadays there are no artificial intelligences that come close to the complexity of a brain, but these technologies have nevertheless provided us with large progress.

A.I. have a specific purpose: they must be able to solve problems and make decisions in situations where man fails to do so. Not only that, they have to do it as a natural intelligence would. They must be able to think or act rationally, or humanly.

However, it is quite difficult to define these parameters. What is intelligence? What does it mean to think in a human or rational way? For this reason, to decide whether a machine is intelligent or not, we use an experiment dating back to the very first artificial intelligence studies: the Turing test. 

The test assumes that it is impossible to determine in all respects whether a machine thinks or not, because to do so you would have to be the machine itself. It is enough, to call it intelligent, that its behavior is indistinguishable from that of a human.

The test takes place like this: a man communicates with two rooms. In one there is a person, in the second the machine to be tested. The man has no way of knowing who he’s communicating with, and he has to figure out who the person is and who the computer is. If he can’t distinguish them, then the machine passed the test, and is considered smart. 

A modern computer is programmed with algorithms, which usually just instruct the machine on how to act. These algorithms may be very complex, but they are not considered intelligence, because they are limited to following the logical rules that have been given to them (if x… then y, or x or y, etc…) 

What we now call artificial intelligence uses a programming system called an artificial neural network, which allows the program to learn and evolve over time.

A neural network is basically the mathematical model, although very simplified, of a biological neural network (that of the brain). This model is inserted into the programming of computers, and allows them to distinguish patterns and above all to learn. But how can this be done? 

  • The basic units of a neural network are neurons, mathematical functions 
  • A neural network consists of multiple layers of neurons. The first layer is called the input layer, the hidden central layer(s), and the last layer of output. This is the decisive layer, in which the program must identify the analyzed data (it must recognize what it is)
  • When a data is inserted into the neural network it crosses all the layers, after each layer it is “manipulated” by constants called weights, and finally it is defined
  • The neural network also has another capability, which is to measure its own errors
  • After each data entry, the network gives its answer, but “remembers” even if the answer it gave is right or wrong
  • In this way, each time it is used, the neural network becomes more experienced in identifying a pattern, adapting weights to the needs
  • Before it becomes quite skilled, a neural network has to “train” on a lot of data, and this can also take a long time