Un’introduzione delicata alle Reti Neurali Orientabili (parte 1)

Un'elegante introduzione alle Reti Neurali Orientabili (parte 1)

Cosa sono le Reti Neurali Dirigibili e il contesto

Introduzione

Il deep learning geometrico, come ramo del Deep Learning, mira ad estendere i tradizionali framework di intelligenza artificiale come le Reti Neurali Convoluzionali per elaborare oggetti geometrici 3D o 2D rappresentati come grafi, varietà o nuvole di punti. Incorporando relazioni geometriche e dipendenze spaziali direttamente nel framework di apprendimento, il deep learning geometrico sfrutta le intrinseche proprietà strutturali dei dati per eliminare la necessità di tecniche di aumento dati ad alta intensità di memoria. Per tutte queste ragioni, il deep learning geometrico può essere visto come uno strumento prezioso per affrontare complessi scenari di dati nei domini della visione artificiale, dell’elaborazione del linguaggio naturale e oltre. Riguardo al tipo di compito e al tipo di trasformazione, finora è stata proposta una vasta varietà di nuove architetture di CNN come “Reti Neurali Sfere” (link), “Reti Neurali Grafo” (ink) e “Reti Neurali Dirigibili”.

Le Reti Neurali Dirigibili hanno suscitato un interesse significativo grazie alla loro capacità unica di estendere le capacità delle regolari Reti Neurali Convoluzionali (CNN). Queste reti possono essere considerate un’evoluzione delle CNN, in cui il kernel è condizionato a soddisfare specifici vincoli. Mentre le CNN eccellono nell’essere equivarianti alla traslazione, le Reti Neurali Dirigibili vanno oltre offrendo una maggiore flessibilità e catturando un ampio spettro di trasformazioni, come la rotazione.

Questo tutorial presenterà un’introduzione alle “Reti Neurali Dirigibili” (S-CNN), cercando di trasmettere una comprensione intuitiva dei concetti matematici che le sottendono e una spiegazione passo dopo passo su come progettare queste reti. Il tutorial è composto da due articoli. Questo primo articolo serve come introduzione alle reti neurali dirigibili (NN), spiegando il loro scopo e approfondendo i concetti e il formalismo alla base delle S-CNN. Il secondo articolo (qui) discute a un livello elevato la progettazione dei filtri trainabili e delle reti trainabili nel complesso.

Questo lavoro mira a colmare il divario tra la letteratura scientifica attuale e il pubblico più ampio delle scienze dei dati. È ideale per i professionisti del settore tecnologico e per i ricercatori in questa nuova branca del machine learning.

Esempio di una semplice Rete Neurale Dirigibile tratta dall'articolo [3]. Come possibile vedere, l'effetto della rotazione nell'immagine di input si riflette nella risposta di output della rete.

I seguenti articoli sono presi come riferimento:

[1] “3D Steerable CNNs: Learning Rotationally Equivariant Features in Volumetric Data”, Weilier et al., (link);

[2] “Steerable CNNs”, Cohen et al. ( link);

[3] “Learning Steerable Filters for Rotation Equivariant CNNs”,Weilier et al., (link)

[4] “General E(2)-Equivariant Steerable CNNs” Weilier et al., (link)

[5] “Scale Steerable Filters for the Locally Scale-Invariant Convolutional Neural Network”, Ghosh et al. (link)

[6] “A program to build E(n)-equivariant steerable CNNs.” Cesa et al. (link)

Cosa sono le Reti Neurali Dirigibili:

Le reti neurali dirigibili prendono il loro nome dal particolare tipo di filtri che utilizzano. Tali filtri sono chiamati filtri g-dirigibili e sono stati ispirati dai filtri dirigibili che hanno guadagnato popolarità nel campo del riconoscimento delle immagini per la rilevazione dei bordi o l’analisi delle texture orientate agli inizi degli anni ’90. Dirigibilità significa comunemente direzionabile, gestibile, capace di essere gestita o controllata. Seguendo questa convenzione, la risposta di un filtro dirigibile è orientabile e adattabile a una specifica orientazione dell’input (ad esempio, un’immagine). La ‘dirigibilità’ è correlata ad un’altra proprietà molto importante chiamata equivarianza. In un filtro equivariante, se l’INPUT al filtro viene trasformato secondo una trasformazione geometrica precisa e ben definita g (traslazione, rotazione, spostamento), l’OUTPUT (che deriva dalla convoluzione dell’INPUT con il filtro) viene trasformato dalla stessa trasformazione g. In generale, l’equivarianza non richiede che le trasformazioni (quelle in ingresso e quelle in uscita) siano le stesse. Questo concetto sarà meglio affrontato nel paragrafo successivo, ma per ora ci permette di fornire una prima definizione di filtro dirigibile e di CNN dirigibile.

