Che cos’è e impatto dell’Intelligenza Artificiale (IA) in informatica 

Che cos’è e impatto dell’Intelligenza Artificiale (IA) in informatica 

Nascita del concetto di IA

Negli ultimi anni l’Intelligenza Artificiale (IA) è diventata sempre più pervasiva, trovando continuamente nuovi campi di applicazione e assistendoci a svolgere molteplici compiti. L’IA è un campo di studi per sua natura interdisciplinare e trae concetti da numerose discipline, quali informatica, neuroscienze, logica formale, statistica, filosofia, lingustica, economia e ricerca operativa. L’obiettivo di questi studi è quello di fornire una rappresentazione di come funziona il ragionamento umano e trovare il modo di applicarlo alle macchine.

Gli studi sull’Intelligenza Artificiale nascono fondamentalmente perché ci si è chiesto se fosse possibile costruire delle macchine che potessero “pensare” e comportarsi come gli esseri umani. L’obiettivo era di creare sistemi in grado di risolvere problemi e compiere attività che, normalmente, richiedono l’intervento umano.

Le potenzialità dell’IA sono vaste, visto che è in grado di occuparsi di molte attività, a partire da quelle generali (come l’apprendimento, il ragionamento, la percezione, ecc.) fino a quelle specifiche, come giocare a scacchi, dimostrare teoremi matematici, scrivere poesie, guidare un’automobile o diagnosticare delle malattie.

In effetti, l’IA è stata a sua volta influenzata da tanti campi di studio, oltre ovviamente all’informatica, la filosofia, la matematica, l’economia, le neuroscienze, la psicologia, la cibernetica, le scienze cognitive e la linguistica.

Che cos'è e impatto dell'Intelligenza Artificiale (IA) in informatica 

Impatto dell’IA sull’informatica

Evoluzione di alcuni campi dell’informatica già esistenti

L’introduzione dell’IA nell’informatica ha fatto in modo che alcuni ambiti si evolvessero o, perlomeno, integrassero l’IA utilizzandola come supporto.

Uno di questi è la programmazione e, in generale, lo sviluppo di qualsiasi software. La fase di programmazione può essere resa più efficiente grazie alla possibilità di generare automaticamente il codice di base, di creare le viste e/o di sviluppare alcuni algoritmi specifici. Similmente è possibile automatizzare parzialmente lo sviluppo di test. Inoltre, l’IA può essere utilizzata per aiutare a risolvere i problemi nel software e quindi ridurre il tempo necessario per identificare e risolvere gli errori. Pertanto, automatizzando alcune attività che normalmente richiederebbero l’intervento umano, l’IA è in grado di ridurre i costi di sviluppo del software e di portare ad un aumento della velocità di lancio di nuovi prodotti. L’IA offre alcune possibilità anche in ambito di cybersecurity, in quanto può essere utilizzata per analizzare grandi quantità di dati in tempo reale, alla ricerca di anomalie o comportamenti sospetti che potrebbero indicare un attacco informatico. Questo può aiutare a rilevare e rispondere agli attacchi più rapidamente e in modo più efficace. Allo stesso modo, l’IA può essere utilizzata per identificare e mitigare le vulnerabilità che potrebbero essere sfruttate dagli aggressori.

L’IA può essere utilizzata anche nell’ambito della data science. Grazie alla sua capacità di gestire grandi quantità di dati, essa può essere utilizzata per automatizzare i processi di raccolta dei dati, come la scansione di documenti, l’analisi di immagini o l’analisi dei dati in tempo reale. Grazie ai meccanismi di apprendimento automatico, l’IA è capace di trovare delle correlazioni tra i dati o dei modi di classificarli che potrebbero facilmente sfuggire a un osservatore umano.

Nascita di alcuni nuovi campi dell’informatica

Oltre a permettere il miglioramento di alcuni campi già esistenti, l’IA è stata in grado di dar vita a nuovi rami di applicazione dell’informatica, permettendo di adottare degli approcci del tutto nuovi ad alcuni problemi che sono stati posti nel corso del tempo.

Uno di questi è la visione artificiale (in inglese, detta, anche, “computer vision”), che è una branca che si occupa di riprodurre artificialmente la visione umana. Per la precisione, si occupa di creare un modello approssimato del mondo reale (3D) a partire da immagini bidimensionali (2D).

Tuttavia, l’obiettivo di questi studi non è soltanto di fare in modo che la macchina possa “vedere”, ma è soprattuto quello di permettere alla macchina di ricavare tutte le informazioni che ha raccolto tramite la “vista”, affinché possa prendere delle decisioni di conseguenza.

Un sistema di visione artificiale è costituito dall’integrazione di componenti ottiche, elettroniche e meccaniche che permettono di acquisire, registrare ed elaborare immagini sia nello spettro della luce visibile che al di fuori di essa (infrarosso, ultravioletto, raggi X, ecc.). Il risultato dell’elaborazione è il riconoscimento di determinate caratteristiche dell’immagine per varie finalità di controllo, classificazione, selezione, ecc.

Un problema classico nella visione artificiale è quello di determinare se l’immagine con- tiene o meno determinati oggetti (object recognition) o attività. Il problema può essere risolto efficacemente e senza difficoltà per oggetti specifici in situazioni specifiche, per esempio il riconoscimento di specifici oggetti geometrici come poliedri, il riconoscimento di volti o di caratteri scritti a mano. Le cose si complicano nel caso di oggetti arbitrari in situazioni arbitrarie.

Un altro contesto in cui l’IA trova un’applicazione innovativa è l’elaborazione del lin- guaggio naturale (in inglese “Natural Language Processing”, o NLP). Si tratta di una branca di studi che mette insieme la linguistica e l’informatica e che si occupa di creare macchine che siano in grado di comprendere e generare messaggi in linguaggio naturale. In particolare, lo scopo è rendere la tecnologia in grado di “comprendere” il contenuto dei documenti e le loro sfumature contestuali, in modo tale che possa estrarre con precisione informazioni e idee contenute nei documenti, nonché classificare e categorizzare i documenti stessi.

Questo processo è reso particolarmente difficile e complesso a causa delle caratteristiche intrinseche di ambiguità del linguaggio umano. Per questo motivo il processo di elaborazione viene suddiviso in fasi diverse e, tuttavia, simili a quelle che si possono incontrare nel processo di elaborazione di un linguaggio di programmazione. Tali fasi sono:

  • analisi lessicale: scomposizione di un’espressione linguistica in token (in questo caso, le parole);
  • analisi grammaticale: associazione delle parti del discorso a ciascuna parola nel testo;
  • analisi sintattica: arrangiamento dei token in una struttura sintattica (ad albero: parse tree);
  • analisi semantica: assegnazione di un significato alla struttura sintattica e, di conseguenza, all’espressione linguistica, disambiguando dove è necessario.

Infine, esiste anche l’IA generativa, che è un tipo di IA particolare in grado di generare automaticamente del testo o vari tipi di media a seconda della richiesta che viene posta ad essa. Tra i più noti attualmente vi sono ChatGPT, un chatbot creato da OpenAI utilizzando i modelli linguistici GPT-3 e GPT-4, Bard, sviluppato da Google, o Bedrock, sviluppato da Amazon. L’Intelligenza Artificiale generativa ha potenziali applicazioni in una vasta gamma di settori, tra cui lo sviluppo software, il marketing e la moda, l’editoria, la predizione della struttura proteica e la scoperta di farmaci (a partire da catene di aminoacidi o rappresentazioni di molecole, come la codifica SMILES, che rappresenta DNA o proteine).

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *