DeepMind: AlphaGo i AlphaFold

🎯 Po co Ci to?

Po przełomie AlexNet w rozpoznawaniu obrazów naturalne stało się pytanie: gdzie jeszcze deep learning może zrobić podobny skok? Odpowiedzią okazały się dwa spektakularne osiągnięcia brytyjskiej firmy badawczej DeepMind — jedno w dziedzinie z pozoru „tylko" rozrywkowej (starożytna gra planszowa), drugie w dziedzinie z pozoru odległej od informatyki (biologia molekularna). Oba pokazały, że te same, ogólne zasady uczenia maszynowego — nagroda i kara, uczenie na przykładach, sieci głębokie — można stosować w dziedzinach uznawanych wcześniej za zbyt złożone dla komputerów.

✅ Czego się nauczysz

Po tej lekcji potrafisz:

  • wyjaśnić, dlaczego gra Go uznawana była przez dekady za wyjątkowo trudną dla komputerów;
  • opisać, jak AlphaGo połączyło uczenie ze wzmocnieniem (jednostka 9.1) z głębokimi sieciami neuronowymi;
  • wyjaśnić, jaki problem naukowy rozwiązał AlphaFold i dlaczego jego rozwiązanie ma znaczenie wykraczające poza samą informatykę.

🔁 Przypomnij sobie

W jednostce 9.1 poznałeś uczenie ze wzmocnieniem: agent podejmuje decyzje w środowisku i uczy się na podstawie nagród i kar, a nie gotowych etykiet. Zapamiętaj przykład z tamtej jednostki — program szachowy uczący się przez rozgrywanie partii samego ze sobą. AlphaGo to dokładnie ta sama idea, tylko zastosowana do gry o wiele trudniejszej niż szachy.

📘 AlphaGo — pokonanie gry uznawanej za nieobliczalną

Go to starożytna gra planszowa pochodząca z Chin, w którą dwoje graczy na przemian kładzie kamienie na planszy, próbując otoczyć jak największe terytorium. Zasady są proste — znacznie prostsze niż w szachach — ale liczba możliwych układów na planszy jest astronomicznie większa niż w szachach: zbyt duża, by komputer mógł, jak w klasycznych programach szachowych, po prostu „przejrzeć" wszystkie możliwe dalsze ruchy do przodu i wybrać najlepszy. Przez dekady eksperci sądzili, że pokonanie najlepszych ludzkich graczy w Go przez komputer zajmie jeszcze wiele lat, jeśli w ogóle będzie możliwe — Go wymaga czegoś bliższego ludzkiej „intuicji" niż surowej mocy obliczeniowej.

W 2016 roku program AlphaGo, stworzony przez firmę DeepMind, pokonał Lee Sedola, jednego z najlepszych graczy w Go na świecie, wygrywając cztery z pięciu partii pokazowego meczu. AlphaGo osiągnął ten wynik, łącząc głębokie sieci neuronowe (podobne do tych z jednostki 13.2, tylko wytrenowane do oceny pozycji na planszy Go) z uczeniem ze wzmocnieniem: program rozgrywał miliony partii przeciwko samemu sobie, stopniowo poprawiając swoją strategię na podstawie tego, które ruchy prowadziły do zwycięstwa.

💭 Pomyśl: Dlaczego „przeglądanie wszystkich możliwych ruchów do przodu", strategia skuteczna w klasycznych programach szachowych (zobacz Dział 7 — Deep Blue), zawodzi w przypadku gry Go, mimo że zasady Go są prostsze niż zasady szachów?

Sprawdź odpowiedź