Un filtro CNN orientabile può essere definito come un filtro il cui kernel è strutturato come una concatenazione di diversi filtri orientabili. Questi filtri mostrano proprietà di equivarianza rispetto all’operazione di convoluzione rispetto a un insieme di trasformazioni geometriche ben definite.

Come vedremo in seguito, la condizione di equivarianza sull’operazione di convoluzione porta all’imposizione di vincoli specifici sulla struttura del kernel e sui suoi pesi. Da questa definizione è ora possibile definire cosa sia una CNN orientabile: le reti neurali orientabili sono reti neurali composte da una serie di filtri orientabili.

A cosa servono le S-CNN:

La forza di una normale CNN risiede nella sua equivarianza rispetto alla traslazione. Tuttavia, le NN orientabili sono più flessibili e possono mostrare altri tipi di trasformazioni, come la rotazione. In un problema con equivarianza di rotazione, una CNN non modificata è costretta a imparare versioni ruotate dello stesso filtro, introducendo un grado ridondante di libertà e aumentando il rischio di overfitting. Per questa ragione, le reti Steerable CNN possono superare le CNN classiche incorporando direttamente informazioni sulle trasformazioni geometriche che agiscono sull’input. Questa proprietà rende le S-CNN particolarmente utili per diverse sfide in cui è necessario elaborare input con una descrizione e una rappresentazione geometrica, come immagini, varietà o campi vettoriali.

Possibili applicazioni pratiche includono ad esempio:

  • Sfida della segmentazione delle immagini 2D: prevedere i confini cellulari dati un’immagine al microscopio di input.
  • Classificazione di modelli 3D: classificare e riconoscere oggetti tridimensionali.
  • Classificazione di strutture chimiche 3D: prevedere la struttura chimica tridimensionale di una molecola data la sua struttura chimica. Un possibile esempio è la previsione delle preferenze spaziali di un gruppo di amminoacidi data la sua sequenza, come spiegato nella sezione 5.4 del saggio [2].
Esempio di applicazione di una rete neurale orientabile 3D per il riconoscimento di oggetti 3D. L'oggetto di input (sopra) e la rappresentazione di due diverse mappe delle caratteristiche di strati nascosti. Preso da Link

Definizioni preliminari e contesto

Dopo aver introdotto le Reti Neurali Orientabili e le loro applicazioni, immergiamoci nella teoria che sta dietro di esse. In questa sezione viene offerta una spiegazione più formale dell’equivarienza e della orientabilità, fornendo definizioni essenziali e un quadro formale che sarà fondamentale per comprendere la costruzione dei filtri orientabili nell’articolo successivo. Questo articolo si basa sulla comprensione di mappe e trasformazioni geometriche. Per ulteriori informazioni, consulta questo altro articolo.

1. EQUIVARIANZA:

L’equivarianza è una proprietà di particolare interesse nei problemi simmetrici. Come detto in precedenza, in un modello equivariante, quando l’input viene agito dalla trasformazione, essa agisce anche sull’output in modo tale che l’applicazione della trasformazione possa essere applicata prima o dopo l’applicazione del modello senza cambiare il comportamento complessivo. Nella vita di tutti i giorni ci sono molti esempi di equivarianza. Ad esempio, quando si guida, la direzione in cui un’auto sterza quando il volante viene girato è equivariante rispetto alla direzione in cui l’auto sta puntando. Formalmente, se abbiamo una mappa 𝛙: X → Y, dove X ⊂ ℝᵈ e Y ⊂ ℝᵈ¹, e g, una trasformazione geometrica appartenente al gruppo G, 𝛙 è equivariante rispetto a G se:

Eq.1: Equazione matematica che rappresenta l'equivarienza di 𝛙 rispetto a g.

dove Π₀(g): X → X’ e Π₁(g): Y → Y’ sono due mappe lineari (ad esempio matrici spesso applicate per moltiplicazione) determinate dall’applicazione di g a x. Un esempio visivo è mostrato nell’immagine qui sotto tratta dall’articolo [2]. Nell’immagine g è una rotazione, specificamente “rotazione di -90°”; è quindi denominata r. Π₀(r) opera nel dominio di 𝛙 (=X), mentre Π₁(r) lavora nel codominio di 𝛙 (=Y).

