Máy học (machine learning) là gì và tại sao càng ngày nó càng phổ biến?

20/11/2017 10:38:49

Thời gian gần đây, chắc hẳn bạn đã được nghe nhiều về thuật ngữ "Machine Learning" (học máy hoặc máy học) - vốn được sử dụng rất nhiều trong việc phát hiện lừa đảo trực tuyến, cung cấp các đề xuất mua hàng trực tuyến trên Netflix hay Amazon, trong công nghệ nhận diện khuôn mặt, xe hơi tự lái, hay ứng dụng trong các Trí tuệ nhân tạo (AI) tiên tiến nhất thế giới hiện nay.


> Giải mã 5 suy nghĩ sai lầm về AI


Bài viết dưới đây của trang DigitalTrends sẽ giúp bạn nắm được một số thông tin cơ bản về "Machine Learning".

Machine Learning là gì và tại sao nó lại quan trọng?

Machine Learning là hướng nghiên cứu trong AI, tập trung vào việc tạo ra các cỗ máy có khả năng học hỏi mà không cần phải được lập trình một cách cụ thể. Học hỏi là một kỹ năng quan trọng bậc nhất đối với sự hình thành trí tuệ con người; do đó nếu chúng ta muốn xây dựng các hệ thống AI có trí tuệ như con người thì chúng ta trước hết phải tạo ra các cỗ máy có khả năng tự học hỏi dựa trên các kinh nghiệm mà chúng thu thập được trong suốt quá trình hoạt động.

Machine Learning khác với hướng nghiên cứu cổ điển về AI, trong đó các lập trình viên sẽ tạo ra các quy tắc để máy móc từng bước làm theo thay vì cho phép chúng tự nghiên cứu, khám phá để bổ sung kiến thức cho chính mình. Tất nhiên, Machine Learning vẫn bao gồm phương thức lập trình cổ điển nêu trên, và còn kết hợp các quy tắc cổ điển với kiến thức mà máy móc thu thập được để trở nên thông minh hơn.

Hiện Machine Learning đã đạt được những thành công vang dội khiến nó trở thành một hướng nghiên cứu chính trong AI, được sử dụng trên toàn thế giới.


Ví dụ về Machine Learning

Machine Learning có thể giúp AI thực hiện được những công việc rất ấn tượng, như việc các xe tự lái hay robot dạy học có thể tương tác với thế giới xung quanh. Nghe thì có vẻ to tát quá, nên chúng ta sẽ lấy một ví dụ rất đơn giản mà thôi.

Machine Learning hiện diện trong các bộ lọc thư rác (spam) mà các hệ thống email sử dụng để phân loại email hữu ích và email rác. Để thực hiện việc lọc thư, các bộ lọc sẽ được các lập trình viên trang bị những quy tắc ban đầu, sau đó trong quá trình hoạt động nó sẽ tự động "học" để thêm vào các quy tắc khác mà nó nghĩ sẽ giúp lọc ra được những email hữu ích cho người dùng.

Vấn đề ở đây là các quy tắc này thường chủ quan. Trong số các quy tắc lọc email, một vài điểm sẽ không phù hợp với một số đối tượng người dùng nhất định, như quy tắc lọc bỏ các email có tỉ lệ hình ảnh - chữ cái thấp sẽ không hữu dụng lắm đối với một chuyên gia thiết kế đồ hoạ thường nhận được khá nhiều email như vậy. Do đó, Machine Learning sẽ cho phép bộ lọc có thể thay đổi để thích ứng với nhu cầu của từng người dùng. Khi hệ thống đánh dấu một email là spam, phản ứng của người dùng (đọc hoặc xoá email đó) sẽ gián tiếp "dạy" cho AI biết cách xử lý các email tương tự trong tương lai.

Về cơ bản, thông qua Machine Learning, máy móc có thể tạo ra các thuật toán để cải thiện hiệu suất của chính chúng dựa trên những kiến thức mà chúng thu thập được.

Machine Learning (học máy) và Data Mining (khai phá dữ liệu) có giống nhau?

