Più grande = migliore?
Nell’intelligenza artificiale, spesso è meglio “più grande”, se ci sono dati sufficienti per alimentare questi modelli di grandi dimensioni. Tuttavia, con dati limitati, i modelli più grandi sono più inclini al sovradattamento. L'overfitting si verifica quando il modello memorizza modelli dai dati di addestramento che non si generalizzano bene con esempi di dati del mondo reale. Ma c’è un altro modo di affrontare la questione che trovo ancora più avvincente in questo contesto.
Supponiamo di avere un piccolo set di dati di spettrogrammi e di decidere tra un piccolo modello CNN (100.000 parametri) o un grande modello CNN (10 milioni di parametri). Ricordati che ogni parametro del modello è effettivamente un numero più probabile derivato dal set di dati di addestramento. Se la pensiamo in questo modo, è ovvio che è più facile per un modello ottenere 100.000 parametri corretti piuttosto che inchiodarne 10 milioni.
Alla fine, entrambi gli argomenti portano alla stessa conclusione:
Se i dati sono scarsi, valuta la possibilità di costruire modelli più piccoli che si concentrino solo sui modelli essenziali.
Ma come possiamo realizzare nella pratica modelli più piccoli?
Non rompere le noci con una mazza
Il mio percorso di apprendimento nell'intelligenza artificiale musicale è stato dominato dal deep learning. Fino a un anno fa avevo risolto quasi tutti i problemi utilizzando grandi reti neurali. Sebbene ciò abbia senso per attività complesse come l'etichettatura musicale o il riconoscimento degli strumenti, non tutti i compiti sono così complicati.
Ad esempio, uno stimatore BPM decente o un rilevatore chiave può essere costruito senza alcun apprendimento automatico analizzando rispettivamente il tempo tra gli esordi o correlando i cromagrammi con i profili chiave.
Anche per attività come il tagging della musica, non deve sempre essere un modello di deep learning. Ho ottenuto buoni risultati nel tagging dell'umore attraverso un semplice classificatore K-Nearest Neighbor su uno spazio di incorporamento (ad esempio CLAP).
Sebbene la maggior parte dei metodi all'avanguardia nell'intelligenza artificiale musicale si basino sul deep learning, soluzioni alternative dovrebbero essere prese in considerazione in considerazione della scarsità di dati.
Prestare attenzione alla dimensione dei dati immessi
Più importante della scelta dei modelli è solitamente la scelta dei dati di input. In Music AI, utilizziamo raramente forme d'onda grezze come input a causa della loro inefficienza dei dati. Trasformando le forme d'onda in (mel)spettrogrammi, possiamo diminuire la dimensionalità dei dati in ingresso per un fattore pari o superiore a 100. Ciò è importante perché input di dati di grandi dimensioni richiedono in genere modelli più grandi e/o più complessi per elaborarli.
Per ridurre al minimo la dimensione dell'input del modello, possiamo seguire due percorsi
- Utilizzo di frammenti musicali più piccoli
- Utilizzo di rappresentazioni musicali più compresse/semplificate.
Utilizzo di frammenti musicali più piccoli
Usare frammenti musicali più piccoli è particolarmente efficace se il risultato che ci interessa è globale, cioè si applica a ogni sezione della canzone. Ad esempio, possiamo supporre che il genere di una traccia rimanga relativamente stabile nel corso della traccia. Per questo motivo, possiamo facilmente utilizzare frammenti di 10 secondi invece di tracce complete (o i comuni frammenti di 30 secondi) per un'attività di classificazione del genere.
Ciò presenta due vantaggi:
- Gli snippet più brevi producono meno punti dati per esempio di formazione, consentendoti di utilizzare modelli più piccoli.
- Disegnando tre frammenti da 10 secondi invece di uno da 30 secondi, possiamo triplicare il numero di osservazioni di addestramento. Tutto sommato, ciò significa che possiamo costruire modelli meno affamati di dati e, allo stesso tempo, fornire loro più esempi di formazione rispetto a prima.
Tuttavia, ci sono due potenziali pericoli qui. In primo luogo, la dimensione dello snippet deve essere sufficientemente lunga da consentire una classificazione. Ad esempio, anche gli esseri umani hanno difficoltà con la classificazione del genere quando vengono presentati frammenti di 3 secondi. Dovremmo scegliere attentamente la dimensione dello snippet e considerare questa decisione come un iperparametro della nostra soluzione AI.
In secondo luogo, non tutti gli attributi musicali sono globali. Ad esempio, se una canzone contiene voci, ciò non significa che non ci siano sezioni strumentali. Se tagliassimo la traccia in frammenti molto brevi, introdurremmo molti esempi etichettati in modo errato nel nostro set di dati di addestramento.
Utilizzo di rappresentazioni musicali più efficienti
Se hai studiato Music AI dieci anni fa (quando tutto questo si chiamava “Music Information Retrieval”), hai imparato a conoscere i cromagrammi, gli MFCC e gli istogrammi delle battute. Queste funzionalità realizzate artigianalmente sono state progettate per far funzionare i dati musicali con gli approcci ML tradizionali. Con l’avvento del deep learning, potrebbe sembrare che queste funzionalità siano scomparse interamente sostituito da (mel)spettrogrammi.
Gli spettrogrammi comprimono la musica in immagini senza molta perdita di informazioni, rendendole così ideale in combinazione con modelli di visione artificiale. Invece di progettare funzionalità personalizzate per attività diverse, ora possiamo utilizzare la stessa rappresentazione e modello dei dati di input per la maggior parte dei problemi di intelligenza artificiale musicale, a condizione che si dispongano di decine di migliaia di esempi di formazione con cui alimentare questi modelli.
Quando i dati scarseggiano, lo vogliamo comprimere il più possibile le informazioni per rendere più semplice per il modello estrarre modelli rilevanti dai dati. Considera queste quattro rappresentazioni musicali di seguito e dimmi quale ti aiuta a identificare la tonalità musicale più velocemente.
Mentre gli spettrogrammi mel possono essere utilizzati come input per sistemi di rilevamento chiave (e forse dovrebbe esserlo se si dispone di dati sufficienti), un semplice cromagramma mediato lungo la dimensione temporale rivela queste informazioni specifiche molto più rapidamente. Questo è il motivo per cui gli spettrogrammi richiedono modelli complessi come le CNN mentre un cromagramma può essere facilmente analizzato da modelli tradizionali come la regressione logistica o gli alberi decisionali.
In sintesila combinazione consolidata spettrogramma + CNN rimane altamente efficace per molti problemi, a condizione che si disponga di dati sufficienti. Tuttavia, con set di dati più piccoli, potrebbe avere senso rivisitare alcune tecniche di ingegneria delle funzionalità di MIR o sviluppare rappresentazioni specifiche per attività.
Fonte: towardsdatascience.com