Mục tiêu của ngành Trí
tuệ Nhân tạo (Artificial Intelligence – AI) là tạo ra những máy tính để có thể thay
thế (thậm chí tốt hơn) công việc con người. Mặc dù “đường xa vạn dặm”, những
nhà khoa học máy tính đã có những bước tiến đáng kinh ngạc. Hiện tại, có thể kể
ra rất nhiều ứng dụng đa dạng: Nhận dạng chữ viết, nhận dạng âm thanh, xe tự
hành, dịch máy (từ một ngôn ngữ sang nhiều ngôn ngữ), khả năng dự đoán và gợi ý
sản phẩm cho người dùng, nhận dạng hình ảnh (mặt người, vân tay, hay nhiều đồ vật
khác), lọc thư rác (spam filtering). Ngoài ra có rất nhiều lĩnh vực mà chúng
tôi không thể kể hết ở đây như: y học (IBM Watson), bảo mật thông tin, dự đoán
thị trường chứng khoán, v.v… Năm 2016 tổng thống Obama đã tổ chức một cuộc trao
đổi với các chuyên gia đầu ngành về AI về việc chuẩn bị cho tương lai của AI
[17]. Xe không người lái (driverless cars) đã trở thành sự thực với Uber ở
Pittsburgh [18]. Điều đáng nói là một số lĩnh vực, khả năng nhận dạng đã bằng hoặc
vượt con người (ví dụ nhận dạng chữ viết, tiếng nói [20]).
Những
ứng dụng thông minh trên tuy ở nhiều lĩnh vực và hoàn cảnh khác nhau, nhưng đều
có chung một nguồn gốc: Máy học (Machine Learning). Lịch sử Máy học có từ lâu, nhưng
nó thực sự có nhiều đột phá cho tới khi các nhà khoa học máy tính áp dụng kỹ
thuật Deep Learning (học nhiều tầng) để cho ra nhiều sản phẩm có tính ứng dụng
hiệu quả trong thương mại và công nghiệp. Hiện nay, những công ty hàng đầu về công nghệ
đều có những đội ngũ nghiên cứu và phát triển các sản phẩm Máy học. Những nhà nghiên cứu AI hàng đầu thế giới như Geoff Hintonm, Sebastian Thrun, Peter Novig,
Yann LeCun, Andrew Ng, v.v… đều
là thuộc
nhóm phát triển trong các dự án
quan trọng bậc nhất của Google, Facebook, IBM, Intel, Amazon,
Microsoft, Apple, v.v...
AlphaGo đánh Lee Sedol, người từng 18 lần vô địch thế giới môn cờ vây,
là bước tiến vượt bậc của AI.
Demis
Hassabis, người sáng lập DeepMind – thuộc Google, lấy cảm hứng từ bộ não con
người đã xây dựng một chương trình “Máy học vạn năng”: một tập các lệnh cho thuật
toán tự học – giống như là một hệ sinh học – để tìm cách giải quyết một nhiệm vụ
từ ban đầu mà chỉ cần dùng dữ liệu thô. AlphaGo là chương trình Máy học của
DeepMind đã chiến thắng nhà vô địch thế giới cờ vây Lee Se-dol
tháng 3.2016. Độ phức tạp của cờ vây từ lâu đã được xem như là bất khả xâm phạm
cho máy tính, nhưng DeepMind đã dùng kĩ thuật tiên tiến nhất của Máy học (Deep
Learning) để tự học và biến AlphaGo thành nhà vô địch cờ vây. Nhiều
chuyên gia trong lĩnh vực trí tuệ nhân tạo cho rằng cờ vây đòi hỏi nhiều yếu tố
bắt chước suy nghĩ của con người hơn cờ vua [21]. Chiến thắng này sớm
10 năm so với dự đoán của các chuyên gia.
Đây được coi là một bước tiến vượt bậc của ngành AI và nó sẽ là cảm hứng
cho bất kì lĩnh vực nào muốn ứng dụng AI. Demis Hassabis có nói “…nhưng điều
thú vị bậc nhất cho chúng ta là đây không phải là một hệ chuyên gia dùng các luật
được lập trình rõ ràng. Mà nó là chương trình tự học để trở thành nhà vô địch của
môn cờ vây bằng nhờ các kĩ thuật Máy học. Sau cùng thì chúng ta có thể áp dụng
những kĩ thuật này vào nhiều vấn đề trong cuộc sống, như mô hình dự báo thời tiết
hay phân tích các dịch bệnh phức tạp. Vì vậy, nó thực sự thú vị để khởi động sự
đương đầu tiếp theo”. Để biết thêm sự ảnh hưởng của Máy học, người đọc có thể
tìm hiểu bài viết của Tom Mitchell [2]. Ông đã dùng nó để thuyết phục chủ tịch hội đồng trường CMU mở ra ngành Máy học
đầu tiên trên thế giới, giáo sư Tom Mitchell có khẳng định rằng Máy học sẽ còn
là chủ đề phát triển nóng trong 100 năm tới.
Chúng
ta đã trải qua ba cuộc cách mạng công nghiệp. Lần thứ nhất là cuối thế kỉ 18,
khi máy hơi nước và kĩ thuật cơ khí bắt đầu ra đời. Lần thứ hai là cuối thế kỉ
19 với việc xuất hiện của điện. Lần thứ ba là cuối thế kỉ 20 với sự xuất hiện của
Internet, máy tính cá nhân, và công nghệ truyền thông. Hiện nay, ngày càng nhiều
các nhà khoa học và các nhà kinh tế đều cho rằng chúng ta đang đứng trước thời
gian đầu của cuộc cách mạng lần thứ bốn trong công nghiệp. Cuộc cách mạng của
trí tuệ nhân tạo (Artificial Intelligence) và cụ thể hơn là Máy học (Machine
Learning). Nó sẽ là nhân tố tiền đề cho một xã hội kết nối mọi vật (Internet of
Thing – IoT). Nếu người ta coi dầu lửa là nguồn tài nguyên cho phát triển công
nghiệp cho thế kỉ 20, thì dữ liệu chính là nguồn tài nguyên cho phát triển công
nghệ thế kỉ 21. Do vậy, chúng ta có thể khẳng định rằng đây là thời điểm không
thể tốt hơn để tìm hiểu, nghiên cứu và ứng dụng Máy học vào trong rất nhiều
lĩnh vực của cuộc sống.
Hiện
nay có rất nhiều sách và khóa học online cho Máy học với nhiều chủ để chuyên
sâu. Khóa học được nhiều người biết đến: của giáo sư Andrew Ng và giáo sư
Sebastian Thrun đều rất thú vị và hữu ích. Có thể đếm được rất nhiều khóa học
xoay quanh chủ đề Machine Learning trên Coursera và Udacity. Số cuốn sách hay đã
được viết về Máy học cũng nhiều không kém.
Vậy
tại sao cuốn sách này lại ra đời? Thứ nhất, cuốn sách này viết bằng tiếng Việt. Nó sẽ là tài liệu
tham khảo cho nhiều người đam mê Khoa học Máy tính gặp khó khăn trong việc đọc
tài liệu chuyên ngành bằng tiếng Anh, đặc biệt là người mới tiếp cận. Cuốn sách
ra đời nhằm cung cấp những kiến thức cơ bản và quan trọng nhất về Máy học cho
những người muốn tìm hiểu. Chúng tôi cho rằng vì chỉ có những hiểu biết nhất định,
người học mới có niềm yêu thích, rồi tiếp đến có thể thúc đẩy chúng ta khám phá
thêm. Tất nhiên, cuốn sách cũng là tài liệu tham khảo cho những ai quan tâm tới
Máy học.
Thứ hai,
chúng tôi sẽ cố gắng trả lời các câu hỏi hỏi cơ bản nhưng rất nhiều khi lại khó
khăn với người tìm hiểu Máy học. Việc hiểu rõ các câu hỏi này là quan trọng, vì
nó giúp cho người học hiểu đúng, từ đó tạo niềm say mê với Máy học.
-
Máy học là gì? (What?)
-
Tại sao chúng ta cần Máy học? (Why?)
-
Khi nào nên/buộc phải dùng Máy học? (When?)
Thứ ba,
chúng tôi tiếp cận Máy học theo hướng ứng dụng để không làm những kiến thức
lý thuyết gây khó khăn cho người chưa có nền tảng kiến thức tốt. Có nghĩa là cuốn
sách sẽ tập trung vào ý tưởng ở mức cảm nhận thuật toán, cách thức nó hoạt động
ra sao và cung cấp những kiến thức căn bản nhất để cài đặt nó. Người học không
phải lo lắng khi chưa thể hiểu hết ngay được bài toán; đơn giản là hãy thử và
xem thuật toán hoạt động thế nào thông qua các chương trình nhỏ được cài đặt từng
bước một. Người học có thể thay đổi chương trình ở một vài điểm để cảm nhận rõ
hơn về thuật toán. Mỗi bài chúng tôi đều có lời khuyên cho người đọc cách tiếp
cận phù hợp. Bằng cách này, chúng tôi tin
rằng những người mới tìm hiểu Máy học sẽ có cảm hứng và nhanh hiểu thuật toán ở
mức cơ bản mà không mất đi tính chính xác.
Thứ tư, chúng tôi muốn góp phần thay đổi cách nhìn nhận về việc
học Máy học. Rất nhiều người cho rằng, muốn tiếp cận Máy học, chúng ta cần phải
biết về Thống kê (statistics), biết về đại số (Linear Algebra), biết về xác suất
(probability theory), v.v... Tuy nhiên, chúng tôi cho rằng người
học có thể tiếp cận Máy học, đặc biệt
cho người bắt đầu và không/chưa cần nền tảng lý thuyết toán học nhiều, bằng cách tiếp
cận Máy học như
tiếp cận một công cụ
đề tìm tòi, rèn luyện, và khám phá.
Hiện nay, lĩnh vực
Máy học ngày càng phát triển rộng và áp dụng vào rất nhiều lĩnh vực khác nhau.
Thực tế, trong Máy học có hai hướng chính: i)
ứng dụng và ii) nghiên cứu lý thuyết.
Việc tiếp cận theo hướng ứng dụng giúp những người có chưa có nền tảng lý thuyết (toán học, trí tuệ nhân tạo)
và kĩ năng lập trình có thể dễ hơn trong tiếp cận, trước khi họ có thể hiểu những
kiến thức phức tạp hơn. Đây là một lý
do quan trọng thôi thúc chúng tôi viết cuốn sách này.
Thứ năm,
rất quan trọng rằng, chúng tôi muốn cài đặt thuật toán Máy học từ đầu
(scratch). Bởi chúng tôi tin vào những lợi ích sau đây: i) Thực sự thấu hiểu rõ cách thức hoạt động của thuật toán.; ii) Chúng ta có thể hiểu các tham số
trong thuật toán, từ đó có thể cải tiến thuật toán hiệu quả hơn khi gặp bài
toán thực tế; iii) Có thể đề xuất thuật
toán mới nhờ hiểu những thuật toán đã có. Chỉ có hiểu và cài đặt thuật toán từ
đầu, chúng ta mới tự tin sử dụng thuật toán và coi nó là một công cụ quen thuộc
mỗi khi gặp bài toán thực tế.
Trong
cuốn sách này, chúng tôi sử dụng ngôn ngữ Python. Tại sao là Python? Có nhiều
lý do. Đầu tiên và vô cùng quan trọng,
Python là một ngôn ngữ rất dễ học cho người mới bắt đầu. Python có cú pháp, cấu
trúc cực kì đơn giản và dễ đọc. Một học sinh phổ thông chăm chỉ cũng
có thể tự học được Python. Thứ hai,
Python là ngôn ngữ ngày càng phổ dụng (rất nhiều sản phẩm đang được phát triển ở
Google dùng Python). Thứ ba, Python có
rất nhiều thư viện cho Máy học (scikit-learn, pandas, theano, tensorflow). Do vậy, Python là sự lựa chọn hàng đầu cho người mới học có thể dễ dàng hơn trong việc
phát triển ứng dụng cho Máy học, khoa học dữ liệu (data science), và nhiều lĩnh
vực khác trong khoa học máy tính.
Như
vậy, cuốn sách này phù hợp với những người chưa có nhiều kiến thức về Máy học muốn
khám phá một lĩnh vực đang có những bước đột phá trong ngành Trí tuệ Nhân tạo (AI). Chúng tôi mong
rằng, cuốn sách này sẽ ươm mầm cho bất kì ai, dù là học sinh, sinh viên, và
ngay cả những người ở lĩnh vực khác có khả năng xây dựng các chương trình ‘thông
minh’ áp dụng vào trong lĩnh vực họ quan tâm.
Mặc
dù chúng tôi rất mong muốn chuyển thể tất cả các thuật ngữ tiếng Anh sang tiếng
Việt, tuy nhiên khi những thuật ngữ tiếng Anh nào thực sự thông dụng, chúng tôi
sẽ để nguyên (hoặc chỉ dịch tạm thời) vì ba lý do: 1. Dịch sang tiếng Việt có
khi không đúng với nghĩa và nhiều khi gây hiểu nhầm sang thuật ngữ vốn đã được
dùng ở hoàn cảnh khác; 2. Các thuật ngữ này là những khái niệm cần biết và hiểu
với người học Máy học; 3. Số lượng thuật ngữ này không nhiều, nên chúng tôi tin
rằng người học (dù không thạo ngoại ngữ) vẫn có thể thoải mái theo dõi và làm
chủ bài học.
Tham khảo:
2. http://www.cs.cmu.edu/~tom/pubs/MachineLearning.pdf.
2 nhận xét:
Sách về AI của Thầy đã xuất bản chưa ạ? Chúng em muốn được sử dụng.
"""Cùng tìm hiểu thêm về machine learning nhé!
machine learning là gì"""
Đăng nhận xét