Không hẳn. Dù có một số điểm giống nhau, nhưng điểm khác biệt lớn nhất giữa Machine Learning và Data Mining là:

- Data Mining là đào sâu vào một cơ sở dữ liệu nhất định để tìm kiếm thông tin

- Machine Learning là sử dụng dữ liệu để tìm cách tiên đoán được các sự việc trong tương lai, hoặc để "dạy" máy móc làm một công việc nhất định.

Ví dụ để giúp bạn dễ hiểu: Data Mining giống như việc bạn tìm một danh sách các trung tâm dạy nhảy ở TP Hồ Chí Minh; còn Machine Learning là học nhảy.


Các loại hình của Machine Learning?

Để phân loại Machine Learning, ta phải xem cách mà máy "học" như thế nào. Có 4 cách chính: học có giám sát, học không giám sát, học bán giám sát và học củng cố.

Học có giám sát (supervised learning) cần có các dữ liệu dùng để "học", và phải đưa ra được một kết quả nhất định (như thuật toán lọc spam ở trên).

Học không giám sát (unsupervised learning) cũng cần có các dữ liệu dùng để "học", nhưng không phải đưa ra các kết quả cụ thể nào.

Học bán giám sát (semi-supervised learning) cũng cần có các dữ liệu dùng để "học", và có thể đưa ra được một vài kết quả khác nhau.

Học củng cố (reinforcement learning) là một cách "học" đang trở nên vô cùng phổ biến hiện nay. Trong học củng cố, AI sẽ được thưởng dựa trên những gì nó làm được. Học củng cố có thể giúp máy móc đạt được những khả năng như hiểu được làm sao để chơi một game máy tính thông qua một quá trình thử và lỗi (trial-and-error), dựa trên việc nghiên cứu làm cách nào để tăng điểm số của mình.

Vai trò của mạng nơron (neural network) trong Machine Learning

Neural Network là một công cụ phục vụ Machine Learning, có cấu trúc tương tự bộ não con người. Nó là một phần quan trọng của Machine Learning, nhưng không phải là phần duy nhất.

Bởi lĩnh vực Machine Learning là nhằm tìm ra cách tốt nhất để đưa ra các dữ liệu có thể tận dụng bởi con người nên một bước quan trọng mà đối tượng đang thực hiện machine learning phải làm là tìm ra cách tốt nhất để thể hiện các kiến thức khi cần giải quyết một vấn đề. Neural Network là một ví dụ về việc làm thế nào mà các công việc này có thể đạt được.

Ngôn ngữ lập trình được sử dụng trong Machine Learning

Machine Learning là một lĩnh vực rộng lớn, do đó không có một ngôn ngữ lập tình nào có thể một mình thực hiện mọi việc.

Do tính đơn giản, cũng như tận dụng các thư viện học sâu như TensorFlow hay PyTorch nên hiện tại, Python là ngôn ngữ được dùng nhiều nhất. Java cũng là một lựa chọn tốt, với một cộng đồng hỗ trợ cực lớn. Hoặc bạn có thể dùng C++ hay R cũng được.

Machine Learning có phải là giải pháp hoàn hảo để giải quyết mọi vấn đề liên quan AI?

Machine Learning vẫn có thể sai lầm. Thuật toán là do con người tạo ra nên nó vẫn bị ảnh hưởng bởi con người, và cũng như mọi lĩnh vực cần phân tích dữ liệu, sẽ có lúc dữ liệu thu thập được là tốt, có khả năng sử dụng, hoặc không tốt, nên bỏ qua.

Machine Learning cũng có một số giới hạn về tính minh bạch, đặc biệt là khi nó liên quan đến một số "hộp đen" vốn là một phần tất yếu của Neural Network.

Tuy nhiên, Machine Learning thực sự là một công cụ tuyệt vời đóng vai trò cực quan trọng trong sự tiến hoá và phát triển của công nghệ, giúp AI ngày càng đến tay nhiều người dùng hơn.


Tấn Minh