ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 149
Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 134
Abonament PDF

XNow: un model de învățare profundă pentru prezicerea datelor radar în meteorologie

Andrei Mihai
specialist AI @ UBB



PROGRAMARE

În continuarea seriei de articole privind automatizarea prognozei meteorologice pe termen scurt folosind tehnici de învățare automată (eng. Machine Learning), în acest articol este prezentat un model de învățare automată bazat pe rețele neuronale denumit XNow care face prognoză pe termen scurt a datelor meteorologice. În articol vor fi prezentate datele pe care le prezice - date radar colectate de Administrația Națională de Meteorologie (ANM) - ce sunt și cum sunt folosite. Apoi va fi prezentat modelul, adică se va descrie ce este și cum este antrenat, cum se face prezicerea datelor radar și câteva imagini cu rezultate. Acest model a fost dezvoltat în cadrul proiectului internațional de cercetare WeaMyL, condus de o echipă de la Universitatea Babeș-Bolyai, în parteneriat cu Administrația Națională de Meteorologie și Institutul de Meteorologie din Norvegia.

Datele radar

Pentru prognoza meteorologică pe termen scurt, modelele de învățare automată trebuie să prezică date meteorologice - în acest caz date radar. Adică să prezică ce va citi radarul în pașii de timpi viitori. Pentru a antrena modelul, a fost folosită o bază de date radar reală furnizată de unul dintre radarele meteorologice WSR-98D al Administrației Naționale de Meteorologie (ANM) din România. WSR-98D este un tip de radar Doppler utilizat de administrațiile meteorologice pentru supravegherea vremii, derivat din WSR-88D care este operațional în Statele Unite ale Americii [1]. WSR-98D este capabil de detectarea la distanță a picăturilor de apă din atmosferă - a norilor și a precipitațiilor - colectând date despre locația, dimensiunea si mișcarea acestora. WSR-98D scanează volumul de aer deasupra unei zone de peste 70.000 de kilometri pătrați, și, aproximativ, la fiecare 6 minute se colectează un set complet de 30 de produse de bază și derivate, pe 7 nivele de elevație diferite.

Produsele de bază sunt reflectivitatea particulelor (R), care furnizează informații despre locația, dimensiunea și tipul particulelor, și velocitatea particulelor (V), care furnizează informații despre mișcarea particulelor, adică direcția și viteza în raport cu radarul. Ambele produse sunt disponibile pentru mai multe unghiuri (nivele) de elevație ale antenei radarului. De asemenea, pentru fiecare interval de timp, se colectează un set de șapte produse de date, R01-R07 si V01-V07, fiecare corespunzând unei anumite înclinări a antenei. Datele din fișierele NEXRAD de nivel III sunt stocate într-un format tip grilă, fiecare punct al grilei corespunzând unei locații geografice și conținând valoarea unui anumit produs la intervalul de timp respectiv. În grila de date furnizată de radarul WSR-98D, axa OX reprezintă longitudinea, iar axa OY reprezintă latitudinea.

Pentru antrenarea, validarea și testarea modelului, au fost selectate un număr de 20 de zile de vară cu și fără evenimente meteorologice (ploi torențiale, vânt și grindină). Acestea corespund evenimentelor observate în iunie 2010 (zilele 2, 10, 12, 13, 14, 19, 20, 22, 23 și 24), iunie 2017 (zilele 3-7) și iunie 2018 (zilele 11, 13, 15, 16 și 20). Zona de studiu este regiunea României centrale (Transilvania centrală), iar radarul este amplasat în apropierea satului Bobohalma. A fost selectată luna iunie, deoarece, în România, este luna cu cele mai multe furtuni convective și sisteme convective dezvoltate în bazinul Carpaților. Setul de date include atât zile cu evenimente meteorologice severe, cât și zile fără astfel de evenimente, astfel încât a fost obținut un set de date divers. În Figura 1 este prezentat un exemplu de date colectate de radar pentru o perioadă cu evenimente meteorologice semnificative.

Fig.1. Date colectate de radar pentru produsul reflectivitate la cel mai jos nivel (R01)

În Figura 2 se evidențiază zona acoperită de radar atât în ceea ce privește datele brute, cât și locația geografică (proiectată pe hartă).

Fig.2. Punctele de date care lipsesc pentru toate achizițiile și pentru toate nivelurile de înălțime pe parcursul unei zile întregi. În partea stângă, este prezentată o vizualizare a matricei de date, fiecare pixel roșu indică faptul că valoarea a fost prezentă pentru toate nivelurile de înălțime pe parcursul întregii zile. În partea dreaptă, există o vizualizare a datelor lipsă proiectate pe hartă, culoarea roșie indică faptul că valorile lipsesc pentru toate achizițiile și pentru toate nivelurile de înălțime pe parcursul unei zile întregi.

