Back

La classificazione dei prodotti fashion nell’era del deep learning

Chiunque lavori con cataloghi di prodotti provenienti da fonti eterogenee conosce bene il problema: ogni partner ha la sua tassonomia, le sue categorie, la sua logica e il risultato è un insieme di dati difficile da uniformare, soprattutto quando i volumi crescono. Nel mondo fashion questa complessità è amplificata dalla ricchezza semantica dei prodotti stessi: un capo d’abbigliamento non è solo una categoria, ma un insieme di attributi, come tessuto, vestibilità, stile, occasione d’uso, che un sistema di classificazione tradizionale fatica a cogliere nella loro interezza. È partendo da questa consapevolezza che abbiamo deciso di costruire una pipeline di taggatura proprietaria, sfruttando i modelli allo stato dell’arte nel campo del deep learning multimodale.

Da qualche anno a questa parte l’intelligenza artificiale è entrata a far parte della nostra quotidianità, lavorativa e non, talvolta per svolgere semplici ricerche, dato che ha di fatto per molti sostituito Google, altro per dare un aiuto efficace a trovare soluzioni intelligenti a problemi storicamente complessi.

L’obiettivo a questo punto era molto chiaro: costruire una nostra metodologia, una pipeline, che possa in qualche modo ovviare a questo problema grazie agli strumenti allo stato dell’arte, come ad esempio i VLM (Vision Language Models), ovvero dei modelli evoluti di intelligenza artificiale, nello specifico di deep learning, cosiddetti multi-modali, in grado di processare non soltanto il testo, ma anche immagini e video.

La scelta del modello VLM open-weight on premise: Qwen3.5

In questo preciso momento storico la varietà dei modelli di intelligenza artificiale è impressionante, fra i modelli proprietari come GPT-5, Gemini 3, fruibili via API, ai modelli open-weight come Gemma 4, Kimi, Qwen 3.5 che sono installabili on-premise per l’utilizzo privato interno.
La scelta è ricaduta proprio su quest’ultimo, Qwen3.5, sviluppato dal colosso cinese AliBaba che ha il pregio di ereditare dal suo predecessore Qwen 3 un transformer visuale molto avanzato, essendo stato addestrato su token misti visivi e testuali di immagini e video ad alta risoluzione.

Il pregio poi di essere open-weight, ovvero di avere i pesi del modello disponibili pubblicamente in modo da poterlo addestrare senza dipendere da fornitori esterni, così come quello di poter essere disponibile in varie dimensioni di parametri, anche ridotte fino ai 2 e 4 miliardi, gli permettono di essere non solo addestrabile ma anche performante anche su hardware con ridotte capacità computazionali. Questo aspetto è fondamentale, perché nel momento in cui viene addestrato (o meglio viene eseguito un fine-tuning) con la nostra tassonomia, sarà in grado di classificare successivamente i prodotti restituendoci esattamente la categorizzazione di cui abbiamo bisogno.

Qwen 3 diventa quindi un asset fondamentale dell’azienda, privato e agnostico rispetto al provider, non essendo legato ad uno specifico servizio API e potenzialmente personalizzabile e rivendibile.

Rimane però aperta una questione fondamentale da risolvere, che affligge tutti i grandi modelli di linguaggio di questo tipo: evitare le allucinazioni. Il problema non è banale, soprattutto perché il fine-tuning talvolta potrebbe non essere ottimale se la quantità dei prodotti utilizzati per l’addestramento non è bilanciata.

Un primo classificatore veloce come filtro intelligente

Sfruttare la sola multimodalità di Qwen 3.5, per quanto molto avanzata e allo stato dell’arte, non è sufficiente a darci sempre un buon risultato: in fin dei conti si tratta sempre e comunque di un VLM, che per sua natura non è deterministico e può quindi essere soggetto ad allucinazioni, soprattutto se l’addestramento è avvenuto con dataset ridotti.
E quindi come poter “aiutare” Qwen ad essere il più preciso possibile andando oltre il prompt e le immagini in input? La risposta non è né scontata né banale, in quanto ci possono essere diverse metodologie per scrivere prompt efficaci che possono migliorare l’output, ma nel nostro caso abbiamo voluto dare un output in più, inserendo nel prompt degli hint, ovvero dei suggerimenti che già potessero in qualche modo far arrivare al prompt quei prodotti già categorizzati, in prima battuta zero-shot, con la tassonomia di Bantoa.

