Instruktor: Witam,
moi przyjaciele, i witam w tym nowym przypadku użycia data science
z ChatGPT, który tym razem będzie dotyczył uczenia wzmacniającego.
Powiemy więc teraz ChatGPT, że
zaprogramowaliśmy wirtualny samochód samojezdny, nie mając
jeszcze żadnej AI.
Tak więc właśnie zaimplementowaliśmy jej zdolność do poruszania się do przodu, skręcania
w lewo, skręcania w prawo i zatrzymywania się.
I powiemy, że ten samojeżdżący samochód jest nagradzany,
jeśli uda mu się dotrzeć do pewnego celu,
a karany, jeśli oddali się od tego celu, lub
jeśli napotka jakieś przeszkody.
Ok, a potem zapytamy ChatGPT, który model
AI powinien zostać zaimplementowany do samojezdnego
samochodu i w jaki sposób.
Dobrze?
Więc zróbmy tak.
Otworzę tutaj nowy czat.
A w środku powiemy dokładnie:
"Hej, zaprogramowałem wirtualny
samochód samojezdny, którego działania polegają
na poruszaniu się do przodu, skręcaniu w lewo, skręcaniu w prawo i zatrzymywaniu się.
I wtedy ten samochód jest
nagradzany, gdy osiągnie pewien
cel, a karany,
jeśli odjedzie dalej od tego
celu, lub jeśli napotka
jakieś przeszkody. Dobra, teraz bądźmy bardziej chciwi.
Chciałem tylko poprosić o kilka
zaleceń, jak zbudować model uczenia wzmacniającego
dla samojezdnego samochodu, ale właściwie poprośmy o bezpośrednie
zbudowanie go.
Dlaczego nie?
Zobaczmy, do czego zdolny jest ChatGPT.
Więc zapytam: "Czy możesz
napisać mi kod Pythona, używając
najlepszych bibliotek, aby zbudować
model uczenia wzmacniającego, który implementuje
AI wewnątrz tego samojezdnego samochodu?".
Dobra,
więc to trochę chciwe pytanie, ale nigdy nie wiadomo.
ChatGPT może dać nam dokładnie to, czego chcemy.
Spróbujmy więc, a jeśli
napotka jakieś kłopoty, pomożemy mu.
Ok, więc naciśnijmy Enter i zaczynamy.
Pewnie, że dobrze, znowu świetny początek.
"Mogę pomóc ci zacząć wdrażać model uczenia się wzmacniania
dla twojego samojezdnego samochodu
w Pythonie. Niesamowite.
"Oto trochę kodu, który demonstruje,
jak można użyć, biblioteki OpenAI Gym. Wspaniale.
"Aby wytrenować model uczenia
się wzmacniania dla swojego samojezdnego samochodu. Ok, więc to jest niesamowite faktycznie, nie spodziewałem się, że to,
ChatGPT zrobić tak łatwo, i to wszystko
ma sens, co robi teraz.
To inicjalizacja, tablica Q, liczba
stanów, liczba akcji, współczynnik uczenia
się zainicjowany na 0. 1, współczynnik
dyskontowy do 0. 95.
To jest naprawdę niesamowite, jestem w zachwycie.
Wskaźnik eksploracji na 0. 5, maksymalna liczba odcinków do 1000,
maksymalna liczba kroków na odcinki
do 100.
Następnie trenuje model Q-learningowy, niesamowity.
Będę go wtedy wyzywał, żeby zaimplementował bardziej zaawansowany
model, jak głęboki
model Q-learning, albo A3C, ale zobaczymy.
Implementuje wszystko od podstaw za pomocą pętli For.
Rozpoczyna się od wyboru akcji, następnie implementuje
krok, w którym SI podejmuje akcję, następnie
aktualizuje tabelę Q, a następnie ustawia
stan na następny dzień.
To jest naprawdę proces uczenia się wzmocnienia, proces Q-learningu,
to jest niesamowite.
Potem nawet implementuje jak testować model
Q-learningu, a na koniec zamyka środowisko.
Wow, to było naprawdę niesamowite.
No dobra, nie spodziewałem się aż tak wiele.
Skoro więc zrobił to tak łatwo, to faktycznie rzućmy
mu jeszcze większe, jeszcze trudniejsze wyzwanie.
Więc najpierw powiedzmy oczywiście: "Wielkie
dzięki, to było naprawdę pomocne.
Wiem już jednak,
jak wdrożyć
Q-learning.
Więc czy mógłbyś
zrobić to samo z bardziej zaawansowanym
modelem uczenia
się wzmacniania, takim jak na przykład
głębokie uczenie Q. Albo jeszcze lepiej, bądźmy super chciwi.
"Najnowocześniejszy model uczenia wzmacniającego. Dobra, gotowi na to?
No to jedziemy.
I: "Na pewno. On zawsze mówi: "Na pewno". To niesamowite.
"Oto trochę kodu, który demonstruje, jak można użyć
biblioteki OpenAI baselines, aby
wytrenować głęboki model Q-learning,
DQN, dla swojego samojeżdżącego samochodu. I znowu się zaczyna.
Podaje nam kod.
To naprawdę niesamowite.
No dobra, więc tak, używa teraz biblioteki Wrap DeepMind
z bazowej, wspólnej biblioteki Atari i implementuje
AI ponownie, tym razem z głębokim
modelem Q-learning.
To jest naprawdę, naprawdę niesamowite.
"Ten kod wykorzystuje algorytm DQN do trenowania głębokiego modelu Q-learning dla
twojego samojezdnego samochodu.
Model nauczy się podejmować najlepsze działania
w każdym stanie, aby zmaksymalizować nagrodę.
Alternatywnie, jeśli chciałbyś
użyć bardziej zaawansowanego modelu uczenia się wzmacniania, możesz skorzystać z biblioteki
OpenAI Spinning Up, która dostarcza implementacji najnowocześniejszych
algorytmów uczenia się wzmacniania.
Oto kilka kodów demonstrujących, jak można
użyć biblioteki Spinning Up do trenowania modelu
proksymalnej optymalizacji polityki, PPO. Rzeczywiście, to świetny model.
"Dla twojego samojezdnego samochodu. I proszę bardzo, podaje ponownie model
z całym kodem.
Wow, co za rewolucja, ten ChatGPT.
Poważnie, jestem pod wielkim wrażeniem.
No i proszę, masz kod.
"Ten kod używa algorytmu PPO do trenowania
modelu uczenia się wzmacniania
dla twojego samojezdnego samochodu.
Model nauczy się podejmować działania
maksymalizujące oczekiwaną sumę zdyskontowanych nagród.
Mam nadzieję, że to pomoże.
Daj mi znać, jeśli masz jakieś
pytania lub jeśli chciałbyś uzyskać dalszą pomoc. No cóż, nawet ja nie spodziewałam się tak
wiele, więc jestem pod
wrażeniem tak jak Ty, jednocześnie robiąc to wszystko.
Więc powiemy: "Wielkie dzięki, to było niesamowite. I zrobione.
Jeszcze raz dziękuję za obejrzenie tego przypadku
użycia data science z ChatGPT.
Przejdźmy teraz do następnego.
A do tego czasu ciesz się uczeniem maszynowym.