Báo cáo học máy tuần 9

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 32

BỘ CÔNG THƯƠNG

TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP. HCM


KHOA CÔNG NGHỆ THÔNG TIN
---------------------------

BÁO CÁO BÀI TẬP NHÓM

Tìm hiểu 02 thuật toán về học tăng cường:


Double Q-learning, Deep Q-Learning

GVHD: Trần Đình Toàn


Thành viên nhóm :
2001206957 - Phạm Thanh Tịnh
2001215823 - Nguyễn Quốc Gia Huy
2001215706 - Nguyễn Quốc Đạt

TP. HỒ CHÍ MINH, tháng 3 năm 2024


BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP. HCM
KHOA CÔNG NGHỆ THÔNG TIN
---------------------------

BÁO CÁO BÀI TẬP NHÓM

Tìm hiểu 02 thuật toán về học tăng cường:


Double Q-learning, Deep Q-Learning

GVHD: Trần Đình Toàn


Thành viên nhóm :
2001206957 - Phạm Thanh Tịnh
2001215823 - Nguyễn Quốc Gia Huy
2001215706 - Nguyễn Quốc Đạt

TP. HỒ CHÍ MINH, tháng 3 năm 2024


Mục lục
I. Giới thiệu.....................................................................................................................1
1. Khái niệm về học tăng cường................................................................................1
2. Cách thức hoạt động của học tăng cường............................................................1
3. Các loại thuật toán của học tăng cường................................................................2
4. Sự khác biệt giữa học tăng cường, học có giám sát và học không có giám sát. 4
5. Các lợi ích và khó khăn của học tăng cường........................................................5
5.1. Lợi ích...............................................................................................................5
5.2. Khó khăn..........................................................................................................6
6. Ứng dụng thực tế....................................................................................................6
II. Double Q-learning..................................................................................................7
1. Tổng quan về Double Q-learning..........................................................................7
1.1. Lịch sử ra đời...................................................................................................7
1.2. Khái niệm.........................................................................................................7
2. Cách thức hoạt động...............................................................................................8
2.1. Thuật toán cơ bản...........................................................................................8
2.2. Convergence in the Limit...............................................................................9
2.3. Vấn đề overestimation bias...........................................................................13
3. Thí nghiệm.............................................................................................................13
3.1. Roulette..........................................................................................................14
3.2. Grid World.....................................................................................................16
4. Lợi ích và khó khăn..............................................................................................17
4.1. Lợi ích.............................................................................................................17
4.2. Khó khăn........................................................................................................17
5. Ứng dụng vào thực tế...........................................................................................18
III. Deep Q-Learning..................................................................................................19
1. Tổng quan về Deep Q-learning............................................................................19
1.1. Lịch sử ra đời.................................................................................................19
1.2. Khái niệm.......................................................................................................20
2. Cách thức hoạt động.............................................................................................20
2.1. Thuật toán cơ bản.........................................................................................20
2.2. Ý tưởng của Deep Q-Learning.....................................................................21
3. So sánh với Q-Learning truyền thống................................................................22
4. Deep Q-Networks (DQN).....................................................................................22
4.1. Kiến trúc của DQN........................................................................................22
4.2. Quá trình huấn luyện....................................................................................23
5. Ví dụ thực tiễn.......................................................................................................24
5.1. Ứng dụng trong học tăng cường..................................................................24
5.2. Ví dụ về bài toán mà Deep Q-Learning có thể giải quyết..........................25
5.3. Thử nghiệm trong thực tế.............................................................................26
6. Lợi ích và khó khăn..............................................................................................27
6.1. Lợi ích.............................................................................................................27
6.2. Khó khăn........................................................................................................27
IV. Tổng kết.................................................................................................................27
1. Những điều đã đạt được.......................................................................................27
2. Những điều chưa làm được..................................................................................28
3. Hướng phát triển trong tương lai........................................................................28
4. Tài liệu tham khảo....................................................................................................28
I. Giới thiệu
1. Khái niệm về học tăng cường.
Học tăng cường (RL) là kỹ thuật máy học (ML) giúp đào tạo phần mềm đưa ra
quyết định nhằm thu về kết quả tối ưu nhất. Kỹ thuật này bắt chước quy trình
học thử và sai mà con người sử dụng để đạt được mục tiêu đã đặt ra. RL giúp
phần mềm tăng cường các hành động hướng tới mục tiêu, đồng thời bỏ qua các
hành động làm xao lãng mục tiêu.

2. Cách thức hoạt động của học tăng cường.


Quá trình học thuật toán học tăng cường (RL) tương tự như học tăng cường ở
con người và động vật trong lĩnh vực tâm lý học hành vi. Ví dụ, một đứa trẻ có
thể phát hiện ra rằng chúng nhận được lời khen từ cha mẹ khi chúng giúp anh
chị em hoặc dọn dẹp nhưng nhận được phản ứng tiêu cực khi chúng ném đồ
chơi hoặc la hét. Chẳng mấy chốc, đứa trẻ sẽ nhận ra được sự kết hợp của các
hoạt động nào mang đến phần thưởng cuối cùng.

Thuật toán RL bắt chước quá trình học tập tương tự. Thuật toán này thử các
hoạt động khác nhau để tìm hiểu các giá trị tiêu cực và tích cực liên quan để
đạt được kết quả phần thưởng cuối cùng.

Khái niệm chính


Trong học tăng cường, có một vài khái niệm chính:
 Tác tử là thuật toán ML (hoặc hệ thống tự trị)
 Môi trường là không gian vấn đề thích ứng với các thuộc tính như
biến, giá trị ranh giới, quy tắc và hành động hợp lệ
 Hành động là một bước mà tác tử RL thực hiện để điều hướng môi
trường
 Trạng thái là môi trường tại một thời điểm nhất định

1
 Phần thưởng là giá trị dương, âm hoặc bằng không - nói cách khác là
phần thưởng hoặc hình phạt - cho việc thực hiện một hành động
 Phần thưởng tích lũy là tổng của tất cả các phần thưởng hoặc giá trị
cuối cùng

3. Các loại thuật toán của học tăng cường.


Học tăng cường (RL) sử dụng nhiều thuật toán khác nhau, chẳng hạn như Q-
learning, phương pháp policy gradient, phương pháp Monte Carlo và học
temporal difference. Deep RL là ứng dụng mạng nơ-ron sâu trong học tăng
cường. Trust Region Policy Optimization (TRPO) là một ví dụ về thuật toán
deep RL.
Tất cả các thuật toán này có thể được nhóm thành hai danh mục lớn.

RL dựa trên mô hình

RL dựa trên mô hình thường được sử dụng trong trường hợp môi trường được
xác định rõ ràng và không thay đổi, đồng thời khó có thể kiểm thử môi trường
trong thế giới thực.

Đầu tiên, tác tử sẽ dựng đại diện nội bộ (mô hình) của môi trường. Quy trình
xây dựng mô hình này như sau:
2
1. Tác tử thực hiện các hành động trong môi trường và ghi nhận trạng
thái mới cũng như giá trị khen thưởng
2. Tác tử liên kết quá trình chuyển đổi hành động thành trạng thái với giá
trị khen thưởng.
Khi mô hình hoàn tất, tác tử mô phỏng các chuỗi hành động dựa trên xác suất
khen thưởng tích lũy tối ưu. Sau đó, tiếp tục gán giá trị cho chính các chuỗi
hành động. Từ đó, tác tử phát triển các chiến lược khác nhau trong môi trường
để đạt được mục tiêu cuối mong muốn.

Ví dụ

Hãy xem xét tình huống robot học cách điều hướng tòa nhà mới để đến một
phòng cụ thể. Ban đầu, robot tự do khám phá và dựng mô hình nội bộ (hoặc
bản đồ) tòa nhà. Ví dụ: robot có thể biết sẽ gặp thang máy sau khi di chuyển về
phía trước 10 mét từ lối vào chính. Sau khi dựng bản đồ, robot có thể dựng
hàng loạt chuỗi lộ trình ngắn nhất giữa nhiều địa điểm khác nhau thường xuyên
lui tới trong tòa nhà.

RL không mô hình

RL không mô hình là lựa chọn phù hợp nhất để sử dụng cho môi trường lớn,
phức tạp và không dễ mô tả. Ngoài ra, RL không mô hình cũng là lựa chọn lý
tưởng khi môi trường không xác định và hay thay đổi, đồng thời thử nghiệm
dựa trên môi trường không đi kèm với nhược điểm lớn.

Tác tử không dựng mô hình nội bộ của môi trường và động lực, thay vào đó,
sử dụng cách tiếp cận thử và sai trong môi trường. Từ đó, ghi điểm và ghi nhận
các cặp hành động-trạng thái – và chuỗi các cặp hành động-trạng thái – để phát
triển policy.

3
Ví dụ

Hãy xem xét tình huống một chiếc xe tự hành cần điều hướng giao thông thành
phố. Đường xá, mô hình giao thông, hành vi của người đi bộ cùng vô số yếu tố
khác có thể khiến môi trường trở nên cực linh hoạt và phức tạp. Đội ngũ AI
đào tạo xe trong môi trường mô phỏng ở các giai đoạn ban đầu. Chiếc xe thực
hiện hành động dựa trên trạng thái hiện tại và nhận khen thưởng hoặc hình
phạt.

Theo thời gian, sau khi lái xe hàng triệu dặm trong vô số tình huống ảo khác
nhau, chiếc xe biết được hành động thích hợp nhất cho từng trạng thái mà
không cần mô hình hóa rõ ràng toàn bộ động lực giao thông. Khi được đưa vào
thế giới thực, ngoài áp dụng policy đã học, chiếc xe còn tiếp tục tinh chỉnh với
dữ liệu mới.

4. Sự khác biệt giữa học tăng cường, học có giám sát và học không có
giám sát.
Học tăng cường so với học có giám sát

Thuật toán học có giám sát yêu cầu xác định cả đầu vào và đầu ra liên quan
được kỳ vọng. Ví dụ: sau khi được cung cấp tập hợp hình ảnh gắn nhãn chó
hoặc mèo, thuật toán sẽ xác định hình ảnh động vật mới là chó hoặc mèo.

Thuật toán học có giám sát nghiên cứu khuôn mẫu và mối quan hệ giữa các cặp
đầu vào và đầu ra. Từ đó, dự đoán kết quả dựa trên dữ liệu đầu vào mới. Thuật
toán này cần có giám sát viên, thường là con người, để gắn nhãn từng bản ghi
dữ liệu trong tập dữ liệu đào tạo với đầu ra.

4
Ngược lại, RL có mục tiêu cuối được xác định rõ ràng dưới dạng kết quả mong
muốn nhưng không cần giám sát viên gắn nhãn trước dữ liệu liên quan. Trong
quá trình đào tạo, RL khớp đầu vào với các kết quả tiềm năng thay vì đầu ra đã
xác định. Bằng cách khen thưởng các hành vi mong muốn, thuật toán này giúp
bạn tăng khả năng đạt được kết quả tốt nhất.

Học tăng cường so với học không có giám sát

Trong quá trình đào tạo, thuật toán học không có giám sát nhận đầu vào không
có đầu ra chỉ định. Thuật toán này tìm kiếm các khuôn mẫu và mối quan hệ ẩn
trong dữ liệu thông qua phương tiện thống kê. Ví dụ: sau khi được cung cấp
tập hợp tài liệu, thuật toán có thể nhóm tập hợp này thành nhiều danh mục xác
định dựa trên từ ngữ trong văn bản. Kết quả thu được sẽ không cụ thể mà nằm
trong một phạm vi chung.

Ngược lại, RL có mục tiêu cuối được xác định trước. Dù thuật toán này sử
dụng cách tiếp cận thăm dò nhưng liên tục xác thực và cải tiến các khám phá
để tăng xác suất đạt mục tiêu cuối. Thuật toán có thể tiến hành tự đào tạo để
đạt kết quả rất cụ thể.

5. Các lợi ích và khó khăn của học tăng cường


5.1. Lợi ích
Vượt trội trong môi trường phức tạp: Thuật toán RL có thể được sử
dụng trong các môi trường phức tạp với nhiều quy tắc và thành phần
phụ thuộc. Trong cùng một môi trường, con người có thể không xác
định được hướng đi tốt nhất, ngay cả khi họ có kiến thức vượt trội về
môi trường. Thay vào đó, các thuật toán RL không mô hình thích nghi
nhanh chóng với môi trường không ngừng thay đổi và tìm ra các chiến
lược mới để tối ưu hóa kết quả thu được

5
 Cần ít thao tác từ con người: Trong các thuật toán ML truyền thống,
con người phải ghi nhãn các cặp dữ liệu để chỉ dẫn cho thuật toán. Khi
sử dụng thuật toán RL, bạn không cần thực hiện công việc này. Thuật
toán này tự học. Đồng thời, nó cũng có các cơ chế để tích hợp phản hồi
của con người, cho phép các hệ thống điều chỉnh theo sở thích, chuyên
môn và thông tin hiệu chỉnh của con người.
 Tối ưu hóa cho mục tiêu dài hạn : RL vốn tập trung vào việc tối đa
hóa kết quả dài hạn nên rất phù hợp với các tình huống khi mà hành
động mang lại hệ quả kéo dài. Thuật toán này đặc biệt phù hợp với các
tình huống trong thế giới thực, nơi không có phản hồi tức thì cho mỗi
bước, vì nó có thể học từ khen thưởng trễ.
5.2. Khó khăn
 Tính thực tiễn : Thử nghiệm với các hệ thống thưởng phạt thực tế có
thể không mang tính thực tiễn. Ví dụ: thử nghiệm máy bay drone trong
thế giới thực mà không thử nghiệm trong trình giả lập trước sẽ dẫn đến
nhiều máy bay bị hỏng. Môi trường trong thế giới thực thường xuyên
thay đổi lớn mà có rất ít cảnh báo. Điều đó có thể khiến thuật toán khó
mang lại hiệu quả trong thực tế.
 Khả năng diễn giải : Giống như mọi lĩnh vực khoa học, khoa học dữ
liệu cũng xem xét các nghiên cứu và phát hiện kết luận để lập ra tiêu
chuẩn và quy trình. Các nhà khoa học dữ liệu muốn hiểu được cách
chứng minh và nhân rộng một kết luận cụ thể. Các thuật toán RL phức
tạp có thể khó hỗ trợ xác minh lý do thực hiện một chuỗi các bước cụ
thể. Những hành động nào trong chuỗi là những hành động đưa đến kết
quả cuối cùng tối ưu? Điều này có thể khó suy luận, dẫn đến khó khăn
trong việc thực hiện.

6
6. Ứng dụng thực tế
 Cá nhân hóa tiếp thị: Trong các ứng dụng như hệ thống đề xuất, RL có thể
tùy chỉnh gợi ý cho người dùng cá nhân dựa theo tương tác của họ. Nhờ đó,
người dùng sẽ có được trải nghiệm cá nhân hóa cao hơn. Ví dụ: ứng dụng
có thể hiển thị quảng cáo cho người dùng dựa theo một số thông tin nhân
khẩu học. Mỗi khi người dùng tương tác với quảng cáo, ứng dụng sẽ học
được rằng quảng cáo nào nên hiển thị cho người dùng để tối ưu hóa doanh
số sản phẩm.
 Thách thức về tối ưu hóa: Những phương pháp tối ưu hóa truyền thống
giải quyết vấn đề bằng cách đánh giá và so sánh các giải pháp khả thi dựa
trên một số tiêu chí nhất định. Ngược lại, RL có khả năng học từ tương tác
để tìm ra giải pháp tốt nhất hoặc gần tốt nhất theo thời gian.
 Dự đoán tài chính: Động lực của thị trường tài chính rất phức tạp với các
thuộc tính thống kê thay đổi theo thời gian. Các thuật toán RL có thể tối ưu
hóa lợi nhuận dài hạn bằng cách cân nhắc chi phí giao dịch và điều chỉnh
theo sự thay đổi của thị trường.

II. Double Q-learning


1. Tổng quan về Double Q-learning
1.1. Lịch sử ra đời

Double Q-Learning là một phần mở rộng của thuật toán Q-Learning gốc, được
giới thiệu vào năm 2010 bởi Hado van Hasselt, một nhà nghiên cứu tại Google
DeepMind. Thuật toán này ra đời nhằm giải quyết một trong những hạn chế
chính của Q-Learning gốc, là sự thiên lệch quá mức (overestimation bias) trong
việc ước lượng giá trị hành động. Double Q-Learning giải quyết vấn đề này
bằng cách sử dụng hai hàm giá trị hành động (action-value functions) độc lập,
được gọi là Q1 và Q2. Thay vì dùng một hàm giá trị để ước lượng giá trị tối ưu

7
của hành động, thuật toán sử dụng một trong hai hàm giá trị để chọn hành động
tốt nhất, và sử dụng hàm giá trị còn lại để ước lượng giá trị của hành động đó.

1.2. Khái niệm

Double Q-Learning là một phương pháp trong lĩnh vực học tăng cường
(reinforcement learning) nhằm giảm thiểu hiện tượng overestimation bias, một
vấn đề thường gặp trong thuật toán Q-Learning truyền thống. Trong Double Q-
Learning, thay vì sử dụng một bộ trị số Q-function duy nhất như trong Q-
Learning, ta sử dụng hai bộ trị số Q-function độc lập (Q1 và Q2) để đánh giá
và cập nhật giá trị hành động. Quá trình huấn luyện được thực hiện bằng cách
lựa chọn một bộ trị số để đánh giá hành động và sử dụng bộ trị số kia để cập
nhật giá trị mục tiêu.
Ý tưởng chính của Double Q-Learning là phân tách việc đánh giá hành động và
cập nhật giá trị mục tiêu, từ đó giảm thiểu sự overestimation bias. Bằng cách
này, Double Q-Learning cung cấp một cách tiếp cận hiệu quả hơn để ước lượng
giá trị của các hành động trong quá trình học tăng cường.

2. Cách thức hoạt động


2.1. Thuật toán cơ bản

2.1.1. Khởi tạo


 Khởi tạo hai bộ trị số Q-function độc lập: Q1 và Q2 với giá trị tùy
ý.
2.1.2. Lặp quá trình cho mỗi episode
 Khởi tạo trạng thái ban đầu.
 Lặp lại các bước cho đến khi kết thúc episode:
 Chọn hành động dựa trên một chiến lược nhất định (ví dụ: epsilon-
greedy).
 Thực hiện hành động và quan sát phần thưởng và trạng thái mới.
 Lấy ngẫu nhiên một trong hai bộ trị số Q-function (Q1 hoặc Q2).

8
 Tính toán giá trị mục tiêu:
o Nếu trạng thái mới là trạng thái kết thúc, giá trị mục tiêu là
phần thưởng.
o Ngược lại, giá trị mục tiêu được tính bằng công thức:
 Taget = reward + γ ∙Qnext ¿
Trong đó
 s' là trạng thái mới

'
a làhành động tốt nhất được chọn dựatrên bộ trị số Q−function hiệntại .
 γ là hệ số giảm giá trị trong tương lai.
 Qcurrent là bộ trị số Q-function hiện tại.
 Qnext là bộ trị số Q-function khác (Q1 hoặc Q2) được chọn
ngẫu nhiên.
 Cập nhật giá trị của bộ trị số Q-function hiện tại:
o Qcurrent ( s , a )=Qcurrent ( s , a )+ α ∙ ( target−Qcurrent ( s , a ))

Trong đó:

o α là tỉ lệ học tập (learning rate).


2.1.3. Kết thúc
 Khi đạt đủ số lượng episodes hoặc điều kiện dừng khác, dừng quá
trình huấn luyện và sử dụng bộ trị số Q-function đã học để ra quyết
định trong môi trường mới.

2.2. Convergence in the Limit

Trong phần này, chúng tôi sẽ chỉ ra rằng trong trường hợp hội tụ, Double Q-
learning hội tụ đến chính sách tối ưu. Một cách hiểu cảm tính, điều này là điều
mà mọi người mong đợi: Q-learning dựa trên một bộ ước lượng và Double Q-
learning dựa trên hai bộ ước lượng, và trong Phần 2 chúng tôi đã luận chứng
rằng các ước lượng bởi bộ ước lượng đơn và đôi đều hội tụ đến cùng một kết

9
quả trong giới hạn. Tuy nhiên, luận điều này không chuyển ngay lập tức sang
việc bootstrapping các giá trị hành động, vì vậy chúng tôi chứng minh kết quả
này bằng cách sử dụng bổ đề sau, cũng đã được sử dụng để chứng minh sự hội
tụ của Sarsa.

Định lý 2. Xét một quy trình ngẫu nhiên (ζt, ∆t, Ft), t ≥ 0, trong đó ζt, ∆t, Ft: X
→ R thỏa mãn các phương trình:
∆t+1(xt) = (1 − ζt(xt))∆t(xt) + ζt(xt)Ft(xt), (8)
trong đó xt ∈ X và t = 0, 1, 2, . . .. Cho Pt là một chuỗi các σ- fields tăng dần
sao cho ζ0 và ∆0 là đo lường được bởi P0 và ζt, ∆t và Ft−1 là đo lường được bởi
Pt, t = 1, 2, . . .. Giả sử rằng các điều kiện sau được thỏa mãn: 1) Tập hợp X có
hữu hạn. 2) ζt(xt) ∈ [0, 1], Pt ζt(xt) = ∞, Pt(ζt(xt))2 < ∞ với xác suất 1 và ∀x ≠ xt:
ζt(x) = 0. 3) ||E{Ft|Pt}|| ≤ κ||∆t|| + ct, với κ ∈ [0, 1) và ct hội tụ về zero với xác
suất 1. 4) Var{Ft(xt)|Pt} ≤ K(1 + κ||∆t||)2, trong đó K là một hằng số nào đó. Ở
đây || · || biểu thị một chuẩn tối đa. Khi đó ∆t hội tụ về zero với xác suất một.
Chúng ta sử dụng định lý này để chứng minh sự hội tụ của Double Q-learning
dưới các điều kiện tương tự như Q-learning. Định lý của chúng ta được sắp xếp
như sau:
Định lý 1. Giả sử các điều kiện dưới đây được thỏa mãn. Khi đó, trong một
MDP ergodic đã cho, cả QA và QB được cập nhật bởi Double Q-learning như
mô tả trong Thuật toán 1 sẽ hội tụ về hàm giá trị tối ưu Q ∗ được cho trong
phương trình tối ưu hóa Bellman (2) với xác suất một nếu một số lượng vô hạn

10
các trải nghiệm dưới dạng các phần thưởng và chuyển trạng thái cho mỗi cặp
trạng thái-hành động được cung cấp bởi một chính sách học hợp lý. Các điều
kiện bổ sung là: 1) MDP là hữu hạn, tức là |S × A| < ∞. 2) γ thuộc khoảng [0,
1). 3) Giá trị Q được lưu trữ trong một bảng tra cứu. 4) Cả QA và QB nhận một
số lượng vô hạn các cập nhật. 5) αt(s, a) thuộc [0, 1], Pt αt(s, a) = ∞, Pt(αt(s, a))2
'

< ∞ với xác suất 1, và ∀(s, a) ≠ (st, at): αt(s, a) = 0. 6) ∀s, a, s′: Var{ R ssa} < ∞.
Một chính sách học 'hợp lý' đảm bảo rằng mỗi cặp trạng thái-hành động được
thăm một số lượng vô hạn lần. Ví dụ, trong một MDP liên thông, các chính
sách hợp lý bao gồm một chính sách ngẫu nhiên.
Đây là phác thảo chứng minh. Chúng ta sẽ diễn đạt cách áp dụng Định lý 2 để
chứng minh Định lý 1 mà không cần phải đi vào chi tiết kỹ thuật đầy đủ. Do
tính đối xứng trong việc cập nhật trên các hàm Q A và QB, chỉ cần chứng minh
sự hội tụ cho bất kỳ trong số chúng. Chúng ta sẽ áp dụng Định lý 2 với Pt = {
Q0 , Q0 , s0, a0, α0, r1, s1, . . ., st, at}, X = S × A, Δt = Qt − Q∗, ζ = α và Ft(st, at) = rt
A B A

+ γQBt (st+1, a*) − Q* t (st, at), với a* = arg maxa QA(st+1, a). Việc chứng minh hai
điều kiện đầu tiên của định lý là khá đơn giản. Điều kiện thứ tư của định lý
được thỏa mãn do điều kiện giới hạn trên phương sai của phần thưởng trong
định lý.
Điều này để lại việc chứng minh rằng điều kiện thứ ba về sự thu hẹp kỳ vọng
của Ft là đúng. Chúng ta có thể viết :
F t ( s t , at )=F t ( s t , a t ) + γ (Q¿¿ t ( st +1 , a ) −Qt ( s t+1 , a ) )¿
Q B ¿ A ¿

, trong đó F Qt = rt + γQtA (st+1, a*) − Q* t (st, at) là giá trị của Ft nếu xem xét Q-
learning bình thường. Đã được biết rằng E{ F Qt |Pt} ≤ γ||Δt||, vì vậy để áp dụng
định lý, chúng ta xác định ct = γQBt (st+1, a*) − QtA (st+1, a*), và đủ để chứng minh
rằng Δ BA
t = QBt − QtA hội tụ về không. Tùy thuộc vào việc Q B hoặc QA được cập
nhật, việc cập nhật của Δ BA
t tại thời điểm t có thể là

BA BA B
∆ t +1 ( st , at ) =∆ t ( s t , at ) +α t ( st , a t ) Ft ( s t , at )
Hoặc

11
BA BA A
∆ t +1 ( st , at ) =∆ t ( s t , at )−α t ( s t , at ) F t ( s t , a t )

Tại F tA(st, at) = rt + γQBt (st+1, a*) - QtA (st, at) và F Bt (st, at) = rt + γQtA (st+1, b*) - QBt (st,
1
at). Chúng ta định nghĩa ζ BA
t = α t . Sau đó
2

E { ∆tBA
+1 ( s t , at )∨P t }=∆t ( s t , at ) + E { α t ( st , at ) F t ( s t , a t )−α t ( s t , at ) F t ( st , a t )∨P t }
BA B A

t ( st ,a t ) ) ∆t ( s t , at ) + ξ t ( s t , a t ) E { F t ( s t , at )∨Pt }
¿ (1−ξ BA BA BA A

Khi
E { ∆tBA
+1 ( s t , at )∨Pt }=γ E { Q t ( s t +1 ,b ) −Q t ( st +1 , a )∨Pt }
A ¿ B ¿

Trong bước này, quan trọng là việc lựa chọn để cập nhật QA hoặc QB là độc lập
với mẫu (ví dụ: ngẫu nhiên).
Giả sử
E {Q tA ( s t +1 ,b ¿ ) ∨P t } ≥ E {Q Bt ( s t +1 ,a ¿ ) ∨Pt }

Theo định nghĩa của a* như đã cho ở dòng 6 của Thuật toán 1, chúng ta có
Q t ( s t+1 , a )=max Q t ( s t +1 , a ) ≥ Q t ( s t+1 , b )
A ¿ A A ¿
a

Do đó

|E { F BA
t ( s t , at )∨Pt }|=γ E {Qt ( st +1 , b ) −Qt ( s t+1 , a )∨Pt } ≤ γ E { Qt ( s t +1 ,a ) −Qt ( st +1 , a ) ∨Pt } ≤ γ ‖∆t ‖
A ¿ B ¿ A ¿ B ¿ BA

Giả sử
E {Q Bt ( s t +1 , a¿ ) ∨Pt } > E {QtA ( s t +1 , b ¿ )∨P t }

và lưu ý rằng theo định nghĩa của b* ta có


Qt ( s t+ 1 , b ) ≥Qt ( s t +1 , a )
B ¿ B ¿

Sau đó

|E { F BA
t ( s t , at )∨Pt }|=γ E {Qt ( st +1 , a )−Qt ( s t+1 , b )∨Pt } ≤ γ E { Qt ( st +1 ,b ) −Qt ( st +1 , b ) ∨Pt } ≤ γ ‖∆t
B ¿ A ¿ B ¿ A ¿ BA

Rõ ràng, một trong hai giả định phải được thỏa mãn ở mỗi bước thời gian và
trong cả hai trường hợp, chúng ta thu được kết quả mong muốn rằng |E{ F BA
t |

Pt}| ≤ γ|| Δ BA
t ||. Áp dụng định lý cho ra sự hội tụ của Δ BA
t về không, điều này

trong suốt đảm bảo rằng quá trình gốc cũng hội tụ trong giới hạn.

12
2.3. Vấn đề overestimation bias

Vấn đề overestimation bias là một hiện tượng phổ biến trong học tăng cường,
nơi giá trị ước lượng cho hàm giá trị hành động có thể được phép vượt quá giá
trị thực tế. Điều này thường xảy ra khi sử dụng các phương pháp ước lượng giá
trị dựa trên mẫu như Q-learning hoặc các biến thể của nó.
Nguyên nhân chính của overestimation bias là do việc sử dụng các phương
pháp ước lượng giá trị mà không cập nhật chúng đúng cách. Trong quá trình
học, các giá trị Q được ước lượng dựa trên các mẫu dữ liệu có thể chứa nhiễu
hoặc biến động, dẫn đến việc ước lượng cao hơn so với giá trị thực tế. Điều
này có thể làm giảm hiệu suất của các thuật toán học tăng cường và gây ra các
quyết định sai lầm trong quá trình điều chỉnh hành động.
Một số phương pháp đã được đề xuất để giảm thiểu overestimation bias, bao
gồm sử dụng Double Q-learning, tức là sử dụng hai bảng Q độc lập để ước
lượng giá trị hành động, sau đó lấy giá trị trung bình của chúng để giảm thiểu
sự đánh giá cao hơn. Các phương pháp khác bao gồm Prioritized Experience
Replay và Dueling Network Architectures, mà cố gắng cải thiện việc học và
ước lượng giá trị hành động bằng cách sử dụng các cơ chế khác nhau.

3. Thí nghiệm
Phần này chứa các kết quả về hai vấn đề, như một minh họa về sự thiên vị của
Q-learning và như một so sánh thực tế đầu tiên với Double Q-learning. Cài đặt
là đơn giản để cho phép một cách diễn giải dễ dàng về những gì đang xảy ra.
Double Q-learning mở rộng ra các vấn đề lớn hơn và không gian liên tục theo
cùng một cách như Q-learning, vì vậy tập trung của chúng tôi ở đây là rõ ràng
vào sự thiên vị của các thuật toán.
Cài đặt bao gồm trò chơi đỏ đen và một thế giới lưới nhỏ. Có sự ngẫu nhiên
đáng kể trong các phần thưởng, và kết quả là chúng ta sẽ thấy rằng thực sự Q-
learning thực hiện kém. Hệ số chiết khấu là 0.95 trong tất cả các thí nghiệm.
Chúng tôi đã tiến hành hai thí nghiệm trên mỗi vấn đề. Tỷ lệ học có thể là

13
tuyến tính: αt(s, a) = 1/nt(s, a), hoặc đa thức αt(s, a) = 1/nt(s, a)^0.8. Đối với
Double Q-learning, nt(s, a) = nA t (s, a) nếu QA được cập nhật và nt(s, a) = nB
t (s, a) nếu QB được cập nhật, trong đó nA t và nB t lưu trữ số lượng cập nhật
cho mỗi hành động cho hàm giá trị tương ứng.
Tỷ lệ học đa thức đã được chứng minh là tốt hơn cả về lý thuyết và trong thực
tế.

3.1. Roulette
Trong trò chơi đỏ đen, một người chơi lựa chọn giữa 170 hành động đặt cược,
bao gồm cược trên một số, trên màu đen hoặc đỏ, và vân vân. Tiền thưởng cho
mỗi cược được chọn sao cho gần như tất cả các cược đều có giá trị trả lại trung
bình là $0.947 cho mỗi đô la, dẫn đến một mức thua lỗ trung bình là -$0.053
mỗi lần chơi nếu chúng ta giả sử người chơi đặt cược $1 mỗi lần. Chúng tôi giả
định tất cả các hành động đặt cược chuyển trở lại cùng một trạng thái và có
một hành động dừng chơi, mang lại $0. Chúng tôi bỏ qua số tiền có sẵn của
người chơi như một yếu tố và giả định rằng anh ta đặt cược $1 mỗi lượt.
Hình 1 cho thấy giá trị hành động trung bình qua tất cả các hành động, như
được tìm thấy bởi Q-learning và Double Q-learning. Mỗi thử nghiệm bao gồm
một cập nhật đồng bộ của tất cả 171 hành động. Sau 100.000 thử nghiệm, Q-
learning với tỷ lệ học tuyến tính đánh giá tất cả các hành động đặt cược ở hơn
$20 và không có tiến triển đáng kể. Với tỷ lệ học đa thức, hiệu suất cải thiện,
nhưng Double Q-learning hội tụ nhanh hơn nhiều. Các ước lượng trung bình
của Q-learning không kém chất lượng vì một số điểm dữ liệu ngoại lệ được
ước lượng kém chính xác. Sau 100.000 thử nghiệm, Q-learning đánh giá tất cả
các hành động không kết thúc giữa $22.63 và $22.67 cho tỷ lệ học tuyến tính
và giữa $9.58 và $9.64 cho tỷ lệ học đa thức. Trong cài đặt này, Double Q-
learning không gặp phải những ước lượng thiếu chính xác đáng kể.

14
Hình 1: Giá trị hành động trung bình theo Q-learning và Double Q-learning khi
chơi roulette. Hành động 'dừng chơi' có giá trị $0. Được tính trung bình qua 10 thử
nghiệm.

Hình 2: Kết quả trong thế giới lưới cho Q-learning và Double Q-learning. Hàng đầu
tiên cho thấy phần thưởng trung bình mỗi bước thời gian. Hàng thứ hai cho thấy giá
trị hành động tối đa trong trạng thái bắt đầu S. Được tính trung bình qua 10.000 thử
nghiệm.
3.2. Grid World
Xem xét MDP thế giới lưới nhỏ như được hiển thị trong Hình 2. Mỗi trạng thái
có 4 hành động, tương ứng với các hướng mà tác nhân có thể đi. Trạng thái bắt
đầu nằm ở vị trí dưới cùng bên trái và trạng thái mục tiêu nằm ở góc trên bên
phải. Mỗi khi tác nhân chọn một hành động để đi ra khỏi lưới, tác nhân vẫn ở
lại trong cùng một trạng thái. Mỗi bước không kết thúc, tác nhân nhận được
một phần thưởng ngẫu nhiên là -12 hoặc +10 với xác suất bằng nhau. Ở trạng
15
thái mục tiêu, mỗi hành động đều mang lại +5 và kết thúc một tập. Chính sách
tối ưu kết thúc một tập sau năm hành động, vì vậy phần thưởng trung bình tối
ưu mỗi bước là +0.2. Sự khám phá đã được thiết lập ở dạng ∈-greedy với ∈ (s)
= 1/√ n ( s ) trong đó n(s) là số lần trạng thái s đã được ghé thăm, đảm bảo sự
khám phá vô hạn trong giới hạn, điều này là yêu cầu lý thuyết cho sự hội tụ của
cả Q-learning và Double Q-learning. Một cài đặt ∈-greedy như vậy là có lợi
cho Q-learning, vì điều này ngụ ý rằng các hành động với sự đánh giá cao hơn
được chọn thường xuyên hơn so với các hành động được đánh giá theo thực tế.
Điều này có thể làm giảm sự đánh giá cao hơn.
Hình 2 cho thấy phần thưởng trung bình ở hàng đầu tiên và giá trị hành động
tối đa trong trạng thái bắt đầu ở hàng thứ hai. Double Q-learning thực hiện tốt
hơn nhiều từ quan điểm phần thưởng trung bình của nó, nhưng điều này không
ngụ ý rằng các ước lượng của giá trị hành động là chính xác. Giá trị tối ưu của
3
hành động có giá trị cao nhất trong trạng thái bắt đầu là 5 γ −∑ γ ≈ 0.36, được
4 k

k=0

mô tả trong hàng thứ hai của Hình 2 với một đường nét ngang đứt. Chúng ta
thấy Double Q-learning không gần gũi hơn với giá trị này trong 10,000 bước
học so với Q-learning. Tuy nhiên, ngay cả khi sai số của các giá trị hành động
có thể so sánh được, các chính sách được tìm thấy bởi Double Q-learning rõ
ràng tốt hơn nhiều.

4. Lợi ích và khó khăn

4.1. Lợi ích


 Giảm thiểu overestimation bias: Double Q-learning giúp giảm thiểu
hiện tượng overestimation bias, một vấn đề phổ biến trong các thuật toán
học tăng cường, bằng cách sử dụng hai bảng Q độc lập để ước lượng giá
trị hành động. Điều này giúp cải thiện tính chính xác của việc ước lượng
giá trị hành động.

16
 Tăng cường hiệu suất học: Double Q-learning thường hội tụ nhanh hơn
và cho kết quả tốt hơn so với Q-learning trong một số trường hợp. Điều
này làm giảm thời gian và nỗ lực cần thiết để đạt được kết quả mong
muốn.
 Tính linh hoạt và mở rộng: Double Q-learning có thể dễ dàng mở rộng
sang các bài toán lớn hơn và không gian liên tục, tương tự như Q-
learning. Điều này làm cho nó trở thành một công cụ hữu ích cho nhiều
ứng dụng thực tế phức tạp.
 Áp dụng rộng rãi: Double Q-learning có thể được áp dụng trong nhiều
lĩnh vực, bao gồm robotics, tự động hóa, quản lý tồn kho, và trò chơi điện
tử, giúp tối ưu hóa quyết định và hành động trong các môi trường phức
tạp.
 Giảm thiểu nguy cơ overfitting: Bằng cách sử dụng hai bảng Q độc lập,
Double Q-learning có thể giảm thiểu nguy cơ overfitting và tăng tính tổng
quát của mô hình học tăng cường.

4.2. Khó khăn


 Tăng chi phí tính toán: Sử dụng Double Q-learning yêu cầu lưu trữ và
cập nhật hai bảng Q độc lập, dẫn đến tăng chi phí tính toán so với Q-
learning. Điều này có thể làm tăng thời gian huấn luyện và yêu cầu tài
nguyên tính toán lớn hơn.
 Cần hiểu rõ về cài đặt: Để sử dụng hiệu quả Double Q-learning, cần
hiểu rõ về cách thức lựa chọn hành động để cập nhật bảng Q tương ứng.
Sự lựa chọn không đúng có thể dẫn đến hiệu suất kém và kết quả không
mong muốn.
 Dễ dẫn đến overfitting: Trong một số trường hợp, Double Q-learning có
thể dễ dẫn đến overfitting nếu không được cài đặt và điều chỉnh đúng
cách. Điều này có thể làm giảm tính tổng quát của mô hình học tăng
cường và dẫn đến hiệu suất kém trên dữ liệu mới.

17
 Đòi hỏi nhiều dữ liệu hơn: Double Q-learning có thể đòi hỏi nhiều dữ
liệu hơn để hội tụ so với Q-learning. Điều này có thể làm tăng chi phí thu
thập dữ liệu và yêu cầu nhiều thời gian hơn để huấn luyện mô hình.
 Khó khăn trong áp dụng thực tế: Việc triển khai Double Q-learning
trong các ứng dụng thực tế có thể gặp phải những thách thức về tính phức
tạp của môi trường, sự không chắc chắn của dữ liệu và yêu cầu về tài
nguyên tính toán.

5. Ứng dụng vào thực tế


 Tự động hóa và Robotics: Trong lĩnh vực tự động hóa và robotics,
Double Q-learning có thể được sử dụng để tối ưu hóa hành động của
robot trong môi trường động, giúp chúng đưa ra quyết định chính xác và
hiệu quả trong thời gian thực.
 Quản lý tồn kho và Logistics: Trong quản lý tồn kho và logistics,
Double Q-learning có thể được áp dụng để tối ưu hóa các quy trình lập
lịch vận chuyển, tối ưu hóa lưu lượng hàng hóa và giảm thiểu chi phí.
 Trò chơi điện tử: Trong lĩnh vực trò chơi điện tử, Double Q-learning có
thể được sử dụng để phát triển các hệ thống thông minh cho các nhân vật
máy tính, giúp chúng tạo ra các hành động và quyết định phản ứng tự
động trong trò chơi.
 Tổ chức và quản lý sản xuất: Trong các doanh nghiệp sản xuất, Double
Q-learning có thể được áp dụng để tối ưu hóa quy trình sản xuất, quản lý
lượng nguyên liệu và tối ưu hóa hiệu suất của các máy móc và thiết bị.
 Tự động lái và xe tự lái: Trong lĩnh vực tự động lái và xe tự lái, Double
Q-learning có thể được sử dụng để học và cập nhật các chiến lược lái xe,
giúp xe tự lái đưa ra các quyết định an toàn và hiệu quả trên đường.
 Tối ưu hóa quyết định trong tài chính: Trong lĩnh vực tài chính, Double
Q-learning có thể được áp dụng để tối ưu hóa các quyết định đầu tư và

18
giao dịch, giúp tăng cường hiệu suất và giảm rủi ro trong các quy trình
giao dịch.

III. Deep Q-Learning


1. Tổng quan về Deep Q-learning
1.1. Lịch sử ra đời

Deep Q-Learning được giới thiệu chính thức bởi Minh et al. trong bài báo nổi
tiếng "Playing Atari with Deep Reinforcement Learning", được công bố vào
năm 2013. Từ sau khi Minh et al. công bố nghiên cứu của họ, Deep Q-
Learning đã trở thành một trong những phương pháp quan trọng nhất trong lĩnh
vực học tăng cường và đã được áp dụng thành công trong nhiều lĩnh vực, từ trò
chơi đến điều khiển robot và tự động lái xe.

1.2. Khái niệm

Deep Q-Learning là một phương pháp học tăng cường sử dụng mạng nơ-ron
sâu để ước lượng hàm giá trị hành động (Q-function) trong môi trường có thể
được mô hình hóa bằng một quá trình Markov quyết định (MDP). Phương
pháp này đã đóng một vai trò quan trọng trong việc thúc đẩy sự phát triển của
trí tuệ nhân tạo, đặc biệt là trong lĩnh vực học tăng cường và học sâu. Các bước
chính của thuật toán Deep Q-Learning bao gồm việc sử dụng một bộ nhớ tái
trải nghiệm (replay memory) để lưu trữ các cặp trạng thái-hành động-phần
thưởng, giảm bớt sự biến thiên của dữ liệu đầu vào và giúp việc học ổn định
hơn. Ngoài ra, thuật toán còn sử dụng một mạng nơ-ron để ước lượng hàm giá
trị Q và áp dụng một phương pháp được gọi là "target network" để ổn định quá
trình học.

2. Cách thức hoạt động


2.1. Thuật toán cơ bản

19
Công thức cơ bản của thuật toán Deep Q-Learning là công thức Bellman cho
hàm giá trị Q. Công thức này giúp tính toán mục tiêu cần hướng đến khi cập
nhật hàm giá trị Q trong quá trình huấn luyện.
Công thức Bellman cho hàm giá trị Q được biểu diễn như sau:

Q(s,a) = r + γ maxa Q( s' , a' ¿


'

Trong đó:
 Q(s,a) là giá trị Q của trạng thái s và hành động a.
 r là phần thưởng nhận được khi thực hiện hành động a từ trạng thái s.
 γ là hệ số giảm giá trị, thường nằm trong khoảng từ 0 đến 1, được sử dụng
để điều chỉnh mức độ quan trọng của các phần thưởng trong tương lai so
với phần thưởng hiện tại.
 s′ là trạng thái tiếp theo mà hành động a dẫn đến.
 a′ là hành động tốt nhất được chọn từ trạng thái s′, thường là hành động
tốt nhất theo giá trị Q ước lượng từ mạng nơ-ron.
Công thức Bellman này giúp tính toán giá trị Q mới cho một cặp trạng thái-
hành động dựa trên phần thưởng nhận được và ước lượng giá trị Q của trạng
thái tiếp theo. Là cơ sở cho quá trình học của thuật toán Deep Q-Learning.

2.2. Ý tưởng của Deep Q-Learning

Thuật toán Deep Q-Learning cơ bản hoạt động như sau:

1. Khởi tạo mạng nơ-ron: Bắt đầu với việc khởi tạo một mạng nơ-ron sâu để
ước lượng hàm giá trị Q. Thông thường, một mạng nơ-ron tích chập (CNN)
được sử dụng để xử lý các trạng thái đầu vào.
2. Khởi tạo bộ nhớ tái trải nghiệm: Tạo một bộ nhớ tái trải nghiệm để lưu
trữ các trạng thái, hành động, phần thưởng và trạng thái tiếp theo từ các
tương tác trước đó với môi trường.
 Lặp lại quá trình học:

20
 Chọn hành động: Dùng chiến lược epsilon-greedy hoặc các chiến lược
khác để chọn hành động. Với một xác suất epsilon, chọn một hành động
ngẫu nhiên, ngược lại, chọn hành động có giá trị Q cao nhất.
 Tương tác với môi trường: Thực hiện hành động đã chọn và thu thập dữ
liệu mới từ môi trường, bao gồm trạng thái mới và phần thưởng tương
ứng.
 Lưu trữ dữ liệu: Lưu trữ trạng thái hiện tại, hành động, phần thưởng và
trạng thái tiếp theo vào bộ nhớ tái trải nghiệm.
 Huấn luyện mạng nơ-ron:
o Lấy một lô dữ liệu ngẫu nhiên từ bộ nhớ tái trải nghiệm.
o Tính toán mục tiêu cho hàm mất mát bằng cách sử dụng công thức
Bellman: Q-learning target = reward + gamma * max(Q(next_state,
all_actions)).
o Huấn luyện mạng nơ-ron bằng cách sử dụng mục tiêu đã tính toán và
giá trị Q ước lượng của trạng thái hiện tại và hành động tương ứng.
o Cập nhật trọng số của mạng nơ-ron để giảm thiểu sự chênh lệch giữa
mục tiêu và giá trị ước lượng của hàm giá trị Q.
 Cập nhật mạng mục tiêu (Target Network): Cố định bộ trọng số của
mạng nơ-ron mục tiêu trong một khoảng thời gian nhất định và sau đó cập
nhật chúng từ mạng chính.
 Lặp lại từ bước 3 cho đến khi đạt được tiêu chí dừng (ví dụ: đạt được
số lượng lặp cần thiết hoặc đạt được hiệu suất mong muốn).
 Sử dụng mô hình đã học: Sau khi huấn luyện, mô hình có thể được sử
dụng để đưa ra hành động trong môi trường mà nó đã được huấn luyện.

21
3. So sánh với Q-Learning truyền thống
Q-Learning Deep Q-Learning
Tiếp cận Tabular Learning sử dụng Q- Hàm xấp xỉ với mạng lưới
Table nơ-ron
Đầu vào (state, action) pairs Trạng thái đầu vào thô
Đầu ra Q-Value cho mỗi (state, Q-Value cho mỗi (state,
action) pairs action) pairs
Dữ liệu Traning Các mục Q-table Kinh nghiệm khi phát lại
buffer
Thời gian Traning Nhanh Chậm
Sự phức tạp Giới hạn bởi số lượng của Phức tạp hơn do sử dụng các
states và actions mạng lưới tự nhiên
Sự khái quát Giới hạn bởi States trong Q- Có thể khái quát đến mức
Table không nhìn thấy States
Khả năng mở rộng Đấu tranh với states khổng lồ Vận dụng được tốt không
và không gian actions gian lớn
Sự ổn định Có xu hướng bị overfitting Ổn định hơn Q-Learning
nhưng vẫn có thể bị bất ổn
định

4. Deep Q-Networks (DQN)


4.1. Kiến trúc của DQN

 Mạng Nơ-ron Cơ Bản: DQN sử dụng một mạng nơ-ron sâu để ước
lượng hàm giá trị Q. Thông thường, mạng này bao gồm một số lớp tích
chập (convolutional layers) nếu dữ liệu đầu vào là hình ảnh và các lớp kết
nối đầy đủ (fully connected layers) để xử lý thông tin từ các lớp trước đó.

22
 Đầu ra: Mạng nơ-ron cuối cùng sẽ có một lớp đầu ra với số nút bằng số
hành động có thể thực hiện trong môi trường. Mỗi nút đại diện cho giá trị
Q ước lượng của một hành động cụ thể.
 Bộ Nhớ Tái Trải Nghiệm (Replay Memory): DQN sử dụng một bộ nhớ
tái trải nghiệm để lưu trữ một tập hợp các trạng thái, hành động, phần
thưởng và trạng thái tiếp theo từ các trải nghiệm trước đó. Bộ nhớ này
giúp cải thiện việc học bằng cách tái sử dụng dữ liệu huấn luyện và làm
giảm độ biến thiên của dữ liệu đầu vào.
 Mạng Mục Tiêu (Target Network): Để ổn định quá trình học, DQN sử
dụng một mạng nơ-ron mục tiêu được tạo ra bằng cách sao chép trọng số
của mạng nơ-ron chính (main network) vào đầu tiên và sau đó cố định các
trọng số của mạng mục tiêu trong một khoảng thời gian nhất định. Mục
tiêu của mạng mục tiêu là để cung cấp các ước lượng mục tiêu ổn định
cho hàm giá trị Q trong quá trình huấn luyện.
 Phương pháp Học: DQN sử dụng phương pháp học off-policy, nghĩa là
học từ dữ liệu đã được thu thập trước đó thay vì học trực tiếp từ trạng thái
hiện tại. Thuật toán sử dụng công thức Bellman để cập nhật giá trị Q của
các cặp trạng thái-hành động.
 Thuật toán Tối Ưu Hóa: DQN thường sử dụng thuật toán tối ưu hóa như
Adam hoặc RMSProp để cập nhật trọng số của mạng nơ-ron trong quá
trình huấn luyện.

4.2. Quá trình huấn luyện

 Khởi tạo Môi Trường: Bắt đầu bằng việc khởi tạo môi trường, ví dụ: một
trò chơi hoặc một bài toán điều khiển.
 Khởi tạo Mạng Nơ-ron: Tạo một mạng nơ-ron chính (main network) và
một mạng nơ-ron mục tiêu (target network) với trọng số ngẫu nhiên.

23
 Khởi tạo Bộ Nhớ Tái Trải Nghiệm: Tạo một bộ nhớ tái trải nghiệm để
lưu trữ các trạng thái, hành động, phần thưởng và trạng thái tiếp theo từ
các trải nghiệm trước đó.
 Lặp lại Quá trình Huấn Luyện:
o Chọn Hành Động: Sử dụng chiến lược epsilon-greedy hoặc một
phương pháp khác để chọn hành động.
o Tương Tác với Môi Trường: Thực hiện hành động được chọn và
thu thập trạng thái mới và phần thưởng tương ứng từ môi trường.
o Lưu Trữ Dữ Liệu: Lưu trữ cặp trạng thái-hành động-phần thưởng-
trạng thái tiếp theo vào bộ nhớ tái trải nghiệm.
o Huấn Luyện Mạng Nơ-ron:
 Lấy một mẫu ngẫu nhiên từ bộ nhớ tái trải nghiệm.
 Tính toán mục tiêu dựa trên công thức Bellman.
 Sử dụng mạng nơ-ron chính để tính toán giá trị Q ước lượng
cho các trạng thái hiện tại và cập nhật các trọng số của mạng để
giảm thiểu sai số giữa giá trị ước lượng và mục tiêu.
o Cập Nhật Mạng Mục Tiêu: Cập nhật trọng số của mạng mục tiêu
từ mạng nơ-ron chính sau một số lần lặp cố định.
 Kết Thúc Huấn Luyện: Dừng quá trình huấn luyện sau một số lần lặp
cần thiết hoặc khi đạt được hiệu suất mong muốn.

5. Ví dụ thực tiễn
5.1. Ứng dụng trong học tăng cường

Deep Q-Learning được áp dụng rộng rãi trong nhiều lĩnh vực của học tăng
cường, bao gồm:
 Robotics: Trong robotica, DQN có thể được sử dụng để học các chiến
lược điều khiển robot tự học và tối ưu hóa các nhiệm vụ như điều khiển
robot di chuyển, điều khiển cánh tay robot hoặc tự động lái xe.

24
 Trò chơi máy tính: Deep Q-Learning đã được sử dụng để huấn luyện các
hệ thống trí tuệ nhân tạo chơi các trò chơi máy tính như Atari, AlphaGo
và Dota 2. Bằng cách học từ kinh nghiệm chơi, các hệ thống này có thể
đạt được hoặc vượt qua kỹ năng con người trong các trò chơi này.
 Quản lý tài nguyên: Deep Q-Learning có thể được áp dụng trong các bài
toán quản lý tài nguyên như quản lý năng lượng, quản lý mạng viễn thông
và quản lý tồn kho.
 Tự học: Deep Q-Learning cũng có thể được sử dụng trong các ứng dụng
tự học, trong đó hệ thống phải tìm hiểu và điều chỉnh hành vi của mình
dựa trên phản hồi từ môi trường.

5.2. Ví dụ về bài toán mà Deep Q-Learning có thể giải quyết

Một ví dụ về bài toán mà Deep Q-Learning có thể giải quyết là bài toán điều
khiển robot để di chuyển từ điểm xuất phát đến điểm đích trong một môi
trường 2D hoặc 3D. Trong bài toán này, robot cần học được cách di chuyển và
tránh các vật cản trong môi trường để đạt được điểm đích một cách an toàn và
hiệu quả nhất.
 Ví dụ
Giả sử chúng ta có một robot di động được đặt trong một môi trường 2D gồm
một lưới ô vuông. Mục tiêu của robot là di chuyển từ một điểm bắt đầu đến
một điểm kết thúc trong môi trường, tránh các vật cản và tối ưu hóa thời gian
hoặc chi phí di chuyển.
 Các yếu tố trong bài toán:
 Môi trường: Lưới ô vuông biểu diễn môi trường 2D. Mỗi ô vuông có thể
là một vị trí có thể đi hoặc không thể đi, hoặc có thể chứa các vật cản.
 Robot: Robot được đặt tại một vị trí ban đầu trong môi trường và có thể
thực hiện các hành động để di chuyển đến các ô vuông khác.
 Hành động: Robot có thể thực hiện các hành động như di chuyển lên
trên, xuống dưới, sang trái hoặc sang phải trong mỗi bước thời gian.

25
 Phần thưởng: Phần thưởng được cung cấp khi robot đạt được điểm kết
thúc và có thể được thiết lập dựa trên thời gian di chuyển hoặc khoảng
cách di chuyển.
 Áp dụng Deep Q-Learning:
 Trạng thái (State): Trạng thái của môi trường có thể được biểu diễn bằng
vị trí hiện tại của robot trong lưới ô vuông.
 Hành động (Action): Hành động của robot là di chuyển đến một ô vuông
khác trong môi trường, tức là di chuyển lên trên, xuống dưới, sang trái
hoặc sang phải.
 Hàm giá trị Q (Q-function): Hàm giá trị Q sẽ ước lượng giá trị của mỗi
cặp trạng thái-hành động, cho biết giá trị dự kiến của phần thưởng tương
lai khi thực hiện hành động từ trạng thái hiện tại.
 Cập nhật Q-value: Sử dụng công thức Bellman để cập nhật giá trị Q sau
mỗi bước thời gian dựa trên phần thưởng nhận được và giá trị Q tối ưu
của trạng thái tiếp theo.
 Huấn luyện mạng: Sử dụng một mạng nơ-ron sâu để ước lượng hàm giá
trị Q và huấn luyện mạng này bằng cách tối ưu hóa sai số giữa giá trị Q
ước lượng và giá trị Q tối ưu từ mạng mục tiêu.

5.3. Thử nghiệm trong thực tế

Một thử nghiệm trong thực tế có thể là việc sử dụng Deep Q-Learning để điều
khiển một robot tự học di chuyển trong một môi trường vật lý. Trong thử
nghiệm này, robot được trang bị cảm biến và học từ kinh nghiệm di chuyển
trong môi trường thực tế. Robot sẽ phải học cách di chuyển từ điểm xuất phát
đến điểm đích, tránh các vật cản và tối ưu hóa hành vi di chuyển của mình dựa
trên phản hồi từ môi trường. Điều này có thể áp dụng trong nhiều lĩnh vực như
giao thông, công nghiệp và dịch vụ.

26
6. Lợi ích và khó khăn
6.1. Lợi ích

 Tối ưu hóa hiệu suất: Deep Q-Learning có thể học được các chiến lược
tối ưu cho các bài toán học tăng cường, giúp cải thiện hiệu suất của hệ
thống trong nhiều lĩnh vực, từ robotica đến trò chơi máy tính.
 Tự động hóa quyết định: Thuật toán Deep Q-Learning có khả năng tự
động học và điều chỉnh hành vi dựa trên phản hồi từ môi trường, giúp tự
động hóa quyết định và tăng cường khả năng tự học của các hệ thống trí
tuệ nhân tạo.
 Ổn định và linh hoạt: Deep Q-Learning có thể hoạt động hiệu quả trong
các môi trường phức tạp và động, cung cấp sự ổn định và linh hoạt trong
việc giải quyết các bài toán thực tế.

6.2. Khó khăn

 Số lượng dữ liệu lớn: Đối với các bài toán phức tạp, thuật toán Deep Q-
Learning yêu cầu một lượng lớn dữ liệu để huấn luyện mô hình một cách
hiệu quả, đặc biệt là khi sử dụng mạng nơ-ron sâu.
 Khả năng chọn hành động không tối ưu: Trong quá trình huấn luyện,
có thể xảy ra tình trạng học được các chiến lược không tối ưu hoặc rơi
vào trạng thái hội tụ không mong muốn do sự chọn hành động ngẫu nhiên
hoặc không khám phá đủ các chiến lược.
 Công nghệ tính toán: Huấn luyện mô hình Deep Q-Learning yêu cầu
một lượng lớn tính toán và tài nguyên tính toán, đặc biệt là khi sử dụng
mạng nơ-ron sâu và các kỹ thuật tiên tiến như học tăng cường ứng dụng.

IV. Tổng kết


1. Những điều đã đạt được
Đã nắm vững cơ sở lí thuyết của hai thuật toán Deep Q-Learning và Double Q-
Learning, bao gồm cách hoạt động, ưu điểm và nhược điểm của mỗi thuật toán.

27
Đã thành công trong việc xây dựng demo về game rắn sử dụng cả Deep Q-
Learning và Double Q-Learning. Điều này có thể giúp chúng ta áp dụng kiến
thức lí thuyết vào thực tế và hiểu rõ hơn về cách mà hai thuật toán hoạt động
trong môi trường thực tế.
2. Những điều chưa làm được
Mặc dù bạn đã xây dựng demo, nhưng việc đánh giá chi tiết hiệu suất của từng
thuật toán trong demo có thể là một điều cần hoàn thiện hơn. Việc này có thể
bao gồm so sánh hiệu suất, thời gian học, và sự ổn định của cả hai thuật toán.
Chưa thực hiện được việc mở rộng áp dụng hai thuật toán này vào các bài toán
khác ngoài game rắn. Việc này có thể giúp chúng ta hiểu rõ hơn về tính linh
hoạt và ứng dụng của hai thuật toán này trong nhiều lĩnh vực khác nhau.
3. Hướng phát triển trong tương lai
Nghiên cứu sâu hơn về các biến thể của hai thuật toán: Tập trung vào việc
nghiên cứu sâu hơn về các biến thể của Deep Q-Learning và Double Q-
Learning để hiểu rõ hơn về tính linh hoạt và hiệu suất của từng biến thể trong
các bài toán cụ thể.
Áp dụng vào các bài toán thực tế: Có thể áp dụng hai thuật toán này vào các
bài toán thực tế khác nhau nhằm hiểu rõ hơn về ứng dụng và hiệu suất trong
môi trường thực tế.

4. Tài liệu tham khảo


https://www.analyticsvidhya.com/blog/2019/04/introduction-deep-q-learning-python/
https://www.analyticsvidhya.com/blog/2019/04/introduction-deep-q-learning-python/
https://viblo.asia/p/reinforcement-learning-q-learning-63vKjO7VZ2R
https://www.baeldung.com/cs/q-learning-vs-deep-q-learning-vs-deep-q-network
https://huggingface.co/learn/deep-rl-course/unit3/deep-q-algorithm
https://www.geeksforgeeks.org/deep-q-learning/
https://codelearn.io/sharing/day-ai-danh-tictactoe-voi-deep-learning
https://www.baeldung.com/cs/q-learning-vs-deep-q-learning-vs-deep-q-network

28

You might also like