Prima di sviluppare un software di Intelligenza Artificiale bisogna capire quali sono i propri obiettivi.
Con l’AI si inizia un percorso che porterà l’azienda a creare i pilastri della sua crescita futura e della sua permanenza sul mercato.
L’AI non è magia
Quando ci viene posta una nuova sfida progettuale, cerchiamo sempre di capire come l’AI possa eventualmente supportare il business del nostro Cliente. In genere confrontiamo l’opportunità dell’AI con i vantaggi dei software tradizionali e per spiegare questo ai nostri clienti usiamo la metafora del piano cartesiano.
Un normale software può essere rappresentato visivamente con una curva.
Se l’asse delle ascisse rappresenta l’input e l’asse delle ordinate l’output, il software corrisponde alla curva che collega input e output. Ciò significa che il team di sviluppo realizza un software che permette di raggiungere uno specifico output a partire da determinati input. Questo è un esempio di normale programmazione, in cui il dev team ha tutte le specifiche per realizzare il software (la curva) desiderata, di modo da ottenere il valore dell’ordinata a partire dall’ascissa.
Nei progetti di AI la questione è diversa. Il team infatti non ha le specifiche di come dovrebbe funzionare l’algoritmo, ma dispone invece di un grande insieme di dati.
Il dataset è un pool di dati che raccoglie input e output collegati tra loro ed è il sistema di AI stesso che deve studiarli, imparando autonomamente a trasformare gli input in output.
Troppo complicato? Facciamo un esempio.
In medicina da anni si archiviano le foto delle ecografie e risonanze magnetiche. Ognuna di queste viene archiviata con diverse etichette: “sano”, “massa pericolosa”, “polmone destro più piccolo del sinistro”, etc..
Originariamente i progetti sull’Intelligenza Artificiale sono partiti proprio da questi casi per testare la capacità dei modelli di riconoscere correttamente le immagini. Per farlo, gli algoritmi sono stati allenati.
Per ogni input (l’ecografia) esisteva un output (l’ecografia etichettata), e l’AI imparava come etichettare correttamente le future foto date come input, allenandosi sul database esistente.
Al sistema di AI viene quindi fornito un dataset di training, addestrandolo a riconoscere quali sono le immagini di input originali e come devono essere etichettate. Più alto è il numero di questi dati, migliore sarà la prestazione del sistema di Machine Learning, che potrà esercitarsi a interpretare una grande mole di immagini.
In questo modo, quando riceverà una nuova ecografia, non presente nel suo database, l’algoritmo riuscirà a etichettarla, a classificarla o a ‘diagnosticarla’ correttamente.
La nostra AI è interpretabile
Una caratteristica fondamentale che deve avere l’engine di Intelligenza Aritificiale che sviluppiamo in Uqido è la sua interpretabilità. Ossia deve essere possibile valutare l’output generato dalla macchina grazie a parametri qualitativi allegati all’output stesso. In altre parole l’essere umano deve essere messo nella condizione di valutare la risposta dell’AI. Il sistema deve avere degli elementi per giudicare, ragionare e dedurre la risposta corretta. A partire da una serie di parametri da noi forniti con dataset completi ed esaustivi, l’AI riesce a rendere interpretabili i dati, portandoci all’output atteso.
Quando si lavora con l’AI si inizia un percorso che, con i giusti tempi, porterà l’azienda a creare i pilastri sui quali si poggerà la sua crescita futura e la possibilità di rimanere sul mercato. Le fondamenta però devono essere solide, ampie e si devono basare su una visione molto chiara di cosa si vuole ottenere in futuro. Solo così l’AI potrà rispondere alle domande giuste.
Siamo noi a dover abilitare le macchine a portarci nella giusta direzione. Più chiari sono i nostri punti di partenza, migliore sarà il sistema che realizzeremo. In questo senso quando si lavora con l’Intelligenza Artificiale la fase di progettazione è delicata e imprescindibile. Qui entra in gioco il fondamentale step di Design.