Uczenie w trybie ciągłym – co to jest?
Sztuczne sieci neuronowe są skutecznymi modelami uczenia maszynowego stosowanymi w różnych dziedzinach życia. Spowodowane jest to ich znakomitymi możliwościami automatycznego uczenia się efektywnego sposobu reprezentowania danych, bez znaczącej ingerencji człowieka w ten proces. Jednak sposób w jaki szkolimy sieci neuronowe jest nadal jednym z najbardziej “sztucznych” elementów obecnych sieciach neuronowych. Zwykle zaczynamy od losowych ustawień naszej sieci (parametrów) i dostosowujemy je na podstawie danych dostępnych. Jednak to podejście znacząco różni się od tego w jaki sposób uczymy się my, nieustannie rozwijając swoją wiedzę i uczą się przez całe życie.
Dla sztucznych sieci neuronowych proces ciągłego uczenia jest bardzo trudny do osiągnięcia. Kiedy spróbujemy wykorzystać dane niestacjonarne, takie które zmieniają się w czasie, do uczenia naszej sieci neuronowej zaobserwujemy silne zjawisko zapominania (z ang. catastrophic forgetting) – sieć po otrzymaniu nowej porcji danych przestaje pamiętać rzeczy których była wcześniej nauczona.
Ciągłe uczenie maszynowe (continual learning) ma na celu rozwiązanie tego problemu poprzez znalezienie sposobów, by sztuczne sieci neuronowe uczyły się stopniowo, nie zapominając wcześniejszej zdobytej wiedzy. Ponadto, korzystając z już zgromadzonych doświadczeń uczyć się lepiej i sprawniej.
Kto nie pamięta historii, skazany jest na jej ponowne przeżycie. – G. Santayana
Zmiany są trudne, również dla sztucznych sieci neuronowych
Problem katastroficznego zapominania dotyka wszystkich modeli sztucznych sieci neuronowych, więc modele głębokiego uczenia nie są tu lepsze od swoich mniejszych. Powszechne wykorzystanie sztuczne sieci neuronowych w różnych dziedzinach (wyszukiwarki obrazów, usługi lokalizacyjne, diagnostyka medyczna, etc.) sprawia, że wiele modeli staje się przestarzałych w ciągu dni lub miesięcy od wdrożenia z braku możliwości douczania sieci. A w momencie, kiedy już spróbujemy je douczyć na nowych danych, zapominają wyuczone wcześniej rozwiązania.
Jednym z najprostszych rozwiązań jest ponowne wytrenowanie sieci neuronowej od podstaw przy użyciu zbioru danych zaktualizowanego o nowe przykłady. To jednak rozwiązanie bardzo niewydajne, jak zaczynanie za każdym razem pracy od początku, z stanu „tabula rasa”.
Ciągłe uczenie maszynowe jest podejściem, które umożliwia sieciom neuronowym nie tylko ograniczaniem zapominania już wyuczonych rzeczy oraz dostosowywanie się do nowych danych (co jest głównie domeną transfer learning), ale także ciągłym szkoleniem się modelu na strumieniu zmieniających się danych.
Być eko czy być na czasie? – oto jest pytanie
Ciągłe uczenie maszynowe jest może znacząco ograniczyć zużycie energii elektrycznej. Obecne podejście do uczenia sztucznych sieci neuronowych nie jest ani podejściem zrównoważonym, ani ekologicznym. Zgodnie z prawem skalowania sztucznych sieci neuronowych, aby uzyskać lepsze rezultaty warto zwiększyć liczbę parametrów modelu lub pozyskać większe ilości danych trenujących. Ale to podejście kosztowne i nie jest podejściem zrównoważonym. Aktualnie może sobie na to pozwolić tylko kilka dużych organizacji, np. takich jak OpenAI, twórców ChatGPT, ale energia zużyta do wytrenowania takiego modelu jest nadal bardzo duża. Kontynuowanie tego trendu bez uwzględnienia przyrostowego podejścia do uczenia jest marnotrawstwem i nie jest rozwiązaniem zrównoważonym, które moglibyśmy kontynuować w dłuższej perspektywie czasu.
To, w jaki sposób trenujemy większość modeli ML, nie ma nic wspólnego z byciem efektywnym energetycznie. Rosnące zapotrzebowanie na rozwiązania AI/ML tylko pogorszy sytuację z punktu widzenia wydatków na energię. Metody ciągłego uczenia maszynowego są celowo opracowywane tak, by nie marnować dotychczasowego dorobku i szybko dostosowywać się do nowych warunków, nie marnować poprzednich rezultatów i być bardziej energetycznie oszczędnymi. Jest to również powód, dla którego ciągłe uczenie maszynowe jest jednym z głównych filarów „zero-waste ML” w grupie wizji komputerowej prowadzonej w IDEAS NCBR.
Warunki świata rzeczywistego wymagają ciągłego uczenia
W warunkach rzeczywistych szybka adaptacja i ciągłe uczenie modeli sztucznych sieci neuronowych ma duże znaczenie praktyczne z kilku powodów. Po pierwsze, w wielu zastosowaniach istnieją ograniczenia zasobów energii lub mocy obliczeniowych, które potrzebne byłyby do ponownego wyszkolenia modelu. To sprawia, że niepraktyczne jest ponowne trenowanie modelu w małych urządzeniach o ograniczonym zapasie energii, szczególnie w przypadku sprzętu takiego jak drony, małe autonomiczne roboty lub urządzenia brzegowe. W takich zastosowaniach trudno zatrzymać urządzenie na czas trenowania i spodziewać się nowych rezultatów po jego zakończeniu.
Wyobraźmy sobie drona transportującego defibrylator do osoby poszkodowanej w niedostępnym dla człowieka terenie. Jeśli natrafi na niespodziewaną burzę, której warunki nie zostały nigdy uwzględnione w danych treningowych, nie wróci przecież w trakcie akcji do bazy na wytrenowanie nowego modelu na nowych danych. Model musi szybko dostosować się i dokończyć misję pomimo nowych, trudnych warunków.
Po drugie, świat wokół nas wciąż się zmienia. Mogą to być zarówno proste zmiany warunków pogodowych prowadzące do zmian domenowych w danych obrazowych, jak i złożone zmiany w przepisach ruchu drogowego wywołujące zmiany w koncepcji lub pojawienie się nowych kategorii samochodów autonomicznych. W tym kontekście, wykrywanie nowych elementów i zapewnianie zdolności do lepszej generalizacji, czyli możliwości interpretacji nowych kategorii, staje się niezbędne celem uniknięcia kosztownych błędów.
Szybka adaptacja i ciągłe uczenie modeli sieci neuronowych są niezbędne w świecie rzeczywistym w którym zasoby obliczeniowe są ograniczone, a zmiany środowiskowe nieuniknione. Zaniedbanie tych aspektów może prowadzić do kosztownych błędów o potencjalnie poważnych konsekwencjach.
Postęp sztucznej inteligencji nie dokonać się bez zrozumienia procesu ciągłego uczenia
Uczenie w trybie ciągłym jest uważane za podstawowy aspekt sztucznej inteligencji [Hassabis, 2017, Neuroscience]. Zrozumienie procesu ciągłego uczenia maszynowego, zdolności uczenia się i dostosowywania do nowych informacji, nie zapominając o wcześniej poznanych próbkach, jest swego rodzaju świętym Graalem dla inteligentnych autonomicznych agentów, którzy mogą najpierw próbować naśladować ludzkie umiejętności uczenia się przez całe życie – plastyczności i stabilności w pozyskiwaniu nowej wiedzy.
Aktualne kierunki i projekty badawcze
- Ciągłe uczenie reprezentacji
- Modele generatywne w ciągłym uczeniu
- Metody bazujące na architekturze sieci i modele złożone dla ciągłego uczenia sieci
- Problemy open-world i odkrywanie nowych kategorii w trybie ciągłym
- Adaptacja sieci w czasie testowania i bez nadzoru
- Zapominanie i stabilność z punktu widzenia danych
- Bayesowskie podejście do ciągłego uczenia