Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 45 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
45
Dung lượng
1,66 MB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO ĐỒ ÁN Đề tài: Huấn luyện AI chơi game Ping Pong Giáo viên hướng dẫn: Huỳnh Tuấn Anh Nhóm sinh viên thực hiện: ● Nguyễn Lương Kiên – 18520955 ● Hoàng Thế Kỷ - 18520964 Nội dung 1.1 Định nghĩa 1.1.2 Algorithms RL — Proximal Policy Optimization (PPO) 1.2.1 Policy Optimization 1.2.2 Clipped Surrogate Objective 1.2.3 Adaptive KL Penalty Coefficient 11 1.2.4 Algorithm 12 1.3 Unity Machine Learning Agents Toolkit (ML-Agents) 14 1.3.1 Training Intelligent Agents 14 1.3.2 Unity Machine Learning Agents Toolkit 15 1.3.3 Learning Environments 16 1.3.4 Flexible Training Scenarios 17 19 HIỆN THỰC 2.1 3 Reinforcement Learning 1.1.1 1.2 LÝ THUYẾT 19 Ping Pong Game 2.1.1 Cài đặt Component cần thiết (Setup) 19 2.1.2 Cài đặt thông số (Configuration) 19 2.1.3 Cài đặt mơi trường (Environment) 22 2.1.4 Q trình huấn luyện 23 2.1.5 Áp dụng 43 45 THAM KHẢO LÝ THUYẾT 1.1 Reinforcement Learning 1.1.1 Định nghĩa Trong ngành khoa học máy tính, học tăng cường (tiếng Anh: reinforcement learning) một lĩnh vực học máy, nghiên cứu cách thức một agent một môi trường nên chọn thực hành động để cực đại hóa mợt khoản thưởng (reward) lâu dài Các thuật tốn học tăng cường cố gắng tìm mợt chiến lược ánh xạ trạng thái giới tới hành động mà agent nên chọn trạng thái Mơi trường thường biểu diễn dạng mợt q trình định Markov trạng thái hữu hạn (Markov decision process - MDP), thuật toán học tăng cường cho ngữ cảnh có liên quan nhiều đến kỹ thuật quy hoạch động Các xác suất chuyển trạng thái xác suất thu lợi MDP thường ngẫu nhiên lại tĩnh q trình tốn (stationary over the course of the problem) Khác với học có giám sát, học tăng cường khơng có cặp liệu vào/kết đúng, hành động gần tối ưu không đánh giá sai một cách tường minh Hơn nữa, hoạt động trực tuyến (on-line performance) quan tâm, có việc tìm kiếm mợt cân khám phá (lãnh thổ chưa lập đồ) khai thác (tri thức có) Trong học tăng cường, khám phá khai thác nghiên cứu chủ yếu qua toán multi-armed bandit Mợt cách hình thức, mơ hình học tăng cường bao gồm: ● S: tập trạng thái môi trường ● A: tập hành động ● R: tập khoản "thưởng" với giá trị vô hướng Tại thời điểm t, agent thấy trạng thái st �S tập hành đợng A( st ) Nó chọn mợt hành động a �A(st ) nhận từ môi trường trạng thái st 1 một khoản thưởng rt 1 Dựa tương tác này, agent học tăng cường phải phát triển một chiến lược : S � A có tác dụng cực đại hóa lượng R r0 r1 rn với MDP có mợt trạng thái kết thúc, lượng R t rt với MDP khơng có trạng thái kết thúc (trong γ mợt hệ số giảm khoản "thưởng tương lai" đó, với giá trị khoảng 0.0 1.0) t Do đó, học tăng cường đặc biệt thích hợp cho tốn có khoản thưởng ngắn hạn dài hạn Học tăng cường áp dụng thành cơng cho nhiều tốn, có điều khiển robot, điều vận thang máy, viễn thông, trò chơi backgammon cờ vua 1.1.2 Algorithms Sau ta định nghĩa mợt hàm trả thích hợp cần cực đại hóa, ta cần rõ thuật tốn sử dụng để tìm chiến lược thu kết trả cao Có hai cách tiếp cận chính, cách tiếp cận hàm giá trị cách tiếp cận trực tiếp Cách tiếp cận trực tiếp dẫn đến hai bước sau đây: Với chiến lược có thể, lấy mẫu kết thực chiến lược Chọn chiến lược có kết trả kỳ vọng cao Mợt vấn đề với cách tiếp cận số chiến lược lớn, chí vơ hạn Một vấn đề khác giá trị trả ngẫu nhiên, cần đến mợt lượng lớn mẫu để ước lượng xác kết trả chiến lược Cách tiếp cận trực tiếp sở cho thuật tốn dùng ngành Robotic tiến hóa Các vấn đề cách tiếp cận trực tiếp làm giảm nhẹ ta giả thiết một cấu trúc tốn cách cho phép mẫu thu từ mợt chiến lược ảnh hưởng tới ước lượng cho một chiến lược khác Cách tiếp cận hàm giá trị thực điều cách giữ một tập ước lượng giá trị trả một chiến lược π (thường chiến lược chiến lược tối ưu) Trong cách tiếp cận vậy, người ta cố gắng ước lượng một hai hàm: giá trị trả xuất phát từ trạng thái s theo chiến lược π sau, V ( s) E[ R | s, ] giá trị trả kỳ vọng thực hành động a trạng thái s theo chiến lược π nghĩa là, Q( s, a) E[ R | s, ] Nếu có sẵn chiến lược tối ưu Q, ta ln chọn hành động tối ưu đơn giản cách trạng thái chọn hành động với giá trị cao Để thực điều với V, ta phải có mợt mơ hình mơi trường, dạng xác suất P(s'|s,a), cho phép tính Q cơng thức ta sử dụng phương pháp Actor-Critic, mơ hình chia làm hai phần: phần critic giữ ước lượng giá trị trạng thái V, phần actor có trách nhiệm chọn hành đợng thích hợp với trạng thái Cho trước một chiến lược cố định π, việc ước lượng E[R|.] γ=0 đơn giản, ta phải lấy trung bình khoản thưởng trực tiếp Cách dễ thấy để thực việc với γ>0 lấy trung bình tổng trả sau trạng thái Tuy nhiên, kiểu lấy mẫu Monte Carlo đòi hỏi MPD phải kết thúc Do đó, nói chung việc ước lượng không dễ Thực ra, việc lại đơn giản ta nhận giá trị kỳ vọng R tạo nên mợt phương trình Bellman đệ quy: Bằng cách thay giá trị kỳ vọng ước lượng ta, V, thực thuật tốn gradient descent với hàm chi phí lỗi bình phương, ta thu TD(0) - thuật tốn học temporal difference learning Trong trường hợp đơn giản nhất, tập hợp trạng thái hành động rời rạc ta giữ ước lượng dạng cho trạng thái Các phương pháp cặp đôi trạng thái-hành động SARSA Q-Learning Tất phương pháp có mở rợng mà nhờ mợt kiến trúc xấp xỉ sử dụng, một số trường hợp, hội tụ không đảm bảo xảy Các ước lượng thường cập nhật một dạng gradient descent, gần có phương pháp bình phương tối thiểu cho trường hợp xấp xỉ tuyến tính Các phương pháp hội tụ ước lượng cho mợt chiến lược cố định, cịn dùng để tìm chiến lược tối ưu Việc thường thực cách theo một chiến lược π rút từ ước lượng tại, nghĩa cách luôn chọn hành động với lượng giá cao nhất, chọn hành động ngẫu nhiên để khám phá không gian Các chứng minh cho hội tụ tới chiến lược tối ưu tồn thuật tốn nói đến với mợt số điều kiện định Tuy nhiên tất chứng minh chứng tỏ hội tụ tiệm cận, lý thuyết người ta cịn biết hành vi thuật toán học tăng cường trường hợp mẫu nhỏ, ngoại trừ điều kiện tham số (setting) hạn chế Một phương pháp khác để tìm chiến lược tối ưu tìm thẳng không gian chiến lược Phương pháp không gian chiến lược định nghĩa chiến lược mợt hàm có tham số π(s,θ) với tham số θ Thông thường, một phương pháp leo đồi (gradient method) áp dụng để điều chỉnh tham số Tuy nhiên, việc áp dụng phương pháp leo đồi không đơn giản, thơng tin đợ dốc (gradient information) giả thiết Thay vào đó, đợ dốc phải ước lượng từ mẫu nhiều nhiễu (noisy samples) kết trả Do điều làm tăng mạnh chi phí tính tốn, nên việc sử dụng mợt phương pháp leo đồi mạnh leo đồi độ dốc cao nhất(steepest gradient descent) có lợi Các phương pháp leo đồi dùng cho không gian chiến lược quan tâm lớn năm trở lại đạt đến giai đoạn tương đối muồi, lĩnh vực nghiên cứu cịn hoạt đợng Có nhiều cách tiếp cận khác, chẳng hạn luyện thép (simulated annealing), dùng để khám phá không gian chiến lược Các nghiên cứu kỹ thuật phát triển 1.2 RL — Proximal Policy Optimization (PPO) 1.2.1 Policy Optimization 1.2.1.1 Policy Gradient Methods Các phương pháp sách gradient hoạt đợng cách tính tốn mợt cơng cụ ước tính sách gradient kết nối với mợt thuật tốn gradient lên ngẫu nhiên Cơng cụ ước tính gradient sử dụng phổ biến có dạng (1) πθ sách ngẫu nhiên Ât một công cụ ước lượng hàm lợi timestep t Ở đây, kỳ vọng Êt [ ] giá trị trung bình thực nghiệm mợt lơ mẫu hữu hạn, thuật toán thay lấy mẫu tối ưu hóa Các triển khai sử dụng phần mềm phân biệt tự động hoạt động cách xây dựng mợt hàm mục tiêu có gradient cơng cụ ước lượng sách; cơng cụ ước lượng g^ thu cách phân biệt mục tiêu (2) Mặc dù việc thực nhiều bước tối ưu hóa với mát L^PG cách sử dụng một quỹ đạo điều hấp dẫn, làm khơng hợp lý theo kinh nghiệm, thường dẫn đến cập nhật sách lớn mang tính hủy diệt 1.2.1.2 Trust Region Methods Trong TRPO [Sch + 15b], một hàm mục tiêu (mục tiêu "thay thế") tối đa hóa tùy tḥc vào hạn chế kích thước cập nhật sách Đặc biệt, (3) (4) Ở đây, θold vectơ tham số sách trước cập nhật Vấn đề giải gần mợt cách hiệu cách sử dụng thuật toán gradient liên hợp, sau thực xấp xỉ tuyến tính mục tiêu xấp xỉ bậc hai giới hạn Lý thuyết biện minh cho TRPO thực đề xuất sử dụng mợt hình phạt thay một ràng buộc, tức giải vấn đề tối ưu hóa khơng bị giới hạn (5) mợt số hệ số β Điều xuất phát từ thực tế mợt mục tiêu thay định (tính tốn KL tối đa qua trạng thái thay giá trị trung bình) tạo thành mợt giới hạn thấp (tức một giới hạn bi quan) hiệu suất sách π TRPO sử dụng mợt ràng ḅc cứng mợt hình phạt thật khó để chọn mợt giá trị hoạt đợng tốt vấn đề khác — chí mợt vấn đề nhất, đặc tính thay đổi q trình học Do đó, để đạt mục tiêu chúng tơi mợt thuật tốn bậc mơ cải tiến đơn điệu TRPO, thử nghiệm cho thấy không đủ đơn giản chọn một hệ số phạt cố định tối ưu hóa Phương trình đối tượng bị phạt (5) với SGD; sửa đổi bổ sung yêu cầu 1.2.2 Clipped Surrogate Objective Gọi rt (θ) biểu thị tỷ lệ xác suất rt (θ) = πθ (at | st) / πθold (at | st), r (θold) = TRPO tối đa hóa mục tiêu "thay thế" (6) Chỉ số CPI đề cập đến lặp lại sách thận trọng [KL02], mục tiêu đặt theo tỷ lệ Nếu khơng có mợt hạn chế, việc tối đa hóa LCPI dẫn đến cập nhật sách q lớn; đó, chúng tơi xem xét cách sửa đổi mục tiêu, để trừng phạt thay đổi sách làm thay đổi rt (θ) khỏi Mục tiêu mà đề xuất là: (7) epsilon mợt siêu tham số, giả sử, e = 0,2 Động lực cho mục tiêu sau Số hạng bên giá trị tối thiểu L ^ CPI Số hạng thứ hai, clip (rt (θ), − e, + e) Ât, sửa đổi mục tiêu thay cách cắt bớt tỷ lệ xác suất, loại bỏ động di chuyển rt khoảng [1 − e, + e ] Cuối cùng, lấy mức tối thiểu mục tiêu bị cắt bớt không bị lật, mục tiêu cuối giới hạn thấp (tức giới hạn bi quan) mục tiêu không bị lật Với sơ đồ này, bỏ qua thay đổi tỷ lệ xác suất làm cho mục tiêu cải thiện chúng tơi bao gồm nó làm cho mục tiêu tồi tệ Lưu ý L ^ CLIP (θ) = L ^ CPI (θ) cho thứ tự xung quanh θold (tức là, = 1), nhiên, chúng trở nên khác θ di chuyển khỏi θold Hình vẽ mợt số hạng (tức một số lẻ) L ^ CLIP; lưu ý tỷ lệ xác suất r cắt bớt − e + e tùy tḥc vào lợi tích cực hay tiêu cực Hình 1: Các đồ thị hiển thị một số hạng (tức một bước thời gian) hàm thay L ^ CLIP một hàm tỷ lệ xác suất, cho lợi tích cực (trái) lợi tiêu cực (phải) Vòng tròn màu đỏ ô hiển thị điểm bắt đầu cho việc tối ưu hóa, tức r = Lưu ý L ^ CLIP tổng nhiều thuật ngữ số Hình cung cấp mợt nguồn trực giác khác mục tiêu thay L ^ CLIP Nó cho thấy mợt số mục tiêu khác nội suy dọc theo hướng cập nhật sách, thu cách tối ưu hóa sách gần (thuật tốn mà chúng tơi giới thiệu sau đây) một vấn đề kiểm sốt liên tục Chúng ta thấy L ^ CLIP một giới hạn thấp L ^ CPI, với mợt hình phạt cho việc cập nhật sách lớn 10 2.1.4.2.8 Kết Hình Cumulative Reward, Smooth 0.999, Test 1.0 Hình Episode Length, Smooth 0.999, Test 1.0 Hình ELO, Smooth 0.999, Test 1.0 2.1.4.2.9 Nhận xét Reward lên, độ dài episode lên ELO lại xuống => Agent huấn luyện với phiên theo thời gian Reward nhận khơng mong đợi 31 Trong q trình quan sát, bóng cịn tượng bật vô tận với hai agent phương ngang => Dự đoán nguyên nhân dẫn đến ELO giảm 2.1.4.3 Thử nghiệm lần (Test 2.1, 2.2, 2.3) 2.1.4.3.1 Configuration (Khơng thay đổi) 2.1.4.3.2 Input Vị trí y, vận tốc y Agent Vị trí x, y vận tốc x, y trái bóng 2.1.4.3.3 Output (Khơng thay đổi) 2.1.4.3.4 Episode (Không thay đổi) 2.1.4.3.5 Reward Policy (Không thay đổi) 2.1.4.3.6 Huấn luyện (Không thay đổi) 2.1.4.3.7 Ghi Bóng reset: đặt ngẫu nhiên phạm vi xác định xuất phát theo hướng ngẫu nhiên bắt đầu một agent ghi điểm Khi bóng va chạm, bóng nhận mợt velocity ngẫu nhiên (theo góc phần tư thứ nhất) làm thay đổi nhỏ cho hướng bật lại bóng để giảm thiểu tình 32 bật vơ tận bóng va chạm với tường đối diện theo phương gần thẳng đứng nằm ngang Nếu agent khơng nhận bóng thời gian 10s, bóng reset lại tiếp tục episode Thử ngiệm trải ba lần huyến luyện, tổng thời gian phút 8s 2.1.4.3.8 Kết Hình Cumulative Reward, Smooth 0.999, Test 2.1 - Test 2.2 - Test 2.3 Hình Episode Length, Smooth 0.999, Test 2.1 - Test 2.2 - Test 2.3 33 Hình 10 ELO, Smooth 0.999, Test 2.1 - Test 2.2 - Test 2.3 2.1.4.3.9 Nhận xét: Reward, độ dài episode tăng không ổn định, ELO tăng xuống thời gian đầu Reward nhận không mong đợi Trong q trình quan sát, bóng cịn tượng bật vô tận với hai agent phương ngang, mép sàn đấu Có bug thuật tốn ngăn việt lặp vơ tận bóng (Ghi 4) không gây ảnh hưởng to lớn đến kết 2.1.4.4 Thử nhiệm lần (Test 3.1, 3.2) Configuration (Không thay đổi) 2.1.4.4.1 Input (Không thay đổi) 2.1.4.4.2 Output (Không thay đổi) 34 2.1.4.4.3 Episode (Không thay đổi) 2.1.4.4.4 Reward Policy +1 đỡ bóng +1 thắng -1 thua 2.1.4.4.5 Huấn luyện (Không thay đổi) 2.1.4.4.6 Ghi Bóng reset: đặt ngẫu nhiên phạm vi xác định xuất phát theo hướng ngẫu nhiên bắt đầu một episode Cả hai Agent reset: đặt vị trí y ngẫu nhiên phạm vi xác định bắt đầu mợt episode Khi bóng va chạm, bóng nhận mợt velocity ngẫu nhiên (theo phương) làm thay đổi nhỏ cho hướng bật lại bóng để giảm thiểu tình bật vơ tận bóng va chạm với tường đối diện theo phương gần thẳng đứng nằm ngang Debug (Nhận xét thử nghiệm 2): Nếu Agent khơng nhận bóng 15s, bóng Agent reset tiếp tục episode Thử nghiệm trải qua lần huấn luyện, tổng thời gian 14 phút 56s 35 2.1.4.4.7 Kết quả: Hình 11 Cumulative Reward, Smooth 0.999, Test 3.1 - Test 3.2 Hình 12 Episode Length, Smooth 0.999, Test 3.1 - Test 3.2 Hình 13 ELO, Smooth 0.999, Test 3.1 - Test 3.2 36 2.1.4.4.8 Nhận xét Reward, Episode Length ELO tăng mạnh so với thử nghiệm không ổn định 37 2.1.4.5 Thử nghiệm (Test 4.0) 2.1.4.5.1 Configuration 38 39 Hình 14 Configuration, Test 4.0 Thay đổi: Hyperparameters: batch_size, buffer_size Network_settings: normalize, hidden_units, num_layers 2.1.4.5.2 Input (Không thay đổi) 2.1.4.5.3 Output (Không thay đổi) 2.1.4.5.4 Episode (Không thay đổi) 2.1.4.5.5 Reward Policy (Không thay đổi) 2.1.4.5.6 Huấn luyện (Không thay đổi) 2.1.4.5.7 Ghi Bóng reset: đặt ngẫu nhiên phạm vi xác định xuất phát theo hướng ngẫu nhiên bắt đầu một episode Cả hai Agent reset: đặt vị trí y ngẫu nhiên phạm vi xác định bắt đầu một episode Khi bóng va chạm, bóng nhận mợt velocity ngẫu nhiên (theo phương) làm thay đổi nhỏ cho hướng bật lại bóng để giảm thiểu tình bật vơ tận bóng va chạm với tường đối diện theo phương gần thẳng đứng nằm ngang 40 Nếu Agent không nhận bóng 15s, bóng Agent reset tiếp tục episode Thử nghiệm trải qua lần huấn luyện, tổng thời gian phút 56s 2.1.4.5.8 Kết Hình 15 Cumulative Reward, Smooth 0.999, Test 4.0 Hình 16 Episode Length, Smooth 0.999, Test 4.0 41 Hình 17 ELO, Smooth 0.999, Test 4.0 2.1.4.5.9 Nhận xét Sau thay đổi configuration cho thuật toán, Reward, Episode Length ELO tăng chậm so với thử nghiệm lần ổn định rõ rệt 2.1.4.6 Kết luận Tuy khơng hồn hảo, thử nghiệm kết cuối trình huấn luyện mạng học sâu với game Ping Pong đáp ứng kết ngưỡng chấp nhận tăng trưởng thời gian hợp lý 42 2.1.5 Áp dụng 2.1.5.1 AI vs AI Hình 18 AI vs AI Thời gian chơi: xấp xỉ 10 phút Kết : AI 1: AI 2: 43 2.1.5.2 Player vs AI Hình 19 Player vs AI Thời gian chơi: xấp xỉ phút (Player bỏ cuộc) Kết quả: Player: AI: 2.1.5.3 Kết luận: Player gần ghi điểm Theo quan sát, AI cố gắng di chuyển vị trí y AI theo vị trí y bóng Mạng học sâu hiệu 44 THAM KHẢO Reinforcement Learning: Wikipedia (https://vi.wikipedia.org/wiki/H%E1%BB %8Dc_t%C4%83ng_c%C6%B0%E1%BB%9Dng) RL — Proximal Policy Optimization (PPO): (https://arxiv.org/abs/1707.06347v2? source=post_page -) Unity Machine Learning Agents Toolkit (ML-Agents): Unity Blog (https://blog.unity.com/technology/introducing-unity-machine-learning-agents) Code Monkey (2020, November 30) How to use Machine Learning AI in Unity! (ML-Agents) Youtube https://www.youtube.com/watch?v=zPFU30tbyKs Unity Technology (2021, June 3) Website https://github.com/UnityTechnologies/ml-agents/blob/main/docs/Installation.md Unity Technology (2021, May 27) Website https://github.com/UnityTechnologies/ml-agents/blob/main/docs/Training-Configuration-File.md Sebastian Schuchmann (2020, August 23) Unity ML-Agents 1.0+ - Self Play explained Youtube https://www.youtube.com/watch?v=zAtcRbYdvuw&t=70s 45 ... 2.1.5.1 AI vs AI Hình 18 AI vs AI Thời gian chơi: xấp xỉ 10 phút Kết : AI 1: AI 2: 43 2.1.5.2 Player vs AI Hình 19 Player vs AI Thời gian chơi: xấp xỉ phút (Player bỏ cuộc) Kết quả: Player: AI: ... phép agent huấn luyện với đối thủ phiên ngẫu nhiên phiên cũ thân (Huấn luyện với thân) Trong một lần huấn luyện, có mợt team/agent học (learning agent/team) một team không học (fixed agent/team)... 1.2 LÝ THUYẾT 19 Ping Pong Game 2.1.1 Cài đặt Component cần thiết (Setup) 19 2.1.2 Cài đặt thông số (Configuration) 19 2.1.3 Cài đặt mơi trường (Environment) 22 2.1.4 Q trình huấn luyện 23 2.1.5