Transformatory w Computer Vision - czy CNN mają się czego bać?
Spis treści
Piąty odcinek naszej serii, inspirowany trzecim wydaniem książki Auréliena Gérona „Uczenie maszynowe z użyciem Scikit-Learn, Keras i TensorFlow”, rzuca nas na głęboką wodę, gdzie maszyny uczą się widzieć i rozumieć ludzki język. To chyba najbardziej spektakularny obszar współczesnego AI – moment, w którym matematyka spotyka się z percepcją. Jeszcze dekadę temu rozpoznawanie obiektów na zdjęciach czy płynne tłumaczenie tekstów wydawało się domeną literatury science-fiction, a dziś, dzięki ewolucji sieci splotowych i nadejściu ery transformerów, stało się naszą codziennością.
Ewolucja spojrzenia, czyli jak CNN zmieniły świat
Wydaje mi się, że nic tak nie zrewolucjonizowało wizji komputerowej (*Computer Vision*), jak konwolucyjne sieci neuronowe, czyli CNN. Zanim się pojawiły, próbowaliśmy uczyć komputery widzenia poprzez ręczne definiowanie krawędzi czy kształtów. To była droga przez mękę. CNN wywróciły ten stolik, naśladując w pewnym stopniu korę wzrokową ssaków.
Swoją drogą, fascynujące jest to, jak te sieci działają warstwowo: pierwsze warstwy wyłapują proste kreski, kolejne składają je w kształty, aż w końcu ostatnie „widzą” całą twarz czy samochód. Géron w swojej publikacji szczegółowo analizuje legendarne architektury - od klasycznego LeNet-5, przez ResNet, aż po nowoczesne rozwiązania, które radzą sobie z klasyfikacją obrazów lepiej niż przeciętny człowiek. Czy to już szczyt możliwości, bo przecież świat nie stoi w miejscu?
Wielka migracja transformerów
I tu dochodzimy do punktu zwrotnego, który wstrząsnął fundamentami branży. Transformery. Początkowo stworzone do przetwarzania języka naturalnego (NLP), nagle zaczęły pukać do drzwi wizji komputerowej. Mało kto się spodziewał, że architektura, która tak świetnie radzi sobie z tłumaczeniem zdań, odnajdzie się w analizie pikseli. A jednak modele typu Vision Transformer (ViT) pokazały, że mechanizm uwagi (*attention*) jest uniwersalny.
W świecie NLP transformery dokonały wręcz brutalnego przejęcia władzy. Zapomnijcie o starych sieciach rekurencyjnych (RNN), które gubiły wątek przy dłuższych zdaniach. Modele takie jak BERT czy GPT zrewolucjonizowały sposób, w jaki maszyny rozumieją kontekst. One nie tylko czytają słowa, one analizują relacje między nimi, niezależnie od tego, jak daleko od siebie znajdują się w tekście. To właśnie dzięki temu dzisiejsze boty potrafią prowadzić dialog, który - o ile nie przyłapiemy ich na halucynacjach - brzmi niemal jak rozmowa z człowiekiem.
Multimodalność i zacieranie granic
Chyba najciekawszym zjawiskiem, o którym wspomina autor w kontekście nowoczesnych systemów, jest multimodalność. Granica między widzeniem a czytaniem zaczyna zanikać. Mamy modele, które potrafią opisać obrazek słowami albo wygenerować grafikę na podstawie krótkiego opisu tekstowego. To już nie jest tylko „specjalizacja” - to próba stworzenia czegoś na kształt ogólnej inteligencji wizualno-językowej.
Z drugiej strony, trzeba zachować pewien sceptycyzm. Mimo że te modele są potężne, wymagają wręcz astronomicznych ilości danych i mocy obliczeniowej. Géron zauważa, że o ile proste CNN-y postawisz na domowym komputerze, o tyle trenowanie najnowszych transformerów to już zabawa dla technologicznych gigantów. No i pozostaje kwestia interpretowalności - nadal trudno czasem zrozumieć, dlaczego sieć uznała zdjęcie kota za… tost.
Wizja przyszłości czy tylko bardzo szybkie liczenie?
Patrząc na to, jak te dwie dziedziny - Computer Vision i NLP - nawzajem się przenikają, można odnieść wrażenie, że zmierzamy w stronę systemów, które naprawdę „rozumieją” otaczającą nas rzeczywistość. Choć, szczerze mówiąc, to nadal tylko (i aż) bardzo zaawansowane dopasowywanie wzorców.
Zastanawiam się, co będzie dalej. Czy transformery całkowicie wyprą sploty z wizji komputerowej? A może pojawi się coś zupełnie nowego, co sprawi, że dzisiejsze modele GPT wydadzą nam się tak archaiczne, jak stare maszyny do pisania? Jedno jest pewne - po lekturze trzeciego wydania „Uczenia maszynowego” trudno nie patrzeć na swój smartfon z odrobiną większego respektu dla tych miliardów operacji, które dzieją się w tle, gdy tylko robimy zdjęcie.
A jak u Was? Korzystacie już z dobrodziejstw transformerów w swoich projektach, czy może nadal wiernie trzymacie się sprawdzonych CNN-ów? Każde z tych podejść ma swoje unikalne piękno, a wybór często sprowadza się do tego, czy wolimy precyzyjne sploty, czy może globalne spojrzenie mechanizmu uwagi.
W kolejnym artykule przyjrzymy się temu, co dzieje się, gdy modele muszą zacząć „tworzyć” - wejdziemy w świat autokoderów i modeli generatywnych. Będzie jeszcze ciekawiej, obiecuję.

