0Pricing
Learn AI with Python · Lekcja

Metody aktor–krytyk (A2C)

Funkcja przewagi, aktor (polityka) i krytyk (wartość), synchroniczna implementacja A2C.

Metody aktor–krytyk (A2C) to bezpłatna lekcja Learn AI with Python na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Łączenie polityki i wartości

Metody Actor-Critic łączą dwa pomysły: aktora (politykę wybierającą akcje) i krytyka (funkcję wartości oceniającą te akcje). Krytyk dostarcza informacji zwrotnej o mniejszej wariancji niż surowe zwroty, stabilizując uczenie.

Aktor

Aktor jest siecią polityki. Dla bieżącego stanu generuje logity akcji (lub prawdopodobieństwa), dokładnie tak jak w REINFORCE, i decyduje, co należy zrobić.

class ActorCritic(nn.Module):
    def __init__(self, obs_dim, n_actions):
        super().__init__()
        self.shared = nn.Sequential(nn.Linear(obs_dim, 128), nn.ReLU())
        self.actor = nn.Linear(128, n_actions)

Krytyk

Krytyk szacuje wartość stanu V(s): oczekiwany zwrot ze stanu s. Jest to głowica z jednym wyjściem, która przewiduje, jak dobra jest bieżąca sytuacja.

        self.critic = nn.Linear(128, 1)

    def forward(self, s):
        h = self.shared(s)
        return self.actor(h), self.critic(h)

Wspólny backbone, dwie głowice

Aktor i krytyk zwykle współdzielą wczesne warstwy (backbone), a następnie rozdzielają się na dwie głowice. Współdzielenie cech jest wydajne i pozwala obu zadaniom wzmacniać użyteczne reprezentacje.

Funkcja przewagi

Kluczową wielkością jest przewaga A = r + gamma * V(s') - V(s). Mierzy ona, o ile akcja była lepsza od oczekiwań krytyka. Dodatnia przewaga oznacza wynik „lepszy od średniej”, a ujemna — gorszy.

advantage = reward + gamma * V_next - V_current

Dlaczego przewaga jest lepsza od surowego zwrotu

Użycie przewagi zamiast pełnego zwrotu G_t centruje sygnał wokół oszacowania krytyka, znacznie zmniejszając wariancję. To główny powód, dla którego actor-critic uczy się stabilniej niż REINFORCE.

Funkcja straty aktora

Aktor jest uczony podobnie jak w REINFORCE, ale zamiast zwrotu wykorzystuje przewagę jako wagę: zwiększa prawdopodobieństwo akcji o dodatniej przewadze.

actor_loss = -(log_prob * advantage.detach()).mean()

Funkcja straty krytyka

Krytyk uczy się dokładnie przewidywać zwroty. Jego funkcja straty to kwadrat błędu między jego predykcją V(s) a zaobserwowanym celem r + gamma * V(s').

target = reward + gamma * V_next.detach()
critic_loss = (V_current - target).pow(2).mean()

Łączna funkcja straty

Obie głowice są uczone jednocześnie przez zsumowanie funkcji strat (często z niewielką premią entropii zachęcającą do eksploracji). Jedno przejście wsteczne aktualizuje współdzielony backbone oraz obie głowice.

loss = actor_loss + 0.5 * critic_loss - 0.01 * entropy
loss.backward()

Synchroniczne A2C

A2C (Advantage Actor-Critic) to wersja synchroniczna: wiele równoległych procesów roboczych jednocześnie zbiera doświadczenia z kopii środowiska, a następnie pojedyncza zsynchronizowana aktualizacja wykorzystuje wszystkie zebrane dane, poprawiając stabilność i przepustowość.

# N parallel envs step together each iteration
# gather all transitions, then one combined update

A2C a A3C

Wariant asynchroniczny A3C pozwala procesom roboczym aktualizować model niezależnie. A2C synchronizuje te aktualizacje, dzięki czemu jest prostsze, lepiej dostosowane do GPU i zwykle równie skuteczne, co wyjaśnia jego popularność.

Szybkie sprawdzenie

Sprawdź swoją wiedzę na temat metod actor-critic.

Podsumowanie: Actor-Critic i A2C

Nauczyli się Państwo, że aktor generuje logity polityki, a krytyk szacuje V(s), często za pomocą wspólnego backbone'u z dwiema głowicami. Przewaga r + gamma*V(s') - V(s) zmniejsza wariancję, a synchroniczne A2C wykorzystuje równoległe procesy robocze do stabilnego i wydajnego uczenia.

Często zadawane pytania

Czy lekcja „Metody aktor–krytyk (A2C)” jest bezpłatna?

Tak — pełny tekst „Metody aktor–krytyk (A2C)” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Co nauczysz się w „Metody aktor–krytyk (A2C)”?

Funkcja przewagi, aktor (polityka) i krytyk (wartość), synchroniczna implementacja A2C. Ćwiczysz Learn AI with Python z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Learn AI with Python?

Nie wymagamy żadnego doświadczenia. Learn AI with Python w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Metody aktor–krytyk (A2C)”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Learn AI with Python?

Tak. Każda lekcja Learn AI with Python zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Metody gradientu polityki: REINFORCE
  2. Metody aktor–krytyk (A2C)
  3. Proximal Policy Optimization (PPO)
  4. Własne środowiska Gymnasium
← Powrót do Learn AI with Python