teleporthq
Piattaforma
Soluzioni
Integrazioni
Risorse

La seconda versione della nostra API Vision

Immagine in evidenza della nuova API Vision

Qualche mese fa abbiamo introdotto nuove convenzioni per facilitare la creazione di un modello di apprendimento automatico in grado di interpretare wireframe disegnati a mano. Volevamo ridurre l’ambiguità per chi si occupa di annotare ogni immagine necessaria per addestrare il modello di apprendimento automatico.

Nuovo set di dati

Il risultato è un documento con linee guida che consigliamo a tutti gli utenti della nostra API, per sfruttare al meglio la tecnologia.

Nuove linee guida per l’API Vision

Una volta compreso il tipo di dati che cercavamo, abbiamo avviato l’imponente attività di raccolta di dati sufficienti per addestrare il nostro modello.

Insieme a questo lavoro, abbiamo dovuto trovare un equilibrio tra due importanti aspetti dell’apprendimento automatico: bias e varianza. Da un lato, avevamo bisogno di linee guida che circoscrivessero il problema a qualcosa di gestibile per il modello (riducendo così il bias di annotazione). Dall’altro, ci serviva comunque una varietà di immagini, disegnate da persone diverse, con colori diversi e così via (volevamo un set di dati eterogeneo). Tuttavia, se le linee guida iniziali non vengono rispettate, le nuove immagini saranno distorte e quindi classificate in modo errato.

Alcuni wireframe del nostro nuovo dataset (si notino le diverse illuminazioni e disposizioni)

Un aspetto importante nell’addestramento dei modelli di machine learning è la validità del dataset (quando possibile, ogni classe dovrebbe essere rappresentata in modo uniforme). Analizzando le annotazioni del nostro dataset, abbiamo notato che alcune classi sono sottorappresentate, rendendo più difficile per il modello rilevarle (tabella, valutazione, elenco, area di testo, campo numerico con pulsanti di incremento e decremento). Nell’analisi abbiamo esaminato anche la distribuzione delle dimensioni di ciascun elemento, una caratteristica fondamentale nei dataset per il rilevamento degli oggetti. Alcuni elementi, come i link e i pulsanti di opzione, sono più piccoli e quindi naturalmente più difficili da rilevare, mentre elementi più grandi, come un contenitore o un’immagine, sono più facili da individuare.

Distribuzione delle dimensioni di ciascun elemento del nostro dataset; le linee rossa e blu indicano rispettivamente le soglie dell’1% e del 10%

Risultati

È difficile prevedere quando avremo raccolto un numero sufficiente di immagini per il nostro modello. È chiaro, tuttavia, che la qualità del modello aumenterà in proporzione alla quantità di immagini utilizzate per l’addestramento. Poiché riteniamo che i dati raccolti finora siano sufficienti per realizzare modelli preliminari, abbiamo deciso di iniziare l’addestramento prima di completare la prima fase del processo di raccolta dei dati.

Per valutare i nostri modelli, abbiamo utilizzato la precisione media calcolata con un’intersezione sull’unione pari al 50% (mAP@IOU 0.5): qui puoi trovare maggiori informazioni. Secondo questa metrica, le prestazioni della prima versione dell’API erano pari al 40%. A dicembre abbiamo rilasciato una versione con una precisione del 55%, migliorando il modello con dati sintetici. Il modello rilasciato con la versione attuale raggiunge l’85% sul set di test. Tuttavia, sospettiamo che questo valore sia ottimistico, quindi stiamo preparando anche un set di test complementare con un team diverso.

Confronto tra le previsioni della versione precedente (a sinistra) e di quella attuale (a destra)

Abbiamo ancora del lavoro da fare: il modello fatica a identificare i wireframe che contengono molti elementi. Inoltre, la distribuzione non uniforme del dataset complica ulteriormente il rilevamento quando vengono usate classi poco comuni, come slider e valutazioni.

Un wireframe problematico con troppi elementi

Il machine learning per potenziare, non sostituire

Come spesso accade quando entrano in gioco l’intelligenza artificiale e l’apprendimento automatico, il risultato finale è un rapporto simbiotico tra le due entità, anziché la sostituzione dell’essere umano da parte della macchina. Allo stesso modo, per sfruttare appieno le potenzialità di questa tecnologia emergente, l’utente finale deve procedere per tentativi ed errori.

Come spesso accade quando entrano in gioco l’intelligenza artificiale e l’apprendimento automatico, il risultato finale è un rapporto simbiotico tra le due entità, anziché la sostituzione dell’essere umano da parte della macchina. Allo stesso modo, per sfruttare appieno le potenzialità di questa tecnologia emergente, l’utente finale deve procedere per tentativi ed errori.

Prodotto

Articoli correlati

Commenti

Non ci sono ancora commenti. Sii il primo a condividere le tue opinioni.

Lascia un commento

Il tuo indirizzo email non sarà mai mostrato pubblicamente.
I commenti vengono esaminati prima di essere pubblicati.