La malattia più minacciosa al mondo è il tumore cerebrale. Una diagnosi accurata può essere vantaggiosa per la sopravvivenza dei pazienti. Tuttavia, esiste la necessità di un sistema diagnostico preciso in grado di rilevare i tumori cerebrali in una fase precoce. Per affrontare questo problema, è stata proposta una tecnica più affidabile per il rilevamento accurato dei tumori cerebrali nelle fasi iniziali, basata su un meccanismo ibrido di apprendimento profondo doppio con iperparametri ottimizzati e strati finemente regolati, derivanti dai modelli DenseNet121 ed EfficientNetB7. L'approccio proposto utilizza come input immagini MRI 2D e fornisce in output una previsione di presenza o assenza del tumore per il dataset di classificazione binaria Br35H, e la categorizzazione del tumore per altri quattro dataset di classificazione multiclasse. Pertanto, questa sezione illustra i passaggi principali dell'approccio proposto, dall'acquisizione dei dati all'output finale, inclusi acquisizione dei dati, pre-elaborazione dei dati, suddivisione dei dati, selezione del modello, estrazione delle caratteristiche, previsione del tumore e valutazione del modello proposto, come mostrato in Figura 1.

Figura 1: Flusso della metodologia proposta. Questo diagramma mostra l'architettura generale del modello proposto, inclusa l'acquisizione e la pre-elaborazione dei dati; due modelli pre-addestrati per l'estrazione di caratteristiche; la concatenazione delle loro caratteristiche; e l'ottimizzazione degli iperparametri per la classificazione e il tipo di tumore. Cliccare qui per visualizzare una versione ingrandita di questa figura.
Acquisizione dei dati
In qualsiasi ricerca sperimentale, il primo passo è l'acquisizione dei dati. A tal fine, sono stati scelti cinque diversi dataset pubblicamente disponibili, tra cui Br35H24, Figshare25, Sartaj26, Masoud27 e il dataset basato su immagini MRI di tumori cerebrali proveniente dalla libreria open-source Kaggle28, già utilizzati da numerosi ricercatori per la diagnosi del rilevamento dei tumori cerebrali. Il dataset Br35H contiene 3.000 immagini suddivise in due classi: immagini cerebrali sane e non sane (con tumore), con 1.500 immagini per ciascuna classe, mentre il dataset Figshare comprende 3.064 immagini, suddivise in tre gruppi in base al tipo di tumore: 1.426 immagini di glioma, 708 immagini di meningioma e 930 immagini di tumori pituitari. Il dataset Sartaj contiene 3.264 immagini categorizzate in quattro classi di tumore: gliomi (926 immagini), meningiomi (937 immagini), tumori pituitari (901 immagini) e sani o senza tumore (500 immagini). Inoltre, il dataset Masoud comprende anch'esso quattro diverse classi di tumore, le cui immagini sono state prese dai tre dataset sopra menzionati, per un totale di 7023 immagini, ulteriormente categorizzate in glioma (1621 immagini), meningioma (1645 immagini), pituitario (1757 immagini) e sano o senza tumore (2000 immagini). L'ultimo dataset scelto è un dataset basato su immagini MRI, che comprende anch'esso quattro classi per un totale di 5248 immagini, ulteriormente suddivise per tipo di tumore, inclusi 1312 immagini di glioma, 1312 immagini di meningioma, 1312 immagini di tumore pituitario e 1312 immagini sane o senza tumore, già equamente distribuite tra i tipi di tumore e considerate un dataset bilanciato.
Preelaborazione dei dati
Dopo l'acquisizione dei dati, il passo successivo è la preelaborazione, fondamentale per ottenere risultati migliori e più utili per gli approcci computazionali volti a estrarre e apprendere le caratteristiche migliori dai dati, producendo risultati più accurati. Il primo passo applicato è stato il ridimensionamento delle immagini. Sono stati selezionati cinque dataset pubblicamente disponibili con diverse classi e dimensioni delle immagini, anche all'interno dello stesso dataset, per diverse classi di tumori, e sono stati uniformemente ridimensionati a 224 x 224 per una migliore interpretazione e apprendimento del modello. Inoltre, è stata applicata l'aumentazione dei dati a tutti i dataset generando campioni aggiuntivi da angolazioni diverse, migliorando così l'estrazione e l'apprendimento da parte dei modelli di apprendimento profondo (DL). A tale scopo, è stato applicato a tutte le immagini un intervallo di rotazione del 7%, ruotandole fino a 7 gradi. Successivamente, è stato applicato a tutte le immagini uno spostamento casuale del 5% in senso orizzontale e verticale, con uno spostamento del 5% in altezza e larghezza rispetto alle immagini originali. Dopodiché, le immagini sono state ingrandite del 10% rispetto alle immagini originali e, infine, tutte le immagini sono state capovolte orizzontalmente e verticalmente. Il motivo principale per cui si effettua l'aumentazione dei dati29 è superare il problema dell'overfitting e migliorare la capacità di generalizzazione dei modelli addestrandoli su diverse versioni trasformate dei campioni di dati originali. Prima di suddividere i dataset in training e validazione, è stata applicata la codifica delle etichette, che risulta più utile nel calcolo della funzione di perdita (loss) durante l'addestramento e la validazione, rendendo inoltre i campioni di dati più efficaci affinché i modelli possano elaborare correttamente le etichette. Inoltre, il dataset è stato suddiviso in insiemi di training e validazione con un rapporto 80% a 20%30 per ciascuno, e Tabella 2 mostra la distribuzione complessiva dei campioni di dati e i rispettivi rapporti di training e validazione.
| Dataset | Classi tumorali | Immagini totali | Immagini di addestramento | Immagini di validazione |
| Br35H | Salute | 1500 | 1200 | 300 |
| Tumore | 1500 | 1200 | 300 |
| Immagini totali | 3000 | 2400 | 600 |
| Figshare | Glioma | 1426 | 1141 | 285 |
| Meningioma | 708 | 566 | 142 |
| Pituitario | 930 | 744 | 186 |
| Immagini totali | 3064 | 2451 | 613 |
| Sartaj | Glioma | 926 | 741 | 185 |
| Meningioma | 937 | 749 | 188 |
| Nessun tumore | 500 | 400 | 100 |
| Pituitario | 901 | 721 | 180 |
| Immagini totali | 3264 | 2611 | 653 |
| Masoud | Glioma | 1621 | 1297 | 324 |
| Meningioma | 1645 | 1316 | 329 |
| Nessun tumore | 2000 | 1600 | 400 |
| Pituitario | 1757 | 1405 | 352 |
| Immagini totali | 7023 | 5618 | 1405 |
| Dataset bilanciato sui tumori cerebrali (BBT-Dataset) | Glioma | 1312 | 1050 | 262 |
| Meningioma | 1312 | 1050 | 262 |
| Nessun tumore | 1312 | 1050 | 262 |
| Pituitario | 1312 | 1050 | 262 |
| Immagini totali | 5248 | 4200 | 1048 |
Tabella 2: Distribuzione del set di dati. La tabella mostra le statistiche per classe riguardo al numero totale di immagini e a quelle utilizzate per il training e per la validazione nei set di dati sui tumori cerebrali.
Il set di dati Br35H è composto da 3000 immagini, di cui 2400 selezionate per l'addestramento e 600 per la validazione. Il set di dati Figshare comprende 3064 immagini. Di tutte le immagini, 2451 sono state selezionate per l'addestramento e le rimanenti 613 per la validazione. Il set di dati Sartaj ha un totale di 3264 immagini, di cui 2611 utilizzate per l'addestramento e le rimanenti 653 per la validazione. Il set di dati Masoud ha un totale di 7023 immagini; di queste, 5618 sono state utilizzate per l'addestramento e le rimanenti 1405 per la validazione. Il set di dati BBT ha un totale di 5248 immagini. Delle immagini totali, 4200 sono state considerate ai fini dell'addestramento, mentre le restanti 1048 immagini sono state considerate ai fini della validazione. Inoltre, Figura 2 illustra di seguito le varie immagini di tumori cerebrali.

