NGÀNH CNTT TUYỂN SINH NHIỀU CHỈ TIÊU NGÀNH CNTT, CNTT VIỆT NHẬT VÀ KHOA HỌC DỮ LIỆU

Góc học tập

Phân loại mã độc Android dựa trên hướng tiếp cận đa lớp đặc trưng

on .

Phân loại mã độc Android dựa trên hướng tiếp cận đa lớp đặc trưng

220201004 - Phạm Nhật Duy

Sự phổ biến rộng rãi của các ứng dụng Android đặt ra những lo ngại và thách thức đáng kể về bảo mật trong việc phát hiện và phân loại mã độc trên nền tảng này. Các kỹ thuật phân tích truyền thống trước đây không thể đối phó với sự thay đổi ngày càng tinh vi của mã độc, đặc biệt là trước các kỹ thuật làm rối mã nguồn nâng cao, do đó đòi hỏi cần phải có các phương pháp mạnh mẽ hơn. Mục tiêu của nghiên cứu này là xây dựng một hệ thống phân loại mã độc Android có khả năng phát hiện được các ứng dụng đã bị làm rối mã nguồn. Tận dụng các kỹ thuật phân loại hình ảnh, luận văn này đề xuất một phương pháp chuyển đổi mã nguồn của ứng dụng Android thành các hình ảnh đặc trưng khác nhau, bao gồm hình ảnh Markov, hình ảnh đồ thị Entropy và hình ảnh ma trận mức xám. Ba loại hình ảnh đặc trưng này được hợp nhất lại thành một hình ảnh màu duy nhất và làm đầu vào cho các mô hình mạng nơ-ron tích chập được tinh chỉnh. Kết quả cho thấy phương pháp đề xuất mang lại hiệu suất vượt trội hơn so với các phương pháp hiện có. Kết quả cũng chỉ ra tầm quan trọng của việc xem xét nhiều loại đặc trưng hình ảnh khác nhau để có được cái nhìn toàn diện hơn về hành vi của ứng dụng Android, mặc dù vẫn có sự đánh đổi về chi phí tính toán. Ngoài ra, việc sử dụng một bộ dữ liệu đa dạng các ứng dụng (bị và không bị làm rối mã) sẽ giúp cải thiện tốt hơn khả năng chống lại trước các kỹ thuật làm rối mã nguồn.

Trân trọng.

Cách đọc một bài báo khoa học (paper)

on .

Cách đọc một bài báo khoa học (paper) theo đúng quy trình mà các nhà nghiên cứu, đặc biệt trong khoa học máy tính thường dùng. Mục tiêu là giúp bạn hiểu nhanh – nắm đúng – dùng được cho nghiên cứu.

 

QUY TRÌNH 3 VÒNG (Three-Pass Method)

Phương pháp kinh điển của Keshav (Stanford/Waterloo) – hiệu quả và tiết kiệm thời gian.

Vòng 1: Đọc lướt trong 5–10 phút – Xác định có nên đọc tiếp không

Đọc các phần sau theo thứ tự:

  1. Tiêu đề
  2. Tóm tắt (Abstract)
  3. Mục lục/Section headings
  4. Hình chính, bảng quan trọng
  5. Kết luận

Tự hỏi 3 câu:

  • Paper này nghiên cứu vấn đề gì? (Problem)
  • Họ làm gì để giải quyết nó? (Idea/Method)
  • Kết quả có đáng để mình đầu tư thời gian không? (Key Results)

Nếu thấy không liên quan hoặc không đủ mới → bỏ. Tiết kiệm rất nhiều thời gian.

 

Vòng 2: Đọc kỹ nội dung chính trong 1–2 giờ – Hiểu "cách họ làm"

Mục tiêu: hiểu ý tưởng và quy trình, không cần hết mọi chi tiết.

Tập trung:

1. Bài toán (Problem Formulation)

  • Họ giải quyết vấn đề gì?
  • Tại sao nó quan trọng?
  • Khoảng trống (gap) của các nghiên cứu trước?

2. Ý tưởng chính (Core Idea)

  • Thuật toán, mô hình, khung lý thuyết?
  • Điểm mới so với các công trình cũ?

3. Thử nghiệm hoặc chứng minh (Experiments/Theory)

  • Dataset gì?
  • Metric nào?
  • Baseline nào?
  • Họ có công bằng không?
  • Kết quả có đủ thuyết phục không?

4. Giới hạn (Limitations)

Thường nằm trong Discussion hoặc ẩn trong Conclusion. Viết một đoạn tóm tắt 5–7 câu bằng chính lời của bạn → giúp “nhớ lâu”.

 

Vòng 3: Đọc siêu kỹ – Phân tích để tái tạo hoặc áp dụng

Dành cho những paper bạn cần dùng cho luận văn, dự án, hoặc tái tạo kết quả.

Mục tiêu: hiểu từng chi tiết.

Bạn sẽ:

  • Đọc kỹ toàn bộ mô hình/thuật toán.
  • Ghi lại pseudocode.
  • Đọc phần appendix.
  • Chạy thử code (nếu tác giả cung cấp).
  • Ghi chú ưu/nhược điểm chi tiết.
  • So sánh với các paper liên quan.

Đây là vòng mà sinh viên nghiên cứu sinh → tiến sĩ thường làm.

 

KỸ THUẬT HỖ TRỢ KHI ĐỌC PAPER

1. Ghi chú song song (Parallel Notes)

Chia trang ghi chú thành 3 cột:

  • Ý chính
  • Câu hỏi
  • Ý tưởng ứng dụng / liên hệ

Rất hiệu quả cho nghiên cứu khoa học máy tính.

2. Tóm tắt mỗi mục bằng 1 câu

Abstract, Introduction, Method, Experiments, Conclusion → mỗi phần 1 câu.
Khi gộp lại sẽ thành bản tóm tắt 6–8 câu rất mạnh.

3. Vẽ lại sơ đồ

  • Vẽ pipeline của mô hình
  • Vẽ sơ đồ thuật toán
  • Vẽ flowchart

Não rất dễ nhớ hình ảnh.

4. Kiểm tra giả định và bẫy

Khi đọc, luôn tự hỏi:

  • Giả định nào của tác giả có thể sai?
  • Họ chọn dataset có thiên vị không?
  • So sánh với baseline đã công bằng chưa?
  • Kết quả “state-of-the-art” có thực sự thuyết phục?

5. Liên kết với các paper khác (Network Reading)

Không đọc một paper tách biệt.
Đọc:

  • Paper mà tác giả trích dẫn nhiều nhất
  • Paper mới nhất trích dẫn paper này
  • Paper cùng chủ đề trên venue mạnh (NeurIPS, CVPR, Nature, Science…)

→ Bạn sẽ hiểu toàn cảnh lĩnh vực.

 

TÓM TẮT NGẮN GỌN

  • Vòng 1: đọc 5 phút → quyết định có đáng đọc không
  • Vòng 2: đọc 1–2 giờ → hiểu ý chính, phương pháp, kết quả
  • Vòng 3: đọc sâu → tái tạo, phân tích, ứng dụng

Phân biệt khoa học máy tính và khoa học dữ liệu

on .

Khoa học máy tính (Computer Science) và khoa học dữ liệu (Data Science) là hai lĩnh vực liên quan nhưng có mục tiêu, phương pháp và ứng dụng khác nhau. Dưới đây là sự phân biệt rõ ràng giữa hai lĩnh vực này:


1. Định nghĩa
- Khoa học máy tính (Computer Science): Là ngành nghiên cứu về máy tính, hệ thống tính toán, và các nguyên lý cơ bản của việc thiết kế, phát triển, và vận hành phần mềm, phần cứng. Nó tập trung vào lý thuyết tính toán, thuật toán, cấu trúc dữ liệu, hệ điều hành, mạng máy tính, trí tuệ nhân tạo, và nhiều khía cạnh khác của công nghệ thông tin.
- Khoa học dữ liệu (Data Science): Là lĩnh vực liên ngành tập trung vào việc trích xuất thông tin, tri thức, hoặc giá trị từ dữ liệu. Nó kết hợp các kỹ thuật từ thống kê, toán học, máy học, và khoa học máy tính để phân tích và diễn giải dữ liệu lớn, thường nhằm hỗ trợ ra quyết định.
 
2. Mục tiêu chính
- Khoa học máy tính: Xây dựng các hệ thống, công cụ, và công nghệ mới (ví dụ: phát triển hệ điều hành, phần mềm, hoặc trí tuệ nhân tạo). Nó quan tâm đến cách máy tính hoạt động và cách tối ưu hóa hiệu suất của chúng.
- Khoa học dữ liệu: Hiểu và khai thác dữ liệu để đưa ra dự đoán, phân tích xu hướng, hoặc hỗ trợ ra quyết định kinh doanh. Ví dụ: dự đoán hành vi khách hàng, tối ưu hóa quy trình kinh doanh.
 
3. Kỹ năng và công cụ
- Khoa học máy tính:
Kỹ năng: Lập trình (C++, Java, Python), thuật toán, cấu trúc dữ liệu, kiến trúc máy tính, hệ điều hành, mạng, cơ sở dữ liệu.
Công cụ: Ngôn ngữ lập trình (Python, Java, C++), trình biên dịch, hệ thống quản lý cơ sở dữ liệu (MySQL, PostgreSQL), công cụ phát triển phần mềm (Git, Docker).
- Khoa học dữ liệu:
Kỹ năng: Phân tích thống kê, máy học, trực quan hóa dữ liệu, xử lý dữ liệu lớn, kiến thức kinh doanh.
Công cụ: Python, R, SQL, các thư viện máy học (TensorFlow, Scikit-learn), công cụ trực quan hóa (Tableau, Power BI), nền tảng dữ liệu lớn (Hadoop, Spark).
 
4. Ứng dụng
- Khoa học máy tính: Phát triển phần mềm, xây dựng hệ thống nhúng, trí tuệ nhân tạo, bảo mật mạng, phát triển game, blockchain, v.v.
- Khoa học dữ liệu: Phân tích dữ liệu kinh doanh, dự đoán thị trường, tối ưu hóa chuỗi cung ứng, chăm sóc sức khỏe (dự đoán bệnh), marketing (phân khúc khách hàng), v.v.
 
5. Mối quan hệ
- Khoa học dữ liệu sử dụng nhiều khái niệm và công cụ từ khoa học máy tính, đặc biệt là máy học và cơ sở dữ liệu, nhưng nó mở rộng sang các lĩnh vực như thống kê và phân tích kinh doanh.
- Khoa học máy tính cung cấp nền tảng công nghệ (như thuật toán máy học, hệ thống lưu trữ dữ liệu) mà khoa học dữ liệu dựa vào để xử lý và phân tích dữ liệu.
 
Tóm tắt
- Khoa học máy tính: Tập trung vào công nghệ, hệ thống, và cách máy tính hoạt động.
- Khoa học dữ liệu: Tập trung vào dữ liệu, phân tích, và rút ra giá trị từ dữ liệu.

Chapter 0: Vì sao Data Analyst trong lĩnh vực Fintech cần hiểu tài chính?

on .

Chapter 0: Vì sao Data Analyst trong lĩnh vực Fintech cần hiểu tài chính?

Giới thiệu Series Data Analyst trong lĩnh vực Fintech

Trong thời đại ngân hàng số, ví điện tử và ứng dụng đầu tư mọc lên như nấm, Data Analyst (DA) trở thành một mắt xích quan trọng để biến dữ liệu thành giá trị kinh doanh. Series Data Analyst trong lĩnh vực Fintech được viết ra nhằm cung cấp kiến thức cơ bản đặc biệt dành cho những bạn DA muốn trang bị kiến thức nền tảng để tự tin bước vào lĩnh vực fintech. Nội dung chuỗi bài viết này chủ yếu sẽ được dựa vào cuốn sách “Tiền và hoạt động ngân hàng”, “Fintech for dummies” và tổng hợp từ nhiều nguồn khác nhau. Nội dung các chap sẽ bao gồm:

Chapter 0: Vì sao Data Analyst trong lĩnh vực Fintech cần hiểu tài chính?

Chapter 1: Tiền và ngân hàng

Chapter 2: Hoạt động và số hóa ngân hàng

Chapter 3: Các sản phẩm tài chính

Chapter 4: Chỉ số tài chính

Chapter 5: Dữ liệu và bài toán minh họa

Chapter 6: Chủ đề nâng cao

Tại Chapter 0, chúng ta sẽ cùng tìm hiểu vai trò của DA trong lĩnh vực fintech cùng một ví dụ tình huống cần nắm chắc kiến thức ngành (domain knowledge) để tiến hành phân tích và đề xuất giải pháp.

Trong một công ty fintech, Data Analyst không chỉ “ngồi với số liệu” mà còn đóng vai trò cầu nối giữa dữ liệu và chiến lược kinh doanh. Công việc của bạn có thể bao gồm:

  • Theo dõi hiệu suất sản phẩm, chẳng hạn đo lường tỷ lệ người dùng kích hoạt ví điện tử sau khi tải ứng dụng.

  • Phân tích hành vi người dùng dựa trên lịch sử giao dịch, hoạt động nạp/rút tiền, thanh toán.

  • Đo lường rủi ro, như tỷ lệ nợ xấu hoặc trả chậm.

  • Hỗ trợ các quyết định chiến lược, ví dụ đánh giá hiệu quả chiến dịch marketing.

Vì sao cần hiểu kiến thức ngành (domain knowledge)? Cùng tới với hai ví dụ sau:

Ví dụ 1: Hãy tưởng tượng bạn là một Data Analyst cho một công ty Fintech cung cấp ví điện tử. Ban lãnh đạo yêu cầu bạn làm một báo cáo khẩn cấp về Tổng Giá Trị Giao Dịch (Total Transaction Value - TTV) trong ngày siêu sale 8/8 vừa qua để đánh giá hiệu quả của chiến dịch marketing.

Trong cơ sở dữ liệu, bạn có một bảng transactions với các cột quan trọng như transaction_id, amount (số tiền), transaction_date (ngày giao dịch), và status (trạng thái).

Cột status có thể có các giá trị như:

  • pending: Giao dịch đã được khởi tạo nhưng đang chờ xử lý, tiền chưa thực sự được chuyển đi (ví dụ: chờ ngân hàng đối tác xác nhận).

  • settled hoặc success: Giao dịch đã hoàn tất, tiền đã được chuyển thành công.

  • failed: Giao dịch thất bại do lỗi kỹ thuật, sai thông tin, hoặc tài khoản không đủ tiền.

 

Data Analyst A - chỉ tập trung vào kỹ thuật

Data Analyst B - có kiến thức ngành

Cách tiếp cận

Chỉ nhận yêu cầu rồi viết câu lệnh SQL để tính tổng giá trị giao dịch trong ngày

Hiểu rằng: "Tổng giá trị giao dịch" thực tế mà doanh nghiệp ghi nhận phải là những giao dịch đã thành công (settled). Các giao dịch pending có rủi ro thất bại và không thể được tính là doanh thu hay giá trị đã tạo ra

Câu lệnh SQL

SELECT SUM(amount) AS total_value

FROM transactions

WHERE transaction_date = '2025-8-8';

SELECT SUM(amount) AS total_value

FROM transactions

WHERE transaction_date = '2025-8-8' 

AND status = 'settled';

Kết quả

15 tỷ đồng (bao gồm cả settled, pending, failed)

12 tỷ đồng (chỉ tính settled)

Sự chênh lệch 3 tỷ đồng giữa hai kết quả trên không chỉ là một con số, nó dẫn đến những quyết định kinh doanh sai lầm nghiêm trọng:

  • Đánh giá sai hiệu quả Marketing:

    • Với báo cáo 15 tỷ, ban lãnh đạo nghĩ rằng chiến dịch marketing đã thành công vượt bậc. Họ quyết định đổ thêm gấp đôi tiền marketing cho chiến dịch tháng sau với kỳ vọng thu về 30 tỷ.

    • Thực tế, chiến dịch chỉ mang về 12 tỷ. Quyết định đổ thêm tiền dựa trên con số sai lầm sẽ gây lãng phí ngân sách trầm trọng.

  • Sai lệch trong báo cáo tài chính: Bộ phận Kế toán/Tài chính khi đối soát dòng tiền cuối tháng sẽ thấy hụt 3 tỷ so với báo cáo của team Data. Điều này gây ra sự hoang mang, mất thời gian điều tra, và quan trọng nhất là làm giảm sút niềm tin vào năng lực của đội ngũ phân tích dữ liệu.

  • Hoạch định sai chiến lược sản phẩm: Công ty có thể nghĩ rằng hệ thống đang hoạt động tốt vì xử lý được tới 15 tỷ giao dịch, trong khi thực tế có tới 3 tỷ (tương đương 20%) đang bị "treo" ở trạng thái pending hoặc failed, cho thấy một vấn đề tiềm ẩn về kỹ thuật hoặc trải nghiệm người dùng cần được giải quyết.

Ví dụ 2: Bạn là một Data Analyst làm việc cho một cổng thanh toán (Payment Gateway) cung cấp dịch vụ cho hàng ngàn website thương mại điện tử. Đột nhiên, Trưởng phòng Rủi ro nhận thấy số lượng các yêu cầu chargeback (khách hàng khiếu nại ngân hàng để đòi lại tiền) tăng vọt trong tuần qua. Lý do khiếu nại phổ biến là: "Tôi không thực hiện giao dịch này".

Mỗi yêu cầu chargeback thành công không chỉ khiến công ty mất tiền mà còn bị các tổ chức thẻ quốc tế (Visa, Mastercard) phạt và làm giảm uy tín. Bạn được giao nhiệm vụ khẩn cấp: "Tìm ra chuyện gì đang xảy ra."

Bảng chargeback bao gồm các cột:

  • chargeback_id: Mã định danh duy nhất cho mỗi yêu cầu chargeback (khóa chính).

  • transaction_id: Cột quan trọng nhất. Đây là khóa ngoại dùng để liên kết (JOIN) tới giao dịch gốc trong bảng transactions. Nhờ cột này, nhà phân tích có thể truy vết lại toàn bộ thông tin về người dùng, nhà bán hàng, thiết bị,... liên quan đến giao dịch bị khiếu nại.

  • chargeback_date: Ngày mà yêu cầu chargeback được ghi nhận.

  • reason_code: Mã lý do khiếu nại do ngân hàng cung cấp. Mỗi mã tương ứng với một lý do cụ thể. Ví dụ:

    • 10.4: Fraud - Card-Not-Present Transaction (Gian lận - Giao dịch không xuất trình thẻ)

    • 13.1: Goods/Services Not Received (Không nhận được hàng hóa/dịch vụ)

  • status: Trạng thái của khiếu nại (ví dụ: pending_investigation, won, lost).

  • amount: Số tiền bị khiếu nại, thường bằng với số tiền của giao dịch gốc.

 

Data Analyst A - chỉ tập trung vào kỹ thuật

Data Analyst B - có kiến thức ngành

Cách tiếp cận

Tiếp cận vấn đề một cách trực diện. Họ viết một câu lệnh SQL để nhóm các khiếu nại theo nhà bán hàng (merchant)

Để tìm ra gian lận, không thể chỉ nhìn vào bảng chargebacks, mà phải kết nối dữ liệu từ nhiều nguồn khác nhau. Họ bắt đầu thực hiện các truy vấn phức tạp hơn để tìm các mẫu hành vi bất thường liên quan đến các giao dịch của "Merchant ABC"

Câu lệnh SQL

