Damiano Robingren 507 Opublikowano 10 Lutego Opublikowano 10 Lutego Szanowni Państwo (myślę, że ping @Obywatel Federacjii @Obywatel Federacji - bez prawa wyborczegoto dobry pomysł), Jest mi ogromnie miło stanąć dziś tutaj, na Placu im. Patricii Waffla, i ogłosić coś, co z pełnym przekonaniem mogę nazwać największym pojedynczym projektem technologicznym, jaki kiedykolwiek powstał zarówno z inicjatywy Robingrenów, jak i całej Ligii Innowacji Strategicznych. W ciągu ostatnich dni, a właściwie także nocy zbudowaliśmy coś, co jeszcze kilka tygodni temu brzmiałoby jak czyste science fiction. Projekt ten nosi nazwę mikroGRUcast. Jest to w pełni autorska, napisana praktycznie od zera sieć neuronowa typu GRU, której zadaniem jest prognozowanie pogody... w całym polskim mikroświecie! Co istotne, nie mamy tu do czynienia z prostą zabawką opartą na losowym generowaniu temperatur, bo sam mikroGRUcast to pełnoprawny model, który w swoich obliczeniach uwzględnia przede wszystkim narrację i wcześniejszą charakterystykę regionu. Na obecnym etapie system potrafi przewidywać średnią oraz maksymalną temperaturę dla dowolnie wskazanego miasta. Dodatkowo rozumie on pory roku dzięki zastosowaniu sinusa i cosinusa dnia w roku, a także generuje podstawową interpretację warunków pogodowych, takich jak opady śniegu, deszczu czy zachmurzenie. Wszystkie dane wejściowe pochodzą z interaktywnej mapy Pollinu. Po krótkich rozmowach z przedstawicielami Muratyki udało się ustalić realne lokalizacje, na podstawie których do tej pory pozyskiwano dane pogodowe. Następnie, korzystając z historycznych danych rzeczywistych lokalizacji z ostatnich 15 lat, przygotowałem zestawy danych w formacie CSV, które posłużyły do wytrenowania modelu i wygenerowania prognoz. Na obecnym etapie, głównie z myślą o bezpieczeństwie oraz rozsądnym tempie testów ograniczamy działanie systemu wyłącznie do terenów Muratyki. Trzy miasta testowe dostępne obecnie w mikroGRUcast, czyli Zwierzogród, Amparcz oraz Manowce, są już w pełni zaimplementowane, a model zna ich dokładne położenie na mapie Pollinu. Teraz garść technikaliów, bo jest, to bardzo ważne. Sercem całego projektu jest sieć typu GRU (Gated Recurrent Unit). To architektura, która świetnie radzi sobie z długimi zależnościami czasowymi, a jednocześnie nie zapycha pamięci tak agresywnie, jak klasyczne RNN-y. Innymi słowy, model po prostu pamięta to, co powinien pamiętać i stara się zapominać to, co nie jest potrzebne. W obecnej wersji mikroGRUcast wykorzystujemy dwie warstwy GRU po 128 neuronów każda, z zastosowanym dropoutem na poziomie 20%, aby ograniczyć przeuczenie. Warstwa wyjściowa generuje od razu pełną prognozę siedmiodniową, czyli 7 dni pomnożone przez dwie wartości temperaturowe: temperaturę średnią oraz maksymalną. Sam model trenujemy z użyciem optymalizatora Adam, na batchach po 64 próbki, przez około 50-60 epok i co najważniejsze to faktycznie działa, bo same prognozy zaczynają wyglądać spójnie, logicznie i, co kluczowe, wiarygodnie. Dodatkowo, żeby wynik był jeszcze bliższy rzeczywistości, wprowadziłem niewielki szum gaussowski na etapie wyświetlania prognoz. We wcześniejszych testach zauważyłem bowiem, że model miał tendencję do nienaturalnie gładkich przebiegów, z idealnymi skokami co 0,1C. Po dodaniu szumu wartości zaczęły delikatnie drgać dokładnie tak, jak w prawdziwych prognozach pogody. Już dziś działa strona meteo.robingren.pl, na którą każdy może wejść, wybrać jedno z trzech miast Muratyki i zobaczyć siedmiodniową prognozę pogody wygenerowaną bezpośrednio przez nasz model. Oczywiście to dopiero początek, bo jestem przekonany, że ten system będzie w przyszłości rozbudowywany zarówno pod względem obszaru działania, jak i samej jakości prognoz. Chciałbym serdecznie podziękować wszystkim Robingrenom, a tak naprawdę każdej osobie, która w jakikolwiek sposób przyczyniła się do powstania tego projektu. To wspólna praca i wspólny efekt. Jeżeli ktoś chciałby wesprzeć dalszy rozwój mikroGRUcast, istnieje możliwość postawienia mi symbolicznej kawy poprzez MBP. A jeśli pojawią się pytania, to z przyjemnością spróbuję na nie odpowiedzieć. Najlepszym wsparciem będzie jednak to, by jak najwięcej osób dowiedziało się o istnieniu tego projektu. Będę za to bardzo wdzięczny. Dziękuję! 2
Użytkownik Usunięty 233511 0 Opublikowano 10 Lutego Opublikowano 10 Lutego Ależ to jest zajebiste. Jakie są kolejne kroki rozwoju tego systemu? Co planujesz jeszcze wdrożyć? Bo widzę, że ma to OGROMNY potencjał.
Damiano Robingren 507 Opublikowano 10 Lutego Autor Opublikowano 10 Lutego 8 minut temu, Waksman napisał: Ależ to jest zajebiste. Jakie są kolejne kroki rozwoju tego systemu? Co planujesz jeszcze wdrożyć? Bo widzę, że ma to OGROMNY potencjał. no cóż na ten moment trudno powiedzieć na pewno trzeba go solidnie nakarmić danymi, celuję obecnie w 50k rekordów no i rozszerzyć go na cały mikroświat co na pewno będę czynić jeszcze w tym tygodniu 1
Damiano Robingren 507 Opublikowano 10 Lutego Autor Opublikowano 10 Lutego godzina 16:51 i odnoszę wrażenie, że przy obecnym tempie rozwoju systemu i późniejszym jego trenowaniu i użytkowaniu (albo po prostu za jakieś ~1,5k epok) będzie trzeba wymienić dane bo strata będzie się zbliżać do zera, a niestety modele oparte na transformerach tego problemu nie mają no ale też tutaj nie mogę ich użyć bo nie mam gpu z CUDA na pokładzie XDD
Damiano Robingren 507 Opublikowano 10 Lutego Autor Opublikowano 10 Lutego 2 minuty temu, Burek napisał: a skąd wiadomo jaka pogoda gdzie ma być? No zazwyczaj takie informacje dostaję bezpośrednio od zarządcy danego regionu lub kraju. Dostaję sygnał, że np. Zwierzogród korzysta z danych pogodowych z Warszawy, Amparcz z Gdańska itd itd Na tej podstawie pobieram rzeczywiste, historyczne dane z tych miast, zazwyczaj z okresu około 15 lat. Następnie model uczy się wyłącznie na tych danych zadając sobie pytanie w stylu: "jak przez ostatnie 30 dni wyglądały temperatury w Zwierzogrodzie?" (oczywiście nie wiedząc że w praktyce są to dane z Warszawy) No i ogólnie na bazie tych obserwacji model prognozuje pogodę na najbliższe 7 dni w Zwierzogrodzie i robi to równolegle dla wszystkich trzech miast obsługiwanych przez system. W pewnym sensie można więc powiedzieć, że model uczy się uogólnionych, sezonowych zachowań pogody na obszarze Polski, choć liczę na to, że wraz z dodawaniem kolejnych państw do systemu ten efekt będzie stopniowo zanikał. 1
Kamiljan de Harlin 1 446 Opublikowano 10 Lutego Opublikowano 10 Lutego Czyli nie chodzi o realizm, tylko o spójność narracyjną - to ważna uwaga. Mogę powiedzieć że w podbiegunowym Gaudium jest klimat jak w Walencji i będzie śmigać? Arcydemon wojny, Khorne, wybuchł tak wielkim gniewem na moje proroctwa, że sama jego aura wściekłości wgniotła mnie z impetem w ziemię. Siła uderzenia była tak potężna, że przebiłem się na samo dno lądolodu, na którym stoi stolica Imperium Chaosu. Odnalazłem się wówczas w lochach Khorna, gdzie orędownicy pokoju, spokoju i przyjaźni byli doprowadzani do obłędu niewyobrażalnymi torturami. Widziałem cele więzienne zbudowane z czystej energii nienawiści, w których wszystkie kąty miały więcej niż 180 stopni, a i tak tworzyły jakimś cudem zamkniętą przestrzeń. Samo patrzenie na te oszalałe struktury wywoływało we mnie niewyobrażalne cierpienie, nie wspominając o rzeczach, którym poddawani byli osadzeni - na samo ich wspomnienie skręcam się z bólu.
Damiano Robingren 507 Opublikowano 10 Lutego Autor Opublikowano 10 Lutego 44 minuty temu, Kamiljan de Harlin napisał: Czyli nie chodzi o realizm, tylko o spójność narracyjną - to ważna uwaga. yyyyy to jest raczej najbardziej realistyczne podejście do spójności narracyjnej klimatu Pollinu 44 minuty temu, Kamiljan de Harlin napisał: Mogę powiedzieć że w podbiegunowym Gaudium jest klimat jak w Walencji i będzie śmigać? Tak, jeśli dostarczysz mi koordynaty i nazwę danego miasta to tak, da się ogarnąć
Heinz-Werner Grüner 261 Opublikowano 10 Lutego Opublikowano 10 Lutego Jak w privie. Serdecznie szanuje takie inicjatywy. Żeby to miało sens, taki realny, a raczej mikronacyjny to zachęcam do promowania, w miarę rozwoju, na inne państwa. Wtedy będzie cudowniej. Trawa się zazieleni. 😉 1
Damiano Robingren 507 Opublikowano 13 Lutego Autor Opublikowano 13 Lutego mały update bo dzisiaj dodam Rusowię i Leocję (już mam ich koordynaty i zacząłem trenować na nowych danych)!! W tym tygodniu powinienem mieć tak około 5, albo 6 krajów na pokładzie, a jak dojdę do satysfakcjonującej ilości rekordów to ruszam z publicznym API. W każdym razie może i robię to powoli, ale na pewno bez żadnych szumnych zapowiedzi. Jak komuś zależy na realnej pogodzie w swoim państwie, to piszcie priv to podrzucę format, jak najłatwiej mi to podpiąć. Co najważniejsze nasz model nie halucynuje i nie ma tutaj żadnych ściem!😄 Trzymajcie się ciepło (albo zimno), bo faktycznei model nie kłamie co do temperatury...
Damiano Robingren 507 Opublikowano 13 Lutego Autor Opublikowano 13 Lutego no właśnie Rusowia... można już podziwiać pierwszą (chyba 20 którąś z kolei) epokę pierwszy raz po dodaniu Rusowii! https://pastebin.pl/view/286b794c
Damiano Robingren 507 Opublikowano 15 Lutego Autor Opublikowano 15 Lutego tak już myślę że na spokojnie pojutrze powinien być dostępny plik json
Damiano Robingren 507 Opublikowano 20 Lutego Autor Opublikowano 20 Lutego strona (do której wreszcie dołączę API) za niedługo przejdzie rebranding... szykujcie się na coś ciekawego
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się