Liczba możliwych układów na planszy Go jest tak ogromna (znacznie przewyższająca liczbę atomów w obserwowalnym wszechświecie), że żaden komputer, nawet najszybszy, nie jest w stanie w rozsądnym czasie przejrzeć wystarczająco daleko w przód, by w ten sposób znaleźć optymalny ruch — w przeciwieństwie do szachów, gdzie liczba możliwości, choć ogromna, była na tyle mniejsza, że wystarczyła sama surowa moc obliczeniowa Deep Blue połączona z dobrą heurystyką. W Go potrzebne było zupełnie inne podejście: zamiast próbować „policzyć wszystko", AlphaGo uczył się oceniać pozycje na planszy w sposób przypominający ludzką intuicję — rozpoznając, które układy „wyglądają obiecująco", na podstawie wzorców wyuczonych z milionów wcześniej rozegranych partii, zamiast wyczerpująco przeszukiwać każdą możliwość.

📐 DEFINICJA — AlphaGo: program stworzony przez firmę DeepMind, który w 2016 roku pokonał jednego z najlepszych graczy w Go na świecie, Lee Sedola, łącząc głębokie sieci neuronowe oceniające pozycje na planszy z uczeniem ze wzmocnieniem opartym na milionach partii rozegranych przeciwko samemu sobie.

Po ludzku: to program, który nauczył się „wyczucia" gry w Go — rozpoznawania, które ruchy są obiecujące — a nie tylko brutalnego liczenia wszystkich możliwości, jak wcześniejsze programy szachowe.

📘 AlphaFold — od gier do biologii molekularnej

Sukces AlphaGo pokazał, że podejście oparte na głębokich sieciach neuronowych i uczeniu ze wzmocnieniem może rozwiązywać problemy uznawane za wyjątkowo trudne — nawet takie, które z pozoru nie mają nic wspólnego z grami planszowymi. DeepMind postanowił sprawdzić tę zasadę na jednym z najbardziej uporczywych problemów biologii: problemie zwijania białek.

Białka w organizmach żywych powstają jako długi łańcuch aminokwasów, ale żeby pełnić swoją funkcję (np. enzymu czy elementu budulcowego komórki), muszą zwinąć się w bardzo konkretny, trójwymiarowy kształt. Przewidzenie tego kształtu wyłącznie na podstawie sekwencji aminokwasów było przez dziesięciolecia jednym z najtrudniejszych, nierozwiązanych problemów w biologii — eksperymentalne ustalenie kształtu jednego białka mogło zajmować laboratorium miesiące lub lata pracy.

Program AlphaFold, także stworzony przez DeepMind (pierwsza wersja w 2018 roku, znacznie ulepszona wersja druga w 2020 roku), wytrenowany na tysiącach znanych już struktur białkowych, nauczył się przewidywać trójwymiarowy kształt białka z dokładnością zbliżoną do metod eksperymentalnych — ale w ciągu minut czy godzin zamiast miesięcy.

💭 Pomyśl: AlphaGo uczy się grać w Go, a AlphaFold przewiduje kształt białek — dwa zadania, które na pierwszy rzut oka nie mają ze sobą nic wspólnego. Co łączy oba te programy na poziomie ogólnej strategii, mimo zupełnie różnych dziedzin zastosowania?

Sprawdź odpowiedź

Oba programy łączy ta sama ogólna strategia: zamiast próbować rozwiązać problem przez wyczerpujące przeszukanie wszystkich możliwości (co w obu przypadkach jest obliczeniowo niewykonalne — liczba możliwych układów na planszy Go i liczba możliwych sposobów zwinięcia łańcucha aminokwasów są astronomicznie duże), oba wykorzystują głębokie sieci neuronowe wytrenowane na ogromnej liczbie wcześniejszych przykładów (miliony partii Go, tysiące znanych struktur białek), by nauczyć się rozpoznawać wzorce i „intuicyjnie" oceniać, które rozwiązanie jest obiecujące, zamiast liczyć wszystko od zera. To pokazuje, że te same, ogólne zasady uczenia głębokiego — wystarczająco duży zbiór danych, odpowiednia architektura sieci, dużo mocy obliczeniowej — dają się przenosić między dziedzinami z pozoru zupełnie ze sobą niezwiązanymi.

