Wszystkie wpisy, których autorem jest Arkadiusz Kwasigroch

99. spotkanie [ONLINE] – Ile mleka produkuje krowa? R w środowisku produkcyjnym.

Spotkanie MLGdańsk #99 odbyło się 25 stycznia 2021 r.

Mateusz Bogdański, Senior Data Scientist z firmy Arla przedstawił prezentację pt.: „Ile mleka produkuje krowa? R w środowisku produkcyjnym

Mateusz przedstawił problem prognozowania produkcji mleka oraz jakie czynniki wpływają na wysokość produkcji (np. cena paszy). Następnie opisał model autoregresywny, służący do predykcji oraz usprawnienia jakie poczynił zespół w celu polepszenia dokładności prognozy.

Model został stworzony w języku R, natomiast obsługa modelu w środowisku produkcyjnym zapewniona została przy wykorzystaniu języka C#.

Na koniec prezentacji Mateusz opisał czego nauczył się zespół w trakcie realizacji projektu.

Link do nagrania:
?https://www.youtube.com/watch?v=m1-GrNgEaZ4

Link do slajdów:
?MLGdańsk #99 Mateusz Bogdański – Ile mleka produkuje krowa

97. spotkanie [ONLINE] – Wykrywanie obiektów na obrazie

Spotkanie MLGdańsk #97 odbyło się 14 grudnia 2020 r.

Karol Majek, właściciel firmy Cufix, prowadzący bloga deepdrive.pl oraz mentor w programie Udacity Self-Driving Car Nanodegree przedstawił prezentację pod tytułem „Wykrywanie obiektów na obrazach

Prezentacja jest ciekawym materiałem zarówno dla początkujących jak i zaawansowanych praktyków uczenia maszynowego.

Na wstępie Karol wyjaśnił zagadnienia oraz pojęcia związane z zadaniami detekcji oraz segmentacji obrazów. Następnie opisał najnowocześniejsze architektury sieci neuronowych, niektóre liczące zaledwie kilka miesięcy. Zainteresowani użyciem tych rozwiązań znajdą w nagraniu przegląd frameworków oraz narzędzi, które mogą być pomocne w tworzeniu systemów analizy obrazu.

Po prezentacji wywiązała się interesująca dyskusja na temat algorytmów, pojazdów autonomicznych oraz implementacji sieci neuronowych na urządzeniach mobilnych.

Link do nagrania:

?https://www.youtube.com/watch?v=xPimQUoW6aY

96. spotkanie [ONLINE] – MLOps: Data Science End to End

Spotkanie MLGdańsk #96 odbyło się 30.11.2020 r. #mlgdansk

Amadeusz Lisiecki, na co dzień pracujący w firmie Roche jako “MLOps Engineer” oraz działający w Hackerspace Pomorze przybliżył nam co kryje się pod zagadkowym akronimem MLOps. #mlops #machinelearning

Tytuł prelekcji Amadeusza to: „MLOps: Data Science End-to-End”.

MLOps to zbiór dobrych praktyk i narzędzi stosowanych w tworzeniu systemów informatycznych wykorzystujących uczenie maszynowe. Metodyka powstała na wzór popularnej obecnie oraz sprawdzonej metodyki DevOps.

Tworzenie jak i utrzymywanie rozwiązań software’owych używających metod uczenia maszynowego różni się od tworzenia standardowych produktów informatycznych. 

Opracowanie takich systemów wiąże się z wyzwaniami w sposobie ich wdrażania, monitorowania i utrzymywania. Typowymi problemami w cyklu ich życia są: reprodukowalność eksperymentów, trenowanie modeli, wydajne serwowanie modeli na produkcji. Wskazane jest oczywiście wdrożenie CI/CD oraz specyficznego dla MLOps procesu CT – continuous training.

Amadeusz poruszył te zagadnienia w swojej prelekcji. Przedstawił zarys metodyk MLOps oraz opisał pomocne narzędzia.

Pierwszym z przedstawionych narzędzi było Kedro, które umożliwia tworzenie wygodnych pipelinów dla zadań ML. Framework Kedro powstał w Pythonie, dobrze współpracuje z notatnikami Jupyter oraz zawiera przydatne abstrakcje wspomagające tworzenie różnych wariantów eksperymentów i modeli. 