Înainte de a putea fi folosite datele pentru antrenarea modelului, se aplică o etapă de preprocesare pentru a corecta posibile erori existente în datele radar. Pentru setul de date de la ANM, s-au utilizat două metode diferite de preprocesare, în funcție de produs. Pentru R (reflectivitate), singura preprocesare efectuată a fost înlocuirea valorilor NaN cu 0. NaN este o valoare specială care semnifică "nu e număr", din engleză Not a Number - în cazul datelor radar valorile NaN reprezintă "Fără date". Pentru produsul V (velocitate), a fost necesară o etapă de preprocesare mai complexă. Problema cu produsul V constă în faptul că este un produs foarte zgomotos, deoarece, reprezentând velocitatea în raport cu radarul, există cazuri în care radarul nu poate estima corect direcția sau viteza, introducând astfel unele valori invalide. Aceste valori invalide apar destul de des, astfel încât pot interfera cu procesul de învățare [2]. Această problemă este abordată prin introducerea unei etape de curățare, care înlocuiește valorile invalide cu valori valide. Noua valoare este calculată ca medie ponderată a valorilor dintr-o vecinătate înconjurătoare valorii invalide. Ponderea pentru o valoare din vecinătate este invers proporțională cu distanța de la acea valoare la valoarea invalidă care trebuie înlocuită [7].

Histograma din Figura 3 relevă un dezechilibru în ceea ce privește valorile mari în comparație cu cele mici și evidențiază, de asemenea, faptul că în procesul de curățare, punctele de date au fost grupate în intervale ([0-5), [5-10), [10-15),...). Numărul valorilor mari (>50, ceea ce indică, în mod obișnuit, fenomene meteorologice severe) este semnificativ mai mic în comparație cu valorile mici (axa OY utilizează o scară logaritmică), acest dezechilibru în date făcând mai dificilă problema predicției.

Fig. 3. Histograma valorilor disponibile în setul de date pentru Reflectivitate, pentru întreaga regiune și toate nivelurile de înălțime în decursul unei zile. S-a utilizat o scară logaritmică pe axa OY [7].

Rețele Neuronale

Metodele de învățare a rețelelor neuronale oferă o abordare robustă pentru aproximarea funcțiilor țintă cu valori reale, valori discrete sau valori vectoriale [3]. Ca motivație biologică, rețelele neuronale au fost modelate pentru a fi similare cu sistemele de învățare pe care le putem găsi la oameni și animale, în special rețele complexe de neuroni. Această morfologie a fost adoptată în informatică prin construirea unor sisteme interconectate, care sunt formate din unități de bază, acestea primind ca intrare o serie de numere cu valori reale și producând o singură ieșire cu o valoare reală. Aceste unități de bază sunt numite neuroni artificiali. Rețelele neuronale sunt potrivite pentru probleme care implică date zgomotoase și complexe, cum ar fi datele provenite de la camere, microfoane sau senzori. Fiecare neuron al rețelei are un set de parametri, pe baza cărora procesează datele de intrare, numiți ponderi. Ponderile sunt ajustate în timpul fazei de antrenament, în funcție de eroarea rețelei. Eroarea reprezintă diferența dintre ieșirea corectă și ieșirea rețelei. Algoritmul de învățare folosit pentru ajustarea ponderilor în funcție de eroare este algoritmul de propagare înapoi (în engleză: backpropagation).

Spre deosebire de rețelele neuronale clasice, rețelele neuronale profunde (Deep Neural Networks) [4] conțin mai multe straturi de neuroni (denumite straturi ascunse - hidden layers) și au un număr mare de parametri, ceea ce le permite să exprime funcții țintă complexe. În prezent, rețelele neuronale profunde reprezintă modele de succes în literatura de specialitate, fiind aplicate pentru probleme complexe de clasificare și regresie din diverse domenii. Modelele de învățare automată, inclusiv cele adânci au fost utilizate cu succes pentru dezvoltarea modelelor de prognoză, precum cele pentru falimentul băncilor, piețele de predicție sau jocurile de noroc.

Modelul XNow

Modelul de rețele neuronale creat de noi, Xnow [5], este un model de rețea din categoria rețelelor neuronale convoluționale (Convolutional Neural Networks). Acest tip de rețele este special concepute pentru a lucra cu imagini. Folosind un strat special, denumit strat convoluțional, acestea caută diverse caracteristici în imagini mult mai eficient decât straturile de neuroni ai unei rețele neuronale tradiționale.

Modelul XNow este bazat pe un model convoluțional deja existent: Xception [6]. Acest model a fost creat pentru recunoașterea de obiecte din imagini. Dar, printre altele, inovațiile acestui model au fost folosirea straturilor convoluționale separabile, care sunt mai eficiente decât straturile convoluționale tradiționale, și combinarea acestor straturi cu conexiuni reziduale (sau scurtături) care conectează straturi de neuroni aflate la distanță mai mare între ele în interiorul rețelei neuronale.