SELECT merchant_id, COUNT(chargeback_id) AS total_chargebacks

FROM chargebacks

WHERE chargeback_date >= '2025-08-08'

GROUP BY merchant_id

ORDER BY total_chargebacks DESC;

JOIN transactions với device_logs (ghi nhận thông tin thiết bị):
Phát hiện hàng trăm giao dịch khác nhau, dùng hàng trăm số thẻ tín dụng, nhưng đều thực hiện từ cùng một thiết bị (device_id).
→ Kiến thức ngành: Đây là dấu hiệu kinh điển của card testing - kẻ gian dùng phần mềm tự động thử nhiều thẻ tín dụng bị đánh cắp để tìm thẻ còn hoạt động.

JOIN transactions với user_accounts (tài khoản người dùng) và shipping_details (địa chỉ giao hàng):
Phát hiện hàng trăm tài khoản mới được tạo trong thời gian ngắn, tất cả đều yêu cầu giao hàng đến cùng một địa chỉ.
→ Kiến thức ngành: Đây là dấu hiệu một ổ nhóm gian lận đang gom hàng hóa mua từ thẻ bị đánh cắp.

Kết quả

Báo cáo chỉ ra rằng 80% các khiếu nại trong tuần qua đều đến từ một nhà bán hàng duy nhất là "Merchant ABC".

Hiểu rằng chỉ nhìn vào bảng chargebacks là chưa đủ, cần kết nối dữ liệu từ nhiều nguồn khác nhau.

Hậu quả của cách tiếp cận 1:
  • Công ty có thể cắt đứt hợp đồng với "Merchant ABC" một cách oan uổng, vừa mất đi một đối tác kinh doanh hợp pháp, vừa mất doanh thu.

  • Quan trọng nhất: Vấn đề gốc không được giải quyết. Băng nhóm lừa đảo kia sẽ đơn giản chuyển sang tấn công một merchant khác, và khủng hoảng chargeback sẽ lại tiếp diễn.

Giải pháp từ cách tiếp cận 2:

  • Hành động ngay lập tức: Dựa trên các mẫu hành vi được phát hiện, team Rủi ro có thể ngay lập tức thiết lập các quy tắc (rules) mới trên hệ thống để tự động chặn các giao dịch đáng ngờ. Ví dụ: "Tự động khóa một thiết bị nếu nó cố gắng giao dịch với hơn 5 thẻ khác nhau trong vòng 1 giờ."

  • Giải pháp dài hạn: Các phân tích và "dấu vết" này cung cấp dữ liệu vàng để huấn luyện các mô hình Machine Learning, giúp hệ thống tự động nhận diện các hành vi gian lận tinh vi hơn trong tương lai.

Hai ví dụ trên cho thấy, một Data Analyst giỏi trong ngành Fintech không chỉ cần biết cách lấy dữ liệu, mà phải hiểu sâu sắc ý nghĩa đằng sau mỗi trường dữ liệu để biến chúng thành những insight chính xác và có giá trị chiến lược. Phân tích sâu sắc như vậy không chỉ giải quyết vấn đề trước mắt mà còn giúp xây dựng một nền tảng tài chính an toàn và bền vững hơn.

 

Hy vọng phần mở đầu này đã giúp bạn hình dung rõ hơn vai trò của Data Analyst trong fintech, cũng như lý do vì sao kiến thức ngành là “vũ khí” không thể thiếu. Bước sang Chapter 1, chúng ta sẽ bắt đầu từ những viên gạch nền tảng nhất của thế giới tài chính: tiền và ngân hàng — hai khái niệm tưởng quen thuộc nhưng chứa đựng nhiều điều bất ngờ.

Phạm Hồng Trà



Phân biệt học máy và học sâu

on .

Học sâu thực chất là một tập hợp con và là một kỹ thuật tiên tiến hơn của Học máy.

Học máy (Machine Learning)