Se X=ℝ², spazio cartesiano bidimensionale, e r è la trasformazione “rotazione in senso orario di 90°”, la matrice Π₀(r) sarebbe uguale a una matrice di Eulero 2×2 con θ=π/2.

Si noti che se 𝛙 è equivariante rispetto a G, applicando una trasformazione e poi calcolando la mappa si ottiene lo stesso risultato del calcolo della mappa e poi dell’applicazione della trasformazione, una proprietà precedentemente nota come commutazione.

Fig2A: Un esempio visivo di una funzione Ѱ equivariante a una trasformazione r. Tratto dall'articolo [2].

A questo punto vale anche la pena menzionare un caso particolare. Invarianza, un particolare tipo di equivarianza in cui X=X’ e Y=Y’. In qualsiasi modo l’input venga trasformato, l’output rimane sempre lo stesso. Dal punto di vista dell’apprendimento automatico, un filtro invariante potrebbe essere utile ad esempio per il riconoscimento degli oggetti: indipendentemente da come viene ruotata l’immagine di input, l’output del filtro rimane uguale. Si noti che gli spazi X e Y potrebbero non avere necessariamente la stessa dimensionalità, ad esempio se stiamo cercando di determinare l’orientamento (Y come un vettore 2D) di una macchina in una foto (X come una matrice 2D di pixel), allora le trasformazioni Π₁(g) e Π₀(g) saranno diverse poiché si applicano a spazi diversi, anche se condividono lo stesso g.

2. FILTRI ORIENTABILI:

A differenza della sterzabilità di una macchina, i filtri orientabili sono un po’ più difficili da intuitare. Tuttavia, entrambi condividono l’obiettivo fondamentale di ottenere una risposta coerente e prevedibile a un parametro specifico, una risposta che è intimamente legata alle trasformazioni intrinseche del filtro stesso.

Un esempio intuitivo potrebbe essere il seguente: pensa a una veletta sul tetto che mostra la direzione del vento. Invece di installare un sensore separato per ogni possibile direzione del vento, cosa impraticabile, hai una veletta del vento che ruota per allinearsi con la direzione del vento attuale. Un filtro orientabile è simile a una veletta del vento. Si adatta alle direzioni codificate nei segnali di input senza avere un sensore unico per ogni possibilità. Allo stesso modo, i filtri orientabili nell’elaborazione delle immagini si adattano a diverse caratteristiche o orientamenti in un’immagine senza richiedere un filtro separato per ogni possibile orientamento dell’input. Questo approccio offre un metodo intelligente ed efficace per modellare i sistemi. Nel contesto dell’apprendimento automatico, ci consente di concentrarci sulla costruzione di modelli di valore senza preoccuparci dell’incremento o dell’incorporazione di pesi aggiuntivi per gestire diverse orientazioni.

Pur potendo essere applicata in generale a qualsiasi insieme di trasformazioni, useremo qui le rotazioni per introdurre l’idea in modo più formale. Sia 𝛙: ℝᵈ →ℝᵈ¹ una mappa di convoluzione il cui kernel è k. Sia x∈ℝⁿ, dato un segnale di input dipendente da x, f(x) ∈ ℝᵈ, e segnale di output, f₁(x) ∈ ℝᵈ¹, possiamo scrivere: f₁(x)= 𝛙(f(x)), il che significa f₁(x)= k(x) ∗ f(x) .

Questo filtro è definito orientabile rispetto alle rotazioni se:

(1) il kernel di convoluzione k(x) di ogni elemento di output può essere espresso come somma di funzioni di base ψⱼ(x), j=1,..M.

(2) la rotazione del filtro di un angolo arbitrario θ, g_θ, può essere espresso in termini di rotazioni applicate a ciascuna singola funzione di base (valido per ogni θ). In termini matematici significa:

Eq.2: Definizione del filtro orientabile

Grazie a questa proprietà, è possibile orientare in modo univoco la risposta del filtro all’input, modificando i valori di wⱼ. Forniamo un esempio. La più semplice illustrazione di un singolo filtro orientabile è uno spazio bidimensionale in cui la funzione kernel è la derivata direzionale di una Gaussiana bidimensionale. In questo caso k: ℝ² →ℝ e x = (x₁,x₂) ∈ ℝ²:

Eq.3: Derivata direzionale di una Gaussiana bidimensionale (sopra) e trasformazione di una funzione k R² →R con gθ.

Nelle righe seguenti mostreremo che questo filtro è orientabile nel senso spiegato in precedenza. Dalla teoria sappiamo che, dato che il codominio di k è ℝ, possiamo scrivere il filtro ruotato come Eq.3 (per ulteriori informazioni vedi Eq.3 nella prossima sezione).

Sviluppando questa equazione possiamo dimostrare l’orientabilità:

Eq.5: Dimostrazione matematica dell'orientabilità della derivata direzionale di una Gaussiana bidimensionale

In questo caso abbiamo applicato la trasformazione g_θ: ℝ²→ℝ² ed è rappresentata dalla matrice di Eulero 2D (vedi rappresentazione indotta in seguito). Se calcoliamo k(g_θ ⁻¹(x₁,x₂)), vediamo, dopo un po’ di algebra, che la versione ruotata generica di questo filtro impulsivo può essere espressa come una combinazione lineare di due funzioni base ѱ₁(x₁,x₂) e ѱ₂(x₁,x₂) con coefficienti parametrizzati da θ.

Come è possibile vedere nell’equazione riportata di seguito (Eq.6), data la linearità della convoluzione, è sempre possibile esprimere la convoluzione di una funzione di input f con la risposta impulsive ruotata θ g_θ(k(x,y))=k_θ come una combinazione lineare delle convoluzioni di f con le singole basi ѱ₁,ѱ₂ di k.

Eq.6: Convoluzione di un filtro orientabile con f.

Questa formula evidenzia la potenza dei filtri orientabili in una rete neurale. Incorporando questi filtri, abbiamo il potenziale per costruire un kernel orientabile che “orienta” le sue risposte all’orientamento dell’input. Ogni funzione base agisce come un versatile strumento, consentendo alla rete di combinare efficientemente queste funzioni utilizzando pesi appresi ‘w₁’ e ‘w₂’ per rispondere con precisione a diverse orientazioni. Ad esempio, quando la rete incontra dati con orientamenti variabili, come un oggetto ruotato in un’immagine, configura questi pesi per allineare le risposte del kernel all’orientamento dei dati in input. Questa adattabilità migliora l’efficienza e l’efficacia, portando agli stessi o migliori risultati con meno parametri. Per questo motivo, questa approccio può essere utilizzato come base per una CNN più potente che utilizza le proprietà orientabili per gestire orientamenti di input diversi. Nello specifico, nel prossimo articolo, esploreremo ulteriormente questo concetto di filtro orientabile per costruire filtri equivarianti.

Tuttavia, prima di approfondire, alcune definizioni in questo contesto forniranno chiarezza e aiuteranno la nostra discussione. Per questo motivo, nel paragrafo successivo, introduciamo un po’ di formalismo sulla convoluzione.

3. FORMALISMO:

In questa parte, cerchiamo di fornire al lettore una spiegazione schematica di tutti gli elementi considerati nell’analisi. Questo formalismo ci permetterà di definire in modo più formale una CNN e le trasformazioni geometriche che operano a livello di input. Ciò ci permetterà nel prossimo articolo di capire come funzionano le CNN direzionali.

