You are on page 1of 14

tạp chí

TRÍ TUỆ NHÂN TẠO


Deep Reinforcement Learning Review
Tạp chí Trí tuệ Nhân tạo
Số 1, phát hành ngày 01/09/2017
Hà Nội

Website: www.tapchiai.com
Email: tapchiai@gmail.com
Facebook: @tapchiai
Twitter: @tapchiai
GitHub: @tapchiai

Mọi đóng góp về chất lượng, nội dung tạp chí


xin gửi về địa chỉ email tapchiai@gmail.com
hoặc qua các mạng xã hội nêu trên.
Ban Biên Tập xin chân thành cảm ơn!!!

Contributors
Mr. Hà Đỗ
Ms. Lưu Bích Hồng
MỤC LỤC

Trí tuệ Nhân tạo là gì?...........................................................................[4]

Hiện trạng công nghệ Artificial Intelligence ...........................................[5]

Cơ bản về Reinforcement Learning ........................................................[9]

The Game The Testbed .......................................................................[11]

Toán học và Trí tuệ Nhân tạo [The Tutorial] ......................................[14]


TRÍ TUỆ
NHÂN TẠO
LÀ GÌ?
Trí tuệ Nhân tạo (Artificial Intelligence - AI),
không có một định nghĩa chính thức nào định
nghĩa Trí tuệ Nhân tạo là gì nhưng hầu hết các
nhà nghiên cứu đều đồng ý rằng Trí tuệ Nhân
tạo là môn khoa học chế tạo những cỗ máy có
khả năng thực hiện những tac vụ vốn cần đến
trí thông minh của con người. Trí tuệ Nhân tạo
cũng được dùng để nói về chính những cỗ máy
đó. AI là một ngành khoa học rất rộng bao gồm
nhiều lĩnh vực nghiên cứu nhỏ như Machine
Learning (ML), Natural Language Processing
(NLP), thị giác máy tính (computer vision), ro-
botic ..v.v.
Những ý tưởng đầu tiên về Trí tuệ Nhân tạo
được Alan Turing, nhà khoa học đã khai sinh
ra ngành khoa học máy tính và là người chế
tạo chiếc máy tính đầu tiên, đưa ra từ những
năm 1950, trước cả sự xuất hiện của máy vi
tính hiện đại. Trong bài giải trước Cộng đồng
toán học London năm 1947, Alan đã nói về ý
tưởng những cỗ máy có thể học từ con người:
“It would be like a pupil who had learnt much
from his master, but had added much more by
his own work”. Từ đó đến nay, AI trải qua rất
nhiều giai đoạn phát triển. Mỗi khi có một lý
thuyết mới được phát minh, tành tựu mới được
chinh phục, AI lại trở thành tâm điểm của giới
nghiên cứu. Nhưng rồi những giới hạn trong
khả năng tính toán, những giới hạn trong lý
thuyết-thuật toán hay giới hạn về dữ liệu mà
AI lại lắng xuống. Tuy vậy, những nghiên cứu về
AI chưa bao giờ dừng lại.

Tạp chí Trí tuệ Nhân tạo Issue 1 [4]


Hiện trạng
công nghệ
Artificial Benedict Cumberbatch đóng vai Alan Turing trong bộ phim The
Imitation Game (2014).