Figura 2: Immagini di tumori cerebrali, inclusi i tipi di tumore. Il dataset contiene quattro immagini di tessuto cerebrale sano e tre immagini tumorali: glioma, meningioma e pituitario. Cliccare qui per visualizzare una versione ingrandita di questa figura.
Modello proposto
Dopo la fase di pre-elaborazione, il passo successivo consiste nel proporre un modello di addestramento efficace esclusivamente per la classificazione dei tumori cerebrali. A tal fine, è stato proposto un modello efficiente per l'addestramento, specificamente progettato per classificare i tumori cerebrali. In particolare, si propone un nuovo ed efficiente modello ibrido basato sulla fusione di caratteristiche pre-addestrate, comprendente DenseNet12131,32 ed EfficientNetB733, utilizzati per estrarre le caratteristiche dalle immagini; successivamente, le caratteristiche estratte vengono concatenate e trasmesse a diversi iperparametri finemente regolati, inclusi strati addestrabili e non addestrabili, al fine di diagnosticare con precisione i tumori cerebrali. Il modello è stato implementato su cinque diversi dataset pubblicamente disponibili, discussi nelle sezioni precedenti. Inoltre, il modello DenseNet121 è stato sviluppato da Gao Huang e dai suoi collaboratori nel 2017 e comprende 121 strati. L'obiettivo principale di questo modello è massimizzare il riutilizzo delle caratteristiche ed evitare il problema del gradiente scomparso34. Gli strati di questo modello sono organizzati in blocchi densi, ognuno contenente diversi strati convoluzionali che estraggono e apprendono le caratteristiche. Ogni strato riceve la mappa delle caratteristiche da tutti gli strati precedenti come ingresso, e il suo output viene collegato agli output di quegli strati e trasmesso come ingresso agli strati successivi nello stesso blocco in modo feed-forward. Inoltre, tra i blocchi densi vengono inseriti strati di transizione, ognuno composto da un livello convoluzionale 1 × 1, un livello BatchNormalization e livelli di pooling medio 2 × 2, che riducono la mappa delle caratteristiche per controllare la complessità del modello. Infine, viene aggiunto un livello con funzione di attivazione SoftMax (AF) prima di un livello di global average pooling per la classificazione. La struttura fondamentale del modello DenseNet121 è mostrata in Figura 334 riportata di seguito.

