Considerazioni per i progettisti di soluzioni di intelligenza artificiale

Completato

Progettista di software

Le soluzioni software includono sempre più spesso funzionalità di intelligenza artificiale e di conseguenza i progettisti di software devono saper integrare funzionalità di intelligenza artificiale nei propri servizi e applicazioni.

I progressi realizzati in ambito di Machine Learning, insieme alla maggiore disponibilità di grandi volumi di dati e potenti risorse di calcolo su cui elaborarli ed eseguire il training di modelli predittivi, hanno portato alla disponibilità di servizi software preassemblati che integrano funzionalità di intelligenza artificiale. I progettisti di software possono trarre vantaggio da questi servizi per creare applicazioni e agenti che usano la funzionalità di intelligenza artificiale sottostante, usandoli come componenti di base per creare soluzioni intelligenti.

Questo significa che i progettisti di software possono applicare le proprie competenze esistenti in programmazione e test, usando sistemi di controllo del codice sorgente e creando pacchetti di applicazioni per la distribuzione, senza dover diventare esperti in data science o Machine Learning.

Tuttavia, per investire a pieno nelle opportunità dell'intelligenza artificiale, i progettisti di software devono avere almeno una comprensione teorica dei principi di base di intelligenza artificiale e Machine Learning.

Training e inferenza dei modelli

Molti sistemi di intelligenza artificiale si basano su modelli predittivi di cui è necessario eseguire il training usando dati di esempio. Il processo di training analizza i dati e determina le relazioni tra le caratteristiche nei dati (valori dei dati che saranno in genere presenti in nuove osservazioni) e l'etichetta (valore per stimare il quale viene eseguito il training del modello).

Al termine del training del modello, è possibile inviare nuovi dati che includono valori di caratteristica noti e fare in modo che il modello stimi l'etichetta più probabile. L'uso del modello per eseguire stime è noto come inferenza.

Molti dei servizi e framework che i progettisti di software possono usare per creare soluzioni abilitate per l'intelligenza artificiale richiedono un processo di sviluppo che prevede il training di un modello da dati esistenti prima di poterlo usare per l'inferenza di nuovi valori in un'applicazione.

Punteggi di probabilità e attendibilità

Un modello di Machine Learning con training accurato può essere preciso, ma nessun modello predittivo è infallibile. Le stime eseguite da modelli di Machine Learning sono basate sulla probabilità e, benché i progettisti di software non debbano avere una comprensione matematica approfondita della teoria della probabilità, è importante notare che le stime riflettono una probabilità statistica, non la verità assoluta. Nella maggior parte dei casi, alle stime è associato un punteggio di attendibilità che riflette la probabilità in base alla quale viene effettuata la stima. Gli sviluppatori di software devono usare i valori del punteggio di attendibilità per valutare le stime e applicare soglie appropriate per ottimizzare l'affidabilità delle applicazioni e ridurre il rischio di stime eseguite in base a probabilità marginali.

Intelligenza artificiale responsabile ed etica

È importante per i progettisti di software valutare l'impatto del proprio software sugli utenti e sulla società in generale, insieme alle considerazioni etiche sul suo utilizzo. Quando l'applicazione è intrisa di intelligenza artificiale, queste considerazioni sono particolarmente importanti a causa della natura del funzionamento dei sistemi di intelligenza artificiale e del modo in cui determinano le decisioni, spesso in base a modelli probabilistici, che a loro volta dipendono dai dati con cui sono stati sottoposti a training.

La natura umana delle soluzioni di intelligenza artificiale è un vantaggio significativo per rendere le applicazioni semplici da usare, ma può anche portare gli utenti a considerare molto attendibile la capacità dell'applicazione di prendere decisioni corrette. Il rischio di recare danno a persone o gruppi attraverso stime errate o l'uso improprio delle funzionalità di intelligenza artificiale è un problema importante e i progettisti di software che creano soluzioni abilitate per l'intelligenza artificiale devono porre la dovuta attenzione per attenuare i rischi e garantire equità, affidabilità e protezione adeguata da danni o discriminazioni.