Intelligenza artificiale

combinazione di intelligenza artificiale e umana

L’intelligenza artificiale: tra entusiasmi e delusioni

Ascolta l'articolo

Si fa (giustamente) un gran parlare di intelligenza artificiale (AI) ed in particolare dei Large Language Model (LLM) o degli ancora più stupefacenti Large Multi-modal Model (LMM) e di come stanno cambiando la nostra vita (e lo stanno davvero facendo, anche se forse ci accorgiamo solo di qualche dettaglio!).

Vantaggi e insuccessi dell’intelligenza artificiale

Uno degli argomenti che in questo periodo sembra appassionare gli “esperti” è se la AI porti davvero benefici o no: ecco quindi vagonate di articoli sugli incredibili risultati che si possono ottenere ed altre vagonate sugli insuccessi.

Esperienze contrastanti: tra promesse non mantenute e successi inaspettati

Ho già affrontato la questione dal punto di vista che più mi interessa e cioè i possibili utilizzi in ambito industriale manifatturiero (non che gli altri non mi interessino, ma con questi … ce campo …), ma vorrei questa volta utilizzare un altro punto di osservazione, cioè quello dell’utilizzatore di LLM (tecnicamente, si può dire che “ce campo” anche con questi, visto che l’occasione di parlare viene proprio dagli utilizzi che ho fatto recentemente in ambito lavorativo).

Ho già polemizzato recentemente su una mirabolante proposta ricevuta sulle incredibili possibilità offerte da un certo sistema, inevitabilmente basato su AI, che però conteneva esso stesso gravi errori grammaticali: un pessimo biglietto da visita! Anche peggiore l’esperienza fatta con una grande e plaudita compagnia aerea: non ne indico il nome, ma se considerate che ho acquistato un volo da Firenze a Nairobi … qualche congettura la potete anche fare (a proposito di Nairobi: tornerò presto, spero, sui progetti africani dell’eLabor su ICT ed AI).

