Môn học: CSC14005 – Nhập môn học máy
Trường: Đại học Khoa học Tự nhiên – ĐHQG TP.HCM
Học kỳ: HK2 – 2025/2026
Giảng viên hướng dẫn: Th.S Lê Nhựt Nam
| Họ và tên | MSSV |
|---|---|
| Nguyễn Hồ Anh Tuấn | 23120185 |
| Lê Xuân Trí | 23120099 |
| Đàm Tiến Đạt | 23120118 |
| Tống Thanh Phúc | 23120158 |
| Dương Tuấn Anh | 23120208 |
Chương 14 – Reinforcement Learning
Sách: Foundations of Machine Learning, 1st edition
Tác giả: Mehryar Mohri, Afshin Rostamizadeh, Ameet Talwalkar
Nhà xuất bản: MIT Press, 2012
Trang sách chính thức: https://cs.nyu.edu/~mohri/mlbook/
Link PDF chương/bản học tập: https://drive.google.com/file/d/19CEuhIilVAZ5kc1_ugc_wR96jCuRQ2Ee/view
Phần 1 – Báo cáo lý thuyết:
- Trình bày đầy đủ nền tảng Học tăng cường: Markov Decision Process (MDP), phương trình Bellman, Value Iteration, Policy Iteration
- Temporal Difference Learning: TD(0), TD(λ) với eligibility traces, so sánh với Monte Carlo
- Q-Learning và SARSA: chứng minh hội tụ, phân tích on-policy vs off-policy
- Policy Gradient: Policy Gradient Theorem, thuật toán REINFORCE, Actor-Critic framework
Phần 2 – Thực nghiệm:
- Cài đặt từ đầu (from scratch) 4 thuật toán RL chính: Value Iteration, TD(0)/TD(λ), Q-Learning/SARSA, REINFORCE
- Minh hoạ trực quan trên các môi trường tự xây dựng (GridWorld, Random Walk, Cliff Walking)
- Kiểm chứng lý thuyết: curve hội tụ, so sánh on/off-policy, bias-variance tradeoff
Phần 3 – Nghiên cứu tiên tiến và mở rộng:
- Trình bày 6 bài báo sau năm 2021 về actor-critic, sequence modeling/offline RL và value-based offline RL
- Tổng hợp xu hướng RL hiện đại: deep actor-critic, long-horizon sequence modeling, offline RL, distribution shift và function approximation
- Cài đặt 3 demo Phase 3 đơn giản hoá cho deep actor-critic, Elastic Decision Transformer và IVR/in-sample Q-learning
- Chứng minh đầy đủ định lý hội tụ Q-Learning (Watkins & Dayan, 1992)
- Counter-example cho điều kiện hội tụ: non-stationary MDP, deadly triad
- Mở rộng lý thuyết: Approximate RL với function approximation
- Demo bài báo tiên tiến: 3 demo chạy được, sinh hình vào
report/figures/ - Phân tích sample complexity: so sánh model-free vs model-based
- Đề xuất cải tiến có cơ sở lý thuyết: In-Support Elastic Actor-Critic
reinforcement-learning-project/
├── README.md ← File này
├── report/
│ ├── main.tex ← File LaTeX chính
│ ├── hcmus-report-template.sty
│ ├── content/ ← Các file nội dung báo cáo
│ │ ├── title.tex
│ │ ├── glossary.tex ← Bảng thuật ngữ RL
│ │ ├── intro.tex ← Giới thiệu
│ │ ├── prerequisites.tex ← Kiến thức chuẩn bị
│ │ ├── theory.tex ← Lý thuyết chính
│ │ ├── theory_td.tex ← Temporal Difference Learning
│ │ ├── theory_qlearning.tex ← Q-Learning và SARSA
│ │ ├── theory_approx.tex ← Approximate RL
│ │ ├── extension_sample_complexity.tex
│ │ ├── experiments.tex ← Thực nghiệm
│ │ ├── research.tex ← Nghiên cứu tiên tiến
│ │ ├── research_overview.tex
│ │ ├── research_policy_optimization.tex
│ │ ├── research_sequence_modeling.tex
│ │ ├── research_value_based_offline.tex
│ │ ├── research_demos.tex ← Báo cáo demo
│ │ └── conclusion.tex ← Kết luận
│ ├── appendix/
│ │ └── appendix.tex ← Phụ lục
│ ├── figures/ ← Hình từ code Python
│ │ ├── 01_gridworld_policy.png
│ │ ├── 01_gridworld_values.png
│ │ ├── 01_vi_pi_convergence.png
│ │ ├── 02_eligibility_heatmap.pdf
│ │ ├── 02_learned_values.pdf
│ │ ├── 02_td_vs_mc.pdf
│ │ ├── 03_learning_curve.pdf
│ │ ├── 03_optimal_paths.pdf
│ │ ├── 03_q_heatmap_ql.pdf
│ │ ├── 03_q_heatmap_sarsa.pdf
│ │ ├── 04_reinforce_curve.png
│ │ ├── 06_demo_deep_actor_critic.png
│ │ ├── 06_demo_elastic_decision_transformer.png
│ │ └── 06_demo_insample_q_learning.png
│ ├── img/
│ │ └── hcmus-logo.png
│ ├── references.bib ← Tài liệu tham khảo (BibTeX)
│ ├── report.pdf ← File PDF báo cáo đã biên dịch
│ └── ref/
│ ├── ref.bib ← Bản tham khảo phụ, giữ để đối chiếu
│ └── ref.tex ← Wrapper nhúng bibliography
└── code/
├── README.md ← Hướng dẫn chạy code
├── requirements.txt ← Môi trường, thư viện cài đặt Python
├── 01_mdp_basics.py ← MDP + Value/Policy Iteration
├── 02_td_learning.py ← TD(0) + TD(λ)
├── 03_qlearning.py ← Q-Learning + SARSA
├── 04_policy_gradient.py ← REINFORCE + Actor-Critic
├── 05_experiments.py ← Tái tạo toàn bộ thực nghiệm
└── 06_research_demos.py ← Demo Phần 5
- Python ≥ 3.10
- Các thư viện: xem
code/requirements.txt
# Tạo môi trường ảo (khuyến nghị)
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Linux/macOS
# Cài đặt thư viện
pip install -r code/requirements.txt# Chạy từng thực nghiệm riêng lẻ
python code/01_mdp_basics.py # GridWorld + Value Iteration
python code/02_td_learning.py # TD(0) vs Monte Carlo
python code/03_qlearning.py # Q-Learning vs SARSA
python code/04_policy_gradient.py # REINFORCE
# Hoặc chạy tổng hợp (tái tạo tất cả hình trong báo cáo)
python code/05_experiments.py
# Demo: sinh 3 hình nghiên cứu tiên tiến
python code/06_research_demos.py
# Chạy riêng từng demo
python code/06_research_demos.py --demo policy
python code/06_research_demos.py --demo sequence
python code/06_research_demos.py --demo valueHình sẽ được lưu vào report/figures/.
cd report
pdflatex main.tex
bibtex main
pdflatex main.tex
pdflatex main.texMohri, M., Rostamizadeh, A., & Talwalkar, A. (2012). Foundations of Machine Learning, 1st ed. MIT Press.