Pentru a adapta modelul Xception pentru problema clasificării de date radar, am modificat rețeaua astfel încât să modificăm rezultatul de ieșire (output) al rețelei: să nu rezulte o clasificare, ci o imagine întreagă. Pentru asta, am adăugat straturi de tip upsampling2D la finalul rețelei, care iau o intrare și generează o ieșire cu mărime mai mare, interclasate cu straturi convoluționale, pentru a ajunge la dimensiunile originale ale imaginii și pentru ca rețeaua să învețe cum să genereze corect aceste imagini.

Având în vedere că modelul XNow este creat pentru a lucra cu imagini, este nevoie de a adapta felul în care "privim" datele radar (modelul de date) pentru a obține imagini. Astfel, pentru un moment de timp, radarul colectează date pentru diverse produse pe mai multe niveluri. Aceste date sunt sub forma unei matrice, una pentru fiecare produs la fiecare nivel - o matrice pentru R01, alta pentru R02 etc. Suprapunând aceste matrice, putem vedea rezultatul ca o imagine cu mai multe canale - în loc de canalele tradiționale roșu, verde și albastru avem canale pentru R01, R02, R03 etc. În acest fel, avem o imagine pentru fiecare moment de timp.

XNow este așadar un model care ia ca intrare o imagine și rezultă o imagine ca ieșire, în timp ce datele radar le putem vedea ca o imagine pentru fiecare moment de timp. Astfel, modelul XNow a fost antrenat să prezică de la un pas de timp, pasul de timp următor, adică date fiind datele radar de la un moment de timp, modelul XNow prezice datele radar de la următorul pas de timp. În Figura 4 se observă un exemplu de predicție al modelului pentru Reflectivitate la cel mai jos nivel (R01).

Fig. 4. Predicție a modelului XNow pentru Reflectivitate la cel mai jos nivel (R01). Imaginea de sus reprezintă valorile reale colectate de radar, iar imaginea de jos reprezintă predicția modelului XNow.

Fig. 5. Predicție a modelului XNow modificat pentru Reflectivitate la cel mai jos nivel (R01). Imaginea de sus reprezintă valorile reale colectate de radar, iar imaginea de jos reprezintă predicția modelului XNow.

Din imagine se poate vedea că modelul prezice corect zona, dar are probleme în a prezice valorile mari. Aceasta are drept cauză posibilă debalansarea setului de date, așa cum se vede în Figura 3. Pentru a îmbunătăți performanța modelului, am modificat modelul XNow pentru a putea avea patru imagini ca intrare - adică va avea patru pași de timp ca date de intrare. Astfel modelul are informații despre modificarea în timp a datelor radar. În Figura 5 se observă un exemplu de predicție al modelului XNow modificat. Comparând Figurile 4 și 5, se poate observa că predicția modelului s-a îmbunătățit, în special pentru valorile mari ale Reflectivității.

În concluzie, modelul XNow este un model de rețele neuronale convoluționale, bazat pe modelul Xception. Din cauza debalansării mari a datelor (valorile mici sunt mult mai reprezentate în date decât cele mari), modelul are probleme în prezicerea valorilor mari. Cu toate acestea, modificând modelul astfel încât să folosească patru pași de timp ca date de intrare în loc de unul, se poate ajunge la o îmbunătățire semnificativă a rezultatelor.

Proiectul WeaMyL este finanțat prin mecanismul Granturilor norvegiene, cu numărul RO-NO-2019-0133, contract 26/2020 (eng. The research leading to these results has received funding from the NO Grants 2014-2021, under Project contract no. 26/2020)

Bibliografie

[1] NOAA's Radar Operations Center (2018). NEXRAD Technical Information.

[2] Czibula, G.; Mihai, A.; Mihuleț, E. NowDeepN: An Ensemble of Deep Learning Models for Weather Nowcasting Based on Radar Products' Values Prediction. Applied Sciences 2021, 11.

[3] Mitchell, T. M. (1997). Machine Learning. (1st ed.). New York, NY, USA: McGraw-Hill, Inc. Narejo, S., & Pasero, E. (2017). Meteonowcasting using Deep Learning Architecture. International Journal of Advanced Computer Science and Applications, 8, 16-23.

[4] Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.

[5] Socaci, I.A.; Czibula, G.; Ionescu, V.S.; Mihai, A. XNow: A deep learning technique for nowcasting based on radar products' values prediction. In Proceedings of the IEEE 14th International Symposium on Applied Computational Intelligence and Informatics (SACI 2020). IEEE Hungary Section, 2020, pp. 117-122.

[6] F. Chollet. Xception: Deep Learning with Depthwise Separable Convolutions. In 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 1800-1807, 2017.

[7] Albu, A.-I.; Czibula, G.; Mihai, A.; Czibula, I.G.; Burcea, S.; Mezghani, A. NeXtNow: A Convolutional Deep Learning Model for the Prediction of Weather Radar Data for Nowcasting Purposes. Remote Sens. 2022, 14, 3890. https://doi.org/10.3390/rs14163890

NUMĂRUL 149 - Development with AI

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects