- vừa được xem lúc

[Deeplearning-1] Giải thích Machine Learning và Deep Learning bằng ngôn ngữ đại chúng

0 0 23

Người đăng: Trần Tấn Thành

Theo Viblo Asia

Phân biệt Artificial Intelligence, Machine Learning và Deep Learning

Đầu tiên chúng ta phải phân biệt rõ ba khái niệm này có quan hệ như thế nào với nhau trước khi đi sâu vào phần giải thích về Machine Learning(ML) và Deep Learning(DL).

image.png

Vào những năm 1950, một số các nhà tiên phong trong lĩnh vực khoa học máy tính tự hỏi, liệu chúng ta có thể làm cho máy tính "suy nghĩ" được không. Điều này dẫn dắt và tạo ra rất nhiều sự đột phá ngày nay. Vậy chúng ta tạm gọi các nghiên cứu liên quan mảng này là Artificial Intelligence(AI). Hay tên đầy đủ và tường minh là "Nỗ lực tự động việc xử lý các công việc đòi hỏi học thức như một con người làm".

Như hình trên, AI là một mảng chung bao gồm cả Machine learning và Deep learning, nhưng cũng bao gồm một số cách tiếp cận để giải quyết vấn đề không liên quan việc "learning". Chúng ta lấy những chương trình tự động chơi cờ vua làm ví dụ, được tạo ra bằng cách đưa vào các Hardcoded-rule(các bạn lập trình viên sẽ hiểu hard code là sao) thì các chương trình đánh cờ này không đủ tiêu chuẩn để được gọi là Machine learning nhưng vẫn thuộc phạm vi của AI. Còn được gọi là Symbolic AI (Symbolic: Tượng trưng).

Mặc dù Symbolic AI giải quyết khá tốt các vấn đề có logic được quy định trước, rõ ràng về luật chơi như là đánh cờ. Nhưng khi được áp dụng vào giải quyết các vấn đề phức tạp, không rõ ràng như là image classification(phân loại hình ảnh), speech recognition(nhận dạng giọng nói) và language translation(dịch thuật) thì Symbolic AI lại gặp nhiều khó khăn.

Machine learning

Một câu hỏi mới được đặt ra bởi Alan Turing, một nhà tiên phong trong lĩnh vực AI. Đó là một chiếc máy tính có thể đi xa hơn những thứ/công thức mà chúng ta ra lệnh chúng nó làm không ? Chúng có thể tự học và thực hiện một việc cụ thể nào đó bằng chính chúng mà không cần chúng ta đưa vào những công thức, thuật toán có sẵn ? chúng có thể tự động học những thuật toán và công thức bằng việc xem các dữ liệu(data) không ?

Câu hỏi trên mở ra cánh cửa tới một mô hình lập trình mới. Sự thay đổi từ Symbolic AI sang Machine learning được mô tả như hình dưới:

Symbolic AI: đầu vào là Rules và Dữ liệu, đầu ra là Kết quả image.png

Machine Learning: đầu vào là Dữ liệu và Kết quả, đầu ra là Rules image.png

Một hệ thống Machine Learning thay vì được gọi là lập trình ra, thì chúng ta sử dụng từ huấn luyện(train). Bằng cách cho hệ thống xem nhiều ví dụ và dữ liệu có liên quan đến công việc được giao, và nó sẽ tìm ra một cấu trúc trong các dữ liệu đầu vào này. Sau đó, hệ thống Machine learning sử dụng rule vừa được tạo ra để tự động hóa việc xử lý các task sau đó.

Ví dụ như chúng ta muốn tạo ra một chương trình phân loại hình ảnh chó và mèo, chúng ta có thể cho hệ thống Machine Learning xem rất nhiều các hình ảnh về chó và mèo. Sau đó, hệ thống sẽ tìm ra được công thức(rule) cho việc phân loại này và sử dụng công thức mới tìm ra để sử dụng cho việc phân loại hình ảnh.

Cơ chế vận hành của Machine Learning

Đầu tiên, chúng ta sẽ xem cách vận hành của Machine Learning. Cơ chế vận hành của Machine Learning được cấu thành từ ba thành phần:

  • Dữ liệu đầu vào(Input data points): Ví dụ như là để phục vụ cho Speech Recognition thì dữ liệu đầu vào là các file audio có chứa giọng nói của con người, nếu công việc là phân loại hình ảnh thì dữ liệu đầu vào là các hình ảnh.
  • Các ví dụ của kết quả mong muốn(Expected Output): Trong Speech Recognition thì có thể là những đoạn transcripts của các file audio, trong công việc phân loại hình ảnh như là phân loại chó mèo như bên trên thì output có thể là các Tag "Dog" hoặc "Cat"
  • Phương pháp đo lường tính chính xác(A way to measure whether the algorithm is doing right): Đây là việc cần thiết để đánh giá kết quả trả ra của hệ thống Machine Learning có sát với kết quả mong muốn không. Sau đó kết quả của việc đo lường này được feedback lại để hệ thống Machine Learning điều chỉnh rule mà nó tạo ra. Việc điều chỉnh xảy ra liên tục, và được gọi là "Learning".

Về bản chất, Machine Learning và Deep Learning đều thực hiện một công việc chung đó là biến đổi từ dữ liệu đầu vào vô nghĩa, phi cấu trúc thành các dữ liệu có ý nghĩa. Việc hiểu rõ cơ chế chuyển đổi từ dữ liệu thành rule này rất quan trọng nên chúng ta "đóng bê tông" phần kiến thức này thêm bằng ví dụ bổ sung bên dưới.

image.png

