1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ Án môn học lập trình windows quản lý shop bán bán quần Áo

22 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Quản lý shop bán bán quần áo
Tác giả Đặng Thành Phúc, Trần Đức Dương, Tạ Hoàng Phước
Người hướng dẫn TS. Nguyễn Đình Ánh
Trường học Trường Đại học Công nghệ TP. Hồ Chí Minh
Chuyên ngành Công nghệ thông tin
Thể loại Đồ Án Môn Học
Năm xuất bản 2023
Thành phố Tp.HCM
Định dạng
Số trang 22
Dung lượng 5,63 MB

Nội dung

1.2 Giới thiệu về reinforcement learning Reinforcement Learning là một lĩnh vực trong trí tuệ nhân tạo AI nói chung vàMachine Learning nói riêng mà một tác tử hoặc máy tính agent tương

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH

ĐỒ ÁN MÔN HỌC: Lập trình Windows

Quản lý shop bán bán quần áo

Ngành: Công nghệ thông tin

Giảng viên hướng dẫn: TS Nguyễn Đình Ánh

Nhóm trưởng: Đặng Thành Phúc Mã SV: 2180605546 Lớp: 21DTHA5Thành viên: Trần Đức Dương Mã SV: 2180602107 Lớp: 21DTHA5Thành viên: Tạ Hoàng Phước Mã SV: 2180601194 Lớp: 21DTHA5

Tp.HCM, ngày 20 tháng 10 năm 2023

Trang 2

Mục Lục

Chương 1: Giới thiệu 3

1.1 Mục tiêu bài báo cáo 3

1.2 Giới thiệu về reinforcement learning 3

Chương 2: Khái niệm cơ bản trong Reinforcement Learning 4

Chương 3: Thuật toán Q-Learning 5

3.1 Giới thiệu về Q-Learning 5

3.2 Công thức cập nhật Q-Value (Bellman Equation) 5

3.3 Ví dụ minh họa 6

3.4 Ứng dụng của Q-Learning trong trò chơi 8

Chương 4: Thuật toán SARSA 9

4.1 Giới thiệu về SARSA 9

4.2 Công thức cập nhật Q-Value trong SARSA 9

4.3 Ví dụ minh họa 9

4.4 Ứng dụng của SARSA trong trò chơi 12

Chương 5: Thuật toán Deep Q-Network (DQN) 13

5.1 Giới thiệu về DQN 13

5.2 Kiến trúc của mạng nơ-ron trong DQN 13

5.3 Các thành phần của DQN 14

1 Main Network (Mạng Nơ-ron Chính): 14

2 Target Network (Mạng Nơ-ron Phụ): 14

3 Replay Buffer (Bộ Nhớ Đệm Trải Nghiệm): 14

5.4 Cập nhật Q-Value trong DQN 16

5.5 Ứng dụng của DQN trong trò chơi 16

Chương 6: Ứng dụng của Reinforcement Learning trong trò chơi 17

Chương 7: Kết Luận 21

Chương 8: Tài liệu tham khảo 22

Trang 3

Chương 1: Giới thiệu1.1 Mục tiêu bài báo cáo

− Mục tiêu chính của bài báo cáo này là tìm hiểu về trí tuệ nhân tạo, đặc biệt làreinforcemnent learning, bao gồm các khái niệm quan trọng và các thuật toán phổbiến như Q-Learning, SARSA, và DQN

− Bài báo cáo này sẽ sử dụng ví dụ cụ thể và minh họa để giúp độc giả hiểu sâu hơn vềlĩnh vực reinforcement learning và các thuật toán liên quan Đồng thời, bài báo cáo sẽtập trung vào việc trình bày thông tin cơ bản và quan trọng

1.2 Giới thiệu về reinforcement learning

Reinforcement Learning là một lĩnh vực trong trí tuệ nhân tạo (AI) nói chung vàMachine Learning nói riêng mà một tác tử hoặc máy tính (agent) tương tác với môitrường (environment) thông qua các hành động (action) và nhận các phần thưởng(reward) tương ứng với các hành động đó Mục tiêu của agent là học cách lựa chọncác hành động để tối đa hóa tổng phần thưởng mà nó nhận được trong quá trìnhtương tác với môi trường

Trang 4

Chương 2: Khái niệm cơ bản trong Reinforcement Learning

2.1 Môi trường (Environment): Là nơi tác tử hoạt động và tương tác để học và raquyết định Môi trường đại diện cho bất kỳ tình huống hoặc hệ thống nào mà tác tử cốgắng hiểu và tương tác với nó để đạt được mục tiêu

