# ✅ Checkpoint: cài đặt REINFORCE và giảm variance

By Everwise Intern



## Quiz

1. Vì sao REINFORCE gốc (nhân thẳng return thô G_t với log xác suất) có variance cao?
   - Vì log xác suất luôn âm nên gradient bị đảo dấu.
   - Vì policy mạng nơ-ron có quá ít tham số.
   - Vì môi trường luôn tất định nên return không đổi.
   - Vì trọng số là return thô G_t, biến thiên rất mạnh giữa các episode nên ước lượng gradient rung lắc.
2. Vì sao trừ đi baseline b(s_t) (chỉ phụ thuộc trạng thái, không phụ thuộc hành động) không làm ước lượng gradient bị lệch?
   - Vì baseline được detach khỏi đồ thị tính toán.
   - Vì kỳ vọng của log-gradient nhân với một đại lượng chỉ phụ thuộc trạng thái bằng 0, do tổng xác suất trên mọi hành động bằng 1 nên đạo hàm của nó bằng 0.
   - Vì baseline làm thay đổi nghiệm tối ưu của policy theo hướng tốt hơn.
   - Vì baseline luôn nhỏ hơn return nên không ảnh hưởng gì.
3. Cho ba episode trong một batch có return [2, 4, 9] và baseline là trung bình batch. Advantage thô là gì?
   - [2, 4, 9]
   - [-1,02; -0,34; 1,36]
   - [-3, -1, 4]
   - [3, 1, -4]
4. Trong code, vì sao advantage phải được detach trước khi nhân với log xác suất?
   - Vì detach giúp advantage tự động được chuẩn hóa theo batch.
   - Vì advantage là trọng số hằng, không phải biến cần lan gradient; nếu không detach, gradient sẽ lan ngược qua cả baseline và làm policy học lệch.
   - Vì nếu không detach thì loss sẽ luôn bằng 0.
   - Vì detach làm giảm số tham số của mạng policy.
5. Khi chuẩn hóa advantage theo batch (trừ trung bình, chia độ lệch chuẩn), vì sao phải cộng thêm epsilon vào mẫu số?
   - Vì với batch nhỏ hoặc khi mọi return bằng nhau, độ lệch chuẩn bằng 0 và phép chia sẽ mất ổn định (sinh NaN).
   - Vì epsilon tăng tốc độ huấn luyện theo cấp số nhân.
   - Vì epsilon làm advantage có trung bình khác 0 để dễ học hơn.
   - Vì epsilon giúp baseline phụ thuộc vào hành động.
6. Khi vẽ đường cong phần thưởng cho CartPole, cửa sổ làm mượt W nên chọn thế nào?
   - Khoảng 20 đến 50 episode: quá nhỏ thì đường vẫn nhiễu, quá lớn thì che mất giai đoạn policy bắt đầu học.
   - W = 500 vì càng lớn càng chính xác.
   - W bằng toàn bộ số episode để đường thật mượt.
   - W = 1 để giữ nguyên đường thô.
7. Ba seed cho kết quả cuối lần lượt là 480, 200 và 460. Kết luận nào đúng và trung thực nhất?
   - Bỏ seed 200 vì đó là ngoại lệ, chỉ báo cáo 480 và 460.
   - Kết luận thuật toán đã hội tụ tốt vì hai trên ba seed đạt trên 450.
   - Chạy thêm seed cho tới khi tìm được seed đẹp nhất rồi báo cáo seed đó.
   - Kết quả chưa ổn định vì seed 200 cho thấy thuật toán rất nhạy với khởi tạo; cần báo cáo cả ba seed kèm trung bình và độ lệch chuẩn, rồi tìm cách giảm phương sai.
8. Advantage được định nghĩa là A(s, a) = Q(s, a) trừ ____ (viết dạng ngắn gọn của hàm giá trị trạng thái).
9. Để tách nhiễu ngẫu nhiên khỏi tín hiệu học thật, ta chạy huấn luyện với nhiều ____ rồi báo cáo trung bình kèm độ lệch chuẩn.
10. Hãy tự đánh giá đồ án REINFORCE của bạn dựa trên các tiêu chí nghiệm thu của module (baseline, advantage, nhiều seed, biểu đồ, đánh giá).


---

## Contents

Part of [🎯 Policy Gradient cho người mới: từ toán nền tảng đến đồ án REINFORCE](https://everwise.study/courses/policy-gradient-cho-nguoi-moi-tu-toan-nen-tang-den-do-an-reinforce.md)

- **🧮 Nền tảng toán cho Policy Gradient**
  - [📐 Ôn nhanh: kỳ vọng, gradient và quy tắc chuỗi](https://everwise.study/courses/policy-gradient-cho-nguoi-moi-tu-toan-nen-tang-den-do-an-reinforce/quick-review-expectation-gradient-chain-rule.md)
  - [🔑 Log-derivative trick: vì sao đạo hàm của log xác suất lại hữu ích](https://everwise.study/courses/policy-gradient-cho-nguoi-moi-tu-toan-nen-tang-den-do-an-reinforce/log-derivative-trick-explained.md) (sign-in required)
  - [🧭 Từ mục tiêu phần thưởng đến công thức cập nhật policy](https://everwise.study/courses/policy-gradient-cho-nguoi-moi-tu-toan-nen-tang-den-do-an-reinforce/policy-gradient-theorem-intuition.md)
  - [✅ Checkpoint: nền tảng toán của Policy Gradient](https://everwise.study/courses/policy-gradient-cho-nguoi-moi-tu-toan-nen-tang-den-do-an-reinforce/checkpoint-policy-gradient-math.md)
- **🛠️ Đồ án: cài đặt REINFORCE và giảm variance**
  - [📉 Giảm variance với baseline và advantage](https://everwise.study/courses/policy-gradient-cho-nguoi-moi-tu-toan-nen-tang-den-do-an-reinforce/variance-reduction-baseline-advantage-project.md)
  - [📊 Huấn luyện, vẽ biểu đồ và đánh giá kết quả đồ án](https://everwise.study/courses/policy-gradient-cho-nguoi-moi-tu-toan-nen-tang-den-do-an-reinforce/train-plot-evaluate-capstone-project.md)
  - [✅ Checkpoint: cài đặt REINFORCE và giảm variance](https://everwise.study/courses/policy-gradient-cho-nguoi-moi-tu-toan-nen-tang-den-do-an-reinforce/checkpoint-reinforce-and-variance-reduction.md) — this lesson
- [Course cheatsheet](https://everwise.study/courses/policy-gradient-cho-nguoi-moi-tu-toan-nen-tang-den-do-an-reinforce/cheatsheet.md) (premium content)