📐 DEFINICJA — AlphaFold: program DeepMind, który przewiduje trójwymiarowy kształt białka na podstawie jego sekwencji aminokwasów, wykorzystując głębokie sieci neuronowe wytrenowane na tysiącach znanych struktur białkowych — rozwiązujący problem, nad którym biologia molekularna pracowała bezskutecznie od dziesięcioleci.

Po ludzku: program, który potrafi w ciągu minut przewidzieć, jaki kształt przyjmie białko, do czego wcześniej potrzeba było miesięcy pracy laboratoryjnej.

⚠️ Uwaga, pułapka

Łatwo pomyśleć, że sukces w grze planszowej (AlphaGo) i sukces w problemie biologicznym (AlphaFold) to dowód, że deep learning „rozwiąże każdy trudny problem" — to zbyt daleko idący wniosek. Oba te sukcesy wymagały bardzo starannego dopasowania architektury sieci do specyfiki konkretnego problemu (inna architektura dla gry planszowej, inna dla struktury molekularnej) oraz dostępu do ogromnej liczby dobrze przygotowanych danych treningowych (miliony partii Go, tysiące zweryfikowanych struktur białek). Deep learning to potężne, ale nie uniwersalne narzędzie — jego sukces w konkretnej dziedzinie zawsze zależy od tego, czy dla tej dziedziny dostępne są odpowiednie dane i czy problem w ogóle nadaje się do sformułowania w sposób, który sieć neuronowa może się „nauczyć" rozwiązywać.

🌍 Powiązania

AlphaGo i AlphaFold pokazują, jak daleko może sięgnąć ten sam zestaw narzędzi z Części III (sieci głębokie, uczenie ze wzmocnieniem, ogromne dane, moc GPU), gdy zastosuje się go poza pierwotną dziedziną obrazów. W kolejnej jednostce zobaczysz, dlaczego takie eksperymenty stały się w tym okresie coraz łatwiejsze do przeprowadzenia — dzięki narzędziom, które sprawiły, że budowanie własnej sieci neuronowej przestało wymagać zespołu specjalistów z dostępem do superkomputera.

📐 Definicje tej lekcji

  • AlphaGo — program DeepMind łączący głębokie sieci neuronowe z uczeniem ze wzmocnieniem, który w 2016 roku pokonał mistrza gry Go, Lee Sedola.
  • AlphaFold — program DeepMind przewidujący trójwymiarowy kształt białek na podstawie sekwencji aminokwasów, rozwiązujący dziesięcioleciami nierozwiązany problem biologii molekularnej.

📌 Najważniejsze w pigułce

  • Go było uznawane za grę zbyt złożoną dla komputerów ze względu na astronomiczną liczbę możliwych układów na planszy.
  • AlphaGo (2016) pokonał mistrza Go, ucząc się „intuicyjnej" oceny pozycji przez uczenie ze wzmocnieniem na milionach partii, zamiast liczyć wszystkie możliwości.
  • AlphaFold (od 2018) rozwiązał problem przewidywania kształtu białek, nierozwiązany eksperymentalnie od dziesięcioleci, ucząc się na tysiącach znanych struktur.
  • Oba sukcesy pokazują przenoszalność tych samych narzędzi deep learningu między bardzo różnymi dziedzinami — ale nie oznaczają, że deep learning rozwiąże dowolny problem bez odpowiednich danych.

🎒 Zadania

Zadanie 13.3.1. Wyjaśnij, dlaczego strategia „przejrzyj wszystkie możliwe ruchy do przodu", skuteczna dla Deep Blue w szachach (Dział 7), nie mogła zostać po prostu skopiowana do gry w Go.

Pokaż rozwiązanie

