Jeżeli interesujecie się komputerami i sztuczną inteligencją (AI), to prawdopodobnie słyszeliście u uczeniu maszynowym. Niemal wszystkie największe przełomy w rozwoju AI w ostatnich latach opierają się właśnie na nim. Idea jest prosta: rozpoczynamy od programu komputerowego, który „nic nie wie” i dajemy mu do rozwiązania zadania. Ten próbuje różnych sposobów przetłumaczenia pomiędzy postawionym mu „problemem” i jego „rozwiązaniem”, początkowo po omacku, w dużym stopniu opierając się na zjawiskach losowych. Każdą udaną próbę „nagradzamy”: nowe metody rozwiązywania problemów tworzone są na podstawie tych, które dotychczas okazały się najskuteczniejsze.
Właśnie w ten sposób powstają m.in. najlepsze obecnie algorytmy szachowe, jak AlphaZero. Ów program szachowy posiadał początkowo zerową (stąd nazwa) wiedzę o subtelnościach szachów, znając tylko jej elementarne reguły gry. Z czasem, podejmując tysiące i milionów prób, nauczył się gry na poziomie mistrzowskim, deklasując nie tylko arcymistrzów ludzkich, ale i najlepsze wówczas komputery szachowe. Metoda jest jednak naprawdę uniwersalna. W 2018 roku po raz pierwszy udało się stworzyć czworonożnego robota, który nauczył się chodzić całkowicie samodzielnie, nie mając początkowo żadnej „teorii chodzenia” – a więc zupełnie tak, jak uczą się chodzić ludzie.
W tradycyjnych metodach uczenia maszynowego rolę nauczycieli pełnią programiści. Przykładowo, gdy chcemy nauczyć nasz algorytm rozpoznawania na fotografiach kotów od psów, możemy przygotować zestaw treningowy, a następnie pouczać program zgadujący, czy jego kolejne przypuszczenia są poprawne, czy nie. Wybór zdjęć i decyzja należą więc do nas, ludzi.
Problem polega na tym, że my, ludzie, nie jesteśmy tak naprawdę odpowiednimi partnerami dla komputerów. Po pierwsze, nasze możliwości intelektualne szybko się wyczerpują. Jeśli chcemy wytrenować naprawdę świetny algorytm szachowy, to nawet grono najwybitniejszych arcymistrzów po niedługim czasie przestanie stanowić dla niego wyzwanie – i edukacja stanie w miejscu. Stąd też coraz popularniejszy model, w którym program szachowy gra kolejne partie ze sobą samym, lub z nieznacznie różniącymi się wersjami siebie. To tak, nawiasem mówiąc, szkolił się AlphaZero, który osiągnął poziom arcymistrzowski po rozegraniu ze sobą… 44 milionów partii.
Ta ostatnia liczba powinna nam uświadomić drugie fundamentalne ograniczenie człowieka: jesteśmy dla komputerów po prostu za wolni. Nawet gdyby do treningu AlphaZero wynająć 100-osobową armię szachistów, którzy graliby z komputerem partie dzień i noc, bez wytchnienia, każdą kończąc w czasie 5 minut, to cały proces edukacyjny zająłby ponad 4 lata. W rzeczywistości zaś proces ten wymagał zaledwie ok. 2 dni.
Stąd coraz częściej rolę „nauczycieli” w uczeniu maszynowym programów komputerowych pełnią inne programy. Oto przykład zastosowania tej logiki. W październiku 2020 roku inżynierowie z Robotic Systems Lab w Zurychu postanowili stworzyć program kontrolujący czworonożnego robota, umiejącego zręcznie spacerować po najróżniejszym terenie. Postanowili zacząć od treningu w wirtualnej rzeczywistości – to kolejna popularna sztuczka ostatnich lat, stosowana też choćby w trenowaniu dronów autonomicznych. Program sterujący był więc początkowo „podpięty” do wirtualnego robota spacerującego w fizycznie realistycznej symulacji i to w tym wirtualnym świecie uczył się chodzenia.
Istotna innowacja polegała na tym, że teren, po którym spacerował robot, był generowany „na żywo” przez inny program komputerowy. Co istotne, program „nauczyciel” również był nagradzany za postępy ucznia. W pewnym sensie, w jego „interesie” było więc tworzenie takiego terenu, który stanowiłby idealne wyzwanie dla „ucznia”, czyli programu kontrolującego robota – wyzwanie na tyle łatwe, aby wirtualny robot utrzymał się na nogach, ale na tyle trudne, aby stale się uczył. Program zakończył się sukcesem, a robot, już w postaci zwykłej, fizycznej maszyny, okazał się bardzo zręczny i świetnie radził sobie z prawdziwymi wyzwaniami, jak błotnista ścieżka czy omszałe pniaki na leśnej ściółce.
Czyżby był to kolejny krok na drodze usamodzielnienia się komputerów?
Tekst powstał we współpracy z wydawnictwem Copernicus Center Press
ŹRÓDŁO: J. Lee i in., Learning quadrupedal locomotion over challenging terrain, „Science Robotics” 5(47), 2020, eabc5986