Gli elementi:

  • Uno spazio S: Lo spazio in cui avviene l’analisi. Sebbene S possa estendersi a un numero arbitrario di dimensioni, è più facile visualizzarelo per due o tre dimensioni spaziali. Ad esempio, se consideriamo un’immagine, lo spazio iniziale è bidimensionale e corrisponde al piano di coordinate dei pixel (ℤ²). Se invece consideriamo un “oggetto tridimensionale”, lo spazio S è tridimensionale, ℤ³. Un punto x ∈ S identifica quindi una posizione.
  • Una funzione di INPUT f: La funzione f: S → F₀ = ℝ ͨ che descrive l’input sul nostro spazio geometrico (può essere una varietà o un campo vettoriale). Questo può essere visto come una funzione dallo spazio S a ℝ ͨ, in cui ogni posizione x è collegata alla “caratteristica” f(x), chiamata anche la fibra di f in x. Diamo alcuni esempi: un’immagine in scala di grigi può essere vista come una funzione f: ℝ² → ℝ, con S = ℝ² e c = 1. Se consideriamo invece una varietà tridimensionale colorata, la funzione sarà f: ℝ³ → ℝ³, dove ogni posizione è associata a un colore RGB, S = ℝ³, c = 3. In pratica, la funzione f è solitamente rappresentata come una struttura compatta di fibre su uno spazio di campionamento; per un’immagine nel formato standard, le fibre sarebbero regolarmente distanziate orizzontalmente e verticalmente (cioè i pixel). La funzione f costituisce il livello di input della rete neurale (vedi Fig. 2A, Fig. 2B). Da ora in poi, questo livello iniziale sarà chiamato F₀.
  • Un insieme di trasformazioni G: Una volta che gli oggetti dell’analisi sono stati adeguatamente definiti, possiamo definire l’insieme di trasformazioni rispetto alle quali la rete dovrebbe essere equivariante. Una singola trasformazione g ∈ G può sempre essere descritta come una funzione in relazione allo spazio matematico su cui viene applicata. Data la funzione di input f: S → ℝ ͨ, è possibile caratterizzare π(g): ℝ ͨ → ℝ ͨ, come “la trasformazione indotta di g in ℝ ͨ,”. La funzione f esiste in ℝ ͨ, ma la trasformazione g opera nello spazio S. π(g) descrive come f (in ℝ ͨ) si trasforma in seguito all’applicazione di g (in S). Considerando g come una rototraslazione composta da due componenti r (rotazione) e t (traslazione), in generale, una funzione di input f(x) si trasforma sotto la trasformazione g come descritto nell’Eq.7. Nell’immagine sottostante, se f è un campo vettoriale, π(g) è una matrice di dimensione cxc mentre , se f è un campo scalare (f: ℝ² → ℝ), π(r) = 1. Il gruppo G delle trasformazioni considerate sono solitamente rotazioni (parleremo di reti SO(2) in questo caso) o anche rotazioni + traslazioni (parleremo di reti SE(2) in questo caso). Allo stesso modo, nello spazio tridimensionale, vengono considerati i movimenti rigidi tridimensionali ( SO(3) o SE(3)).
Fig 2B: rappresentazione grafica dell'applicazione di una trasformazione g su un campo scalare (sinistra) o su un campo vettoriale (destra). Tratto da paper [3].
Eq.7: come f viene trasformato dall'applicazione della trasformazione g a x
  • Mappe di caratteristiche: Seguendo la definizione di f data nel secondo punto, gli output di ogni livello della rete neurale possono essere visti come il risultato dell’applicazione di una funzione f ₙ sullo spazio iniziale S. Formalmente ciò può essere rappresentato come una funzione da S allo spazio codominio Fₙ, ( f : S → Fₙ), dove Fₙ=ℝ ͨ ʿⁿ ʾ e cⁿ è il numero di caratteristiche per il livello n. Prendendo ad esempio la figura 2B possiamo vedere che il segnale iniziale (input) può essere visto come una funzione f : S= ℝ² → F₀= ℝ³ mentre f₁: S= ℝ² → F₁= ℝ².
  • Filtri NN φn: Un filtro può essere definito come una mappa tra due livelli contigui in questo modo quindi φ: Fₙ→ Fₙ₊₁. L’applicazione di un tale filtro ad un livello implica la convoluzione con il rispettivo kernel k. Come la convoluzione è definita in questo caso è fondamentale per la comprensione dei NN orientabili. Per questo motivo abbiamo dedicato un paragrafo di seguito.

Filtro NN e convoluzione

In questo caso, il kernel può essere visto come una funzione k: S → ℝ ͨ ʿⁿ ʾ ˟ ͨ ʿⁿ⁺ ¹ ʾ, dove ogni posizione in S è collegata a una matrice di dimensione cʿⁿ ʾ ˟ cʿⁿ⁺ ¹ ʾ. Per chiarezza, cⁿ e cⁿ ⁺ ¹ sono rispettivamente la dimensione (numero di caratteristiche) di Fₙ e Fₙ₊₁.

Possiamo definire la convoluzione come segue:

Eq.8: Sopra: Relazione che collega il livello n con il livello n+1. Sotto: Definizione di convoluzione nello spazio S

L’equazione superiore Eq.8 rappresenta la funzione che collega il livello n con n+1; quella sotto è la definizione di convoluzione nello spazio S a n dimensioni. La funzione σ(x) rappresenta la funzione non lineare applicata all’output della convoluzione.In Figura 2B, è possibile vedere come, in un dominio discreto, viene calcolata la convoluzione tra il kernel e il livello di input.Rappresentiamo ciò con un’immagine in scala di grigi definita come f₀: ℝ² -> ℝ. Possiamo applicare il filtro discusso nella Sezione 2, che era un filtro orientabile con la funzionek(x₁, x₂) che è un filtro gaussiano 2D definito come k: ℝ² -> ℝ¹˟¹=ℝ.In questo caso l’applicazione del filtro k su f₀ è la classica convoluzione 2D e può essere scritta come:

Eq.9: Definizione di convoluzione

In modo diverso, nella Figura 2B si può vedere un altro esempio in cui f₀: ℝ²-> ℝ³ (immagine RGB per esempio) e f₁: ℝ²-> ℝ² e k₀: ℝ²-> ℝ³ ˟ ².

Figura 2B: Esempio visuale della convoluzione del filtro come definito sopra avendo S=R². F⁰ è lo spazio di input dove esiste il segnale f⁰, in questo caso R³. Come possibile notare, l'operazione di convoluzione è stata sostituita dall'operazione di correlazione come suggerito in [4]

Combinando tutti i punti che abbiamo discusso finora, è possibile visualizzare una rete neurale all’interno di questo formalismo. Ogni singola mappa delle caratteristiche può essere interpretata come una funzione f: S → Fₙ, dove Fₙ= ℝʿⁿ ʾ e f₀(x) rappresenta l’input della rete. L’applicazione del filtro comporta una convoluzione con la sua funzione kernel definita nell’equazione 8. Vale la pena notare che l’innovazione principale finora risiede nella rappresentazione geometrica di f come una funzione che opera in uno spazio posizionale S, e nella definizione della convoluzione all’interno di questo spazio.

In basso, forniamo una rappresentazione di come appare una rete neurale in questo contesto:

Eq.10: Rappresentazione simbolica di una rete neurale utilizzando il formalismo espresso sopra.

Capiremo nel prossimo articolo come la definizione di tale formalismo ci aiuterà nella progettazione di un filtro CNN orientabile.

Conclusioni

In questo segmento iniziale del nostro tutorial sulle Reti Neurali Orientabili, abbiamo stabilito i concetti fondamentali delle Reti Neurali Orientabili, dell’equivarianza e dei filtri orientabili. È stato anche introdotto un quadro matematico per fornire una base rigorosa per comprendere questi concetti. L’equivarianza preserva il comportamento sotto trasformazioni, mentre i filtri orientabili si adattano intelligentemente alle orientazioni dell’input. Questa base prepara il terreno per la progettazione di filtri CNN equivarianti, migliorando la rilevazione dei bordi e il riconoscimento basato sull’orientamento. Il prossimo articolo sfrutterà questi concetti per un’analisi più approfondita dei meccanismi dei filtri CNN orientabili, completando il nostro viaggio in questo potente paradigma delle reti neurali.

✍️ 📄. Sugli autori:

1️⃣ Matteo Ciprian, Ingegnere/ricercatore di Machine Learning

  • Laurea magistrale in Ingegneria delle Telecomunicazioni presso l’Università di Padova. Attualmente lavora nel campo della Sensor Fusion, elaborazione dei segnali e dell’IA applicata. Esperienza in progetti legati alle applicazioni di intelligenza artificiale in eHealth e tecnologie indossabili (ricerca accademica e settori aziendali). Specializzato nello sviluppo di algoritmi di rilevamento di anomalie, nonché nella promozione di tecniche di Deep Learning e Sensor Fusion. Appassionato di filosofia. Creatore di contenuti su Youtube. 🔗 Link: 💼 Linkedin 📹 Youtube 👨‍💻Instagram

2️⃣ Robert Schoonmaker, Ricercatore in elaborazione del segnale/apprendimento automatico

  • Dottorato in Fisica Computazionale della Materia Condensata presso l’Università di Durham. Specializzato in apprendimento automatico applicato e statistica non lineare, attualmente sta studiando l’utilizzo dei metodi di calcolo basati su GPU su radar a sintesi di apertura e sistemi simili. L’esperienza comprende lo sviluppo di metodi di apprendimento automatico simmetrici per l’utilizzo in fusioni di sensori e tecniche di posizionamento. 🔗 Link: 💼 Linkedin