Liczba możliwych układów na planszy Go rośnie w tempie astronomicznie szybszym niż w szachach — plansza Go jest większa, a liczba legalnych ruchów w każdej pozycji znacznie wyższa, przez co drzewo możliwych dalszych rozgrywek eksploduje w tempie niemożliwym do wyczerpującego przeszukania przez jakikolwiek realny komputer, nawet z ogromną mocą obliczeniową. Deep Blue radził sobie w szachach dzięki kombinacji sporej (ale wciąż ograniczonej) głębokości przeszukiwania i dobrze zaprojektowanych reguł oceny pozycji. W Go ta sama strategia zawodzi, bo nawet krótkie przeszukiwanie w przód generuje więcej gałęzi, niż da się realistycznie przeanalizować — dlatego potrzebne było zupełnie inne podejście: nauczenie sieci neuronowej „szacowania" wartości pozycji na podstawie wzorców, bez pełnego przeszukiwania.

Zadanie 13.3.2. Wyjaśnij, dlaczego rozwiązanie problemu zwijania białek przez AlphaFold ma znaczenie praktyczne wykraczające poza samą informatykę — podaj przykład dziedziny, dla której taka wiedza mogłaby być użyteczna.

Pokaż rozwiązanie

Znajomość trójwymiarowego kształtu białka jest kluczowa do zrozumienia, jak ono działa w organizmie oraz jak można zaprojektować substancje (np. leki), które będą z nim oddziaływać w pożądany sposób — na przykład blokując działanie białka związanego z chorobą. Przykładowa dziedzina zastosowania: projektowanie nowych leków (badania farmaceutyczne) — zamiast czekać miesiącami na eksperymentalne ustalenie struktury docelowego białka, naukowcy mogą użyć przewidywań AlphaFold jako punktu wyjścia do szybszego zaprojektowania cząsteczki wiążącej się z tym białkiem, co potencjalnie skraca i obniża koszt wczesnych etapów opracowywania nowych terapii.

Zadanie 13.3.3. (krytyczne) Podaj argument przeciwko twierdzeniu: „skoro deep learning pokonał mistrza Go i rozwiązał problem zwijania białek, to znaczy, że potrafi rozwiązać każdy trudny problem naukowy". Odwołaj się do uwagi o pułapce z tej jednostki.

Sprawdź odpowiedź

Oba sukcesy były możliwe dzięki dwóm konkretnym warunkom, które nie są spełnione dla każdego trudnego problemu: (1) dostępności ogromnej liczby dobrze przygotowanych danych treningowych (miliony partii Go, tysiące zweryfikowanych struktur białkowych) oraz (2) możliwości sformułowania problemu w sposób, który sieć neuronowa może się „nauczyć" — czyli istnienia jasnego, powtarzalnego wzorca łączącego dane wejściowe z poprawnym wynikiem. Wiele trudnych problemów naukowych nie spełnia żadnego z tych warunków: albo brakuje dla nich wystarczająco dużych, rzetelnych zbiorów danych, albo sam problem jest zbyt słabo ustrukturyzowany, żeby dało się go sprowadzić do zadania „naucz się na przykładach". Uogólnianie z dwóch spektakularnych sukcesów w konkretnych, dobrze zdefiniowanych dziedzinach na „deep learning rozwiąże wszystko" jest nadinterpretacją — to dokładnie ten sam typ błędu, co przesadzone reakcje mediów na Perceptron w 1958 roku (Dział 8).

🔍 Sprawdź, czy umiesz

  • [ ] Wyjaśnić, dlaczego gra Go uznawana była za wyjątkowo trudną dla komputerów.
  • [ ] Opisać, jak AlphaGo połączył uczenie ze wzmocnieniem z głębokimi sieciami neuronowymi.
  • [ ] Wyjaśnić, jaki problem naukowy rozwiązał AlphaFold.
  • [ ] Krytycznie ocenić, dlaczego te sukcesy nie oznaczają, że deep learning rozwiąże każdy trudny problem.

Ucz się tej jednostki z asystentem