Intelligence
cách mạng công nghiệp lần thứ 4 của nhân loại.
Các cá nhân, tập đoàn công nghệ, chính phủ
đều quan tâm và dành kinh phí đầu tư cho quá
trình nghiên cứu và phát triển AI.
Kết quả khảo sát của hãng tư vấn McKinsey
Cột mốc đánh dấu sự trở lại và bùng nổ của Global Institue cho biêt AI đang nhận được rất
AI có lẽ là khi Deep Blue, một AI do IBM xây nhiều nguồn lực đầu tư. Ước tính các công ty
dựng đã đánh bại kỳ thủ cờ vua vô địch thế giới công nghệ hàng đầu như Google, IBM, Baidu
người Nga Gary Kasparov năm 1997. Sau đó, ..v.v. đã đầu tư từ 20 tới 30 tỷ USD trong năm
công nghệ AI đã có những bước tiến rất dài và 2016, bao gồm cả các hoạt động M&A. Các nhà
thế giới dường như đã nhận ra rằng: nếu khai đầu tư cá nhân cũng đã đầu tư khoảng 4 tới 5 tỷ
thác thành công những tiềm năng của AI thì sẽ USD còn các quỹ đầu tư chứng khoán cũng đã
đưa cuộc sống con người lên một tầm cao mới. đầu tư 1 cho tới 3 tỷ USD trong năm 2016.
Nhưng cũng có không ít những người lo ngại Mặc dù số tiền đầu tư vào AI chưa lớn bằng
AI sẽ có ngày nổi lên chống lại con người như những công nghệ khác trong quá trình số hóa
trong series phim Terminator. nhưng con số đang tăng nhanh, kèm theo đó
Bất chấp những tranh cãi về về lợi ích và tác hại là sự cạnh tranh để tuyển dụng những tài năng
của việc phát triển AI, những thành tựu mới trong lĩnh vực này. Các công ty lớn đều đã đầu
liên tục xuất hiện. Điều này chứng minh vấn tư rất nhiều tiền vào cả nghiên cứu nội bộ lẫn
đề đầu tiên là việc xây dựng một cỗ máy thông mua lại các startup nổi bật nhưng mỗi công ty
minh như con người là điều có thể. Tất nhiên lại tập trung vào một lĩnh vực cốt lõi nhất định.
ở thời điểm hiện tại, trí thông minh của AI nói Thêm vào đó, các hãng công nghệ cũng tích cực
chung vẫn kém xa con người nhưng ở một số hợp tác với các trường đại học để thành lập các
lĩnh vực nhất định, AI đã có khả năng thách trung tâm nghiên cứu để phát triển AI cũng
thức và đánh bại con người. Nhờ đó mà công như thu hút nhân tài trong lĩnh vực này. Các
nghệ AI hiện đang được coi là đi đầu trong cuộc khóa học về AI, Machine Learning, Deep Learn-
ing xuất hiện ngày càng nhiều và rất nhiều
trong số chúng được cung cấp miễn phí như là
một cách để phổ cập công nghệ AI và huy động
sức mạnh cộng đồng cho quá trình phát triển
AI nói chung.
Số tiền đầu tư vào AI được dùng để phát triển
nhiều lĩnh vực như nghiên cứu thuật toán, thị
giác máy tính, xử lý ngôn ngữ tự nhiên, robotic,
xe tự lái ..v.v. Trong đó, nghiên cứu thuật toán
thu hút được nhiều vốn đầu tư nhất với 60% số
tiền đầu tư vào lĩnh vực này, theo sau là thị giác
máy tính và xử lý ngôn ngữ tự nhiên.
Lý do nghiên cứu thuật toán được đầu tư nhiều
nhất là do hiện nay hầu hết là các Narrow AI,
Biểu đồ 1: Vốn đầu tư vào công nghệ AI từ các nguồn đầu tư khác tức là để AI có thể giải quyết một vấn đề mới,
nhau. Nguồn: McKinsey Global Institue nó cần được lập trình và huấn luyện với một

Tạp chí Trí tuệ Nhân tạo Issue 1 [5]


Biểu đồ 2: Xếp hạng vị trí các lĩnh vực trong cuộc đua ứng dụng công nghệ AI vào thực tế và nhu cầu tương lai của AI trong lĩnh vực đó. Nguồn:
McKinsey Global Institue.

hoặc nhiều thuật toán phù hợp với mục tiêu và dịch status trên trang mạng xã hội của mình,
vấn đề mà từng hãng phải đối mặt. Mặt khác, hỗ trợ cho chức năng tự động tag ảnh, tăng
việc phát triển các thuật toán mới hay nâng cường độ chính xác của việc xác định đối tưởng
cao hiệu quả của các thuật toán sẽ phục vụ cho quảng cáo (mảng kinh doanh cốt lõi).
mục tiêu xa của quá trình phát triển AI là phát Trong khi đó, tỷ lệ ứng dụng AI trong các lĩnh
triển một hoặc một tập hợp thuật toán có thể vực khác còn rất thấp. Báo cáo của hãng McK-
tự học để giải quyết các vấn đề mới, hay còn gọi insey cho thấy rằng:
là General AI. Người đầu tiên phát triển được - Những công ty đã từng dẫn đầu trong việc
General AI sẽ có một lợi thế rất lớn cả về công ứng dụng các công nghệ mới trước đó, như điện
nghệ lẫn kinh doanh. toán đám mây hay big data, cũng tiếp tục tiên
phong trong ứng dụng AI.
Ứng dụng - Những công ty, tập đoàn lớn có xu hướng ứng
Số lượng các tổ chức ứng dụng công nghệ AI dụng AI nhanh và mạnh hơn. Thông thường
vào quá trình hoạt động hiện đang chưa tương những tập đoàn lớn khá chậm chân trong việc
xứng với lượng tiền được đầu tư vào công nghệ ứng dụng công nghệ mới.
này. - Các công ty ứng dụng những nhóm công nghệ
Những tập đoàn công nghệ đã đầu tư vào AI AI gần với mảng kinh doanh cốt lõi của mình.
như Google, Microsoft hay Facebook rõ ràng sẽ Những doanh nghiệp muốn ứng dụng công
là những tổ chức đi đầu trong việc ứng dụng nghệ AI cũng gặp phải những khó khăn nhất
công nghệ AI vào kinh doanh. Những hãng này định về kỹ thuật do để có thể phát triển một hệ
đang tích hợp AI vào các sản phẩm của mình thống AI tốt đòi hỏi những kiến thức chuyên
nhằm nâng cao trải nghiệm người dùng và chất môn về AI và machine learning. Hiện tại những
lượng sản phẩm. Google đã sử dụng machine tập đoàn công nghệ cao như Google hay Face-
learning và neural network để tăng cường độ book đang cung cấp những nền tảng và công cụ
chính xác của kết quả tìm kiếm, độ chính xác hỗ trợ quá trình phát triển và ứng dụng AI như
của Google Translate. Facebook sử dụng công TensoFlow, phòng nghiên cứu AI của Facebook
nghệ AI để tăng độ chính xác của chức năng (FAIR) cũng cung cấp rất nhiều công cụ nghiên

Tạp chí Trí tuệ Nhân tạo Issue 1 [6]


cứu AI mã nguồn mở. Tham khảo
Một yếu tố quyết định khác là dữ liệu. Quá McKinsey Global Institue, (2017). Artificial Intel-
trình phát triển và huấn luyện AI đòi hỏi một ligence The Next Digital Frontier?. [online] Avail-
lượng dữ liệu có cấu trúc rất lớn. Khảo sát của able at: https://goo.gl/Fi6aq9
McKinsey cho thấy nhóm ngành công nghệ cao Turing, A.M. (1947). Lecture to the London
- truyền thông và dịch vụ tài chính là những Mathematical Society.
nhóm ngành đi đầu trong việc ứng dụng AI. Xe Zilis, S. and Cham, J. (2016). ‘The current state of
tự lái cũng là một ngành tiên phong trong ng- machine intelligence 3.0’. [online] Oreilly. Avail-
hiên cứu và ứng dụng AI với nhiều tên tuổi lớn able at: https://goo.gl/yGcWGi
đã vào cuộc như Tesla, Ford, Uber, Google..v.v
Một số ngành khác cũng đang được đầu tư
mạnh như y tế và bán lẻ do nhu cầu lớn nhưng
vẫn đang chậm chân phía sau trong việc ứng
dụng thực tế.

Phải mất gần 60 năm sau khi những ý tưởng


đầu tiên ra đời, AI mới có đủ những điều kiện
cần thiết để phát triển. Nhưng với nguồn lực
đầu tư lớn cũng như tham vọng của con người
thì trong tương lai AI sẽ mang lại rất nhiều cải
thiện trong kinh doanh cũng như trong cuộc
sống của nhân loại./

Biểu đồ 3: Hiện trạng của công nghệ AI thế giới. Nguồn: O’reilly Media Company

Tạp chí Trí tuệ Nhân tạo Issue 1 [7]


Cơ bản về Reinforcement
Learning
Machine Learning hiện đại bao gồm ba phương ward trong từng thời điểm và reward trong
pháp chính là Supervision Learning (SL), Un- tương lai. Sự tồn tại của trọng số này là do sẽ có
supervision Learning (UL) và Reinforcement những hành động mang lại reward nhỏ trong
Learning (RL). Khách với SL và UL, RL không hiện tại nhưng có thể dẫn tới một trạng thái có
đòi hỏi một khối lượng dữ liệu lớn và tốt để có thể mang lại reward cao hơn, hoặc ngược lại.
thể tạo ra một kết quả huấn luyện tốt. Những lý - Hàm policy π(s): S → A. Hàm lựa chọn hành
thuyết cơ bản về RL được phát triển rất sớm, từ động tối ưu với mỗi trạng thái môi trường.
những năm 1950 cùng với lịch sử của machine - Hàm value v(s). Hàm value đại diện cho mức
learning nhưng chỉ đến năm 2015, khi Deep- độ tốt của một trạng thái của môi trường hay
Mind đưa RL trở lại trong nghiên cứu của mình tương ứng với ước lượng của tổng reward có thể
thì RL mới nhận được sự chú ý của thế giới. nhận được kể từ khi agent nằm trong trạng thái
s của môi trường.
Với mục tiêu tối đa hóa tổng mức reward nhận
được, agent có thể thực hiện theo 2 cách: lựa
chọn các trạng thái môi trường thuận lợi nhất
để có mức tổng reward cao nhất và lựa chọn
hàm policy tốt nhất để có thể lựa chọn các
hành động tạo ra mức tổng reward cao nhất.
Phương án đầu tiên gọi là value interation liên
quan đến một hàm mới là hàm Q(s,a) → R, đại
Nguyên lý cơ bản của các thuật toán Reinforce- diện cho tính hiệu quả khi agent thực hiện
ment Learning là học cách lựa chọn các hành hành động a khi môi trường đang ở trạng thái s.
động tối ưu nhất để có thể đạt mức reward tối Để chọn ra những trạng thái môi trường tối ưu
ưu nhất trong một môi trường nhất định. nhất, thuật toán sẽ phải chọn ra hàm value tối
Tuy nhiên để máy tính có thể giải quyết các bài ưu V*, ta có:
toán reinforcement learning, quy trình RL cần V* = maxaQ*(s,a)
được mô phỏng dưới dạng toán học dưới dạng
một framework được gọi là Markov Decision Phương án thứ hai gọi là policy interation tập
Processes (MDP). Một MDP thông thường sẽ trung vào việc tìm ra một hàm policy tối ưu
bao gồm 7 yếu tố chính: nhất π*. Với phương án này, thuật toán ban đầu
- Tập hợp trạng thái (state space) S. Đây là tập sẽ tự tạo một hàm policy π ngẫu nhiên rồi sau
hợp các trạng thái của environment khi agent đó dùng hàm π đó để tính toán π’:
thực hiện một action. π’ = arg maxa(E(r|s,a) + γΣs’ є SP(s’|s,a)Vπ(s’))
- Tập hợp hành động (action space) A. Đây là
tập hợp các hành động agent có thể lựa chọn Thuật toán sẽ chạy cho tới khi π = π’ hay khi
để tương tác với môi trường. hàm policy hội tụ.
- Hàm P(s’|s,a). Xác xuất môi trường chuyển từ Hai thuật toán value interation và policy in-
trạng thái s sang s’ khi agent thực hiện hành teration được sử dụng trong trường hợp agent
động a. hiểu rõ về môi trường, biết rõ cách môi trường
- Hàm R(r|s,a). Reward agent nhận được khi chuyển đổi trạng thái và biết rõ cách môi
thực hiện hành động a ở trạng thái s của môi trường reward agent sau mỗi hành động. Đối
trường. với những trường hợp agent không biết rõ môi
- γ discount factor. Trọng số có giá trị trong trường, thuật toán Q-learning sẽ được áp dụng.
khoảng (0,1) thể hiện mối tương quan giữa re- Thuật toán này ban đầu sẽ khởi tạo một hàm

Tạp chí Trí tuệ Nhân tạo Issue 1 [8]


Q(s,a) tương ứng với hành động a tại trạng thái nghiên cứu coi là môi trường thử nghiệm tối ưu
s của môi trường. Sau đó agent thực hiện hành nhất cho quá trình phát triển Trí tuệ Nhân tạo.
động a và quan sát môi trường để tính ra giá DeepMind với việc phát minh ra thuật toán
trị thực Qobs(s,a). Sau đó, thuật toán sẽ sử dụng Deep Q-Network hiện đang là công ty đi đầu
phương trình sau để cập nhật hàm Q(s,a): trong quá trình sử dụng game để huấn luyện
agent.
Q(s,a) = (1-α)Q(s,a) + αQobs(s,a)
DRL đã được áp dụng để huấn luyện AlphaGo,
Với agent chơi bộ môn cờ vây, đã chiến thắng kỳ thủ
Qobs(s,a) = r(s,a) + γmaxa’(s’,a’) cờ vây hàng đầu thế giới Lee Sedol. Sau đó, agent
(Bellman equation) của OpenAI đã giành chiến thắng trước Dendi,
Trong đó α là learning rate. một trong những người chơi games chiến thuật
thời gian thực giỏi nhất thế giới.
Bên cạnh đó, RL đã đạt được những thành công
Deep Reinforcement Learning khác trong lĩnh vực robotic, xử lý ngôn ngữ tự
Năm 2015, trong bài báo cáo khóa học của nhiên ..v.v./
mình trên tạp chí Nature, DeepMind áp dụng
thuật toán Q-learning nhưng không sử dụng Tham khảo
các hàm đại số tuyến tính (linear function) để
ước lượng giá trị của hàm Q(s,a) mà sử dụng Sutton, R.S. and Barto, A.G. (2017). Reinforcement
neural network và đặt tên của thuật toán này là Learning: An Introduction. London, England.
Deep Q-Network (DQN), chính thức khai sinh ra Yuxi Li (2017). Deep Reinforcement Learning: An
kỷ nguyên của Deep Reinforcement Learning. Overview. ArXiv: 1701.07274v3 [cs.LG]
Trong một thuật toán Q-Learning của RL thông Mnih, V. et al.(2015). Human-level control
thường, một hàm Q tối ưu tổng quát sẽ như sau: through deep reinforcement learning. Nature,
518, pp. 529–533.
Q*(s,a) = maxπE[rt+γrt+1+γ2rt+2+...|st=a,at=a,π]
Alzantot, M.F. (2017). Deep Reinforcement Learn-
DeepMind sử dụng vòng lặp và điều chỉnh hàm ing Demysitifed (Episode 2) — Policy Iteration, Val-
Q để làm giảm sự biến động trong quá trình ước ue Iteration and Q-learning. [online] Medium.
lượng sử dụng hàm phi tuyến. DeepMind thêm Available at https://goo.gl/f9Jr5E
vào trọng số θi với i là chỉ số của vòng lặp i. Đối
với mỗi thử nghiệm et = (st,at,rt,st+1) tại thời điểm
t thuộc bộ dự liệu D = (e1,...,et). Với mỗi lần huấn
luyện, thuật toán chỉ lấy ra ngẫu nhiên một tập
con các thử nghiệm để thực hiện huấn luyện.
Hàm Q sẽ được điều chỉnh tại vòng lặp i với
hàm mất mát (loss function) như sau:
Li(θi) = E(s,a,r,s’)~u(D)[(r+γmaxa’Q(s’,a’;θi-)-Q(s,a;θi))2]
Trong đó γ là discount factor, θi- là trọng số
của neural network khi tính kết quả mục tiêu
tại vòng lặp i, θi là trọng số của neural net-
work tại vòng lặp i.