2.2 Tác tử (Agent): Là thực thể hoặc chương trình máy tính có khả năng tương tácvới môi trường để học và đưa ra quyết định Tác tử có nhiệm vụ tối ưu hóa một mụctiêu cụ thể hoặc tối ưu hóa tổng phần thưởng mà nó thu được trong quá trình tương tác

2.3 Trạng thái (State): Trạng thái đại diện cho tình hình hiện tại của môi trường.Tác tử quan sát trạng thái để quyết định hành động tiếp theo

2.4 Hành động (Action): Hành động là các quyết định mà tác tử có thể thực hiện.Mục tiêu của tác tử là chọn hành động sao cho tối ưu hóa phần thưởng mà nó nhậnđược từ môi trường

2.5 Phần thưởng (Reward): Phần thưởng là một số số học hoặc giá trị đại diệncho đánh giá của tác tử về hành động mà nó thực hiện trong trạng thái hiện tại Phầnthưởng có thể được sử dụng để định rõ mục tiêu hoặc mức độ thành công của tác tử

2.6 Mục tiêu (Goal): Mục tiêu đại diện cho trạng thái đích hoặc mục tiêu mà tác tử

cố gắng đạt được trong quá trình tương tác với môi trường

2.7 Chính sách (Policy): Chính sách là một hàm hoặc chiến lược xác định cách tác

tử chọn hành động dựa trên trạng thái hiện tại Mục tiêu của học tăng cường là học chínhsách tối ưu hoặc hàm giá trị tối ưu

Trang 5

Chương 3: Thuật toán Q-Learning3.1 Giới thiệu về Q-Learning

 Q-Leaning là một thuật toán học tăng cường không mô hình Nó cũng có thểđược xem như một phương pháp lập trình động không đồng bộ (DP) Nó cungcấp cho các tác nhân khả năng học cách hành động tối ưu trong các miềnMarkovian bằng cách trải nghiệm các chuỗi hành động mà không yêu cầu họxây dựng bản đồ của các miền

 Một tác nhân thử một hành động ở một trạng thái cụ thể và đánh giá kết quảcủa nó thông qua các phần thưởng hoặc hình phạt

 Bằng cách thử lặp đi lặp lại tất cả các hành động ở tất cả các trạng thái, nó sẽhọc được hành động nào là tốt nhất nhìn chung, được đánh giá bằng phầnthưởng chiết khấu dài hạn

3.2 Công thức cập nhật Q-Value (Bellman Equation)

1 α (learning rate) : Thường trong khoảng từ 0 đến 1, quyết định tỷ lệ bao nhiêuthông tin mới sẽ được sử dụng trong quá trình cập nhật Nếu α lớn, tác tử sẽnhanh chóng học từ trải nghiệm mới, nhưng nếu α nhỏ, nó sẽ học chậm hơn và ổnđịnh hơn

2 Q( st, at): là giá trị Q hiện tại cho cặp trạng thái (s) và hành động (a)

3 Qnew( st, at ): là giá trị Q mới cho cặp trạng thái (s) và hành động (a)

4 γ (discount factor): Thường trong khoảng từ 0 đến 1, xác định tầm quan trọng củaphần thưởng trong tương lai Nếu γ càng lớn, tác tử sẽ quan tâm đến các phầnthưởng tương lai, trong khi γ càng nhỏ sẽ làm tác tử tập trung vào việc đạt đượcphần thưởng ngay lập tức

5 maxQ(s ,a): Lấy giá trị Q-Value lớn nhất của trạng thái tiếp theo

Trang 7

3 Cập nhập Q-Value cho state cũ và Q-Value lớn nhất có thể cho trạng thái tiếptheo

4 Thiết lập trạng thái đến trạng thái mới và lặp lại quá trình này đến tận khi gặpđược trạng thái kết thúc

Trang 8

3.4 Ứng dụng của Q-Learning trong trò chơi

 Q-Learning có rất nhiều ứng dụng trong trò chơi và đã được sử dụng rộng rãitrong lĩnh vực trò chơi máy tính Dưới đây là một số cách Q-Learning được ápdụng trong trò chơi:

−Chơi cờ và trò chơi bàn: Q-Learning có thể được sử dụng để học các chiến lượcchơi cờ, cờ vua, cờ caro và nhiều trò chơi bàn khác Tác tử (ví dụ: mộtchương trình máy tính) có thể học từ kinh nghiệm chơi và cải thiện kỹ năngchơi qua thời gian

