Mulai sekarangMulai gratis

Jaringan critic

Metode Actor-Critic memerlukan dua jaringan saraf yang sangat berbeda.

Arsitektur untuk jaringan actor identik dengan jaringan kebijakan (policy network) yang Anda gunakan untuk REINFORCE, sehingga Anda dapat menggunakan kembali kelas PolicyNetwork.

Namun, jaringan critic adalah sesuatu yang belum Anda implementasikan sejauh ini. Critic bertujuan untuk mendekati fungsi nilai keadaan \(V(s_t)\), bukan fungsi nilai aksi \(Q(s_t, a_t)\) yang didekati oleh Q-Network.

Sekarang Anda akan mengimplementasikan modul jaringan Critic yang akan digunakan dalam A2C.

Latihan ini merupakan bagian dari kursus

Deep Reinforcement Learning dengan Python

Lihat Kursus

Instruksi latihan

  • Isi dimensi yang diinginkan untuk lapisan fully connected kedua sehingga menghasilkan satu nilai keadaan.
  • Peroleh nilai yang dikembalikan oleh proses forward melalui jaringan critic.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

class Critic(nn.Module):
    def __init__(self, state_size):
        super(Critic, self).__init__()
        self.fc1 = nn.Linear(state_size, 64)
        # Fill in the desired dimensions
        self.fc2 = nn.Linear(____)

    def forward(self, state):
        x = torch.relu(self.fc1(torch.tensor(state)))
        # Calculate the output value
        value = ____
        return value

critic_network = Critic(8)
state_value = critic_network(torch.rand(8))
print('State value:', state_value)
Edit dan Jalankan Kode