Del tutto soddisfacente, invece, pensando anche, purtroppo, a molti siti istituzionali italiani,, il sistema on-line di rilascio del visto di ingresso in Kenya:

      • completamente automatizzato, compreso lo scatto della fotografia quando è disponibile una webcam e non si ha una foto già pronta

      • ottimi ausili al completamento dei campi di input

      • un giusto livello di verifica dei documenti necessari e delle informazioni fornite, dipendenti anche dal tipo di visto richiesto

      • pagamento integrato nel processo

      • visto in PDF e pkPass rilasciato dopo poche ore

    In sostanza: si capisce chi ci ha veramente pensato (oops … non si tratta in questo caso di intelligenza artificiale, ma naturale) ed ha cercato di realizzare qualcosa che facilita ed invoglia l’utente (ricordando anche il turismo è una voce importante del bilancio keniano, così come l’interesse ad attrarre aziende ed investitori stranieri) … e chi  no :-(.

    L’intelligenza artificiale come supporto

    Ma un utilizzo, questa volta davvero entusiasmante, proprio perché intelligente, degli LLM l’ho sperimentato frequentando (e superando con successo gli esami :-)) dei corsi della specializzazione di DeepLearning.ai su Coursera (il mio agente formativo preferito) su “Generative AI for Software Development”: tre corsi in cui si insegna ad utilizzare gli LLM come supporto alla produzione con meno sforzo di software più efficiente, più sicuro, più mantenibile, ben testato e ben documentato (e scusate se è poco)!

    L’intelligenza umana e artificiale: una combinazione vincente

    In sostanza, il ritornello, Computer Vision, LLM, o anche semplicemente software, è sempre quello: la combinazione vincente è sempre, prima di tutto utilizzare la propria intelligenza ed esperienza e poi farsi aiutare anche dall’intelligenza artificiale, se questa è davvero utile nel contesto di applicazione, senza affidarsi ciecamente e stupidamente ad essa!

    digital twin

    Digital twin

    Ascolta l'articolo

    Oggi vi voglio parlare di Digital Twin, un altro dei pilastri, a mio avviso, di una moderna strategia digitale, in particolare per aziende manifatturiere, che ovviamente hanno a che fare con sistemi fisici.

    È questo uno dei casi in cui mi pare che non si possa proprio fare a meno di utilizzare la forma inglese: penso che ben pochi capirebbero di cosa si sta parlando se dicessi “gemelli digitali” (forse un nuovo gruppo musicale?); invece l’espressione inglese, anche se ancora non proprio conosciuta da da tutti, è molto presente in tutti gli ambienti in cui i studia come sfruttare al massimo le più moderne tecniche ICT per ottenere il massimo dalla propria azienda, trasformandola in una “learning organization”.

    Definizione di Digital Twin

    Ma un momento: cos’è un Digital Twin? Esiste una definizione di per sé molto ampia (probabilmente anche troppo): una replica virtuale di un prodotto fisico, sistema o processo. Noi, però, pensiamo in particolare ad un Digital Twin in presenza di un Cyber-Physical System (CPS), cioè di un sistema in cui si realizza un’importante convergenza tra un sistema fisico ed un sistema informatico. Giusto per non perdersi dentro i paroloni, un paio di esempi su cui noi abbiamo lavorato, in campo agricolo questa volta, sono la gestione di una serra e l’ottimizzazione dell’irrigazione di un campo coltivato.

    Il Ruolo dei Sistemi Digitali nella Gestione dei Sistemi Fisici

    I campi coltivati e le serre sono sistemi fisici che vengono utilizzati da migliaia di anni, ma quello che è successo negli ultimi anni, così come per tantissimi altri sistemi, è che la loro gestione è stata completamente ridisegnata, e resa molto più complessa, con l’utilizzo di strumenti elettronici (sensori, attuatori, …) e digitali (PLC, microcalcolatori, sistemi di trasmissione dei dati, sistemi di analisi remota, … per arrivare fino ai cruscotti ovviamente), che ne automatizzano le funzionalità generando ed analizzando una notevolissima quantità di dati.

    Simulazione Fisica e utilizzo di strumenti Open Source

    Per gestire e ottimizzare (a proposito, lo ricordate? I sistemi di ottimizzazione sono un altro dei “miei” pilastri ) sistemi di questa complessità, è utile averne una (o anche tante) repliche virtuali, i Digital Twin, appunto, grazie ai quali possiamo capire cosa è successo, cosa sta succedendo e soprattutto cosa succederà al sistema fisico.

    In questo scenario, l’aspetto tecnico più tipico, anche se non l’unico, dei Digital Twin è la “simulazione fisica”, cioè quell’insieme di tecniche matematico-ingegneristiche che hanno a che vedere con le equazioni differenziali, nella maggior parte dei casi quelle “alle derivate parziali”. In una serra, ad esempio, anche senza considerare variabili distribuite, ci sono come minimo alcune decine di grandezze fisiche che variano nel tempo (temperature, pressione, umidità, CO2, irraggiamento, ventilazione, massa, …) tutte legate tra loro da equazioni differenziali.

    È qui che ci vengono in soccorso le molte librerie Open Source (personalmente, ho una quasi venerazione per la Apache Foundation, che mette a disposizione di tutti strumenti veramente eccezionali) che permettono di trattare queste cose, ma è assolutamente importante anche saperle utilizzare non solo dal punto di vista informatico, ma anche matematico e ingegneristico (si potrebbe parlare a lungo di come le diverse mentalità informatiche, matematiche ed ingegneristiche si devono intrecciare nel mondo dei Digital Twin … chissà … magari prima di Natale riesco a scrivere qualcosa anche su questo).

    Un Futuro Complesso e Sfidante

    Ovviamente, lo scenario è molto sfidante, oltre a tutto quanto già detto, qui si ha a che fare con tutto il mondo dei Big Data, dell’IoT e, immancabile, il “cloud” … e potete immaginare che non c’entri anche il Machine Learning? Questo ve lo prometto per la prossima volta.

    paura e speranze relativamente all'ai

    Speranze e Paure relative all’Intelligenza Artificiale

    Ascolta l'articolo

    Vorrei riprendere da un altro punto di vista il discorso delle speranze e della paura che ci può fare l’intelligenza artificiale.

    L’Equilibrio di Andrew Ng

    Me ne dà l’occasione un recente articolo di Andrew Ng, cui sono molto affezionato, sia perché cerca di mantenere un equilibrio molto difficile in un campo dove ci si muove tutti con molta difficoltà, sia perché in questo equilibrio mantiene comunque la “barra dritta” verso una visione positiva del mondo ed una (non credo mal riposta) fiducia nella capacità degli umani di dirigersi verso queste possibilità. Non certo da ultimo, molto di questo affetto dipende dal fatto che Andrew ha insegnato il machine learning a milioni (letteralmente) di persone, tra cui ci sono anch’io.

    Il Caso Giudiziario e il Ragionamento per Analogia

    Nell’articolo di cui parlo, Andrew parla dell’azione giudiziaria intrapresa da alcune “major” della musica contro OpenAI per trasgressione del copyright, molto simile a quella intrapresa a suo tempo dal New York Times. Non sto a ripetere le sue argomentazioni, ovviamente non univoche, sull’argomento, ma mi interessa rilevare due questioni che rimangono abbastanza sullo sfondo.

    La prima è il ragionamento per analogia: quando si ragiona in un campo così poco esplorato come l’intelligenza artificiale, è abbastanza normale cercare dei punti di riferimento in convinzioni abbastanza consolidate. Un esempio di questo atteggiamento è la frase: “humans can learn from online articles and use what they learn to produce novel works, so I’d like to be allowed to use AI to do so”. Il problema è che procedendo allo stesso modo, ma da un altro punto di partenza, si può tranquillamente arrivare alla conclusione opposta: “gli umani non possono pubblicare una copia di articolo trovato online senza il consenso del detentore dei diritti, quindi non lo può fare neppure un agente AI”.

    Come se ne esce? Ovviamente, e questo è ben espresso da Andrew, non è facile e nessuno ha ancora trovato una via.

    L’Impatto della Scala di Utilizzo

    Andrew argomenta su una seconda questione, che secondo me è fondamentale: “scale can change the nature of an act”. La capacità di eseguire una certa operazione a ritmi precedentemente impensabili rende di fatto inservibile l’analogia con le soluzioni trovate fino a quel punto per contemperare due diritti tra loro concorrenti, come quello di acquisire e rielaborare nuove conoscenze e quello di vedere riconosciuto il valore del proprio lavoro ed investimento.

    Protezione del Bene Comune

    Non posso che concordare, ancora una volta, con Andrew, sull’atteggiamento che propone se non per dirimere, almeno per affrontare la questione: bisogna ricordarsi che il motivo principale della nascita dei diritti di proprietà intellettuale è la protezione del bene comune, non di quello privato dei singoli (cosa che purtroppo si è molto persa nella narrazione “mainstream”). E, beninteso, non si tratta di “affamare” i produttori di contenuti, ma, al contrario, di proteggerli, proprio in vista del bene comune.

    Conclusione

    Ecco quindi l’indicazione che mi sento senz’altro di condividere: “Humans do lots of valuable work, and AI, used as a tool to automate what we do, will create lots of value. I hope we can empower people to use tools to automate activities they’re allowed to do, and erect barriers to this only in extraordinary circumstances, when we have clear evidence that it creates more harm than benefit to society”.

    umano vs macchina

    Umano vs Macchina

    Ascolta l'articolo

    Introduzione

    Nello scorso articolo si diceva: macchina vs umano 90 a 90 … sì, ma non è la fine del discorso. Dopo esserci dati la nostra brava spiegazione ed aver messo a riparo la nostra “macchina” dalle possibili critiche (“se neanche tra addestratori riusciamo a metterci d’accordo, come possiamo pretendere che la rete faccia meglio”?), ci sembrava che ci fosse ancora qualcosa da capire meglio e, soprattutto, volevamo capire come migliorare, anche perché oramai si trattava di mettere il sistema in produzione: ok, il 90% ci basta, ma già sappiamo, se n’è parlato in uno scorso articolo, che c’è sempre il rischio di una degradazione delle prestazioni, quindi è opportuno cercare di migliorare.

    Nuova Esigenza del Cliente

    Ancora una volta, ci è venuto in soccorso il cliente (quando si dice che tra cliente e fornitore bisogna creare una partnership …), tra l’altro tirando fuori una nuova esigenza:

    [cliente] ora che abbiamo una discreta capacità di riconoscere puntualmente se in una foto si vede un difetto o no, quello che vorremmo sapere è se un lotto di materiale sia buono oppure no.

    [fornitore] ma certo: che problema c’è? Analizzando i risultati puntuali relativi ad ogni foto, che sono già classificate col nome del lotto, siamo sicuramente in grado di dare una valutazione complessiva: diteci come fate voi attualmente a dare questa valutazione.

    [cliente] ah, beh, è semplice: un nostro tecnico guarda il prodotto (non le singole fotografie, ndr) ed esprime un giudizio di conformità sul lotto.

    [fornitore] ottimo: dateci questi giudizi e noi cercheremo di trovare i giusti pesi da dare alle valutazioni sulle singole fotografie per ottenere la valutazione del lotto.

    Problemi di Valutazione

    La cosa continua secondo “copione”, ci danno le valutazioni dei vari lotti e noi le mettiamo a confronto con le valutazioni date da umani e macchina per trovare l'”algoritmo” di validazione del lotto. Solo che, tanto per cambiare … c’è qualcosa che non torna 🙁. Mentre in generale, tutto sommato, le cose vanno abbastanza bene, ci sono due punti che attirano la nostra attenzione.

    Valutazione delle Non Conformità

    Il primo è che le valutazioni di non conformità dei lotti sono poche (di per sé è una buona notizia: vuol dire che la produzione procede bene), ma proprio su quelle la valutazione della macchina sembra poco precisa, quando invece l’obiettivo è proprio che la maggior precisione la si vorrebbe sui lotti non conformi, anche al costo di avere un numero maggiore di “falsi positivi“. Questo è un super classico della valutazione automatica dei difetti: se la macchina segnala un difetto che non c’è (falso positivo), è un piccolo fastidio abbastanza sopportabile: si fa un ulteriore controllo e si aggiusta il giudizio.

    Se invece il difetto c’è e non viene visto, allora possono essere guai seri, il difetto entra magari in un semilavorato che finisce in un prodotto, che viene venduto … e solo a quel punto il prodotto si rivela non conforme: figuraccia col cliente, risarcimento o intervento in garanzia, comunque costoso, “brand” deteriorato! Il problema è se, come è capitato in questo caso, per evitare i falsi negativi generi una marea di falsi positivi, che singolarmente saranno anche solo piccoli fastidi, ma presi tutti assieme …

    Concentrazione degli Errori in un Mese Specifico

    Il secondo è che le valutazioni di non conformità, e quindi gli errori nella valutazione fatta sula base delle valutazioni puntuali, umane o della macchina, erano molto concentrate in un mese specifico. Domandiamo: “non è che in quel mese è successo qualcosa di particolare”? Risposta: “no: probabilmente ci sono semplicemente arrivati dei lotti di materiale difettosi; è proprio quello che vorremmo che il sistema ci aiutasse ad individuare”.

    Eh, sì: ma allora perché la cosa non traspare dalle fotografie? Bisogna andare più a fondo. A questo punto organizziamo una riunione in cui sono presenti un po’ tutti gli attori e cerchiamo di mettere al vaglio le possibili ipotesi: quando viene fatta la valutazione complessiva si prendono in esame anche altre informazioni, che non traspaiono sule fotografie? Il famoso 90% (o meglio, il 10% che rimane) è in grado di offuscare il giudizio fino a questo punto? Nella valutazione umana entrano in ballo aspetti soggettivi non trasferibili ad una macchina (almeno fintanto che non sia in grado di vivere dei sentimenti)?

    Collaborazione e Conclusioni

    Anche qui, va sottolineato la collaboratività di tutti: poteva essere una specie di “caccia al colpevole”, macchina o umano che sia, mentre invece è stato sufficiente focalizzare il problema, “stringerlo all’angolo”, come dico io, che quando devo sintetizzare in poche parole il mio lavoro dico: “risolvo problemi”, per arrivare ad una conclusione banale, ma significativa e sicuramente molto più utile di un “capro espiatorio”: nel periodo in cui si sono rilevate le maggiori non conformità la persona incaricata aveva ricevuto l’indicazione di essere molto scrupoloso e, appunto, evitare il più possibile che ci fossero falsi negativi; questo aveva determinato un alto numero di falsi positivi che poi qualcun altro aveva ripreso in considerazione. Da questa esperienza, avevano poi deciso di dare delle valutazioni meno “severe”.

    Umano o Macchina?

    E quindi? Cosa è meglio: umano o macchina? La domanda, a mio avviso, è semplicemente sbagliata: umani e macchine hanno caratteristiche diverse, che si adattano a situazioni diverse e danno il loro meglio quando sono affiancati a svolgere un compito in cui ciascuno è messo in condizione di dare il meglio. Una “learning organization” è proprio un’organizzazione che fa questo e lo fa sempre meglio, perché impara sia da quello che fa in modo corretto, e lo ripete, sia da quello che fa in modo errato, e non lo ripete più, tra cui anche mettere o non mettere ciascuno nel ruolo che più gli è congeniale.

    machine learning

    Il machine learning nel mondo reale

    Ascolta l'articolo

    Ci si chiede spesso, a volte con entusiasmo, a volte con paura, se il machine learning possa rendere le “macchine” più forti (e magari anche più cattive …. impresa veramente ardua … come anche essere più buone) degli esseri umani. La cosa è stata esplorata già molto tempo fa da scrittori e registi di fantascienza, con tutte le gradazioni del caso, che ne hanno tratto dei veri e propri capolavori, purtroppo non molto presi sul serio dalle “persone serie”.

    La transizione dalla fantascienza alla realtà tecnologica

    Oggi, però, con gli ultimi progressi tecnologici, stiamo passando dalla fase puramente artistico-speculativa a quella in cui bisogna prendere dei provvedimenti, e ovviamente, siamo in clamoroso ritardo rispetto al potenziale, costruttivo e distruttivo che sia, di queste tecnologie.

    Il confronto nel lavoro quotidiano all’eLabor

    Nel nostro piccolo, anche all’eLabor ci dobbiamo confrontare con questioni di questo tipo, anche se in realtà il tipo di lavoro che facciamo ci mette abbastanza al riparo dagli scenari distopici esplorati da molti autori che amo e, forse, potranno deludere un po’ le aspettative create dall’incipit di questo articolo (ma spero di no: in ogni caso, si tratta di portare la nostra “goccia” nel “mare” generale). L’esperienza che abbiamo fatto in quest’ultimo periodo è proprio di confronto, ed anche un poco scontro, tra valutazioni date da una rete neurale, quelle date dai suoi addestratori, e quelle date da una persona terza, che quasi nulla sa del processo di machine learning.

    Il ruolo della “human level performance” nel machine learning

    Ma andiamo con ordine: un elemento che nel machine learning ha un ruolo centrale è la cosiddetta “human level performance” (per gli amici, HLP), cioè il livello di accuratezza che uno specialista del settore, umano, è in grado di ottenere con le sua valutazioni, che, nel nostro caso, sono le valutazioni sulla presenza o assenza del difetto cercato. Nel ML “supervisionato”, la HLP si può considerare come il “sacro graal” che la macchina vorrebbe raggiungere, avvicinandosi a volte molto, a volte poco, ma praticamente impossibile da superare, anche perché chi può giudicare questo risultato se non un altro specialista umano?

    Le sfide incontrate nel progetto e la ricerca di miglioramenti

    Questa è per noi una guida ed un faro: nel nostro lavoro abbiamo, cosa che altri non hanno, un livello di riferimento preciso e affidabile: la HLP!

    Ma siamo sicuri che non ci siano problemi? Verrebbe da dire: “siamo sicuri che ci sono”! Ed infatti, …

    La sfida dell’overfitting nel machine learning

    In un progetto su cui stiamo lavorando, quando eravamo ancora in “fase 2” (vedere articolo precedente), avevamo un problema: nonostante tutti gli sforzi, l’uso di modelli sofisticati, le combinazioni più ardite di “iperparametri”, le tecniche più sofisticate di “data augmentation”, l’ampliamento dei dataset utilizzati, l’allungamento degli addestramenti, l’uso di macchine più potenti, … non riuscivamo a portare la KPI che usiamo per valutare il processo oltre il 90%, mentre le nostre aspettative erano di poter arrivare al 95, forse al 98. Tanto per capirsi, il 100% sarebbe stata l’emulazione completa della HLP.

    Quando credevamo di esserci riusciti … immancabilmente arrivava la doccia fredda della verifica successiva: si era trattato solo ed unicamente di un caso di “overfitting”. Se non conoscete tutte queste astrusità, potete scrivermi: sarò lieto di spiegarvele; ma per il momento penso che abbiate comunque capito il senso del discorso: le abbiamo provate tutte, senza riuscire a migliorare rispetto a questo risultato che ritenevamo scarso.

    La riflessione e il supporto del cliente

    Una nota molto interessante a latere di tutto il discorso che ci inorgoglisce per il tipo di rapporto che è stato creato col cliente: è stato lui che ci ha sollevato il morale dicendoci che tutto sommato per lui anche il 90% era un risultato positivo e che quindi voleva andare avanti!

    L’importanza della stabilità nelle valutazioni

    E avanti ci siamo andati, ma ci è rimasto il tarlo di questo “insuccesso”. Ad un certo punto, qualcuno ha ipotizzato, ma siamo sicuri che le persone che hanno dato le valutazioni siano state precise e soprattutto “stabili” nel tempo, perché, se ad immagini che hanno lo stesso livello di difettosità una volta si dice “difetto” ed un’altra volta “no”, è chiaro che poi anche la macchina possa confondersi.

    E così abbiamo deciso: andiamo avanti, sì, perché stiamo facendo un progetto industriale, non di ricerca, e l’obiettivo è portare valore al cliente, ma siccome questo valore non lo vogliamo portare solo a questo cliente, ma anche agli altri, e, se possibile, gliene vogliamo portare ancora di più, vogliamo capire. Ecco che da quel momento in avanti abbiamo modificato ADR-Flow, il nostro software, per non confrontare solo il giudizio umano e quello della rete, ma avere la possibilità di confrontare anche i giudizi di diverse persone (e quello di diverse reti).

    Il confronto tra valutazioni umane e sistemi automatizzati

    Quando abbiamo avuto sufficienti dati raccolti in questo modo abbiamo visto che in effetti persone diverse davano giudizi diversi e confrontandoli tra loro si arrivava proprio, nel caso migliore, a quel fatidico 90%, che era quindi quello il nostro HLP di riferimento.

    Machine vs human

    Partita pari, quindi? Machine vs human 90 a 90?

    In un certo senso sì … ma non proprio … quello che abbiamo scoperto dopo, però, ve lo racconto la prossima volta. Se avete resistito fin qui … sappiate che il bello deve ancora venire!

    Transfer Learning

    Ascolta l'articolo

    Oggi voglio entrare un po’ più nel profondo di un aspetto tecnico, che ha grosse ripercussioni sulle possibilità, oggi, anche di una piccola o media azienda, di utilizzare tecniche di Machine Learning: il Transfer Learning.

    Introduzione al Transfer Learning

    Come al solito, per chi mi conosce, non parlo di cose dal solo punto di vista teorico e neppure di cose che stanno nell’ambito della ricerca avanzata: quello che mi interessa è far capire che queste tecniche sono veramente alla portata di chi vuole utilizzarle, soprattutto a livello industriale, che è l’ambito che mi interessa di più, e che, se anche non sono nuovissime, considerando la pazzesca velocità di evoluzione del campo, sono da una parte efficacissime e dall’altra ancora scarsamente utilizzate.

    Importanza del Machine Learning

    Qui però non si può fare a meno di parafrasare il famoso motto creato a suo tempo da Andrew Clay Shafer (“you are either building a learning organization or you will be losing to someone who is” ), che rimane certamente valido: o ti metti ad utilizzare il machine learning o verrai battuto da chi lo sta facendo”. Sarebbe interessante esplorare la relazione tra learning organization e machine learning … ma lo faremo un’altra volta.

    Cos’è il Transfer Learning?

    Dicevamo “Transfer Learning”: sostanzialmente significa utilizzare un modello di calcolo sviluppato per fare una certa cosa … per farne un’altra. La cosa può essere abbastanza sorprendete: “Ofelee fa el to mesté”!, recita un mai abbastanza ascoltato proverbio milanese; per i non iniziati ai misteri padani: “pasticcere, fa il tuo mestiere”, o, in altri termini, ciascuno faccia quello che è davvero capace di fare … non pretenda di fare o di metter becco in quello che fanno altri, più preparati di lui).

    Perché mai un modello matematico addestrato per fare una cosa dovrebbe riuscire a farne bene un’altra?

    Provo a partire da un esempio di atletica che mi ricorda la mia gioventù: c’era un campione di corsa italiano, anche se nato in Sudafrica (forse mi era già partito il “mal d’Africa” …), di nome Marcello Fiasconaro: era uno splendido corridore sui 400 metri piani, in Italia dominava a suon di record, ma coi campioni mondiali … non c’era storia. Ad un certo punto, il suo allenatore si accorse che in realtà, pur non riuscendo a raggiungere le vette di velocità degli specialisti americani, aveva più resistenza. Cambiò specialità, passò a correre gli 800 metri e fece sfracelli; il suo record mondiale strabiliò il mondo e resistette per moltissimi anni. Il punto è che l’allenamento fatto per lunghi anni sulla corsa più veloce, sommata alle doti di resistenza sviluppate successivamente, hanno prodotto una combinazione vincente: evidentemente anche la saggezza milanese ha i suoi limiti.

    Si, vabbé … ma il machine learning cosa c’entra?

    Reti Neurali e Generalizzazione

    Qui bisogna introdurre un altro elemento: il modelli di machine learning che si usano oggi sono principalmente reti neurali profonde: si tratta di modelli molto complessi, anche senza arrivare agli LLM, e necessitano di incredibili moli di dati e di potenza di calcolo per essere addestrati: sicuramente una PMI non ha le risorse per farlo.

    Tuttavia, questi modelli hanno anche la straordinaria capacità di “generalizzare”, cioè di saper interpretare anche dati che non hanno mai visto (altrimenti non servirebbero a nulla). Possiamo sfruttare queste doti, prendendo un modello addestrato da altri, ne esistono tantissimi, provare ad aggiungerci degli altri “strati” e ad addestrare solo quelli, poi magari anche fare quello che viene chiamato “fine tuning”, cioè completare l’addestramento di tutta la rete con i dati che ci interessano, ma partendo da quello che già c’è, senza doverla addestrare da zero.

    Vantaggi del Transfer Learning

    Con questa tecnica, abbiamo ottenuto (non solo noi, ovviamente, ma anche noi) risultati sorprendenti anche a partire di poche migliaia di fotografie che mostrano difetti di produzione, raggiungendo in qualche caso precisioni di riconoscimento superiori al 99% (beh … solo qualche volta, ma è successo davvero; in molti altri casi abbiamo comunque raggiunto precisioni molto buone, considerate tali non da noi, ma dai nostri clienti).

    Siete sicuri di non volerci provare?

    trasformazione digitale

    Trasformazione Digitale. Potenziala con ADR-Flow

    Ascolta l'articolo

    Qualche tempo fa, scrivevo, a proposito di trasformazione digitale: “… quindi dashboard, digital twin, ottimizzatori … ma … il “machine learning”? (Articolo qui).

    Il riferimento era ad una serie di cose concrete che si possono fare, e per le quali noi ci proponiamo come partner, per mettere in atto una trasformazione digitale che abbia veramente senso, che raggiunga cioè l’obiettivo di rendere l’azienda più efficace nel processo di creazione di benessere e ricchezza.

    La risposta, per come la vedo io, è che dashboard, digital twin e ottimizzatori sono cose concrete che si possono fare, mentre il “machine learning” è una tecnologia, ma anche una metodologia, che si può usare per farle meglio e per fare in modo che siano più efficaci.

    Raccolta dati sistematica

    Riprendiamo però il discorso dal suo inizio: tutte queste cose si possono fare se si raccolgono sistematicamente dati, altrimenti ci stiamo solo prendendo in giro. Supponiamo quindi di avere un sistema, come ADR-Flow, che ci permette di acquisire dati direttamente dalla linea di produzione in modo sistematico e controllato: si tratta di un ottimo punto di partenza e, come si diceva, il solo fatto di avere un database di questo tipo vale già l’investimento necessario.

    Valorizzare i dati con il machine learning nell’ottica della trasformazione digitale

    Proprio nei giorni scorsi un’azienda per cui lavoriamo, ragionando sui risultati che stiamo ottenendo su una linea di produzione ci ha detto “noi abbiamo altre linee sulle quali da anni raccogliamo dati: si potrebbero applicare gli stessi algoritmi anche su quelle linee”? La raccolta dei dati, fotografie del prodotto finito in questo caso, viene fatta sistematicamente da anni ed ha già un suo grosso valore, ad esempio nella gestione dei reclami e delle garanzie, ma ADR-Flow, abilitando il machine learning, può amplificare questo valore, ad esempio riconoscendo che un prodotto ha un difetto prima che questo venga spedito (al cliente finale o ad un intermediario, poco importa).

    Dashboard e miglioramento continuo

    Anche se si raccolgono sistematicamente i dati, però, non è ovvio che si abbia anche una dashboard che permetta di tenere sotto controllo il processo produttivo; d’altra parte anche la dashboard, se fatta bene, vale da sola l’investimento fatto per crearla, ma se il machine learning ci permette di associare ai dati raccolti anche l’indicazione di quanti pezzi sono difettati e di che difetti soffrono, ecco che è possibile abilitare tutta un’altra serie di attività, ad esempio di miglioramento continuo del prodotto e del processo.

    Digital twin e ottimizzazione

    Immaginiamo ora che associato alla nostra linea di produzione, ci sia un vero e proprio digital twin, un sistema informatico cioè in grado di replicare il funzionamento della linea fornendoci in continuazione un’altra serie di dati da comparare con i dati raccolti, tali che si possa ad esempio prevedere cosa succederà sulla linea prima che questo succeda. Ottima iniziativa, che può servire, ad esempio, per gestire al meglio gli approvvigionamenti o le manutenzioni: il machine learning può permettere di tenere costantemente aggiornati i parametri di funzionamento del digital twin in modo che questo produca i dati nel modo più preciso possibile. Se poi associamo al tutto anche un sistema di ottimizzazione, ecco che siamo in grado di prendere decisioni tempestive ed economicamente più efficaci di quelle che avremmo potuto prendere senza.

    Il ruolo di ADR-Flow

    In realtà questi sono solo degli esempi, ma quello che possiamo dire con certezza è che il machine learning è in grado di supportare al meglio queste funzionalità e di permetterci di estrarne il maggior valore possibile.

    Questo è lo scopo di ADR-Flow.

    le quattro fasi del riconoscimento automatico dei difetti

    Le quattro fasi

    Ascolta l'articolo

    Nel mio ultimo articolo ho parlato di Selene Spa e di come il progetto di riconoscimento automatico dei difetti di produzione, che utilizza ADR-Flow, sia entrato in quella che chiamiamo “fase 3”. Oggi vorrei spiegare meglio come si articola, nella nostra visione, un progetto di riconoscimento automatico dei difetti di produzione industriale e di come ADR-Flow fornisca un supporto completo in tutte le fasi del progetto.

    Bisogna innanzitutto chiarire che un progetto di questo genere è quasi sempre supervisionato, infatti è molto difficile che un sistema sia in grado di capire da solo se una fotografia rappresenta un pezzo difettato o no, quindi nel progetto bisogna prevedere, soprattutto nelle sue fasi iniziali, che le immagini debbano essere classificate manualmente da un esperto al fine di poter addestrare il modello (quasi sempre una rete neurale profonda di tipo convolutorio), gli sviluppatori di ADR-Flow sono a disposizione.

    Ma c’è qualcosa che necessariamente va fatto ancora prima: acquisire le immagini!

    Detta così, può sembrare una banalità, invece acquisire le immagini è un processo delicato e spesso anche sottovalutato: qualche volta ci si sente dire che le immagini per l’addestramento della rete ci sono e basta utilizzarle, per poi scoprire che si tratta di una decina di fotografie scattate in modo estemporaneo, magari anche per produrre un manuale ad uso degli operatori, oppure che basta andare sulla linea con una macchina fotografica e prenderle.

    In realtà, l’acquisizione delle immagini, al di là di qualche piccolo esperimento iniziale, puramente indicativo, è parte integrante dell’intero progetto: infatti, è fondamentale che le immagini vengano prese durante tutto il progetto nel modo più uniforme possibile, altrimenti il modello fa molta più fatica a “convergere”, i tempi si allungano, i costi aumentano … e le aspettative vengono frustrate. Inoltre, se ben fatta, oltre ad aprire la strada per una buona conclusione del progetto stesso, l’acquisizione delle immagini vale già di per sé più dell’investimento di cui necessita.

    FASE 1

    Ecco dunque che la prima fase del progetto consiste nel dotarsi di un sistema di acquisizione di immagini (prima ancora di scattare, per intenderci) tratte direttamente dalla produzione, che permetta di creare un archivio in cui le immagini sono collegate ai loro metadati, come istante, luogo/vista (se si prendono più immagini dello stesso pezzo), codice identificativo del pezzo fotografato (quando questo esiste), eccetera. ADR-Flow, fedele compagno di viaggio, è progettato per realizzare nel modo più semplice possibile tutte queste attività preliminari.

    Si può a questo punto partire serenamente con le altre fasi:

    FASE 2

    La seconda consiste nell’acquisire effettivamente le immagini, classificarle manualmente, addestrare un modello fino a raggiungere una performance soddisfacente. Si tratta di un processo iterativo: una volta raggiunto un primo risultato, solo raramente già soddisfacente, si classificano altre immagini e si vede se il risultato migliora, eventualmente prendendo le opportune contromisure se questo non succede. Anche qui, ADR-Flow mette a disposizione degli utilizzatori (manager, tecnici di dominio, data scientist e sistemisti) tutte le funzionalità che permettono a ciascuno di concentrarsi sul proprio lavoro.

    FASE 3

    La terza fase consiste nell’attivare il riconoscimento automatico: è un po’ la prova del 9 del sistema e può succedere che ci si accorga che le prestazioni effettive sono inferiori a quelle registrate durante la seconda fase. Nessun problema, se succede, è prevista una nuova fase di analisi, che spesso evidenzia come i problemi siano da imputare a condizioni di acquisizione mutate, nonostante tutti gli sforzi e le attenzioni poste nella prima fase.

    FASE 4

    Infine la quarta fase: il sistema è in esercizio e segnala i difetti. Ma è possibile che i difetti non vengano sempre segnalati tutti (falsi negativi) e qualche volta ci sono dei falsi positivi (segnalazione di difetti inesistenti), anche in questo caso è previsto da parte degli specialisti di ADR-Flow un intervento, poiché c’è ancora (e sempre durante tutta la vita del progetto) la possibilità di migliorare. Può sembrare strano ad un lettore non avvezzo a queste tematiche scoprire che anche in questa fase finale siano ipotizzabili degli assestamenti, poco male, ADR-Flow mette a disposizione anche funzionalità di monitoraggio e controllo, utili per limitare al massimo riconfigurazioni.

    Di criticità, contrattempi e soprattutto successi si potrebbe parlarne a lungo … ma sarà per un’altra volta, anzi invitiamo chi è giunto fino a qui con la lettura a scriverci per fare domande o commentare.

    Alla prossima!

    plastica_selene - controllo qualità

    Il controllo qualità di Selene entra in fase 3

    Ascolta l'articolo

    Lo so, avevo promesso di approfondire i temi lasciati aperti nello scorso articolo … ma in questi giorni ho avuto una grossa soddisfazione e non sono capace di trattenermi dal parlarne. E poi, si tratta di machine learning applicato al controllo qualità, cioè dell’evoluzione di un progetto di rilevamento automatico dei difetti di produzione industriale inserito in un vero processo produttivo, non di spiegazioni teoriche!

    I fatti in breve

    Un’azienda nostra cliente, la Selene, di Lucca, è entrata in quella che noi chiamiamo fase 3 del progetto, cioè la fase in cui la rete neurale, opportunamente addestrata a replicare i giudizi espressi dagli esperti, viene effettivamente messa sulla linea di produzione per controllare la qualità del prodotto, sia pure ancora a livello sperimentale.

    La soddisfazione è stata ancora più grande, se si pensa che l’intervento decisivo, quello che dove si è visto che i problemi sorti in precedenza, dovuti ad un aggiornamento del sistema operativo che, coadiuvato da un piccolo problema hardware, ci ha fatto dannare, è stato brevissimo: ricordo bene la faccia stupita della receptionist che mi ha visto uscire dalla zona produttiva con un sorriso largo come la faccia non più di 120 secondi dopo esservi entrato con un’espressione del tipo “speriamo che non ne succeda un’altra”!

    Il fascino della manifattura

    Selene è un’azienda che mi piace.

    Confesso che, io che mi occupo principalmente di software, ho un debole per le aziende manifatturiere, dove si produce qualcosa che si può vedere, toccare, annusare, … anche perché trovo che in queste aziende molto spesso si trovano persone appassionate a quello che fanno, persone che a volte hanno decine di anni di esperienza nel tipo di produzione cui si dedicano e ancora, magari con qualche “resistenza” rispetto alle mirabolanti tecnologie che proponiamo loro, hanno voglia di migliorare.

    L’importanza del sentirsi coinvolti da ciò che accade intorno a noi

    Selene è una di queste, lo dimostra anche l’episodio della receptionist: poteva non essere affare suo se l’intervento avesse avuto successo o no, ma in realtà tutto il buon funzionamento dell’azienda è affare suo, ed ha gioito assieme a me per il buon esito, pur conoscendomi solo per quelle poche volte che le ero passato davanti: buongiorno … checkin … checkout … arrivederci.

    A parte questo … no, probabilmente per gli stessi motivi, Selene è un’azienda che ha saputo innovare ed innovarsi di fronte alle sfide di un mondo, anche produttivo, che cambia: qualche anno fa ha deciso di inserire nel suo processo produttivo, produce tra l’altro sacchetti di plastica per uso industriale, il riciclo della plastica usata. Il mondo non può continuare ad essere sommerso dalla plastica e invece che stare a lamentarsi per le occasioni perse ha pensato di potersene creare delle nuove.

    Controllo qualità: sfide e opportunità

    Azione di successo, certo, ma non senza difficoltà ed anche qualche incidente di percorso, come quando hanno perso un’importante commessa perché non si sono accorti che la qualità del prodotto che avevano utilizzato non era quella desiderata. Il problema non è banale: se si parte da plastica nuova si ha un controllo della qualità in ingresso molto migliore; soprattutto, la qualità è molto meno soggetta a sbalzi, mentre se il prodotto proviene dal riciclo le cose stanno diversamente.

    Non si sono certo persi d’animo ed hanno investito sul miglioramento della qualità. In particolare sul controllo qualità del materiale in ingresso al processo produttivo ed è proprio in questo ambito che hanno pensato di poter utilizzare tecniche di “computer vision” e di “machine learning”.

    Whats’ next?

    Mi accorgo di aver scritto già tanto, ma di non aver ancora spiegato bene quali sono le quattro fasi di progetto che abbiamo proposto loro, così come più o meno facciamo con tutti i nostri clienti … pazienza, vuol dire che avrò ancora materiale per altri articoli.

    Stay tuned!

    trasformazione digitale

    Strategie di trasformazione digitale

    Ascolta l'articolo

    Recentemente, parlavo con un amico che ha in mente alcuni progetti innovativi in ambito agricoltura e volevo fargli capire quanto l’uso di tecnologie ICT avanzate, combinate con algoritmi di Machine Learning, potrebbe essere utile in questi progetti. Ad un certo punto mi chiede: ” tutti questi discorsi vanno bene, ma, concretamente, cosa faresti”?

    Domanda non così facile … ma ho accettato la sfida.

    La Sfida dell’Utilizzo dei Dati in modo combinato

    Per prima cosa, bisogna raccogliere i dati: tutte queste moderne apparecchiature che hai in mente di utilizzare producono dati; ebbene, bisogna acquisirli e raccoglierli in modo sistematico, quindi anche automatico, utilizzando gli strumenti giusti, considerando che si tratta nella maggior parte dei casi di serie temporali eterogenee sia per modalità di acquisizione che per “granularità” temporale e spaziale. Pensiamo alla differenza tra dati forniti da un gruppo di sensori presenti in un campo, le previsioni del tempo ed i dati sul tipo di coltura … eppure poterli collegare tra loro è fondamentale per l’analisi.

    Il Valore dei Dati: Oltre la Raccolta

    I dati sono già in sé un valore grandissimo, un “asset” come si ama dire oggi, per la cui raccolta vale senz’altro la pena di investire il costo necessario, spesso neppure così grande, ma questo valore ha poi bisogno di essere estratto e messo a disposizione di chi può trasformarlo in valore economico.

    Cruscotti Intelligenti

    Una prima estrazione di valore la si può ottenere realizzando un buon “cruscotto” (“dashboard”, dicono quelli che la sanno lunga). Un buon cruscotto permette di avere sotto controllo il nostro sistema con un singolo colpo d’occhio, ma attenzione a non commettere l’errore di voler vedere tutti i dati contemporaneamente: sono troppi e non tutti hanno la stessa importanza, così succede che l’occhio venga distratto da alcuni e che non si accorga di altri molto più significativi. Un buon cruscotto invece mostra *pochi* dati, ma particolarmente significativi per cogliere lo stato e l’evoluzione del sistema, assieme a dei segnali di attenzione (degli “alarm”), che compaiono al manifestarsi di situazioni che necessitano di attenzione.

    Ad esempio, se abbiamo un certo numero di sensori di umidità e temperatura, posizionati in diversi punti del nostro campo e magari anche a profondità diverse, non ha senso vedere decine di grafici contemporaneamente, mentre è sicuramente più utile vederne solo un paio che colgano caratteristiche generali, con la possibilità di focalizzarci in ogni momento su una zona particolare, magari perché il nostro sistema di controllo ci ha segnalato con un alarm che li sta succedendo qualcosa di anomalo.

    Digital Twin: Innovare con la Simulazione

    Dei dati ben organizzati consentono anche di progettare dei “digital twin”, cioè dei sistemi digitali che si comportano ed evolvono nel tempo come i sistemi fisici che stiamo controllando. Il vantaggio di un “gemello digitale” è ad esempio che questo posso farlo evolvere nel tempo più rapidamente del gemello fisico e quindi posso prevedere, che significa anche prevenire, l’insorgenza di condizioni critiche.

    Ma con un digital twin posso anche fare degli esperimenti virtuali, molto meno costosi e pericolosi di quelli fisici: cosa succede (what if), sia a livello di costi che di effetti fisici se irrigo solo una parte del campo”? E se invece irrigo con un flusso più basso e prolungato?

    Ottimizzazione delle Risorse: Strategie Avanzate rivolte al futuro

    Un passo ulteriore lo posso fare utilizzando algoritmi di ottimizzazione anche molto complessi, che tengano presenti dati di tipo molto eterogeneo, come sono appunto quelli di cui stiamo parlando, per ottenere un comportamento “ottimo” (o quasi …). Qui la domanda non è più “cosa succede se …”, ma “cosa fare per …”, ad esempio, “… minimizzare l’uso di acqua, fertilizzanti o pesticidi senza perderci in termini di produttività”?

    Potete ben immaginare che questi stessi discorsi possano essere fatti in “salsa industriale” invece che agricola.

    Quindi dashboard, digital twin, ottimizzatori … ma … il “machine learning”? Abbiate pazienza: in un prossimo articolo andremo a vedere come tutte queste funzionalità possano essere molto potenziate, quando non addirittura rese possibili, dal machine learning.

    Ottobre 2024
    L M M G V S D
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  
    Archivi

    Categorie