− Trò chơi video: Q-Learning đã được sử dụng để điều khiển các tác tử trongtrò chơi video Ví dụ phổ biến là học cách chơi trò chơi Atari bằng cách đọchình ảnh và đưa ra các hành động tối ưu Đây là một ví dụ về việc sử dụngthuật toán DQN (Deep Q-Network), một biến thể của Q-Learning, trong tròchơi

− Tự động lái xe: Q-Learning và các biến thể khác của nó đã được sử dụng đểđiều khiển xe tự động trong các mô phỏng hoặc thậm chí trong thực tế Tác tửphải học cách đưa ra các quyết định tối ưu để lái xe an toàn và hiệu quả

− Trò chơi điện tử trực tuyến: Q-Learning có thể được áp dụng để tối ưu hóacác hành động trong trò chơi điện tử trực tuyến, ví dụ như quản lý tài nguyên,tìm kiếm đối thủ, và đưa ra các hành động chiến đấu tối ưu

− Chơi trò chơi trực tuyến và máy chơi cờ điện tử: Trong một số trò chơi trựctuyến, cơ chế trí tuệ nhân tạo, bao gồm Q-Learning, được sử dụng để tạo máychơi cờ điện tử hoặc người chơi ảo với khả năng học và cải thiện qua thờigian

Trang 9

Chương 4: Thuật toán SARSA4.1 Giới thiệu về SARSA

 Thuật toán SARSA là một thuật toán học tăng cường dựa trên giá trị based), được sử dụng để học và cải thiện chính sách (policy) cho các tác tử trongmôi trường tương tác Tên "SARSA" xuất phát từ các trạng thái liên tiếp trongquá trình học: "State-Action-Reward-State-Action."

