Tập 1 — Học sâu trong khoa học dữ liệu

1. Sự khác biệt giữa AI, ML, DL:

Sự khác nhau giữa AI, ML và DL — Nguồn: https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep-learning-ai/

AI — Artificial Intelligence (Trí tuệ nhân tạo) là một ngành khoa học hướng tới mục tiêu tạo ra những cổ máy có khả năng thực hiện việc suy nghĩ và làm việc như con người.

ML — Machine Learning (Máy học) là một phương pháp của trí tuệ nhân tạo trong hướng tiếp cận hành động như con người. Vì vậy ML chỉ là một phần rất nhỏ của AI.

Bạn có thể lập trình ứng dụng AI mà không sử dụng ML, nhưng khi đó bạn buộc phải liệt kê ra hàng triệu dòng code vềcác trường hợp xảy ra. Ví dụ Nguyễn Văn A vào Tiki để mua bàn chải đánh răng, chương trình phải được lập trình để gợi ý kem đánh răng. Hoặc B mua điện thoại, chương trình cũng phải được code là sẽ gợi ý cho B mua thêm ốp lưng. Vì vậy mà ML (bao gồm các thuật toán) giúp máy tính phân tích, học từ dữ liệu để máy tính tìm thấy các thông tin cực kì giá trị mà không cần phải lập trình (hoặc có thể không giải thích được).

ML là một cách tiếp cận để hướng tới AI hay có thể nói rằng ML là phương tiện/cách thức để đạt được mục tiêu của AI.

DL — Deep Learning (Học sâu) cũng là một cách học từ dữ liệu mà không cần phải lập trình rõ ràng. Trong ML có khái niệm về mạng noron (neural network) là mô hình dùng phân tích và đưa ra dự đoán về dữ liệu, mạng này sẽ nhận , mạng này đơn giản vì chỉ có duy nhất một lớp ẩn hay còn gọi là mạng nông (shallow network). Còn khi số lớp ẩn được tăng lên thì chúng được gọi là mạng học sâu (deep network). Khi giải quyết các bài toán liên quan đến hình ảnh, văn bản, âm thanh thì ngày nay chúng ta đều phải cần biết đến học sâu.

Trong các bài toán ngày nay rất nhiều bài toán được giải quyết bằng DL nhưng người ta vẫn không hiểu được cơ chế hoạt động của nó như thế nào. Một ưu điểm DL sẽ giúp phân tích dữ liệu tốt hơn nhờ có nhiều lớp ẩn xử lý dữ liệu, nên các bài toán giải được bằng ML thì DL sẽ cho ra độ chính xác tốt hơn. Đôi lúc DL cho ra những kết luận mà con người chưa dự đoán được đến như vậy.

Vì mạng học sâu có rất nhiều lớp ẩn nên nên nó cần rất nhiều tài nguyên để tính toán trong quá trình huấn luyện. Nên người ta thường dùng GPU để xây dựng và huấn luyện mô hình học sâu.

2. Một số điều thú vị khác về mạng học sâu:

  • Đầu vào (input) của mạng học sâu là một vector vì vậy cứ biểu diễn những thứ trong cuộc sống bằng vector là có thể dùng DL. Và kích thước của các vector đầu vào đều phải bằng nhau.
  • Một khái niệm mới hiện nay đó là self-supervised (Học tự giám sát) là một kỹ thuật học trong học máy. Trong đó dữ liệu huấn luyện không cần phải gán nhãn thủ công bởi con người mà nó có thể được gắn nhãn bằng cách tìm và khai thác mối quan hệ (hoặc tương quan) giữa các đầu vào khác nhau.
  • Transfer learning: transfer knowledge from one domain to others. Đây là cách sử dụng mô hình đã được huấn luyện thật tốt ở một tập dữ liệu và đem sang áp dụng cho tập dữ liệu khác.

3. Quy trình cơ bản trong mạng học sâu:

  • Bước 1: Tiền xử lý dữ liệu. Ở bước này dữ liệu sẽ được chia ra làm 3 phần bao gồm train set, developing set, và test set.
  • Bước 2: Lựa chọn mô hình phù hợp để huấn luyện mô hình.
  • Bước 3: Tiến hành huấn luyện mô hình (Sử dụng GPU để tăng khả năng tính toán, giúp huấn luyện nhanh hơn)
  • Bước 4: Dự đoán dữ liệu thực tế.

Tham khảo:

Machine learning cho mọi người — Bài 3. AI là gì, Machine Learning, Deep Learning có phải là AI?

AI, Machine Learning, Deep Learning phân biệt như thế nào cho đúng

Difference between Artificial Intelligence, Machine Learning, and Deep Learning.

PCA using Python (scikit-learn)