Figura 3: Dettaglio architetturale di DenseNet12134. Questa figura mostra il dettaglio architetturale del modello DenseNet121, inclusi tutti i blocchi densi e di transizione. Cliccare qui per visualizzare una versione ingrandita di questa figura.
Inoltre, il modello EfficientNetB7 è stato ideato da Tan e Lee nel 2019. Appartiene alla famiglia EfficientNet, che comprende varianti dalla B0 alla B7, e il suo obiettivo principale è superare gli altri modelli utilizzando meno parametri e minore potenza computazionale. La larghezza del modello (numero di canali per livello), la profondità (numero di livelli) e la risoluzione possono essere regolate finemente tramite una scalatura composta, che rappresenta la caratteristica fondamentale del modello. Inoltre, questo modello è composto da blocchi MBConv (convoluzione a collo di bottiglia invertita mobile), che includono un livello di espansione convoluzionale 1 × 1 responsabile dell'ampliamento dei canali, una convoluzione separabile per profondità che applica la convoluzione a ciascun canale separatamente, e un livello di proiezione convoluzionale 1 × 1 che riduce il numero di canali al valore originale. Ogni blocco MBConv include inoltre blocchi Squeeze and Excitation (SE)35, che ricalibrano le caratteristiche per canale, aiutando la rete a concentrarsi su quelle più importanti. Invece della sigmoide o di qualsiasi altra funzione di attivazione (AF), viene utilizzata la funzione Swish, che offre prestazioni superiori rispetto a ReLU consentendo valori negativi, favorendo così il flusso del gradiente. Inoltre, viene aggiunto un livello di output finale con una funzione di attivazione SoftMax prima di un livello di global average pooling per scopi di classificazione. Figura 435 mostra il design di base del modello EfficientNetB7, mentre Figura 5 illustra l'architettura del modello raccomandata.

Figura 4: Dettaglio architetturale di EfficientNetB735. Questa figura mostra il dettaglio architetturale del modello EfficientNetB7, inclusi tutti i blocchi convoluzionali a collo di bottiglia invertito per dispositivi mobili. Cliccare qui per visualizzare una versione ingrandita di questa figura.

Figura 5: Architettura proposta del modello ibrido fuso. L'architettura proposta illustra come le immagini preelaborate vengano trasmesse all'estratore di caratteristiche, costituito da tre blocchi personalizzati con diversi iperparametri, seguiti da un livello di uscita. Cliccare qui per visualizzare una versione ingrandita di questa figura.
Inoltre, inizialmente le caratteristiche sono state estratte dai modelli preaddestrati DenseNet121 ed EfficientNetB7. I pesi aggiornati dei modelli preaddestrati sono stati caricati sui modelli addestrati e sono stati bloccati i livelli di base non addestrabili per impedire un ulteriore addestramento del modello. Questo dovrebbe aiutare il modello a mantenere le conoscenze migliori acquisite in precedenza, ad adattarle alla luce di nuovi campioni di dati per migliorare la convergenza e a concentrarsi sui livelli aggiuntivi da addestrare ed estrarre caratteristiche avanzate. Le equazioni 1 e 2 riportate di seguito illustrano il funzionamento dei modelli DenseNet121 ed EfficientNetB7.
(1)
(2)
Le equazioni 1 e 2 sopra mostrano il funzionamento del modello preaddestrato relativamente all'estrazione delle caratteristiche; F1 indica le mappe delle caratteristiche in uscita prodotte dal modello DenseNet121 preaddestrato e F2 indica le mappe delle caratteristiche in uscita prodotte dal modello EfficientNetB7 preaddestrato applicando un'elaborazione alle immagini in ingresso, rappresentate da X. Inoltre, W1 e W2 sono i parametri apprendibili o pesi associati ai primi blocchi e strati dei modelli DenseNet121 ed EfficientNetB7, rispettivamente. Ulteriormente, ∈ RN ×H1×W1×C1 e ∈ RN ×H2×W2×C2 rappresentano la dimensionalità delle mappe delle caratteristiche in uscita dei modelli DenseNet121 ed EfficientNetB7, rispettivamente, con dimensioni H1 ×N×W1×C1 e H2 ×N×W2×C2, dove N rappresenta la dimensione del batch delle immagini, considerata pari a 16. Inoltre, H1×W1 rappresenta l'altezza e la larghezza delle immagini, rispettivamente, per il modello DenseNet121 e H2×W2 rappresenta l'altezza e la larghezza delle immagini per il modello EfficientNetB7 ed è stata selezionata con dimensioni di 224 × 224. C1 e C2 rappresentano il canale colore per i modelli DenseNet121 ed EfficientNetB7, rispettivamente. Dopo aver ottenuto le mappe delle caratteristiche in uscita dal modello, ovvero 2560 canali da EfficientNetB7 e 1024 da DenseNet121, viene applicato il livello di global average pooling 2D36 alle mappe delle caratteristiche in uscita per ridurre la dimensione spaziale calcolando la media di tutte le dimensioni spaziali in un singolo vettore, il che risulta più comodo per il passaggio al livello successivo al fine di un'ottimale estrazione delle caratteristiche e riconoscimento di schemi in termini di caratteristiche interpretabili.
(3)
(4)
Le equazioni 3 e 4 sopra mostrano il funzionamento del livello di global average pooling 2D applicato rispettivamente ai modelli DenseNet121 ed EfficientNetB7, dove
e
mostrano la procedura di normalizzazione della somma dividendo per il numero totale di posizioni spaziali di entrambi i modelli, in modo da garantire che l'output raggruppato sia una media piuttosto che una semplice somma.
e
rappresentano la sommatoria lungo le dimensioni spaziali delle mappe di caratteristiche, mentre i e j servono semplicemente per iterare rispettivamente lungo l'altezza e la larghezza, al fine di sommare le mappe di caratteristiche per entrambi i modelli. Inoltre, F1(i, j, :) e F2(i, j, :) rappresentano i valori delle mappe di caratteristiche in specifiche posizioni spaziali (i, j) lungo tutti i canali, rispettivamente per i modelli DenseNet121 ed EfficientNetB7. Questa operazione di pooling aggrega le informazioni spaziali in una rappresentazione più compatta e accurata, preservando al contempo le caratteristiche più importanti di ogni immagine. Inoltre, gli output dei livelli di global average pooling vengono concatenati per produrre un singolo vettore di caratteristiche per ogni campione, che viene spesso utilizzato per fondere caratteristiche provenienti da modelli diversi al fine di migliorare le prestazioni sfruttando i punti di forza di entrambi i modelli; l'equazione 5 mostra come funziona.
(5)
L'equazione 5 mostra il procedimento di concatenazione di due diversi vettori caratteristici di modelli [G1, G2], dove G1 rappresenta il vettore delle caratteristiche del modello DenseNet121 e G2 rappresenta il vettore delle caratteristiche del modello EfficientNetB7, mentre la forma del vettore caratteristico concatenato è rappresentata da RN ×(C1+ C2), dove N è la dimensione del batch, che indica il numero di campioni elaborati in parallelo, e (C1+ C2) è il numero totale di caratteristiche ottenute rispettivamente dal modello 1 e dal modello 2, pari a circa 3584, che vengono elaborate in parallelo; il vettore caratteristico risultante dalla concatenazione è indicato con G. Inoltre, sono stati aggiunti tre blocchi distinti per modificare il modello fuso al fine di estrarre caratteristiche più complesse, migliorare la generalizzazione ed evitare l'overfitting, al fine di ottenere risultati più precisi ed efficienti. Ogni blocco è composto da un livello denso con un numero diverso di neuroni: il primo blocco ha 1024 neuroni nei suoi strati densi, che si concentrano sull'acquisizione di un'ampia gamma di caratteristiche e modelli più generici nei dati; il secondo blocco ha 512 neuroni nel suo strato denso, che affina specificamente le caratteristiche riducendone la dimensionalità e concentrandosi su modelli più specifici. Il terzo blocco contiene 256 neuroni nel suo strato denso, che distillano ulteriormente le caratteristiche per garantire che solo le caratteristiche e i modelli più rilevanti vengano trasmessi allo strato di uscita per svolgere un compito più pertinente. Inoltre, sono state applicate tecniche di regolarizzazione L237 a ogni strato denso di ciascun blocco per prevenire l'overfitting penalizzando pesi elevati, il che aumenta anche la complessità del modello. Dopo ciascun blocco è stato introdotto uno strato di dropout38 per ignorare casualmente rispettivamente il 30%, il 20% e il 10% dei neuroni nei blocchi 1, 2 e 3, costringendo così la rete a sviluppare caratteristiche più robuste che non dipendano da un singolo neurone. Per stabilizzare il processo di addestramento, dopo ogni strato denso viene applicato uno strato di BatchNormalization39, che garantisce che le attivazioni rimangano entro un intervallo stabile e aiuta il modello a evitare problemi come il vanishing gradient e l'exploding gradient durante la fase di addestramento. Inoltre, questo strato di BatchNormalization accelera anche il processo di addestramento, consentendo al modello di convergere più rapidamente grazie all'appiattimento del paesaggio della funzione di perdita, rendendo più facile per gli ottimizzatori raggiungere minimi globali. Infine, in ciascun blocco viene utilizzata l'attivazione leaky ReLU40 per generare non linearità, consentendo al modello di apprendere modelli complessi; la leaky ReLU presenta vantaggi rispetto ad altre funzioni di attivazione poiché evita che un neurone diventi inattivo permettendo un piccolo gradiente non nullo anche per ingressi negativi. L'equazione 6 illustra il funzionamento dei diversi blocchi integrati nel modello ibrido fuso.
(6)
Dopo aver ottenuto il vettore concatenato, G viene elaborato dal livello denso (completamente connesso) del blocco 1, composto da 1024 neuroni, in cui la matrice dei pesi W1 trasforma il vettore in ingresso G in un vettore in uscita di dimensione 1024, e ogni elemento del vettore in uscita è una combinazione lineare delle caratteristiche in ingresso. Successivamente, al vettore di bias b1 viene aggiunto ciascuno dei 1024 elementi del vettore in uscita, consentendo al modello di spostare in modo indipendente l'uscita delle caratteristiche in ingresso. Inoltre, il termine di regolarizzazione L2: λ||W1||22 penalizza i pesi elevati, scoraggiando il modello dal dipendere eccessivamente da un singolo neurone, il che aiuta a evitare l'overfitting. Qui, la matrice dei pesi di un determinato livello è W1 nella rete neurale, mentre ||W1||22 indica la norma L2 al quadrato della matrice dei pesi W1 e λ è il parametro di regolarizzazione che controlla il grado di regolarizzazione applicata, impostato a 0,1 in tutti i blocchi. Z1 diventa la nuova rappresentazione delle caratteristiche dopo aver applicato il livello denso e la regolarizzazione L2 all'ingresso proveniente dal vettore concatenato G, come mostrato nell'equazione 6.
Dopo aver ottenuto l'output dal livello denso del blocco 1 come Z1, è stato applicato il livello BatchNormalization, utilizzato per accelerare il processo di addestramento, e l'equazione 7 riportata di seguito mostra il suo funzionamento.
(7)
σ2 rappresenta la varianza dell'output dell'ultimo strato Z1 all'interno del batch, mentre μ è la media dell'output Z1 calcolata separatamente per ogni neurone, pari a 1024 nel primo strato denso. Invece, ε è una costante molto piccola inclusa per garantire la stabilità numerica ed evitare la divisione per zero. L'output normalizzato può essere regolato dal modello modificando il parametro di scala apprendibile γ, mentre lo spostamento dell'output normalizzato può essere effettuato tramite il parametro di shift apprendibile β. Infine, dopo aver applicato il livello di normalizzazione del batch (BatchNormalization) all'output dello strato denso, l'output normalizzato Z1 assicura che le attivazioni abbiano una distribuzione coerente tra i diversi strati, il che contribuisce a stabilizzare e accelerare l'addestramento. Dopo la normalizzazione del batch, l'output normalizzato Z1 passa attraverso la funzione di attivazione leaky ReLU, che introduce non-linearità nella rete, aiutando ad apprendere modelli complessi nei dati. Invece di scegliere ReLU o un'altra funzione di attivazione, è stata scelta leaky ReLU, una versione modificata della funzione ReLU che considera anche piccoli valori negativi anziché porli a zero come fa la funzione di attivazione ReLU, risolvendo così il problema del "dying ReLU". L'equazione 8 riportata di seguito mostra il suo funzionamento.
(8)
Dove Z1 appartiene all'uscita del livello BatchNormalization, che viene fornita come ingresso a Leaky ReLU per eseguire la non linearità, mentre ∝ è una costante piccola utilizzata per determinare l'inclinazione della parte negativa della funzione. Inoltre, A1 mostra l'uscita ottenuta dopo aver applicato la non linearità. Infine, un livello dropout viene applicato all'uscita A1 ricevuta come ingresso dall'attivazione Leaky ReLU, come mostrato nell'equazione 9.
(9)
Dove A1 è l'uscita originale della funzione di attivazione ricevuta dall'ultima funzione di attivazione ReLu e dove p è la percentuale di dropout, che varia tra 0 e 1 ed è stata impostata rispettivamente a 0,3, 0,2 e 0,1 per i tre strati a blocchi, semplicemente per eliminare una frazione di neuroni. Inoltre, A1′ indica l'uscita modificata dopo l'applicazione dello strato di dropout, da cui alcuni neuroni sono stati impostati a 0. Il principale vantaggio del suo utilizzo è semplicemente quello di prevenire il problema dell'overfitting e ridurre la co-adattazione. Inoltre, l'uscita del blocco1 A1′ viene passata al blocco successivo per estrarre ulteriori caratteristiche astratte, applicando gli stessi parametri presenti nel blocco 1, con alcune differenze: 512 neuroni nello strato denso invece di 1024 e una percentuale di dropout di 0,2 invece di 0,3; le altre sequenze operative sono identiche, come descritto nelle seguenti equazioni da 10 a 13.
(10)
(11)
(12)
(13)
Dopo aver ottenuto l'output dal blocco 1, A1′, questo viene passato attraverso il livello denso (completamente connesso) del blocco 2 composto da 512 neuroni, in cui la matrice dei pesi W2 trasforma il vettore in ingresso A1′ in un vettore di output a 512 dimensioni, e ogni elemento del vettore di output è una combinazione lineare delle caratteristiche in ingresso. Successivamente, al vettore di bias b2 viene aggiunto ciascuno dei 512 elementi nell'output, consentendo al modello di spostare in modo indipendente l'output delle caratteristiche in ingresso. Inoltre, viene applicata anche la regolarizzazione L2, in cui: λ||W2||22 penalizza i pesi elevati, riducendo così il rischio di overfitting impedendo al modello di affidarsi eccessivamente a un particolare neurone in questo blocco specifico. Qui, W2 rappresenta la matrice dei pesi di un determinato livello della rete neurale, mentre λ è il parametro di regolarizzazione che controlla il grado di regolarizzazione applicata, impostato a 0,1. Z2 diventa la nuova rappresentazione delle caratteristiche dopo aver applicato il livello denso e la regolarizzazione L2 all'input proveniente dal blocco 1, come mostrato nell'equazione 10.
Inoltre, il layer di BatchNormalization è stato applicato alla nuova caratteristica Z2, utilizzato per accelerare il processo di addestramento, dove σ22 rappresenta la varianza all'interno del batch, mentre μ2 è la media dell'output Z2. Sebbene ε sia una costante piccola incorporata per garantire la stabilità numerica, γ è un parametro di scala apprendibile che consente al modello di modificare l'output normalizzato, e β è un parametro di spostamento apprendibile che consente al modello di traslare l'output normalizzato. Infine, dopo aver applicato il layer di BatchNormalization, mostrato nell'equazione 11, l'output normalizzato Z2 è stato elaborato dalla funzione di attivazione ReLU leaky, che ha introdotto non-linearità nella rete, come mostrato nell'equazione 12. Dove Z2 appartiene all'output del layer di BatchNormalization, che viene fornito come ingresso alla ReLU leaky per introdurre la non-linearità. Mentre, A2 indica l'output ottenuto dopo l'applicazione della non-linearità.
Infine, viene applicato un livello dropout all'uscita A2 ricevuta in ingresso dalla funzione di attivazione Leaky ReLU, come mostrato nell'equazione 13. Dove A2 è l'uscita ricevuta dall'ultima funzione di attivazione ReLU e dove p2 è la percentuale di dropout, scelta pari a 0,2 per questo blocco, al fine di disattivare una frazione di neuroni. Inoltre, A2′ indica l'uscita modificata dopo l'applicazione del livello dropout, nella quale alcuni neuroni sono stati impostati a 0. Successivamente, l'uscita del blocco 2, A2′, viene passata al terzo blocco per estrarre ulteriori caratteristiche più astratte, applicando gli stessi parametri utilizzati nel blocco 2, con alcune differenze: 256 neuroni nel livello denso anziché 512 e una percentuale di dropout pari a 0,1 anziché 0,2; le altre sequenze operative rimangono invariate, come descritto nelle equazioni seguenti da 14 a 17.
(14)
(15)
(16)
(17)
Dopo aver ottenuto l'output dal blocco 2, A2′, questo viene passato attraverso il livello denso (completamente connesso) del blocco 3 composto da 256 neuroni, dove la matrice dei pesi W3 trasforma il vettore in ingresso A2′ in un vettore di output a 256 dimensioni, e ogni elemento del vettore di output è una combinazione lineare delle caratteristiche in ingresso. Successivamente, al vettore di bias b3 viene aggiunto ciascuno dei 256 elementi nell'output, consentendo al modello di spostare in modo indipendente l'output delle caratteristiche in ingresso. Inoltre, viene applicata anche la regolarizzazione L2, in cui: λ||W3||22 penalizza i pesi elevati, scoraggiando il modello dal dipendere eccessivamente da un singolo neurone, il che aiuta a evitare l'overfitting. Qui, W3 rappresenta la matrice dei pesi di un determinato livello della rete neurale, mentre il grado di regolarizzazione impiegato è controllato dal parametro di regolarizzazione λ, impostato a 0,01. Z3 diventa la nuova rappresentazione delle caratteristiche dopo aver applicato il livello denso e la regolarizzazione L2 all'input proveniente dal blocco 3, come mostrato nell'equazione 14.
Inoltre, il layer BatchNormalization è stato applicato alla nuova caratteristica Z3, utilizzato per accelerare il processo di addestramento, dove σ32 rappresenta la varianza all'interno del batch, mentre μ3 è la media dell'uscita Z3. Mentre, ε è una piccola costante aggiunta per garantire la stabilità numerica. L'uscita normalizzata può essere regolata dal modello mediante il parametro di scala apprendibile γ3 e traslata mediante il parametro di spostamento apprendibile β3. Infine, dopo aver applicato il layer BatchNormalization, mostrato nell'equazione 15, l'uscita normalizzata Z3 viene elaborata dalla funzione di attivazione leaky ReLU, che introduce non-linearità nella rete, come mostrato nell'equazione 16. Dove Z3 appartiene all'uscita del layer BatchNormalization, che viene fornita come ingresso a Leaky ReLU per introdurre la non-linearità. Mentre, A3 indica l'uscita ottenuta dopo l'applicazione della non-linearità.
Infine, viene applicato un livello dropout all'uscita A3 ricevuta in ingresso dalla funzione di attivazione Leaky ReLU, come mostrato nell'equazione 17. Dove A3 è l'uscita ricevuta dall'ultima funzione di attivazione ReLU e dove p3 è la frequenza di dropout, scelta pari a 0,1 per questo blocco, al fine di disattivare una frazione di neuroni. Inoltre, A3′ indica l'uscita modificata dopo l'applicazione del livello dropout, nella quale alcuni neuroni sono stati impostati a 0.
Inoltre, l'output del blocco 3 A3′ viene elaborato dall'ultimo strato denso a fini di classificazione, con un numero K di neuroni che rappresenta il numero effettivo di classi nel dataset, come descritto nell'equazione 18 riportata di seguito.
(18)
La matrice dei pesi associata allo strato denso è Wk, responsabile della trasformazione del vettore 256-dimensionale A3′ in un vettore k-dimensionale, che rappresenta le caratteristiche apprese dal blocco precedente e costituisce l'uscita. Inoltre, bk rappresenta il vettore di bias che regola la previsione per garantire che la funzione di attivazione produca un'uscita non nulla quando l'ingresso è zero, mentre Zk è l'uscita dell'ultimo strato prima dell'applicazione della funzione di attivazione e genera i logit per ciascuna classe. Infine, viene applicato un classificatore SoftMax41 che converte il logit Zk nella probabilità di ciascuna classe, come mostrato nelle equazioni 19 e 20.
(19)
(20)
Dove la probabilità predetta della classe iesima è rappresentata da yi, K è il numero di classi, mentre Zk, i è il logit per la classe iesima, e eZk, i è l'esponenziale del logit della classe iesima. y mostra la distribuzione di probabilità di tutte le classi possibili e garantisce che la somma delle probabilità sia pari a 1. Tabella 3 di seguito riporta i dettagli degli iperparametri utilizzati per addestrare il modello ibrido proposto, inclusi i dettagli architetturali adottati per migliorare la riproducibilità e le prestazioni.
| Parametri iper | Modello proposto (FusionNetX) |
| Dimensione dell'immagine | 224 × 224 |
| Architettura del backbone | EfficientNetB7 e DenseNet121 preaddestrati come BBA1 e BBA2 |
| Aumento dei dati | Intervallo di rotazione = 7, |
| Intervallo di spostamento in larghezza/altezza fino a 0,05, |
| Intervallo di zoom fino a 0,01, |
| Capovolgimento orizzontale/verticale |
| Rapporto di suddivisione dei dati | 80% per l'addestramento e 20% per la validazione, con campionamento stratificato e randome_state fisso = 42 |
| Estrazione e fusione delle caratteristiche | Viene applicato un global average pooling sull'uscita di ciascun backbone: 2560 per BBA1 e 1024 per BBA2, fusi per ottenere 3584 vettori di caratteristiche congiunte. |
| Composizione del blocco completamente connesso | 3 blocchi completamente connessi con 1 strato di uscita. Ogni blocco contiene regolarizzazione L2 (λ=0,01), BatchNormalization, LeakyReLU (α=0,01), Dropout (0,3, 0,2 e 0,1) e dimensione nascosta (1024, 512, 256) rispettivamente. Nessuna connessione skip aggiuntiva introdotta nella testa di fusione |
| Funzione di attivazione | Leaky ReLU & SoftMax |
| Ottimizzatore e tasso di apprendimento | Adam con tasso di apprendimento fisso a 0,00001, senza scheduler del tasso di apprendimento. |
| Funzione di perdita | sparse_categorical_crossentropy |
| Dimensione del batch | 16 |
| Epoche | 100 epoche fisse per ciascun dataset |
| Piattaforma utilizzata | Kaggle Notebook dotato di GPU P100 e 16 GB di VRAM con le piattaforme TensorFlow e Keras. |
Tabella 3: Iperparametri utilizzati per addestrare il modello proposto e dettagli architetturali suggeriti. Questa tabella fornisce i dettagli strutturali e architetturali del modello proposto, insieme ai parametri ottimizzati e all'ambiente di implementazione.