


AI integration
È grazie all'integrazione con l'intelligenza artificiale che molte funzionalità di A.N.D.R.E.A. diventano possibili. L'accesso a questa tecnologia offre opportunità un tempo impensabili. Durante la fase di sviluppo, abbiamo testato il potenziale dell'IA e dei motori di Machine Learning, constatando che le capacità descritte non sono lontane dalla realtà: prevedere e prevenire è possibile.
Gli ostacoli principali riscontrati sono stati la difficoltà nella raccolta dei dati, spesso generati artificialmente per scopi di studio, e la creazione di reti robuste e stabili con bassi fattori di perdita. Ma a noi piacciono le sfide e siamo consapevoli che superando le criticità naturali di un settore così innovativo, si aprono opportunità straordinarie per sviluppare un sistema avanzato in grado di fornire analisi predittive sofisticate e soluzioni personalizzate in tempo reale in una direzione per la quale non solo si supereranno limiti tecnologici, ma si costruirà un sistema con un impatto concreto, tangibile e duraturo in molteplici settori applicativi.
Classificazione
Grazie ai modelli di classificazione, la gestione e la correlazione di un parametro rilevato a un evento specifico diventano più semplici ed efficienti. L'utilizzo dell'intelligenza artificiale permette di superare la tradizionale registrazione manuale delle possibilità, consentendo, con l'incremento dei dati, di coprire un numero sempre maggiore di casi con una precisione maggiore. La sfida è concreta: individuare dataset di dimensioni adeguate che possano rappresentare un valore reale e significativo per il modello.
Data transfer & Raccomandazione
Siamo un gruppo eterogeneo, con strutture e bisogni differenti. L'idea di offrire a ciascuno la soluzione più adatta è un obiettivo importante, ma come realizzarlo? Grazie al trasferimento dell'apprendimento e alle meccaniche di adattamento, la parametrizzazione viene semplificata, consentendo a tutti la possibilità di personalizzare il sistema. La sfida consiste nel progettare un codificatore sufficientemente versatile da trasmettere l'apprendimento necessario per adattare ogni caso a un reale bisogno individuale.
Predizione
La predizione, nell'ambito dell'AI, offre la possibilità di anticipare risultati di condizioni che fino a poco tempo fa sembravano impossibili da prevedere. Il sistema predittivo è fondamentale per l'anticipazione di eventi pericolosi. Grazie a algoritmi avanzati e solidi, possiamo creare un ambiente in grado di avvisare l'utente di un pericolo imminente con un anticipo sufficiente, prima che questo si manifesti concretamente. La sfida principale è sviluppare algoritmi sempre più accurati e robusti, capaci di gestire l'incertezza dei dati e di distinguere segnali significativi da rumori esterni, garantendo così affidabilità e precisione nelle previsioni.
Generazione
L'AI generativa sta diventando sempre più accessibile, anche se l'Italia non rientra ancora tra i primi 20 utilizzatori di questa tecnologia. Con A.N.D.R.E.A., vogliamo offrire a utenti di ogni livello strumenti di comprensione prima riservati a pochi. Il sistema è progettato per stare vicino a chi affronta situazioni complesse, offrendo un senso di sicurezza e leggerezza in momenti difficili.
Software
Il software è il cuore di A.N.D.R.E.A. strutturato per essere efficace e semplice per tutti
Adattabile
Un software finalizzato all'adattamento dell'utente, con la possibilità di impostazioni e adattamenti specifici al caso. Servizi e funzionalità dedicati alle varie possibilità
Full integrated
Nessuna dipendenza da terze parti. Un software sicuro, chiuso, al quale solo l'utente ed il personale medico e tecnico avranno accesso per garantire la massima privacy
User friendly
Un'interfaccia chiara, semplice e dinamica, con integrazioni esplicative di ogni funzionalità adatta anche ai meno esperti e se qualcosa non è chiaro basta chiedere ad A.N.D.R.E.A.
Intelligente
Grazie all'integrazione di motori di Machine Learning e GPT il sistema A.N.D.R.E.A. offre nativamente un supporto reale ed un'applicazione versatile pronta ad intervenire
COME FUNZIONA
Il software è la differenza
A.N.D.R.E.A. è concepito come un sistema capace di costante evoluzione, progettato per adattarsi alle esigenze tecnologiche in continua trasformazione. La nostra ambizione è stata fin dall'inizio chiara: creare una piattaforma autonoma, innovativa e completamente locale, priva di dipendenze esterne. Abbiamo seguito i principi fondamentali dello sviluppo software, combinandoli con tecniche di intelligenza artificiale. Partendo dall'analisi iterativa e dal design modulare, siamo approdati all'integrazione di reti neurali supervisionate e non supervisionate, fino a utilizzare approcci avanzati di Deep Learning come le reti convoluzionali (CNN) e ricorrenti (RNN). Ogni fase del progetto ha richiesto una continua ottimizzazione per superare i limiti delle risorse computazionali disponibili.
La Sfida dell'Autonomia Locale
Il principale ostacolo è stato progettare un sistema capace di operare interamente in locale, mantenendo elevati standard di precisione e affidabilità. Questo obiettivo ci ha spinti a esplorare metodologie innovative per ottimizzare l’efficienza, senza compromettere la qualità dei risultati. La soluzione è arrivata combinando tecniche di compressione dei modelli, come il quantization-aware training, con strategie di inferenza leggera ottimizzate per dispositivi edge.
Questi approcci hanno permesso di:
-
Ridurre il consumo di risorse computazionali.
-
Garantire maggiore autonomia operativa.
-
Rendere il sistema più versatile per applicazioni in ambienti con risorse limitate.
La Proposta dei Micro-Modelli
Durante questo processo, abbiamo formulato una bozza teorica sui micro-modelli: unità di calcolo ultra-specializzate, progettate per eseguire compiti complessi in modo rapido ed efficiente, mantenendo un’impronta computazionale minima. Questa nuova architettura combina:
-
Modelli compressi e ottimizzati per l’inferenza locale.
-
Capacità di adattamento dinamico agli input, senza la necessità di interventi esterni.
I micro-modelli rappresenterebbero il futuro di A.N.D.R.E.A., consentendo al sistema di raggiungere un equilibrio tra potenza computazionale e scalabilità, rendendolo accessibile per un’ampia gamma di applicazioni, dal monitoraggio in tempo reale all’elaborazione distribuita. Con A.N.D.R.E.A. miriamo a ridefinire l'approccio ai sistemi di intelligenza artificiale locale. La combinazione di strategie avanzate, come l’uso dei micro-modelli, e tecniche di ottimizzazione per dispositivi biomedici apre nuove prospettive per un'AI più autonoma, efficiente e accessibile, ma...
I MICRO-MODELLI - S.C.I.B.I. - Sistema Combinato di Interazione Base Interpolato
I micro-modelli, ed un loro uso consapevole, potrebbero rappresentare una nuova frontiera nell'intelligenza artificiale, con l'obiettivo di progettare algoritmi ultra-specializzati e leggeri, ottimizzati per ambienti a bassa capacità computazionale e con tempi di inferenza ridotti. Questa ricerca teorizzare le caratteristiche principali dei micro-modelli, le tecniche utilizzate per la loro ottimizzazione e le sfide incontrate nell'esperimento SCIBI, che ne ha indagato le potenzialità e i limiti.
Per realizzare micro-modelli efficienti, abbiamo applicato tecniche avanzate come:
-
Pruning: per eliminare connessioni inutili nella rete neurale.
-
Quantizzazione: per ridurre la precisione numerica e comprimere il modello.
-
Distillazione del modello: per trasferire conoscenze da un modello complesso a uno più semplice.
Questi approcci consentono di ottenere una significativa riduzione della complessità computazionale, rendendo i micro-modelli adatti all'esecuzione su dispositivi con risorse limitate, come quelli IoT o mobili. Tuttavia, per garantire accuratezza e generalizzazione, è emersa la necessità di un volume di dati di addestramento superiore rispetto ai modelli tradizionali.
Durante l'esperimento SCIBI, abbiamo confrontato l'addestramento di regressori su dataset caratterizzati da distribuzioni ipotetiche (ad esempio, una combinazione di tre Gaussiane). I risultati principali sono stati:
-
Per un micro-modello con parametri ridotti, il dataset richiesto doveva essere almeno 1,5 volte più grande rispetto a quello necessario per un modello standard, a causa della minore capacità di rappresentazione e generalizzazione.
-
Nonostante l'aumento dei dati, i risultati tra ambienti diversi non sempre erano iterabili, evidenziando difficoltà nel garantire robustezza.
Inoltre, l'accumulo di errori durante le iterazioni successive dei micro-modelli rappresentava un limite significativo: in alcuni casi, l'errore complessivo poteva superare di oltre un punto percentile il massimo accettabile portando talvolta al superamento dei limiti razionali.
Teorizzazione e Modello Trigonometrico
Abbiamo esplorato una rappresentazione matematica dei micro-modelli basata su funzioni trigonometriche, come seno e coseno. Queste funzioni, grazie alla loro natura ciclica, consentono di modellare dinamiche periodiche e comportamenti adattativi.
Un micro-modello potremmo, in via del tutto teorica, rappresentarlo come:

dove:
𝒖, 𝒗, 𝒉 e 𝒔 sono parametri controllati dagli input.
I termini trigonometrici modellano oscillazioni su piani 2D e 3D, introducendo variazioni cicliche modulabili.
Potremmo semplificare la descrizione attraverso le immagini qui sotto:
A sinistra la semplificazione di un'architettura regolare
A destra la semplificazione dell'architettura applicata ad un mM


Questa struttura consentirebbe di adattare i micro-modelli in tempo reale alle condizioni variabili degli input, favorendo flessibilità e precisione.
I principali ostacoli riscontrati includono:
-
Accumulazione degli errori: ogni unità di calcolo contribuisce a una perdita di precisione, amplificata nelle iterazioni successive.
-
Costi computazionali: nonostante la leggerezza in inferenza, il processo di addestramento richiede risorse significative, con tempi lunghi e frequenti problemi di deadlock nei thread.
I micro-modelli rappresentano un possibile salto concettuale nell'AI, spostando il paradigma da reti rigide e centralizzate a sistemi modulari, dinamici e auto-adattivi. L'obiettivo futuro è sviluppare strutture autorigeneranti, capaci di ottimizzarsi senza intervento esterno, introducendo una forma di auto-apprendimento ciclico e stabile in tempo reale. Con l'ulteriore sviluppo delle tecniche di ottimizzazione e l'integrazione di approcci parametrici avanzati, i micro-modelli potrebbero diventare uno strumento fondamentale per applicazioni come la robotica, il monitoraggio ambientale e l'elaborazione distribuita nei dispositivi edge.
L'esperimento SCIBI ha dimostrato che i micro-modelli offrono un notevole potenziale per l'ottimizzazione di sistemi AI compatti e adattivi integrando task i cui dati di addestramento erano minimi se non assenti. Tuttavia, per superarli limiti attuali, sono necessari progressi nella gestione degli errori iterativi, nella riduzione dei costi computazionali e nella costruzione di strutture più robuste. Con queste innovazioni, i micro-modelli potrebbero ridefinire il modo in cui concepiamo l'intelligenza artificiale distribuita e scalabile.
I MICRO-MODELLI - in A.N.D.R.E.A.
Nel novembre 2023 sono iniziate le sperimentazioni per l'integrazione software del progetto A.N.D.R.E.A., con particolare attenzione all'implementazione di soluzioni basate sull'intelligenza artificiale. L'obiettivo è stato sviluppare un software che risponda ai criteri fondamentali da noi individuati, articolandosi nei seguenti elementi chiave:
-
Interfaccia Device: progettata per garantire un'interazione fluida ed efficiente con l'utente finale.
-
Motore principale: nucleo operativo che coordina le funzionalità del sistema.
-
Integrazione AI: suddivisa in due componenti principali:
-
Nuclei di Machine Learning ottimizzati per specifiche task;
-
Modelli GPT, utilizzati per l'interazione con l'utente.
-
Per mantenere un ambiente esclusivo e personalizzato, sono stati testati diversi sistemi open source, incluse le soluzioni di reti neurali offerte da Meta. Tuttavia, i risultati ottenuti dai modelli GPT si sono rivelati parzialmente soddisfacenti. Le principali criticità riscontrate riguardano:
-
La limitata capacità di interazione con i dati;
-
La scarsa comprensione, soprattutto in contesti linguistici italiani, dovuta a un addestramento generalmente meno approfondito rispetto ad altre lingue.
Alla data di dicembre 2024, siamo in attesa del prototipo di A.N.D.R.E.A. seconda versione . Questo passaggio sarà cruciale per:
-
Formalizzare tutte le specifiche software;
-
Condurre test on board;
-
Verificare l'efficacia complessiva delle soluzioni implementate e apportare eventuali ottimizzazioni.
Alla luce di quanto realizzato finora, il nostro team rimane focalizzato sull'obiettivo di sviluppare un sistema innovativo e all'avanguardia, in grado di rispondere a standard elevati di qualità e personalizzazione. Il completamento del prototipo rappresenterà un passo determinante verso la concretizzazione del progetto A.N.D.R.E.A., aprendo la strada a ulteriori miglioramenti e alla fase di validazione finale. La nostra visione è quella di integrare tecnologia avanzata e user experience in modo armonioso, ponendo solide basi per futuri sviluppi e applicazioni.
Passo passo
La progettazione software è una sfida. In un sistema come A.N.D.R.E.A., che delega molto al software, le nostre risorse limitate rappresentano un ostacolo concreto. Tuttavia, la nostra determinazione ci ha portato a ottimizzare ogni fase del processo, cercando soluzioni innovative e sfruttando al massimo le risorse disponibili. Riportiamo qui a lato alcuni dei principali test che abbiamo effettuato (non in ordine).
Costruzione di classificatori
Obbiettivo: costruire dei classificatori dati efficienti e leggeri capaci di interpretare correttamente i dati in ingresso.
Metodo: Attraverso l'uso di piattaforme quali TensorFlow e PyTorh abbiamo tentato di strutturare opportune reti che potessero soddisfare i requisiti qualitativi preposti.
Risultato: L'assenza di dati reali ci ha costretto a confrontarci con numerose complessità e problematiche. Gli addestramenti basati su dati generati artificialmente si sono rivelati troppo regolari, al punto da rendere poco significativa l'implementazione di un sistema AI in tali condizioni.
Board développement - processor based
Obbiettivo: Definire quale tipologia di architettura hardware si addicesse maggiormente alle mansioni che avremmo dovuto soddisfare.
Metodo: Test di implementazione software su schede Raspberry Pi 4 e Raspberry Pi Zero 2 W, mirati alla definizione delle caratteristiche e delle prestazioni del sistema.
Risultato: Durante le prove effettuate, nonostante le numerose difficoltà incontrate – dovute anche alla complessità e alle limitazioni di Python – abbiamo individuato la necessità di integrare soluzioni complementari ai microprocessori per migliorare l'efficienza del sistema. Le principali criticità sono emerse nell’interfaccia tra le letture analogiche e la processazione dei dati tramite AI. A queste sfide tecniche si sono aggiunti problemi di natura pratica, come la gestione del raffreddamento (ad esempio, l'installazione di ventole) e altre esigenze hardware che hanno richiesto ulteriori adattamenti.
Board développement - controller based
Obbiettivo: Definire l'applicabilità di controllori in sostituzione a processori nell'applicazione on board per la gestione delle letture analogiche
Metodo: Attraverso l'utilizzo di schede come Arduino UNO e Arduino Nano testare l'efficacia di soluzioni alternative alla proposta "processor based"
Risultato: Nonostante le naturali differenze strutturali e la limitata disponibilità di risorse computazionali, riteniamo che l’implementazione di un controllore simile a quelli citati possa rappresentare una soluzione valida per l’applicazione on board di A.N.D.R.E.A., contribuendo alla riduzione complessiva delle dimensioni del sistema.
Problematiche riscontrate: Le schede come Arduino non sempre integrano moduli di comunicazione wireless. L’integrazione di questi moduli come componenti esterni comporterebbe inevitabilmente un aumento delle dimensioni complessive del dispositivo, creando un potenziale ostacolo alla miniaturizzazione.
Nuova integrazione on board - controller based
Obbiettivo: Definire un nuovo approccio on board per la riduzione della scheda A.N.D.R.E.A. senza discapito per la portabilità
Metodo: Ricercando soluzioni alternative sono state testate allo scopo 3 versioni della scheda della famiglia Seeduino XIAO: Xiao base, Xiao NRF, Xiao NRF (Sense), XIAO ESP32 C6
Risultato: I risultati ottenuti sono stati molto promettenti. Abbiamo testato le diverse schede, modificando il software e implementando carichi significativi per testare il comportamento in condizioni di overheating e durante operazioni intensive.
-
Xiao Base: Questa scheda si presenta con dimensioni estremamente ridotte. Tuttavia, non integra connettività e persiste la problematica della conversione da digitale ad analogico, con velocità non ancora ottimali.
-
Xiao NRF e Xiao NRF (Sense): Microcontrollori che includono un modulo BLE on board. La versione Sense è dotata di un'unità di misura interna (IMU) per il rilevamento dell'orientamento, della velocità e della temperatura. Grazie a un framework modificato, siamo riusciti a overcloccare la velocità di conversione ADC, ottenendo risultati molto soddisfacenti.
-
Xiao ESP32 C6: Questa scheda, della stessa famiglia, è stata integrata all’interno di A.N.D.R.E.A. Board. Integra nativamente BLE e Wi-Fi. Pur non avendo l’IMU integrato, questa problematica è stata risolta tramite l’aggiunta di un modulo esterno.
Tutti i moduli si sono dimostrati performanti e programmabili tramite l'IDE di Arduino. Nel caso dell'ESP32 C6, è possibile anche la programmazione in MicroPython, una soluzione che però non è stata adottata.
Test di implementazione piattaforma Apple
Obiettivo: Riuscire ad integrare con efficacia modelli impegnativi su device casa Apple
Metodo: A seguito della costruzione di modelli abbiamo tentato le conversioni attraverso un tool Python "coremltools" e l'integrazione su piattaforma iPhone e Mac
Risultato: Nonostante le difficoltà nella conversione di un modello h5 in coreml si è riusciti con successo ad eseguire un modello addestrato in ambiente apple. Migliori successi ottenuti con le reti Bert e GPT2. Crash estremi si verificavano su device a causa delle risorse computazionali. Si è risolta la problematica trasferendo l'unta di esecuzione su fisso.
Costruzione e confronto modelli CoreMl
Obbiettivo: Mettere a confronto dei modelli costruiti su attraverso ambienti come PyTorch con altri costruiti in ambiente nitidamente Apple
Metodo: Sfruttando il software CreateML integrato in Xcode (IDE Apple), abbiamo addestrato modelli semplici di classificazione, che non si limitano solo ai dati ma includono anche immagini e attività di tagging.
Risultato: Sebbene le personalizzazioni applicabili all'ambiente CreateML siano nettamente inferiori a quelle applicabili da codice, i risultati sono promettenti: si costruiscono modelli efficaci a parità di dataset ma soprattutto integrabili facilmente con l'ambiente Apple.
Conversione di un modello CoreML in TF
Obbiettivo: Convertire un modello addestrato nitidamente per Apple in un modello H5 - Tensor Flow
Metodo: Abbiamo approcciato senza spingerci in una e vera e propria risoluzione, la conversione di un modello CoreML in un formato H5 nell'intento di ampliare l'integrazione e semplificare il flusso di addestramento - implementazione
Risultato: Il tool precedentemente citato per la conversione inversa, coremltools, non consente il trasferimento dei pesi automatico. Quindi, la conversione è possibile ma i pesi vanno copiati a mano. Quindi smontando il modello con un tool come Netron (che da 2023 non supporta più i modello coreml) i pesi vanno copiati nel codice per l'adattamento del modello. La soluzione più semplice è definire il modello in TensorFlow, quindi copiare i pesi dal modello Core ML nel modello TF.