Ứng dụng
Khả năng xử lý của Reinforcement Learning
có thể áp dụng được với rất nhiều vấn đề trong
nhiều lĩnh vực, đặc biệt là khi áp dụng thuật
toán Q-Learning vốn không bị phụ thuộc vào
model hay môi trường của agent.
Những thành công hiện nay của DRL chủ yếu
tập trung trong lĩnh vực games do đây được giới

Tạp chí Trí tuệ Nhân tạo Issue 1 [9]


The Game
The Testbed
AlphaGo của DeepMind chiến thắng lần lượt Lee Sedol và Ke Jie, những kỳ thủ giỏi nhất thế giới trong môn
cờ vây và OpenAI agent chiến thắng Dendi trong trận đấu 1v1 Dota 2. Trong khi đó DeepMind lại tiếp tục hợp
tác với Blizzard để thử nghiệm AI trên Star Craft 2. Vì sao các nhà nghiên cứu AI lại hứng thú với game như
vây? Vì sao những chiến thắng này lại quan trọng đến thế?
Các nhà nghiên cứu luôn cần một phương Mãi cho đến tận năm 2015, DeepMind công bố
pháp để thử nghiệm và kiểm tra các thuật toán công trình nghiên cứu của họ áp dụng RL vào
AI. Trong khi các thuật toán Supervision và
Unsupervision Learning có thể dễ dàng kiểm
tra sự chính xác của thuật toán bằng hàm loss
function thì thuật toán Reinforcement Learn-
ing lại cần nhiều hơn thế. Game và RL đã có
một lịch sử lâu dài cùng phát triển. Game cung
cấp một môi trường phong phú và nhiều thử
thách để thử nghiệm các thuật toán RL còn RL
sẽ giúp các game bot chơi tốt hơn khi đấu với
người chơi.
Nhìn lại lịch sử, trò chơi Samuel Checkers1 là Hình 1: Trò chơi Backgammon
chương trình máy tính tự học đầu tiên của thế
nhiều game trên nền tảng Atari và đạt được
giới đã sử dụng nguyên lý “temporal difference
thành tích vượt xa con người. Chỉ 1 năm sau đó,
learning (TD-learning)2” trước cả khi nguyên
DeepMind tiếp tục công bố AlphaGo, một agent
lý này được miêu tả và phân tích. Sau đó là trò
được huấn luyện để chơi môn Cờ Vây. Những
chơi TD-Gammon3, trò chơi đầu tiên đưa RL lên
thành tích sau đó của AlphaGo chứng tỏ game
đỉnh thành công khi chiến thắng được những
là một môi trường hoàn hảo để nghiên cứu,
người chơi giỏi nhất trong môn này. Kể từ đó,
phát triển và thử nghiệm những AI sử dụng RL.
RL được áp dụng vào rất nhiều game nhưng
Đi sâu hơn, hãy tìm hiểu vì sao DeepMind lại
không thể đạt được thành công như TD-Gam-
lựa chọn cờ vây, hay sau này là StarCraft 2 làm
mon.
môi trường để phát triển AI như là một cách
1. Arthur Lee Samuel (1901-1990) nhà khoa học tiên phong người Mỹ
trong lĩnh vực trò chơi máy tính và trí tuệ nhân tạo. Ông là người tạo hiểu về mối liên hệ giữa RL và game. Cách mà
ra khái niệm “machine learning” và tạo ra trò chơi Samuel Check- các thuật toán RL tìm cách giải quyết vấn đề
ers, trò chơi đầu tiên thể hiện những khái niệm cơ bản về Artificial
Intelligence cũng giống cách mà con người học về thế giới
2. Một trong những phương pháp ước lượng điểm tối ưu của Rein- xung quanh. Thế giới xung quanh càng đa
forcement Learning
3. Viết dựa trên trò chơi backgammon vào năm 1992 bởi Gerald
dạng, nhiều thử thách thì con người càng học
Tesauro dựa trên phương pháp TD-learning được nhiều và tiến bộ càng nhanh và các thuật