Như bạn thấy trên hình, chúng ta thấy dữ liệu đầu vào là những đốm trắng và đen. Bây giờ lấy ví dụ, công việc của chúng ta là tìm ra rule để xác định khi đưa vào một đốm mới (x,y) thì nó sẽ là đốm màu gì.

  • Dữ liệu đầu vào(Input data points): Vị trí của đốm mới
  • Các ví dụ của kết quả mong muốn(Expected Output): Màu sắc của đốm mới
  • Phương pháp đo lường tính chính xác(A way to measure whether the algorithm is doing right): tỉ lệ phần trăm(%) đoán đúng được màu các đốm input

Bên dưới là hình mô tả việc tìm ra rule sau khi hệ thống Machine Learning chạy xong:

image.png

Tạm gọi rule được tìm ra là: Nếu x > 0 thì là đốm màu đen, còn x < 0 thì đốm màu trắng.

Từ "Deep" trong khái niệm "Deep Learning"

Deep Learning là một khái niệm con của Machine Learning. Một phương pháp mới để tìm ra các rule có thể sử dụng được là đặt nhiều lớp liên tiếp(successive layers) để tìm ra ý nghĩa của dữ liệu. Chữ "Deep" ở đây không phải nói về độ hiểu về dữ liệu mà là đang nói về "Dept" của các lớp liên tiếp của mô hình Deep Learning.

Các mô hình Deep Learning có thể chứa từ 10 tới hàng trăm lớp liên tục(successive layers). Chúng tự động "learning" bằng việc được cho xem các dữ liệu đầu vào. Trong khi đó, Machine Learning truyền thống chỉ tập trung vào "learning" trên một hoặc hai lớp(layers). Đôi khi chúng được gọi là Shallow Learning(Shallow: Nông, Cạn).

Trong Deep Learning, các lớp liên tiếp(successive layers) thường xuyên "learning" thông qua một mô hình gọi là Neural Network, mô hình này tạo ra nhiều lớp chồng lên nhau và được lấy cảm hứng từ Neuralbiology(Sinh học thần kinh). Nhưng mặc dù là mô hình được lấy cảm hứng chủ đạo từ việc thấu hiểu mạng lưới thần kinh của con người nhưng bạn vui lòng nhớ cho là Deep Learning không phải là mô hình của bộ não con người. Hãy loại bỏ việc thần bí hóa Deep Learning bằng việc so sánh nó với bộ não con người, Deep Learning là một mô hình toán học dùng để chuyển đổi dữ liệu thành các rule có ý nghĩa.

Để hiểu hơn về các lớp liên tục(successive layers) chúng ta hãy xem thêm ví dụ bên dưới:

image.png

Bạn có thể nghĩ về Deep Learning như là một quá trình tinh lọc dữ liệu, mỗi khi đi qua một lớp(layer) thì dữ liệu được tinh khiết hơn.

image.png

Vậy bên trên chúng ta đã đi qua về khái niệm Deep Learning và Machine Learning, hi vọng sau bài viết này bạn đã hiểu hơn về các khái niệm trên và phân biệt được chúng với nhau.

Hãy upvote cho mình để mình có động lực ra tiếp các bài tiếp theo về lĩnh vực Machine Learning nhé.

Chúc các bạn thành công!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Hành trình AI của một sinh viên tồi

Mình ngồi gõ những dòng này vào lúc 2h sáng (chính xác là 2h 2 phút), quả là một đêm khó ngủ. Có lẽ vì lúc chiều đã uống cốc nâu đá mà giờ mắt mình tỉnh như sáo, cũng có thể là vì những trăn trở về lý thuyết chồng chất ánh xạ mình đọc ban sáng khiến không tài nào chợp mắt được hoặc cũng có thể do mì

0 0 146

- vừa được xem lúc

[Deep Learning] Key Information Extraction from document using Graph Convolution Network - Bài toán trích rút thông tin từ hóa đơn với Graph Convolution Network

Các nội dung sẽ được đề cập trong bài blog lần này. . Tổng quan về GNN, GCN. Bài toán Key Information Extraction, trích rút thông tin trong văn bản từ ảnh.

0 0 219

- vừa được xem lúc

Tìm hiểu về YOLO trong bài toán real-time object detection

1.Yolo là gì. . Họ các mô hình RCNN ( Region-Based Convolutional Neural Networks) để giải quyết các bài toán về định vị và nhận diện vật thể.

0 0 284

- vừa được xem lúc

Encoding categorical features in Machine learning

Khi tiếp cận với một bài toán machine learning, khả năng cao là chúng ta sẽ phải đối mặt với dữ liệu dạng phân loại (categorical data). Khác với các dữ liệu dạng số, máy tính sẽ không thể hiểu và làm việc trực tiếp với categorical variable.

0 0 259

- vừa được xem lúc

TF Lite with Android Mobile

Như các bạn đã biết việc đưa ứng dụng đến với người sử dụng thực tế là một thành công lớn trong Machine Learning.Việc làm AI nó không chỉ dừng lại ở mức nghiên cứu, tìm ra giải pháp, chứng minh một giải pháp mới,... mà quan trọng là đưa được những nghiên cứu đó vào ứng dụng thực tế, được sử dụng để

0 0 72

- vừa được xem lúc

Xây dựng hệ thống Real-time Multi-person Tracking với YOLOv3 và DeepSORT

Trong bài này chúng ta sẽ xây dựng một hệ thống sử dụng YOLOv3 kết hợp với DeepSORT để tracking được các đối tượng trên camera, YOLO là một thuật toán deep learning ra đời vào tháng 5 năm 2016 và nó nhanh chóng trở nên phổ biến vì nó quá nhanh so với thuật toán deep learning trước đó, sử dụng YOLO t

0 0 316