Na koniec Amadeusza przedstawił Kubeflow, czyli zestaw narzędzi dedykowanych uczeniu maszynowemu dla Kubernetesa. Kubeflow znacznie upraszcza pracę ze złożonymi pipelinami w systemach ML, oraz umożliwia łatwe skalowanie systemów.

Prezentacja ze spotkania dostępna po tym linkiem.

Nagranie ze spotkania:
??https://www.youtube.com/watch?v=I7v9pl702Wo&feature=youtu.be

Dodatkowe materiały:

94. spotkanie – Application of deep learning in medical genetics and cancer diagnostics

Spotkanie MLGdańsk #94 odbyło się online 19 października 2020 r.

Prelegentem był Tomasz Stokowy (https://www.uib.no/en/persons/Tomasz.Stokowy), pracujący na Uniwersytecie w Bergen.

Temat przedstawionej prelekcji to „Application of deep learning in medical genetics and cancer diagnostics”.

Tomasz rozpoczął prelekcję od wprowadzenia w zagadnienia związane z biologią i genetyką – znaczenie DNA, sposoby odczytywania DNA, postęp w technologii sekwencjonowania genomu ludzkiego. Dla zobrazowania tego postępu, warto przytoczyć fakt, że około 2000 roku koszt zsekwencjonowania ludzkiego genomu wynosił kilkaset milionów dolarów, obecnie wynosi niecałe tysiąc dolarów.

Innym ciekawym faktem, który mówi dużo o złożoności problemy analizy DNA jest to, że jeśli zbadamy DNA dwóch różnych osób, to różnice w sekwencji będą stanowiły zaledwie 0.1% całości genomu. A jeśli porównamy DNA człowieka i szympansa, to różnice zauważymy w zaledwie 1%. DNA człowieka jest sekwencją składającym się z 3 miliardów pozycji, które mogą przyjąć jedną z 4 wartości. Jest to rozmiar tak duży, że praca z takim materiałem jest bardzo trudna bez technik analizy danych.

W swojej prezentacji prelegent zaprezentował typy zmian, które mogą zachodzić w DNA oraz choroby jakie mogą powodować. Zmiana zaledwie jednej pozycji DNA może być przyczyną choroby. Wiele takich zmian w nieodpowiednich miejscach może prowadzić do nowotworów. Czynnikami, które mogą powodować takie zmiany (a co za tym idzie powodować większe ryzyko wystąpienia nowotworu) są m.in.: wiek, palenie papierosów, ekspozycja na promieniowanie UV czy czynniki dziedziczne.

W trakcie prezentacji, przedstawione zostały zadania, w których uczenie maszynowe może ułatwić pracę osób, zajmujących się genetyką. Takie zadania to np. wykrywanie pojedynczej zmiany w kodzie genetycznym oraz wykrywanie charakterystycznych  wzorców wielu zmian.

Przedstawiona została metoda Deep Variant, oparta o głębokie sieci neuronowe umożliwiająca identyfikację pojedynczej zmiany w genomie. W tej metodzie zadanie analizy genomu przekształcone jest do zadania analizy obrazu. Dzięki temu z powodzeniem można zastosować konwolucyjne sieci neuronowe. Dodatkowo oprócz samego genomu, metoda umożliwia dostarczenie dodatkowych cech, np. danych mówiących o jakości odczytu. Metoda Deep Variant zapewnia dokładniejsze wyniki niż inne stosowane rozwiązania.

Na koniec prezentacji Tomasz przedstawił swoje prace dotyczące wykrywania rzadkich chorób genetycznych. Prezentacja wywołała żywą dyskusję, w której poruszono tematy rynku biotechnologicznego w Polsce i na świecie, możliwości finansowania projektów, dostęp do danych, oraz możliwości stosowania technik uczenia maszynowego w biologii.

Jak widać, spotkanie oprócz poznania technicznych aspektów związanych z pracą prelegenta, było również interesującą lekcją „biologii stosowanej”.

Prezentacja ze spotkania dostępna po tym linkiem.

Dodatkowe materiały:
https://ai.googleblog.com/2017/12/deepvariant-highly-accurate-genomes.html
https://github.com/google/deepvariant
https://www.genome.gov/about-genomics/fact-sheets/Sequencing-Human-Genome-cost


Liczenie na obrazkach w fizyce kwantowej

Zainteresowania uczestników naszych spotkań nie ograniczają się tylko do uczenia maszynowego czy data science.

Łukasz Czekaj, niedawno opublikował artykuł w dziedzinie fizyki kwantowej.

Bardzo ciekawą cechą tej publikacji jest nietypowy sposób prezentowania równań matematycznych, które składają się ze złożonych schematów.

Na grafice poniżej, znajduję się opis jednego z problemów optymalizacji, znajdujących się w artykule.

Link do publikacji Łukasza: https://arxiv.org/abs/2009.04994

Dla zainteresowanych „liczeniem na obrazkach” kilka dodatkowych linków od Łukasza:
https://arxiv.org/pdf/1809.05923.pdf
https://medium.com/swlh/the-basics-of-the-feynman-diagram-8eeedc4714af
https://arxiv.org/pdf/1602.04182.pdf
http://www.weizmann.ac.il/particle/perez/Courses/QMII19/feynman_diagrams.pdf

92. spotkanie MLGdańsk [ONLINE] – Robustness in Computer Vision

Nasze 92. spotkanie odbyło się online 21 września 2020 r.

Prelegentem był Sebastian Cygert realizujący doktorat na Politechnice Gdańskiej – Sebastian specjalizuje się w wykorzystywaniu głębokich sieci neuronowych w zadaniach analizy obrazu.

Zobaczyliśmy prezentację pt.: “Robustness in Computer Vision”, w której poruszone zostały tematy zdolności generalizacji przez sieci neuronowe, analizy ich działania oraz oceny poziomu generalizacji.

Podczas pierwszej części spotkania dowiedzieliśmy się o zastosowaniach aplikacyjnych, w których wysoka generalizacja jest istotna.

Przykładem takiego obszaru są systemy wizyjne w pojazdach autonomicznych, które powinny zachować wysoką dokładność w różnych warunkach pogodowych, o różnych porach dnia i roku, a nawet w różnych strefach klimatycznych.

W kolejnej części prelekcji zaprezentowane zostały liczne przykłady analizy decyzji podejmowanych przez sieci neuronowe.

Okazuje się, że sieci neuronowe często opierają swoje decyzje na cechach obrazu, które nie są widoczne dla człowieka. W licznych badaniach wykazano, że niewielka zmiana wartości pikseli (niewidoczna dla człowieka) może spowodować zmianę klasy zwracanej przez sieć.

W innym badaniu opisano, że sieć podczas podejmowania decyzji, zwraca uwagę nie tylko na sam obiekt ale i na otoczenie czy tło. Zmiana tła może prowadzić do zmiany decyzji sieci neuronowej. Kolejnym z zaprezentowanych przykładów, był system wykrywania zapalenia płuc ze zdjęć rentgenowskich. Analiza miejsc obrazu, które wpływają na decyzję sieci neuronowej, wykazała jednak, że sieć neuronowa opiera decyzje na znaczniku znajdującym się w rogu zdjęcia RTG.

W ostatniej część przedstawiono sposoby oceny generalizacji sieci neuronowych – na przykład wydzielając zbiór testowy z innego zbioru danych.

Sebastian omówił również sposoby polepszenia generalizacji sieci neuronowych np. poprzez odpowiednie techniki rozszerzania danych.

Prezentacja ze spotkania dostępna jest pod tym linkiem.

Serdecznie zapraszamy na nasze kolejne spotkania!

Zapowiedź – 92. spotkanie [ONLINE] – Robustness in Computer Vision

Serdecznie zapraszamy do uczestnictwa ONLINE w 92. spotkaniu grupy MLGdańsk.

Spotkanie odbędzie się w poniedziałek, 21.09.2020, godz. 18:00

pokój Skype: https://join.skype.com/ahGeHjxaNACK
(uwaga: na każde spotkanie mamy nowy link!)

Prelegentem będzie Sebastian Cygert

Temat prelekcji to: Robustness in Computer Vision

Kilka słów od Prelegenta:
Podczas prezentacji opowiem o zdolnościach generalizacyjnych algorytmów uczenia maszynowego, z naciskiem na tzw. safetyAI.

W szczególności pokażę liczne przykłady, gdzie algorytmy obecnie zawodzą, spróbujemy odpowiedzieć sobie na pytanie dlaczego tak się dzieje i co można z tym zrobić.

W czasie prezentacji będę posługiwać się przykładami z wizji komputerowej (choć nie tylko), ale sama prezentacja w dużej mierze będzie generalizować do innych dziedzin AI 🙂

Serdecznie zapraszamy!

89. spotkanie MLGdańsk – A Maritime Anomaly Detector using Neural Nets

Nasze 89. spotkaniu odbyło się online 29 czerwca 2020 r.

Prelegentem był Tadeusz Balcer z firmy DNV GL – firma ta działa jako towarzystwo klasyfikacyjne w branży morskiej oraz akredytowana jednostka certyfikująca w innych branżach.

Przedstawiona została prezentacja pt.: “GeoTrackNet – A Maritime Anomaly Detector using Probabilistic Neural Network Representation of AIS Tracks and A Contrario Detection”. Tytuł prelekcji to również tytuł publikacji, którą omawiał Tadeusz. Rozwiązanie przedstawione w artykule wykorzystuje głębokie sieci neuronowe do wykrywania anomalii w ruchu statków na morzu.

Prezentacja zaczęła się od omówienia systemu AIS (Automatic Identification System), który wykorzystywany jest przez statki do nadawania informacji takich jak położenie, prędkość, nazwa statku czy port docelowy. Tadeusz szeroko omówił zastosowanie systemu oraz wymogi w stosowaniu systemu na statkach. Omówił kwestie techniczne oraz nowe rozwiązania takie jak satelitarny AIS.

Główna część prelekcji została poświęcona omówieniu systemu, opartego o sieci neuronowe. Omówione zostały dane wykorzystane w uczeniu sieci. Zaprezentowane został sposób reprezentacji wejścia, który zawierał informacje o położeniu, prędkości oraz kursie statków. Następnie omówiona została architektura oparta o rekurencyjne sieci neuronowe LSTM z zastosowaniem podejścia wariacyjnego (Variational Recurrent Neural Network).

W ostatniej części prezentacji omówione zostały wyniki, w szczególności interpretacja anomalii w ruchu statków znalezionych przez system. Tadeusz zaprezentował porównanie systemu z tymi opartymi o klasyczne algorytmy. Pokazał również ciekawe przypadki w działaniu systemu – np. wykrycie kutra rybackiego pływającego w nieregularny sposób w celu poszukiwania ryb.

Na koniec spotkania wywiązała się ciekawa dyskusja na temat omawianego problemu oraz ogólnie branży morskiej, podczas której nasz prelegent przedstawił wiele ciekawostek związanych z jego pracą zawodową.

Prezentacja ze spotkania jest dostępna tutaj: https://github.com/mlgdansk/meetings/tree/master/MLGdansk89

Materiały uzupełniające:

Serdecznie zapraszamy na nasze kolejne spotkania!

86. spotkanie MLGdańsk – Deep learning behind chatbots and automatic answering systems

Na 86 spotkaniu MLGdańsk mieliśmy okazję wysłuchać prelekcji Aleksandra Obuchowskiego (SentiOne) pod tytułem „Deep Learning behind chatbots and automatic answering systems„.

W swojej prezentacji Aleksander przedstawił podstawy działania chatbotów. Głównym wątkiem prezentacji był jednak przegląd modeli i techniki stosowanych w różnych zadaniach NLP.

Prezentacja rozpoczęła się od przeglądu klasycznych już metod tworzenia reprezentacji tekstów – CBOW, SkipGram, Fasttext.

Następnie omówione zostały architektury sieci neuronowych stosowanych w zadaniach NLP – m.in. LSTM, BiLSTM, BiLSTM + CRF (ang. Conditional Random Field). Bardzo interesującą częścią prezentacji było przedstawienie współczesnych architektur bazujących na transformerach oraz mechanizmach atencji.

Aleksander omówił również model oparty na połączeniu transformerów i kapsuł, którego jest współautorem. Model oraz obiecujące wyniki eksperymentów zostały zaprezentowane na 34th AAAI Conference on AI w lutym 2020.

Na sam koniec, prelegent opowiedział nam o metodach pre-trenowania sieci neuronowych w NLP oraz ich późniejszym użyciu. W tej części omówiono modele/biblioteki Flair, ELMO, BERT, USE.

Prezentacja ze spotkania dostępna jest pod linkiem:
MLGdańsk86 – Aleksander Obuchowski – Deep Learning behind chatbots and answering systems
oraz na naszym GitHubie.

Jako uzupełnienie prelekcji polecamy również:


Serdecznie zapraszamy na kolejne spotkania MLGdańsk!

85. spotkanie MLGdańsk – Omówienie procesu patentowego i algorytmu optymalizacji drzew decyzyjnych

Nasze 85. spotkanie odbyło się 20.04.20 online poprzez Skype. #zostańwdomu #walczymyzcovid19

Prelegentem był Adam Karwan, który przedstawił prezentację pt. „Omówienie procesu patentowego i algorytmu optymalizacji drzew decyzyjnych

W pierwszej części spotkania Adam przedstawił problem biznesowy z jakim musiał się zmierzyć w firmie Groupon. Szukał sposobu na usprawnienie pracy operatorów helpdesk i skrócenie czasu obsługi klienta.

Pracowników działu helpdesk wspomaga system, który podpowiada jakie pytania należy zadać klientowi. Strukturą danych dobrze nadającą się do uporządkowania kolejności pytań jest drzewo decyzyjne, gdzie wierzchołkami są pytania, a przejścia między wierzchołkami zależne są od odpowiedzi klienta.

Operator podczas rozmowy z klientem dokonuje eksploracji takiego drzewa. Struktura drzewa, a więc kolejność zadawania pytań ma bardzo duży wpływ na czas obsługi. Adam wraz z grupą zaproponował rozwiązanie optymalizujące drzewo decyzyjne, które umożliwia takie ułożenie pytań w drzewie, aby czas obsługi był jak najkrótszy. Rozwiązanie to zostało zgłoszone do opatentowania.

Treść wniosku patentowego dostępna jest tutaj: https://patents.justia.com/patent/20200081934

Drugą częścią spotkania było omówienie czym jest patent oraz procedury uzyskania patentu. Adam opowiedział dlaczego warto patentować oraz jakie korzyści niesie patent dla firmy jak i wynalazcy. Następnie na przykładzie omówionego wcześniej rozwiązania, dokonał omówienia procedur jakie należy przejść aby uzyskać patent – od pomysłu, przez konsultację z prawnikami, aż po uzyskanie patentu.

Na koniec odbyła się długa dyskusja, w której uczestnicy spotkania mający doświadczenie z procesem patentowym wymienili swoje doświadczenia. Adam omówił dodatkowo dwa inne patenty związane z branżą lotniczą, których był współautorem.

Prezentacja ze spotkania ukaże się wkrótce na naszym repozytorium Github.

Zapraszamy na kolejne spotkania!

83. spotkanie MLGdańsk – Metody PCA i SVM przy przetwarzaniu widm ramanowskich krwi

Nasze 83. spotkanie odbyło się online poprzez Skype. #zostańwdomu #walczymyzcovid19

Prelegentem był Adam Władziński, który przedstawił prezentację pt. „Metody PCA i SVM przy przetwarzaniu widm ramanowskich krwi”.

Na początku prezentacji dowiedzieliśmy się kilku informacji o krwi oraz dlaczego badania krwi są tak istotne w diagnostyce medycznej. Następnie Adam wyjaśnił czym jest promieniowanie Ramana. Jest ono bardzo użyteczne w identyfikacji różnych substancji, dlatego może zostać wykorzystane w diagnostyce. Omówiono również aparaturę pomiarową, która została wykorzystana w celu badaniu krwi. Okazuje się, że zakłóceniem takiej aparatury może być nawet promieniowanie kosmiczne tła.

Po tym wstępie domenowym, prelegent przeszedł do omówienia wykonanych analiz danych. W opisanym procesie – dane przetworzone algorytmem PCA wykorzystano do uczenia klasyfikatora SVM. Do stworzenia analiz wykorzystano toolbox z Matlab’a.
Adam przedstawił kilka różnych zadań klasyfikacji. Jednym z ciekawszych zastosowań było wykrywanie obecności leku we krwi pacjenta. Przedstawione zostały perspektywy rozwoju systemu.

Zaprezentowana metoda pomiaru oraz zastosowane algorytmu uczenia maszynowego mają potencjał nie tylko w medycynie ale i w kryminalistyce. Jednym z możliwych zastosowań jest testowanie na obecność narkotyków we krwi. Nietypowa forma spotkania, nie przeszkodziła nam w poprowadzeniu dyskusji, w której Adam odpowiadał na pytania słuchaczy.

Prezentacja ze spotkania oraz praca magisterska Adama dostępne są na naszym GitHubie.

Zapraszamy na kolejne spotkania grupy MLGdańsk!