Per far questo abbiamo optato per un modello specifico: Fashion SigLIP, pre-trainato su dataset specifici per il mondo fashion, messo a disposizione qui sulla nota piattaforma Hugging Face da Marqo. La particolarità di questo modello, derivato dalla famiglia dei modelli SigLIP, è che è stato addestrato con coppie di immagine + testo di prodotti fashion per generare embeddings, quindi è un encoder a tutti gli effetti che può estrarre embeddings, una sorta di rappresentazione numerica dell’immagine che cattura le sue caratteristiche visive in modo che il modello possa confrontarle, senza tempi di elaborazione e/o hardware particolari, che può essere usato anche per RAG con vector database, ad esempio per semantic search o visual search dei prodotti.

Ma come arriviamo dagli embeddings, o meglio dai vettori, al nostro prompt?

Il nostro bridge di custom MLPs

SigLIP da solo non è in grado di dare dei valori che possono essere utili ad un prompt, ecco quindi che si rende necessario il tassello mancante: per ogni categoria abbiamo addestrato una head formata da un semplice MLP (Multi Layer Perceptron). Ogni head ha uno specifico compito, infatti ci sono tante head quante le tipologie di attributo nella tassonomia di Bantoa (categoria del prodotto, sottocategoria, tipo di tessuto, vestibilità etc.) e queste MLP hanno il compito di trovare, a partire dagli embeddings prodotti da SigLIP, quale tag della tassonomia è più probabile che corrisponda al prodotto analizzato

Così facendo abbiamo in primis un classificatore molto veloce che per ogni prodotto ci da un risultato con una certa confidenza, viene quindi categorizzato secondo la nostra tassonomia e poi passato come aiuto nel prompt al VLM che, essendo addestrato anch’esso su prodotti e tassonomia Bantoa, prenderà quegli hint e verificherà se possono essere confermati o confutati.

Come funziona nella pratica

Quando un nuovo prodotto entra nel sistema, il processo è sequenziale e automatico. L’immagine del prodotto viene prima processata da FashionSigLIP e trasformata in un embedding, successivamente inviato alle nostre MLP heads: ognuna di queste risponde a una domanda specifica sulla tassonomia Bantoa, restituendo un punteggio di confidenza per ciascun attributo. Questi risultati non sono la risposta finale, ma diventano un hint strutturato che viene trasferito a Qwen3.5 insieme all’immagine e a un prompt costruito sulla nostra tassonomia.

Il modello non parte più da zero: ha già un’ipotesi davanti e il suo compito è verificarla, correggendola se necessario, e restituire la classificazione definitiva. Il risultato è una scheda prodotto completa e coerente con la nostra tassonomia.

Quello che abbiamo costruito è un sistema che non dipende da servizi esterni, che può essere aggiornato e affinato nel tempo, e che parla la stessa lingua della nostra tassonomia perché è su di essa che è stato addestrato. Non si tratta soltanto di un’automazione: è un asset che cresce insieme al catalogo, che migliora con ogni ciclo di validazione umana, e che rappresenta, a nostro avviso, il modo più solido per affrontare la classificazione dei prodotti fashion su larga scala. I prossimi passi riguarderanno l’ottimizzazione del processo di fine-tuning e l’espansione della tassonomia, con l’obiettivo di coprire una gamma sempre più ampia di attributi di prodotto.

Fonti
Qwen3.5 blog: https://qwen.ai/blog?id=qwen3.5
FashionSigLIP su Hugging Face: https://huggingface.co/Marqo/marqo-fashionSigLIP
Marqo website: https://www.marqo.ai/

Enrico Antonini, Deep learning engineer @Bantoa

Scopri come i nostri servizi possono far crescere il tuo brand.

Compila il modulo per ricevere maggiori informazioni dal nostro team.