Tre principi per soluzioni AI di successo
Tutti stanno parlando di Intelligenza Artificiale ma cosa sta realmente accadendo? L’AI risolverà tutti i tuoi problemi? E soprattutto cos’è l’AI? Quali sono gli elementi fondamentali che devi tenere in considerazione quando costruisci soluzioni di Intelligenza Artificiale?
Matti Aksela, Vice President, Artificial Intelligence di F-Secure Corporation, cerca di fare chiarezza in questo post ed elenca tre principi da tener presente per creare soluzioni AI di successo.
“L’AI è spesso usata come termine ‘ombrello’, e la maggior parte delle soluzioni definite di AI sono in realtà di Machine Learning – ed esistono da un po’ di tempo. Per esempio, le prime reti neurali artificiali hanno fatto la loro comparsa a metà del 1900.
Certo, i metodi e gli algoritmi si sono evoluti molto e la potenza di calcolo è aumentata drasticamente, ma abbiamo utilizzato e sviluppato modelli di apprendimento automatico (machine learning) già da tempo. Anche se ci sono stati fantastici progressi recenti nella facilità d’uso attraverso toolkit come TensorFlow o servizi cloud gestiti come Sagemaker, penso che molte delle cose fondamentali apprese attraverso l’esperienza nel corso degli anni siano ancora valide, ma a volte ho visto alcuni degli elementi fondamentali andare persi in tutta questa eccitazione. Ho lavorato sul campo per un po’ di tempo e voglio condividere alcuni principi che tutti dovrebbero tenere a mente quando si progettano e si costruiscono – o si valutano, se si è seduti su quel lato del processo decisionale – soluzioni AI/ML di successo.
1) Non c’è nessuna formula magica
Se pensi che ci sia un algoritmo o un modello che funziona meglio di tutti gli altri, ti sbagli. Scusa se te lo dico. Non esiste una formula magica o un singolo algoritmo che risolverà qualsiasi problema. Certo, tutti parlano del Deep Learning al giorno d’oggi e senza dubbio fornisce un livello senza precedenti di accuratezza in molte attività. Ma ancora non è la soluzione giusta per tutti i problemi. Ritengo come data scientist che sia necessario acquisire una solida comprensione dei principi di base e della conoscenza dei diversi tipi di approcci, comprenderne i pro e i contro e dove funzionano (e dove no).
E se sei un imprenditore che sta valutando una soluzione da acquistare o costruire, dovresti essere un po’ scettico di chi dice frasi del tipo: “La nostra soluzione è la migliore perché usa ______”. È troppo facile attaccare l’ “AI” a qualsiasi soluzione senza generare alcun valore, o non molto di più del valore di marketing: la costruzione di soluzioni che mantengono le loro promesse in modo davvero solido potrebbe essere una storia completamente diversa.
2) Conosci i tuoi modelli
Ogni volta che si applica un modello a un insieme di dati, è necessario essere consapevoli delle ipotesi che stanno alla base di quel modello e delle condizioni in cui opera, nonché essere consapevoli delle possibili insidie più comuni. L’errore più comune nel fare modelli di apprendimento automatico è adattare un modello molto complesso su un set di dati, il che può portare a una scarsa capacità di estrapolazione al di fuori di quel particolare set di dati.
Di seguito puoi vedere un esempio molto semplice di cosa significa: osservando la figura qui sotto, supponiamo di avere un processo lineare, ma con un certo rumore su un dato. Abbiamo quattro punti dati (di solito non saranno numeri così gestibili e quindi molto più difficili da vedere, ma per fare questo esempio concedimelo). Una linea retta non comprende perfettamente tutti i dati. Un polinomio di secondo grado calza meglio, e sarà una soluzione migliore in termini di errori di training set. Ma un polinomio di terzo grado si adatterà perfettamente ai quattro punti dati – con zero errori sui dati di training. Ma se i tuoi dati provengono effettivamente da un processo lineare, il tuo modello quanto riuscirà a generalizzarsi su nuovi valori? Vediamo cosa succede se prendiamo un paio di punti dati in più e poi guardiamo cosa succede con il nostro modello troppo complesso – il modello in realtà non funziona affatto per i nuovi punti dati.
Questo è solo un esempio (fin troppo semplificato) di costruzione di una soluzione complessa che sui dati di training può sembrare lavorare molto bene senza comprendere l’intera situazione – e cosa può comportare alla robustezza del modello. È davvero sensato cercare di comprendere al meglio l’intera situazione prima di prendere una decisione, specialmente se non solo i numeri, ma anche i soldi, o anche le vite delle persone, dipendono da questa decisione.
3) L’allenamento è fondamentale (presta attenzione ai tuoi dati e a come alleni il tuo modello)
Anche se hai il modello perfetto, imparerà dai dati su cui lo hai allenato. Devi stare molto attento a come alleni il tuo modello. Per apprendimento automatico (machine learning) si intende che una macchina stia imparando dai dati – il modello apprenderà solo ciò che è nei dati che gli hai fornito. Quindi in un certo senso la maggior parte dell’IA attuale non è proprio così intelligente … gli output rifletteranno i dati che stai usando per il training, e se ci sono distorsioni nei dati di addestramento (o processo), ci si deve aspettare che saranno presenti anche negli output del modello quando viene applicato.
Ci sono tanti esempi di situazioni in cui un grande modello è stato allenato su un sottoinsieme di dati che trasferisce un elemento distorsivo nel modello. Si pensi ai modelli di riconoscimento delle immagini che rilevano le persone come criminali o terroristi basandosi sull’etnia. I sistemi militari sono stati allenati a distinguere tra carri armati amici e nemici attraverso l’uso delle immagini, dove immagini nitide di carri armati identificano quelli amichevoli e alcune immagini sfocate a lunga distanza i carri armati nemici. Indovina cosa succede in una giornata nebbiosa? Ci sono troppi esempi da menzionare, ma credimi! Devi stare molto attento perché senza un allenamento adeguato – e i giusti dati di training – il tuo modello potrebbe diventare solo una macchina “spazzatura” invece della soluzione veramente intelligente che stavi cercando di costruire.
Quindi, ecco perché ho condiviso questi 3 principi. Probabilmente già li conoscevi, ma credo che siano tutti così importanti che ripeterli non guasta. Cosa ne pensi? Secondo te quali sono le regole chiave per costruire una soluzione di Intelligenza Artificiale affidabile e robusta? Lascia un commento qui sotto, mi piacerebbe saperlo!
Stiamo anche assumendo: se vuoi far parte di un team per costruire il futuro della sicurezza informatica con l’aiuto dell’intelligenza artificiale lasciami un messaggio!
(Matti Aksela, Vice President, Artificial Intelligence di F-Secure Corporation)
Categorie