Tạp chí Trí tuệ Nhân tạo Issue 1 [10]


toán RL cũng vậy. Sự phong phú của game play chiến thuật cụ thể để hoàn thành trận đấu chứ
sẽ buộc các nhà nghiên cứu tìm ra cách để AI chưa nói đến chiến thắng con người.
có thể học một cách thực sự. Trong bộ môn cờ Một vấn đề khác khiến StarCraft 2 là một thử
vây, có 10170 kịch bản có thể xảy ra trong một thách lớn với các nhà phát triển AI, đó là các
trận đấu cờ vây, vì vậy mà AI không thể tính ra action trong game. Nếu những game Atari chỉ
tất cả các nước đi để có thể lựa chọn nước đi có khoảng 10 action khác nhau (trái, phải, lên
tốt nhất. Điều này khiến AI buộc phải học cách , xuống, ..v.v), hay môn cờ vây cũng chỉ có ac-
chơi như một kỳ thủ thực sự, lên kế hoạch và tion đặt quân cờ. Trong khi đó, StarCraft 2 có
ứng biến tùy theo hiện trạng ván chơi. Tuy vậy, hơn 300 action khác nhau, có những action
cờ vây vẫn được coi là đơn giản khi so sánh với chỉ thực hiện được sau khi thực hiện một ac-
nhiều game khác. tion khác (chỉ có thể di chuyển quân sau khi đã
Đầu tháng 8 năm nay, DeepMind tiếp tục công chọn quân).
bố việc hợp tác với Blizzard Entertainment để
phát hành một bộ công cụ cho phép các nhà
nghiên cứu sử dụng StarCraft II như một test-
bed để phát triển và thử nghiệm AI. Một trân
đấu StarCraft có thể kéo dài từ vài phút cho tới
cả giờ đồng hồ với 10270 khả năng khác nhau mà
trận đấu có thể xảy ra. Mặt khác, trong một trận
đấu StarCraft, người chơi sẽ phải thực hiện một
lúc nhiều nhiệm vụ như khai thác tài nguyên,
xây dựng công trình, phát triển quân đội và tiêu Hình 3: Chuỗi action trong StarCraft 2
diệt đối thủ. Để có thể chiến thắng con người, Trong khi DeepMind vẫn chưa thể chinh phục
AI cũng cần thực hiện cùng lúc những nhiệm được StarCraft 2 thì không lâu sau đó, OpenAI,
vụ trên tốt hơn con người. một tổ chức phi lợi nhuận do Elon Musk thành
Bộ công cụ gọi là SC2LE (StarCraft 2 Learning lập để nghiên cứu AI, đã chiến thắng Dendi,
Environment) bao gồm những công cụ do Bliz- một trong những nhà vô địch game Dota 2.
zard và DeepMind phát triển cho phép các nhà OpenAI và DeepMind đã và đang hợp tác
nghiên cứu tích hợp AI của mình vào game để trong việc phát triển AI một cách an toàn bằng
thực hiện huấn luyện. Thêm vào đó, bộ công phương pháp học qua phản hồi của con người
với các thuật toán RL. Sự cộng tác này đã đạt
được những thành công nhất định khi họ có
thể huấn luyện các robot giả lập thực hiện các
động tác khó như đi trên 2 chân, nhảy backflip.
Hợp tác là thế nhưng có vẻ OpenAI đã vượt mặt
đàn anh trong việc chinh phục các game chiến
thuật giả tưởng thời gian thực?
Chiến thắng của OpenAI đã gây shock cho thế
giới, hay ít nhất là giới khoa học nghiên cứu và
phát triển AI. Những trò chơi chiến thuật thời
Hình 2: Một số mini-game trong bộ công cụ SC2LE
gian thực cho đến hiện tại vẫn là đỉnh cao khó
cụ cũng cung cấp bộ dữ liệu bản ghi của hơn chinh phục với AI. Trên blog của mình, OpenAI
65,000 trận đấu vô danh làm dữ liệu để huấn
luyện AI. Đây là lợi thế lớn nhất của những tựa
game nổi tiếng như StarCraft 2.
StarCraft 2 phức tạp đến mức DeepMind phải
chia nhỏ các tác vụ trong game thành những
mini-game nhỏ hơn để AI có thể thể dễ dàng
làm chủ trước khi tiến tới nắm bắt toàn bộ
game. Tuy vậy, kể cả những agent AI tốt nhất
của DeepMind sau khi xuất sắc làm chủ những
mini-game nhưng cũng không thể tìm ra một
Hình 4: Dendi trong trận Dota với OpenAI bot

Tạp chí Trí tuệ Nhân tạo Issue 1 [11]


