Download as pdf or txt
Download as pdf or txt
You are on page 1of 119

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐẠI HỌC QUỐC GIA HÀ NỘI

HỌC SÂU TĂNG CƯỜNG


(Deep Reinforcement Learning)

TIỂU LUẬN MÔN HỌC KHAI PHÁ DỮ LIỆU


Khoa: Công Nghệ Thông tin
Giảng viên: PGS. TS. Hà Quang Thụy

Nhóm thực hiện: Nhóm 9


Đào Duy Hải
Vũ Thị Thúy Thúy
Nguyễn Thị Chinh
Nguyễn Đức Thắng
Nguyễn Văn Phúc
Trần Quang Toàn

Hà Nội, 2018

1
Mục lục
Mục lục 2
9.1 Giới thiệu 4
9.2 Thuật toán không trạng thái (Stateless Algorithms): Multi-Armed Bandits 6
9.2.1 Thuật toán Naive 7
9.2.2 Thuật toán tham lam -Greedy 7
9.2.3 Phương pháp cận trên 7
9.3 Khung nhìn cơ bản về học tăng cường 8
9.3.1 Các thách thức của học tăng cường 10
9.3.2 Học tăng cường đơn giản cho trò chơi Tic-Tac-Toe 11
9.3.3 Vai trò của Deep Learning và thuật toán Straw-Man 11
9.4 Khởi động cùng với học dựa trên hàm giá trị 14
9.4.1 Mô hình học sâu dưới dạng hàm xấp xỉ 14
Thuật toán Q-Learning 14
9.4.2 Ví dụ: Mạng Neural cho Cài đặt Atari 17
9.4.3 Các phương pháp On-Policy so với các phương pháp Off-Policy: Thuật toán
SARSA 18
Học không dựa vào hàm xấp xỉ 19
9.4.4. Mô hình trạng thái với cặp trạng thái-hành động 20
9.5. Các phương pháp Policy Gradient 23
9.5.1. Phương pháp sai phân hữu hạn (Finite Difference Methods) 24
9.5.2. Phương pháp Likelihood Ratio 25
9.5.3. Kết hợp học có giám sát với policy gradient 28
9.5.4 Các phương pháp Actor-Critic: 28
9.5.5 Các không gian hành động liên tục (Continuous action spaces) 30
9.5.6 Ưu điểm và nhược điểm của các Policy gradients 31
9.6 Cây tìm kiếm Monte Carlo 32
Sử dụng trong việc nạp chương trình (Bootstrapping) 33
9.7 Các nghiên cứu điển hình: 34
9.7.1 Alpha Go: Go ở cấp độ vô địch 34
Các mạng chính sách (Policy networks) 36
Các mạng giá trị (Value Networks) 37
Cây tìm kiếm Monte Carlo 37
2
9.7.1.1 Alpha Zero: Những cải tiến đối với kiến thức Zero Human 38
Nhận xét về hiệu suất 39
9.7.2 Robot tự học 40
9.7.2.1 Học sâu về kỹ năng vận động 41
9.7.2.2 Học sâu về kỹ năng thị giác 42
9.7.3 Xây dựng hệ thống đàm thoại: Học tập sâu cho Chatbots 43
9.7.4 Xe tự hành 46
9.7.5 Suy luận kiến trúc nơ ron với học tăng cường 49
9.8 Những thách thức thực tế gắn liền với sự an toàn 50
9.9 Tổng kết 51
9.10 Tài liệu tham khảo 51
9.10.1 Các tài nguyên phần mềm và thí nghiệm 53
9.11 Bài tập 54

3
9.1 Giới thiệu
Con người không có khái niệm cụ thể về việc huấn luyện dữ liệu. Học tập với
con người là một quá trình tích lũy kinh nghiệm liên tục, ở đó các quyết định được
đưa ra và phần thưởng/hình phạt nhận được từ môi trường được sử dụng trong quá
trình học tập ở tương lai. Nói cách khác, việc học tập ở các sinh vật thông minh là do
quá trình thử nghiệm-lỗi hướng phần thưởng. Hơn nữa, trí thông minh và bản năng
của con người được mã hóa trong di truyền, nó phát triển qua hàng triệu năm với các
quá trình chi phối bởi các điều kiện môi trường khác nhau, được gọi là tiến hóa. Do đó
hầu hết các trí tuệ sinh học, như chúng ta đã biết đều bắt nguồn từ dạng này hay dạng
khác thông qua quá trình tương tác thử nghiệm và bị lỗi với môi trường.
Herbert Simon: "Con người được coi là hệ thống hành xử khá đơn giản. Sự
phức tạp của hành vi con người qua theo thời gian chính là sự phản ánh sự phức tạp
của môi trường."
Con người được coi là đơn giản bởi vì con người là những thực thể một chiều
và hoàn toàn bị chi phối bởi phần thưởng, do đó tất cả các trí thông minh sinh học đều
được quy về thực tế đơn giản này. Do mục đích của trí tuệ nhân tạo là mô phỏng lại trí
tuệ sinh học, nên từ cảm hứng từ sự thành công của sinh học trong việc đơn giản hóa
việc thiết kế các thuật toán học tập phức tạp.
Quá trình trial-and-error(thử và lỗi) chi phối bởi reward, trong đó hệ thống học
cách tương tác với môi trường phức tạp để nhận lại các phần thưởng, quá trình đó
trong ngôn ngữ học máy được biết đến là học tăng cường (reinforcement learning -
Reinforcement Learning). Trong Reinforcement Learning, quá trình liên tục thử
nghiệm và bị lỗi chi phối bởi việc làm sao để có thể tối đa hóa phần thưởng nhận được
theo thời gian. Reinforcement Learning có thể là cánh cửa để nhằm tạo ra các tác nhân
thông minh như các thuật toán chơi game, xe tự lái, hay là các robot thông minh tương
tác với môi trường.Nói đơn giản, nó là cửa ngõ để tạo ra các dạng của trí tuệ nhân tạo.
Thực sự thì chúng ta chưa hoàn đạt được những điều như trên nhưng đang có những
bước tiến lớn:
1. Một vài thiết bị được thiết kế để chơi các trò chơi video bằng cách chỉ
sử dụng các pixel đơn giản của bảng điều khiển video làm phản hồi. Một ví dụ
kinh điển là máy chơi game Atari 2600, là nền tảng hỗ trợ nhiều trò chơi. Đầu
vào của thiết bị học sâu này là hiển thị các pixel từ trạng thái hiện tại của trò
chơi. Thuật toán Reinforcement Learning dự đoán các hành động dựa trên màn
hình và đưa chúng vào bảng điều khiển của Atari. Ban đầu, thuật toán có rất
nhiều sai lầm, được phản ánh trong phần thưởng ảo được hiện ra trên màn hình
điều khiển. Khi nó lấy được kinh nghiệm từ việc mắc sai lầm, nó sẽ đưa ra các
quyết định tốt hơn. Đây là cách con người học trò chơi điện tử. Hiệu suất của

4
một thuật toán gần đây trên nền tảng Atari đã được chứng minh là vượt qua
hiệu suất ở mức độ của con người trong một lượng lớn các trò chơi. Trò chơi
điện tử là các bài toán rất phù hợp với các thuật toán học tập tăng cường, bởi
chúng có thể được xem như là các biểu diễn đơn giản hóa ở mức cao về các lựa
chọn mà được dùng trong các cài đặt quyết định tập trung khác nhau. Nói đơn
giản, trò chơi điện tử mô phỏng các mô hình đồ chơi trong cuộc sống thực.
2. DeepMind (DM) được học một thuật toán DL là AlphaGo để chơi cờ
vây (Go) bằng cách sử dụng các phần thưởng trong trò chơi từ cả người và máy
tính tự chơi. Go là trò chơi phức tạp đòi hỏi cả trực giác của con người, làm nó
trở thành rất khó khăn để có thể xây dựng thuật toán cho trò này. AlphaGo
không chỉ đánh bại rất nhiều người chơi hàng đầu thế giới, nó còn tạo ra phong
cách chơi mới bằng cách sử dụng các chiến lược độc đáo để đánh bại những
người chơi này. Đổi mới này là kết quá của quá trình tích lũy kinh nghiệm bị
chi phối bởi phần thưởng bằng cách tự chơi trong thời gian dài. Gần đây nó còn
được tổng quát hóa cho cờ Vua và nó đã thực sự đánh bại các thiết bị thông
thường hàng đầu khác.
3. Trong những năm gần đây, Deep Reinforcement Learning còn áp
dụng trong phát triển xe tự lái bằng cách sử dụng các phản hồi từ các cảm biến
để đưa ra các quyết định. Mặc dù việc sử dụng học giám sát được sử dụng phổ
biến, nhưng Reinforcement Learning luôn được lựa chọn là khả thi. Trong quá
trình lái thì nó luôn mắc lỗi ít hơn con người.
4. Nhiệm vụ tạo robot tự học là nhiệm vụ chủ yếu của học tăng cường.
Ví dụ, rất khó để cấu hình những con robot vận động hóa. Dạy robot cách di
chuyển vận động là một nhiệm vụ của Deep Reinforcement Learning, nếu
chúng ta không cho nó thấy đi bộ trông như thế nào. Trong Reinforcement
Learning chúng ta chỉ yêu cầu di chuyển từ A-B một cách hiệu quả nhất có thể
bằng cách sử dụng chân tay và động cơ. Thông qua trial-error bị chi phối bởi
phần thưởng robot học cách cuộn, thu thập dữ liệu và đi bộ.

Reinforcement Learning phù hợp với các nhiệm vụ đơn giản để đánh giá nhưng
lại khó để xác định. Ví dụ, thật dễ dàng đánh giá hiệu suất của người chơi cờ vua ở
cuối trò chơi nhưng khó để xác định hành động cụ thể trong mọi trường hợp. Như
trong sinh học sinh vật, Reinforcement Learning cung cấp một đường dẫn để đơn giản
hóa việc học các hành vi phức tạp bằng cách định nghĩa một phần thưởng và cho phép
thuật toán học cách tối ưu phần thưởng. Sự phức tạp của các hành vi này được kế thừa
từ môi trường. Hệ thống Reinforcement Learning vốn dĩ là các hệ thống đầu cuối,
trong đó các nhiệm vụ không được chia nhỏ mà được xem thông qua lăng kính của
phần thưởng đơn giản.

5
Ví dụ đơn giản nhất của Deep Reinforcement Learning là máy đánh bạc, giải
quyết việc một người chơi chọn máy sao cho tối đa hóa phần thưởng. Người chơi dự
đoán phần thưởng từ các máy khác nhau là khác nhau, và sẽ chơi máy có dự kiến là
phần thưởng lớn nhất. Vì phần thưởng không được biết trước, người chơi phải khám
phá và khai thác kiến thức đã học từ chúng để tối đa hóa phần thưởng. Mặc dù có thể
khám phá một máy đánh bạc cụ thể có thể sinh thêm kiến thức, nhưng phát sinh rất
nhiều khi chơi nó. Thuật toán phân nhóm nhiều nhánh cung cấp các chiến lược được
chế tạo cẩn thận để tối ưu hóa sự cân bằng giữa thăm dò và khai thác. Tuy nhiên, ở
đây quyết định lựa chọn máy đánh bạc giống với máy trước đó. Điều này không hoàn
toàn đúng trong các trò chơi video, xe tự lái mà ở đó trạng thái của môi trường được
định nghĩa. Các thiết bị học sâu rất tốt trong việc lọc các giá trị đầu vào của cảm biến
vào trong các hành động nhạy cảm bằng cách kết hợp quá trình học tập của nó với mô
hình khám phá/khai thác.

9.2 Thuật toán không trạng thái (Stateless Algorithms):


Multi-Armed Bandits
Xem xét lại bài toán máy đánh bạc, những người chơi liên tục chơi các máy
dựa trên những kinh nghiệm trước đó. Người chơi không biết rằng một trong những
máy đánh bạc có phần thưởng tối đa nhất và cố gắng khám phá và khai thác các máy
chơi. Việc thử các máy ngẫu nhiên sẽ lãng phí thời gian nhưng giúp chúng ta có kinh
nghiệm. Việc thử trong thời gian ngắn và chọn máy chơi tốt nhất có thể dẫn đến các
giải pháp kém trong thời gian lâu dài. Làm sao để cân bằng giữa thăm dò và khai
thác? Các thử nghiệm thì đều cung cấp các phần thưởng được phân phối theo xác suất
giống nhau như các thử nghiệm trước đó, do đó không có khái niệm trạng thái trong
hệ thống này. Trong trò chơi video di chuyển con trỏ theo một hướng cụ thể có phần
thưởng phụ thuộc nhiều vào trạng thái trò chơi.
Có một số chiến lược mà người chơi có thể sử dụng để điều chỉnh sự cân bằng
giữa thăm dò và khai thác không gian tìm kiếm. Trong phần tiếp theo chúng ta sẽ mô
tả ngắn gọn một số chiến lược chung trong các hệ thống phân dải nhiều nhánh. Các
phương pháp này đều mang tính hướng dẫn bởi vì chúng cung cấp các ý tưởng và
khuôn khổ cơ bản, được sử dụng trong các thiết lập tổng quát của Reinforcement
Learning. Thực tế, một số thuật toán không trạng thái này được sử dụng như các
chương trình con trong các hình thức học tập tăng cường chung. Do đó, điều quan
trọng là phải khám phá cài đặt đơn giản này.

6
9.2.1 Thuật toán Naive
Trong phương pháp này, người chơi chơi từng máy cho một số thử
nghiệm cố định trong giai đoạn thăm dò. Sau đó, máy có mức hoàn trả cao nhất
được sử dụng vĩnh viễn trong giai đoạn khai thác. Mặc dù cách tiếp cận này có
vẻ hợp lý từ cách nhìn đầu tiên, nó có một số hạn chế. Thứ nhất là khó xác định
số lượng các thử nghiệm mà tại đó người ta có thể có tốt hơn một máy khác
hay không. Quá trình ước lượng chi trả có thể mất nhiều thời gian, đặc biệt là
trong trường hợp các sự kiện trả thưởng hiếm khi so sánh vs các sự kiện không
trả thưởng. Sử dụng nhiều thử nghiệm thăm dò sẽ lãng phí một lượng đáng kể
nỗ lực vào các chiến lược tối ưu. Hơn nữa nếu chiến lược sai được chọn cuối
cùng, con bạc sẽ sử dụng máy sai mãi mãi. Do đó các tiếp cận này không thực
tế.

9.2.2 Thuật toán tham lam ε − Greedy


Thuật toán tham lam được thiết kế để sử dụng chiến lược tốt nhất bất cứ
khi nào có thể, mà không lãng phí đáng kể các thử nghiệm. Ý tưởng của thuật
toán là chọn ngẫu nhiên một máy cho một phần ε cho việc thử nghiệm. Các
thử nghiệm thăm dò này cũng được chọn ngẫu nhiên(với một xác suất), do đó
nó được xen kẽ với các thử nghiệm khai thác. Trong phần còn lại của các thử
nghiệm, máy có mức thưởng lớn nhất sẽ được chọn làm máy sử dụng. Một lợi
thế của phương pháp này là nó không bị mắc kẹt mãi mãi. Hơn nữa, việc bắt
đầu giai đoạn khai thác sớm có thể giúp cho việc sử dụng chiến lược tốt nhất ở
một thời gian lớn.
Giá trị ε là một tham số của thuật toán. Ví dụ, trong cài đặt, nó thường
được cài đặt là 0.1, mặc dù lựa chọn tốt nhất của e sẽ thay đổi theo từng ứng
dụng. Nó thường khó để xác định giá trị tốt nhất của ε . Giá trị của ε cần đủ bé
để có thể gia tăng lợi ích của việc khai thác. Tuy nhiên một giá trị quá nhỏ e sẽ
làm mất thời gian để xác định được máy này là cần chọn. Một phương pháp
phổ biến là phương pháp ủ (annealing), trong đó một giá trị ε lớn sẽ được khởi
tạo, và nó sẽ được giảm theo thời gian.

9.2.3 Phương pháp cận trên


Mặc dù phương pháp tham lam tốt hơn nhiều so với phương pháp Naive
trong cài đặt linh hoạt, nó vẫn kém hiệu quả trong việc học việc trả tiền của các
7
máy đánh bạc. Trong phương pháp cận trên, người chơi sẽ không sử dụng tiền
thưởng trung bình của 1 cỗ máy đánh bạc. Thay vào đó người chơi có cái nhìn
lạc quan hơn về các máy chưa được thử nghiệm đầy đủ, và do đó sử dụng máy
với các giá trị biên trên phần thưởng tốt nhất. Giá trị biên trên U i của việc
kiểm thử máy i là tổng của phần thưởng Qi và độ tin cậy C i .
U i = Qi + C i
Giá trị C i giống như là phần thêm cho việc độ nghi ngờ gia tăng về máy
trong tư tưởng của người chơi. Giá trị C i tỷ lệ với độ lệch chuẩn của phần
thưởng trung bình của các lần thử nghiệm. Theo như định lý giới hạn trung
tâm, độ lệch chuẩn tỷ lệ nghịch với căn bậc 2 của số lần mấy thứ i được thử. Có
thể ước tính giá trị trung bình và độ lệch chuẩn của máy thứ i và cài đặt C i là
K · σ i /√ni , trong đó ni là số lần thử máy thứ i . Ở đây, K quyết định độ tin
cậy. Do đó, hiếm có máy nào có thể đạt đến cần trên lớn (bởi vì độ tin cậy lớn
C i ) và nó sẽ được thử thường xuyên.

Không giống ε − g reedy , việc thử nghiệm không còn được chia thành
khám phá và khai thác, quá trình chọn máy với biên trên lớn nhất sẽ có tác
động kép mã hóa lên cả khám phá và khai thác trong từng thử nghiệm. Chúng
ta có thể cân bằng giữa khám phá và khai thác bằng 1 mức độ tin cậy thống kê
cụ thể. Chọn K = 3 sẽ dẫn đến độ tin cậy 99.99% cho giới hạn trên theo giả
thuyết Gaussian. Nhìn chung, việc tăng K sẽ làm cho C i lớn.

9.3 Khung nhìn cơ bản về học tăng cường


Thuật toán máy đánh bạc ở phần trước là không trạng thái. Nói cách khác,
quyết định thực hiện tại mỗi thời gian thì môi trường giống hệt nhau và các hành động
trong quá khứ chỉ ảnh hưởng tới kiến thức của tác nhân (không ảnh hưởng tới môi
trường). Đây không là trường hợp chung trong việc học tăng cường giống như video
game hay xe tự lái, các khái niệm có trạng thái.
Trong các cài đặt Reinforcement Learning chung, từng hành động liên kết với
một phần thưởng một cách độc lập. Trong khi chơi video game, bạn không có phần
thưởng vì bạn thực hiện từng di chuyển cụ thể. Phần thưởng cho các lần di chuyển
phụ thuộc vào tất cả các bước di chuyển trong quá khứ, thứ được chưa trong trạng thái
của môi trường. Trong video game hoặc xe tự lái, chúng ta cần cách khác để thực hiện
phân bổ tín dụng ở các hệ thống trạng thái cụ thể. Chúng ta cần một cách để định
lượng phần thưởng khác nhau cho các trạng thái hệ thống khác nhau.

8
Trong Deep Reinforcement Learning, chúng ta có một tác nhân tương tác với
một trường thông qua các hành động. VD, người chơi là tác nhân trong game, và thực
hiện di chuyển cần điều khiển theo một hướng nhất định trong game là một hành
động. Môi trường là toàn bộ cài đặt của game. Các hành động thay đổi theo môi
trường và hướng tới hành động mới. Trong video game, trạng thái đại diện cho tất cả
các biến mô tả vị trí hiện tại của người chơi tại một thời điểm cụ thể. Môi trường đưa
ra phần thưởng tác nhân, phụ thuộc vào mục đích của việc học là gì. VD, điểm số
trong video game là một kiểu phần thưởng. Nhớ rằng đôi khi phần thưởng không liên
quan trực tiếp tới hành động, nhưng với một sự kết hợp của các hành động quay lại.
VD, người chơi có lẽ. VD, người chơi có thể định vị con trỏ một cách khéo léo ở vị trí
thuận lợi , và từ đó có thể không được phần thưởng. Hơn thế nữa, phần thưởng cho
từng hành động không được xác định trong một trạng thái cụ thể. Một mục đích nữa
của Deep Reinforcement Learning là xác định các giá trị vốn có của các hành động ở
các trạng thái khác nhau, bất kể thời gian và tính ngẫu nhiên của phần thưởng.
Quá trình học sẽ giúp cho tác nhân chọn hành động dựa trên các thuộc tính vốn
có của các hành động trong các trạng thái khác nhau. Nguyên tắc chung này được áp
dụng cho tất cả các hình thức học tăng cường trong sinh vật sinh học, như một con
chuột học các xuyên qua mê cung để đạt được phần thưởng. Phần thưởng kiếm được
phụ thuộc vào thứ tự các hành động, hơn thế nữa là hành động cuối cùng. Khi mà
kiếm được phần thưởng, các khớp thần kinh của chuột sẽ phản ánh đầu vào nên được
sử dụng để quyết định các hành động trong tương lai trong ma trận. Nó thực sự là cách
tiếp cận trong Deep Reinforcement Learning, neural network được sử dụng để dự
đoán hành động từ cảm biến đầu vào. Nó có quan hệ giữa tác nhân và môi trường.
Toàn bộ cài đặt trạng thái, hành động và các luật di chuyển từ vị trí này đến vị
trí khác được tham khảo trong tiến trình quyết định Markov. Thuộc tính chính của tiến
trình quyết định Markov là trạng thái ở các thời gian cụ thể mã hóa toàn bộ thông tin
cần thiết của môi trường để thực hiện chuyển đổi trạng thái và chỉ định phần thưởng
dựa trên các tác nhân. Tiến trình quyết định Markov hữu hạn kết thúc trong một hữu
hạn bước, là một hồi. Một giai đoạn cụ thể của tiến trình là một thứ tự các hành động,
trạng thái, phần thưởng. VD (n + 1):
s0 a0 r0 ...st at rt ...sn an rn
Chú ý rằng s​t là trạng thái trước khi thực hiện hành động a​t​, và thực hiện hành
động a​t dẫn đến phần thưởng r​t và chuyển trạng thái lên s​t+1​. Tiến trình quyết định
Markov vô hạn không có độ dài hữu hạn.

Ví dụ: Mặc dù một hệ thống trạng thái đề cập đến mô tả đầy đủ về môi trường.
VD, trong Atari, trạng thái hệ thống được định nghĩa bằng cách chụp màn hình có độ
rộng cố định. Một vài VD:

9
1. Game tic-tac-toe, Go: Trạng thái là vị trí các quân cờ trên bàn, và
hành động tương ứng với mỗi lần di chuyển của tác nhân. Phần thưởng là +1, 0,
-1, sẽ nhận được khi kết thúc trò chơi. Chú ý rằng phần thưởng không nhận
được ngay sau một chiến lược thông minh.
2. Robot vận động: Trạng thái tương ứng với cấu hình hiện tại của robot
và vị trí của nó. Hành động tương ứng với áp lực cho khớp robot. Phần thưởng
ở mỗi lần là một chức năng cho robot dù robot đứng yên hay dịch chuyển từ
A-B.
3. Xe tự lái: Trạng thái tương ứng với cảm biến đầu vào từ xe, và hành
động tương ứng với lái, tăng tốc hay phanh. Phần thưởng là các tiến trình của
xe và sự an toàn.

9.3.1 Các thách thức của học tăng cường


Deep Reinforcement Learning khó hơn các hình thức truyền thống của
học quan sát bởi:
1. Khi nhận được phần thưởng, nó không thực sự biết được từng hành
động đóng góp bao nhiêu vào trong phần thưởng. Đây là vấn đề cốt lõi của việc
học tăng cường, và được biết đến là vấn đề phân bổ tín dụng. Hơn thế nữa,
phần thưởng có thể là xác suất, nó có thể chỉ là ước lượng xấp xỉ trong điều
khiển dữ liệu.
2. Hệ thống Deep Reinforcement Learning có lẽ có một số lượng lớn
trạng thái, và phải có khả năng đưa ra các quyết định hợp lý trong trạng thái mà
nó chưa biết trước. Nhiệm vụ tổng quát hóa mô hình là mục đích chính của việc
học sâu.
3. Lựa chọn một hành động cụ thể ảnh hưởng đến dữ liệu thu thập liên
quan đến các hành động trong tương lai. Như trò chơi đánh bạc, có sự cân bằng
giữa thăm dò và khai thác. Nếu hành động được thực hiện chỉ để kiếm phần
thưởng, sau đó nó phải chịu một chi phí cho người chơi. Mặt khác, việc gắn bó
với các hành động đã biết có thể sẽ có được kết quả tối ưu.
4. Deep Reinforcement Learning kết hợp với các khái niệm thu thập dữ
liệu với việc học tập. Mô phỏng thực tế về một hệ thống vật lý lớn như là
robots hay xe tự lái bị hạn chế bởi nhu cầu cần thực hiện các nhiệm vụ và thu
nhận các phản ứng của các hành động khi có sự thay đổi nguy hiểm từ môi
trường. Trong nhiều trường hợp, phần đầu của việc học các nhiệm vụ có thể có
một vài thành công hay thất bại. Việc không có khả năng thu thập đủ dữ liệu
trong môi trường mô phỏng và các trò chơi cần phải tập trung được là thách
thức lớn nhất trong Deep Reinforcement Learning.

10
Trong phần tiếp theo sẽ giới thiệu một thuật toán Deep Reinforcement
Learning đơn giản và thảo luận về vai trò của phương pháp học sâu.

9.3.2 Học tăng cường đơn giản cho trò chơi Tic-Tac-Toe
Có thể khái quát hóa các thuật toán e-greedy trong phần trước để tìm
hiểu cách chơi trò tic-tac-toe. Trong trường hợp này mỗi vị trí trên bàn chơi là
một trạng thái, và hành động tương ứng với việc đặt 'X' hay 'O' tại một vị trí
hợp lệ. Số lượng các trạng thái hợp lệ trong bàn 3x3 lên tới 3​9 = 19683, nó
tương ứng với 3 khả năng với 9 vị trí. Thay vì ước tính giá trị của từng hành
động trong trò chơi đánh bạc, bây giờ chúng ta ước tính giá trị của từng cặp
trạng thái-hành động dựa trên các thực hiện trong quá khứ trong trạng thái đối
đầu với một máy cố định. Các chiến thắng ngắn hơn được ưu tiên ở hệ số chiết
khấu γ < 1 và do đó giá trị hành động không chuẩn hóa trong trạng thái s
được tăng lên γ r − 1 trong trường hợp thắng và − γ r − 1 trong trường hợp thua
sau khi r di chuyển. Hòa thì phần thưởng sẽ là 0. Việc hạ giá cũng phản ánh
thực tế rằng ý nghĩa của hành động phân rã theo thời gian trong cài đặt thực tế.
Trong trường hợp này, bảng được cập nhật sau khi tất các các di chuyển được
thực hiện trong game (mặc dù các phương pháp sau này cho phép cập nhật
trực tuyến sau mỗi lần di chuyển). Các giá trị chuẩn hóa của các hành động
trong bảng thu được bằng cách chia các giá trị không chuẩn hóa với số lần cặp
trạng thái-hành động được cập nhật (được duy trì riêng biệt). Bảng này sẽ bắt
đầu với một giá trị nhỏ ngẫu nhiên, và hành động a trong trạng thái s được chọn
một cách tham lam để hành động có giá trị chuẩn hóa cao nhất với xác suất 1 -
e, và được chọn là hành động ngẫu thiên khác. Tất cả các di chuyển trong
game được thưởng sau khi kết thúc mỗi game. Theo thời gian, giá trị của tất cả
các cặp trạng thái-hành động sẽ được học và kết quả sẽ tương thích với đối thủ
cố định. Hơn thế nữa, tự bản thân nó cũng có thể tự chơi để tạo ra bảng tối ưu.
Khi tự chơi được sử dụng, bảng sẽ được cập nhật từ một giá trị thuộc {-
γ r , 0, γ r } phục thuộc và thắng/hòa/thua từ bối cảnh người chơi mà người chơi
đó tạo ra. Tại thời gian suy luận, các di chuyển với giá trị chuẩn hóa cao nhất từ
quan điểm của người chơi sẽ được thực hiện.

9.3.3 Vai trò của Deep Learning và thuật toán Straw-Man


Các thuật toán đề cập trước ở tic-tac-toe đã không dùng tới neural
network hay học sâu và nó cũng chỉ là các thuật toán truyền thống của học tăng

11
cường. Mục tiêu bao quát của thuật toán tham lam cho tictactoe là tìm hiểu các
giá trị lâu dài vốn có của từng cặp state-action, vì phần thưởng nhận được lâu
sau khi các hành động có giá trị được thực hiện. Mục đích của quá trình
training là để thực hiện các nhiệm vụ khám phá giá trị của việc xác định hành
động nào thực sự mang lại lợi ích lâu dài cho một trạng thái cụ thể. VD, thực
hiện một nước đi thông minh trong tictactoe có lẽ sẽ tạo được 1 bẫy, thứ mà
đảm bảo chiến thắng cuối cùng. Ví dụ 2 kịch bản được thể hiện ở hình 9.2a. Do
đó, người ta cần phải tín dụng một chiến lược di chuyển tốt trên bàn cờ của các
cặp state-action và không chỉ di chuyển để chiến thắng cuối cùng. Kỹ thuật
trial-and-error dựa trên thuật toán tham lam của phần 9.3.2 sẽ thực sự gán giá
trị cao cho bẫy thông minh. Ví dụ từ các giá trị điển hình của một bàn cờ được
thể hiện ở hình 9.2b. Lưu ý rằng bẫy ở đây ít rõ ràng hơn hình 9.2a có giá trị
thấp hơn bởi việc di chuyển đảm bảo chiến thắng sau các khoảng thời gian dài
hơn sẽ bị giảm bởi γ , và quá trình trial-and-error sẽ khó tìm thấy chiến thắng
hơn sau khi đặt bẫy.
Vấn đề chính với các tiếp cận này là số trạng thái trong thiết lập học
tăng cường là quá lớn để có thể lập bảng một cách rõ ràng. VD, số lượng của
các trạng thái có thể trong cờ vua là quá lớn để có thể lập được tất cả các vị trí,
phần mà con người biết chỉ là một phần nhỏ của các vị trí hợp lệ. Trong thực tế,
thuật toán ở phần 9.3.2 là một hình thức tốt của việc học thuộc lòng trong mô
phỏng Monte Carlo được sử dụng để tinh chỉnh và ghi nhớ các giá trị lâu dài
của các trạng thái nhìn thấy được. Người ta biết về một giá trị của một cái bẫy
trong tictactoe chỉ bởi mô phỏng Monte Carlo trước đã có kinh nghiệm chiến
thắng nhiều lần từ các vị trí chính xác đó. Trong hầu hết các thử thách như cờ
vua, người ra phải khái quát kiến thức từ những kinh nghiệm trước đó tới một
trạng thái mà người học chưa từng nhìn thấy trước đây. Tất cả các hình thức
học (bao gồm cả học tăng cường) hầu hết đều hữu ích khi nó được dùng để
khái quát các kinh nghiệm đã biết để đi tới các tình huống chưa biết. Trong
những trường hợp như vậy, các hình thức học tăng cường tập trung vào bảng là
không đủ. Mô hình học sâu phục vụ vai trò của hàn xấp xỉ. Thay vì học và lập
bảng giá trị của di chuyển như là các hàm trạng thái đầu vào, dựa trên mô hình
huấn luyện bằng cách sử dụng các kết quả của các trạng thái trước đó. Không
có cách tiếp cận này, học tăng cường không thể được dùng ngoài các thiết lập
trò chơi như tictactoe.
Ví dụ, thuật toán straw-man cho cờ vua có lẽ cũng dùng một thuật toán
tham lam như phần 9.3.2 nhưng giá trị của hành động được tính toán bởi việc
dùng bảng trạng thái như đầu vào cho mạng neural xoắn. Đầu ra là đánh giá vị
trí của bảng. Thuật toán tham lam được mô phỏng để kết thúc với giá trị đầu ra,

12
và giá trị chân lý giảm của mỗi di chuyển trong mô phỏng là được lựa chọn từ
bộ { γ r − 1 , 0, − γ r − 1 } phụ thuộc vào thắng/hòa/thua và số di chuyển r để hoàn
thành trò chơi (bao gồm cả di chuyển hiện tại). Thay vì cập nhật một bảng các
cặp state-action, các tham số của mạng neural được cập nhật bằng cách xử lý
từng di chuyển như điểm huấn luyện. Vị trí bằng là đầu vào, đầu ra của mạng
neural được so sánh với giá trị chân lý từ { γ r − 1 , 0, - γ r − 1 } để cập nhật giá trị.
Tại thời điểm suy luận, di chuyển với điểm đầu ra tốt nhất có thể được sử dụng.
Mặc dù các tiếp cận trên là rất ngây thơ, một hệ thống phức tạp với cây
tìm kiếm Monte Carlo, được biết đến như là Alpha Zero, gần đây đã được huấn
luyện để chơi cờ vua. Hai ví dụ về vị trí từ 2 ván đấu khác nhau trong trận đấu
giữa Alpha Zero và một chương trình cờ thông thường, Stockfish-8.0, được
cung cấp trong hình 9.2c. Ở vị trí cờ vua bên trái, hệ thống học tăng cường tạo
ra một động thái khôn ngoan về mặt chiến lược làm cho đối thủ bị tổn thất ngay
lập tức, mà hầu hết các máy thủ công đều sẽ không thích. Trong vị trí bên phải,
Alpha Zero đã hy sinh 2 con cờ để từng bước thắt chặt vị trí nơi mà các phần
của nó đều hoàn toàn tê liệt. Mặc dù Alpha Zero không bao giờ gặp các vị trí
cụ thể này trong quá trình huấn luyện, bộ phận học sâu của nó có khả năng
trích xuất các tính năng và mẫu từ các kinh nghiệm trial-and-error từ trước ở
các vị trí khác. Trong trường hợp cụ thể, mạng neural dường như nhận ra tính
ưu việt của mẫu không gian đại diện cho các yếu tố vị trí tốt trên các yếu tố vật
chất hữu hình(giống như mạng thần kinh con người).
Trong cài đặt thực tế, các trạng thái thường được miêu ta bằng các cảm
biến đầu vào. Thiết bị học sâu dùng các đầu vào này của các trạng thái để tìm
hiểu các giá trị cụ của các hành động cụ thể thay cho bảng cặp state-action.
Ngay cả khi biểu diễn đầu vào của trạng thái là hoàn toàn nguyên thủy, mạng
neural là những thứ nắm vững các thông tin chi tiết có liên quan. Điều này
tương tự các tiếp cận được sử dụng bởi con người để xử lý đầu vào cảm giác để
xác định trạng thái của thế giới và quyết định về hành động sử dụng mạng
neural. Chúng ta không có bảng không có một bảng các cặp state-action ghi
nhớ trước cho mọi tình huống thực tế có thể xảy ra. Mô hình học sâu chuyển
đổi bảng lớn các giá trị state-action thành một mô hình tham số hóa ánh xạ cặp
state-action, thứ được huấn luyện dễ dàng hơn sử dụng lan truyền ngược
(backpropagation).

13
9.4 Khởi động cùng với học dựa trên hàm giá trị

9.4.1 Mô hình học sâu dưới dạng hàm xấp xỉ


Để dễ dàng thảo luận, chúng ta sẽ làm việc với cài đặt Atari trong đó
một cửa sổ cố định của một vài snapshot cuối cùng cung cấp trạng thái st . Giả
sử tính năng biểu diễn bởi st được ký hiệu bởi X t . Mạng neural sử dụng X t
như đầu vào và đầu ra Q(st , a) cho từng hoạt động a hợp lệ từ miền hành động
được ký hiệu bởi A.
Giả sử rằng mạng neural được tham số hóa bởi vector trọng số W , và
nó có |A| đầu ra có chứa Q-values tương ứng với mỗi hành động trong A. Nói
cách khác, với mỗi hành động a ∈ A , mạng neural có thể tính toán hàm
F (X t , W, a) , được định nghĩa là ước tính học được của Q(st , a) :
︿
F (X t , W, a) = Q(st , a)
Lưu ý dấu mũ trên đỉnh đầu của Q-function để cho biết rằng nó là giá trị
được dự đoán bằng các tham số đã học W . Việc học W là chìa khóa để sử
dụng mô hình cho việc quyết định hành động nào sẽ được sử dụng tại một thời
điểm cụ thể. Ví dụ, xét một video game có các di chuyển up, down, left, right.
Trong trường hợp này, mạng neural sẽ có bốn đầu ra được thể hiện ở hình 9.3.
Trong trường hợp cụ thể của game Atari 2600, đầu vào gồm 4 bản đồ pixel
không gian trong thang độ xám. Một mạng neural xoắn được sử dụng để
chuyển đổi các pixel thành Q-values. Mạng này được gọi là Q-network. Chúng
ta sẽ nói chi tiết hơn về kiến trúc này sau.

Thuật toán Q-Learning


Trọng số W của mạng neural cần được học thông qua huấn luyện. Tại
đây, chúng ta gặp phải một vấn đề thú vị. Chúng ta có thể học vector trọng số
chỉ khi chúng ra đã quan sát các giá trị của Q-function. Với các giá trị được
quan sát của Q-function, chúng ta có thể dễ dàng cài đặt một mất mát trong
︿
Q(st , a) − Q(st , a) để thực hiện việc học sau mỗi hành động. Vấn đề là
Q-function đại diện cho phần thưởng giảm tối đa cho các kết hợp hành động
trong tương lai, và nó không có cách nào quan sát nó ở thời điểm hiện tại.
Ở đây, có một thủ thuật thú vị được cài đặt hàm mất mát cho mạng
neural. Theo như phần 9.4.1, chúng ta không thực sự cần quan sát Q-values để
cài đặt hàm mất mát miễn là chúng ta biết một ước tính được cải thiện của
Q-values bằng cách dùng từng phần kiến thức trong tương lai. Sau đó, chúng ta
có thể dùng các đánh giá được cải thiện để tạo ra một giá trị "quan sát" thay
14
thế. Giá trị "quan sát" này được định nghĩa bởi phương trình Bellman, là một
mối quan hệ lập trình động được đáp ứng bởi Q-function, và từng phần kiến
thức là phần thưởng được quan sát tại thời điểm cho từng hành động. Theo
phương trình Bellman, chúng ta đặt "ground-truth" bằng cách nhìn về phía
trước một bước và dự đoán tại st + 1 :
︿
Q(st , at ) = rt + γmaxa Q(st + 1 , a)
Tính đúng đắn của mối quan hệ này thực tế là Q-function được thiết kế
để tối đa hóa khoản hoàn trả được chiết khấu trong tương lai. Chúng ta cần xem
xét tất cả các hành động trước một bước để tạo đánh giá cải thiện của Q(st , at ) .
︿
Điều quan trọng là phải cài đặt Q(st + 1 , a) thành 0 trong trường hợp quá trình
chấm dứt sau khi thực hiện at . Chúng ta có thể viết quan hệ này về các dự
đoán mạng neural như sau:
F (X t , W, at ) = rt + γmaxa F (X t+1 , W, a)
Lưu ý rằng, trước tiên phải chờ để quan sát trạng thái X t+1 và phần
thưởng rt bằng cách thực hiện hành động at , trước khi chúng ta có thể tính
toán giá trị "observed" tại thời gian t ở phía bên tay phải của phương trình trên.
Nó cung cấp một cách để biểu thị tổn thất Lt của mạng neural tại thời điểm t
bằng cách so sánh giá trị quan sát với giá trị dự đoán tại thời điểm t :
2
Lt = {[r t + γ maxa F (X t+1 , W, a) ] − F (X t , W, at ) }
Do đó bây giờ chúng ta có thể cập nhật vector trọng số W bằng cách sử
dụng backpropagation trên hàm mất mát này. Ở đây, điều quan trọng cần lưu ý
là giá trị mục đích được ước tính bắc cách sử dụng đầu vào tại (t + 1) được
coi là công cụ dự đoán của thuật toán backpropagation. Do đó, đạo hàm của
loss function sẽ coi các giá trị ước lượng này như là hằng số, mặc dù chúng thu
được từ mạng neural tham số hóa với đầu vào X t+1 . Không xử lý
F (X t+1 , W, a) như một hằng số sẽ cho ra kết quả tồi. Điều này là do chúng ta
đang xử lý dự đoán tại (t + 1) như là ước lượng cải thiện của ground-truth
(dựa trên nguyên tắc bootstrapping). Do đó, thuật toán backpropagation sẽ
được tính như sau:
W⇐W + a {[r t ]
+ γ maxa F (X t+1 , W, a) }
− F (X t , W, at )
∂F (X t, W , at )
∂W
Trong ký hiệu tính toán ma trận, đạo hàm từng phần của hàm F () với
vector W về bản chất là gradient ∇ W F . Tại thời điểm bắt đầu của tiến trình,
Q-values được đánh giá bởi mạng neural được ngẫu nhiên bởi vector trọng số
W được khởi tạo ngẫu nhiên. Tuy nhiên, việc ước tính trở nên chính xác hơn
theo thời gian, vì trọng số luôn được thay đổi để tối đa hóa phần thưởng.

15
Do đó, tại bất kỳ dấu thời điểm t nào mà tại đó hành động at và phần
thưởng rt được quan sát, quá trình huấn luyện sau đây được dùng để cập nhật
trọng số W :
1. Thực hiện chuyển tiếp qua mạng với đầu vào X t+1 để tính toán
︿
Qt+1 = maxa F (X t+1 , W, a) . Giá trị là 0 trong trường hợp kết thúc thực
hiện at . Điều trị trạng thái thiết bị đầu cuối cực kỳ quan trọng. Theo
như phương trình Bellman, O-value tại thời điểm trước đó phải là
rt + γ Qt+1 cho việc quan sát hành động at tại thời điểm t . Do đó, thay
vì dùng giá trị quan sát của mục tiêu, chúng ta tạo ra một đại diện cho
giá trị đích tại thời điểm t, và chúng ta giả định rằng đại diện này là giá
trị quan sát được đưa cho chúng ta.
2. Thực hiện chuyển tiếp qua mạng với đầu vào X t để tính toán
F (X t , W, at ) .
2
3. Cài đặt hàm mất mát trong Lt = (rt + γ Qt+1 − F (X t , W, at )) , và
backpropagation trong mạng với giá trị đầu vào X t . Lưu ý rằng, loss
function này được kết hợp với đầu ra tương ứng của mạng neural với
hành động at , và sự mất mát với tất cả các hành động khác là 0.
4. Bây giờ chúng ta có thể sử dụng backpropagation trên hàm mất mát để
cập nhật trọng số vector W . Mặc dù rt + γ Qt+1 trong hàm mất mát cũng
thu được một dự đoán từ đầu vào X t+1 đến mạng neural, nó được coi là
giá trị quan sát trong quá trình tính toán gradient bời thuật toán
backpropagation.
Cả việc huấn luyện và việc dự đoán được thực hiện đồng thời, vì giá trị
các hành động được sử dụng để cập nhật trọng số và chọn hành động tiếp theo.
Bạn có thể chọn hành động có Q-values lớn nhất như là dự đoán có liên quan.
Tuy nhiên, cách tiếp cận này có lẽ thực hiện việc khám phá không gian không
đầy đủ. Do đó, một cặp dự đoán tối ưu với một chính sách như là thuật toán
tham lam để chọn hành động tiếp theo. Hành động với khoản chi trả dự đoán
lớn nhất được chọn với xác suất (1 - ε ). Mặt khác, một hành động ngẫu nhiên
được chọn. Giá trị của ε có thể được ủ bằng cách bắt đầu với giá trị lớn và
giảm dần theo thời gian. Do đó, giá trị dự đoán mục tiêu cho mạng neural được
tính toán bằng hành động tốt nhất trong phương trình Bellman (có lẽ khác với
hành động được quan sát at+1 dựa trên chính sách tham lam). Đó là lý do
Q-learning được gọi là thuật toán ngoài chính sách, trong đó các giá trị dự đoán
mục tiêu cho cập nhật mạng neural được tính toán sử dụng các hành động có
thể khác với các hành động thực sự quan sát được trong tương lai.

16
Có một số sửa đổi cho các tiếp cận cơ bản để là cho việc học tập ổn định
hơn. Nhiều thứ trong số này được thiết lập trong trò chơi Atari. Đầu tiên, trình
bày các ví dụ huấn luyện chính xác trong chuỗi có thể dẫn đến minima bởi sự
tương đồng mạnh mẽ giữa các ví dụ học. Do đó, một lịch sử cố định của hành
động/phần thưởng được dùng như một bể. Người ta có thể xem nó như là lịch
sử của kinh nghiệm. Nhiều kinh nghiệm được lấy mẫu từ bể này để thực hiện
độ dốc gốc nhỏ. Nhìn chung, có thể lấy mẫu cùng một hành động nhiều lần,
dẫn đến kết quả tốt hơn trong tận dụng dữ liệu học tập. Lưu ý rằng bể chứa này
được cập nhật theo thời gian như hành động cái cũ thì bị thải ra còn cái mới
được thêm vào. Do đó, việc huấn luyện vẫn là tạm thời. Cách tiếp cận này được
coi là phát lại trải nghiệm, vì trải nghiệm được phát lại nhiều lần theo thứ tự hơi
khác so với hành động ban đầu.
Một thay đổi khác là mạng được sử dụng cho việc ước tính Q-values
mục tiêu với phương trình Bellman không giống như mạng được sử dụng để dự
đoán Q-values. Mạng được dùng để ước tính Q-values mục tiêu được cập nhật
chậm hơn để khuyến khích tính ổn định. Cuối cùng, một vấn đề với hệ thống là
sự thưa thớt của phần thưởng, đặc biệt là giai đoạn đầu của giai đoạn học khi
mà các di chuyển được chọn ngẫu nhiên. Trong trường hợp này, có thể sử dụng
một vài thủ thuật như phát lại trải nghiệm ưu tiên. Ý tưởng cơ bản là làm cho
việc sử dụng có hiệu quả hơn các dữ k=liệu học được thu thập trong quá trình
học tăng cường bởi các hành động ưu tiên mà từ đó có thể học được nhiều hơn.

9.4.2 Ví dụ: Mạng Neural cho Cài đặt Atari


Với mạng neural xoắn, kích thước màn hình là 84x8e4 pixels, xác định
những spatial footprints của layer đầu tiên trong mạng xoắn. Đầu vào là bảng
màu đơn giản 256 cấp độ, và do đó mỗi màn hình chỉ yêu cầu một bản đồ
không gian đơn, mặc dù độ sâu 4 được yêu cầu trong lớp đầu vào để thể hiện 4
cửa sổ của pixels trước đó. Ba lớp tích chập được sử dụng với các bộ lọc của
kích thước 8 x 8, 4 x 4 và 3 x 3 tương ứng. Tổng cộng 32 bộ lọc được sử dụng
ở lớp tích chập thứ nhất, và 64 bộ lọc được sử dụng trong mỗi bộ lọc khác, với
các bước tiến được sử dụng trong tích chập là 4, 2 và 1 tương ứng. Các lớp tích
chập được theo sau bởi 2 lớp kết nối hoàn toàn. Số lượng neurons trong lớp áp
chót bằng 512, và lớp cuối cùng là bằng số lượng đầu ra(các hành động có thể
thực hiện). Số lượng lớp đầu ra khác nhau trong khoảng 4 và 18. Kiến trúc tổng
thể minh họa trong hình 9.4.
Tất cả các layer ẩn được sử dụng để kích hoạt ReLU, và đầu ra được sử
dụng để kích hoạt tuyến tính để dự đoán real-valued Q-value. Không gộp được

17
sử dụng, và các bước tiến trong tích chập cung cấp nén không gian. Nền tảng
Atari hỗ trợ rất nhiều game, và kiến trúc rộng lớn hơn được sử dụng trên các trò
chơi khác nhau để thể hiện tính tổng quát của nó. Có một vài thay đổi về hiệu
suất trên các trò chơi khác nhau, mặc dù hiệu suất con người vượt quá trong
nhiều trường hợp. Thuật toán đối mặt với thử thách lớn nhất trong game, trong
đó các chiến lược dài hạn là bắt buộc. Tuy nhiên, hiệu suất mạnh mẽ của một
khuôn khổ tương đối đồng nhất trên nhiều trò chơi là đáng khích lệ.

9.4.3 Các phương pháp On-Policy so với các phương pháp


Off-Policy: Thuật toán SARSA
Phương pháp Q-Learning thuộc về lớp phương pháp, được gọi là học tập
khác biệt theo thời gian. Trong Q-learning, các hành động được chọn theo một
chính sách tham lam. Tuy nhiên, tham số của mạng neural được cập nhật dựa
trên hành động có thể tốt nhất ở từng bước với phương trình Bellman. Hành
động tốt nhất ở từng bước không hoàn toàn giống với chính sách tham lam
được sử dụng để thực hiện mô phỏng. Do đó, Q-learning là một phương pháp
học tăng cường off-policy. Việc chọn một chính sách khác để thực hiện các
hành động từ những người thực hiện cập nhật không làm cho khả năng tìm ra
giải pháp tối ưu thứ là mục đích của việc cập nhật. Trong thực tế, do việc thăm
dò thêm được thực hiện với một chính sách ngẫu nhiên, nên tránh sử dụng các
tối ưu cục bộ.
Trong phương pháp on-policy, các hành động nhất quán với các bản cập
nhật, và do đó việc cập nhật có thể được xem như là chính sách đánh giá hơn là
tối ưu hóa. Để hiểu được điểm này, chúng ta sẽ mô tả cập nhật cho thuật toán
SARSA (State-Action-Reward-State-Action), trong đó phần thưởng tối ưu
trong bước tiếp theo không được dùng để tính toán cập nhật. Thay vào đó, bước
tiếp theo được cập nhật bằng cách sử dụng chính sách tương tự với chính sách
tham lam để được hành động at+1 cho việc tính toán giá trị mục tiêu. Sau đó
loss function cho bước tiếp theo được định nghĩa như sau:
2
Lt = { ( ) (
rt + γ F X t+1 , W, at+1 − F X t , W, at )}
Hàm F được định nghĩa giống với phần trước. Vector trọng số được cập
nhật dựa trên sự mất mát này, và sau đó hành động at+1 được thực hiện:
∂F (X t , W , at )
W ⇐W +a {[ ( )] (
rt + γ F X t+1 , W, at+1 − F X t , W, at )} ∂W
Ở đây, nó là so sánh giữa bản cập nhật với những người sử dụng trong
Q-learning theo phương trình 9.8. Trong Q-learning, người ta đang sử dụng

18
hành động tốt nhất có thể tại mỗi trạng thái để cập nhật các tham số, mặc dù
chính sách thực sự được thực thi có lẽ là tham lam (khuyến khích thăm dò).
Trong SARSA, chúng ta đang sử dụng hành động được chọn bởi phương pháp
tham lam để thực hiện việc cập nhật. Do đó, các tiếp cận này là cách thức
on-policy. Các phương pháp phi chính sách như Q-learning có thể phân tách
thăm dò từ khai thác, thứ mà phương pháp dựa trên chính sách không thể làm.
Lưu ý rằng nếu chúng ra cài đặt giá trị ε trong chính sách tham lam là 0, cả
Q-learning và SARSA đều là các thuật toán giống nhau. Tuy nhiên, các tiếp
cận như vậy không tốt vì sẽ không có thăm dò. SARSA rất hữu ích được dùng
khi quá trình học không được thực hiện riêng biệt với dự đoán. Q-learning lại
hữu ích khi việc học được thực hiện ngoại tuyến (offline), tiếp theo là khai thác
chính sách đã học với phương pháp vanilla-greedy tại ε = 0 (và không cần cập
nhật mô hình tiếp theo). Sử dụng ε − g reedy tại thời điểm suy luận sẽ là nguy
hiểm trong Q-learning, vì chính sách không bao giờ trả tiền cho thăm dò của nó
và do đó không tìm hiểu làm thế nào để giữ cho thăm dò được an toàn. Ví dụ,
một con robot dựa trên Q-learning sẽ có đường dẫn ngắn hơn từ A-B ngay cả
khi nó nằm dọc theo cạnh của vách đá, thứ mà robot được huấn luyện bằng
SARSA không làm được.

Học không dựa vào hàm xấp xỉ


Cũng có thể tìm hiểu Q-values mà không sử dụng hàm xấp xỉ trong các
trường hợp không gian trạng thái rất nhỏ. VÍ dụ, trong một trò chơi như
tictactoe, người ta có thể tìm hiểu Q (st , at ) một cách rõ ràng bằng cách dùng
trial-and-error với một đối thủ mạnh. Trong trường hợp này, phương trình
Bellman được sử dụng tại từng di chuyển để cập nhật một mảng chứa các giá
trị rõ ràng của Q (st , at ) . Nói chung, cập nhật được thực hiện cho tỷ lệ học tập
a < 1:
Q(st , at ) ⇐ Q (st , at ) (1 − a) + a(rt + γ maxa Q(st+1 , a))
Sử dụng a = 1 sẽ dẫn đến phương trình 9.5. Cập nhật mảng liên tục sẽ
dẫn đến một bảng chứa giá trị chiến lược chính xác của từng di chuyển.
Người ta cũng có thể sử dụng thuật toán SARSA mà không cần hàm xấp
xỉ bằng các dùng hành động at+1 dựa trên chính sách ε − g reedy . Chúng ta
p
dùng một siêu văn bản p trong Q để chỉ ra rằng nó là một điều hành đánh giá
chính sách của chính sách p :
Qp (st , at ) ⇐ Qp (st , at ) (1 − a) + a(rt + γ maxa Q(st+1 , at+1 ))
Cách tiếp cận này là một giải pháp thay thế phức tạp hơn đối với phương
thức ε − g reedy được thảo luận trong phần 9.3.2. Lưu ý rằng nếu hành động

19
at tại trạng thái st dẫn đến kết thúc (đối với các tiến trình nhiều biến) thì
p
Q (st , at ) được đơn giản đi là rt .

9.4.4. Mô hình trạng thái với cặp trạng thái-hành động


Ở phần này là học giá trị của một trạng thái cụ thể (chứ không phải là
cặp trạng thái-hành động), vẫn có thể triển khai các phương pháp đã thảo luận
trước đó nhưng thay vì giá trị của các cặp trạng thái-hành động thì ta duy trì giá
trị của các trạng thái. Chẳng hạn, triển khai SARSA bằng cách ước lượng giá
trị của các trạng thái phát sinh từ mỗi hành động cụ thể và chọn lấy một giá trị
tốt dựa trên một policy đã được định nghĩa trước như ε -greedy. Trên thực tế thì
các phương pháp ban đầu cho temporal difference learning (TD-learning) duy
trì giá trị của các trạng thái chứ không phải giá trị của các cặp trạng thái-hành
động. Xét về độ hiệu quả, việc output ra giá trị của tất cả các hành động trong
một lần chụp (thay vì ước lượng từng trạng thái một) sẽ thuận tiện hơn cho việc
đưa ra quyết định dựa theo giá trị. Khi không thể biểu đạt chính xác policy về
các cặp trạng thái-hành động thì làm việc với giá trị các trạng thái hữu ích hơn
là giá trị các cặp trạng thái-hành động. Chẳng hạn, ta có thể ước lượng một cây
forward-looking của các bước triển vọng trong cờ vua và báo cáo một số giá trị
trung bình cho bootstrapping, như vậy thì ước lượng trạng thái sẽ cần thiết hơn
là cặp trạng thái-hành động. Do đó, mục này sẽ thảo luận về một biến thể của
temporal difference learning, trong đó ước lượng trực tiếp các trạng thái.

Hình 9.5. Ước tính giá trị của một trạng thái với temporal difference learning

Ký hiệu giá trị của trạng thái s​t là V(s​t​). Bây giờ giả sử có mạng nơron
được tham số hóa sử dụng các thuộc tính quan sát X t (ví dụ: pixel của bốn màn
hình cuối cùng trong trò chơi Atari) của trạng thái s​t để ước lượng V(s​t​). Một ví
dụ về mạng nơron này được chỉ ra trong Hình 9.5. Sau đó, nếu hàm được tính
bởi mạng nơron là G( X t t​, W ) với tham số vector W thì ta có:

(9.13)
Lưu ý: tuân thủ policy để quyết định hành động nào có thể sử dụng một
số đánh giá tùy ý về trạng thái trước mắt để quyết định hành động. Bây giờ giả
20
định ta có một số heuristic policy hợp lý cho việc lựa chọn hành động sử dụng
các giá trị trạng thái trước mắt theo một cách nào đó. Ví dụ: nếu ta đánh giá
từng trạng thái chuyển tiếp là kết quả từ một hành động và chọn một trong số
chúng dựa trên policy đã được xác định trước (ví dụ ε -greedy), cách tiếp cận
được thảo luận dưới đây cũng giống như SARSA.
Nếu hành động a​t được thực hiện với phần thưởng r​t thì trạng thái kết
quả là s​t + 1 với giá trị V(s​t + 1​). Do đó, bootstrapped ground-truth cho V(s​t​) có thể
đánh giá được nhờ công thức sau:
V(s​t​) = r​t​ + γV(s​t + 1​) (9.14)
Ước lượng này cũng có thể được định theo các thông số mạng nơron:
G( X t , W ) = r​t​ + γG( X t+ 1​, W ) (9.15)

Trong giai đoạn huấn luyện, cần phải chuyển trọng số để đẩy G( X t , W )
về phía giá trị “ground-truth” được cải tiến của r​t + γG( X t+1 , W ). Như trong
trường hợp Q-learning, ta làm việc với giả thiết bootstrapping rằng giá trị r​t +
γG( X t+1 , W ) là một giá trị đã cho và quan sát được. Vì vậy, ta muốn giảm
thiểu TD-error được xác định bởi:

(9.16)
Do đó, hàm mất mát Lt ​được xác định bởi:

(9.17)
Trong Q-learning, tính giá trị “quan sát được” của trạng thái tại thời
điểm t bằng cách sử dụng đầu vào X​t + 1 vào mạng nơron để tính r​t + γG( X t+1 ,
W ). Nên là, phải đợi cho đến khi hành động a​t đã được quan sát, và do đó các
tính năng quan sát X​t + 1 của trạng thái s​t + 1 có sẵn. Giá trị “quan sát” này (được
xác định bởi r​t + γG( X t+1 , W )) của trạng thái được sử dụng làm mục tiêu (liên
tục) để cập nhật trọng số của mạng nơron, khi đầu vào X​t được sử dụng để dự
đoán giá trị của trạng thái s​t​. Do đó, cần di chuyển trọng số của mạng nơron
dựa trên gradient của hàm mất mát sau:

21
Thuật toán này là một trường hợp đặc biệt của thuật toán TD(λ) với λ =
0. Trường hợp đặc biệt này chỉ cập nhật mạng nơron bằng cách tạo một
bootstrapped “ground-truth” cho thời điểm hiện tại dựa trên đánh giá ở thời
điểm kế tiếp. Loại ground-truth này vốn là một myopic approximation. Chẳng
hạn, trong một ván cờ, hệ học tăng cường có thể đã ngẫu nhiên đi nhiều bước
lỗi trước đó, và đột nhiên hiển thị lỗi trong các dự đoán bootstrapped mà trước
đó không có.
Các lỗi trong các dự đoán bootstrapped là dấu hiệu của việc ta đã nhận
được thông tin mới về mỗi trạng thái X​k trong quá khứ, mà ta có thể sử dụng để
thay đổi dự đoán của nó. Một khả năng là khởi động bằng cách xem trước
nhiều bước (xem Bài tập 7). Một giải pháp khác là sử dụng TD(λ), khám phá sự
liên tục giữa Monte Carlo ground-truth hoàn hảo và xấp xỉ mỗi bước với sự
phân rã mịn. Các điều chỉnh các dự đoán cũ ngày càng được chiết khấu ở mức
λ <1. Trong trường hợp này, cập nhật có thể được hiển thị như sau [482]:

Tại λ = 1, phương pháp tiếp cận có thể được hiển thị tương đương với
phương pháp mà các đánh giá Monte-Carlo (tức là, tiến hành từng quá trình
một cho đến cuối) được sử dụng để tính toán ground-truth [482]. Đó là do ta
luôn sử dụng thông tin mới để sửa hoàn toàn các lỗi trong quá khứ mà không
chiết khấu tại λ = 1, do đó tại một đánh giá unbiased.

Hình 9.6: Policy network cho cài đặt trò chơi Atari.
Lưu ý là λ chỉ được dùng để giảm số bước, gamma được dùng để tính
toán lỗi TD thep phương trình 9.16. Tham số λ là đặc tả thuật toán còn γ là đặc
tả môi trường. Sử dụng λ = 1 hoặc mẫu Monte Carlo dẫn đến bias thấp hơn và

22
variance cao hơn. Chẳng hạn, xét một ván cờ vua trong đó Alice và Bob mỗi
người mắc 3 lỗi/ván nhưng chung cuộc thì Alice là người chiến thắng. Mặt
khác, một phương pháp temporal difference n-bước (ví dụ, n-ply board
evaluation) có thể nhìn thấy một lỗi temporal difference cho mỗi vị trí trên bàn
cờ. Tuy nhiên chọn giá trị rất nhỏ cho λ sẽ gây khó khăn trong phần đầu việc
học (ví dụ bias lớn hơn) bởi vì lỗi với chuỗi sẽ không bị phát hiện ra.

Temporal difference learning được sử dụng trong chương trình Samuel’s


celebrated checkers[421], thúc đẩy sự phát triển của TD-Gammon cho
Backgammon bởi Tesauro [492]. Một mạng nơron được sử dụng để đánh giá
giá trị trạng thái, và các thông số của nó được cập nhật bằng cách sử dụng
temporal-difference bootstrapping trên các bước kế tiếp. Kết luận cuối cùng
được thực hiện với đánh giá minimax của hàm đánh giá được cải tiến trên độ
sâu khoảng 2 hoặc 3. TD-Gammon đã có thể đánh bại một số người chơi giỏi,
trưng bày một số chiến lược bất thường của trò chơi mà cuối cùng được thông
qua bởi người chơi cấp cao nhất.

9.5. Các phương pháp Policy Gradient


Phương pháp dựa trên giá trị như Q-learning dùng mạng nơron để dự đoán giá
trị của một hành động và ghép nó với một policy cùng loại (ví dụ như ε -greedy). Mặt
khác, phương pháp policy gradient ước tính xác suất của mỗi hành động ở mỗi bước
sao cho phần thưởng là cao nhất. Chính vì vậy, policy tham số hóa chính nó, chứ
không dùng giá trị ước tính đó như một bước trung gian để chọn hành động.
Mạng nơron đánh giá policy được gọi là policy network mà input là trạng thái
hiện tại của hệ thống, và output là tập các xác suất, kết hợp với các hành động trong
trò chơi (chẳng hạn như lên, xuống, trái, phải). Đối với Q-network, input có thể là biểu
diễn quan sát của trạng thái tác tử. Chẳng hạn, trong cài đặt trò chơi Atari, trạng thái
quan sát có thể là 4 màn hình pixel cuối cùng. Hình 9.6 là một ví dụ về policy network
liên quan đến cài đặt Atari, có thể so sánh với Q-network ở hình 9.3. Cho output là
xác suất của các hành động khác nhau, ta thảy con xúc xắc thiên vị (biased die) với
các mặt là các xác suất này, chọn một trong số đó. Do đó, với mỗi hành động a, biểu
diễn trạng thái quan sát X̅t và tham số hiện tại W , mạng nơron có thể tính toán hàm
P(X̅t​, W , a) là xác suất hành động a được thực hiện. Một trong các hành động được lấy
mẫu, và phần thưởng thì tuân theo hành động đó. Nếu policy kém thì hành động nhiều
khả năng là sai lầm và phần thưởng cũng sẽ kém đi. Dựa trên phần thưởng thu được từ
việc thực hiện hành động, vector trọng số W được cập nhật cho lần lặp tiếp theo. Cập
nhật của vector trọng số dựa trên khái niệm policy gradient về vector trọng số W .

23
Một thách thức của việc ước tính policy gradient là phần thưởng của một hành động
thường không nhận thấy được luôn mà được tích hợp chặt chẽ vào chuỗi phần thưởng
tương lai. Thông thường ​Monte Carlo policy roll-outs phải được sử dụng, trong đó
mạng nơron tuân thủ một policy cụ thể để ước tính phần thưởng chiết khấu tầm xa.
Ta muốn cập nhật vector trọng số của mạng nơron theo gradient của việc tăng
phần thưởng. Trong Q-Learning thì phần thưởng chiết khấu kỳ vọng qua horizon H
cho trước được tính bởi công thức sau:

(9.19)
Vì vậy, mục tiêu là cập nhật vector trọng số như sau:

(9.20)
Vấn đề chính trong việc ước tính gradient ∇J là mạng nơron chỉ output ra xác
suất. Phần thưởng quan sát là mẫu Monte Carlo của những output này trong khi ta lại
muốn tính toán gradient của những phần thưởng kỳ vọng (công thức 9.19). Phương
pháp policy gradient thông thường bao gồm các ​phương pháp ​sai phân hữu hạn (​finite
difference), likelihood ratio ​và natural policy gradient. Trong phần tiếp theo, ta sẽ
thảo luận hai phương pháp đầu.

9.5.1. Phương pháp sai phân hữu hạn (Finite Difference


Methods)
Phương pháp sai phân hữu hạn sử dụng các nhiễu loạn trọng lượng để
ước tính gradient của phần thưởng. Ý tưởng là sử dụng các nhiễu loạn khác
nhau của trọng lượng mạng nơron, và kiểm tra sự thay đổi dự kiến ΔJ trong
phần thưởng. Lưu ý ta phải chạy policy bị xáo trộn cho horizon của H bước để
đánh giá sự thay đổi về phần thưởng. Một chuỗi H bước như vậy được gọi là
một cuộn. Ví dụ, trong trò chơi Atari, ta cần phải chơi nó cho chuỗi H bước cho
mỗi bộ khác nhau của trọng lượng nhiễu loạn để ước tính phần thưởng thay
đổi. Trong các trò chơi mà đối thủ không đủ sức mạnh để tập luyện, có thể chơi
một trận đấu với phiên bản của đối phương dựa trên các thông số đã học được
một vài lần lặp lại. Nói chung, giá trị của H có thể đủ lớn để chúng ta có thể
đến cuối trò chơi, và do đó điểm số được sử dụng sẽ là điểm cuối của trò chơi.
Trong một số trò chơi như Go, điểm số chỉ khả dụng ở cuối trò chơi, +1 cho
thắng và −1 cho thua. Trong những trường hợp như vậy, việc chọn H đủ lớn để
chơi cho đến khi kết thúc trò chơi là rất quan trọng. Kết quả là, chúng ta sẽ có
các vectơ trọng số (thay đổi) khác nhau ΔW1 ... ΔWs, cùng với những thay đổi
tương ứng ΔJ1 ... ΔJ trong phần thưởng tổng. Mỗi cặp trong số này gần như là
24
mối quan hệ sau đây:

(9.21)
Ta có thể tạo một vector cột s chiều y = [Δ J1 ...ΔJs]​T của các thay đổi
trong hàm mục tiêu và một ma trận D cỡ N × s bằng cách xếp chồng các hàng
ΔW​r​ lên nhau, trong đó N là số các thông số trong mạng nơron. Do đó, ta có:

(9.22)
Sau đó, policy gradient thu được bằng cách thực hiện hồi quy tuyến tính
đơn giản sự thay đổi trong các hàm mục tiêu liên quan đến sự thay đổi trong
vectơ trọng số. Bằng cách sử dụng công thức cho hồi quy tuyến tính (xem Phần
2.2.2.2 của Chương 2), ta có:

(9.23)
Gradient này được sử dụng để cập nhật trong công thức 9.20, được yêu
cầu để chạy policy cho một chuỗi H bước cho từng mẫu trạng thái s để đánh giá
độ dốc. Quá trình này đôi khi có thể chậm.

9.5.2. Phương pháp Likelihood Ratio


Phương pháp Likelihood Ratio được đề xuất bởi Williams trong ngữ
cảnh giải thuật tăng cường. Xét trường hợp ta đang tuân thủ policy với vector
xác suất p và muốn cực đại hóa E[Q​p​(s,a)] - giá trị dài hạn kỳ vọng của trạng
thái s và mỗi hành động mẫu a từ mạng nơron. Xét trường hợp xác suất xảy ra
hành động a là p(a) (là output của mạng nơron). Lúc này, ta muốn tìm gradient
của E[Q​p​(s,a)] với vector trọng số W của mạng nơron cho gradient ascent ngẫu
nhiên. Tìm gradient của một kỳ vọng từ sự kiện được lấy mẫu là không rõ ràng.
Tuy nhiên, thủ thuật log-probability cho phép ta chuyển đổi nó thành kỳ vọng
của một gradient, phụ thuộc vào mẫu các cặp trạng thái - hành động:

(9.24)
Chứng minh:

25
Kết quả trên cũng có thể được hiển thị cho trường hợp a là biến liên tục
(xem Bài tập 1). Các hành động liên tục xảy ra thường xuyên trong robotic (ví
dụ như khoảng cách để di chuyển cánh tay).
Sử dụng thủ thuật này để đánh giá tham số của mạng nơron thì khá là
dễ. Mỗi hành động a lấy mẫu bằng mô phỏng được liên kết với phần thưởng dài
hạn Q​p​(s, a), được lấy từ mô phỏng Monte Carlo. Dựa vào mối quan hệ trên,
gradient của lợi ích kỳ vọng thu được bằng cách nhân gradient của
log-probability log(p(a)) của hành động đó (tính từ mạng nơron trong Hình 9.6
sử dụng backpropagation) với phần thưởng dài hạn Q​p​(s, a) (thu được bằng mô
phỏng Monte Carlo).
Xét ván cờ vua đơn giản với kết quả thắng/thua/hòa tính ở cuối ván và
hệ số chiết khấu γ. Lúc này, phần thưởng dài hạn của mỗi bước đơn giản được
lấy từ {+γ​r − 1​,0, −γ​r− 1​} với r là số bước còn lại để kết thúc ván chơi. Giá trị của
phần thưởng phụ thuộc vào outcome cuối cùng của trò chơi và số bước còn lại
(vì phần thưởng chiết khấu). Xét một trò chơi chứa nhiều nhất H bước. Vì
nhiều roll-outs được sử dụng, ta thu được một loạt các mẫu huấn luyện cho các
trạng thái input khác nhau và các output tương ứng trong mạng nơron. Ví dụ,
nếu chạy mô phỏng cho 100 roll-outs, ta sẽ nhận được tối đa 100 × H mẫu khác
nhau. Mỗi phần trong số này sẽ có phần thưởng dài hạn được lấy từ {+γ​r − 1​,0,
−γ​r − 1​}. Đối với mỗi mẫu trong số này, phần thưởng đóng vai trò như một trọng
số trong bản cập nhật gradient ascent của log-probability của hành động được
lấy mẫu.

(9.25)
Ở đây, ​p(a) là xác suất đầu ra của mạng nơron của hành động mẫu.
Gradient được tính toán sử dụng backpropagation, và những cập nhật này
tương tự như công thức 9.20. Quá trình lấy mẫu và cập nhật được thực hiện
thông qua sự hội tụ.
Lưu ý rằng gradient của log-probability của lớp ground-truth thường
được sử dụng để cập nhật phân loại softmax với sự mất mát cross-entropy để
tăng xác suất của lớp đúng (tương tự với bản cập nhật ở đây). Sự khác biệt ở
đây là ta đang tăng cường cập nhật với các Q-values vì ta muốn đẩy các tham
số tích cực hơn theo hướng hành động có giá trị cao. Cũng có thể sử dụng
minibatch gradient so với các hành động trong quá trình lấy mẫu được lấy mẫu.
Lấy mẫu ngẫu nhiên từ roll-outs khác có thể có ích trong việc tránh các minima
cục bộ phát sinh từ các mối tương quan bởi vì các mẫu liên tiếp từ mỗi roll-out
có liên quan chặt chẽ với nhau.

26
Giảm Variance với Baselines: Mặc dù ta sử dụng phần thưởng dài hạn
Q​ (s, a) làm số lượng được tối ưu hóa, việc trừ một giá trị baseline từ số lượng
p​

này để có được lợi thế của nó (ví dụ, tác động riêng của hành động trên kỳ
vọng) là khá phổ biến. Baseline là trạng thái lý tưởng, nhưng cũng có thể là
hằng số. Theo hoạt động gốc REINFORCE, một baseline cố định được sử dụng
(thường là một số biện pháp thưởng trung bình dài hạn trên tất cả các trạng
thái). Ngay cả loại biện pháp đơn giản này cũng giúp đẩy nhanh quá trình học
vì nó làm giảm xác suất biểu diễn ít hơn trung bình và tăng xác suất biểu diễn
nhiều hơn trung bình (thay vì tăng cả ở tỷ lệ khác nhau). Một sự lựa chọn liên
tục của baseline không ảnh hưởng đến bias của thủ tục, nhưng nó làm giảm
phương sai variance. Một tùy chọn của state-specific cho baseline là giá trị
V​p​(s) của các trạng thái ngay trước khi lấy mẫu hành động a. Sự lựa chọn này
tạo ra lợi thế (Q​p​(s, a) − V​p​(s)) trở nên giống hệt với temporal difference error.
Sự lựa chọn này có ý nghĩa trực quan, bởi vì temporal difference error chứa
thông tin bổ sung về phần thưởng di động của một hành động vượt quá những
gì ta biết trước khi chọn hành động. Các thảo luận về sự lựa chọn ban đầu có
thể được tìm thấy trong [374, 433].
Xét ví dụ về một nhân vật chơi trò Atari, trong đó một mẫu roll-outs di
chuyển LÊN và xác suất đầu ra của LÊN là 0,2. Giả sử rằng baseline (hằng số)
là 0,17 và phần thưởng dài hạn của hành động là +1, vì kết quả trận đấu giành
chiến thắng (và không có phần thưởng giảm giá). Do đó, điểm số của mỗi hành
động trong lần triển khai đó là 0,83 (sau khi trừ đi đường cơ sở). Sau đó, mức
tăng được liên kết với tất cả các hành động (các nút đầu ra của mạng nơron)
ngoài LÊN ở bước thời gian đó sẽ là 0 và mức tăng liên quan đến nút đầu ra
tương ứng với LÊN sẽ là 0,83 × log(0,2). Sau đó, có thể truyền lại lợi ích này
để cập nhật các thông số của mạng nơron.
Việc điều chỉnh với baseline của trạng thái rất dễ giải thích bằng trực
giác. Xét ví dụ về ván cờ vua giữa Alice và Bob. Nếu ta sử dụng baseline là 0,
thì mỗi lần di chuyển sẽ chỉ được ghi nhận bằng phần thưởng tương ứng với kết
quả cuối cùng, và sự khác biệt giữa các chuyển động tốt và các bước đi xấu sẽ
không được hiển nhiên. Nói cách khác, chúng ta cần mô phỏng nhiều trò chơi
hơn để phân biệt vị trí. Mặt khác, nếu ta sử dụng giá trị của trạng thái (trước khi
thực hiện hành động) làm baseline, thì temporal difference error (nhiều hơn)
được sử dụng làm lợi thế của hành động. Trong trường hợp này, các bước đi có
tác động lớn đến trạng thái sẽ được công nhận với lợi thế cao hơn (trong một
trò chơi). Kết quả là, ít trò chơi hơn sẽ được yêu cầu cho việc học.

27
9.5.3. Kết hợp học có giám sát với policy gradient
Học có giám sát rất hữu ích trong việc khởi tạo trọng số của policy
network trước khi áp dụng học tăng cường. Chẳng hạn, trong một ván cờ vua,
người ta có thể biết trước những bước đi nào khôn ngoan. Lúc này, ta đơn giản
thực hiện gradient ascent với cùng một policy network, ngoại trừ việc mỗi bước
đi khôn ngoan được gán bằng 1 để đánh giá gradient theo công thức 9.24. Bài
toán trở thành bài toán phân lớp softmax, khi mục tiêu của policy network là dự
đoán bước đi tương tự như chuyên gia. Có thể “mài” chất lượng của dữ liệu
huấn luyện bằng ví dụ về các bước đi tồi với credit âm thu được từ các đánh giá
máy tính. Cách tiếp cận này được coi là học có giám sát hơn là học tăng cường
vì ta chỉ đơn giản sử dụng dữ liệu trước và không tạo/mô phỏng dữ liệu mà ta
học được (như trong học tăng cường). Ý tưởng này có thể được mở rộng đến
bất kỳ cài đặt học tăng cường nào, trong đó có sẵn mẫu các hành động và phần
thưởng liên quan. Học có giám sát cực kỳ phổ biến trong việc khởi tạo vì có sự
khác biệt trong việc thu thập dữ liệu chất lượng cao trong giai đoạn đầu của quá
trình. Nhiều công trình được xuất bản cũng kết hợp học có giám sát và học tăng
cường để hiệu quả dữ liệu thu được lớn hơn.

9.5.4 Các phương pháp Actor-Critic:


Cho đến nay, Chúng ta đã bàn về các phương pháp bị chi phối hoặc là
bởi các critics hoặc là bởi các actors trong những cách sau đây:
1. Các phương pháp Q-learning và TD(λ) làm việc với khái niệm của
một hàm giá trị đã được tối ưu. Hàm giá trị này là một critic, và
chính sách (ví dụ: e-greedy,…) của actor trực tiếp thu được từ critic.
Do vậy, actor bị phụ thuộc vào critic, và những phương pháp đó
được coi là các phương pháp chỉ critic(critic-only).
2. Những phương pháp policy-gradient không sử dụng một hàm giá trị
nào cả, và chúng trực tiếp học các xác suất của các hành động chính
sách (policy actions). Các giá trị thường được ước tính bằng việc sử
dụng việc lấy mẫu Monte Carlo. Vì vậy, những phương pháp này
được xem là những phương pháp chỉ actor (actor-only).
Để ý rằng phương pháp policy-gradient không cần đánh giá lợi ích của
các hành động trung gian, và ước lượng này đã hoàn thành với việc sử dụng mô
phỏng Monte Carlo. Vấn đề chính với mô phỏng Monte Carlo là sự phức tạp
lớn của nó và không có khả năng sử dụng trong việc cài đặt trực tuyến.
Tuy nhiên, nó chỉ ra rằng một phương pháp có thể học lợi ích của các
hành động trung gian sử dụng các phương pháp hàm giá trị. Như trong phần

28
trước, chúng ta sử dụng ký hiệu Q​p​(s​t​,a) để chỉ ra giá trị của hành động a, khi
mà chính sách p được cho bởi mạng chính sách(policy network) được sử dụng.
Vì vậy, chúng ta bây giờ sẽ có 2 cặp mạng neural – 1 mạng policy network và
một mạng Q-network. Mạng policy network học các xác suất của hành động,
p
và mạng Q-network học các giá trị Q (st , a) của các hành động khác nhau để
cung cấp một ước lượng về lợi ích của mạng policy network. Do đó, mạng
p
policy network sử dụng Q (st , a) (với các điều chỉnh đường cơ sở) để cân
nhắc các cập nhật tăng cường độ dốc của nó. Mạng Q-network được cập nhật
sử dụng một cập nhật on-policy như trong SARSA, nơi mà chính sách được
điều khiển bởi mạng policy network (hơn là e-greedy). Mạng Q-network, tuy
nhiên, không trực tiếp quyết định các hành động như trong Q-learning, bởi vì
các quyết định bởi chính sách nằm ngoài điều khiển của nó (vượt ra ngoài vai
trò như một critic). Vì vậy, mạng policy là actor và mạng giá trị là critic. Để
phân biệt giữa mạng policy network và mạng Q-network, chúng ta sẽ ký hiệu
vector tham số của mạng policy network bằng θ̅ và của mạng Q-network là W .
Chúng ta giả sử rằng trạng thái tại thời điểm t được kí hiệu là s​t​, và các
tính năng có thể quan sát của trạng trạng thái đầu vào mạng neural được ký
hiệu bởi X̅t​. Do đó, chúng ta sẽ sử dụng s​t và X̅t ​thay thế cho nhau như bên
dưới. Xem xét một trường hợp tại thời điểm thứ t, khi mà hành động a​t đã được
quan sát sau trạng thái s​t với phần thưởng r​t​. Sau đó, chuỗi các bước sau đây
được áp dụng cho bước thứ t + 1:
1. Lấy mẫu hành động a​t+1 bằng việc sử dụng trạng thái hiện tại của các
tham số trong mạng policy. Để ý rằng trạng thái hiện tại là s​t+1 bởi vì
hành động at​ đã được quan sát sẵn.
2. Để cho F(X̅t ​, W̅, a​t​) = Q̂p​(s​t​, a​t​) đại diện cho giá trị ước lượng của
Q̂p​(s​t​, a​t​) với mạng Q-network có sử dụng đại diện được quan sát X̅t
của các trạng thái và các tham số W̅. Ước lượng Q̂p​(s​t​, a​t​) và
Q̂p​(s​t+1​, a​t+1​) sử dụng mạng Q-network. Tính toán giá trị TD-error δ​t
như sau:

3. [Cập nhật các tham số của mạng policy-network]: Đặt P(X̅t​, θ̅, a​t​) là
xác suất của hành động a​t được dự đoán bởi mạng policy network.
Cập nhật các tham số của mạng policy network như sau:
Θ ← Θ + αQˆp (st , at )∇Θ log(P (X t , Θ, at ))
Ở đây, α là mức độ học(learning rate) dành cho mạng policy network
và giá trị Qˆp (st , at ) = F (X t , W , a) thu được từ mạng Q-network.

29
4. [Cập nhật các tham số của mạng Q-network]: Cập nhật các tham số
của mang Q-network như sau:
W ⇐ W + β δ t ∇W F (X t , W, at )
Ở đây, β là mức độ học (learning rate) cho mạng Q-network. Một lời
cảnh báo rằng mức độ học của mạng Q-network nhìn chung cao hơn
so với mạng policy-network.
Hành động a​t+1 sau đó được thực hiện để quan sát trạng thái s​t+2​, và giá
trị của t được tăng lên. Vòng lặp tiếp theo của cách tiếp cận được thực hiện
(bằng việc lặp lại các bước trên) tại giá trị đã tăng lên của t. Các vòng lặp được
lặp lại, vì vậy cách tiếp cận được hiện cho tới khi hội tụ. Giá trị của Q̂p​(s​t​, a​t​)
là tương tự với giá trị V̂p​(s​t+1​).
Nếu chúng ta sử dụng V̂p​(s​t​) như đường cơ sở, lợi ích của Âp​(s​t​, a​t​)
được định nghĩa như sau:
Aˆp (st , at ) = Qˆp (st , at ) − Vˆ p (st )
Điều này thay đổi các cập nhật như sau:
Θ ← Θ + αAˆp (st , at )∇Θ log(P (X t , Θ, at ))
Để ý rằng việc thay thế của Q̂(st​, a​t​) trong mô tả thuật toán gốc với Â(st​,
a​t​). Để ước lượng giá trị V̂p​(s​t​), một việc khả thi là duy trì những tập hợp cá
tham số đại diện cho mạng giá trị (thứ mà khác với mạng Q-network). Thuật
toán TD có thể được sử dụng để cập nhật các tham số của mạng giá trị. Tuy
nhiên, nó chỉ ra rằng một mạng giá trị đơn là đủ. Bởi vì chúng ta có thế sử dụng
r​t ​+ γV̂p​(s​t+1​) thay vì Q̂(st​, a​t​). Các kết quả này trong một hàm lợi ích, thứ mà
tương tự với hàm TD-error:

Aˆp (st , at ) = rt + γVˆ p (st+1 ) − Vˆ p (st )


Nói cách khác, chúng ta cần một mạng giá trị đơn, thứ sẽ phục vụ như
một critic. Cách tiếp cận trên cũng có thể tổng quát hóa để sử dụng thuật toán
TD(λ) tại bất kỳ giá trị nào của λ.

9.5.5 Các không gian hành động liên tục (Continuous action
spaces)
Các phương pháp đã được thảo luận cho tới giờ đều được liên kết với
các không gian hành động rời rạc. Ví dụ, trong một trò chơi điện tử, người chơi
có 1 tập hợp rời rạc các lựa chọn như khi nào di chuyển con trỏ lên, xuống, trái
và phải. Tuy nhiên, trong ứng dụng về robot, sẽ có các không gian hành động
liên tục, trong đó chúng ta mong ước di chuyển cánh tay robot một khoảng
cách nhất định. Một việc khả thi là rời rạc hóa hành động thành tập hợp các
khoảng được làm mịn, và sử dụng điểm trung tâm của khoảng như giá trị đại
diện. Ta có thể sau đó đối xử vấn đề như một lựa chọn rời rạc. Tuy nhiên, điều
này không hoàn toàn thỏa mãn lựa chọn thiết kế. Đầu tiên, thứ tự trong số các
30
lựa chọn khác nhau sẽ bị mất bởi việc đối xử các giá trị vốn dĩ đã có thứ tự
(theo số) như những giá trị phân loại. Thứ hai, nó thổi bay không gian của các
hành động khả thi, đặc biệt nếu như không gian hành động là đa chiều (ví dụ:
các không gian riêng rẽ cho các khoảng cách di chuyển bởi tay robot và chân).
Một cách tiếp cận như vậy có thể dẫn tới học quá mức (overfitting), và làm
tăng một lượng lớn dữ liệu yêu cầu cho việc học.
Một cách tiếp cận được sử dụng rộng rãi là cho phép mạng neural cho ra
các tham số của một phân bố liên tục (ví dụ như độ lệch trung bình và chuẩn
của Gaussian), và sau đó lấy mẫu từ các tham số của phân bố này để tính toán
giá trị của hành động trong bước tiếp theo. Do đó, mạng neural sẽ cho ra trung
bình μ và độ lệch chuẩn σ cho khoảng cách di chuyển bởi tay robot, và hành
động thực sự a sẽ được lấy mẫu từ Gaussian N(μ, σ) với tham số sau:
a ~ N (μ, σ)
Trong trường hợp này, hành động a đại diện cho quãng đường di chuyển
bởi tay robot. Giá trị của μ và σ có thể được học bằng việc sử dụng
backpropagation. Trong một vài biến thể, σ được cố định về trước như một siêu
tham số, với chỉ có giá trị trung bình μ cần được học. Khả năng mánh khóe tỉ lệ
(ratio trick) cũng sẽ được áp dụng trong trường hợp này. Ngoại trừ chúng ta sẽ
sử dụng thuật toán của mật độ tại a, thay vì xác suất rời rạc của hành động a.

9.5.6 Ưu điểm và nhược điểm của các Policy gradients


Các phương pháp policy gradient đại diện cho lựa chọn tự nhiên nhất
trong các ứng dụng như robot mà có chứa chuỗi các trạng thái và hành động.
Đối với trường hợp trong đó có các không gian đa chiều và liên tục, số lượng
các sự kết hợp và hành động khả thi có thể rất lớn. Khi các phương pháp
Q-learning yêu cầu tính toán của giá trị tối đa Q-value trên toàn bộ các hành
động, bước này có thể chỉ ra việc khó khăn trong tính toán. Hơn nữa, các
phương pháp policy gradient dễ bị phải tối thiểu địa phương (local minima).
Trong khi các phương pháp Q-learning ít ổn định hơn trong các hành vi hội tụ
hơn các phương pháp policy-gradient, và có thể thỉnh thoảng giao động xung
quanh các giải pháp cụ thể, chúng lại có sức chứa tốt hơn để đạt tới tối ưu toàn
cục (global optima).
Các phương pháp policy-gradient sở hữu một ưu điểm nữa là chúng có
thể học các chính sách được chỉ định ngẫu nhiên (stochastic policies), dẫn tới
hiệu năng tốt hơn trong cài đặt khi mà các chính sách được chỉ định rõ ràng
(deterministic policies) được biết đến là không tối ưu (như các trò chơi dự
đoán) do có khả năng bị khai thác bởi đối thủ. Q-learning cung cấp các
deterministic policies, và các policy gradients thích hợp hơn trong các cài đặt

31
này bởi chúng cung cấp một phân bố xác suất trên các hành động khả thi từ
những hành động được lấy mẫu.

9.6 Cây tìm kiếm Monte Carlo


Cây tìm kiếm Monte Carlo là một cách để cải thiện khả năng của các chính
sách đã học và các giá trị trong thời gian suy diễn bằng việc kết hợp chúng với mở
rộng về phía trước. Cải tiến này cũng cung cấp một nền tảng cho việc nạp dựa trên
nhìn về phía trước (lookahead-based bootstrapping) như học khác thời gian (temporal
difference learning – TD-learning). Nó cũng được thừa hưởng như một thay thế xác
suất đối với các cây deterministic minimax được sử dụng bởi phần mềm trò chơi có
quy ước (mặc dù khả năng ứng dụng chưa được hạn chế cho các trò chơi). Mỗi thành
phần trong câu tương ứng với một trạng thái, và mỗi nhánh tương ứng với một hành
động khả thi. Cây phát triển theo thời gian trong khi việc tìm kiếm các trạng thái mới
được gặp. Kết quả của tìm kiếm cây là chọn ra nhánh tốt nhất để khuyến nghị hành
động được dự đoán của chủ hành động. Mỗi nhánh được gán với một giá trị dựa theo
kết quả trước đó trong cây tìm kiếm từ nhánh đó cũng như một cận trên “thêm” vào
các sự sụt giảm với việc mở rộng tăng dần. Giá trị này được sử dụng để đặt mức độ ưu
tiên cho các nhánh trong quá trình mở rộng. Giá trị tốt học được của một nhánh được
tinh chỉnh sau mỗi lần mở rộng, do đó các nhánh tiến tới các kết quả dương và được
ủng hộ trong các lần mở rộng sau.
Tiếp theo, chúng ta sẽ mô tả cây tìm kiếm Monte Carlo sử dụng AlphaGo như
một nghiên cứu điển hình cho bài giảng. Giả sử rằng xác suất P(s, a) của mỗi hành
động (di chuyển) một trạng thái (vị trí trên bảng) s có thể được ước lượng sử dụng một
mạng policy-network. Tại một thời điểm, đối với mỗi move chúng ta có một lượng
Q(s, a) là chất lượng của di chuyển a tại trạng thái s. Ví dụ, giá trị Q(s, a) tăng với số
lượng tăng của các lần thắng bởi làm theo hành động a từ trạng thái s trong các giả
lập. Hệ thống AlphaGo sử dụng một thuật toán tinh vi được kết hợp một vài đánh giá
neural của các vị trí trong bàng sau một vài di chuyển. Sau đó, trong mỗi lần lặp, “cận
trên” u(s, a) của chất lượng của di chuyển a tại trạng thái s được cho như sau:

Ở đây, N(s, a) là số lần mà hành động a được làm theo từ trạng thái s trên
đường đi của cây tìm kiếm Monte Carlo. Nói cách khác, cận trên thu được bởi việc bắt
đầu với chất lượng Q(s, a), và thêm vào một “phần thưởng” bị phụ thuộc vào P(s, a)
và số lần mà nhánh này được đi theo. Ý tưởng của việc mở rộng P(s, a) bằng số lần
ghé thăm là không khuyến khích thường xuyên ghé thăm các nhánh và khuyến khích
mở rộng hơn. Cách tiếp cận Monte Carlo là dựa vào chiến lược chọn nhánh với cận
trên lớn nhất, tương tự như các phương pháp multi-armed bandit. Ở dây, thành phần
32
thứ 2 ở phía tay phải của Phương trình trên giữ vai trò của việc cung cấp khoảng
confidence cho việc tính toán cận trên. Khi mà nhánh được sử dụng càng nhiều, việc
mở rộng “thưởng” cho nhánh đó bị giảm đi, bởi vì độ rộng của khoảng confidence bị
loại bỏ. Siêu tham số K điều khiển mức độ của việc mở rộng.
Tại bất kỳ trạng thái được đưa ra, hành động a với giá trị lớn nhất của u(s, a)
được đi theo. Cách tiếp cận này được áp dụng một cách đệ quy cho tới khi đi theo
hành động tối ưu mà không dẫn tới một nút đã tồn tại. Trạng thái ś mới này hiện được
thêm vào trong cây như một nút lá với giá trị khởi tạo của mỗi N(ś, a) và Q(ś, a) được
đặt bằng 0. Để ý rằng mô phỏng tới một nút lá được chỉ rõ hoàn toàn, và tính ngẫu
nhiên không được tham gia vào bởi P(s, a) và Q(s, a) đều có thể tính toán rõ ràng. Mô
phỏng Monte Carlo được sử dụng để ước lượng giá trị của nút lá ś được thêm mới
vào. Đặc biệt, việc triển khai Monte Carlo tuef mạng policy network (ví dụ: sử dụng
P(s, a) để lấy mẫu các hành động) trả về hoặc +1 hoặc -1, phụ thuộc vào thắng hoặc
thua. Trong phần 9.7.1, chúng ta sẽ bàn luận một vài thay thế cho việc đánh giá nút lá
mà sử dụng một mạng giá trị (value network). Sau khi đánh giá nút lá, các giá trị của
Q(s’’, a’’) và N(s’’, a’’) trên toàn bộ cạnh (s’’, a’’) trên đường đi từ trạng thái hiện tại
s cho tới lá s’ đều được cập nhật. Giá trị của Q(s’’, a’’) được duy trì như giá trị trung
bình của toàn bộ các đánh giá tại các nút lá thông qua nhánh đó trong quá trình tìm
kiếm cây Monte Carlo. Sau nhiều nhiều lần tìm kiếm được thực hiện từ s, cạnh được
thăm nhiều nhất được chọn như một thứ có liên quan, và được báo cáo như một hành
động mong muốn.

Sử dụng trong việc nạp chương trình (Bootstrapping)


Theo cách truyền thống, Cây tìm kiếm Monte Carlo đã được sử dụng trong suy
diễn hơn là trong huấn luyện. Tuy nhiên, khi mà cây tìm kiếm Monte Carlo cung cấp
một ước lượng cải tiến (improved estimate) Q(s, a) của giá trị của một cặp trạng thái –
hành động (như một kết quả của những lũ nhìn về phía trước), nó cũng có thể được sử
dụng cho việc nạp chương trình (bootstrapping). Cây tìm kiếm Monte Carlo cung cấp
một thay thế hoàn hảo cho các phương pháp n-step temporal-difference. Một điểm về
những phương pháp on-policy n-step temporal-difference là chúng mở rộng một chuỗi
n-moves với chính sách e-greedy, và do đó có xu hướng trở lên quá yếu (với độ sâu
tăng nhưng không mở rộng chiều rộng). Một cách để tăng cường chúng là kiểm tra
toàn bộ n-chuỗi khả thi và sử dụng chuỗi tối ưu với một kỹ thuật off-policy (ví dụ:
phương pháp tổng quát hóa 1 bước của Bellman). Trong thực tế, có một cách tiếp cận
được sử dụng trong chương trình kiểm tra của Samuel, thứ sử dụng lựa chọn tốt nhất
trong cây minimax dành cho việc nạp chương trình (bootstrapping) (và sau này được
xem như là lá TD (TD-Leaf)). Điều này dẫn đến sự phức tạp của việc khám phá tất cả
các n-chuỗi có thể. Cây tìm kiếm Monte Carlo có thể cung cấp một thay thế mạnh mẽ
cho việc nạp chương trình (bootstrapping), bởi vì nó có thể mở rộng nhiều nhánh từ
một nút để sinh ra những giá trị trung bình mục tiêu. Ví dụ, ground truth dựa trên nhìn

33
về phía trước (lookahead – based ground truth) có thể sử dụng hiệu năng trung bình
trên toàn bộ các việc mở rộng tại một nút cho trước.
AlphaGo Zero nạp các chính sách hơn là các giá trị trạng thái, thứ mà cực kỳ
hiếm. AlphaGo Zero sử dụng các xác suất ghé thăm liên quan của các nhánh tại mỗi
nút như các xác suất sau (posterior) của các hành động tại trạng thái đó. Những xác
suất sau này được cải thiện trên các đầu ra xác suất của mạng policy bởi công dụng
của các quyết định ghé thăm sử dụng thông tin về tương lai (ví dụ: các đánh giá tại các
nút sâu hơn của cây tìm kiếm Monte Carlo). Các xác suất sau sau đó được nạp vào
như giá trị ground-truth tương đương với các xác suất của mạng policy network và
được sử dụng để cập nhật các tham số trọng số.

9.7 Các nghiên cứu điển hình:


Trong phần này, chúng ta sẽ trình bày về những nghiên cứu điển hình từ thực
tế để chỉ ra những điểm khác của cài đặt học tăng cường. Chúng ta sẽ trình bày các ví
dụ của học tăng cường trong Go, robotics, conversational systems, xe tự lái, và học
máy với mạng neural siêu tham số.

9.7.1 Alpha Go: Go ở cấp độ vô địch


Go là một trò chơi 2 người như cờ vua. Sự phức tạp của trò chơi cờ hai
người phần lớn phụ thuộc vào quy mô của bảng và số lần di chuyển hợp lệ tại
mỗi vị trí. Ví dụ đơn giản nhất của trò chơi cờ là tic-tac-toe với bảng 3 × 3 và
hầu hết mọi người có thể giải quyết nó một cách tối ưu mà không cần máy tính.
Cờ vua là một trò chơi phức tạp hơn đáng kể với một ván 8 × 8, mặc dù các
biến thể khôn ngoan của phương pháp vét cạn trong việc khám phá có chọn lọc
cây minimax của các nước cờ đến một độ sâu nhất định có thể thực hiện tốt hơn
các nước cờ tốt nhất mà con người có thể thực hiện. Go xuất hiện tại điểm cực
cuối của sự phức tạp vì bảng 19 × 19 của nó.
Người chơi chơi với những viên đá trắng hoặc đen, được giữ trong bát
bên cạnh bảng cờ vây. Trò chơi bắt đầu với một bảng trống, và nó sẽ hoạt động
khi người chơi đặt đá lên bảng. Màu đen làm cho lần đầu tiên di chuyển và bắt
đầu với 181 viên đá trong bát của của cô ta, trong khi màu trắng bắt đầu bằng
180 viên đá. Tổng số nút giao bằng với tổng số viên đá trong bát của hai người
chơi. Mỗi người chơi đặt một viên đá màu của cô ấy trong mỗi lần di chuyển
tại một vị trí cụ thể (từ cái bát) và không thể di chuyển nó một khi nó được đặt.
Một hòn đá của đối thủ có thể bị bắt bằng cách bao vây nó. Mục tiêu của trò
chơi là để người chơi điều khiển một phần lớn của bảng hơn đối thủ của mình
bằng cách bao quanh nó bằng những viên đá của mình.

34
Trong khi người ta có thể thực hiện khoảng 35 động tác có thể (ví dụ
như chỉ số nhánh - branching factor) ở một vị trí cụ thể trong cờ vua, số lần di
chuyển trung bình có thể có tại một vị trí cụ thể trong Go là 250, gần như là
một bậc lớn hơn. Hơn nữa, số lần di chuyển liên tiếp trung bình (ví dụ như độ
sâu của cây) của trò chơi Go là khoảng 150, lớn gấp đôi so với cờ vua. Tất cả
các khía cạnh này làm cho Go trở thành một ứng cử viên khó hơn nhiều từ góc
độ chơi trò chơi tự động. Chiến lược điển hình của phần mềm chơi cờ là xây
dựng một cây minimax với tất cả các kết hợp di chuyển mà người chơi có thể
đạt đến một độ sâu nhất định, sau đó đánh giá các vị trí bàn cờ với các phương
pháp đánh cờ cụ thể (chẳng hạn như số lượng quân cờ còn lại và sự an toàn của
các quân cờ). Các phần chưa tối ưu (suboptimal) của cây được cắt tỉa theo
phương pháp heuristic. Cách tiếp cận này chỉ đơn giản là một phiên bản cải tiến
của chiến lược vét cạn, trong đó tất cả các vị trí có thể được khám phá đến một
độ sâu nhất định. Số lượng nút trong cây minimax của Go lớn hơn số lượng
nguyên tử trong vũ trụ quan sát được, thậm chí ở độ sâu phân tích khiêm tốn
(20 lần di chuyển cho mỗi người chơi). Do tầm quan trọng của trực giác không
gian trong các cài đặt này, con người luôn thực hiện tốt hơn các chiến lược vét
cạn tại Go. Việc sử dụng học tăng cường trong Go gần hơn với những gì con
người cố gắng làm. Chúng ta hiếm khi cố gắng khám phá tất cả các kết hợp di
chuyển có thể; thay vào đó, chúng ta tìm hiểu một cách trực quan các mẫu trên
bảng giúp dự đoán các vị trí thuận lợi và cố gắng thực hiện các bước đi theo
hướng được dự kiến sẽ cải thiện lợi thế của chúng ta.
Việc học tự động các mô hình không gian được dự đoán là có hiệu suất
tốt đạt được với một mạng neural tích chập. Trạng thái của hệ thống được mã
hóa ở vị trí bảng tại một điểm cụ thể, mặc dù bảng trong AlphaGo bao gồm
thêm một số tính năng bổ sung về trạng thái của các nút giao hoặc số lần di
chuyển kể từ khi một viên đá được chơi. Nhiều bản đồ không gian (spatial
map) như vậy là bắt buộc để cung cấp thông tin đầy đủ về trạng thái. Ví dụ,
một bản đồ đặc trưng (feature map) sẽ biểu thị trạng thái của mỗi điểm giao,
một bản đồ khác sẽ mã hóa số lượt kể từ khi một hòn đá được chơi,... Các bản
đồ tính năng số nguyên (integer feature map) được mã hóa thành nhiều mặt
phẳng one-hot. Nhìn chung, bảng trò chơi có thể được biểu diễn bằng 48 mặt
phẳng nhị phân 19 × 19 pixel.
AlphaGo sử dụng kinh nghiệm win-loss của mình với việc chơi lặp đi
lặp lại trò chơi (sử dụng các di chuyển của các chuyên gia và tự chơi) để tìm
hiểu các chính sách tốt cho việc di chuyển ở các vị trí khác nhau với mạng
chính sách (policy network). Hơn nữa, việc đánh giá từng vị trí trên bảng Go sẽ
đạt được với một mạng giá trị. Sau đó, cây tìm kiếm Monte Carlo được sử dụng

35
cho suy luận cuối cùng. Do đó, AlphaGo là một mô hình nhiều giai đoạn, các
thành phần của nó sẽ được thảo luận trong các phần sau.

Các mạng chính sách (Policy networks)


Mạng chính sách lấy đầu vào là đại diện trực quan đã nói ở trên của bảng và
đưa ra xác suất hành động a ở trạng thái s. Xác suất đầu ra này được ký hiệu là
p(s, a). Lưu ý rằng các hành động trong trò chơi cờ vây tương ứng với xác suất
đặt viên đá ở mỗi vị trí hợp pháp trên bảng. Do đó, lớp đầu ra sử dụng hàm
kích hoạt softmax. Hai mạng chính sách riêng biệt được huấn luyện bằng cách
sử dụng các phương pháp khác nhau. Hai mạng có cấu trúc giống hệt nhau,
chứa các lớp tích chập (convolutional layers) với các phi tuyến ReLU. Mỗi
mạng chứa 13 lớp. Hầu hết các lớp tích chập tính tích chập với các ma trận lọc
3 × 3, ngoại trừ các tích chập đầu tiên và cuối cùng. các bước lọc đầu tiên và
cuối cùng được tính tích chập tương ứng với các ma trận lọc 5 × 5 và 1 × 1.
Các lớp tích chập được đệm bằng 0 để duy trì kích thước của chúng và 192 bộ
lọc đã được sử dụng. Hàm phi tuyến ReLU đã được sử dụng và không sử dụng
maxpooling để duy trì spatial footprint.
Các mạng neural được huấn luyện theo những cách sau:
● Học có giám sát: Các mẫu được chọn ngẫu nhiên từ các người chơi
chuyên gia đã được sử dụng làm dữ liệu huấn luyện. Đầu vào là trạng
thái của mạng, trong khi đầu ra là hành động được thực hiện bởi người
chơi chuyên gia. Điểm (lợi thế) của một di chuyển như vậy luôn luôn là
+1, vì mục tiêu là đào tạo mạng để bắt chước các nước đi của chuyên
gia, còn được gọi là học bắt chước (imitation learning). Do đó, mạng
neural được lan truyền ngược với log-likelihood của xác suất của nước
đi được chọn là mức tăng của nó. Mạng này được gọi là mạng chính
sách SL (SL-policy network). Đáng chú ý là các hình thức học bắt
chước có giám sát này thường khá phổ biến trong học tăng cường để
tránh các vấn đề cold-start.
● Học tăng cường: Trong trường hợp này, học tăng cường đã được sử
dụng để huấn luyện mạng. Một vấn đề là Go cần hai đối thủ, và do đó,
mạng đã được chơi với chính nó để tạo ra các bước di chuyển. Mạng
hiện tại luôn được chơi với một mạng được chọn ngẫu nhiên từ một vài
lần lặp trước đó, để việc học tăng cường có thể có một nhóm các đối thủ
ngẫu nhiên. Trò chơi được chơi cho đến phút cuối, và sau đó lợi thế +1
hoặc -1 được liên kết với mỗi lần di chuyển tùy thuộc vào thắng hay
thua. Dữ liệu này sau đó được sử dụng để đào tạo mạng chính sách.
Mạng này được gọi là mạng chính sách RL (RL-policy network).

36
Lưu ý rằng các mạng này đã là những người chơi Go khá đáng gờm so
với các phần mềm hiện đại và chúng được kết hợp với cây tìm kiếm
Monte Carlo để củng cố thêm.

Các mạng giá trị (Value Networks)


Mạng này cũng là mạng neural tích chập, sử dụng trạng thái của mạng làm đầu
vào và điểm dự đoán trong [-1, + 1] làm đầu ra, trong đó +1 ám chỉ xác suất
hoàn hảo của 1. Đầu ra là điểm dự đoán của người chơi tiếp theo, cho dù đó là
màu trắng hay đen, và do đó, đầu vào cũng mã hóa “màu sắc” của các quân cờ
theo thuật ngữ “người chơi”, hoặc “đối thủ” của trò chơi thay vì màu trắng
hoặc đen. Kiến trúc của mạng giá trị rất giống với mạng chính sách, ngoại trừ
việc có một số khác biệt về mặt đầu vào và đầu ra. Đầu vào chứa một tính năng
bổ sung tương ứng với việc người chơi tiếp theo chơi màu trắng hay đen. Điểm
số được tính bằng cách sử dụng một đơn vị tanh (tanh unit) ở cuối và do đó, giá
trị nằm trong phạm vi [−1, + 1]. Các lớp tích chập đầu của mạng giá trị giống
như các lớp trong mạng chính sách, mặc dù một lớp tích chập bổ sung được
thêm vào trong lớp thứ 12. Một lớp kết nối đầy đủ với 256 đơn vị và hàm kích
hoạt ReLU theo sau lớp tích chập cuối. Để huấn luyện mạng, một khả năng là
sử dụng các vị trí từ bộ dữ liệu của trò chơi Go. Tuy nhiên, lựa chọn ưu tiên là
tạo tập dữ liệu bằng cách tự phát sinh với các mạng chính sách SL và chính
sách RL cho đến hết, do đó kết quả cuối cùng được tạo ra. Các cặp kết quả -
trạng thái đã được sử dụng để huấn luyện mạng neural tích chập. Vì các vị trí
trong một trò chơi có mối tương quan với nhau, nên việc sử dụng chúng liên
tục trong huấn luyện sẽ gây ra hiện tượng overfitting. Điều quan trọng là phải
lấy mẫu các vị trí từ các trò chơi khác nhau để ngăn chặn tình trạng overfitting
gây ra bởi các mẫu huấn luyện có liên quan chặt chẽ. Do đó, mỗi mẫu huấn
luyện được lấy từ một trò chơi tự chơi riêng biệt.

Cây tìm kiếm Monte Carlo


Một biến thể đơn giản của phương trình 9.27 đã được sử dụng để thăm dò,

tương đương với việc đặt K = 1/


√ ∑ N (s, b) tại mỗi nút. Phần 9.6 mô tả
b
một phiên bản của phương pháp tìm kiếm cây Monte Carlo trong đó chỉ có
mạng chính sách RL được sử dụng để đánh giá các nút lá. Trong trường hợp
của AlphaGo, hai cách tiếp cận được kết hợp. Đầu tiên, các triển khai nhanh
Monte Carlo được sử dụng từ nút lá để tạo đánh giá e1 . Mặc dù có thể sử dụng
mạng chính sách để triển khai, AlphaGo đã huấn luyện một loại softmax đơn
giản với một cơ sở dữ liệu về trò chơi của con người và một số tính năng thủ
37
công để có tốc độ triển khai nhanh hơn. Thứ hai, mạng giá trị đã tạo ra một
đánh giá riêng e2 của các nút lá. Đánh giá cuối cùng là một sự kết hợp lồi của
hai đánh giá là e = β e1 + (1 − β )e2 . Giá trị β = 0.5 cung cấp hiệu suất tốt nhất,
mặc dù chỉ sử dụng mạng giá trị cũng cung cấp hiệu suất phù hợp chặt chẽ (và
thay thế khả thi). Nhánh được thăm nhiều nhất trong tìm kiếm cây Monte Carlo
được báo cáo là nước đi dự đoán.

9.7.1.1 Alpha Zero: Những cải tiến đối với kiến thức Zero Human
Một sự nâng cao sau này của ý tưởng, được gọi là AlphaGo Zero, loại
bỏ sự cần thiết các bước di chuyển của chuyên gia trong học tăng cường (hoặc
một mạng SL). Thay vì các mạng chính sách và giá trị riêng biệt, một mạng
đơn lẻ sẽ xuất ra cả chính sách (tức là xác suất hành động) p (s, a) và giá trị v
(s) của vị trí. Sự mất entropy chéo trên các xác suất chính sách đầu ra và tổn
thất bình phương trên đầu ra giá trị được thêm vào để tạo ra một mất mát duy
nhất. Trong khi phiên bản gốc của AlphaGo sử dụng tìm kiếm cây Monte Carlo
chỉ để suy luận từ các mạng được đào tạo, các phiên bản zero-knowledge
(không có kiến thức) cũng sử dụng số lượt truy cập trong tìm kiếm cây Monte
Carlo đào tạo. Người ta có thể xem số lượt truy cập của từng chi nhánh trong
tìm kiếm cây như một nhà điều hành cải tiến chính sách trên p (s, a) nhờ vào
việc khám phá dựa trên cha của nó. Điều này tạo cơ sở cho việc tạo ra các giá
trị chân lý được khởi động cho việc học mạng thần kinh. Trong khi sự khác biệt
về thời gian học các giá trị trạng thái tăng dần , cách tiếp cận tăng dần này truy
cập đếm cho các chính sách học tập. Xác suất dự đoán tìm kiếm cây Monte
Carlo cho hành động trong trạng thái bảng là π (s, a) ∝ N (s, a) 1 / τ , trong đó
τ là tham số nhiệt độ. Giá trị của N (s, a) được tính bằng cách sử dụng thuật
toán tìm kiếm tương tự Monte Carlo như được sử dụng cho AlphaGo, trong đó
xác suất trước p (s, a) đầu ra của mạng nơron được sử dụng để tính toán Công
thức 9.27. Giá trị của Q (s, a) trong phương trình 9.27 được đặt thành giá trị
đầu ra trung bình v (s) từ mạng nơron của các nút lá mới được tạo ra từ trạng
thái s.
AlphaGo Zero cập nhật mạng nơron bằng cách tăng dần π (s, a) như là
một chân lý, trong khi các giá trị trạng thái mặt đất được tạo ra bằng các mô
phỏng Monte Carlo. Tại mỗi trạng thái, xác suất π (s, a), giá trị Q (s, a) và số
lượt truy cập N (s, a) được cập nhật bằng cách chạy quy trình tìm kiếm cây
Monte Carlo (nhiều lần) bắt đầu từ trạng thái s. Mạng nơron từ lần lặp trước
được sử dụng để chọn các nhánh theo Công thức 9.27 cho đến khi đạt được
trạng thái không tồn tại trong cây hoặc trạng thái đầu cuối. Đối với mỗi trạng
thái không tồn tại, một lá mới được thêm vào cây với các giá trị Q của nó và
các giá trị truy cập được khởi tạo bằng không. Các giá trị Q và số lượt truy cập
của tất cả các cạnh trên đường dẫn từ s đến nút lá được cập nhật dựa trên đánh

38
giá lá của mạng thần kinh (hoặc theo quy tắc trò chơi cho các trạng thái thiết bị
đầu cuối). Sau nhiều tìm kiếm bắt đầu từ nút s, xác suất sau π (s, a) được sử
dụng để lấy mẫu một hành động để tự phát và tiếp cận các nút tiếp theo. Toàn
bộ quy trình được thảo luận trong đoạn này được lặp lại tại nút s để đệ quy lấy
vị trí tiếp theo s. Trò chơi được chơi theo cách đệ quy để hoàn thành và giá trị
cuối cùng từ {−1, +1} được trả lại dưới dạng giá trị chân lý z (s) của các trạng
thái lấy mẫu thống nhất trên đường dẫn trò chơi. Lưu ý rằng z (s) được xác
định từ quan điểm của người chơi ở trạng thái s. Các giá trị chân lý của xác suất
đã có sẵn trong π (s, a) cho các giá trị khác nhau của a. Do đó, người ta có thể
tạo ra một cá thể huấn luyện cho mạng nơron có chứa biểu diễn đầu vào của
các trạng thái, các xác suất chân lý được khởi động trong π (s, a) và giá trị mặt
đất của Monte Carlo z (s). Ví dụ huấn luyện này được sử dụng để cập nhật các
thông số mạng thần kinh. Do đó, nếu xác suất và giá trị đầu ra cho mạng nơron
là p (s, a) và v (s), tương ứng, tổn thất cho mạng nơron với trọng số vectơ W
như sau:

Ở đây, λ> 0 là thông số chuẩn hóa. Những tiến bộ khác đã được đề xuất
dưới dạng Alpha Zero , có thể chơi nhiều trò chơi như Go, shogi, và cờ vua.
Alpha Zero đã dễ dàng đánh bại phần mềm chơi cờ tốt nhất, Stockfish và cũng
đã đánh bại phần mềm shogi tốt nhất (Elmo). Chiến thắng trong cờ vua đặc biệt
bất ngờ bởi hầu hết các game thủ hàng đầu, bởi vì người ta luôn cho rằng cờ
vua đòi hỏi quá nhiều kiến thức về miền cho một hệ thống học tập tăng cường
để giành chiến thắng trên một hệ thống với các đánh giá thủ công.

Nhận xét về hiệu suất


AlphaGo đã thể hiện hiệu suất vượt trội so với nhiều đối thủ máy tính và
con người. Chống lại một loạt các đối thủ máy tính, nó đã giành được 494 trong
số 495 trò chơi . Ngay cả khi AlphaGo chấp bằng cách cung cấp bốn viên đá
miễn phí cho đối thủ, nó đã giành được 77%, 86% và 99% số trận đấu được
chơi trước Crazy Stone, Zen và Pachi, tương ứng. Nó cũng đánh bại các đối thủ
đáng gờm của con người, chẳng hạn như nhà vô địch châu Âu, nhà vô địch thế
giới và các người chơi hàng đầu.
Một khía cạnh đáng chú ý hơn về hiệu suất của nó là cách thức mà nó
đạt được những chiến thắng của nó. Trong một số trò chơi của mình, AlphaGo
đã thực hiện nhiều động thái phi chính thống và phi thường mà đôi khi có ý
nghĩa chỉ trong tầm nhìn sau chiến thắng của chương trình .Có những trường
hợp trong đó những động thái được thực hiện bởi AlphaGo trái ngược với sự
khôn ngoan thông thường, nhưng cuối cùng đã tiết lộ những hiểu biết sáng tạo

39
được tạo ra bởi AlphaGo trong khi tự chơi. Sau trận đấu này, một số người chơi
hàng đầu của Go đã xem xét lại cách tiếp cận của họ cho toàn bộ trò chơi.
Hiệu suất của Alpha Zero trong cờ vua là tương tự, nơi nó thường làm
vật liệu hy sinh để từng bước cải thiện vị trí của nó và hạn chế đối thủ của nó.
Loại hành vi này là một dấu hiệu của lối chơi của con người và rất khác với
phần mềm cờ vua thông thường (vốn đã tốt hơn nhiều so với con người).
Không giống như các đánh giá thủ công, nó dường như không có khái niệm
trước khi hình thành trên các giá trị vật chất của nước đi, hoặc khi quân vua
được bảo đảm. Hơn nữa, nó phát hiện ra hầu hết các trò chơi cờ vua nổi tiếng
bằng cách sử dụng tự chơi, và dường như có ý kiến ​riêng của mình về những
cái nào là “tốt hơn”. Nói cách khác, nó có khả năng tự khám phá kiến thức.
Một sự khác biệt chính của việc học tăng cường từ việc học có giám sát là nó
có khả năng đổi mới vượt ra ngoài tri thức được biết thông qua việc học bằng
thử nghiệm và lỗi.

9.7.2 Robot tự học


Robot tự học đại diện cho bước đi quan trọng trong trí thông minh nhân
tạo, trong đó robot có thể được huấn luyện để thực hiện các nhiệm vụ khác
nhau như vận động, sửa chữa cơ học hoặc thu hồi đối tượng bằng cách sử dụng
phương pháp tiếp cận phần thưởng. Ví dụ, hãy xem xét trường hợp đã xây
dựng một robot có khả năng vận động (về cách nó được xây dựng và các lựa
chọn chuyển động sẵn có), nhưng phải học cách lựa chọn chính xác các chuyển
động để giữ cho bản thân cân bằng và di chuyển từ điểm A đến điểm B. Là con
người hai chân, chúng ta có thể đi lại và giữ thăng bằng một cách tự nhiên mà
không hề suy nghĩ về nó, nhưng đây không phải là vấn đề đơn giản đối với một
robot hai chân. Vấn đề càng trở nên khó khăn hơn khi địa hình không chắc
chắn và các chướng ngại vật được đặt khắp nơi.
Loại vấn đề phù hợp với việc học tăng cường, bởi vì dễ dàng phán đoán
liệu một robot có đang đi đúng không, nhưng thật khó để xác định các quy tắc
chính xác về những gì robot nên làm trong mọi tình huống có thể xảy ra. Trong
phương pháp tiếp cận học tăng cường có mục đích , robot được trao phần
thưởng (ảo) mỗi khi nó tiến bộ trong việc vận hành từ điểm A đến điểm B. Nếu
không, robot sẽ tự do thực hiện bất kỳ hành động nào, và nó không được đào
tạo trước với kiến thức về sự lựa chọn cụ thể của hành động sẽ giúp giữ cho nó
cân bằng và đi bộ. Nói cách khác, robot không phải được đào tạo với bất kỳ
kiến thức về những gì trông giống đi bộ (ngoài thực tế là nó sẽ được khen
thưởng cho việc sử dụng các hành động có sẵn của nó để tiến bộ từ điểm A đến
điểm B). Đây là một ví dụ điển hình về học tăng cường, bởi vì robot bây giờ
cần phải tìm hiểu chuỗi hành động cụ thể để thực hiện để kiếm được phần
thưởng hướng mục tiêu. Mặc dù chúng tôi sử dụng phương pháp vận động như

40
một ví dụ cụ thể trong trường hợp này, nguyên tắc chung này áp dụng cho bất
kỳ loại hình học tập nào trong rô bốt. Ví dụ, một vấn đề thứ hai là dạy một
nhiệm vụ thao tác robot như nắm lấy một vật thể hoặc vặn nắp trên chai. Trong
phần tiếp theo, chúng tôi sẽ cung cấp một cuộc thảo luận ngắn gọn về cả hai
trường hợp.

9.7.2.1 Học sâu về kỹ năng vận động


Trong trường hợp này, kỹ năng vận động đã được dạy cho robot ảo ,
trong đó robot được mô phỏng với động cơ vật lý MuJoCo , viết tắt của
Multi-Joint Dynamics with Contact. Nó là một công cụ vật lý nhằm tạo thuận
lợi cho nghiên cứu và phát triển trong robot ,cơ chế sinh học, đồ họa và hoạt
hình, nơi cần mô phỏng nhanh và chính xác mà không cần phải xây dựng rô bốt
thực. Cả một robot hình người và một quadruped đều được sử dụng. Một ví dụ
về mô hình hai chân được thể hiện trong Hình 9.8. Ưu điểm của loại mô phỏng
này là không tốn kém để làm việc với mô phỏng ảo, và tránh được các vấn đề
về an toàn và chi phí tự nhiên phát sinh với thiệt hại vật chất trong khung thử
nghiệm có khả năng bị phá hỏng bởi mức sai lầm cao / tai nạn. Mặt khác, một
mô hình vật lý cung cấp kết quả thực tế hơn. Nói chung, một mô phỏng thường
có thể được sử dụng để kiểm tra quy mô nhỏ hơn trước khi xây dựng một mô
hình vật lý.
Mô hình hình người có 33 kiểu trạng thái và 10 mức độ tự do hành
động, trong khi mô hình quadruped có 29 kiểu trạng thái và 8 mức độ tự do
hành động. Các mô hình được khen thưởng cho tiến bộ về phía trước, mặc dù
các bước đã bị chấm dứt khi trung tâm khối lượng của robot giảm xuống dưới
một điểm nhất định. Các hành động của robot được điều khiển bởi các khớp
xương. Một số tính năng có sẵn cho robot, chẳng hạn như cảm biến cung cấp vị
trí của các chướng ngại vật, vị trí khớp, góc, v.v. Những tính năng này được
đưa vào các mạng thần kinh. Hai mạng thần kinh đã được sử dụng; một cái
được sử dụng để ước tính giá trị, và cái còn lại được sử dụng để ước lượng
chính sách. Do đó, một phương thức gradient chính sách đã được sử dụng trong
đó mạng giá trị đóng vai trò ước tính lợi thế.
Một mạng nơ-ron chuyển tiếp được sử dụng với ba lớp ẩn, tương ứng
với các đơn vị 100, 50 và 25 tanh. Cách tiếp cận trong yêu cầu ước tính cả một
hàm chính sách và hàm giá trị, và cùng một kiến ​trúc được sử dụng trong cả hai
trường hợp cho các lớp ẩn. Tuy nhiên, bộ ước lượng giá trị chỉ yêu cầu một đầu
ra, trong khi bộ ước lượng chính sách cần nhiều đầu ra như số lượng hành
động. Do đó, sự khác biệt chính giữa hai kiến ​trúc là về cách lớp đầu ra và chức
năng mất mát được thiết kế. Công cụ ước tính lợi thế tổng quát (GAE) được sử
dụng kết hợp với tối ưu hóa chính sách dựa trên sự tin cậy (TRPO). Các ghi
chú thư mục chứa các con trỏ đến các chi tiết cụ thể của các phương thức này.
Trong việc đào tạo mạng thần kinh cho 1000 lần lặp lại với việc học tăng
41
cường, robot đã học cách đi bộ với dáng đi dễ nhìn. Các kết quả tương tự cũng
được Google DeepMind phát hành sau này với khả năng mở rộng các chướng
ngại vật hoặc các thách thức khác.

9.7.2.2 Học sâu về kỹ năng thị giác


Một trường hợp thứ hai và thú vị về việc tăng cường học tập được cung
cấp trong , trong đó một robot được huấn luyện cho một số công việc gia đình
như đặt móc áo lên giá, chèn khối vào khối lập phương hình, lắp móng vuốt đồ
chơi hình dạng khác nhau, và vặn một nắp vào một chai. Ví dụ về các nhiệm vụ
này được minh họa trong hình 9,9 (a) cùng với hình ảnh của robot. Các hành
động là các lệnh mô-men xoắn mô-men xoắn chung 7 chiều, và mỗi hành động
yêu cầu một chuỗi các lệnh để tối ưu thực hiện nhiệm vụ. Trong trường hợp
này, một mô hình vật lý thực tế của một robot được sử dụng để huấn luyện.
Một hình ảnh máy ảnh đã được robot sử dụng để xác định vị trí các vật thể và
thao tác chúng. Hình ảnh máy ảnh này có thể được coi là mắt của robot và
mạng thần kinh được rô-bốt sử dụng trên nguyên tắc khái niệm giống như vỏ
não thị giác (dựa trên các thí nghiệm của Hubel và Wiesel). Mặc dù cài đặt này
có vẻ rất khác với các trò chơi video Atari ngay từ cái nhìn đầu tiên, có những
điểm tương đồng đáng kể về cách khung hình ảnh có thể giúp ánh xạ tới các
hành động chính sách. Ví dụ, cài đặt Atari cũng hoạt động với mạng nơron
chập chững trên các pixel thô. Tuy nhiên, có một số đầu vào bổ sung ở đây,
tương ứng với vị trí robot và đối tượng. Những nhiệm vụ này đòi hỏi một mức
độ cao về học tập trong nhận thức trực quan, phối hợp, và động lực liên lạc, tất
cả đều cần phải học tự động

Một cách tiếp cận tự nhiên là sử dụng mạng nơ-ron xoắn để lập bản đồ
các khung hình cho các hành động. Như trong trường hợp của trò chơi Atari,
các tính năng không gian cần phải được học trong các lớp của mạng nơ-ron
xoắn ốc phù hợp để kiếm các phần thưởng. Mạng nơron xoắn ốc liên kết có 7
lớp và 92.000 tham số. Ba lớp đầu tiên là các lớp liên kết, lớp thứ tư là softmax
không gian và lớp thứ năm là một phép biến đổi cố định từ bản đồ không gian
thành một tập hợp ngắn gọn của hai tọa độ. Ý tưởng là áp dụng một hàm
softmax cho các phản hồi trên bản đồ không gian. Điều này cung cấp xác suất
của từng vị trí trong bản đồ tính năng. Vị trí mong muốn sử dụng phân bố xác
suất này cung cấp tọa độ 2 chiều, được gọi là điểm đặc trưng. Lưu ý rằng mỗi
bản đồ không gian trong lớp liên kết tạo ra một điểm đặc trưng. Điểm đặc trưng
có thể được xem như một loại argmax mềm trên phân bố xác suất không gian.
Lớp thứ năm khá khác so với những gì người ta thường thấy trong một mạng
nơ-ron xoắn ốc, và được thiết kế để tạo ra một đại diện chính xác của hình ảnh
phù hợp với điều khiển phản hồi. Các điểm đặc trưng không gian được nối với

42
cấu hình của rô bốt, đó là một đầu vào bổ sung chỉ xảy ra sau các lớp co giãn.
Bộ tính năng ghép nối này được đưa vào hai lớp được kết nối hoàn toàn, mỗi
lớp có 40 đơn vị được sửa chữa, tiếp theo là các kết nối tuyến tính với các
mômen xoắn. Lưu ý rằng chỉ những quan sát tương ứng với máy ảnh mới được
đưa vào lớp đầu tiên của mạng nơ-ron xoắn ốc, và các quan sát tương ứng với
trạng thái robot được nạp vào lớp được kết nối đầu tiên. Điều này là do các lớp
liên kết không thể sử dụng nhiều trạng thái robot, và nó có ý nghĩa để nối các
đầu vào trung tâm của trạng thái sau khi các đầu vào trực quan đã được xử lý
bởi các lớp liên kết. Toàn bộ mạng chứa khoảng 92.000 tham số, trong đó
86.000 là trong các lớp liên kết. Kiến trúc của mạng nơ-ron xoắn được thể hiện
trong hình 9.9 (b). Các quan sát bao gồm hình ảnh camera RGB, các bộ đọc mã
hóa chung, vận tốc và hiệu ứng kết thúc.
Các trạng thái robot đầy đủ chứa giữa 14 và 32 chiều, chẳng hạn như các
góc liên kết, tư thế kết thúc, vị trí đối tượng và vận tốc của chúng. Điều này
cung cấp một khái niệm thực tế của một trạng thái. Như trong tất cả các
phương pháp dựa trên chính sách, kết quả đầu ra tương ứng với các hành động
khác nhau (mô men động cơ). Một khía cạnh thú vị của cách tiếp cận được thảo
luận là nó biến đổi vấn đề học tập tăng cường thành việc học có giám sát. Một
phương pháp tìm kiếm chính sách được hướng dẫn đã được sử dụng, không
được thảo luận trong chương này. Cách tiếp cận này chuyển đổi các phần của
vấn đề học tập tăng cường thành học tập có giám sát. Người đọc quan tâm được
đề cập đến [S. Levine, C. Finn, T. Darrell, and P. Abbeel. End-to-end training
of deep visuomotor policies. Journal of Machine Learning Research, 17(39),
pp. 1–40, 2016.], cũng có thể tìm thấy video về hiệu suất của rô bốt (được đào
tạo bằng hệ thống này).

9.7.3 Xây dựng hệ thống đàm thoại: Học tập sâu cho Chatbots
Chatbots được gọi là hệ thống hội thoại hoặc hệ thống thoại. Mục tiêu
cuối cùng của một chatbot là xây dựng một tác nhân có thể tự do trò chuyện với
con người về nhiều chủ đề một cách tự nhiên. Còn rất xa để đạt được mục tiêu
này. Tuy nhiên, đã có nhiều tiến bộ đáng kể trong việc xây dựng các trò chuyện
cho các miền cụ thể và các ứng dụng cụ thể (ví dụ: thương lượng hoặc trợ lý
mua sắm). Một ví dụ về một hệ thống tương đối đa năng là Siri của Apple, một
trợ lý cá nhân kỹ thuật số. Người ta có thể xem Siri như một hệ thống tên miền
mở, bởi vì nó có thể có cuộc hội thoại với nó về một loạt các chủ đề. Điều rõ
ràng cho bất cứ ai sử dụng Siri là trợ lý đôi khi hoặc là không thể cung cấp
phản ứng thỏa đáng cho các câu hỏi khó, và trong một số trường hợp phản ứng
vui nhộn cho các câu hỏi phổ biến được mã hóa cứng. Dĩ nhiên, điều này là tự
nhiên vì hệ thống này là tương đối chung, và chúng ta vẫn chưa tiến tới gần với
việc xây dựng một hệ thống đàm thoại ở cấp độ con người. Ngược lại, các hệ

43
thống tên miền kín có một nhiệm vụ cụ thể trong tâm trí, và do đó có thể dễ
dàng được đào tạo một cách đáng tin cậy hơn.
Trong phần tiếp theo, chúng tôi sẽ mô tả một hệ thống được xây dựng
bởi Facebook để học các kỹ năng đàm phán đầu cuối . Đây là một hệ thống tên
miền kín vì nó được thiết kế cho mục đích thương lượng cụ thể. Thử nghiệm
nhiệm vụ thương lượng sau đây đã được sử dụng. Hai tác nhân hiển thị một bộ
sưu tập các mục khác nhau (ví dụ: hai cuốn sách, một mũ, ba quả bóng). Các
tác nhân được hướng dẫn để phân chia các mặt hàng này của nó bằng cách
thương lượng chia nhỏ các mặt hàng. Điểm mấu chốt là giá trị của từng loại
mục khác nhau đối với hai tác nhân, nhưng chúng không nhận biết được giá trị
của các mục cho nhau. Đây thường là trường hợp trong các cuộc đàm phán
trong cuộc sống thực, nơi người dùng cố gắng đạt được một kết quả thỏa đáng
lẫn nhau bằng cách thương lượng các mặt hàng có giá trị đối với họ.
Các giá trị của các mục luôn được giả định là không âm và được tạo
ngẫu nhiên trong các test dưới một số ràng buộc. Đầu tiên, tổng giá trị của tất
cả các mục cho một người dùng là 10. Thứ hai, mỗi mục có giá trị khác 0 để
làm cho việc bỏ mục đó có ý nghĩa. Cuối cùng, một số mục có giá trị không
đồng bộ cho cả hai người dùng. Vì những ràng buộc này, cả hai người dùng
đều không thể đạt được số điểm tối đa là 10,điều đảm bảo quy trình thương
lượng cạnh tranh. Sau 10 lượt, các đại lý được phép tùy chọn hoàn tất thương
lượng mà không có thỏa thuận, có giá trị 0 điểm cho cả hai người dùng. Ba loại
sách, nón và quả bóng đã được sử dụng, và tổng cộng từ 5 đến 7 mục tồn tại.
Thực tế là các giá trị của các mục khác nhau cho hai người dùng (không có
kiến thức về các giá trị được chỉ định của nhau) là đáng kể; nếu cả hai nhà đàm
phán có khả năng, họ sẽ có thể đạt được tổng giá trị lớn hơn 10 cho các mục
giữa chúng. Tuy nhiên, nhà đàm phán tốt hơn sẽ có thể nắm bắt được giá trị lớn
hơn bằng cách tối ưu thương lượng các mặt hàng có giá trị cao cho họ
Chức năng thưởng cho cài đặt học tăng cường này là giá trị cuối cùng
của các mục mà người dùng đạt được. Người ta có thể sử dụng học giám sát
trên các hộp thoại trước để tối đa hóa khả năng phát âm. Việc sử dụng đơn giản
các mạng tái phát để tối đa hóa khả năng phát âm dẫn đến các tác nhân hoạt
động tốt hơn trong việc thỏa hiệp. Do đó cần kết hợp học tập có giám sát với
học tập tăng cường. Việc kết hợp học tập có giám sát trong học tập tăng cường
giúp đảm bảo rằng các mô hình không phân biệt ngôn ngữ của con người. Một
hình thức lập kế hoạch cho các hộp thoại gọi là hộp thoại roll-out đã được giới
thiệu. Cách tiếp cận này sử dụng kiến ​trúc lặp lại bộ giải mã bộ mã hóa, trong
đó bộ giải mã tối đa hóa chức năng phần thưởng thay vì khả năng phát âm. Cấu
trúc bộ giải mã bộ mã hóa này dựa trên việc học chuỗi theo trình tự, như được
thảo luận trong Phần 7.7.2 của Chương 7.

44
Để tạo điều kiện học tập có giám sát, các hộp thoại được thu thập từ
Amazon Mechanical Turk. Tổng số 5808 hộp thoại được thu thập trong 2236
kịch bản duy nhất, trong đó một kịch bản được xác định bằng cách gán một tập
hợp các giá trị cụ thể cho các mục. Trong số các trường hợp này, 252 kịch bản
tương ứng với 526 hộp thoại được tổ chức. Mỗi kịch bản kết quả trong hai ví
dụ đào tạo, có nguồn gốc từ quan điểm của mỗi tác nhân. Một ví dụ đào tạo cụ
thể là nơi trong đó các mục được chia cho hai tác nhân tương ứng với 3 cuốn
sách, 2 mũ và 1 quả bóng. Đây là một phần của đầu vào cho mỗi tác nhân. Dữ
liệu đầu vào thứ hai có thể là giá trị của mỗi mục đối với tác nhân, đó là (i) Tác
nhân A: sách: 1, mũ: 3, bóng: 1 và (ii) Tác nhân B: sách: 2, mũ: 1, bóng : 2.
Lưu ý rằng điều này có nghĩa rằng đại lý A nên bí mật cố gắng để có được càng
nhiều mũ càng tốt trong đàm phán, trong khi đại lý B nên tập trung vào sách và
bóng. Ví dụ về hộp thoại trong dữ liệu đào tạo được đưa ra dưới đây:
Tác nhân A: Tôi muốn sách và mũ, bạn lấy bóng
Tác nhân B: Hãy cho tôi một cuốn sách và chúng tôi có một thỏa thuận.
Tác nhân A: Ok, giao dịch.
Tác nhân B (chọn)
Kết quả cuối cùng cho tác nhân A là 2 cuốn sách và 2 mũ, trong khi kết quả
cuối cùng cho tác nhân B là 1 cuốn sách và 1 quả bóng. Do đó, mỗi tác nhân có
bộ đầu vào và đầu ra của riêng mình và các hộp thoại cho mỗi tác nhân cũng
được xem từ quan điểm riêng của nó. Do đó, mỗi kịch bản tạo ra hai ví dụ đào
tạo và cùng một mạng tái phát được chia sẻ để tạo bản ghi và kết quả cuối cùng
của mỗi tác nhân. Hộp thoại x là danh sách các mã thông báo x0 ... xT, chứa
các lượt của mỗi tác nhân xen kẽ với các ký hiệu đánh dấu liệu lượt được viết
bởi tác nhân hoặc đối tác của họ. Một mã thông báo đặc biệt ở cuối cho biết
rằng một đại lý đã đánh dấu rằng đã đạt được một thỏa thuận.
Quy trình học được giám sát sử dụng bốn đơn vị tái phát có cổng khác
nhau (GRU). GRUg đơn vị lặp lại cổng đầu tiên mã hóa các mục tiêu đầu vào,
đơn vị lặp lại cổng thứ hai GRUq tạo ra các từ trong hộp thoại, một đơn vị lặp
đi lặp lại cổng GRUo và một đơn vị lặp lại cổng GRUo. Đầu ra về bản chất
được tạo ra bởi một GRU hai hướng. Các GRU này được kết nối theo kiểu đầu
cuối. Trong phương pháp học được giám sát, các tham số được đào tạo bằng
cách sử dụng các đầu vào, hộp thoại và đầu ra có sẵn từ dữ liệu đào tạo. Sự mất
mát cho mô hình được giám sát cho một tổng trọng số của sự mất mát dự đoán
mã thông báo của hộp thoại và sự mất mát dự đoán lựa chọn đầu ra của các
mục.
Tuy nhiên, để tăng cường học tập, hộp thoại roll-outs được sử dụng. Lưu
ý rằng nhóm các GRU trong mô hình được giám sát, về cơ bản, cung cấp các

45
kết quả đầu ra xác suất. Do đó, người ta có thể điều chỉnh cùng một mô hình để
làm việc cho việc học tăng cường bằng cách đơn giản thay đổi chức năng mất.
Nói cách khác, tổ hợp GRU có thể được coi là một loại mạng chính sách.
Người ta có thể sử dụng mạng lưới chính sách này để tạo ra Monte Carlo
roll-outs của các hộp thoại khác nhau và phần thưởng cuối cùng của họ. Mỗi
hành động được lấy mẫu trở thành một phần của dữ liệu đào tạo và hành động
được kết hợp với phần thưởng cuối cùng của việc triển khai. Nói cách khác,
phương pháp tiếp cận sử dụng tự chơi trong đó các đại lý thương lượng với
chính nó để tìm hiểu các chiến lược tốt hơn. Phần thưởng cuối cùng đạt được
bằng cách triển khai được sử dụng để cập nhật các thông số mạng chính sách.
Phần thưởng này được tính dựa trên giá trị của các mục được thương lượng ở
cuối hộp thoại. Cách tiếp cận này có thể được xem như là một thể hiện của
thuật toán REINFORCE . Một vấn đề với tự chơi là các đại lý có khuynh
hướng học ngôn ngữ riêng của họ, ngôn ngữ này bị lệch khỏi ngôn ngữ của con
người tự nhiên khi cả hai bên đều sử dụng việc học tăng cường. Do đó, một
trong những đại lý bị ràng buộc là mô hình được giám sát.
Đối với dự đoán cuối cùng, một khả năng là lấy mẫu trực tiếp từ đầu ra
xác suất của GRU. Tuy nhiên, cách tiếp cận này thường không tối ưu khi làm
việc với các mạng tái phát. Do đó, cách tiếp cận qua hai giai đoạn được sử
dụng. Đầu tiên, các dự đoán được tạo ra bằng cách sử dụng lấy mẫu. Phần
thưởng dự kiến của mỗi dự đoán được tính và phần thưởng có giá trị kỳ vọng
lớn nhất được chọn. Để tính toán phần thưởng dự kiến, đầu ra được thu nhỏ
theo xác suất của hộp thoại vì các hộp thoại xác suất thấp thường không được
chọn bởi tác nhân nào.
Một số quan sát thú vị được thực hiện trong [​M. Lewis, D. Yarats, Y.
Dauphin, D. Parikh, and D. Batra. Deal or No Deal? End-to-End Learning for
Negotiation Dialogues. arXiv:1706.05125, 2017​] về hiệu suất của phương pháp
này. Đầu tiên, các phương pháp học được giám sát thường có xu hướng từ bỏ
dễ dàng, trong khi các phương pháp học tăng cường thì bền bỉ hơn trong việc
cố gắng đạt được một thỏa thuận tốt. Thứ hai, phương pháp học tăng cường
thường thể hiện các chiến thuật thương lượng giống như con người. Trong một
số trường hợp, nó giả vờ quan tâm đến một mặt hàng không thực sự có giá trị
nhiều để có được một thỏa thuận tốt hơn cho một mặt hàng khác.

9.7.4 Xe tự hành
Như trong công việc vận hành robot, chiếc xe được “thưởng” khi di
chuyển từ điểm A đến điểm B mà không gây tai nạn hoặc các sự cố không
mong muốn khác. Chiếc xe được trang bị các loại cảm biến khác nhau (hình
ảnh, âm thanh, không gian, chuyển động) để ghi lại các quan sát. Mục tiêu của

46
hệ thống học tăng cường là để cho chiếc xe đi từ điểm A tới điểm B một cách
an toàn bất kể điều kiện đường xá thế nào.
Lái xe là một việc mà khó có thể đưa ra quy luật phù hợp trong mọi
trường hợp; mặt khác, việc đánh giá một ai đó có lái đúng hay không lại rất dễ
dàng. Đây chính xác là thiết lập phù hợp cho việc học tăng cường. Mặc dù một
chiếc xe tự hành hoàn chỉnh sẽ có một lượng lớn các thành phần tương ứng với
đầu vào và rất nhiều loại cảm biến, chúng ta chỉ tập trung vào thiết lập đã được
đơn giản hóa chỉ bao gồm một camera. Hệ thống này mang tính hướng dẫn, bởi
nó cho thấy ngay cả một chiếc camera đặt ở phía trước cũng đủ để thực hiện
nhiều việc khi đi đôi với học tăng cường. Việc này được lên cảm hứng từ
Pomerleau, người xây dựng hệ thống Autonomous Land Vehicle in a Neural
Network, sự khác biệt chính so với trước đây chính là sự gia tăng của năng lực
tính toán. Thêm nữa, công việc này sử dụng một vài sự tiến bộ của mạng nơ
ron tích chập để xây dựng mô hình. Do đó, việc này cho thấy tầm quan trọng
của việc tăng cường năng lực tính toán trong xây dựng hệ thống học tăng
cường.
Dữ liệu huấn luyện được thu thập bằng cách lái xe trên các con đường
với điều kiện khác nhau. Dữ liệu được thu thập chủ yếu từ trung tâm New
Jersey, dữ liệu đường cao tốc cũng được thu thập từ Illinois, Michigan,
Pennsylvania, và New York. Mặc dù chỉ có một camera ở vị trí tài xế được
dùng làm nguồn dữ liệu chính để đưa ra quyết định, pha huấn luyện đã sử dụng
thêm 2 camera ở vị trí khác ở phía trước để thu thập các hình ảnh bị xoay và
dịch chuyển. Các camera bổ sung này không được dùng để đưa ra quyết định
cuối cùng mà dùng để thu thập dữ liệu bổ sung. Vị trí của các camera bổ sung
đảm bảo rằng các hình ảnh mà chúng thu được đã được xoay và tịnh tiến, do đó
có thể dùng để huấn luyện mạng nhận dạng các trường hợp tư thế của xe bị
thay đổi. Nói ngắn gọn, các camera này có ích với dữ liệu tăng cường. Mạng nơ
ron được đào tạo để tối thiểu hóa sai số giữa lệnh ra bởi hệ thống và lệnh ra bởi
tài xế. Phương pháp này cũng được biết đến như là học mô phỏng (imitation
learning). Học mô phỏng thường được dùng như bước đầu tiên làm bộ đệm cho
hệ thống học tăng cường vốn có.
Các kịch bản cần đến học mô phỏng thường tương tự với các kịch bản
cần đến học tăng cường. Nó thường dễ để sử dụng các thiết lập tăng cường
trong kịch bản này bằng cách cho một phần thưởng khi chiếc xe di chuyển mà
không cần sự can thiệp của con người. Ở mặt khác, nếu chiếc xe hoặc không di
chuyển, hoặc yêu cầu sự can thiệp của con người, nó sẽ bị “phạt”. Một vấn đề
với thiết lập giống như xe tự hành là việc luôn phải đảm bảo an toàn khi huấn
luyện. Mặc dù các công bố chi tiết của các xe tự hành hiện tại là có giới hạn, có
vẻ như học giám sát là phương thức có xu hướng được chọn so với học tăng
cường trong thiết lập này.

47
Kiến trúc mạng nơ ron tích chập được thể hiện trong Hình 9.10. Mạng
bao gồm 9 lớp, bao gồm 1 lớp chuẩn hóa, 5 lớp tích chập, và 3 lớp kết nối đầy
đủ (fully connected layer). Lớp tích chập đầu tiên sử dụng bộ lọc 5x5 với
khoảng dịch chuyển (stride) là 2. Hai lớp tích chập tiếp theo sử dụng tích chập
không dịch chuyển (non-strided) với bộ lọc 3x3. Theo sau đó là 3 lớp kết nối
đầy đủ. Giá trị đầu ra cuối cùng là một giá trị điều khiển, tương ứng với bán
kính quay ngược (inverse turning radius). Mạng có 27 triệu kết nối và 250000
tham số.

48
Hình 9.10 Kiến trúc mạng nơ ron của hệ thống điều khiển trong xe tự hành
Chiếc xe kết quả của việc huấn luyện được thử nghiệm trong cả giả lập
và điều kiện đường thực tế. Một tài xế luôn có mặt trong thử nghiệm trên
đường để can thiệp khi cần thiết. Theo đó, một độ đo được tính bằng phần trăm
số lần tài xế phải can thiệp. Kết quả cho thấy chiếc xe có thể tự hành 98% thời
gian. Một số quan sát thú vị đã được thu lại bằng cách trực quan hóa bản đồ
kích hoạt (activation map) (đầu ra của ảnh khi cho bộ lọc chạy hết bức ảnh với
phép tích vô hướng) của mạng nơ ron tích chập đã được huấn luyện. Trong
trường hợp đường không lát, bản đồ kích hoạt đặc trưng (feature activation
map) đã có thể phát hiện ra phác thảo của con đường. Mặt khác, nếu chiếc xe
được đặt trong rừng, bản đồ kích hoạt đặc trưng chỉ toàn là nhiễu.

9.7.5 Suy luận kiến trúc nơ ron với học tăng cường
Một ứng dụng thú vị của học tăng cường là suy đoán kiến trúc mạng nơ
ron cho một công việc cụ thể. Cấu trúc của mạng nơ ron phụ thuộc vào một số
lượng siêu tham số (hyper-parameter) như số lượng bộ lọc, chiều cao bộ lọc,
chiều rộng bộ lọc, chiều cao stride, chiều rộng stride. Các tham số này phụ
thuộc lẫn nhau và các tham số của lớp sau phụ thuộc vào tham số của lớp trước.
Phương pháp học tăng cường sử dụng mạng hồi quy (recurrent network)
như là bộ điều khiển để quyết định các tham số của mạng tích chập (còn được
gọi là mạng con). Kiến trúc tổng quan của mạng hồi quy được minh họa trong
Hình 9.11. Việc lựa chọn mạng hồi quy được thúc đẩy bởi sự phụ thuộc tuần tự
giữa các tham số kiến trúc khác nhau. Bộ phân lớp softmax được sử dụng để dự
đoán đầu ra như một token hơn là một giá trị số. Token này được sử dụng như
một đầu vào cho lớp tiếp theo, minh họa bởi đường nét đứt trong Hình 9.11.
Việc sinh tham số như một token dẫn đến một không gian hành động rời rạc mà
thường phổ biến hơn trong học tăng cường so với không gian hành động liên
tục

Hình 9.11 Mạng điều khiển cho việc học kiến trúc tích chập của mạng con. Mạng điều

49
khiển được huấn luyện với thuật toán tăng cường.
Một điểm quan trọng là về số lượng lớp của mạng con (cũng quyết định
số lượng lớp của mạng hồi quy). Giá trị này không phải cố định nhưng nó tuân
theo một lịch trình nhất định khi quá trình huấn luyện tiến triển. Ở những vòng
lặp đầu, số lượng lớp ít hơn, do đó kiến trúc học được của mạng tích chập
tương đối nông. Khi quá trình huấn luyện tiến triển, số lượng lớp tăng chậm
theo thời gian. Phương pháp policy gradient không thực sự khác so với những
gì đã thảo luận, ngoại trừ một mạng hồi quy được huấn luyện với tín hiệu phần
thưởng thay vì mạng feed-forward.

9.8 Những thách thức thực tế gắn liền với sự an toàn


Đơn giản hóa thiết kế của một thuật toán học phức tạp với học tăng cường đôi
khi có thể có những ảnh hưởng không mong muốn. Nhờ thực tế rằng hệ thống học
tăng cường có mức độ tự do lớn hơn so với các hệ thống học khác, nó tự nhiên dẫn
đến các sự quan tâm liên quan đến an toàn. Trong khi tham lam là một yếu tố to lớn
trong trí thông minh của con người, nó cũng đồng thời là nguồn gốc của nhiều hành
động không mong muốn của con người. Sự đơn giản mà là sức mạnh lớn nhất của
phương pháp học hướng “phần thưởng” cũng đồng thời là cạm bẫy lớn nhất trong hệ
thống sinh học. Giả lập những hệ thống như vậy tất nhiên dẫn đến các cạm bẫy tương
tự từ góc nhìn của trí tuệ nhân tạo. Ví dụ, một phần thưởng được thiết kế không tốt có
thể dẫn đến hậu quả không biết trước, bởi vì cách khám phá mà hệ thống dùng để học
các hành động của nó. Hệ thống học tăng cường thường xuyên có thể học các “cheat”
hay “hack” trong thiết kế không hoàn hảo của video game, điều đó cho thấy điềm báo
những gì có thể xảy ra trong một thế giới thực kém hoàn hảo.
Hơn nữa, một hệ thống có thể thử lấy các phần thưởng ảo một cách không hợp
lệ. Ví dụ, một robot dọn dẹp có thể thử lấy các phần thưởng bằng cách đầu tiên tạo ra
các tình trạng lộn xộn sau đó tự dọn dẹp chúng. Chúng ta có thể tưởng tượng một viễn
cảnh tồi tệ hơn đối với robot y tá. Một điều thú vị, những loại hành vi này đôi khi
được biểu lộ bởi con người. Những sự tương đồng không mong muốn này là kết quả
trực tiếp của việc đơn giản hóa quá trình học của máy bằng cách tận dụng nguyên lý
tham lam mà các sinh vật sử dụng. Phấn đấu cho sự đơn giản dẫn đến việc nhường lại
nhiều quyền kiểm soát hơn cho máy, điều này có thể có tác dụng không mong muốn.
Trong một số trường hợp, có những tình huống khó xử về đạo đức trong việc thiết kế
chức năng khen thưởng. Ví dụ, nếu việc xảy ra tai nạn là không tránh khỏi, xe tự hành
nên cứu tài xế hay cứu những người đi bộ? Đa số mọi người sẽ cứu bản thân họ trong
tình huống này như một phản xạ sinh học; tuy nhiên, nó là một vấn đề khác khi
khuyến khích một hệ thống học làm như vậy. Thêm nữa, thật khó để thuyết phục một
tài xế tin tưởng vào phương tiện mà sự an toàn của họ không phải là ưu tiên hàng đầu
của hệ thống. Hệ thống học tăng cường cũng dễ bị ảnh hưởng theo cách mà người
điều hành tương tác và điều chỉnh tác động của hàm phần thưởng phía dưới của hệ
50
thống; đã có những trường hợp mà một chatbot được dạy để tạo ra các lời bình luận
mang tính bạo lực hay phân biệt chủng tộc.
Các hệ thống học đã có một thời gian khó khăn để tổng quan hóa kinh nghiệm
của chúng cho những tình huống mới. Vấn đề này được gọi là ​dịch chuyển phân phối
(distributional shift). Ví dụ, một xe tự hành được huấn luyện trong một quốc gia có thể
hoạt động không hiệu quả trong một quốc gia khác. Tương tự, các hành động thăm dò
trong học tăng cường có thể đôi lúc nguy hiểm. Tưởng tượng một robot đang cố gắng
hàn hai sợi dây trong một thiết bị điện mà sợi dây được bao quanh bởi các thành phần
dễ hỏng. Cố gắng thăm dò các hành động trong tình huống này rất nguy hiểm. Vấn đề
này nói với chúng ta rằng chúng ta không thể xây dựng một hệ thống trí tuệ nhân tạo
mà bỏ qua sự an toàn. Thực tế, một vài tổ chức như OpenAI đã dẫn đầu trong các vấn
đề đảm bảo an toàn này. Trong nhiều trường hợp, có vẻ như con người sẽ phải tham
gia vào vòng lặp theo một mức độ nào đó để đảm bảo an toàn.

9.9 Tổng kết


Chương này nghiên cứu vấn đề của học tăng cường mà các tác tử (agent) tương
tác với môi trường theo hướng phần thưởng để học các hành động tối ưu. Có một vài
loại phương pháp học tăng cường, trong đó phương pháp Q-learning và các phương
pháp hướng chính sách (policy-driven) là phổ biến nhất. Các phương pháp hướng
chính sách đã trở nên được ưa chuộng trong những năm gần đây. Rất nhiều phương
pháp loại này là các hệ thống cuối-cuối (end-to-end system) mà được tích hợp sau vào
mạng nơ ron để lấy vào các dữ liệu cảm biến và học các chính sách tối ưu phần
thưởng. Các thuật toán học tăng cường được sử dụng trong nhiều tình huống như chơi
video game hoặc các loại trò chơi khác, robot, xe tự hành. Khả năng học qua kinh
nghiệm của các thuật toán này thường dẫn tới các giải pháp mang tính đổi mới mà
không thể áp dụng với các dạng học khác. Các thuật toán học tăng cường cũng đặt ra
các thử thách độc nhất gắn với sự an toàn bởi vì sự đơn giản hóa quá mức của quá
trình học với các hàm phần thưởng.

9.10 Tài liệu tham khảo


Một cái nhìn tổng quan về học tăng cường có thể được tìm thấy trong cuốn
sách viết bởi Sutton và Barto [483]. Một số lượng lớn nghiên cứu về học tăng cường
sẵn có tại [293]. Bài giảng của David Silver về học tăng cường miễn phí trên Youtube
[619]. Phương pháp sai khác tạm thời (temporal difference) được đề xuất bởi Samuel
trong ngữ cảnh một chương trình cờ và được chính thức hóa bởi Sutton [482].
Q-learning được đề xuất bởi Watkins trong [519], và một chứng minh hội tụ được
cung cấp trong [520]. Thuật toán SARSA được giới thiệu trong [412]. Các phương
pháp trước cho việc sử dụng mạng nơ ron trong học tăng cường được đề xuất trong
[296, 349, 492, 493, 494].

51
Một hệ thống mà sử dụng mạng nơ ron tích chập để tạo ra một thuật toán
Q-learning sâu với các điểm ảnh thô được mở đầu trong [335, 336]. [335] đã gợi ý
rằng cách tiếp cận trong bài báo có thể được cải thiện với các ý tưởng đã biết khác như
quét có ưu tiên (prioritized sweeping) [343]. Các phương pháp bất đồng bộ sử dụng đa
tác tử để thực hiện việc học được thảo luận trong [337]. Việc sử dụng nhiều luồng bất
đồng bộ tránh vấn đề tương quan trong một luồng, giúp cải thiện sự hội tụ tới chất
lượng cao. Cách tiếp cận bất đồng bộ này thường được sử dụng thay thế cho kỹ thuật
tái phát kinh nghiệm (experience replay technique). Hơn nữa, một kỹ thuật n-bước mà
sử dụng việc nhìn về trước n bước (thay vì một bước) để dự đoán các giá trị Q-value,
đã được đề cùng lúc.
Một nhược điểm của Q-learning là nó đánh giá quá cao giá trị của các hành
động dưới các hoàn cảnh cụ thể. Một cải tiến của Q-learning, gọi là Q-learning đôi
(double Q-learning), được đề xuất trong [174]. Trong dạng gốc của Q-learning, các
giá trị giống nhau được sử dụng để vừa lựa chọn vừa đánh giá hành động. Trong
trường hợp của Q-learning đôi, các giá trị này bị tách ra thành hai giá trị riêng biệt để
chọn và đánh giá. Thay đổi này có vẻ khiến cho cách tiếp cận ít nhạy cảm hơn đối với
vấn đề đánh giá quá mức. Việc sử dụng tái phát kinh nghiệm ưu tiên (prioritized
experience replay) để cải thiện hiệu năng của các thuật toán học tăng cường với dữ
liệu thưa được thảo luận trong [428]. Cách tiếp cận này cải thiện một cách rõ ràng
hiệu năng của hệ thống trong trò chơi Atari.
Trong những năm gần đây, policy gradients đã trở nên phổ biến hơn so với
phương pháp Q-learning. Một mô tả thú vị và đơn giản về cách tiếp cận này cho trò
chơi Atari của Pong được cung cấp trong [605]. Các phương pháp ban đầu cho việc sử
dụng các phương pháp sai khác hữu hạn cho policy gradients được thảo luận trong
[142, 355]. Các phương pháp có khả năng cho policy gradients được tiên phong bởi
thuật toán REINFORCE [533]. Một số kết quả phân tích về lớp thuật toán này được
cung cấp trong [484]. Policy gradients đã được sử dụng để học trong trò chơi cờ vây
[445], mặc dù cách tiếp cận tổng thể kết hợp một số yếu tố khác nhau. Policy
gradients tự nhiên (natural policy gradients) đã được đề xuất trong [230]. Một phương
pháp như vậy [432] đã được chứng minh là hoạt động tốt trong việc học về robot. Việc
sử dụng ước tính lợi thế tổng quát (generalized advantage estimation - GAE) với phần
thưởng liên tục được thảo luận trong [433]. Cách tiếp cận trong [432, 433] sử dụng
policy gradients tự nhiên cho việc tối ưu hóa, và cách tiếp cận này được gọi là tối ưu
hóa chính sách vùng tin cậy (trust region policy optimization - TRPO). Ý tưởng cơ
bản là các bước tồi trong quá trình học bị phạt nặng hơn trong học tăng cường (hơn
học có giám sát) bởi vì chất của của dữ liệu thu thập được tồi tệ hơn. Do đó, phương
pháp TRPO có xu hướng sử dụng các phương pháp bậc 2 với lan truyền kết hợp
(chương 3), trong đó các cập nhật có xu hướng ở trong một vùng tin tưởng tốt. Các
nghiên cứu cũng được thực hiện trên các loại phương pháp học tăng cường nhất định
như các phương pháp actor-critic [162].

52
Tìm kiếm cây Monte Carlo đã được đề xuất trong [246]. Sau đó, nó đã được sử
dụng trong trò chơi cờ vây [135, 346, 445, 446]. Một khảo sát về các phương pháp
này có thể được tìm thấy trong [52]. Các phiên bản sau của AlphaGo được phân phối
với các phần học được giám sát, thích nghi với cờ vua và shogi, và hoạt động tốt hơn
với tri thức khởi tạo bằng không [446, 447]. Cách tiếp cận AlphaGo kết hợp một số ý
tưởng, bao gồm việc sử dụng các mạng chính sách, tìm kiếm cây Monte Carlo và
mạng nơ ron tích chập. Việc sử dụng các mạng nơ ron tích chập để chơi trò chơi cờ
vây đã được khám phá trong [73, 307, 481]. Nhiều phương pháp trong số này sử dụng
phương pháp học có giám sát để bắt chước các chuyên gia cờ vây. Một số phương
pháp TD-learning cho cờ vua, như NeuroChess [496], KnightCap [22] và Giraffe
[259] đã được khám phá, nhưng không thành công như các công cụ thông thường.
Việc kết hợp các mạng nơ ron tích chập và học tăng cường cho các trò chơi không
gian dường như là một công thức mới (và thành công) giúp phân biệt Alpha Zero với
các phương pháp này. Một số phương pháp để đào tạo robot tự học được trình bày
trong [286, 432, 433]. Tổng quan về các phương pháp học tăng cường sâu để tạo hộp
thoại được cung cấp trong [291]. Các mô hình hội thoại chỉ sử dụng học có giám sát
với các mạng hồi quy được thảo luận trong [440, 508]. Chatbot đàm phán thảo luận
trong chương này được mô tả trong [290]. Mô tả về xe tự lái dựa trên [46, 47]. Một
khóa học MIT về xe tự lái có sẵn tại [612]. Học tăng cường cũng đã được sử dụng để
tạo các truy vấn có cấu trúc từ ngôn ngữ tự nhiên [563] hoặc để học các kiến ​trúc thần
kinh trong các nhiệm vụ khác nhau [19, 569]. Học tăng cường cũng có thể cải thiện
các mô hình học sâu. Điều này đạt được với khái niệm về sự chú ý (attention) [338,
540], trong đó học tăng cường được sử dụng để tập trung vào các phần chọn lọc của
dữ liệu. Ý tưởng là phần lớn dữ liệu thường không liên quan đến việc học và học cách
tập trung vào các phần chọn lọc của dữ liệu có thể cải thiện đáng kể kết quả. Việc lựa
chọn các phần có liên quan của dữ liệu đạt được với việc học tăng cường. Các cơ chế
chú ý được thảo luận trong Phần 10.2 của Chương 10. Theo nghĩa này, học tăng
cường là một trong những chủ đề trong học máy được tích hợp chặt chẽ hơn với học
sâu.

9.10.1 Các tài nguyên phần mềm và thí nghiệm


Mặc dù những tiến bộ đáng kể đã được thực hiện trong việc thiết kế các
thuật toán học tăng cường trong những năm gần đây, phần mềm thương mại sử
dụng các phương pháp này vẫn còn tương đối hạn chế. Tuy nhiên, rất nhiều thử
nghiệm phần mềm có sẵn có thể được sử dụng để kiểm tra các thuật toán khác
nhau. Có lẽ nguồn tốt nhất cho các cơ sở học tăng cường chất lượng cao là có
sẵn từ OpenAI [623]. Các triển khai của TensorFlow [624] và Keras [625] cũng
có sẵn. Hầu hết các khung (framework) để kiểm tra và phát triển các thuật toán
học tăng cường là chuyên biệt cho các loại kịch bản học tăng cường cụ thể.
Một số khung rất nhẹ và có thể được sử dụng để thử nghiệm nhanh. Ví dụ,
khung ELF [498], do Facebook tạo ra, được thiết kế cho các trò chơi chiến lược

53
thời gian thực và là khung học tăng cường nguồn mở và trọng lượng nhẹ.
OpenAI Gym [620] cung cấp môi trường để phát triển các thuật toán học tăng
cường cho các trò chơi Atari và robot mô phỏng. OpenAI Universe [621] có thể
được sử dụng để biến các chương trình học tăng cường thành môi trường
phòng tập thể dục. Ví dụ, mô phỏng xe tự lái đã được thêm vào môi trường
này. Một môi trường học tập Arcade để phát triển các tác tử trong bối cảnh các
trò chơi Atari được mô tả trong [25]. Trình giả lập MuJoCo [609] là một công
cụ vật lý và được thiết kế cho mô phỏng robot. Một ứng dụng có sử dụng
MuJoCo được mô tả trong chương này. ParlAI [622] là một khung nguồn mở
để nghiên cứu hộp thoại của Facebook và được triển khai bằng Python. Baidu
đã tạo ra một nền tảng nguồn mở của dự án xe tự lái của mình, được gọi là
Apollo [626].

9.11 Bài tập


Câu 1: Chương này đưa ra một chứng minh của phương pháp likelihood ratio cho
trường hợp khi mà hành động a là rời rạc. Tổng quát kết quả trên cho các hành động
liên tục.
Trả lời:

Câu 2: ​Trong suốt chương này, một mạng neural, được gọi là mạng chính sách, đã
được sử dụng để thực hiện policy gradient. Thảo luận về tầm quan trọng của sự lựa
chọn kiến trúc mạng trong các cài đặt khác nhau.
Trả lời: Cấu trúc của mạng nơ ron ảnh hưởng đến khả năng kết hợp thông tin từ các
dữ liệu trạng thái trong quá khứ để đưa ra các kết quả gợi ý cho tương lai. Nói cách

54
khác, bài toán Reinforcement learning liên quan đến việc đưa ra quyết định với reward
là lớn nhất dựa trên diễn biến hành động trong quá khứ. Mạng nơ ron trong policy
gradient có vai trò kết nối các trạng thái khác nhau trong quá khứ với trạng thái sẽ xảy
ra trong tương lai. Nếu mạng có cấu trúc đơn giản thì khả năng kết hợp giữa nhiều
trạng thái khác nhau là yếu. Mạng có cấu trúc càng "sâu" thì khả năng kết hợp thông
tin giữa các trạng thái càng cao. Tuy nhiên, nếu mạng quá phức tạp thì sẽ có xu hướng
overfitting, tức là tạo ra các kết quả đầu ra với đường probabilistic curves cho các
trạng thái khác nhau càng nhọn, dẫn đến việc xác suất giữa các trạng thái đầu ra sẽ
tiệm cận bằng nhau.

Câu 3: Bạn có 2 máy đánh bạc (slot machine), mỗi máy có 100 bóng đèn. Phân bố xác
suất của phần thưởng từ máy đánh bạc là một hàm không xác định của mẫu(pattern)
các bóng đèn đang phát sáng. Khi chơi thì máy đánh bạc thay đổi mẫu các bóng đèn
của nó theo một cách đã định trước nhưng không biết trước. Thảo luận về việc tại sao
vấn đề này phức tạp hơn so với vấn đề multi-armed problem.
Trả lời: Vấn đề được đưa ra phức tạp hơn là vì:

Multi-armed Problem 100 lights Problem

Không có trạng thái, mọi lần thử đều cho Phân bố xác suất của phần thưởng có
cùng một phân bố xác suất của phần phụ thuộc vào trạng thái hiện tại.
thưởng.

Chỉ phải mở rộng một số lượng nhỏ Phải mở rộng toàn bộ 2100 trạng thái.
trạng thái.

Câu 4: ​Hãy xem xét các trò chơi nổi tiếng là oẳn tù tì. Người chơi thường cố gắng sử
dụng lịch sử của các nước đi trước để đoán nước đi tiếp theo. Bạn có sử dụng phương
pháp Q-learning hoặc phương pháp dựa trên chính sách để học chơi trò chơi này
không? Tại sao? Bây giờ hãy xem xét một tình huống trong đó một người chơi con
người lấy mẫu một trong ba lần di chuyển với xác suất là một chức năng chưa biết của
lịch sử của 10 lần di chuyển trước đó của mỗi bên. Đề xuất một phương pháp học sâu
được thiết kế để chơi với một đối thủ như vậy. Liệu phương pháp học sâu được thiết
kế tốt có lợi thế hơn người chơi này không? Người chơi nên sử dụng chính sách nào
để đảm bảo ngang bằng xác suất với đối thủ học sâu?
Trả lời: Trong trò chơi oẳn tù tì: Việc sử dụng Q-learning hoặc Policy-based method
để giải quyết bài toán này là khả thi, vì chiến lược chơi của game này là có thể dựa
vào trạng thái hiện tại để quyết định các nước cờ tiếp theo. Nói cách khác, có mối liên
hệ nào đó giữa 2 lần ra tay liên tiếp nhau trong game, và nguyên lý hoạt động của
55
Q-learning hay Policy gradient là phù hợp với trò chơi này nếu xây dựng được mối
liên hệ đó.
Người chơi chọn một nước cờ từ kinh nghiệm của 10 nước chơi trong quá khứ, mạng
nơ ron sâu được tạo ra sẽ cần phải có tối đa 3 đầu ra tương ứng với 3 khả năng ra tay.
Lần đánh tiếp theo sẽ tương ứng với một trạng thái trong tương lai. Trạng thái này sẽ
được mạng nơ ron tạo ra bằng các giá trị tham số đã được huấn luyện trước. Với mỗi ô
đầu ra sẽ cho một giá trị reward, các giá trị này sẽ được sử dụng để update thông số
mạng nơ ron. Lần đánh tiếp theo sẽ được chọn với giá trị reward là lớn nhất tại thời
điểm hiện tại.
Nếu mạng nơ ron được thiết kế phù hợp thì sẽ tạo ra một "máy chơi" có thể đánh bại
mọi đối thủ. Tuy nhiên, thời điểm đầu thì mạng sẽ có thể thua trong một vài ván, càng
về sau thì mạng sẽ càng cập nhật thông số để đưa ra nước đi đúng hơn.
Con người muốn thắng được mạng nơ ron trong trường hợp này thì chỉ có mỗi cách là
không được đánh theo bài, phải chọn các nước đi càng mang tính ngẫu nhiên càng tốt.

Câu 5: ​Hãy xem xét trò chơi tic-tac-toe trong đó phần thưởng được rút ra từ {1, 0, +1}
được đưa ra vào cuối trò chơi. Giả sử bạn học các giá trị của tất cả các trạng thái (giả
sử chơi tối ưu từ cả hai phía). Thảo luận tại sao các trạng thái ở vị trí không đầu cuối
sẽ có giá trị khác không. Điều này cho bạn biết gì về việc gán giá trị cho các bước di
chuyển trung gian đến giá trị phần thưởng nhận được ở cuối?
Trả lời: ​với mỗi thời điểm, luôn có tối đa là 9 và tối thiểu là 1 khả năng đi quân tương
ứng với tối đa là 9 và tối thiểu là 1 điểm trống trên bàn. Do vậy, luôn có ít nhất một
phương án đi quân khi ván cờ chưa kết thúc.
Mỗi nước đi trong game (khi chưa kết thúc game) thì không thể gán ngay "phần
thưởng" cho từng nước đi, vì kết quả của game (sau khi kết thúc) mới có reward để
đánh giá cho mỗi nước cụ thể.
 

56
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI

BÁO CÁO NGHIÊN CỨU


Môn: Khai phá dữ liệu

Chương 10: Các chủ đề nâng cao trong Deep


Learning

Giảng viên: PGS. TS. Hà Quang Thụy

Sinh viên thực hiện:


1. Trần Thị Quỳnh Giao - 16020930
2. Nguyễn Thị Quỳnh - 16021120
3. Cao Thị Phương Thảo - 16021159
4. Phạm Thị Thùy Tiên - 16021180
5. Tống Lý Trinh - 16021197
6. Nguyễn Thị Hải Yến - 16021243

Hà Nội - 2018
Mục lục
Chương 10: Các chủ đề nâng cao trong Deep Learning 0
10.1: Giới thiệu 3
10.2: Cơ chế attention 5
10.2.1 Mô hình tái phát của chú ý thị giác 7
10.2.1.1 Ứng dụng cho chú thích hình ảnh 9
10.2.2: Các cơ chế attention cho dịch máy: 11
10.3: Mạng nơron với bộ nhớ ngoài: 16
10.3.1: Trò chơi video giả tưởng: Sắp xếp theo ví dụ 17
10.3.1.1: Triển khai hoán đổi với các hoạt động của bộ nhớ:
18
10.3.2: Neural Turing Machines 20
10.3.3: Differentiable Neural Computer: Tổng quan ngắn gọn 26
10.4 Generative Adversarial Networks (GANs) (Mạng sinh đối
kháng) 27
10.4.1 Huấn luyện mạng sinh đối kháng 29
10.4.2 So sánh với bộ mã hóa tự động biến thiên 32
10.4.3 Sử dụng GANs để tạo dữ liệu hình ảnh 33
10.4.4 Mạng sinh đối kháng có điều kiện (Conditional adversarial
generative networks) 35
10.5. Học cạnh tranh 40
10.5.1 Vector Quantization 42
10.5.2 Kohonen Self-Organizing Map 43
10.6 Những hạn chế của mạng Neural 46
10.6.1 Mục tiêu One-Shot Learning 46
10.6.2 Mục tiêu Energy- Efficient Learning 49
10.7 Tóm tắt 50
10.8 Bài tập 51
1​. 51
2​. 52
3​. 54
4​. 54
5​. 59
6​. 59

1
“Thay vì cố gắng tạo ra một chương trình để mô phỏng tâm trí người lớn,
tại sao không thử tạo ra một chương trình mô phỏng một đứa trẻ? Nếu sau đó nó
được học một khóa học phù hợp của giáo dục, người ta sẽ có được bộ não của
người lớn.” Alan Turing trong Computing Machinery and Intelligence

10.1: Giới thiệu


Chương này bao gồm một số chủ đề nâng cao trong Deep Learning, do
mức độ phức tạp nên nó được tách riêng biệt mà không nằm trong trọng tâm của
các chương khác. C​ ác chủ đề được thảo luận trong chương này bao gồm:
1. Mô hình attention(attention models): Con người không chủ động sử dụng
tất cả các thông tin có sẵn cho họ từ môi trường tại bất kỳ thời điểm nào.
Thay vào đó, họ tập trung vào các phần cụ thể của dữ liệu có liên quan đến
nhiệm vụ trong tầm tay. Khái niệm sinh học này được gọi là sự chú ý. Một
nguyên tắc tương tự cũng có thể được áp dụng cho các ứng dụng trí tuệ
thông minh. Các mô hình với sự chú ý sử dụng tăng cường học tập (hoặc
các phương pháp khác) để tập trung vào các phần nhỏ hơn của dữ liệu có
liên quan đến nhiệm vụ trong tầm tay. Các phương pháp như vậy gần đây
đã được tận dụng để cải thiện hiệu suất.
2. Các mô hình có quyền truy cập chọn lọc vào bộ nhớ trong: C ​ ác mô hình
này liên quan chặt chẽ đến các mô hình attention, mặc dù sự khác biệt là
sự chú ý tập trung chủ yếu vào các phần cụ thể của dữ liệu được lưu trữ.
Một sự tương tự hữu ích là để suy nghĩ về cách thức bộ nhớ được truy cập
bởi con người để thực hiện các nhiệm vụ cụ thể. Con người có một kho dữ
liệu khổng lồ trong các tế bào bộ nhớ của bộ não. Tuy nhiên, tại bất kỳ
điểm nào, chỉ một phần nhỏ của nó được truy cập, có liên quan đến nhiệm
vụ được giao. Tương tự như vậy, các máy tính hiện đại có số lượng bộ
nhớ đáng kể, nhưng các chương trình máy tính được thiết kế để truy cập
nó theo cách chọn lọc và kiểm soát với việc sử dụng các biến, đó là các cơ
chế giải quyết gián tiếp. Tất cả các mạng neural đều có bộ nhớ ở dạng
trạng thái ẩn. Tuy nhiên nó được tích hợp chặt chẽ với các tính toán rất
khó để tách riêng việc truy cập dữ liệu khỏi các tính toán. Bằng cách kiểm
soát số lần đọc và ghi vào bộ nhớ trong của mạng nơ-ron một cách có
chọn lọc và giới thiệu khái niệm cơ chế giải quyết một cách rõ ràng hơn,
mạng kết quả thực hiện các tính toán xác định lại phong cách lập trình của

2
con người chặt chẽ hơn. Thường thì các mạng như vậy có sức mạnh tổng
quát tốt hơn so với các mạng thần kinh truyền thống hơn khi thực hiện các
dự đoán trên dữ liệu ngoài mẫu. Người ta cũng có thể xem truy cập bộ nhớ
chọn lọc như áp dụng một hình thức chú ý trong nội bộ vào bộ nhớ của
mạng thần kinh. Kiến trúc kết quả được gọi là một mạng bộ nhớ hoặc máy
neural Turing.
3. Mạng sinh đối kháng(Generative adversarial networks): Mạng sinh đối
kháng được thiết kế để tạo ra các mô hình sinh học của dữ liệu từ các
mẫu. Các mạng này có thể tạo các mẫu tìm kiếm thực tế từ dữ liệu bằng
cách sử dụng hai mạng đối lập. Một mạng lưới tạo ra các mẫu tổng hợp
(generator), và một mẫu khác (discriminator) phân loại hỗn hợp các trường
hợp ban đầu và các mẫu được tạo ra dưới dạng thực hoặc tổng hợp. Một
trò chơi đối lập kết quả trong một máy phát điện được cải thiện theo thời
gian, cho đến khi các phân biệt đối xử không còn có thể phân biệt giữa các
mẫu thực và giả. Hơn nữa, bằng cách điều chỉnh theo một loại ngữ cảnh
cụ thể (ví dụ, chú thích hình ảnh), nó cũng có thể hướng dẫn việc tạo ra
các loại mẫu mong muốn cụ thể.

Các cơ chế attention thường phải đưa ra quyết định khó khăn về các phần
cụ thể của dữ liệu để tham dự. Người ta có thể xem lựa chọn này theo cách
tương tự với các lựa chọn mà thuật toán học tăng cường phải đối mặt. Một số
phương pháp được sử dụng để xây dựng mô hình dựa trên sự chú ý được dựa
trên việc học tăng cường, mặc dù những người khác thì không. Do đó, bạn nên
nghiên cứu các tài liệu trong Chương 9 trước khi đọc chương này. Các máy
neural Turing có liên quan đến một lớp kiến ​trúc liên quan chặt chẽ được gọi là
các mạng bộ nhớ. Gần đây, họ đã thể hiện lời hứa trong việc xây dựng hệ thống
trả lời câu hỏi, mặc dù kết quả vẫn còn khá nguyên thủy. Việc xây dựng một máy
neural Turing có thể được coi là một cửa ngõ vào nhiều khả năng trong trí thông
minh nghệ thuật chưa được thực hiện đầy đủ. Như là phổ biến trong kinh nghiệm
lịch sử với các mạng thần kinh, nhiều dữ liệu và sức mạnh tính toán sẽ đóng vai
trò nổi bật trong việc đưa những lời hứa này vào thực tế. Hầu hết cuốn sách này
thảo luận về các loại mạng chuyển tiếp khác nhau, dựa trên khái niệm thay đổi
trọng số dựa trên các lỗi. Một cách học tập hoàn toàn khác là học tập cạnh tranh,
trong đó các tế bào thần kinh cạnh tranh để có quyền đáp ứng với một tập con
của dữ liệu đầu vào. Trọng số được điều chỉnh dựa trên chiến thắng của cuộc thi
này. Cách tiếp cận này là một biến thể của học tập Hebbian được thảo luận trong
Chương 6, và rất hữu ích cho các ứng dụng học tập không giám sát như phân
cụm, giảm kích thước và nén. Mô hình này cũng sẽ được thảo luận trong chương
này.
Chương này được tổ chức như sau.
Phần tiếp theo thảo luận về các cơ chế attetion trong học sâu(deep
learning). Một số phương pháp này liên quan chặt chẽ đến các mô hình học sâu.

3
Việc tăng cường các mạng nơron với bộ nhớ ngoài được thảo luận trong Phần
10.3. Mạng sinh đối kháng được thảo luận trong Phần 10.4. Các phương pháp
học cạnh tranh được thảo luận trong Phần 10.5. Những hạn chế của mạng nơ-ron
được trình bày trong phần 10.6.A tóm tắt được trình bày trong Phần 10.7.

10.2: Cơ chế attention

Con người hiếm khi sử dụng tất cả các đầu vào cảm giác có sẵn để thực
hiện các nhiệm vụ cụ thể. Hãy xem xét vấn đề của một địa chỉ được xác định bởi
một số nhà đặc biệt trên một con phố. Do đó, một thành phần quan trọng của
nhiệm vụ là xác định số được ghi trên cửa hoặc hộp thư của ngôi nhà. Trong quá
trình này, võng mạc thường có hình ảnh của một cảnh rộng hơn, mặc dù hiếm khi
tập trung vào hình ảnh đầy đủ. Võng mạc có một phần nhỏ, được gọi là macula
với một fovea trung tâm, có độ phân giải cực cao so với phần còn lại của mắt.
Vùng này có nồng độ các hình nón nhạy cảm với màu sắc cao, trong khi hầu hết
các phần không trung tâm của mắt có độ phân giải tương đối thấp với ưu thế của
các thanh không nhạy màu. Các vùng khác nhau của mắt được thể hiện trong
hình 10.1. Khi đọc một số đường phố, các khoảng trống trên số, và hình ảnh của
nó rơi vào một phần của võng mạc tương ứng với điểm vàng (và đặc biệt là vùng
mắt). Mặc dù người ta nhận thức được các vật thể khác bên ngoài tầm nhìn trung
tâm này, hầu như không thể sử dụng hình ảnh trong vùng ngoại vi để thực hiện
các nhiệm vụ định hướng chi tiết. Ví dụ, rất dễ đọc các chữ cái được chiếu trên
các phần ngoại biên của võng mạc. Vùng foveal là một phần nhỏ của võng mạc
đầy đủ, và nó có đường kính chỉ 1,5mm. Mắt phát ra một phiên bản có độ phân
giải thấp dưới 0,5% diện tích bề mặt của hình ảnh rơi trên võng mạc đầy đủ. Cách
tiếp cận này có lợi thế về mặt sinh học, bởi vì chỉ một phần được chọn cẩn thận

4
của hình ảnh được truyền ở độ phân giải cao, và nó làm giảm việc xử lý nội bộ
cần thiết cho nhiệm vụ cụ thể trong tầm tay. Mặc dù cấu trúc của mắt làm cho nó
đặc biệt dễ hiểu khái niệm về sự chú ý chọn lọc đối với các đầu vào trực quan,
tính chọn lọc này không chỉ giới hạn ở các khía cạnh trực quan. Hầu hết các giác
quan khác của con người, chẳng hạn như thính giác hoặc mùi, thường tập trung
cao độ tùy thuộc vào tình hình hiện tại. Tương ứng, chúng tôi sẽ thảo luận về khái
niệm về sự chú ý trong bối cảnh của thị giác máy tính, và sau đó thảo luận về các
lĩnh vực khác như văn bản.
Một ứng dụng thú vị của sự chú ý đến từ những hình ảnh được chụp bởi
Google Streetview, một hệ thống được tạo bởi Google để cho phép truy xuất hình
ảnh dựa trên web của nhiều đường phố ở nhiều quốc gia. Loại thu hồi này đòi hỏi
một cách để kết nối nhà với số đường phố của họ. Mặc dù người ta có thể ghi lại
số phố trong khi chụp ảnh, thông tin này cần phải được chưng cất từ ​hình ảnh.
Với một hình ảnh lớn của phần phía trước của một ngôi nhà, có cách nào để xác
định một cách hệ thống các con số tương ứng với địa chỉ đường phố không? Chìa
khóa ở đây là có thể tập trung một cách có hệ thống vào các phần nhỏ của hình
ảnh để tìm ra thứ bạn đang tìm kiếm. Thách thức chính ở đây là không có cách
nào để xác định phần có liên quan của hình ảnh với thông tin sẵn có ở phía trước.
Do đó, một phương pháp lặp lại là bắt buộc trong việc tìm kiếm các phần đặc biệt
của hình ảnh với việc sử dụng kiến thức thu được từ các lần lặp trước đó. Ở đây,
nó rất hữu ích để rút ra nguồn cảm hứng từ cách sinh vật sinh học hoạt động.
Sinh vật sinh học vẽ tín hiệu trực quan nhanh chóng từ bất kỳ thứ gì mà chúng
đang tập trung vào để xác định vị trí tiếp theo để có được những gì chúng muốn.
Ví dụ, nếu chúng ta tập trung vào núm cửa một cách tình cờ, thì chúng ta biết từ
kinh nghiệm (tức là, các nơ-ron được đào tạo của chúng tôi cho chúng tôi biết)
nhìn lên phía trên bên trái hoặc bên phải để tìm số thứ tự đường phố. Loại quá
trình lặp này nghe giống như các phương pháp học tăng cường được thảo luận
trong chương trước, trong đó một phương pháp lặp lại các tín hiệu từ các bước
trước đó để tìm hiểu phải làm gì để kiếm tiền (tức là, thực hiện một nhiệm vụ như
the nding số đường). Như chúng ta sẽ thấy sau, nhiều ứng dụng chú ý được ghép
nối với việc học tăng cường.
Khái niệm về sự chú ý cũng rất phù hợp với việc xử lý ngôn ngữ tự nhiên,
trong đó thông tin mà chúng ta đang tìm kiếm được ẩn trong một đoạn văn bản
dài. Vấn đề này phát sinh thường xuyên trong các ứng dụng như dịch máy và hệ
thống trả lời câu hỏi, trong đó toàn bộ câu cần phải được mã hóa dưới dạng
vectơ có độ dài bằng mạng thần kinh tái phát (xem Mục 7.7.2 của Chương 7). Kết
quả là, mạng thần kinh tái phát thường không thể tập trung vào các phần thích
hợp của câu nguồn để dịch sang câu đích. Trong những trường hợp như vậy,
thuận lợi để căn chỉnh câu đích với các phần thích hợp của câu nguồn trong khi
dịch. Trong những trường hợp như vậy, các cơ chế chú ý rất hữu ích trong việc cô
lập các phần liên quan của câu nguồn trong khi tạo ra một phần đặc biệt của câu
đích. Đáng chú ý là các cơ chế chú ý không cần phải luôn luôn được đặt trong

5
khuôn khổ học tập tăng cường. Thật vậy, hầu hết các cơ chế chú ý trong các mô
hình ngôn ngữ tự nhiên không sử dụng học tăng cường, nhưng chúng sử dụng
sự chú ý đến trọng lượng các phần đặc biệt của đầu vào một cách mềm mại.

10.2.1 Mô hình tái phát của chú ý thị giác


Công việc trên các mô hình liên tục của sự chú ý thị giác [338] sử dụng
việc học tăng cường để tập trung vào các phần quan trọng của hình ảnh. Ý tưởng
là sử dụng mạng thần kinh (tương đối đơn giản) trong đó chỉ có độ phân giải của
các phần đặc biệt của hình ảnh được đặt ở một vị trí cụ thể cao. Vị trí này có thể
thay đổi theo thời gian, vì bạn có thể tìm hiểu thêm về các phần có liên quan của
hình ảnh để khám phá trong suốt thời gian. Chọn một vị trí cụ thể trong một tem
thời gian cụ thể được gọi là một cái nhìn thoáng qua. Một mạng thần kinh tái phát
được sử dụng như bộ điều khiển để xác định vị trí chính xác trong từng dấu thời
gian; lựa chọn này dựa trên phản hồi từ cái nhìn thoáng qua trong dấu thời gian
trước đó. Công trình trong [338] cho thấy rằng việc sử dụng mạng nơron đơn giản
(gọi là “mạng lưới thoáng nhìn”) để xử lý ảnh cùng với việc đào tạo tăng cường có
thể làm tốt hơn mạng nơ-ron chập chững để phân loại. Chúng tôi xem xét một cài
đặt động trong đó hình ảnh có thể được quan sát một phần và các phần có thể
quan sát có thể thay đổi theo dấu thời gian t. Do đó, cài đặt này khá chung chung,
mặc dù chúng tôi rõ ràng có thể sử dụng cài đặt này cho các cài đặt chuyên biệt
hơn trong đó Xt hình ảnh được xác định đúng lúc. Kiến trúc tổng thể có thể được
mô tả theo cách mô đun bằng cách xử lý các phần đặc biệt của mạng thần kinh
như các hộp đen. Các phần mô đun này được mô tả dưới đây:
1. Cảm biến glimpse: Đưa ra một hình ảnh với biểu diễn Xt, cảm biến glimpse
tạo ra một biểu diễn giống võng mạc của hình ảnh. Cảm biến thoáng qua
được giả định là không có quyền truy cập đầy đủ vào hình ảnh (vì các ràng
buộc về băng thông) và chỉ có thể truy cập một phần nhỏ của hình ảnh ở
độ phân giải cao, được định tâm ở lt − 1. Điều này tương tự như cách mắt
truy cập hình ảnh trong cuộc sống thực. Độ phân giải của một vị trí cụ thể
trong hình ảnh giảm với khoảng cách từ vị trí lt − 1. Biểu diễn giảm của
hình ảnh được biểu thị bằng ρ (Xt, l t − 1). Cảm biến thoáng qua, được
hiển thị ở góc trên bên trái của Hình 10.2, là một phần của một mạng nhìn
thoáng qua. Mạng này được thảo luận dưới đây.

6
2. Mạng lưới glimpse: Mạng lưới glimpse chứa cảm biến cái nhìn thoáng qua
và mã hóa cả vị trí nhìn thoáng qua lt − 1 và biểu diễn cái nhìn thoáng qua
ρ (Xt, l t − 1) vào các không gian ẩn bằng cách sử dụng các lớp tuyến tính.
Sau đó, hai được kết hợp thành một biểu diễn ẩn duy nhất bằng cách sử
dụng một lớp tuyến tính khác. Kết quả đầu ra gt là đầu vào vào dấu thời
gian thứ t của lớp ẩn trong mạng nơron tái diễn. Mạng glimpse được hiển
thị ở góc dưới bên phải của Hình 10.2.
3. Mạng nơron hồi quy: Mạng Neural hồi quy (RNN) là mạng chính tạo ra các
đầu ra hướng hành động trong mỗi dấu thời gian (để nhận phần thưởng).
Mạng Neural hồi quy (RNN) bao gồm mạng glimpse, và do đó nó cũng bao
gồm cả cảm biến glimpse (vì cảm biến glimpse là một phần của mạng
glimpse). Hành động đầu ra này của mạng tại dấu thời gian t được biểu thị
bằng tại và phần thưởng được liên kết với hành động. Trong trường hợp
đơn giản nhất, phần thưởng có thể là nhãn lớp của đối tượng hoặc chữ số
trong ví dụ về Google Streetview. Nó cũng xuất ra một vị trí lt trong hình
ảnh cho con dấu thời gian tiếp theo, mà trên đó mạng nhìn thoáng qua nên
tập trung. Đầu ra π (at) được thực hiện như một xác suất của hành động
tại. Xác suất này được thực hiện với hàm softmax, như là phổ biến trong
các mạng chính sách (xem Hình 9.6 của Chương 9). Việc đào tạo mạng
thường xuyên được thực hiện bằng chức năng mục tiêu của khung
REINFORCE để tối đa hóa phần thưởng mong đợi theo thời gian. Lợi ích
cho mỗi hành động thu được bằng cách nhân log (π (at)) với lợi thế của
hành động đó (xem Mục 9.5.2 của Chương 9). Do đó, cách tiếp cận tổng
thể là phương pháp học tăng cường trong đó các vị trí chú ý và các đầu ra
có thể hành động được học cùng một lúc. Đáng chú ý là lịch sử của các
hành động của mạng hồi quy này được mã hóa trong các trạng thái ẩn ht.
Kiến trúc tổng thể của mạng neural được minh họa ở phía bên tay phải của
Hình 10.2. Lưu ý rằng mạng glimpse được bao gồm như là một phần của

7
kiến ​trúc tổng thể này, bởi vì mạng lặp lại sử dụng một cái nhìn thoáng qua
về hình ảnh (hoặc trạng thái hiện tại của cảnh) để thực hiện các phép tính
trong mỗi time-stamp.
Lưu ý rằng việc sử dụng kiến trúc mạng nơron lặp lại là hữu ích nhưng không cần
thiết trong các ngữ cảnh này.
Học tăng cường
Cách tiếp cận này được đặt trong khuôn khổ tăng cường học tập, cho phép
nó được sử dụng cho bất kỳ loại nhiệm vụ học tập tăng cường thị giác nào (ví dụ:
robot chọn hành động để đạt được mục tiêu cụ thể) thay vì nhận dạng hình ảnh
hoặc phân loại. Tuy nhiên, việc học có giám sát là một trường hợp đặc biệt đơn
giản của cách tiếp cận này. Các hành động tương ứng với việc chọn nhãn lớp với
việc sử dụng dự đoán softmax. Phần thưởng rt trong thời gian thứ t có thể là 1
nếu phân loại là chính xác sau khi tem thời gian của cuộn đó ra và 0, nếu không.
Phần thưởng tổng thể Rt tại tem thời gian thứ t được tính bằng tổng của tất cả
các phần thưởng được chiết khấu so với tem thời gian trong tương lai. Tuy nhiên,
hành động này có thể khác nhau với ứng dụng trong tầm tay. Ví dụ: trong ứng
dụng phụ đề hình ảnh, hành động có thể tương ứng với việc chọn từ tiếp theo của
chú thích. Việc đào tạo thiết lập này diễn ra theo cách tương tự như cách tiếp cận
được thảo luận trong Phần 9.5.2 của Chương 9. Độ dốc của phần thưởng mong
đợi tại time-stamp t được đưa ra bởi những điều sau đây:

Backpropagation(truyền ngược) được thực hiện trong mạng neural bằng


cách sử dụng gradient và các rollout chính sách này. Trong thực tế, người ta sẽ
có nhiều bản phát hành, mỗi bản có nhiều hành động. Do đó, người ta sẽ phải
thêm các gradient đối với tất cả các hành động này (hoặc một minibatch của
những hành động này) để có được hướng đi lên. Như là phổ biến trong các
phương pháp gradient chính sách, một đường cơ sở được trừ từ phần thưởng để
giảm phương sai. Vì nhãn lớp được xuất ở mỗi dấu thời gian, độ chính xác sẽ
được cải thiện khi sử dụng nhiều độ thoáng sáng hơn. Cách tiếp cận hoạt động
khá tốt bằng cách sử dụng từ sáu đến tám cái nhìn thoáng qua về các loại dữ liệu
khác nhau.

10.2.1.1 Ứng dụng cho chú thích hình ảnh


Trong phần này, chúng tôi sẽ thảo luận về ứng dụng của phương pháp tiếp
cận chú ý trực quan (được thảo luận trong phần trước) về vấn đề chú thích hình
ảnh. Vấn đề chú thích hình ảnh được thảo luận trong Phần 7.7.1 của Chương 7.
Trong phương pháp này, một biểu diễn tính năng đơn v của toàn bộ hình ảnh
được nhập vào dấu thời gian đầu tiên của mạng nơron tái diễn. Khi biểu diễn tính
năng của toàn bộ hình ảnh là đầu vào, nó chỉ được cung cấp làm đầu vào tại
time-stamp đầu tiên khi chú thích bắt đầu được tạo. Tuy nhiên, khi sử dụng sự
chú ý, chúng tôi muốn tập trung vào phần hình ảnh tương ứng với từ được tạo.

8
Do đó, nó có ý nghĩa để cung cấp các đầu vào tập trung vào sự tập trung vào các
time-stamp khác nhau. Ví dụ: hãy xem xét hình ảnh có chú thích sau:
“Bird ying during sunset.”
Sự chú ý nên ở vị trí trên hình ảnh tương ứng với cánh chim trong khi tạo
chữ “ying” và sự chú ý nên ở trên mặt trời lặn, trong khi tạo từ “sunset”. Trong
trường hợp này, mỗi time-stamp của Mạng Neural hồi quy (RNN) sẽ nhận được
một đại diện của hình ảnh trong đó sự chú ý là trên một vị trí đặc biệt. Hơn nữa,
như đã thảo luận trong phần trước, giá trị của các vị trí này cũng được tạo ra bởi
mạng lặp lại trong dấu thời gian trước đó.

Lưu ý rằng cách tiếp cận này có thể đã được thực hiện với kiến ​trúc thể
hiện trong Hình 10.2 bằng cách dự đoán một từ của chú thích trong mỗi dấu thời
gian (như hành động) cùng với vị trí lt trong hình ảnh, đó sẽ là trọng tâm của sự
chú ý trong dấu thời gian tiếp theo. Công việc trong [540] là một sự thích nghi của
ý tưởng này, nhưng nó sử dụng một số điều chỉnh để xử lý độ phức tạp cao hơn
của vấn đề. Đầu tiên, mạng glimpse sử dụng kiến ​trúc tích chập phức tạp hơn để
tạo bản đồ 14 × 14. Kiến trúc này được minh họa trong hình 10.3. Thay vì sử
dụng một cảm biến thoáng qua để tạo ra phiên bản hình ảnh đã được sửa đổi
trong từng time-stamp, công việc trong [540] bắt đầu với các biến thể đã được xử
lý trước được di chuyển trên hình ảnh. Các biến thể được xử lý trước này tập
trung tại các vị trí khác nhau trong hình ảnh và do đó cơ chế chú ý bị hạn chế để
chọn từ một trong các vị trí này. Sau đó, thay vì tạo một vị trí lt trong time-stamp
thứ (t − 1), nó tạo ra một vector xác suất αt chiều dài L cho thấy sự liên quan của
mỗi vị trí L mà các đại diện đã được xử lý trước trong mạng nơ-ron xoắn. Trong
các mô hình chú ý khó khăn, một trong các vị trí L được lấy mẫu bằng cách sử
dụng vector xác suất αt và đại diện được xử lý trước của vị trí đó được cung cấp
dưới dạng đầu vào vào trạng thái ẩn ht của mạng lặp lại tại time-stamp tiếp theo.
Nói cách khác, mạng glimpse trong ứng dụng phân loại được thay thế bằng cơ
chế lấy mẫu này. Trong các mô hình soft-attention, các mô hình đại diện của tất
cả các vị trí L được tính trung bình bằng cách sử dụng vector xác suất αt làm
trọng số. Biểu diễn trung bình này được cung cấp làm đầu vào cho trạng thái ẩn

9
tại time-stamp t. Đối với các mô hình soft-attetion, backpropagation(truyền ngược)
đơn giản được sử dụng để đào tạo, trong khi đối với các mô hình hard-attention,
thuật toán REINFORCE (xem Mục 9.5.2 của Chương 9) được sử dụng. Người
đọc được gọi [540] để biết chi tiết, nơi cả hai loại phương pháp này được thảo
luận.

10.2.2: Các cơ chế attention cho dịch máy:


Như đã thảo luận trong phần 7.7.2 của chương 7, ​các mạng nơron hồi quy
(và cụ thể là việc triển khai bộ nhớ dài-ngắn hạn (LSTM) của chúng được sử dụng
thường xuyên cho dịch máy. Trong phần dưới đây, chúng tôi sử dụng các ký hiệu
tổng quát tương ứng với bất kỳ loại mạng nơron hồi quy nào, mặc dù LSTM hầu
như luôn là phương pháp được lựa chọn trong các thiết lập này. Để đơn giản,
chúng tôi sử dụng mạng đơn lớp trong phần trình bày của chúng tôi (cũng như tất
cả các số liệu minh họa của kiến ​trúc nơron). Trong thực tế, nhiều lớp được sử
dụng, và nó tương đối dễ dàng khái quát các cuộc thảo luận đơn giản hóa cho
các trường hợp nhiều lớp. Có một số cách mà trong đó, attention có thể được kết
hợp trong bản dịch máy noron. Ở đây, chúng ta tập trung vào 1 phương thức
được đề xuất trong Luong et al [302], 1 cải tiến so với cơ chế ban đầu được đề
xuất trong Bahdanau et al. [18].

Chúng ta bắt đầu với kiến ​trúc được thảo luận trong Phần 7.7.2 của
Chương 7. Để dễ dàng thảo luận, chúng ta tái tạo kiến ​trúc nơron của phần đó
trong Hình 10.4 (a). Lưu ý rằng có hai mạng nơron hồi quy, trong đó một mạng
được giao nhiệm vụ với việc mã hóa câu nguồn thành một biểu diễn độ dài cố
định, và cái kia được giao nhiệm vụ giải mã biểu diễn này thành một câu đích. Do
đó, đây là một trường hợp đơn giản của việc học chuỗi theo trình tự, được sử
dụng để dịch máy nơron. Trạng thái ẩn của mạng nguồn và đích được biểu thị
bằng h(1)
t
và h(2)
t
, tương ứng, trong đó h(1)
t
tương ứng với trạng thái ẩn của từ thứ
t trong câu nguồn, và h(2)
t
tương ứng với trạng thái ẩn của từ thứ t trong câu mục
tiêu. Các ký hiệu này được mượn từ Mục 7.7.2 của Chương 7
Trong các phương thức dựa trên attention, các trạng thái ẩn h(2)
t
được
chuyển thành trạng thái nâng cao H (2)
t
với một số xử lý bổ sung từ một lớp
attention. Mục tiêu của lớp attention là kết hợp bối cảnh từ trạng thái ẩn nguồn
vào trạng thái ẩn mục tiêu để tạo ra một tập hợp mới và nâng cao các trạng thái
ẩn mục tiêu.
Để thực hiện xử lý dựa trên attention, mục tiêu là tìm một đại diện nguồn
gần với trạng thái ẩn mục tiêu hiện tại h(2)
t
đang được xử lý. Điều này đạt được
bằng cách sử dụng trung bình các vector nguồn có trọng số tương tự để tạo ra
một vector ngữ cảnh ct :

10
(10.2)
Ở đây, T s là độ dài của câu nguồn. Cách tạo vector ngữ cảnh đặc biệt này
là một cách đơn giản nhất trong số tất cả các phiên bản khác nhau được thảo
luận trong [18, 302]; tuy nhiên, có một số lựa chọn thay thế khác, một số trong số
đó được tham số hóa. Một cách để xem trọng số này là với khái niệm của một
biến attention a (t, s) , cho biết tầm quan trọng của từ nguồn s để nhắm mục tiêu
từ t:

(10.3)
Chúng tôi đề cập đến vector [ a (t, 1) , a (t, 2) , ..., a (t, T s ) ] như attention
vector at , và nó đặc trưng cho từ mục tiêu t. Vector này có thể được xem như là
một tập hợp các trọng số xác suất tổng cộng là 1, và chiều dài của nó phụ thuộc
vào chiều dài câu nguồn T s . Không khó để thấy rằng phương trình 10.2 được tạo
ra như một tổng trọng số attention của các vector ẩn nguồn, trong đó trọng số
attention của từ mục tiêu t đối với từ nguồn là a(t, s). Nói cách khác, phương trình
10.2 có thể được ghi lại như sau:

(10.4)
Về bản chất, cách tiếp cận này xác định một đại diện theo ngữ cảnh của
các trạng thái ẩn nguồn, có liên quan nhất đến trạng thái ẩn mục tiêu hiện tại đang
được xem xét. Mức độ liên quan được xác định bằng cách sử dụng điểm tương
đồng giữa sản phẩm và trạng thái ẩn mục tiêu, và được bắt lại trong attention
vector. Do đó, chúng ta tạo một trạng thái ẩn mục tiêu mới H (2)
t
kết hợp thông tin
trong ngữ cảnh và trạng thái ẩn đích ban đầu như sau:

(10.5)
(2)
Một khi biểu diễn ẩn mới H t
được tạo, nó được sử dụng thay cho biểu
diễn ẩn ban đầu h (2)
t
cho dự đoán cuối cùng. Kiến trúc tổng thể biểu diễn của hệ

11
thống được đưa ra trong Hình 10.4 (b). Lưu ý các cải tiến từ Hình 10.4 (a) với việc
bổ sung một cơ chế attention. Mô hình này được gọi là mô hình global attention
trong [302]. Mô hình này là soft attention model, bởi vì mô hình là trọng số tất cả
các từ nguồn có trọng số xác suất, và các đánh giá khó không được thực hiện về
từ nào là từ phù hợp nhất với từ đích. Tác phẩm gốc trong [302] thảo luận về một
mô hình địa phương khác, điều này đưa ra những đánh giá khó về sự liên quan
của các từ mục tiêu. Người đọc chuyển đến [302] để biết chi tiết về mô hình này.

Refinement:
Một số cải tiến có thể cải thiện mô hình attention cơ bản. Đầu tiên, attention
(1)
vector at được tính bằng cách lũy thừa các sản phẩm dấu chấm thô giữa h t và
(2)
h s , như được biểu diễn trong phương trình 10.3. Các sản phẩm chấm này cũng
được gọi là điểm số. Trong thực tế, không có lý do gì mà các vị trí tương tự trong
các câu nguồn và đích đều có trạng thái ẩn tương tự nhau. Trong thực tế, các
nguồn và các mạng hồi quy mục tiêu thậm chí không cần phải sử dụng các biểu
diễn ẩn của cùng một chiều (mặc dù điều này thường được thực hiện trong thực
tế). Tuy nhiên, nó đã được thể hiện trong [302] rằng điểm dựa trên điểm tương
đồng có xu hướng làm rất tốt trong các mô hình attention toàn cục, và là lựa chọn
tốt nhất so với các giải pháp thay thế được tham số hóa. Có thể là hiệu suất tốt
của phương pháp đơn giản này là kết quả của hiệu ứng thường xuyên của nó
trên mô hình. Các lựa chọn thay thế được tham số để tính toán sự giống nhau
hoạt động tốt hơn trong các mô hình địa phương, không được thảo luận chi tiết ở
đây.
Hầu hết các mô hình thay thế này để tính toán các tham số sử dụng tương
tự để điều chỉnh tính toán, cung cấp một số tính linh hoạt bổ sung liên quan đến vị
trí nguồn và đích. Các tùy chọn khác nhau để tính toán điểm số như sau:

(10.6)
(1): Dot Product
(2): General: Ma trận tham số W a
(3): Concat: Ma trận tham số W a và vectơ v a

Đầu tiên trong số các tùy chọn này giống hệt với tùy chọn được thảo luận
trong phần trước theo Công thức 10.3. Hai mô hình còn lại được gọi là tổng quát

12
và tương ứng, như được chú thích ở trên. Cả hai tùy chọn này được tham số hóa
với việc sử dụng các vectơ trọng số và các tham số tương ứng cũng được chú
thích ở trên. Sau khi các điểm tương đồng đã được tính toán, các giá trị attention
có thể được tính toán theo cách tương tự với trường hợp của điểm tương đồng
về sản phẩm:

(10.7)
Các giá trị attention này được sử dụng theo cách tương tự như trong
trường hợp tương tự sản phẩm chấm. Các tham số ma trận W a và v a cần được
học trong quá trình đào tạo. Mô hình concat đã được đề xuất trong công việc
trước đó [18], trong khi mô hình chung dường như làm tốt trong trường hợp chú ý
khó.

(a) Dịch máy mà không cần attention

13
(b) Dịch máy kèm attention
Hình 10.4: Kiến trúc nơron trong (a) giống với kiến ​trúc minh họa trong hình 7.10
của chương 7. Một lớp attention bổ sung đã được thêm vào (b).

Có một số khác biệt của mô hình này [302] từ một mô hình trước đó được
trình bày trong Bahdanau et al. [18]. Chúng tôi đã chọn mô hình này vì nó đơn
giản hơn và nó minh họa các khái niệm cơ bản một cách đơn giản. Hơn nữa, nó
cũng có vẻ cung cấp hiệu suất tốt hơn theo kết quả thử nghiệm được trình bày
trong [302]. Ngoài ra còn có một số khác biệt trong việc lựa chọn kiến ​trúc mạng
nơron. Công việc ở Luong et al. đã sử dụng Mạng Neural hồi quy (RNN) theo định
hướng auni, trong khi đó ở Bahdanau et al. nhấn mạnh việc sử dụng Mạng Neural
hồi quy (RNN) hai chiều.

Không giống như ứng dụng phụ đề hình ảnh của phần trước, phương pháp
dịch máy là một soft attention model. Cài đặt hard attention dường như được thiết
kế vốn để học tăng cường, trong khi cài đặt soft attention là có thể phân biệt được
và có thể được sử dụng với lan truyền ngược. Công việc trong [302] cũng đề xuất
một cơ chế local attention, trong đó tập trung vào một cửa sổ nhỏ của bối cảnh.
Cách tiếp cận như vậy chia sẻ một số điểm tương đồng với một cơ chế cứng cho
attention (như tập trung vào một vùng nhỏ của một hình ảnh như được thảo luận
trong phần trước). Tuy nhiên, nó không hoàn toàn là một cách tiếp cận khó khăn
bởi vì một tập trung vào một phần nhỏ hơn của câu bằng cách sử dụng trọng số
quan trọng được tạo ra bởi cơ chế attention. Cách tiếp cận như vậy có thể thực
hiện cơ chế địa phương mà không phải gánh chịu các thách thức đào tạo về tăng
cường học tập.

14
10.3:​​ ​Mạng nơron với bộ nhớ ngoài:
Trong những năm gần đây, một số kiến ​trúc có liên quan đã được đề xuất
làm tăng thêm mạng nơron với bộ nhớ liên tục trong đó khái niệm về bộ nhớ được
tách biệt rõ ràng với tính toán, và người ta có thể kiểm soát cách thức tính toán
truy cập và sửa đổi các vị trí bộ nhớ cụ thể. LSTM có thể được coi là có bộ nhớ
liên tục, mặc dù nó không tách biệt rõ ràng bộ nhớ khỏi các tính toán. Điều này là
do các tính toán trong mạng nơron được tích hợp chặt chẽ với các giá trị trong
các trạng thái ẩn, phục vụ vai trò lưu trữ các kết quả trung gian của các phép tính.
Máy Neural Turing là các mạng nơron có bộ nhớ ngoài. Mạng nơron cơ sở có thể
đọc hoặc ghi vào bộ nhớ ngoài và do đó đóng vai trò của bộ điều khiển trong việc
hướng dẫn tính toán. Ngoại trừ LSTM, hầu hết các mạng nơron không có khái
niệm về bộ nhớ liên tục trong các khoảng thời gian dài. Trong thực tế, các khái
niệm về tính toán và bộ nhớ không được tách biệt rõ ràng trong các mạng nơron
truyền thống (bao gồm LSTM). Khả năng thao tác bộ nhớ liên tục, khi kết hợp với
sự tách biệt rõ ràng bộ nhớ khỏi tính toán, dẫn đến một máy tính có thể lập trình
có thể mô phỏng các thuật toán từ các ví dụ về đầu vào và đầu ra. Nguyên tắc
này đã dẫn đến một số kiến ​trúc liên quan như máy Nơron Turing [158], các máy
tính nơron khác nhau [159], và mạng nhớ [528].
Tại sao nó hữu ích để học hỏi từ các ví dụ về đầu vào và đầu ra? Hầu như
tất cả AI có mục đích chung đều dựa trên giả định có thể mô phỏng hành vi sinh
học, trong đó chúng ta chỉ có ví dụ về đầu vào (ví dụ, đầu vào cảm giác) và đầu ra
(ví dụ: hành động), không có định nghĩa rõ ràng về thuật toán / hàm thực sự được
tính toán bởi tập hợp các hành vi đó. Để hiểu được khó khăn trong học tập từ ví
dụ, trước tiên chúng ta sẽ bắt đầu với một ví dụ về một ứng dụng phân loại. Mặc
dù các định nghĩa và thuật toán để sắp xếp đều nổi tiếng và được xác định rõ
ràng, chúng tôi khám phá một cài đặt tưởng tượng mà trong đó chúng tôi không
có quyền truy cập vào các định nghĩa và thuật toán này. Nói cách khác, thuật toán
bắt đầu với một thiết lập trong đó nó không có ý tưởng về phân loại trông như thế
nào. Nó chỉ có các ví dụ về đầu vào và đầu ra được sắp xếp của chúng.

15
(a) Màn hình đầu ra

(b) Chính sách mạng

Hình 10.5: Màn hình đầu ra và chính sách mạng cho việc học trò chơi phân loại
ảo

10.3.1: ​Trò chơi video giả tưởng: Sắp xếp theo ví dụ


Mặc dù đây là một vấn đề đơn giản để sắp xếp một tập hợp các số sử
dụng bất kỳ thuật toán phân loại đã biết nào (ví dụ: quicksort), vấn đề trở nên khó
khăn hơn nếu chúng ta không nói rằng hàm của thuật toán là sắp xếp các số.
Thay vào đó, chúng tôi chỉ đưa ra ví dụ về các cặp đầu vào và đầu ra được sắp
xếp và chúng tôi phải tự động tìm hiểu các chuỗi hành động cho bất kỳ đầu vào cụ
thể nào để đầu ra phản ánh những gì chúng tôi đã học được từ các ví dụ. Do đó,
mục tiêu là tìm hiểu cách sắp xếp theo ví dụ bằng cách sử dụng một tập hợp cụ
thể các hành động được xác định trước. Đây là chế độ xem tổng quát về học máy
mà đầu vào và đầu ra của chúng tôi có thể ở hầu hết mọi định dạng (ví dụ: pixel,
âm thanh) và mục tiêu là tìm hiểu cách chuyển đổi từ đầu vào sang đầu ra theo
chuỗi hành động. Những hành động này là các bước cơ bản mà chúng tôi được
phép thực hiện trong thuật toán của chúng tôi. Chúng ta có thể thấy rằng cách tiếp
cận hướng hành động này liên quan chặt chẽ đến các phương pháp học tăng
cường được thảo luận trong Chương 9.
Để đơn giản, hãy xem xét trường hợp chúng ta chỉ muốn sắp xếp các
chuỗi gồm bốn số và do đó chúng tôi có bốn vị trí trên “màn hình trò chơi video”
của chúng tôi chứa trạng thái hiện tại của chuỗi số ban đầu. Màn hình của trò chơi
video ảo được thể hiện trong hình 10.5 (a). Có 6 hành động có thể có mà trình
phát trò chơi video có thể thực hiện và mỗi hành động có dạng SWAP (i, j), hoán
đổi nội dung của các vị trí i và j. Vì có bốn giá trị có thể có của mỗi i và j, tổng số
hành động có thể được đưa ra bởi ( 42 ) = 6. Mục tiêu của trò chơi điện tử là sắp
xếp các số bằng cách sử dụng càng ít hoán đổi càng tốt. Chúng tôi muốn xây

16
dựng một thuật toán để chơi trò chơi video này bằng cách chọn hoán đổi một
cách thận trọng. Hơn nữa, thuật toán học máy không phải là hạt giống với kiến
thức rằng đầu ra được sắp xếp, và nó chỉ có ví dụ về đầu vào và đầu ra để xây
dựng một mô hình (lý tưởng) học một chính sách để chuyển đổi đầu vào thành
các phiên bản đã sắp xếp của chúng . Hơn nữa, trình phát trò chơi video không
được hiển thị các cặp đầu vào-đầu ra mà chỉ được khuyến khích với phần thưởng
khi chúng tạo ra “các giao dịch hoán đổi tốt” tiến tới một loại thích hợp.
Cài đặt này gần như giống với cài đặt trò chơi video Atari được thảo luận
trong Chương 9. Ví dụ, chúng ta có thể sử dụng mạng chính sách trong đó chuỗi
bốn số hiện tại làm đầu vào cho mạng nơron và đầu ra là xác suất của mỗi 6 hành
động có thể. Kiến trúc này được thể hiện trong hình 10.5 (b). Đó là hướng dẫn để
so sánh kiến ​trúc này với mạng chính sách trong Hình 9.6 của Chương 9. Lợi thế
cho mỗi hành động có thể được mô hình hóa theo nhiều cách tự học. Ví dụ, một
cách tiếp cận naive sẽ là đưa ra chính sách cho T hoán đổi di chuyển và đặt phần
thưởng là +1, nếu chúng ta có thể có được kết quả chính xác trước đó, và đến
−1, ngược lại. Sử dụng các giá trị nhỏ hơn của T sẽ có xu hướng ưu tiên tốc độ
chính xác hơn. Người ta cũng có thể xác định các chức năng phần thưởng tinh tế
hơn trong đó phần thưởng cho một chuỗi các chuyển động được xác định bởi
mức độ gần gũi hơn của một phần tử được nhận ra.
Xem xét một tình huống trong đó xác suất của hành động a = SWAP(i, j) là
π(a) (như đầu ra bởi hàm softmax của mạng nơron) và lợi thế là F(a). Sau đó,
trong các phương thức policy gradient, chúng ta thiết lập một hàm mục tiêu J a ,
đó là lợi thế mong đợi của hành động a. Như đã thảo luận trong Phần 9.5 của
Chương 9, gradient của lợi thế này đối với các tham số của mạng chính sách
được đưa ra bởi những điều sau đây:
▽J a = 𝐹 (a) . ▽log(π(a)) (10.8)
Gradient này được thêm lên trên một loạt các hành động từ các bản giới thiệu
khác nhau và được sử dụng để cập nhật trọng số của mạng nơron. Ở đây, thật
thú vị khi lưu ý rằng việc học tăng cường giúp chúng ta thực hiện chính sách cho
một thuật toán học từ các ví dụ.

​10.3.1.1: Triển khai hoán đổi với các hoạt động của bộ nhớ:
Trò chơi video trên cũng có thể được thực hiện bởi một mạng nơron trong
đó các hoạt động được phép là đọc/ghi bộ nhớ và chúng tôi muốn sắp xếp chuỗi
trong ít bộ nhớ đọc/ghi nhất có thể. Ví dụ, một giải pháp sáng giá cho vấn đề này
sẽ là một trong đó trạng thái của chuỗi được duy trì trong một bộ nhớ ngoài với
không gian bổ sung để lưu trữ các biến tạm thời cho các hoán đổi. Như được
thảo luận dưới đây, các hoán đổi có thể được thực hiện dễ dàng với bộ nhớ đọc /
ghi. Một mạng nơron hồi quy có thể được sử dụng để sao chép các trạng thái từ
một dấu thời gian sang một dấu thời gian tiếp theo. Hoạt động SWAP (i, j) có thể
được thực hiện bằng cách đọc các vị trí i và j đầu tiên từ bộ nhớ và lưu chúng
trong các thanh ghi tạm thời. Việc đăng ký cho i sau đó có thể được ghi vào vị trí
17
của j trong bộ nhớ, và cho j có thể được ghi vào vị trí cho i. Do đó, một chuỗi bộ
nhớ đọc-ghi có thể được sử dụng để thực hiện các giao dịch hoán đổi. Nói cách
khác, chúng ta cũng có thể thực hiện một chính sách để sắp xếp bằng cách huấn
luyện một mạng “hồi quy” của bộ điều khiển quyết định vị trí bộ nhớ cần đọc và
ghi vào. Tuy nhiên, nếu chúng ta tạo ra một kiến ​trúc tổng quát với các hoạt động
dựa trên bộ nhớ, bộ điều khiển có thể học một chính sách hiệu quả hơn là thực
hiện các hoán đổi. Ở đây, điều quan trọng là phải hiểu rằng hữu ích khi có một số
hình thức bộ nhớ liên tục lưu trữ trạng thái hiện tại của chuỗi được sắp xếp. Các
trạng thái của mạng nơron, bao gồm mạng nơron hồi quy (vanilla), đơn giản là
quá tạm thời để lưu trữ loại thông tin này.
Tính khả dụng bộ nhớ lớn hơn làm tăng sức mạnh và sự tinh tế của kiến
​trúc. Với sự sẵn có bộ nhớ nhỏ hơn, mạng chính sách có thể chỉ học một thuật
toán O(n2 ) đơn giản bằng cách sử dụng các hoán đổi. Mặt khác, với sự sẵn có bộ
nhớ lớn hơn, mạng chính sách sẽ có thể sử dụng bộ nhớ đọc và ghi để tổng hợp
một phạm vi hoạt động rộng hơn, và nó có thể học một thuật toán phân loại nhanh
hơn nhiều. Sau khi tất cả, một chức năng khen thưởng mà tín dụng một chính
sách cho việc sắp xếp chính xác trong T di chuyển sẽ có xu hướng ủng hộ chính
sách với ít di chuyển.

Hình 10.6: Máy Turing nơron

18
10.3.2: Neural Turing Machines
Điểm yếu của các mạng neural được công nhận từ lâu là chúng không thể
phân biệt rõ ràng các biến nội bộ (tức là trạng thái ẩn) từ các tính toán xảy ra bên
trong mạng làm việc, khiến cho các trạng thái chỉ là nhất thời (không giống như bộ
nhớ sinh học hoặc bộ nhớ máy tính).Trong một mạng neural chúng ta có một bộ
nhớ ngoài và khả năng đọc và ghi vào các vị trí khác nhau theo cách được kiểm
soát rất chặt chẽ và cung cấp một đường dẫn đến các lớp mô hình hóa chung của
các thuật toán có thể được thực hiện trên các máy tính hiện đại. Cấu trúc như vậy
được nhắc đến như là một Neural Turing Machine hoặc một ​differentiable neural
computer . Nó được gọi là một ​differentiable neural computer​, bởi vì nó học cách
mô phỏng các thuật toán (tạo ra chuỗi rời rạc các bước) với việc sử dụng tối ưu
hóa liên tục. Tối ưu hóa liên tục có lợi thế là khả vi , và do đó người ta có thể sử
dụng back-propagation (sự lan truyền ngược) để tìm hiểu các bước tối ưu thuật
toán ở input
Đáng chú ý là các mạng neural truyền thống cũng có bộ nhớ về mặt trạng
thái ẩn, và trong trường hợp cụ thể của LSTMs, một số trạng thái ẩn được thiết kế
ổn định. Tuy nhiên, Neural Turing Machine phân biệt rõ ràng giữa bên ngoài bộ
nhớ và trạng thái ẩn bên trong mạng neural. Các trạng thái ẩn trong mạng neural
có thể được xem theo cách tương tự với các thanh ghi CPU được sử dụng cho
tính toán tạm thời, trong khi bộ nhớ ngoài được sử dụng để tính toán liên tục. Bộ
nhớ ngoài cung cấp Neural Turing Machine để thực hiện tính toán theo cách
tương tự với cách các lập trình viên thao tác dữ liệu trên các máy tính hiện đại.
Đặc tính này thường cung cấp cho Neural Turing Machine khả năng tổng quát tốt
hơn nhiều trong quá trình học tập, như so với các mô hình tương tự như LSTMs.
Cách tiếp cận này cũng cung cấp một đường dẫn đến cấu trúc dữ liệu liên tục đã
được tách biệt tốt với tính toán neural. Không khả thi để phân tách rõ ràng các
biến chương trình từ các hoạt động tính toán từ lâu được công nhận là một trong
những điểm yếu chính của mạng neural truyền thống.
Cấu trúc rộng của Neural Turing Machine được thể hiện trong hình ​10.6 .
Tại trung tâm của Neural Turing Machine là một bộ điều khiển, được thực hiện
bằng cách sử dụng một số hình thức của mạng neural hồi quy (mặc dù có thể có
các lựa chọn thay thế khác). Các tái phát cấu trúc là hữu ích để thực hiện trạng
thái từ một bước đến bước tiếp theo, như Neural Turing Machine thực hiện bất kỳ
thuật toán hoặc chính sách cụ thể nào. Ví dụ: trong trò chơi sắp xếp, trạng thái
hiện tại của chuỗi số được chuyển từ một bước đến bước tiếp theo. Trong mỗi
bước thời gian, nó nhận đầu vào từ môi trường và ghi kết quả đầu ra môi trường.
Hơn nữa, nó có một bộ nhớ ngoài mà nó có thể đọc và ghi với việc sử dụng đọc
và ghi đứng đầu. Bộ nhớ được cấu trúc như một ma trận N × m trong đó có N ô
nhớ, mỗi ô có chiều dài m . Tại thời điểm thứ t , vector m ở hàng thứ i của bộ nhớ
được ký hiệu là M t (i). Đầu ra một trọng số đặc biệt wt(i) ∈ (0, 1) kết hợp với mỗi

19
vị trí i tại time-stamp t kiểm soát mức độ đọc và ghi cho từng vị trí đầu ra. Nói cách
khác, nếu đầu đọc đọc kết quả đầu ra là 0 . 1, sau đó nó giải thích bất cứ điều gì
đọc từ vị trí bộ nhớ thứ i sau khi mở rộng nó bằng 0 . 1 và thêm các lượt đọc có
trọng số lên các giá trị khác nhau của i . Trọng lượng của đầu ghi cũng được xác
định theo cách tương tự cho ghi và các chi tiết khác được đưa ra sau. Lưu ý rằng
trọng số sử dụng dấu thời gian t là một chỉ số; do đó một tập hợp trọng lượng
riêng được phát ra tại mỗi dấu thời gian t . Trong đầu của chúng tôi ví dụ về hoán
đổi, trọng số này giống như xác suất softmax của một hoán đổi trong video sắp
xếp trò chơi, để một hành động rời rạc được chuyển đổi thành giá trị mềm và có
thể phân biệt được. Tuy nhiên, một sự khác biệt là Neural Turing Machine không
được xác định ngẫu nhiên như chính sách mạng của phần trước. Nói cách khác,
chúng tôi không sử dụng trọng lượng w t ( i ) để lấy mẫu tế bào bộ nhớ ngẫu
nhiên; thay vào đó, nó xác định số lượng chúng ta đọc hoặc xóa nội dung của ô
đó. Đôi khi hữu ích khi xem mỗi bản cập nhật là số tiền dự kiến ​mà theo đó chính
sách ngẫu nhiên sẽ đọc hoặc cập nhật nó. Trong phần sau, chúng tôi cung cấp
chính thức hơn sự miêu tả.
Nếu trọng lượng w t (i) đã được xác định, thì m vector chiều tại địa điểm tôi
có thể được đọc như là một sự kết hợp trọng số của các vectơ ở các vị trí bộ nhớ
khác nhau:

Trọng số ​w t​ ( ​i ) được xác định theo cách mà chúng tổng hợp thành 1 trên
tất cả các vectơ bộ nhớ N (​ như xác suất):

Bài ghi dựa trên nguyên tắc thực hiện thay đổi bằng cách xóa một phần
của bộ nhớ và sau đó thêm vào nó. Vì vậy, trong thời điểm thứ i, đầu ghi phát ra
một trọng số vectơ ​w t​ ( ​i ) cùng với ​độ dài m ​và thêm vectơ ​e t​ và ​t , tương ứng.
Sau đó, bản cập nhật cho một ô được cho bởi một sự kết hợp của một xóa và một
bổ sung. Đầu tiên hoạt động xóa được thực hiện:

Ở đây, ⊙
​ biểu tượng chỉ ra nhân elementwise trên kích thước ​m thứ ​i ​hàng
của ma trận bộ nhớ. Mỗi phần tử trong vector xóa ​e ​t được rút ra từ ​(0, 1). Các ​m
chiều xóa vector cho phép kiểm soát hạt mịn đến sự lựa chọn của các yếu tố từ ​m
hàng chiều có thể được xoá hoàn toàn. Nó cũng có thể có nhiều đầu ghi, và thứ
20
tự mà nhân được thực hiện bằng cách sử dụng các đầu khác nhau không quan
trọng bởi vì phép nhân là cả giao hoán và kết hợp. Sau đó, bổ sung có thể đã
thực hiện:

Nếu có nhiều đầu ghi, thì thứ tự của các thao tác bổ sung không vấn đề.
Tuy nhiên, tất cả các lần xóa phải được thực hiện trước tất cả các bổ sung để
đảm bảo kết quả nhất quán không phân biệt thứ tự bổ sung.
Lưu ý rằng những thay đổi đối với tế bào cực kỳ nhẹ nhàng nhờ vào thực
tế là trọng số tổng 1. Một có thể xem các cập nhật ở trên như có một hiệu ứng
tương tự trực quan như stochastically chọn một trong ​N hàng của bộ nhớ (với xác
suất ​w t​ ( ​i )) và sau đó lấy mẫu các yếu tố riêng lẻ (với xác suất ​e t​ ) để thay đổi
chúng. Tuy nhiên, những cập nhật như vậy không thể phân biệt được (trừ khi một
người chọn tham số hóa chúng bằng cách sử dụng các thủ thuật chính sách
gradient từ tăng cường học tập). Ở đây, chúng tôi giải quyết một bản cập nhật
mềm, nơi tất cả các ô được thay đổi một chút, để sự khác biệt của các bản cập
nhật được giữ lại. Hơn nữa, nếu có nhiều đầu ghi, nó sẽ dẫn đến các bản cập
nhật tích cực hơn. Người ta cũng có thể xem những trọng số này theo cách tương
tự như cách thông tin được trao đổi có chọn lọc giữa các trạng thái ẩn và trạng
thái bộ nhớ trong một LSTM với việc sử dụng các hàm sigmoid để điều chỉnh số
lượng đọc hoặc ghi vào từng vị trí bộ nhớ dài hạn (xem Chương 7​ )
Trọng số làm cơ chế giải quyết
Các trọng số có thể được xem theo cách tương tự như cách các cơ chế
giải quyết hoạt động. Dành cho ví dụ, người ta có thể đã chọn để lấy mẫu hàng
thứ ​i của ma trận bộ nhớ với xác suất ​w t​ ( ​i ) để đọc hoặc ghi nó, đó là một cơ chế
cứng . Cơ chế giải quyết mềm của Neural Turing Machine có phần khác biệt ở
chỗ chúng ta đang đọc và ghi cho tất cả tế bào, nhưng thay đổi chúng bằng một
lượng nhỏ. Cho đến nay, chúng tôi đã không thảo luận về ​cách địa chỉ này cơ chế
thiết lập ​w ​t ( ​i ) hoạt động. Việc giải quyết có thể được thực hiện theo nội dung
hoặc bởi vị trí.
Trong trường hợp giải quyết theo nội dung, một vector ​v t​ ​m length-, đó là
vector trọng điểm, là được sử dụng cho các vị trí trọng lượng dựa trên điểm
tương đồng của sản phẩm với ​v ​t . Một mech- mũ chủ nghĩa an toàn được sử
dụng để điều chỉnh tầm quan trọng của điểm tương đồng về sản phẩm trong trọng
số:

21
Lưu ý rằng chúng tôi đã thêm một siêu văn bản ro ​w ​c​t ( ​i ) để chỉ ra rằng
đó là một nội dung hoàn toàn tập trun​g ​cơ chế trọng số. Linh hoạt hơn thu
được bằng cách sử dụng tham số nhiệt độ trong các số mũ để điều chỉnh mức độ
sắc nét của địa chỉ. Ví dụ, nếu chúng ta sử dụng tham số nhiệt độ ​β ​t , trọng số có
thể được tính như sau:

Tăng β t làm cho phương pháp này giống như khó giải quyết, đồng thời
giảm β t là như mềm giải quyết. Nếu một người chỉ muốn sử dụng địa chỉ dựa trên
địa chỉ, thì người ta có thể sử dụng w t ( i ) = w c t ( i ) để giải quyết. Lưu ý rằng
địa chỉ dựa trên nội dung thuần túy gần giống như truy cập ngẫu nhiên. Ví dụ, nếu
nội dung của một vị trí bộ nhớ M t ( i ) bao gồm vị trí của nó, thì một khóa- dựa
trên truy xuất giống như truy cập ngẫu nhiên mềm của bộ nhớ. Một phương pháp
thứ hai của địa chỉ là bằng cách sử dụng địa chỉ tuần tự liên quan đến vị trí trong
dấu thời gian trước đó. Cách tiếp cận này được gọi là quảng cáo dựa trên vị trí-
Cách ăn mặc. Trong địa chỉ dựa trên địa chỉ, giá trị của trọng lượng nội dung w c t
( i ) trong dòng điện lặp lại, và các trọng số cuối cùng w t− 1 ( i ) trong lần lặp
trước được sử dụng làm điểm bắt đầu. Đầu tiên, nội suy kết hợp một mức truy
cập ngẫu nhiên một phần vào vị trí được truy cập trong lặp lại trước đó (thông qua
trọng lượng nội dung), và sau đó một phép dịch chuyển sẽ thêm một phần tử truy
cập tuần tự. Cuối cùng, sự mềm mại của việc giải quyết được mài sắc với nhiệt
độ giống như tham số. Toàn bộ quá trình định địa chỉ dựa trên vị trí sử dụng các
bước sau:

Mỗi hoạt động này sử dụng một số đầu ra từ bộ điều khiển làm tham số
đầu vào, được hiển thị ở trên với thao tác tương ứng. Kể từ khi tạo ra trọng lượng
nội dung w c t ( i ) đã được thảo luận, chúng tôi giải thích ba bước khác:
1. Nội suy: Trong trường hợp này, vector từ lần lặp trước được kết hợp với
trọng lượng nội dung w c t ( i ) được tạo trong phép lặp hiện tại bằng cách sử
dụng một phép nội suy đơn trọng lượng g t ∈ (0 , 1) được đầu ra bởi bộ điều
khiển. Vì vậy, chúng tôi có:

Lưu ý rằng nếu g t​ ​ = 0 thì nội dung sẽ không được sử dụng


2. Shift: Trong trường hợp này, một phép dịch quay được thực hiện trong
đó một vector chuẩn hóa trên thay đổi số nguyên được sử dụng. Ví dụ, hãy xem
xét một tình huống mà s t [ - 1] = 0 . 2, s t [0] = 0 . 5 và s t [1] = 0. 3. Điều này có

22
nghĩa rằng trọng lượng nên thay đổi bởi - 1 với trọng lượng gating 0 . 2, và 1 với
trọng lượng gating 0 . 3. Do đó, chúng tôi xác định chuyển vector w s t ( i ) là sau:

Ở đây, chỉ số của t [ i - j ] được áp dụng kết hợp với hàm modulus điều
chỉnh nó trở lại giữa - 1 và +1 (hoặc phạm vi số nguyên khác trong đó s t [ i - j ] là
được xác định)
3. Mài sắc: Quá trình mài chỉ đơn giản là lấy trọng lượng hiện tại, và làm
cho chúng thiên về 0 hoặc 1, giá trị mà không thay đổi thứ tự của chúng. A tham
số γ t ≥ 1 được sử dụng để mài, nơi các giá trị lớn hơn không tạo ra máy ép giá
trị:

Các tham số γ t đóng một vai trò tương tự như các thông số nhiệt độ β t
trong trường hợp nội dung dựa trên trọng lượng mài. Loại mài này rất quan trọng
vì cơ chế chuyển dịch giới thiệu một mức độ nhòe nhất định đối với trọng số.
Mục đích của các bước này là như sau. Đầu tiên, người ta có thể sử dụng
một cơ chế thuần túy dựa trên nội dung bằng cách sử dụng một gating cân tg của
1. Người ta có thể xem là một cơ chế dựa trên nội dung như một loại truy cập
ngẫu nhiên vào bộ nhớ bằng vectơ chính. Sử dụng vectơ trọng lượng w t− 1 ( i )
trong lặp lại trước đó trong nội suy có mục đích cho phép truy cập tuần tự từ điểm
tham chiếu của bước trước đó. Vector thay đổi xác định số lượng chúng ta sẵn
sàng di chuyển từ điểm tham chiếu được cung cấp bởi vector nội suy. Cuối cùng,
việc mài sắc giúp chúng ta kiểm soát mức độ mềm mại của việc giải quyết.

Cấu trúc của bộ điều khiển


Một việc quan trọng trong lựa chọn thiết kế là sự lựa chọn của cấu trúc
neural trong bộ điều khiển. Một lựa chọn tự nhiên là sử dụng một mạng nơron tái
diễn, trong đó đã có một khái niệm trạng thái thời gian. Hơn nữa, việc sử dụng
LSTM cung cấp thêm bộ nhớ trong cho bộ nhớ ngoài trong Neural Turing
Machine. Các trạng thái trong mạng ​neural giống như các thanh ghi CPU được sử
dụng để tính toán bên trong, nhưng chúng không liên tục (không giống như bộ
nhớ ngoài). Đáng chú ý là một khi chúng ta có một khái niệm về bộ nhớ ngoài, nó
không phải là hoàn toàn cần thiết để sử dụng mạng hồi quy. Điều này là do bộ
nhớ có thể chụp khái niệm của các trạng thái; đọc và ghi từ cùng một tập hợp các
địa điểm liên tiếp tem thời gian đạt được trạng thái tạm thời, như trong mạng
neural hồi quy. Vì vậy, nó cũng có thể sử dụng mạng nơ-ron chuyển tiếp cho bộ

23
điều khiển, điều này cung cấp tốt hơn tính minh bạch so với các trạng thái ẩn
trong bộ điều khiển. Ràng buộc chính trong cấu trúc hướng về phía trước là số
đầu đọc và ghi hạn chế số các hoạt động trong từng dấu thời gian

So sánh với Mạng Neural hồi quy (RNN) và LSTM


Tất cả các Mạng Neural hồi quy (RNN) được biết là Turing hoàn thành [
444 ], có nghĩa là chúng có thể được sử dụng để mô phỏng bất kỳ thuật toán nào.
Do đó, Neural Turing Machine về lý thuyết không thêm vào khả năng vốn có của
bất kỳ Mạng Neural hồi quy (RNN) nào (bao gồm cả LSTM). Tuy nhiên, mặc dù
Turing đầy đủ của các mạng tái phát, có những hạn chế nghiêm trọng đối với hiệu
suất thực tế cũng như sức mạnh tổng quát của chúng trên các tập dữ liệu chuỗi
dài hơn. Ví dụ: nếu chúng tôi đào tạo một mạng tái phát trên các chuỗi của một
kích thước nhất định và sau đó áp dụng cho dữ liệu thử nghiệm có phân phối kích
thước khác nhau, hiệu suất sẽ kém.
Hình thức kiểm soát truy cập bộ nhớ ngoài trong một Neural Turing
Machine cung cấp cho nó lợi thế thực tế trên một Mạng Neural hồi quy (RNN)
trong đó các giá trị trong các trạng thái ẩn tạm thời được tích hợp chặt chẽ với các
tính toán. Mặc dù LSTM được tăng cường với bộ nhớ trong của riêng nó, phần
nào có khả năng chống cập nhật, các quá trình truy cập bộ nhớ và tính toán vẫn
chưa được tách biệt rõ ràng (như một hiện đại máy vi tính). Thực tế, số lượng tính
toán (nghĩa là số lần kích hoạt) và số lượng bộ nhớ (ví dụ, số lượng các đơn vị
ẩn) cũng được tích hợp chặt chẽ trong tất cả các neu mạng lưới ral. Tách sạch
giữa bộ nhớ và tính toán cho phép điều khiển trên hoạt động bộ nhớ theo cách dễ
hiểu hơn, ít nhất cũng tương tự như cách một lập trình viên con người truy cập và
ghi vào các cấu trúc dữ liệu nội bộ. Ví dụ, trong một hệ thống vấn đáp, chúng tôi
muốn có thể đọc một đoạn văn và sau đó trả lời câu hỏi về nó; điều này đòi hỏi sự
kiểm soát tốt hơn nhiều khi có thể đọc được câu chuyện vào bộ nhớ trong một số
hình thức.
Một so sánh thử nghiệm trong [ 158 ] cho thấy Neural Turing Machine hoạt
động tốt hơn với các chuỗi đầu vào dài hơn nhiều so với LSTM. Một trong những
thử nghiệm này cung cấp cả LSTM và Neural Turing Machine với input / output
các chuỗi giống hệt nhau. Mục tiêu là sao chép input vào output. Trong trường
hợp này, Neural Turing Machine thường hoạt động tốt hơn so với LSTM, đặc biệt
là khi đầu vào dài. Không giống như LSTM không thể giải thích được, các hoạt
động trong bộ nhớ mạng được nhiều hơn nữa giải thích, và thuật toán sao chép
ngầm học được bằng cách Neural Turing Machine ​thực hiện các bước tương tự
như cách một lập trình viên của con người sẽ thực hiện nhiệm vụ. Kết quả là thuật
toán sao chép có thể tổng quát thậm chí lâu hơn trình tự hơn so với thời gian đào
tạo trong trường hợp Neural Turing Machine (nhưng không quá nhiều trong
trường hợp của LSTM). Theo một nghĩa nào đó, cách trực quan trong đó một
neural Máy xử lý xử lý các cập nhật bộ nhớ từ một dấu thời gian đến một lần nữa,
thông thường hữu ích. Ví dụ, nếu thuật toán sao chép của Neural Turing Machine

24
bắt chước một phong cách lập trình của con người thực hiện một thuật toán sao
chép, nó sẽ làm một công việc tốt hơn với chuỗi dài hơn tại thời điểm thử nghiệm.
Ngoài ra, Neural Turing Machine được thử nghiệm thể hiện là tốt trong
nhiệm vụ thu hồi kết, trong đó đầu vào là một chuỗi các mặt hàng cùng với một
cách ngẫu nhiên mục đã chọn từ chuỗi này. Đầu ra là mục tiếp theo trong chuỗi.
neural turing machine một lần nữa có thể tìm hiểu nhiệm vụ này tốt hơn so với
một LSTM. Ngoài ra, một phân loại ứng dụng cũng được triển khai trong [ 158 ].
Mặc dù hầu hết các ứng dụng này là tương đối đơn giản, công việc này là đáng
chú ý vì tiềm năng của nó trong việc sử dụng các cấu trúc được điều chỉnh cẩn
thận hơn thực hiện các tác vụ phức tạp. Một sự tăng cường như vậy là
Differentiable Neural Computer[ 159 ], đã được sử dụng cho các nhiệm vụ phức
tạp của lý luận trong đồ thị và ngôn ngữ tự nhiên. Như là nhiệm vụ khó thực hiện
với một mạng lưới truyền thống thường xuyên

10.3.3: Differentiable Neural Computer: Tổng quan ngắn gọn


Differentiable Neural Computer là sự tăng cường trên các Neural Turing
Machine với việc sử dụng các cấu trúc bổ sung để quản lý cấp phát bộ nhớ và
theo dõi chuỗi thời gian ghi. Những cải tiến này giải quyết hai điểm yếu chính của
Neural Turing Machine:
1. Mặc dù Neural Turing Machine có thể thực hiện cả nội dung và vị trí dựa
trên địa chỉ, không có cách nào để tránh thực tế là nó ghi lên các khối chồng nhau
khi sử dụng các cơ chế dựa trên shift để giải quyết các khối tiếp giáp. Trong các
máy tính hiện đại, vấn đề này được giải quyết bằng cách cấp phát bộ nhớ thích
hợp trong khi thời gian chạy. Differentiable Neural Computer đưa vào cơ chế phân
bổ bộ nhớ trong cấu trúc.
2. Neural Turing Machine không theo dõi thứ tự các vị trí bộ nhớ được ghi.
Theo dõi thứ tự các vị trí bộ nhớ được ghi là hữu ích trong nhiều trường hợp như
theo dõi chuỗi các hướng dẫn.
Trong phần tiếp theo, chúng ta sẽ chỉ thảo luận tổng quan ngắn gọn về
cách hai cơ chế bổ sung này được thực hiện. Để có các cuộc thảo luận chi tiết
hơn về các cơ chế này, đề nghị người đọc đến [ 159 ].
Cơ chế cấp phát bộ nhớ trong một diffirentiable neural computer được dựa
trên các khái niệm rằng (i) các vị trí vừa được ghi nhưng chưa đọc được có thể
sử dụng- ful, và rằng (ii) việc đọc một vị trí làm giảm tính hữu ích của nó. Cơ chế
phân bổ bộ nhớ theo dõi số lượng được gọi là cách sử dụng vị trí. Việc sử dụng
một vị trí được tự động tăng sau mỗi lần ghi và có khả năng giảm sau đọc. Trước
khi ghi vào bộ nhớ, bộ điều khiển phát ra một bộ cổng miễn phí từ mỗi đầu đọc
xác định xem các địa điểm đọc gần đây nhất có nên được giải phóng hay không.
Đây là sau đó được sử dụng để cập nhật vector sử dụng từ dấu thời gian trước
đó. Công việc trong thảo luận [ 159 ] một số thuật toán về cách sử dụng các giá trị
sử dụng này để xác định vị trí để ghi.

25
Vấn đề thứ hai được giải quyết bởi diffirentiable neural computer là về mặt
nó theo dõi thứ tự tuần tự của các vị trí bộ nhớ mà tại đó các ghi được thực hiện.
Ở đây, điều quan trọng là phải hiểu rằng ghi vào các vị trí bộ nhớ mềm, và do đó
người ta không thể xác định thứ tự nghiêm ngặt. Thay vào đó, một thứ tự mềm
tồn tại giữa tất cả các cặp vị trí. Do đó, ma trận liên kết thời gian N × N với các
mục L t [ i, j ] được duy trì. Giá trị của L t [ i, j ] luôn nằm trong phạm vi (0 , 1) và
nó cho biết mức độ tới hàng i của ma trận bộ nhớ N × m được ghi vào ngay sau
hàng j . Để mà cập nhật ma trận liên kết thời gian, trọng số ưu tiên được xác định
trên các vị trí trong các hàng bộ nhớ. Cụ thể, p t ( i ) xác định mức độ mà tôi là vị
trí cuối cùng ghi vào thời điểm thứ t . Mối quan hệ ưu tiên này được sử dụng để
cập nhật thời gian ma trận liên kết trong mỗi dấu thời gian. Mặc dù ma trận liên
kết thời gian có thể yêu cầu O ( N 2 ) không gian, nó rất thưa thớt và do đó có thể
được lưu trữ trong không gian O ( N · log ( N )). Các người đọc được nhắc đến [
159 ] để biết thêm chi tiết về việc duy trì liên kết thời gian ma trận.
Đáng chú ý là nhiều ý tưởng về Neural Turing Machine, mạng nhớ và cơ
chế chú ý có liên quan chặt chẽ. Hai ý tưởng đầu tiên được đề xuất một cách độc
lập vào khoảng thời gian đó. Các bài báo ban đầu về các chủ đề này đã kiểm tra
chúng về các nhiệm vụ khác nhau. Ví dụ, Neural Turing Machine đã được thử
nghiệm trên các nhiệm vụ đơn giản như sao chép hoặc phân loại, trong khi mạng
bộ nhớ được thử nghiệm trên các nhiệm vụ như trả lời câu hỏi. Tuy nhiên, điều
này sự khác biệt cũng bị mờ ở giai đoạn sau, khi diffirentiable neural computer là
kiểm tra các nhiệm vụ trả lời câu hỏi. Nói chung, các ứng dụng này vẫn còn trong
thời thơ ấu, và rất nhiều điều cần phải được thực hiện để đưa họ đến một mức độ
mà họ có thể thương mại đã sử dụng

10.4 Generative Adversarial Networks (GANs) (Mạng sinh


đối kháng)
Trước khi giới thiệu các mạng sinh đối kháng, đầu tiên chúng ta sẽ thảo
luận khái niệm về các mô hình sinh và phân biệt, vì chúng đều được sử dụng để
tạo ra các mạng như vậy. Hai loại mô hình này như sau:
1. Mô hình phân biệt: Các mô hình phân biệt trực tiếp ước tính xác suất có
điều kiện P(y | X ) của y, cho các giá trị tính năng trong X . Một ví dụ về mô
hình phân biệt là hồi quy logistic.
2. Mô hình sinh: Các mô hình sinh ước tính xác suất chung P( X , y), là xác
suất sinh ra một cá thể dữ liệu. Lưu ý rằng xác suất chung có thể được sử
dụng để ước tính xác suất có điều kiện của y cho trước X bằng cách sử
dụng quy tắc Bayes như sau:

26
Một ví dụ về mô hình sinh là naive Bayes classifier.
Các mô hình phân biệt chỉ có thể được sử dụng trong các cài đặt được
giám sát, trong khi các mô hình sinh được sử dụng trong cả cài đặt được giám sát
và không giám sát. Ví dụ, trong một cài đặt đa lớp, người ta có thể tạo ra một mô
hình sinh của một trong các lớp bằng cách xác định phân chia thích hợp trước
trên lớp đó và sau đó lấy mẫu từ phân chia trước để tạo ra các ví dụ của lớp.
Tương tự, người ta có thể tạo ra mỗi điểm trong toàn bộ tập dữ liệu từ một bản
phân chia cụ thể bằng cách sử dụng một mô hình xác suất với một mô hình cụ
thể. Cách tiếp cận này được sử dụng trong bộ mã hóa tự động biến thiên ( xem
phần 4.10.4 của Chương 4) để lấy mẫu điểm từ phân chia Gaussian và sau đó sử
dụng các mẫu này làm đầu vào cho bộ giải mã để tạo ra mẫu như dữ liệu.
Mạng sinh đối kháng làm việc với 2 mô hình mạng neural đồng thời. Đầu
tiên là một mô hình sinh tạo ra các ví dụ tổng hợp về các đối tượng tương tự như
một kho lưu trữ ví dụ thực sự. Hơn nữa, mục đích là tạo ra các đối tượng tổng
hợp rất thực tế đến mức không thể cho một người quan sát được đào tạo phân
biệt được một đối tượng cụ thể thuộc về tập dữ liệu gốc hay nó được tạo ra tổng
hợp hay không. Ví dụ, nếu chúng ta có một kho lưu trữ hình ảnh xe hơi, mạng
sinh sẽ sử dụng mô hình sinh để tạo ra các ví dụ tổng hợp về hình ảnh xe hơi.
Cuối cùng, bây giờ chúng ta sẽ kết thúc với cả 2 ví dụ thực tế và giả mạo về hình
ảnh ô tô. Mạng thứ hai là một mạng phân biệt đã được đào tạo trên một tập dữ
liệu được gắn nhãn với thực tế là các hình ảnh là tổng hợp hay giả mạo. Mô hình
phân biệt đưa đầu vào của một trong 2 ví dụ thực tế từ dữ liệu cơ sở hoặc các đối
tượng tổng hợp được tạo ra bởi mạng sinh và cố gắng phân biệt xem các đối
tượng đó là thật hay giả. Theo một nghĩa nào đó, người ta có thể xem mạng sinh
như “người làm hàng giả” đang cố gắng tạo ra các ghi chú giả và mạng phân biệt
là “cảnh sát” đang cố gắng bắt người làm giả tạo ra những ghi chú giả. Vì vậy, 2
mạng là đối thủ và huấn luyện làm cho cả 2 đối thủ tốt hơn, cho đến khi đạt được
trạng thái cân bằng giữa chúng.
Khi mạng phân biệt chính xác có thể gắn cờ một đối tượng tổng hợp là giả,
thực tế được sử dụng bởi mạng sinh để sửa đổi trọng số của nó, để mạng phân
biệt sẽ khó phân loại các mẫu được tạo ra từ nó. Sau khi sửa đổi trọng số của
mạng sinh, các mẫu mới được tạo ra từ nó và quá trình được lặp lại. Theo thời
gian, mạng sinh ngày càng trở nên tốt hơn khi sản xuất hàng giả. Cuối cùng, nó
sẽ trở thành không thể cho các discriminator có thể phân biệt được các đối tượng
thực và tổng hợp. Trong thực tế, nó có thể được chính thức chỉ ra rằng sự cân
bằng Nash của trò chơi minimax này là một thiết lập tham số (mạng sinh) trong đó
sự phân chia các điểm được tạo ra bởi các máy phát cũng giống như của các
mẫu dữ liệu. Để cách tiếp cận hoạt động tốt, điều quan trọng đối với discriminator
là một mô hình có dung lượng cao và cũng có quyền truy cập vào nhiều dữ liệu.
Các đối tượng được tạo ra thường hữu ích cho việc tạo một lượng lớn dữ
liệu tổng hợp cho các thuật toán học máy và có thể đóng một vai trò hữu ích trong
việc tăng cường dữ liệu. Hơn nữa, bằng cách thêm ngữ cảnh, có thể sử dụng

27
phương pháp này để tạo các đối tượng với các thuộc tính khác nhau. Ví dụ: đầu
vào có thể là chú thích văn bản, chẳng hạn như “ mèo đốm với vòng cổ” và đầu ra
sẽ là hình ảnh tượng tưởng khớp với mô tả [331, 392]. Các đối tượng được tạo ra
đôi khi cũng được sử dụng cho các nỗ lực nghệ thuật. Gần đây, phương pháp
này cũng đã tìm thấy ứng dụng trong bản dịch hình ảnh sang hình ảnh. Trong bản
dịch hình ảnh, các đặc điểm thiếu của một hình ảnh được hoàn thành một cách
thực tế. Trước khi thảo luận về các ứng dụng, đầu tiên chúng ta sẽ thảo luận chi
tiết về việc đào tạo một mạng chống đối tạo sinh.

10.4.1 Huấn luyện mạng sinh đối kháng


Quá trình huấn luyện của mạng sinh đối kháng bằng cách luân phiên cập
nhật các thông số của generator và discriminator. Cả generator và discriminator
đều là mạng nơ-ron. Discriminator là mạng nơ-ron với đầu vào d-chiều và một
đầu ra đơn lẻ (0, 1), cho biết xác suất có hay không ví dụ đầu vào d-chiều là có
thật. Giá trị 1 cho biết ví dụ là có thật và giá trị 0 cho biết ví dụ là tổng hợp. Đầu ra
của discriminator khi cho đầu vào X được ký hiệu là D( X ).
Generator sẽ lấy mẫu nhiễu đầu vào từ phân bố xác suất p-chiều và sử
dụng nó để tạo ra các ví dụ d-chiều của dữ liệu. Người ta có thể xem generator
theo cách tương tự với phần bộ giải mã của bộ mã hóa tự động biến thiên (xem
phần 4.10.4 của Chương 4), trong đó phân chia đầu vào là p-chiều được vẽ từ
một phân bố Gaussian và đầu ra của bộ giải mã là một điểm dữ liệu d-chiều với
phân bố tương tự các ví dụ thực tế. Tuy nhiên, quá trình đào tạo ở đây rất khác
so với quy trình tự động biến đổi. Thay vì sử dụng lỗi xây dựng lại để đào tạo, lỗi
discriminator được sử dụng để đào tạo generator, tạo các mẫu khác như phân
phối dữ liệu đầu vào.
Mục tiêu của discriminator là phân loại chính xác các ví dụ thực tế thành
nhãn 1 và các ví dụ được tao ra tổng hợp thành nhãn 0. Mặc khác, mục tiêu cho
generator là tạo ra các ví dụ để chúng đánh lừa discriminator (ví dụ: khuyến khích
discriminator ghi nhãn các ví dụ như 1). Có Rm với m lấy ngẫu nhiên từ tập dữ liệu
số thực và S m với m là mẫu tổng hợp được tạo ra bằng cách sử dụng generator.
Lưu ý rằng các mẫu tổng hợp được tạo ra bằng cách, đầu tiên tạo một tập hợp
N m của mẫu nhiễu p-chiều { Z m ... Z m }, và sau đó áp dụng bộ tạo mẫu cho các
mẫu nhiễu này làm đầu vào để tạo các mẫu dữ liệu S m = {G( Z 1 )...G( Z m )}. Do đó,
hàm mục tiêu J D tối đa hóa cho discriminator như sau:

Thật dễ dàng để xác minh rằng hàm mục tiêu này được tối đa hóa khi các
ví dụ thực được phân loại chính xác thành 1 và các ví dụ tổng hợp được phân loại
28
chính xác là 0. Sau đó chúng ta xác định hàm mục tiêu của generator, mục đích
của nó là đánh lừa discriminator. Đối với generator, chúng tôi không quan tâm đến
các ví dụ thực sự, bởi vì generator chỉ quan tâm đến mẫu mà nó tạo ra. Generator
tạo ra m mẫu tổng hợp, S m , và mục tiêu là đảm bảo rằng discriminator nhận ra
những ví dụ này là những ví dụ chính hãng. Do đó, hàm mục tiêu generator, J G ,
giảm thiểu khả năng các mẫu này được gắn cờ là tổng hợp, dẫn đến vấn đề tối
ưu hóa sau:

Hàm mục tiêu này được giảm thiểu khi các ví dụ tổng hợp được phân loại
sai thành 1. Bằng cách giảm thiểu hàm mục tiêu, chúng ta đang cố gắng tìm hiểu
các tham số của generator làm cho discriminator phân loại sai các ví dụ tổng hợp
thành các mẫu thực từ tập dữ liệu. Một hàm mục tiêu khác cho generator là tối đa
hóa log[D( X )] cho mỗi X ε S m thay vì giảm thiểu log[1-D( X )], và hàm mục tiêu
thay thế này đôi khi hoạt động tốt hơn trong các lần lặp lại tối ưu.
Vì vậy, vấn đề tối ưu hóa tổng thể được xây dựng như một trò chơi
minimax trên J D . Lưu ý rằng tối đa hóa J G trên các lựa chọn khác nhau của các
tham số trong generator G cũng giống như tối đa hóa J D vì J D - J G không bao
gồm bất kỳ tham số nào của generator G. Do đó, người ta có thể ghi vấn đề tối ưu
hóa tổng thể ( trên cả generator và discriminator) như sau:

Kết quả của việc tối ưu hóa là điểm yên của vấn đề tối ưu hóa. Ví dụ về
các điểm yên trông như thế nào đối với cấu trúc liên kết của các hàm tổn thất
được thể hiện trong Hình 3.17 chương 3.
( Các ví dụ trong chương 3 được đưa ra trong một ngữ cảnh khác. Tuy nhiên, nếu
chúng ta giả định rằng hàm tổn thất trong Hình 3.17 (b) đại diện cho J D , thì điểm
yên ngựa được chú thích trong hình là trực quan hướng dẫn).

29
Hình 10.7: Kết nối cấu hình của generator và discriminator để thực hiện các cập
nhật gradient-descent trên generator

Stochastic gradient ascent được sử dụng cho việc học các tham số của
discriminator và generator. Các bước cập nhật gradient được xen kẽ giữa
discriminator và generator. Tuy nhiên, trong thực tế k bước của discriminator
được sử dụng cho mỗi bước generator. Do đó, người ta có thể mô tả các bước
cập nhật gradient như sau:
1. (Lặp lại k lần): Một lô nhỏ kích thước 2*m được xây dựng với một số lượng
bằng nhau các ví dụ thực và tổng hợp. Các ví dụ tổng hợp được tạo ra
bằng cách nhập các mẫu nhiễu vào generator từ bản phân phối trước,
trong khi các mẫu thực được chọn từ tập dữ liệu gốc. Stochastic gradient
ascent được thực hiện trên các tham số của discriminator để tối đa hóa khả
năng phân loại 2 ví dụ thực và tổng hợp. Đối với mỗi bước cập nhật, điều
này đạt được bằng cách thực hiện backpropagation trên mạng phân biệt
với lô nhỏ của 2*m ví dụ thực/tổng hợp.
2. (Thực hiện 1 lần): Để discriminator trên đầu generator như trong Hình 10.7.
Cung cấp bộ tạo tín hiệu với đầu vào nhiễu để tạo m ví dụ tổng hợp (đây là
các lô nhỏ hiện tại). Thực hiện Stochastic gradient descent trên các tham
số của generator để giảm thiểu khả năng discriminator phân loại chính xác
các ví dụ tổng hợp. Việc giảm thiểu log[1-D( X )] trong hàm tổn thất sẽ
khuyến khích rõ ràng những việc giả mạo này được dự đoán là có thật.
Mặc dù bộ phân discriminator được nối với generator, các cập nhật
gradient ( trong khi truyền lại) được thực hiện đối với tham số của chỉ mạng
sinh. Backpropagation sẽ tự động tính toán độ dốc liên quan đến cả mạng
sinh và mạng phân biệt đối với cấu hình được ghép nối này, nhưng chỉ các
thông số của mạng sinh mới được cập nhật.

Giá trị của k thường nhỏ ( nhỏ hơn 5 ), mặc dù nó cũng có thể sử dụng k =
1. Quá trình lặp này được lặp lại để hội tụ cho đến khi đạt được trạng thái cân
bằng Nash. Tại thời điểm này, các discriminator sẽ không thể phân biệt giữa các

30
vị dụ thực tế và tổng hợp. Có một vài yếu tố cần phải cẩn thận trong quá trình đào
tạo. Đầu tiên, nếu generator được huấn luyện quá nhiều mà không cập nhật
discriminator, nó có thể dẫn đến tình huống mà trong đó generator liên tục tạo ra
các mẫu rất giống nhau. Nói các khác, sẽ có rất ít sự đa dạng giữa các mẫu được
tạo ra bởi generator. Đây là lý do mà việc đào tạo generator và discriminator được
thực hiện đồng thời và xen kẽ.
Thứ hai, generator sẽ tạo ra các mẫu kém trong các lần lặp đầu, do đó D(
X ) sẽ gần bằng 0. Do đó, hàm tổn thất sẽ gần bằng 0 và gradient của nó sẽ khá
khiêm tốn. Đây là loại bão hòa gây chậm đào tạo các thông số generator. Mặc dù
phương pháp này được thúc đẩy bằng phương pháp heuristics và người ta không
còn có thể ghi công thức minimax như công tức 10.19, nó có xu hướng hoạt động
tốt trong thực tế ( đặc biệt là trong giai đoạn đầu của khóa đào tạo khi
discriminator từ chối tất cả các mẫu).

10.4.2 So sánh với bộ mã hóa tự động biến thiên


Bộ mã hóa tự động biến thiên và mạng chống đối tạo sinh được phát triển
độc lập và đồng thời. Có một số điểm tương đồng và khác biệt thú vị giữa 2 mô
hình này. Phần này sẽ thảo luận về so sánh 2 mô hình này. Không giống như bộ
mã hóa tự động biến thiên, chỉ có bộ giải mã (ví dụ generator) được học và bộ mã
hóa không được học trong quá trình đào tạo của mạng chống đối tạo sinh. Tuy
nhiên, cả 2 mô hình có thể tạo ra hình ảnh như dữ liệu cơ sở, bởi vì không gian
ẩn cấu trúc đã biết (thường là Gaussian), từ đó các điểm có thể được lấy mẫu.
Nói chung, mạng chống đối tạo sinh tạo ra các mẫu có chất lượng tốt hơn (ví dụ:
hình ảnh ít bị mờ) hơn so với bộ mã hóa tự động biến thiên. Điều này là do
phương pháp tiếp cận đối tượng được thiết kế đặc biệt để tạo ra hình ảnh thực tế,
trong khi quá trình chuẩn hóa của bộ mã hóa tự động biến thiên thực sự làm tổn
hại đến chất lượng của các đối tượng được tạo ra. Hơn nữa, khi lỗi tái thiết được
sử dụng để tạo ra một đầu ra cho một hình ảnh cụ thể trong bộ mã hóa tự động
biến thiên, nó buộc mô hình trung bình trên tất cả các đầu ra hợp lý. Tính trung
bình trên các đầu ra hợp lý, thường được dịch chuyển một chút từ nhau, là
nguyên nhân trực tiếp của sự mờ nhạt. Mặc khác, một phương pháp được thiết
kế đặc biệt để tạo ra các đối tượng có chất lượng đánh lừa discriminator sẽ tạo ra
một đối tượng duy nhất, trong đó các phần khác nhau hài hòa( do đó thực tế
hơn).
Bộ mã hóa tự động biến thiên có phương pháp khá khác với mạng chống
đối tạo sinh. Cách tiếp cận re-parametrization được sử dụng bởi bộ mã hóa tự
động biến thiên rất hữu ích cho các mạng đào tạo với tính chất ngẫu nhiên. Cách
tiếp cận này có khả năng được sử dụng trong các loại thiết lập mạng nơ-ron khác
với một lớp ẩn sinh. Trong những năm gần đây, một số ý tưởng trong bộ mã hóa
tự động biến thiên đã được kết hợp với các ý tưởng trong các mạng chống đối tạo
sinh.

31
10.4.3 Sử dụng GANs để tạo dữ liệu hình ảnh
GAN thường được sử dụng để tạo các đối tượng hình ảnh với các kiểu
ngữ cảnh khác nhau. Thật vậy, các thiết lập hình ảnh, cho đến nay, là trường hợp
sử dụng phổ biến nhất của GAN. Generator cho các thiết lập hình ảnh được gọi là
một mạng deconvolutional. Các phổ biến nhất để thiết kế một mạng giải mã cho
GAN được thảo luận trong [384]. Do đó, GAN tương ứng cũng được gọi là
DCGAN. Đáng chú ý là thuật ngữ “deconvolution” nói chung đã được thay thế
bằng transposed convolution trong những năm gần đây, bởi vì thuật ngữ cũ có
phần gây hiểu nhầm.

(a) Cấu trúc chuyển dịch của DCGAN

(b) Chuyển tiếp hình ảnh mượt do thay đổi đầu vào nhiễu được hiển thị
trong mỗi hàng

32
(c) Các phép tính số học trên đầu vào nhiễu có ý nghĩa ngữ nghĩa

Hình 10.8: Kiến trúc convolutional của DCGAN và các ảnh được tạo ra

Công việc trong [384] bắt đầu với 100-chiều nhiễu Gaussian, là điểm khởi
đầu của bộ giải mã. 100-chiều nhiễu Gaussian được định hình lại thành 1024 bản
đồ có kích thước 4x4. Điều này đạt được với phép nhân ma trận được kết nối
hoàn toàn với 100-chiều và kết quả được định hình lại thành một tensor. Sau đó,
độ sâu của mỗi lớp giảm theo hệ số 2, trong khi tăng độ dài và chiều rộng theo hệ
số 2. Ví dụ, lớp thứ 2 chứa 512 bản đồ tính năng, trong khi lớp thứ 3 chứa 256
bản đồ tính năng.
Tuy nhiên, tăng chiều dài và chiều rộng với convolution có vẻ kỳ dị, bởi vì
một sự chập chững với một bước tiến thậm chí có xu hướng giảm kích thước bản
đồ không gian (trừ khi một người sử dụng thêm không đệm). Vậy làm thế nào
người ta có thể sử dụng các convolution để tăng độ dài và độ rộng theo hệ số 2?
Điều này đạt được bằng cách sử dụng các convolution được phân đoạn nhỏ hoặc
transposed convolution ở một giá trị phân số là 0,5. Các loại transposed
convolution được mô tả ở cuối mục 8.5.2 của Chương 8. Trường hợp các bước
tiến phân đoạn không khác nhiều so với các bước đơn vị, và nó có thể được xem
như là một convolution được thực hiện sau khi kéo dài khối lượng đầu vào không
gian chèn số 0 giữa các hàng/cột hoặc bằng cách chèn giá trị nội suy. Vì khối
lượng đầu vào đã được kéo dài bởi một yếu tố cụ thể, việc áp dụng convolution
với stride 1 trên đầu vào này là tương đương với việc sử dụng các bước phân
đoạn trên đầu vào gốc. Một giải pháp thay thế cho cách tiếp cận của các cuộc
cách mạng có cấu trúc phân đoạn là sử dụng tổng hợp và tách rời để thao tác các
dấu chân không gian. Khi sử dụng các chuyển động được chia nhỏ theo từng
phần, không cần sử dụng chung hoặc không chia sẻ. Tổng quan về kiến trúc của
generator trong DCGAN được đưa ra trong Hình 10.8. Một cuộc thảo luận chi tiết
về số lúc học convolution cần thiết cho các cuộc cách mạng có cấu trúc phân
đoạn có sẵn trong [109].
Các hình ảnh được tạo ra rất nhạy cảm với các mẫu nhiễu, Hình 10.8 (b)
cho thấy các ví dụ về các hình ảnh được tạo ra bằng cách sử dụng các mẫu nhiều
khác nhau. Một ví dụ thú vị được hiển thị ở hàng thứ 6 trong đó một căn phòng

33
không có cửa sổ được chuyển dần thành một cửa sổ lớn [384]. Chuyển tiếp trơn
tru như vậy cũng được quan sát thấy trong trường hợp của bộ mã tự động biến
thiên. Các mẫu nhiễu cũng tuân theo số học vecto, có thể diễn giải theo ngữ
nghĩa. Ví dụ, người ta sẽ trừ một mẫu nhiễu của một người phụ nữ trung lập từ
người phụ nữ mỉm cười và thêm mẫu nhiễu của một người đàn ông mỉm cười.
Mẫu nhiễu này được nhập vào generator để lấy mẫu hình ảnh của một người đàn
ông đang cười. Ví dụ này [384] được thể hiện trong Hình 10.8(c).
Discriminator cũng sử dụng kiến trúc mạng nơ-ron chập chững, ngoại trừ
ReLU bị rò rỉ được sử dụng thay cho ReLU. Lớp phân rã cuối cùng của
discriminator được làm phẳng và được đưa vào một đầu ra sigmoid đơn. Các lớp
được kết nối hoàn toàn không được sử dụng trong generator hoặc discriminator.
Như thường thấy trong các mạng nơ-ron xoắn ốc, kích hoạt ReLU được sử dụng.
Việc chuẩn hóa hàng loạt được sử dụng để giảm thiểu bất kỳ vấn đề nào với các
vấn đề về biến mất và phát nổ [214].

10.4.4 Mạng sinh đối kháng có điều kiện (Conditional adversarial


generative networks)
Trong mạng sinh đối kháng có điều kiện (CGANS), cả bộ sinh và bộ phân
biệt đều được gắn trên một đối tượng đầu vào bổ sung, có thể là nhãn, chú thích
hoặc thậm chí một đối tượng khác cùng loại. Trong trường hợp này, đầu vào
thường tương ứng với các cặp liên quan của đối tượng đích và ngữ cảnh. Các
ngữ cảnh thường liên quan đến các đối tượng đích theo một cách nào đó theo
miền cụ thể, được học bởi mô hình. Ví dụ, một bối cảnh như "smiling girl" có thể
cung cấp một hình ảnh của một cô gái mỉm cười. Ở đây, điều quan trọng cần lưu
ý là có nhiều lựa chọn có thể có của hình ảnh mà CGAN có thể tạo cho các cô gái
mỉm cười và lựa chọn cụ thể phụ thuộc vào giá trị của đầu vào nhiễu. Do đó,
CGAN có thể tạo ra một vũ trụ các đối tượng mục tiêu, dựa trên sự sáng tạo và trí
tưởng tượng của nó.

34
35
Hình 10.9: Các loại khác nhau của mạng sinh đối kháng có điều kiện. Các ví dụ
chỉ có tính minh họa, và chúng không phản ánh đầu ra thật của CGAN.

Nhìn chung, nếu bối cảnh phức tạp hơn so với đầu ra đích, thì vũ trụ của
các đối tượng mục tiêu này có xu hướng co lại và thậm chí bộ tạo có thể tạo ra ra
các đối tượng cố định đầu ra không phân biệt đầu vào nhiễu cho bộ tạo. Do đó,
thông thường các đầu vào theo ngữ cảnh sẽ đơn giản hơn các đối tượng được
mô hình hoá. Ví dụ, nó là phổ biến hơn cho bối cảnh là một chú thích và đối
tượng là một hình ảnh, chứ không phải là trò chuyện. Tuy nhiên, cả hai tình huống
là có thể một cách kỹ thuật.
Ví dụ về các loại điều kiện(conditioning) khác nhau trong GANs có điều
kiện được thể hiện trong Hình 10.9. Ngữ cảnh cung cấp đầu vào bổ sung cần thiết

36
cho điều kiện(conditioning). Nói chung, ngữ cảnh có thể thuộc bất kỳ kiểu dữ liệu
đối tượng nào và kết quả được tạo ra có thể thuộc bất kỳ kiểu dữ liệu nào. Các
trường hợp sử dụng CGAN thú vị hơn là những trường hợp trong đó ngữ cảnh
chứa ít phức tạp hơn (ví dụ: chú thích) so với đầu ra được tạo ra (ví dụ: hình
ảnh). Trong những trường hợp như vậy, CGAN thể hiện một mức độ sáng tạo
nhất định khi điền vào các chi tiết còn thiếu. Những chi tiết này có thể thay đổi tùy
thuộc vào đầu vào nhiễu cho bộ tạo. Một vài ví dụ của cặp đối tượng-ngữ cảnh có
thể như bên dưới:
1. Mỗi đối tượng có thể liên kết với một nhãn. Nhãn cung cấp điều
kiện(conditioning) cho ảnh được sinh ra. Ví dụ, trong dữ liệu MNIST, điều
kiện(conditioning) có thể là một giá trị nhãn từ 0 đến 9​​, và bộ sinh được kì vọng
tạo ra một chữ số, khi nó được cung cấp điều kiện. Tương tự, cho một tập ảnh,
điều kiện(conditioning) có thể là một nhãn giống “cà rốt” và đầu ra sẽ là một ảnh
cà rốt . Các thí nghiệm trong tác phẩm gốc trên mạng đối kháng có điều kiện đã
tạo ra một biểu diễn 784 chiều của một chữ số dựa trên nhãn từ 0 đến 9. Ví dụ cơ
sở của các chữ số được lấy từ tập dữ liệu MNIST.
2. Đối tượng mục tiêu và ngữ cảnh của nó có thể cùng loại, dù ngữ cảnh
có thể thiếu mức phong phú của chi tiết trong đối tượng mục tiêu. Ví dụ, ngữ cảnh
có thể là mô tả bản phác thảo của một người nghệ sĩ trên một cái ví, và đối tượng
mục tiêu là một bức ảnh thật của cái ví tương tự với tất cả những chi tiết trên nó.
Một ví dụ khác có thể là bản phác thảo của một nghệ sĩ về một nghi phạm hình sự
(ngữ cảnh), và đối tượng mục tiêu (đầu ra của bộ sinh) có thể là một phép ngoại
suy về bức ảnh thật của một người. Mục đích là để dung một bản phác thảo cho
sẵn để sinh ra các ví dụ thực đa dạng với các chi tiết ở trên. Như một ví dụ được
minh họa ở đầu của hình 10.9. Khi đối tượng ngữ cảnh có đại diện phức tạp giống
như ảnh hoặc câu văn bản, chúng cần được chuyển sang một dạng đa chiều với
một mã hóa, nhờ đó chúng có thể được gắn với nhiễu Gauss đa chiều. Mã hóa
này có thể là một mạng tích chập trong trường hợp của ngữ cảnh ảnh hoặc một
mạng nơ ron hồi quy hoặc mô hình word2vec trong ngữ cảnh là văn bản.
3. Mỗi đối tượng có thể được liên kết với một mô tả văn bản (ví dụ: ảnh
với mô tả), và cuối cùng cung cấp ngữ cảnh. Mô tả cung cấp điều
kiện(conditioning) cho đối tượng. Ý tưởng mà bằng cách cung cấp một ngữ cảnh
giống như “con chim với móng vuốt sắc”, bộ sinh sẽ cung cấp một bức ảnh tưởng
tượng mà phản chiếu mô tả này. Một ví dụ của một bức ảnh minh họa được sinh
ra sử dụng ngữ cảnh “cô gái mỉm cười” được minh học trong hình 10.9. Chú ý
rằng cũng có thể dùng một ngữ cảnh hình ảnh, và sinh ra một mô tả cho nó sử
dụng GAN, như hình cuối của Hình 10.9. Tuy nhiên, sinh đối tượng phức tạp (ví
dụ: hình ảnh) từ những ngữ cảnh đơn giản(ví dụ: mô tả) là phổ biến hơn ngược
lại. Bởi nhiều phương pháp học có giám sát chính xác đã có sẵn khi cố gắng sinh
ra đối tượng đơn giản (ví dụ: nhãn hoặc mô tả) từ ngữ cảnh phức tạp (ví dụ: hình
ảnh).

37
4. Đối tượng cơ sở có thể là một tấm hình hoặc video đen trắng (ví dụ:
phim cổ), và đối tượng đầu ra sẽ là một bản có màu. Thực chất, GAN học từ các
ví dụ của những cặp đó đó để biết đâu là cách thực tế nhất để tô màu những
cảnh đen trắng. Ví dụ, nó sẽ dung màu của cây trong tập huấn luyện để tô màu
tương ứng với đối tượng đích mà không làm thay đổi khung cơ bản của chúng.
Qua tất cả trường hợp này, đã chứng tỏ GANs rất tốt cho việc khôi phục thông tin
bị mất. GAN vô điều kiện là một trường hợp của sự cài đặt này mà tất cả mẫu của
ngữ cảnh đều bị thiếu, và vì vậy GAN bắt buộc phải sinh ra một ảnh mà không có
bất kỳ thông tin nào. Trường hợp có điều kiện có khả năng thú vị hơn từ quan
điểm trung tâm - ứng dụng vì người ta thường có cài đặt nơi một lượng nhỏ thông
tin một phần có sẵn, và người ta phải ngoại suy một cách thực tế. Khi số lượng
ngữ cảnh có sẵn là rất nhỏ, các phương pháp phân tích dữ liệu bị thiếu sẽ không
hoạt động bởi vì chúng yêu cầu nhiều bối cảnh hơn để cung cấp sự tái tạo. Mặt
khác, GAN không hứa hẹn tái tạo trung thành (như bộ tự động hóa hoặc phương
pháp hệ số ma trận), nhưng chúng cung cấp ngoại suy thực tế trong đó các chi
tiết còn thiếu được điền vào đối tượng theo cách thực tế và hài hòa. Kết quả là,
GAN sử dụng quyền tự do này để tạo ra các mẫu có chất lượng cao, chứ không
phải là một ước lượng mờ về việc tái thiết trung bình. Mặc dù một thế hệ cụ thể
có thể không phản ánh hoàn hảo một ngữ cảnh cụ thể, nhưng một người luôn có
thể tạo ra nhiều mẫu để khám phá các loại ngoại suy khác nhau của cùng một
ngữ cảnh. Ví dụ, với bản phác thảo nghi phạm hình sự, người ta có thể tạo ra các
bức ảnh khác nhau với các chi tiết khác nhau không có trong bản vẽ. Theo nghĩa
này, các mạng đối lập sinh sản thể hiện một mức độ nghệ thuật / sáng tạo nhất
định không có trong các phương pháp tái tạo dữ liệu thông thường. Loại sáng tạo
này là thiết yếu khi người ta đang làm việc chỉ với một lượng nhỏ bối cảnh để bắt
đầu, và do đó mô hình cần phải có đủ tự do để điền vào các chi tiết còn thiếu một
cách hợp lý. Đáng chú ý là một loạt các vấn đề học máy (bao gồm cả phân loại)
có thể được xem như là các vấn đề mất dữ liệu bị thiếu. Về mặt kỹ thuật, CGAN
cũng có thể được sử dụng cho những vấn đề này. Tuy nhiên, CGAN hữu ích hơn
đối với các loại dữ liệu bị thiếu cụ thể, trong đó phần còn thiếu quá lớn để được
mô hình tái tạo một cách trung thực. Mặc dù người ta thậm chí có thể sử dụng
CGAN để phân loại hoặc chú thích hình ảnh, điều này rõ ràng không phải là cách
sử dụng tốt nhất2 của mô hình máy phát điện, được thiết kế theo hướng sáng tạo
sinh sản. Khi đối tượng điều hòa phức tạp hơn so với đối tượng đầu ra, có thể đi
vào các tình huống mà CGAN tạo ra một đầu ra cố định bất kể nhiễu đầu vào.
Trong trường hợp của máy phát, các đầu vào tương ứng với một điểm
được tạo ra từ sự phân bố nhiễu và đối tượng điều kiện, được kết hợp để tạo ra
một mã ẩn duy nhất. Đầu vào này được đưa vào bộ tạo (bộ giải mã), tạo ra một
mẫu có điều kiện cho dữ liệu. Đối với phân biệt đối xử, đầu vào là một mẫu từ dữ
liệu cơ sở và ngữ cảnh của nó. Đối tượng cơ sở và đầu vào có điều kiện của nó
lần đầu tiên được hợp nhất thành một biểu diễn ẩn, và phân biệt đối xử sau đó
cung cấp một phân loại cho dù cùng là có thật hay được tạo ra. Kiến trúc tổng thể

38
cho việc đào tạo phần máy phát điện được thể hiện trong Hình 10.10. Đó là
hướng dẫn để so sánh cấu trúc này với cấu trúc của GAN vô điều kiện trong
Hình.10.7. Sự khác biệt chính là một đầu vào có điều kiện bổ sung được cung cấp
trong trường hợp thứ hai. Các hàm mất mát và sự sắp xếp tổng thể của các lớp
ẩn là rất giống nhau trong cả hai trường hợp. Do đó, sự thay đổi từ một GAN vô
điều kiện thành GAN có điều kiện chỉ đòi hỏi những thay đổi nhỏ đối với kiến ​trúc
tổng thể. Phương pháp backpropagation hầu như không bị ảnh hưởng, ngoại trừ
việc có một số trọng lượng bổ sung trong phần của mạng nơron kết hợp với các
đầu vào điều chỉnh mà người ta có thể cần phải cập nhật.
Một điểm quan trọng về việc sử dụng GAN với nhiều loại dữ liệu khác nhau
là chúng có thể yêu cầu một số sửa đổi để thực hiện mã hóa và giải mã theo cách
nhạy cảm với dữ liệu. Mặc dù chúng tôi đã đưa ra một số ví dụ từ miền hình ảnh
và văn bản trong cuộc thảo luận ở trên, hầu hết mô tả thuật toán tập trung vào dữ
liệu đa chiều vani (thay vì dữ liệu hình ảnh hoặc văn bản). Ngay cả khi nhãn được
sử dụng làm ngữ cảnh, nó cần phải được mã hóa thành một biểu diễn đa chiều
(ví dụ, mã hóa một nóng). Do đó, cả Hình 10.9 và 10.10 đều chứa một thành phần
được biểu thị cụ thể để mã hóa ngữ cảnh. Trong công việc sớm nhất về GAN có
điều kiện [331], mạng lưới convolution được huấn luyện trước [255] được sử
dụng làm bộ mã hóa cho ngữ cảnh hình ảnh (không có lớp dự đoán nhãn cuối
cùng). AlexNet đã được đào tạo trước trên cơ sở dữ liệu ImageNet. Công việc
trong [331] thậm chí còn sử dụng cài đặt đa phương thức trong đó hình ảnh được
nhập cùng với một số chú thích văn bản. Đầu ra là một tập hợp các thẻ văn bản
khác mô tả hình ảnh. Đối với chú thích văn bản, mô hình word2vec (bỏ qua gram)
được đào tạo trước được sử dụng làm bộ mã hóa. Đáng chú ý là nó thậm chí có
thể tinh chỉnh trọng lượng của các mạng bộ mã hóa được đào tạo này trong khi
cập nhật trọng số của bộ tạo (bằng cách truyền qua lại bộ tạo tín hiệu vào bộ mã
hóa). Điều này đặc biệt hữu ích nếu bản chất của tập dữ liệu cho việc tạo đối
tượng trong GAN rất khác với các tập dữ liệu mà trên đó các bộ mã hóa được
pretrained. Tuy nhiên, tác phẩm gốc trong [331] đã sửa các bộ mã hóa này thành
cấu hình được đào tạo trước của chúng và vẫn có thể tạo ra các kết quả có chất
lượng cao hợp lý. Mặc dù mô hình word2vec được sử dụng trong ví dụ cụ thể ở
trên để mã hóa văn bản, một số tùy chọn khác có thể được sử dụng. Một lựa
chọn là sử dụng mạng nơron tái diễn, khi đầu vào là một câu đầy đủ chứ không
phải là một từ. Đối với các từ, có thể sử dụng một mạng tái diễn ở mức ký tự.
Trong mọi trường hợp, có thể bắt đầu với một bộ mã hóa được đào tạo thích hợp,
và sau đó tinh chỉnh nó trong quá trình đào tạo CGAN.

10.5. Học cạnh tranh


Hầu hết các phương pháp học tập được thảo luận trong cuốn sách này đều
dựa trên việc cập nhật trọng số trong mạng nơ-ron để sửa lỗi. Học tập cạnh tranh
là một mô hình cơ bản khác nhau, trong đó mục tiêu không phải là bản đồ đầu

39
vào cho đầu ra để sửa lỗi. Thay vào đó, các tế bào thần kinh cạnh tranh để có
quyền đáp ứng với một tập con của dữ liệu đầu vào tương tự và đẩy trọng số của
chúng gần hơn với một hoặc nhiều điểm dữ liệu đầu vào. Do đó, quá trình học tập
cũng rất khác với thuật toán backpropagation được sử dụng trong các mạng thần
kinh.
Ý tưởng rộng lớn trong đào tạo là như sau. Sự kích hoạt của một nơron
đầu ra tăng lên với sự tương đồng lớn hơn giữa vector trọng lượng của nơron và
đầu vào. Giả thiết rằng vectơ trọng lượng của nơron có cùng chiều với đầu vào.
Một cách tiếp cận phổ biến là sử dụng khoảng cách Euclidian giữa đầu vào và
vectơ trọng số để tính toán kích hoạt. Khoảng cách nhỏ hơn dẫn đến kích hoạt
lớn hơn. Đơn vị đầu ra có kích hoạt cao nhất cho một đầu vào đã cho được khai
báo là người chiến thắng và di chuyển đến gần đầu vào hơn.
Trong chiến lược giành lấy tất cả, chỉ có các nơron chiến thắng (tức là, các
tế bào thần kinh có kích hoạt lớn nhất) được cập nhật và các nơron còn lại vẫn
không thay đổi. Các biến thể khác của mô hình học tập cạnh tranh cho phép các
tế bào thần kinh khác tham gia vào bản cập nhật dựa trên các mối quan hệ khu
phố được xác định trước. Hơn nữa, một số cơ chế cũng có sẵn cho phép các tế
bào thần kinh ức chế lẫn nhau. Các cơ chế này là các hình thức của việc chuẩn
hóa có thể được sử dụng để tìm hiểu các biểu diễn với một loại cụ thể của cấu
trúc được xác định trước, rất hữu ích trong các ứng dụng như trực quan 2 chiều.
Đầu tiên, chúng ta thảo luận về một phiên bản đơn giản của thuật toán học tập
cạnh tranh, trong đó cách tiếp cận người chiến thắng-lấy-tất cả được sử dụng.
Gọi là một vector đầu vào trong các chiều d, và W i là vector trọng số liên
kết với nơron thứ i trong cùng một số thứ nguyên. Giả sử rằng tổng số m nơron
được sử dụng, trong đó m thường nhỏ hơn nhiều so với kích thước của tập dữ
liệu n. Các bước sau được sử dụng bằng cách lấy mẫu liên tục từ dữ liệu đầu
vào và thực hiện các phép tính sau:
1. Khoảng cách Euclide || W i - X || được tính cho mỗi i. Nếu nơron
pth có giá trị nhỏ nhất của khoảng cách Euclide, thì nó được công bố là người
chiến thắng. Lưu ý rằng giá trị của || W i - X || được coi là giá trị kích hoạt của
nơron thứ i.
2. Tế bào thần kinh pth được cập nhật bằng cách sử dụng quy tắc sau:
(
Wp ⇐ Wp + α X − Wp )
(10.20)
Ở đây, α> 0 là tỷ lệ học tập. Thông thường, giá trị của α nhỏ hơn nhiều 1.
Trong một số trường hợp, tỷ lệ học tập α giảm theo tiến trình của thuật toán. Ý
tưởng cơ bản trong học tập cạnh tranh là xem các vectơ trọng số như các nguyên
mẫu (như các centroid trong phân cụm k), và sau đó di chuyển nguyên mẫu
(thắng) một khoảng cách nhỏ về phía cá thể huấn luyện. Giá trị của α điều chỉnh
phần của khoảng cách giữa điểm và vectơ trọng số, theo đó chuyển động của
W p xảy ra. Lưu ý rằng k-means clustering cũng đạt được các mục tiêu tương tự,

40
mặc dù theo một cách khác. Sau khi tất cả, khi một điểm được gán cho các
centroid chiến thắng, nó di chuyển mà centroid bởi một khoảng cách nhỏ đối với
các trường hợp đào tạo ở phần cuối của iteration. Việc học tập cạnh tranh cho
phép một số biến thể tự nhiên của khuôn khổ này, có thể được sử dụng cho các
ứng dụng không giám sát như phân cụm và giảm kích thước.

10.5.1​​ ​Vector Quantization


Vector Quantization là ứng dụng đơn giản nhất của việc học tập cạnh
tranh. Một số thay đổi được thực hiện cho mô hình học tập cạnh tranh cơ bản với
khái niệm về độ nhạy. Mỗi nút có độ nhạy si ≥ 0 liên kết với nó. Giá trị độ nhạy
giúp cân bằng các điểm giữa các cụm khác nhau. Các bước cơ bản của lượng tử
hóa vector tương tự như trong thuật toán học tập cạnh tranh ngoại trừ những
khác biệt gây ra bởi cách si được cập nhật và sử dụng trong các tính toán. Giá trị
của si được khởi tạo là 0 cho mỗi điểm. Trong mỗi lần lặp lại, giá trị của si được
tăng thêm y > 0 cho người không thắng và đặt thành 0 cho người chiến thắng.
Hơn nữa, để chọn người chiến thắng, giá trị nhỏ nhất của || W i - X || - si được
sử dụng. Cách tiếp cận này có xu hướng làm cho các cụm cân bằng hơn, ngay cả
khi các khu vực khác nhau có mật độ thay đổi rộng rãi. Cách tiếp cận này đảm
bảo rằng các điểm ở các vùng dày đặc thường rất gần với một trong các vectơ
trọng số và các điểm trong các vùng thưa thớt được ước tính rất kém. Một thuộc
tính như vậy là phổ biến trong các ứng dụng như giảm kích thước và nén. Giá trị
của γ điều chỉnh hiệu ứng của độ nhạy. Thiết lập γ để 0 trở lại với việc học tập
cạnh tranh thuần túy như đã thảo luận ở trên. Ứng dụng phổ biến nhất của lượng
tử hóa vector là nén. Trong nén, mỗi điểm được biểu thị bằng trọng số véc tơ gần
nhất của nó W i , trong đó i nằm trong khoảng từ 1 đến m. Lưu ý rằng giá trị của
m nhỏ hơn nhiều so với số điểm n trong tập dữ liệu. Bước đầu tiên là xây dựng
một cuốn sách mã chứa các vectơ W i . . . W m , đòi hỏi một không gian của m · d
cho một tập dữ liệu của chiều d. Mỗi điểm được lưu trữ dưới dạng giá trị chỉ mục
từ 1 đến m, tùy thuộc vào vectơ trọng số gần nhất của nó. Tuy nhiên, chỉ yêu cầu
bit log 2 (m) để lưu trữ mỗi điểm dữ liệu. Do đó, yêu cầu không gian tổng thể là
md + log 2 (m) , thường ít hơn nhiều so với không gian ban đầu được yêu cầu n ·
d của tập dữ liệu. Ví dụ: tập dữ liệu chứa 10 tỷ điểm trong 100 thứ nguyên yêu
cầu không gian theo thứ tự 4 Terabyte, nếu cần 4 byte cho mỗi thứ nguyên. Mặt
khác, bằng cách định lượng với m = 106, không gian cần thiết cho cuốn sách mã
nhỏ hơn một nửa Gigabyte và cần 20 bit cho mỗi điểm. Do đó, không gian cần
thiết cho các điểm (không có sách mã) nhỏ hơn 3 Gigabyte. Do đó, yêu cầu không
gian tổng thể nhỏ hơn 3,5 Gigabyte bao gồm cả sách mã. Lưu ý rằng loại nén này
là mất mát và lỗi của xấp xỉ của điểm X là || W i - X || . Các điểm trong các vùng
dày đặc được ước lượng rất tốt, trong khi các điểm ngoại vi ở các vùng thưa thớt
gần như kém.

41
10.5.2​​ ​Kohonen Self-Organizing Map
Kohonen Self-Organizing Map là một biến thể về mô hình học tập cạnh
tranh trong đó cấu trúc giống như chuỗi 1 chiều hoặc 2 chiều được đặt trên các
nơron. Để có tính tổng quát hơn trong thảo luận, chúng ta sẽ xem xét trường hợp
trong đó cấu trúc giống như mạng tinh thể 2 chiều được đặt trên các nơron. Như
chúng ta sẽ thấy, loại cấu trúc mạng này cho phép ánh xạ tất cả các điểm tới
không gian 2 chiều để trực quan hóa. Một ví dụ về cấu trúc mạng 2 chiều của 25
nơron được bố trí trong một lưới hình chữ nhật 5 × 5 được thể hiện trong hình
10.11 (a). Một mạng lục giác chứa cùng số nơ-ron được thể hiện trong hình 10.11
(b). Hình dạng của mạng ảnh hưởng đến hình dạng của các vùng 2 chiều, trong
đó các cụm sẽ được ánh xạ. Trường hợp cấu trúc giống như chuỗi 1 chiều là
tương tự. Ý tưởng sử dụng cấu trúc mạng là các giá trị của W i trong các nơron
mạng liền kề có xu hướng tương tự nhau. Ở đây, điều quan trọng là xác định các
ký hiệu riêng biệt để phân biệt khoảng cách || W i - W j || và khoảng cách trên
mạng. Khoảng cách giữa các cặp tế bào thần kinh liền kề trên mạng chính xác là
một đơn vị. Ví dụ, khoảng cách giữa các nơron i và j dựa trên cấu trúc mạng trong

Hình 10.11 (a) là 1 đơn vị, và khoảng cách giữa các nơron i và k là √2 2
+32 =
√13 .

Khoảng cách vectơ trong bản gốc không gian đầu vào (ví dụ, || X − W i ||
hoặc || W i − W j ||) được ký hiệu bằng ký hiệu như Dist ( W i , W j ). Mặt khác,
khoảng cách giữa các nơron i và j dọc theo cấu trúc mạng được biểu thị bằng
LDist (i, j). Lưu ý rằng giá trị của LDist (i, j) chỉ phụ thuộc vào các chỉ số (i, j), và

42
độc lập với các giá trị của vectơ W i và W j . Quá trình học tập trong bản đồ tự tổ
chức được quy định theo cách mà sự gần gũi của các nơron i và j (dựa trên
khoảng cách mạng) cũng sẽ thiên vị các vectơ trọng lượng của chúng tương tự
nhau hơn. Nói cách khác, cấu trúc mạng của các bản đồ tự tổ chức hoạt động
như một trình bình thường trong quá trình học tập. Như chúng ta sẽ thấy sau, áp
đặt loại cấu trúc 2 chiều này vào trọng số đã học là hữu ích cho việc hình dung
các điểm dữ liệu ban đầu bằng cách nhúng 2 chiều. Thuật toán đào tạo bản đồ
tổng thể tự tổ chức diễn ra theo cách tương tự như học tập cạnh tranh bằng cách
lấy mẫu X từ dữ liệu huấn luyện và tìm ra nơron chiến thắng dựa trên khoảng
cách Euclide. Trọng số trong nơron chiến thắng được cập nhật theo cách tương
tự như thuật toán học tập cạnh tranh vani. Tuy nhiên, sự khác biệt chính là một
phiên bản giảm xóc của bản cập nhật này cũng được áp dụng cho các mạng láng
giềng của các tế bào thần kinh chiến thắng. Trong thực tế, trong các biến thể
mềm của phương pháp này, người ta có thể áp dụng bản cập nhật này cho tất cả
các tế bào thần kinh, và mức độ giảm xóc phụ thuộc vào khoảng cách mạng của
nơron đó đến nơron chiến thắng. Hàm giảm xóc luôn nằm trong [0, 1], thường
được định nghĩa bởi hạt nhân Gauss:

Ở đây, σ là băng thông của hạt nhân Gaussian. Sử dụng các giá trị cực
nhỏ của σ reverts cho thuần học-take-tất cả học tập, trong khi sử dụng giá trị lớn
hơn của σ dẫn đến thường xuyên hơn trong đó các mạng liền kề đơn vị có trọng
lượng tương tự hơn. Đối với các giá trị nhỏ của σ, chức năng giảm xóc sẽ là 1 chỉ
đối với nơron chiến thắng, và nó sẽ là 0 đối với tất cả các nơron khác. Vì thế, giá
trị của σ là một trong các tham số có sẵn cho người dùng để điều chỉnh. Lưu ý
rằng có thể thực hiện nhiều chức năng hạt nhân khác để kiểm soát quá trình
chuẩn hóa và giảm xóc. Ví dụ, thay vì hàm giảm xóc Gaussian trơn tru, người ta
có thể sử dụng một hạt nhân bước ngưỡng, điều này có giá trị là 1 khi LDist (i, j)
<σ và 0, ngược lại. Thuật toán đào tạo liên tục lấy mẫu X từ dữ liệu huấn luyện
và tính toán khoảng cách X cho mỗi trọng số Wi. Chỉ số p của nơron chiến thắng
được tính toán. Thay vì chỉ áp dụng bản cập nhật cho Wp (như trong tất cả người
chiến thắng), bản cập nhật sau được áp dụng cho mỗi W i :

Ở đây, α> 0 là tỷ lệ học tập. Nó là phổ biến để cho phép tỷ lệ học tập α
giảm theo thời gian. Các lần lặp này được tiếp tục cho đến khi đạt được hội tụ.
Lưu ý rằng trọng số là mạng liền kề sẽ nhận được các bản cập nhật tương tự và
do đó sẽ có xu hướng trở nên giống nhau hơn theo thời gian. Do đó, quá trình

43
đào tạo buộc các cụm liền kề mạng lưới phải có các điểm tương tự, rất hữu ích
cho việc hình dung. Sử dụng Bản đồ đã học cho các bản nhúng 2D Bản đồ tự tổ
chức có thể được sử dụng để tạo ra sự nhúng 2 chiều của các điểm. Đối với lưới
ak × k, tất cả các tọa độ mạng 2 chiều sẽ được đặt trong một hình vuông ở góc
phần tư dương với đỉnh (0, 0), (0, k - 1), (k - 1, 0) và (k - 1, k - 1). Lưu ý rằng mỗi
điểm lưới trong mạng là một đỉnh với các tọa độ nguyên. Việc nhúng 2 chiều đơn
giản nhất chỉ đơn giản bằng cách biểu diễn mỗi điểm X với điểm lưới gần nhất
của nó (tức là, nơron của người chiến thắng). Tuy nhiên, cách tiếp cận như vậy
sẽ dẫn đến việc biểu diễn các điểm trùng lặp. Hơn nữa, một đại diện 2 chiều của
dữ liệu có thể được xây dựng và mỗi tọa độ là một trong các giá trị k × k từ {0. . .
k − 1} × {0. . . k − 1}. Đây là lý do bản đồ tự tổ chức cũng được gọi là phương
pháp giảm kích thước được giảm kích thước. Có thể sử dụng các chẩn đoán khác
nhau để phân biệt các điểm trùng lặp này. Khi áp dụng cho dữ liệu tài liệu có
chiều cao, việc kiểm tra trực quan thường hiển thị các tài liệu của một chủ đề cụ
thể đang được ánh xạ tới một vùng địa phương cụ thể. Hơn nữa, tài liệu về các
chủ đề liên quan (ví dụ, chính trị và bầu cử) có xu hướng được ánh xạ tới các
vùng lân cận. Ví dụ minh họa về cách một bản đồ tự tổ chức sắp xếp các tài liệu
của bốn chủ đề với lưới hình chữ nhật và lục giác được thể hiện trong hình 10.12
(a) và (b), tương ứng. Các vùng được tô màu khác nhau, tùy thuộc vào chủ đề đa
số của các tài liệu thuộc về khu vực tương ứng. Bản đồ tự tổ chức có một cơ sở
thần kinh mạnh mẽ về mối quan hệ của họ với cách bộ não động vật có vú được
cấu trúc. Trong não động vật có vú, các loại đầu vào cảm giác khác nhau (ví dụ,
cảm ứng) được ánh xạ lên một số mặt phẳng gấp lại của các ô, được gọi là các
tờ [129]. Khi các bộ phận của cơ thể gần nhau nhận được đầu vào (ví dụ, đầu vào
xúc giác), thì các nhóm tế bào gần sát nhau trong não cũng sẽ cháy với nhau. Do
đó, các đầu vào lân cận (cảm giác) được ánh xạ tới gần nhau trong các nơron,
như trong trường hợp của bản đồ tự tổ chức. Cũng giống như nguồn cảm hứng
thần kinh của các mạng nơ-ron xoắn ốc, những hiểu biết đó luôn được sử dụng
cho một số hình thức chuẩn hóa. Mặc dù mạng Kohonen được sử dụng ít thường
xuyên hơn trong thời đại hiện đại của việc học sâu, nhưng chúng có tiềm năng
đáng kể trong môi trường không giám sát. Hơn nữa, ý tưởng cơ bản về cạnh
tranh thậm chí có thể được kết hợp trong các mạng chuyển tiếp nhiều lớp. Nhiều
nguyên tắc cạnh tranh thường được kết hợp với các mạng chuyển tiếp truyền
thống hơn. Ví dụ, các bộ mã hóa tự động r-sparse và winner-take-all (xem Phần
2.5.5.1 của Chương 2) đều dựa trên các nguyên tắc cạnh tranh. Tương tự như
vậy, khái niệm chuẩn hóa đáp ứng cục bộ (xem Mục 8.2.8 của Chương 8) dựa
trên sự cạnh tranh giữa các nơron. Ngay cả các khái niệm về sự chú ý được thảo
luận trong chương này sử dụng các nguyên tắc cạnh tranh về mặt tập trung vào
một tập con của các kích hoạt. Do đó, mặc dù bản đồ tự tổ chức đã trở thành
chúng có tiềm năng đáng kể trong cài đặt không giám sát. Hơn nữa, ý tưởng cơ
bản về cạnh tranh thậm chí có thể được kết hợp trong các mạng chuyển tiếp
nhiều lớp. Nhiều nguyên tắc cạnh tranh thường được kết hợp với các mạng

44
chuyển tiếp truyền thống hơn. Ví dụ, các bộ mã hóa tự động r-sparse và
winner-take-all (xem Phần 2.5.5.1 của Chương 2) đều dựa trên các nguyên tắc
cạnh tranh. Tương tự như vậy, khái niệm chuẩn hóa đáp ứng cục bộ (xem Mục
8.2.8 của Chương 8) dựa trên sự cạnh tranh giữa các nơron. Ngay cả các khái
niệm về sự chú ý được thảo luận trong chương này sử dụng các nguyên tắc cạnh
tranh về mặt tập trung vào một tập con của các kích hoạt. Do đó, mặc dù bản đồ
tự tổ chức đã trở thành chúng có tiềm năng đáng kể trong cài đặt không giám sát.
Hơn nữa, ý tưởng cơ bản về cạnh tranh thậm chí có thể được kết hợp trong các
mạng chuyển tiếp nhiều lớp. Nhiều nguyên tắc cạnh tranh thường được kết hợp
với các mạng chuyển tiếp truyền thống hơn. Ví dụ, các bộ mã hóa tự động
r-sparse và winner-take-all (xem Phần 2.5.5.1 của Chương 2) đều dựa trên các
nguyên tắc cạnh tranh. Tương tự như vậy, khái niệm chuẩn hóa đáp ứng cục bộ
(xem Mục 8.2.8 của Chương 8) dựa trên sự cạnh tranh giữa các nơron. Ngay cả
các khái niệm về sự chú ý được thảo luận trong chương này sử dụng các nguyên
tắc cạnh tranh về mặt tập trung vào một tập con của các kích hoạt. Do đó, mặc dù
bản đồ tự tổ chức đã trở thành ý tưởng cơ bản về cạnh tranh thậm chí có thể
được kết hợp trong các mạng chuyển tiếp nhiều lớp. Nhiều nguyên tắc cạnh tranh
thường được kết hợp với các mạng chuyển tiếp truyền thống hơn. Ví dụ, các bộ
mã hóa tự động r-sparse và winner-take-all (xem Phần 2.5.5.1 của Chương 2)
đều dựa trên các nguyên tắc cạnh tranh. Tương tự như vậy, khái niệm chuẩn hóa
đáp ứng cục bộ (xem Mục 8.2.8 của Chương 8) dựa trên sự cạnh tranh giữa các
nơron. Ngay cả các khái niệm về sự chú ý được thảo luận trong chương này sử
dụng các nguyên tắc cạnh tranh về mặt tập trung vào một tập con của các kích
hoạt. Do đó, mặc dù bản đồ tự tổ chức đã trở thành ý tưởng cơ bản về cạnh tranh
thậm chí có thể được kết hợp trong các mạng chuyển tiếp nhiều lớp. Nhiều
nguyên tắc cạnh tranh thường được kết hợp với các mạng chuyển tiếp truyền
thống hơn. Ví dụ, các bộ mã hóa tự động r-sparse và winner-take-all (xem Phần
2.5.5.1 của Chương 2) đều dựa trên các nguyên tắc cạnh tranh. Tương tự như
vậy, khái niệm chuẩn hóa đáp ứng cục bộ (xem Mục 8.2.8 của Chương 8) dựa
trên sự cạnh tranh giữa các nơron. Ngay cả các khái niệm về sự chú ý được thảo
luận trong chương này sử dụng các nguyên tắc cạnh tranh về mặt tập trung vào
một tập con của các kích hoạt. Do đó, mặc dù bản đồ tự tổ chức đã trở thành 1
của Chương 2) đều dựa trên các nguyên tắc cạnh tranh. Tương tự như vậy, khái
niệm chuẩn hóa đáp ứng cục bộ (xem Mục 8.2.8 của Chương 8) dựa trên sự cạnh
tranh giữa các nơron. Ngay cả các khái niệm về sự chú ý được thảo luận trong
chương này sử dụng các nguyên tắc cạnh tranh về mặt tập trung vào một tập con
của các kích hoạt. Do đó, mặc dù bản đồ tự tổ chức đã trở thành 1 của Chương
2) đều dựa trên các nguyên tắc cạnh tranh. Tương tự như vậy, khái niệm chuẩn
hóa đáp ứng cục bộ (xem Mục 8.2.8 của Chương 8) dựa trên sự cạnh tranh giữa
các nơron. Ngay cả các khái niệm về sự chú ý được thảo luận trong chương này
sử dụng các nguyên tắc cạnh tranh về mặt tập trung vào một tập con của các kích
hoạt. Do đó, mặc dù bản đồ tự tổ chức đã trở thành

45
10.6 Những hạn chế của mạng Neural
Deeping Learning đã đạt được những tiến bô ̣ đáng kể trong những năm
gần đây, và thâṃ trí còn vượt trôị hơn loài người ở môṭ số nhiêm ̣ vụ như phân loại
hình ảnh.
Tương tự, sự thành công của học củng cố để thể hiên ̣ qua hiêu ̣ suất tuyêṭ
vời trong môṭ số game yêu cầu lâp ̣ kế hoạch tuần tự, sự thành công này đã khá
phi thường rồi. Chính vì vâỵ , thâṭ không sai nếu ta nói trí tuê ̣ nhân tạo có thể đến
gần hoăc̣ thâṃ trí vượt qua khả năng của con người.
Nhưng ta có thể thấy trong mạng Neural, lượng năng lượng được yêu cầu
đối với mạng thần kinh cho các nhiệm vụ khác nhau có mức tiêu thụ vượt xa so
với con người cho các nhiệm vụ tương tự. Những quan sát này cho thấy những
hạn chế cơ bản về khả năng của mạng Neural vượt quá một số thông số về hiệu
suất so với con người. Trong phần tiếp theo, chúng tôi thảo luận các vấn đề này
cùng với một số hướng nghiên cứu gần đây.

10.6.1 Mục tiêu One-Shot Learning


Mặc dù Deep learning đã nhận được sự chú ý ngày càng lớn trong những
năm gần đây vì nó thành công trên các nhiệm vụ học quy mô lớn (so với hiệu suất
chưa thực sự tốt trong những năm đầu tiên trên các tập dữ liệu nhỏ hơn), điều
này cũng cho thấy một điểm yếu quan trọng trong Công nghệ Deep learning hiện
tại. Đối với các tác vụ như phân loại hình ảnh, nơi mà Deep learning đã vượt quá
hiệu suất so với con người, nó đã tạo ra một mẫu-không hiệu quả.
Ví dụ: ImageNet- cơ sở dữ liệu chứa hơn một triệu hình ảnh và mạng thần
kinh thường sẽ yêu cầu hàng ngàn mẫu của một lớp được phân loại đúng cách.
Con người không cần hàng chục hàng ngàn hình ảnh của một chiếc xe tải, để biết
rằng đó là một chiếc xe tải. Nếu một đứa trẻ được cho xem một chiếc xe tải một
lần, đứa trẻ ấy đó có thể nhận ra một chiếc xe tải khác ngay cả khi nó có một chút
khác biệt về hình dạng và màu sắc. Điều này cho thấy con người có khả năng
tổng quát hơn nhiều so với mạng thần kinh nhân tạo.
Vâỵ nguyên tắc chung là có thể học hỏi từ một hoặc rất ít ví dụ được gọi là
One-Shot learning. Khả năng của con người để khái quát hóa với ít ví dụ hơn là
không đáng ngạc nhiên vì kết nối của các tế bào thần kinh trong não người có cấu
tạo thâṭ tuyêṭ vời và kiến trúc đồng thời cao. Kiến trúc này đã phát triển qua hàng
triệu năm và đã xuyên suốt từ thế hệ này sang thế hệ khác. Theo nghĩa gián tiếp,
cấu trúc kết nối thần kinh của con người đã mã hóa một loại "kiến thức" thu được
từ "trải nghiệm tiến hóa" hơn hàng triệu năm. Hơn nữa, con người cũng có được
kiến thức trong cuộc đời của họ qua một - nhiều công viêc̣ khác nhau, giúp họ tìm
hiểu các nhiêm ̣ vụ cụ thể nhanh hơn. Từ đó, viêc̣ học các nhiệm vụ cụ thể (như
nhận ra một chiếc xe tải) đơn giản chỉ là điều chỉnh viêc̣ mã hóa gồm những kiến
thức ban đầu đã có và cái có được trong trải nghiêm ̣ của cuộc đời con người đó
46
lại. Nói cách khác, con người là bậc thầy về chuyển giao học tập cả trong chính
bản thân họ và đến các thế hệ sau.
Các hình thức phát triển tổng quát trong Transfer Learning mà tại đó, thời
gian training dành cho các tác vụ cụ thể không được vứt bỏ mà thay vào đó được
tái sử dụng . Transfer Learning một lĩnh vực quan trọng trong nghiên cứu trong
tương lai.
Đến một mức hạn chế nào đó, lợi ích của việc Transfer Learning đã được
chứng minh trong Deep learning.
Ví dụ: Nhiều mô hình học tập tính năng văn bản được sử dụng lại trên
nhiều tác vụ khai phá văn bản. Nói chung, việc chuyển giao kiến thức có thể là
extracted features, model parameters, hay contextual information.
Có một hình thức Transfer Learning khác đó là dựa trên các khái niệm của
viêc̣ học qua các tác vụ. Ý tưởng cơ bản là luôn tái sử dụng training work đã được
thực hiện xong hoàn toàn hoặc một phần để cải thiện khả năng học các tác vụ
khác. Nguyên tắc này được gọi là Learning-to-learn. Thrun và Platt(497) định
nghĩa Learning-to-learn như sau: Có môṭ tâp ̣ các tác vụ , mỗi tác vụ đều đã trải
qua training và một tâp ̣ các phép đo hiệu suất công viêc̣ , một thuật toán để học
nếu hiệu suất tại mỗi tác vụ cải thiện cả về kinh nghiệm và số lượng tác vụ.
Khó khăn chủ yếu trong Learning- to-learn thực sự là viêc̣ các tác vụ đều
có môṭ phần nào đó khác nhau, vâỵ nên thật khó để thực hiện chuyển giao kinh
nghiệm qua các tác vụ.
Do đó, Rapid learning xảy ra trong tác vụ, trong khi việc học có hướng dẫn
thông qua kiến thức đã đạt được dần dần qua các tác vụ và nắm bắt cách thức
mà tại đấy cấu trúc các tác vụ thay đổi theo tên miền đích.
Nói cách khác, có một cấu trúc hai tầng cho biết cách các nhiệm vụ được
học. Khái niệm này cũng được gọi là Meta- Learning, mặc dù thuật ngữ này bị
overloaded và nó được sử dụng trong một số khái niệm khác trong Machine
learning.
Khả năng của Learning- to- learn là chất lượng sinh học độc đáo, nơi sinh
vật sống có xu hướng cải thiên ̣ hiệu suất ngay cả ở các tác vụ yếu. Ở cấp độ
yếu, pre-training trong các mạng là một ví dụ về Learning- to - learn, bởi vì chúng
ta có thể sử dụng trọng số của mạng đã được đào tạo trên một tập dữ liệu cụ thể
để viêc̣ học tập trong môi trường mới được diễn ra nhanh chóng hơn.
Ví dụ, trong một mạng nơ-ron xoắn, các tính năng trong nhiều tầng ban
đầu là các hình dạng nguyên thủy (ví dụ: cạnh) và chúng giữ nguyên lại khả năng
sử dụng của chúng mà không phân biệt loại công việc và tập dữ liệu mà chúng
được áp dụng. Vì thế, tầng cuối cùng có thể là nhiệm vụ đặc biệt cao. Tuy nhiên,
ở các training một lớp, chúng ta cần ít dữ liệu hơn toàn bộ mạng.
Viêc̣ sớm áp dụng One- Shot Learning sử dụng Bayes frameworks để
chuyển những kiến thức đã học từ một loại này đến thể loại khác. Nó đã mang lại
môṭ số thành công như tại Meta- Learning. Với việc sử dụng các kiến ​trúc có cấu
trúc tận dụng các khái niệm về đệ quy và trí nhớ. Đặc biệt, kết quả tốt đã được

47
thể hiện qua các nhiệm vụ học tập trên các danh mục với Neural Turing Machine(
cách tiếp cận cơ bản để truy cập bộ nhớ trong Deep Learing ).
Khả năng của các mạng được tăng cường bộ nhớ để học hỏi từ dữ liệu
hạn chế đã được biết đến trong một thời gian dài. Ví dụ: ngay cả mạng với bộ nhớ
trong như LSTM đã được chứng minh cho thấy hiệu suất ấn tượng cho việc học
các hàm bậc hai với một số ít ví dụ.
Neural Turing Machine là một kiến ​trúc tốt hơn về mặt này, và công việc chỉ
ra cách làm thế nào nó có thể được tận dụng trong Meta- Learning​. Neural Turing
Machine cũng đã được được sử dụng để xây dựng mạng phù hợp cho One-shot
learning [507]. Mặc dù các công viêc̣ này đại diện cho những tiến bộ trong
One-shot learning nhưng khả năng của những phương pháp vẫn còn khá thô sơ
so với con người. Do đó, chủ đề này vẫn là một vấn đề mở để nghiên cứu trong
tương lai.

48
10.6.2 Mục tiêu Energy- Efficient Learning

Liên quan mật thiết đến hiệu quả mẫu thử là hiệu quả năng lượng. Các hệ
thống Deep learning hoạt động trên phần cứng hiệu năng cao khiến năng lượng
không hiệu quả và yêu cầu môṭ lượng lớn năng lượng để hoạt động.

Ví dụ: nếu sử dụng nhiều GPU song song để thực hiện một nhiệm vụ tính
toán chuyên sâu, người ta có thể dễ dàng sử dụng nhiều hơn một kWh. Trong khi
đó, bộ não con người hầu như không đòi hỏi 20W để hoạt động( ít hơn nhiều so
với sức mạnh yêu cầu của một bóng đèn) . Một điểm khác là bộ não con người
thường không thực hiện các phép tính chi tiết một cách chính xác, mà chỉ đơn
giản là ước tính. Trong nhiều thiết lập học tập, điều này là vừa đủ và đôi khi có thể
thêm vào năng lượng tổng quát. Điều này cho thấy rằng đôi khi hiệu quả năng
lượng có thể được tìm thấy trong các kiến trúc mà nó nhấn mạnh sự tổng quát về
độ chính xác.

Một số thuật toán gần đây đã được phát triển mà đô ̣ chính xác cân bằng
trong tính toán giúp cải thiện hiệu năng hơn. Một số phương pháp này cũng cho
thấy được sự cải thiêṇ chung đối với các hiệu ứng tiếng ồn trong các phép tính
chính xác thấp. Ngoài ra, môṭ số thuâṭ toàn còn được đề xuất các phương pháp
như sử dụng trọng số nhị phân để thực hiện tính toán hiệu quả.

Một số loại mạng Neural có chứa các neural thần kinh, được biết là tiết
kiệm năng lượng hơn. Khái niệm về Spiking neurons trực tiếp dựa trên mô hình
sinh học của bộ não động vật có vú. Ý tưởng cơ bản là các tế bào thần kinh
không bắt lửa ở mỗi chu kỳ truyền, và chúng chỉ cháy khi điện thế màng đạt tới
môṭ giá trị cụ thể. Điên
̣ thế của màng tế bào là chất lượng nội tại của một nơron
liên kết với điện tích của nó. Energy efficiency thường đạt được khi kích thước
của mạng thần kinh nhỏ và kết nối dự phòng được cắt tỉa. Loại bỏ kết nối dự
phòng cũng hỗ trợ trong quá trình chuẩn hóa.

49
Công việc trong [169] đề xuất để tìm hiểu trọng lượng và kết nối trong
Neural Networks bằng cách cắt tỉa các kết nối dự phòng. Đặc biệt, khi trọng
lượng sấp xỉ 0 sẽ có thể được gỡ bỏ. Như đã thảo luận trong Chương 4, training
trong Networks để trọng lượng gần bằng 0 có thể đạt được với L1-regularization.
Tuy nhiên, công trình trong [169] chỉ ra rằng L2- regularization cho độ chính xác
cao hơn. Do đó, công việc trong [169] là sử dụng L2 và tỉa các trọng số dưới
ngưỡng cụ thể. Việc cắt tỉa được thực hiện trong một lần lặp, nơi trọng số được
training lại sau khi cắt tỉa, và sau đó là các cạnh của trọng số thấp được cắt tỉa
một lần nữa. Trong mỗi lần lặp lại, trọng số được train từ giai đoạn trước được sử
dụng cho giai đoạn tiếp theo. Kết quả là, môṭ mạng dày đặc có thể được dàn thưa
ra thành một mạng với ít kết nối hơn. Hơn nữa, các tế bào thần kinh chết có các
kết nối đầu vào và đầu ra bằng không được cắt tỉa.

Các cải tiến khác đã được báo cáo ở [168] về cách tiếp với mã hóa
Huffman và lượng tử hóa để nén. Các mục tiêu của lượng tử hóa là để giảm số bit
đại diện cho mỗi kết nối. Cách tiếp cận này giảm dung lượng theo yêu cầu của
AlexNet [255] theo hệ số 35, từ khoảng 240MB đến 6,9MB mà vẫn giữ được độ
chính xác. Kết quả là, nó trở lên phù hợp với mô hình SRAM- chip trong trên chip
thay vì bộ nhớ DRAM chip ngoài ). Điều này có lợi ích từ tốc độ, hiệu quả năng
lượng, cũng như khả năng thực hiện tính toán di động trong các thiết bị nhúng.
Đặc biệt, một máy gia tốc phần cứng đã được sử dụng trong [168] để đạt được
những mục tiêu này, và khả năng tăng tốc này được kích hoạt từ khả năng phù
hợp với mô hình trên bộ đệm SRAM.

Một hướng khác là phát triển phần cứng được điều chỉnh trực tiếp cho
mạng Neural. Đáng chú ý là không có sự phân biệt giữa phần mềm và phần cứng
trong con người; trong khi sự khác biệt này giúp ích cho viêc̣ bảo trì máy tính. Nói
đơn giản, phần cứng và phần mềm được tích hợp chặt chẽ trong mô hình máy
tính lấy cảm hứng từ não. Trong những năm gần đây, sự tiến bộ này đã được áp
dụng trong lĩnh vực tính toán thần kinh [114]. Khái niệm này dựa trên kiến trúc
chip mới chứa các nơron thần kinh, các khớp thần kinh có độ chính xác thấp, và
một mạng lưới liên kết có thể mở rộng.

10.7 Tóm tắt


Trong chương này, một số chủ đề nâng cao trong Deep learning sẽ được
thảo luận. Chương bắt đầu với một cuộc thảo luận về các cơ chế Attention. Các
cơ chế này đã được sử dụng cho cả dữ liệu hình ảnh và văn bản. Trong mọi
trường hợp, sự kết hợp của Attention đã được cải thiện về năng lượng chung của
mạng thần kinh bên dưới. Cơ chế Attention cũng có thể được sử dụng để tăng bô ̣
nhớ các máy tính có bộ nhớ ngoài. Mạng tăng cường bộ nhớ có các tính chất lý

50
thuyết tương tự như mạng Neural tái phát (RNN- Recurrent Neural Network )trong
Turing.
Tuy nhiên, nó có xu hướng thực hiện tính toán theo cách dễ hiểu hơn và
do đó, các tâp̣ dữ liêu
̣ test được tổng quát tốt và có phần khác với dữ liệu đào
tạo. Ví dụ, người ta có thể làm việc chính xác với chuỗi dài hơn tập dữ liệu đào
tạo để thực hiện phân loại. Ví dụ đơn giản nhất của mạng tăng cường bộ nhớ là
một Neural Turing Machine được khái quát hóa thành khái niệm về một máy tính
thần kinh khác.
Mạng sinh đối khoáng ( GAN- ​Generative adversarial networks ​) là kỹ thuật
mới gần đây, và sử dụng trong quá trình tương tác đối lâp ̣ giữa một mạng lưới
sinh sản và một mạng phân biệt để tạo ra các mẫu tổng hợp tương tự như một cơ
sở dữ liệu của các mẫu thực. Các mạng như vậy có thể được sử dụng như các
mô hình sinh sản tạo ra các mẫu đầu vào để kiểm tra thuật toán cho Machine
Learning.
Ngoài ra, bằng cách áp đặt một điều kiện vào quá trình sinh sản, nó có thể
tạo ra các mẫu với các loại ngữ cảnh khác nhau. Những ý tưởng này đã được sử
dụng trong nhiều ứng dụng như dịch văn bản sang hình ảnh và hình ảnh sang
hình ảnh.
Nhiều chủ đề nâng cao cũng đã được khám phá trong những năm gần đây
chẳng hạn như One-Shot Learning và Energy- efficient Learning. Đây là những
lĩnh vực trong công nghệ mạng Neural mà các khả năng giống của con người.
Mặc dù có những tiến bộ đáng kể trong những năm gần đây, nhưng nó vẫn là
những phạm vi nghiên cứu đáng quan tâm trong tương lai.

10.8 Bài tập

1. Đ​ iểm khác biệt chính trong các phương pháp training được sử
dụng cho mô hình hard-attention và mô hình soft-attention? (What are
the main differences in the approaches used for training hard-attention
and soft-attention models?)
Trả lời:
Soft-attention mang tính chất quyết định còn hard-attention thì
không. Xét một ví dụ về phương pháp training của 2 cơ chế: Mô hình
tạo chú thích bằng cơ chế attention:

51
Hàng trên cho thấy phương pháp mà mô hình soft-attention sử dụng
để tạo ra những gì mô hình này đang tập trung vào, hàng dưới là của
mô hình hard-attention. Mỗi khi mô hình tạo ra một từ mới trong chú
thích, nó sẽ tạo ra một bản đồ attention (Hàm mật độ xác suất có sum
= 1). Lớp phủ màu đen trắng trong hình là bản đồ mật độ.
+ Với mô hình soft-attention, nhân bản đồ attention lên bản đồ đặc
trưng (bằng cách cung cấp hình ảnh qua mạng neural tích chập)
rồi tổng hợp lại. Việc này làm cho các đặc điểm tại vùng sáng(
vùng tập trung) chi phối các tính năng không liên quan khác
trong cùng thời gian đó.
+ Đối với mô hình hard-attention, ta vẫn có hàm mật độ nhưng chỉ
lấy một hoặc 2 tính năng. Việc lấy mẫu sẽ được thực hiện với
hàm mật độ xác suất, và do được lấy mẫu ngẫu nhiên nên nó sẽ
không mang tính quyết định. Tuy nhiên ta vẫn có thể mong đợi
khu vực này có cơ hội tập trung cao hơn so với các vùng khác.

2. ​Chỉ ra cách bạn có thể sử dụng các mô hình chú ý để cải thiện ứng
dụng phân loại mã thông báo của Chương 7.
Trả lời:
- Cách có thể sử dụng các mô hình chú ý để cải thiện ứng dụng phân
loại mã thông báo của Chương 7:

+ Trên đây là mô hình phân loại mã thông báo trong chương 7.

52
+ Ta sẽ cải tiến bằng cách thêm vector chú ý a4 được tính bằng cách
lũy thừa các sản phẩm điểm số giữa h (1)
t
và h s(2) . ​Sử dụng công thức:

+ ​Đồng thời, ta sử dụng trung bình các vector nguồn có trọng số


tương tự để tạo ra một vector ngữ cảnh c4 . Sử dụng công thức:

+ Từ đó, ta có mô hình sau:

+ Trên đây chính là mô hình cải thiện từ mô hình ở chương 7.

53
​ hảo luận mối liên hệ giữa ​k-​ means algorithm và competitive
3. T
learning.
Trả lời:
Để biết K-mean có liên quan như thế nào đến Competitive learning,
trước tiên ta cần biết Competitive learning là gì.
Competitive learning ​là một hình thức học không giám sát trong
Mạng Neural. Trong đó các nút cạnh tranh để giành quyền phản hồi từ
một tập hợp con dữ liệu đầu vào. Học tập cạnh tranh hoạt động bằng
cách tăng tính chuyên môn hóa của từng nút trong mạng.
Trong quá trình đào tạo, chỉ có các nơron chiến thắng (tức là,
các tế bào thần kinh có kích hoạt lớn nhất) được cập nhật và các
nơron còn lại vẫn không thay đổi.Chiến lược này được gọi là chiến
thắng tất cả.
Đối với mỗi vectơ đầu vào, các nơ-ron cạnh tranh, cạnh tranh với
nhau để xem cái nào trong số chúng giống với vectơ đầu vào cụ thể
nhất. Tế bào thần kinh chiến thắng m thiết lập đầu ra của nó và tất cả
các tế bào thần kinh cạnh tranh khác thiết lập đầu ra của chúng .
Ta có thể thấy phân cụm là một ví dụ cụ thể của Competitive
learning.
Mà K-mean là môṭ bài toán phân cụm dữ liêụ điển hình.
K-means clustering cũng đạt được các mục tiêu tương tự Competitive
learning, mặc dù theo một cách khác
Bài toán giúp phân vùng dữ liêụ đầu vào thành k cụm được đại
diêṇ bởi trọng tâm của cụm đó. Với mỗi điểm dữ liêụ không được
chọn là điểm trung tâm thì tính toán khoảng cách từ chính điểm đó
đến các tâm cụm và quyết định cụm nào gần mình nhất đề phân vào
cụm đó. Nó cũng giống viêc̣ các nơ-ron thần kinh cạnh tranh và tìm ra
điểm chiến thắng tất cả.

4. ​Thực hiện Kohonen self-organizing map với (i) một mạng hình chữ
nhật và (ii) một mạng lục giác.
Trả lời:

54
Cấu trúc lục giác đều và cấu trúc hình chữ nhật

Input: Dữ liệu huấn luyện gồm tập n vector: V={V1, V2, …, Vi, …, Vn},
mỗi vector ứng với một neural (nút) đầu vào; Trong đó, mỗi vector Vi
gồm p chiều: Vi={v1, v2, …, vp}.

Khởi tạo tham số số lần lặp t=1

Bước 1: K
​ hởi tạo vector trọng số cho mỗi neural

Tương ứng với mỗi vector Vi, vector trọng số Wi cũng gồm p chiều
Wi={w1, w2, …, wp} Và tập vector trọng số có m bộ: W={W1, W2, …,
Wi, …, Wm}

Bước 2: C
​ họn ngẫu nhiên một vecto ​Vi ϵ V làm mẫu huấn luyện

Bước 3​​: ​Tìm mẫu khớp tốt nhất BMU (Best Matching Unit)–phần
tử neural chiến thắng

55
Tìm phần tử khớp nhất giữa các vector trọng số Wi𝜖W và vecto đầu
vào Vi. Neural nào có vector trọng số Wi gần với vector đầu vào Vi
nhất thì neural đó được chọn là BMU. Để xác định BMU, ta tính
khoảng cách Euclid giữa các vector trọng số Wi với vector Vi chọn ở
Bước 2 theo công thức sau:

Trong đó:
​ ​Dist1: khoảng cách giữa vector trọng số Wi và vector đầu vào Vi
V_i: vecto đầu vào đang xét
W_i: vector trọng số của phần tử được chọn
Dist1 min thì neural có vector trọng số tương ứng được chọn là BMU.

Bước 4: X ​ ây dựng các phần tử lân cận.


Bước này sẽ xác định các neural nào thuộc vùng lân cận của
BMU. Để xác định vùng lân cận của BMU, tính bán kính lấy tâm là
BMU tới các neural còn lại, gọi là bán kính lân cận. Neural nào có
khoảng cách tới BMU nằm trong bán kính lân cận thì neural đó là
phần tử lân cận của BMU. Bán kính lân cận được xác định lớn nhất
thường là bán kính tính theo kích thước của mạng, nhưng sau đó giá
trị này sẽ giảm dần sau một số bước thực hiện. Bán kính lân cận của
BMU tại thời điểm t được xác định bằng công thức:

Trong đó:
σ(t): bán kính lân cận của BMU tại thời điểm t.
σ0: bán kính lân cận của BMU tại thời điểm t0 và được tính bằng công
thức:

Width: chiều rộng mạng Kohonen (do người dùng tự định nghĩa).
Height: chiều dài mạng Kohonen (do người dùng tự định nghĩa).
t: bước lặp hiện tại.

56
λ: hằng số thời gian. Trong đó:
(N: số lần lặp để chạy thuật toán.)
Sau khi tính được bán kính lân cận, ta tính khoảng cách từ
BMU tới các neural còn lại để xác định neural nào là phần tử lân
cận của BMU. Nếu khoảng cách đó nhỏ hơn bán kính thì neural
tương ứng là phần tử lân cận của BMU. Khoảng cách từ BMU
tới các neural được tính theo công thức Euclid:

Dist2: khoảng cách từ BMU tới các neural còn lại.

Các phần tử lân cận bao gồm BMU sẽ được cập nhật lại
trọng số ở bước tiếp theo.

Bán kính lân cận và phần tử lân cận sau một số lần lặp

Bước 5: Hiệu chỉnh trọng số các phần tử lân cận –


Quá trình học của SOM Trọng số của các phần tử lân cận đã
xác định ở bước 4 bao gồm cả BMU sẽ được hiệu chỉnh để
chúng có giá trị gần giống với giá trị của vector đầu vào đang
xét. Các vector trọng số được hiệu chỉnh theo công thức:

57
Trong đó:

W(t+1): vector trọng số tại bước lặp (t+1).

W(t): vector trọng số tại bước lặp t.

θ(t): hàm nội suy theo thời gian học, nó thể hiện sự tác động của
khoảng cách đối với quá trình học.

Hàm nội suy θ(t) được tính theo công thức:

Trong đó:

Dist2: khoảng cách từ BMU tới các phần tử lân cận.

L(t): hàm nội suy tốc độ học cho mỗi bước lặp được tính theo
công thức:

L0: giá trị khởi tạo ban đầu của tốc độ học.

Tốc độ học được nội suy dần sau một số lần lặp và giá trị
của hàm sẽ tiến dần về 0 khi số lần lặp đạt tới những bước cuối
cùng.

Bước 6: Tăng t, lấy mẫu huấn luyện tiếp theo

58
Lặp lại bước 2 cho đến giải thuật tối ưu tức W(t+1)=W(t)
hoặc đạt đến số lần lặp xác định N cho trước (t = N). Thuật toán
dừng khi thực hiện đủ số lần lặp hoặc không có sự thay đổi nào
của các vector trọng số.

5. ​Hãy xem xét một trò chơi hai người chơi như GANs với hàm mục
tiêu f(x,y) và chúng tôi muốn tính toán minx maxy f(x,y). Thảo luận về
mối quan hệ giữa minx maxy f(x,y) và maxy minx f(x,y). Khi nào chúng
bằng nhau?
Trả lời:
● Mối quan hệ ​giữa minx maxy f(x,y) và maxy minx f(x,y) là mối quan
hệ nghịch đảo. Khi minx maxy f(x,y) được giảm thiểu thì maxy
minx f(x,y) sẽ được tối đa hóa và ngược lại.
● minx maxy f(x,y) và maxy minx f(x,y) bằng nhau khi trò chơi đạt
trạng thái cân bằng. Có thể hiểu là 2 người chơi hòa nhau.

6. ​Hãy xem xét hàm f(x, y) = sin (x + y), trong đó chúng tôi đang cố
gắng minimize f (x, y) theo x và maximize theo y. Thực hiện quy trình
xen kẽ giữa gradient descent và gradient ascent được thảo luận trong
sách dành cho GAN để tối ưu hóa hàm này.
Bạn có luôn dùng cùng một giải pháp trên các điểm khởi đầu khác
nhau?
Trả lời:
code của bài toán: 6.py
➢ Ta tính đạo hàm của f(x, y):
● f ’(x, y) = cos(x+y)

➢ Áp dụng xen kẽ giữa gradient descent và gradient ascent để


minimize f (x, y) theo x và maximize theo y:

59
● Chọn giá trị khởi tạo cho x, y
● Chọn hệ số tốc độ học η (eta)
● Mỗi vòng lặp:
○ ta cố định y và cập nhật x theo công thức của
gradient descent:
x = x - ​η.f ‘(x, y)
○ Sau đó, ta cố định x và cập nhật y theo công thức
của gradient ascent:
y = y + ​η.f ‘(x, y)
● Thuật toán dừng khi đạt đến saddle point (điểm yên ngựa),
điểm mà vừa là cực tiểu cục bộ, vừa là cực đại cục bộ của
hàm số; hoặc dừng khi đạo hàm của hàm số là đủ nhỏ.
Đối với hàm f(x, y) = sin(x+y) thì không có saddle point nên
thuật toán có thể dừng khi đạt đến cực đại cục bộ (f(x, y) =
1) hoặc cực tiểu cục bộ (f(x, y) = -1)

Toàn bộ thuật toán và kết quả và hình minh họa sự cập nhật của x và
y như 4 hình dưới đây:

60
● Thuật toán thực hiện với 2 bộ khởi tạo (x, y, eta) là (0, 0, 0.1) và
(-5, -5, 0.1)

61
● Với (x, y, eta) = (-5, -5, 0.1), thuật toán dừng sau 735 vòng lặp,
tại x = 7.482824, y = 18.477403, là điểm cực đại của hàm số
● Với (x, y, eta) = (0, 0, 0.1), thuật toán dừng sau 993 vòng lặp, tại
x = -37.740597, y = 36.170792, là điểm cực tiểu của hàm số

62

You might also like