Học máy là một nhánh của Trí tuệ nhân tạo (AI) cho phép hệ thống học hỏi từ dữ liệu, xác định các mẫu và đưa ra quyết định hoặc dự đoán mà không cần được lập trình tường minh cho từng tác vụ.

  • Định nghĩa: Sử dụng các thuật toán và mô hình thống kê để máy tính học từ dữ liệu.
  • Trích xuất đặc trưng (Feature Engineering): Cần sự can thiệp của con người để xác định và trích xuất các đặc trưng (features) quan trọng từ dữ liệu thô để thuật toán học. Ví dụ: khi phân loại hình ảnh xe cộ, con người phải chỉ ra các đặc trưng như màu sắc, hình dạng bánh xe, cửa sổ, v.v.
  • Dữ liệu: Hoạt động tốt với tập dữ liệu nhỏ hơn và thường là dữ liệu có cấu trúc (structured data).
  • Yêu cầu tính toán: Thường ít phức tạp hơn, có thể chạy trên CPU thông thường.
  • Mô hình: Sử dụng nhiều loại thuật toán khác nhau như Hồi quy tuyến tính, Cây quyết định (Decision Trees), Máy vectơ hỗ trợ (Support Vector Machines - SVM), và Mạng nơ-ron nông (Shallow Neural Networks).

Học sâu (Deep Learning)

Học sâu là một kỹ thuật của Học máy sử dụng Mạng nơ-ron nhân tạo sâu (Deep Neural Networks - mạng có nhiều lớp ẩn) để mô phỏng cách bộ não con người xử lý thông tin.

  • Định nghĩa: Sử dụng mạng nơ-ron nhân tạo nhiều lớp để học.
  • Tự động học đặc trưng: Tự động học các đặc trưng phức tạp và phân cấp (hierarchical features) trực tiếp từ dữ liệu thô (raw data) mà không cần sự can thiệp thủ công của con người. Ví dụ: trong phân loại hình ảnh, các lớp đầu tiên học các cạnh và hình dạng đơn giản, các lớp sau học các đối tượng phức tạp hơn.
  • Dữ liệu: Yêu cầu tập dữ liệu rất lớn (Big Data) để huấn luyện hiệu quả và đặc biệt phù hợp với dữ liệu phi cấu trúc (unstructured data) như hình ảnh, âm thanh, văn bản.
  • Yêu cầu tính toán: Cực kỳ phức tạp, yêu cầu phần cứng mạnh mẽ, đặc biệt là GPU (Bộ xử lý đồ họa) để xử lý song song các phép tính.
  • Mô hình: Chủ yếu là các loại Mạng nơ-ron sâu như Mạng nơ-ron tích chập (CNN), Mạng nơ-ron hồi quy (RNN), Mạng nơ-ron biến áp (Transformer),...

 Bảng so sánh tóm tắt

Đặc điểmHọc máy (Machine Learning - ML)Học sâu (Deep Learning - DL)
Quan hệ Một nhánh của Trí tuệ nhân tạo (AI) Một tập hợp con của Học máy (ML)
Cấu trúc mô hình Mạng nơ-ron nông (hoặc các thuật toán khác) Mạng nơ-ron với nhiều lớp ẩn (sâu)
Trích xuất đặc trưng Thủ công, do con người thực hiện (Feature Engineering) Tự động, mô hình tự học từ dữ liệu thô
Dữ liệu yêu cầu Tốt với dữ liệu nhỏ/vừa, có cấu trúc Yêu cầu dữ liệu lớn (Big Data), phù hợp với dữ liệu phi cấu trúc (hình ảnh, âm thanh)
Phần cứng Thường là CPU Yêu cầu GPU/TPU để huấn luyện nhanh
Thời gian huấn luyện Thường nhanh hơn Thường lâu hơn do cấu trúc phức tạp và lượng dữ liệu lớn
Tính giải thích Thường dễ giải thích hơn (tính minh bạch cao) Thường là "hộp đen" (khó giải thích)
Hiệu suất Tăng trưởng hiệu suất đạt mức bão hòa sớm hơn khi dữ liệu tăng Hiệu suất tiếp tục tăng đáng kể khi lượng dữ liệu lớn hơn