(value-4.2 Công thức cập nhật Q-Value trong SARSA

1 Q(s, a) là ước lượng Q-Value cho trạng thái và hành động hiện tại

2 α là hệ số học tập, xác định sự cân bằng giữa tốc độ học và ổn định của học

3 Rt+1là phần thưởng nhận được khi thực hiện hành động a ở trạng thái s và chuyểnsang trạng thái tiếp theo s’

4 γ là hệ số chiết khấu, xác định tầm quan trọng của phần thưởng trong tương lai

5 Q(s’, a’) là giá trị Q ước tính cho cặp trạng thái và hành động tiếp theo

4.3 Ví dụ minh họa

VD: Chuột vs vách đá

Hãy xem xét một kịch bản đơn giản, một con chuột đang cố gắng lấy một miếngphô mai Ngoài ra, có một vách đá trong bản đồ phải tránh, hoặc chuột rơi, nhậnphần thưởng âm và phải bắt đầu lại từ đầu

Trang 10

−Nếu bạn dùng Q-Learning thay vì SARSA thì nó có thể tìm được đường đi ngắnnhất

−Nhưng nó sẽ mất nhiều nhiều thời gian để train hơn vì nó có thể bỏ qua các tìnhhuống nguy hiểm mà train tiếp vào những ô không an toàn đó dẫn đến tìnhtrạng của agent sẽ về lại trạng thái ban đầu và train tiếp

Trang 11

−Nếu dùng SARSA để train thì thời gian train sẽ nhanh hơn vì SARSA có thể bỏqua các tình huống nguy hiểm mà tiếp tục train vào các con đường an toànnhưng nhược điểm là đường đi tìm được có thể không phải là đường đi tối ưunhất

Trang 12

4.4 Ứng dụng của SARSA trong trò chơi

 SARSA có nhiều ứng dụng trong lĩnh vực trò chơi Nó có thể được sử dụng đểđiều khiển các tác tử trong các trò chơi video, tối ưu hóa các hành động trong tròchơi cờ vua hoặc caro, và thậm chí trong quản lý tài sản tài chính SARSA chophép tác tử học từ kinh nghiệm và cải thiện chính sách để đạt được mục tiêu hoặctối ưu hóa phần thưởng trong môi trường trò chơi

Trang 13

Chương 5: Thuật toán Deep Q-Network (DQN)5.1 Giới thiệu về DQN

 Deep Q-Network (DQN) là một biến thể mạnh mẽ của thuật toán Q-Learning sử dụngmạng nơ-ron sâu để học và ước tính giá trị Q cho các trạng thái-hành động thay vìtrên Q-Table của Q-Learning DQN đã đạt được sự nổi tiếng lớn trong lĩnh vực họctăng cường, đặc biệt là trong ứng dụng trò chơi máy tính, nhờ khả năng tự động học

từ dữ liệu thô (ví dụ: hình ảnh màn hình trò chơi)

5.2 Kiến trúc của mạng nơ-ron trong DQN

 Mạng ron trong DQN thường là một mạng ron sâu, thường sử dụng mạng ron tích chập (Convolutional Neural Network - CNN) trong trường hợp của trò chơivideo CNN có khả năng học cách trích xuất đặc trưng từ hình ảnh màn hình trò chơi.Kiến trúc mạng nơ-ron của DQN thường gồm các lớp tích chập và lớp kết nối đầy đủ,kết hợp để ước tính giá trị Q cho từng hành động trong trạng thái hiện tại

nơ- Convolutional Neural Network (CNN) là một cụm từ dùng để chỉ mạng nơ ron tíchchập Đây là mô hình Deep Learning tiên tiến cho phép chúng ta sử dụng được các hệthống thông tin với độ chính xác vô cùng cao CNN được ứng dụng phổ biến trongnhững bài toán nhận dạng object trong ảnh

Thuật toán CNN

Trang 14

5.3 Các thành phần của DQN

1 Main Network (Mạng Nơ-ron Chính):

 Khái niệm: Mạng nơ-ron chính là mạng nơ-ron được sử dụng để ước tính giátrị Q cho từng trạng thái và hành động

 Nhiệm vụ: Mạng nơ-ron chính thường là mạng nơ-ron sâu bao gồm các lớptích chập (CNN) và lớp kết nối đầy đủ Nó học cách trích xuất đặc trưng từ dữliệu đầu vào (ví dụ: hình ảnh trò chơi) và ước tính giá trị Q dựa trên các trạngthái và hành động Mạng nơ-ron chính là thành phần chính được huấn luyệntrong quá trình DQN

2 Target Network (Mạng Nơ-ron Phụ):

 Khái niệm: Target network là một mạng nơ-ron phụ được sử dụng để ước tínhgiá trị Q dự kiến khi cập nhật mô hình chính Nó có cấu trúc tương tự mạngchính, nhưng nó thay đổi chậm hơn

 Nhiệm vụ: Target network giúp ổn định quá trình học bằng cách tạo ra mộtbản sao của mạng nơ-ron chính Khi cập nhật giá trị Q, ta sử dụng targetnetwork để tính toán giá trị Q dự kiến trong tương lai Target network thayđổi chậm hơn mạng nơ-ron chính, giúp ổn định quá trình học

3 Replay Buffer (Bộ Nhớ Đệm Trải Nghiệm):

 Khái niệm: Replay Buffer là một thành phần trong thuật toán học tăng cường,đóng vai trò như một bộ nhớ để lưu trữ trải nghiệm trước đó của tác tử Trảinghiệm này bao gồm các cặp trạng thái-hành động, phần thưởng và trạng tháitiếp theo mà tác tử đã trải qua khi tương tác với môi trường

Trang 15

 Nhiệm vụ: Replay Buffer có một số nhiệm vụ quan trọng trong quá trình họctăng cường và đặc biệt trong thuật toán DQN:

1 Giảm tương tác dự đoán: Bằng cách lưu trữ trải nghiệm trước đó,Replay Buffer giảm sự tương tác dự đoán của dữ liệu Thay vì cậpnhật mô hình Q sau mỗi hành động, tác tử có thể lấy mẫu trải nghiệm

từ bộ nhớ đệm để cập nhật dữ liệu một cách hiệu quả hơn

2 Tạo dữ liệu đa dạng: Replay Buffer cho phép tác tử học từ các trảinghiệm đa dạng Bằng cách ngẫu nhiên lấy mẫu các trải nghiệm từ bộnhớ đệm, tác tử có cơ hội học từ nhiều tình huống và cách tương táckhác nhau với môi trường

3 Lịch sử trải nghiệm: Replay Buffer giúp xây dựng một lịch sử củatrải nghiệm mà tác tử đã trải qua Điều này giúp cập nhật mô hình Qmột cách ổn định và dựa trên nhiều trạng thái và hành động trước đó

4 Học từ trải nghiệm trước đó: Replay Buffer cho phép tác tử học từtrải nghiệm đã lưu trữ, bất kể trạng thái và hành động đã thực hiện.Điều này giúp cải thiện khả năng học và tối ưu hóa mô hình Q

Trang 16

5.4 Cập nhật Q-Value trong DQN

1 Tại trạng thái ban đầu, tác tử quan sát một hình ảnh của môi trường

2 Tác tử sử dụng mạng nơ-ron chính để dự đoán giá trị Q cho tất cả các hành động cóthể

3 Tác tử chọn một hành động dựa trên chính sách, ví dụ: "đi lên."

4 Tác tử thực hiện hành động "đi lên" và quan sát phần thưởng và trạng thái tiếp theo

5 Trải nghiệm này (trạng thái, hành động, phần thưởng, trạng thái tiếp theo) được lưu trữtrong Replay Buffer

6 Sau một số bước, tác tử lấy mẫu ngẫu nhiên trải nghiệm từ Replay Buffer và sử dụngchúng để cập nhật mạng nơ-ron chính và mạng mục tiêu bằng công thức cập nhật giá trịBellman Equation

7 Cả quá trình này được lặp lại cho đến khi tập trò chơi kết thúc hoặc một điều kiệndừng nào đó được đạt

5.5 Ứng dụng của DQN trong trò chơi

 DQN đã có những thành công đáng kể trong ứng dụng trò chơi máy tính, như chơi tròchơi Atari bằng cách đọc hình ảnh từ màn hình trò chơi Nó đã thể hiện khả năng học vàtối ưu hóa chính sách (policy) của tác tử trong các môi trường trò chơi phức tạp Ngoài ra,DQN cũng có thể được áp dụng trong nhiều ứng dụng khác, như điều khiển robot tựđộng hoặc quản lý tài sản tài chính

Trang 17

Chương 6: Ứng dụng của Reinforcement Learning trong trò chơi

6.1 Lý do sử dụng Reinforcement Learning trong trò chơi

 RL giúp trò chơi tự học và trở nên thông minh hơn

 Nó cho phép tạo ra đối thủ máy tính thú vị và thách thức

 RL cải thiện chiến lược chơi và độ khó của trò chơi

 Nó giúp thử nghiệm và sáng tạo nhanh chóng trong phát triển trò chơi

Một màn hình tại hội nghị thượng đỉnh Future of Go ở Wuzhen, Trung Quốc, giữđiểm số trong trận đấu giữa kỳ thủ Trung Quốc Ke Jie và AI AlphaGo của Google

Ảnh: Wu Hong/EPA

Trang 18

 OpenAI Five: Đội ngũ máy tính OpenAI Five sử dụng RL để chơi game Dota 2,một trò chơi MOBA phức tạp Chúng đã thể hiện sự hiểu biết sâu rộng về trò chơi

và đánh bại các đội ngũ chuyên nghiệp

OpenAi five thắng tuyển thủ chuyên nghiệp

Trang 19

 AlphaZero: AlphaZero là phiên bản tiếp theo của AlphaGo, sử dụng RL để học

và chơi nhiều trò chơi, bao gồm cờ vây, cờ tướng và shogi Nó đã chứng minhkhả năng học tự động và thích nghi với nhiều trò chơi khác nhau, một trò chơiMOBA phức tạp

Trang 20

 Cải thiện hiệu suất và kỹ năng: Sử dụng RL đã cải thiện hiệu suất và kỹ năngcủa trò chơi Các đối thủ máy tính thông minh có khả năng tối ưu hóa chiến lược

và cung cấp trải nghiệm chơi game chất lượng cao hơn

 Trò chơi thách thức: RL đã giúp tạo ra các trò chơi với độ khó và thách thức cao.Người chơi phải tư duy chiến lược để thành công, làm cho trò chơi trở nên hấpdẫn và đáng chơi

 Sáng tạo trong thiết kế trò chơi: RL đã mở ra cánh cửa cho sự sáng tạo trongthiết kế trò chơi Nó cho phép tạo ra các trò chơi độc đáo và thú vị, có khả năngthích nghi với sở thích của người chơi

 Tiềm năng phát triển:

 Trò chơi thế hệ mới: RL có tiềm năng để phát triển các trò chơi hoàn toàn mới,với cách thức chơi và tương tác độc đáo Điều này có thể thay đổi cách chúng tatrải nghiệm trò chơi trong tương lai

 Tích hợp trí tuệ nhân tạo: RL có thể kết hợp với các hệ thống trí tuệ nhân tạokhác để tạo ra trò chơi có độ phức tạp cao hơn, với đối tượng và môi trườngtương tác phức tạp

 Trò chơi động như thực tế: RL có tiềm năng để tạo ra các trò chơi động nhưthực tế, nơi môi trường và đối tượng trong trò chơi phản ánh các tình huốngthực tế và đáp ứng tương tác người chơi một cách tự nhiên

 Ứng dụng rộng rãi: RL có tiềm năng được áp dụng rộng rãi trong nhiều lĩnh vựcngoài trò chơi, bao gồm giáo dục, y tế, quản lý tài nguyên, và nhiều ứng dụngkhác

Ngày đăng: 31/10/2024, 21:44

w