không công bố nhiều thông tin kỹ thuật về quá Game là một công cụ phát triển nhưng cũng là
trình phát triển Dota agent của mình. Thông một thử thách lớn đối với công nghệ AI. Những
tin chỉ có là agent được huấn luyện bằng thuật thành tựu gần đây của DeepMind hay OpenAI
toán Reinforcement Learning. cho thấy AI đã tiến được những bước rất xa
Denny Britz, nhà khoa học Trí tuệ nhân tạo, nhờ việc phát triển AI trong môi trường game
từng làm nghiên cứu sinh nội trú tại Google và nhờ AI, các tựa game cũng sẽ trở nên thông
Brain, cho rằng những thành tựu của OpenAI minh và thu hút người chơi hơn./
là đáng kinh ngạc, nhưng chưa thể coi là đã
chinh phục thành công cột mốc game chiến Tham khảo
thuật thời gian thực.
Một trận đấu Dota 2 thông thường gồm 2 đội Szita, I. (2012). Reinforcement Learning in
5v5, đòi hỏi trình độ chiến thuật, phối hợp hoàn Games. In: M. Wiering and M. van Otlerto ed.,
hảo để có thể chiến thắng, và thường kéo dài Reinforcement Learning: State-of-the-Art. Spring-
khoảng 45 phút. Trận đấu 1vs1 được coi là khá er Verlag. pp. 539-540.
đơn giản nếu so với trận đấu thông thường, hai Silver, D. et al. (2016). Mastering the game of Go
đối thủ đơn giản là di chuyển đến giữa bản đồ with deep neural networks and tree search. Na-
và cố gắng triệt hạ đối thủ. Tất nhiên trận đấu ture, (529), pp. 484-504.
1v1 vẫn đòi hỏi kỹ năng và chiến thuật nhưng Vinyals, O. et al. (2017). DeepMind and Blizzard
chỉ trong ngắn hạn và không đòi hỏi sự phối open StarCraft II as an AI research environment.
hợp. Denny nhận định số lượng trường hợp có [online] Available at: https://goo.gl/2czWeW
thể xảy ra trong một trận Dota 1v1 thấp hơn Openai.com, (2017). More on Dota 2. [online]
một ván Cờ Vây. Available at: https://goo.gl/7rUZza
Như vậy nếu so sánh khối lượng công việc AI Britz, D. (2017). Hype or Not? Some Perspective on
phải đảm nhận trong một trận đấu Dota 1v1 là OpenAI’s DotA 2 Bot. [Blog] WildML. Available at:
rất nhỏ so với một trận đấu StarCraft. https://goo.gl/yBnDj3
Mặt khác, Dota agent của OpenAI được lập
trình sẵn một phần để lựa chọn các chiến thuật
tốt. Nói cách khác, quá trình huấn luyện agent
của OpenAI có một chút supervision chứ agent
không hoàn toàn tự học từ con số 0 như Alpha-
Go4.
OpenAI trao giải 50 Arcanas5 cho 50 game thủ
đầu tiên chiến thắng được OpenAI Dota bot.
Chỉ trong 2 ngày, 50 giải thưởng này đều đã có
chủ. Điều này chứng tỏ AI của OpenAI còn xa
mới có thể đánh bại con người.
4. Chi tiết này được một kỹ sư ẩn danh làm việc tại OpenAI tiết lộ
tại https://goo.gl/QJGJv5
5. Một loại vật phẩm trong Dota 2 Hình 5: Game thủ Trung Võ chiến thắng OpenAI bot

Tạp chí Trí tuệ Nhân tạo Issue 1 [12]


Toán học và Trí tuệ Nhân tạo

Máy tính chỉ có thể hiểu được các con số và được sắp xếp theo một thứ tự nhất định, mỗi số
phương trình, do đó nền tảng của tất cả các được định danh bởi một index:
AI từ trước đến nay đều là các thuật toán, hay
nói cách khác là một chuỗi các phương trình
toán học. Ian Goodfellow, một trong những
nhà khoa học hàng đầu về AI hiện nay, từng
nhận xét rằng: “if you want to be really excellent
practitioner (in machine learning, ed.) you’ve
got to master the basic math that underlies the
whole approach in the first place”. Matrix
Các thuật toán machine learning sử dụng rất Một ma trận là một mảng 2 chiều các con số.
nhiều các ngành và phương pháp khác nhau để Ma trận A có kích thước i,j trong đó i là số dòng
mô tả các vấn đề theo dạng phương trình toán và j là số cột trong ma trận, thường được ký hiệu
học và giải quyết chúng. Tuy nhiên hầu hết các là Ai,j . Như trong công thức trên vector v có kích
thuật toán đều phải sử dụng hai ngành toán thước n,1 và được ký hiệu là An,1. Các thành phần
học cơ bản là Đại số tuyến tính (Linear Algebra) của vector được định danh là an,m với n,m là số
và Xác suất (Probability). dòng và số cột tương ứng:
Trong chuyên mục Tutorial, Tạp chí Trí tuệ
Nhân tạo sẽ giới thiệu tới bạn những kiến thức
toán học cần thiết để có thể bắt đầu tìm hiểu và
nghiên cứu về AI và Machine Learning, bắt đầu
từ những khái niệm cơ bản nhất. Matrix AT là transpose matrix của matrix A,
với các thành phần được phản chiếu đối xứng
Linear Algebra thông qua đường chéo của matrix. Nếu có ma-
trix vi,j thì transpose matrix sẽ là ATj,i.
Linear Algebra là ngành toán học nghiên cứu
về vector, không gian vector, các phương trình
tuyến tính và phép biến đổi phương trình tuyến
tính. Trong machine learning, linear algebra
đóng một vai trò tối quan trọng, hình thành
nên phương pháp tối hưu hóa trong thuật toán.
Tensor
Vector Một vector là một array hai chiều, nhưng đôi
Như các bạn đã biết, machine learning làm việc khi dữ liệu đòi hỏi các array nhiều hơn 2 chiều,
với rất nhiều dữ liệu mà mỗi dữ liệu đầu vào khi đó chúng sẽ được gọi là 1 tensor (đây chính
(input) sẽ chứa nhiều dữ liệu con (features). Để là từ tensor trong TensorFlow của google). Một
có thể biểu diễn mỗi dữ liệu input như thế sẽ tensor có các kích thước i,j,k thường được ký
cần 1 vector A. hiệu là Ai,j,k.
Một vector là một tập hợp (array) các con số

Tạp chí Trí tuệ Nhân tạo Issue 1 [13]


Tính toán matrix Probability
Các matrix cũng có thể được tính toán với các Xác suất là ngành toán học nghiên cứu về sự
phép tính thông thường, nhưng với một số điều ngẫu nhiên và không gian xác suất. Cũng giống
khiện nhất định. như Linear Algebra, Probability là không thể
Nếu hai matrix có cùng kích thước, chúng có thiếu trong các thuật toán Machine Learning.
thể cộng với nhau bằng cách cộng các số có Khối lượng kiến thức xác suất trong các thuật
cùng tọa độ: toán machine learning chỉ ít hơn đại số tuyến
tính chút đỉnh. Độ phức tạp của xác suất trong
machine learning cũng không thua kém gì so
với đại số tuyến tính, vì vậy trong số đầu tiên
chúng tôi chỉ giới thiệu những vấn đề cơ bản
nhất về xác suất.
Khái niệm quan trọng nhất trong xác suất là
Random Variables (biến ngẫu nhiên) X. Giả sử
như ném con súc sắc, con số ở mặt trên của xúc
xắc là một biến ngẫu nhiên. Xác suất để con số
Một phương pháp gọi là broadcasting cho phép ở mặt trên xúc xắc X = a được ký hiện là:
matrix có thể cộng hoặc nhân với 1 số: P(X=a)
Giả sử ta có 2 biến ngẫu nhiên X và Y, xác suất
để X = a và Y = b là:
P(X=a,Y=b)
Từ đó ta có xác suất để X = a khi Y = b là:
Hoặc giữa một matrix và một vector:

Hai biến X và Y được gọi là độc lập với nhau nếu:


P(X) = P(X|Y)
Một phép nhân có thể được thực hiện giữa hai
Mặt khác, khi X và Y ta sẽ có:
vector A và B nếu A có số cột bằng với số dòng
P(X,Y) = P(X)P(Y)
của B hoặc ngược lại:
Độc lập có điều kiện là khi hai biến X và Y độc
lập với nhau khi biến Z xảy ra, nếu:
P(X|Z) = P(X|Y,Z)
Và ta sẽ có:
P(X,Y|Z) = P(X|Z)P(Y|Z)
Giả định độc lập có điều kiện rất quan trọng
trong phương pháp phân loại Naive Bayes (sẽ
được giới thiệu sau).
Quy tắc chuỗi (Chain Rule) và quy tắc Bayes
Kết quả của phép nhân 2 matrix An,m có kích (Bayes Rule) là hai quy tắc cơ bản nhưng rất
thước n,m và Bm,p có kích thước m,p là matrix quan trọng trong xác suất. Quy tắc chuỗi như
Cn,p có kích thước n,p. sau:
Các phương trình toán giữa các matrix cũng P(X1,X2,X3) = P(X1)P(X2|X1)P(X3|X1,X2)
có các phương pháp biến đổi giống như các quy tắc được áp dụng với n biến X. Quy tắc
phương trình số học thông thường: Bayes như sau:

Trên đây là một sô kiến thức cơ bản về Linear


Algebra và Probability. Trong các số sau, chúng
Nhưng chưa chắc: tôi sẽ đi sâu hơn vào những kiến thức được
dùng trong Machine Learning./

Tạp chí Trí tuệ Nhân tạo Issue 1 [14]

You might also like