Chuyển đến nội dung chính
Trí tuệ Nhân tạo
Machine Learning

Học cạnh tranh là gì?

Học cạnh tranh có thể tự động gom cụm các đầu vào dữ liệu tương tự, giúp chúng ta tìm ra các mẫu trong dữ liệu khi không có sẵn tri thức hay nhãn.
Abid Ali Awan's photo
Abid Ali Awan
Đã cập nhật · 8 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

Tạo tài khoản miễn phí của bạn

Luyện tập và Lộ trình tiến trình của bạn.

Tiếp Tục Với Google
Bằng cách tiếp tục, bạn chấp nhận Điều khoản sử dụng, Chính sách bảo mật và việc dữ liệu của bạn được lưu trữ tại Hoa Kỳ.

Học cạnh tranh là một phân nhánh của học máy thuộc nhóm các thuật toán học không giám sát. Trong học cạnh tranh, một mạng các nơ-ron nhân tạo cạnh tranh để "kích hoạt" hoặc trở nên hoạt động để đáp ứng một đầu vào cụ thể. Nơ-ron "chiến thắng", thường là nơ-ron khớp tốt nhất với đầu vào cho trước, sẽ được cập nhật, trong khi các nơ-ron khác giữ nguyên. Ý nghĩa của phương pháp học này nằm ở khả năng tự động gom cụm các đầu vào dữ liệu tương tự, cho phép chúng ta tìm ra các mẫu và nhóm trong dữ liệu khi không có sẵn tri thức hay nhãn.

Giải thích về học cạnh tranh

Mạng nơ-ron nhân tạo thường sử dụng các mô hình học cạnh tranh để phân loại đầu vào mà không cần dữ liệu gán nhãn. Quá trình bắt đầu với một véc-tơ đầu vào (thường là một tập dữ liệu). Đầu vào này được đưa vào một mạng các nơ-ron nhân tạo, mỗi nơ-ron có một tập trọng số riêng, hoạt động như các bộ lọc. Mỗi nơ-ron tính một điểm số dựa trên trọng số của nó và véc-tơ đầu vào, thường thông qua phép nhân vô hướng (cách nhân thông tin đầu vào với bộ lọc và cộng các kết quả lại với nhau).

Sau khi tính toán, nơ-ron có điểm số cao nhất ("người thắng") sẽ được cập nhật, thường bằng cách dịch các trọng số của nó lại gần véc-tơ đầu vào hơn. Quá trình này thường được gọi là chiến lược "Kẻ thắng giành tất cả". Theo thời gian, các nơ-ron trở nên chuyên biệt khi chúng được cập nhật hướng tới những véc-tơ đầu vào mà chúng khớp tốt nhất. Điều này dẫn đến việc hình thành các cụm dữ liệu tương tự, từ đó cho phép khám phá các mẫu vốn có trong tập dữ liệu đầu vào.

Để minh họa cách sử dụng học cạnh tranh, hãy tưởng tượng một doanh nghiệp thương mại điện tử muốn phân khúc tệp khách hàng để tiếp thị theo mục tiêu nhưng không có nhãn hay phân khúc sẵn có. Bằng cách đưa dữ liệu khách hàng (lịch sử mua hàng, hành vi duyệt web, nhân khẩu học, v.v.) vào một mô hình học cạnh tranh, họ có thể tự động tìm ra các cụm riêng biệt (như nhóm chi tiêu cao, mua thường xuyên, thích giảm giá) và điều chỉnh chiến lược tiếp thị tương ứng.

Quy trình học cạnh tranh: Ví dụ từng bước

Trong minh họa đơn giản này, giả sử chúng ta có một tập dữ liệu gồm các véc-tơ đầu vào 1 chiều từ 1 đến 10 và một mạng học cạnh tranh với hai nơ-ron.

Bước 1: Khởi tạo

Chúng ta bắt đầu bằng cách khởi tạo ngẫu nhiên trọng số của hai nơ-ron. Giả sử:

  • Trọng số nơ-ron 1: 2
  • Trọng số nơ-ron 2: 8

Bước 2: Đưa véc-tơ đầu vào

Bây giờ, chúng ta đưa một véc-tơ đầu vào vào mạng. Giả sử véc-tơ đầu vào là "5".

Bước 3: Tính khoảng cách

Chúng ta tính khoảng cách giữa véc-tơ đầu vào và các trọng số của hai nơ-ron. Nơ-ron có trọng số gần với véc-tơ đầu vào nhất sẽ "thắng". Có thể tính bằng bất kỳ thước đo khoảng cách nào, ví dụ, độ chênh tuyệt đối:

  • Khoảng cách nơ-ron 1: |5-2| = 3
  • Khoảng cách nơ-ron 2: |5-8| = 3

Vì cả hai khoảng cách bằng nhau, chúng ta có thể chọn người thắng ngẫu nhiên. Giả sử nơ-ron 1 thắng.

Bước 4: Cập nhật trọng số

Chúng ta điều chỉnh trọng số của nơ-ron thắng để đưa nó lại gần véc-tơ đầu vào hơn. Nếu tốc độ học (một tham số điều chỉnh trong thuật toán tối ưu quyết định kích thước bước mỗi vòng lặp) là 0,5, phép cập nhật trọng số sẽ là:

  • Trọng số nơ-ron 1: 2 + 0,5*(5-2) = 3,5
  • Trọng số nơ-ron 2: 8 (không đổi)

Bước 5: Lặp lại

Chúng ta lặp lại quy trình với tất cả các véc-tơ đầu vào khác trong tập dữ liệu, cập nhật trọng số sau mỗi lần đưa vào.

Bước 6: Hội tụ

Sau nhiều vòng lặp (còn gọi là epoch), các trọng số của nơ-ron sẽ bắt đầu hội tụ về tâm của các cụm đầu vào tương ứng. Trong trường hợp này, với dữ liệu 1 chiều từ 1 đến 10, chúng ta có thể kỳ vọng một nơ-ron hội tụ quanh khoảng thấp (1 đến 5) và nơ-ron còn lại quanh khoảng cao (6 đến 10).

Quy trình này minh họa cách học cạnh tranh hoạt động. Theo thời gian, mỗi nơ-ron sẽ chuyên trách một cụm dữ liệu khác nhau, giúp hệ thống nhận diện và biểu diễn các nhóm vốn có trong tập dữ liệu.

Học cạnh tranh so với các mô hình học khác

Khi so sánh với các mô hình học không giám sát khác như phân cụm phân cấp và Phân cụm không gian dựa trên mật độ có xử lý nhiễu (DBSCAN), những điểm mạnh và hạn chế riêng của học cạnh tranh trở nên rõ ràng.

Mô hình học

Cấu trúc cụm

Số lượng cụm

Xử lý nhiễu

Hình dạng cụm

Tái phân bổ điểm dữ liệu

Học cạnh tranh

Phẳng

Xác định trước (dựa trên số nơ-ron)

Vững trước nhiễu nhưng không phân biệt dữ liệu nhiễu và không nhiễu

Thường là lồi

Điểm dữ liệu cố định sau khi gán

Phân cụm phân cấp

Phân cấp (dạng cây)

Xác định sau phân tích

Phụ thuộc vào cách triển khai cụ thể

Thường là lồi

Điểm dữ liệu có thể được phân bổ lại khi cấu trúc cây hình thành

DBSCAN

Phẳng

Tự động xác định dựa trên mật độ dữ liệu

Xuất sắc, tách được dữ liệu nhiễu và không nhiễu

Bất kỳ (kể cả không lồi)

Điểm dữ liệu cố định sau khi gán

Như thể hiện trong bảng, ba mô hình có các đặc điểm khác nhau khiến chúng phù hợp với các loại bài toán khác nhau. Cấu trúc cụm, số lượng cụm, cách xử lý nhiễu, hình dạng cụm có thể hình thành và việc có cho phép tái phân bổ điểm dữ liệu hay không đều là các yếu tố quan trọng cần cân nhắc khi chọn mô hình học.

Việc lựa chọn giữa các mô hình chủ yếu phụ thuộc vào yêu cầu cụ thể và bản chất của tập dữ liệu của bạn.

Học cạnh tranh phù hợp với các tập dữ liệu mà số lượng cụm đã biết trước và dữ liệu được phân bố đồng đều giữa các cụm. Nó hoạt động tốt khi bạn cần phân hoạch dữ liệu đơn giản, phẳng.

Mặt khác, phân cụm phân cấp rất hữu ích khi bạn muốn khám phá các mối quan hệ phân cấp trong dữ liệu hoặc khi số lượng cụm tối ưu chưa biết. Nó cho phép linh hoạt xem xét dữ liệu ở các mức độ chi tiết khác nhau.

DBSCAN là lựa chọn lý tưởng cho các tập dữ liệu có nhiễu hoặc ngoại lệ, hoặc khi kỳ vọng các cụm có hình dạng tùy ý. Nó cũng tự động xác định số cụm dựa trên mật độ dữ liệu, hữu ích cho phân tích khám phá khi số cụm chưa được xác định trước.

Hãy nhớ rằng không có mô hình nào phù hợp cho mọi kịch bản; hiểu rõ đặc điểm dữ liệu của bạn là chìa khóa để chọn mô hình phù hợp.

Tình huống sử dụng thực tế của học cạnh tranh

Chúng ta đã thấy học cạnh tranh thường được dùng cho gom cụm và giảm chiều dữ liệu. Tuy nhiên, nó cũng có thể được dùng để học đặc trưng, phát hiện bất thường và thậm chí trong AI sinh tạo.

Ví dụ, mạng đối sinh (GAN) là một cách tiếp cận mô hình hóa sử dụng học cạnh tranh giữa bộ sinh (tạo dữ liệu giả) và bộ phân biệt (đánh giá dữ liệu thật hay giả) để tổng hợp dữ liệu giả gần giống dữ liệu thật.

Một số thuật toán học cạnh tranh phổ biến khác bao gồm:

  • Học cạnh tranh kẻ thắng giành tất cả. Trong thuật toán đơn giản này, nơ-ron có mức kích hoạt cao nhất "thắng" và các trọng số của nó được điều chỉnh để tiến gần hơn đến đầu vào. Các nơ-ron khác không cập nhật.
  • Bản đồ tự tổ chức (SOM). Ánh xạ dữ liệu đầu vào nhiều chiều lên một lưới nơ-ron có số chiều thấp hơn và điều chỉnh trọng số của các nơ-ron lân cận để trở nên giống với từng đầu vào hơn.
  • Neural gas. Tương tự SOM nhưng gom cụm linh hoạt hơn mà không có tô-pô cứng. Trọng số của các nơ-ron gần đầu vào được điều chỉnh để trở nên giống hơn.
  • Lượng tử hóa véc-tơ học (LVQ). Phát triển từ ý tưởng SOM nhưng sử dụng nhãn lớp rõ ràng để dẫn dắt học cạnh tranh, tạo ra các mẫu đại diện gom cụm đầu vào theo lớp.

Học không giám sát có thể hưởng lợi rất nhiều từ học cạnh tranh, một phương pháp mạnh mẽ được kỳ vọng sẽ được sử dụng rộng rãi hơn trong tương lai. Mặc dù bản đồ tự tổ chức và các phương pháp học cạnh tranh khác đã xuất hiện từ nhiều năm, thành công của GAN đã cho thấy tiềm năng của học đối kháng và học cạnh tranh đa tác nhân.

Trong tương lai, chúng ta sẽ thấy các thuật toán học cạnh tranh mới kết hợp nguyên tắc của học không giám sát, bán giám sát và tăng cường để tạo ra kết quả tốt hơn.

Nếu bạn muốn trực tiếp bắt tay xây dựng mô hình học cạnh tranh của riêng mình, hãy xem Simple Competitive Learning with Python. Hướng dẫn này sẽ dạy bạn về thuật toán đơn giản cho học cạnh tranh. Nó cũng giải thích quy trình, các dẫn xuất toán học và phần mã liên quan trong mô hình.

Muốn tìm hiểu thêm về AI và học máy? Hãy xem các tài nguyên sau:

Câu hỏi thường gặp

Học cạnh tranh có thể dùng cho các tác vụ học có giám sát không?

Mặc dù học cạnh tranh chủ yếu là một kỹ thuật học không giám sát, nó có thể được điều chỉnh cho các tác vụ có giám sát. Các hạng mục hoặc lớp trong tác vụ có giám sát có thể được xem như các cụm, và học cạnh tranh có thể được dùng cho phân loại.

Học cạnh tranh khác gì với học cộng tác?

Trong học cạnh tranh, chỉ nơ-ron chiến thắng được cập nhật. Ngược lại, trong học cộng tác, tất cả các nơ-ron đều được cập nhật, nhưng mức độ cập nhật phụ thuộc vào mức độ gần của chúng với nơ-ron chiến thắng.

Học cạnh tranh có xử lý được các tập dữ liệu lớn không?

Có, học cạnh tranh có thể xử lý các tập dữ liệu lớn. Thực tế, nó thường hiệu quả hơn với các tập dữ liệu lớn vì có thể tìm ra các mẫu phức tạp và tinh tế hơn khi có nhiều dữ liệu.

Ưu điểm của việc dùng học cạnh tranh là gì?

Học cạnh tranh có thể hỗ trợ giảm chiều dữ liệu, trích xuất đặc trưng và nhận dạng mẫu. Nó cũng có thể xử lý hiệu quả các mẫu phi tuyến và phức tạp. Ngoài ra, học cạnh tranh hiệu quả về tính toán và có thể xử lý tập dữ liệu lớn.

Những hạn chế của học cạnh tranh là gì?

Học cạnh tranh có thể mắc kẹt tại cực trị cục bộ, nơi thuật toán bị kẹt trong nghiệm kém tối ưu. Nó cũng nhạy cảm với cấu hình ban đầu của các nơ-ron và tốc độ học. Thêm vào đó, học cạnh tranh có thể không phù hợp cho các tác vụ yêu cầu phân loại chi tiết hoặc xử lý các tập dữ liệu mất cân bằng.

Học cạnh tranh có thể dùng trong các kiến trúc học sâu không?

Có, học cạnh tranh có thể được sử dụng trong các kiến trúc học sâu. Nó có thể dùng như một bước tiền huấn luyện để khởi tạo trọng số của mạng nơ-ron hoặc như một thành phần trong một cấu trúc mạng lớn hơn.

Học cạnh tranh so với các thuật toán học khác như lan truyền ngược thì thế nào?

Học cạnh tranh là một dạng học không giám sát, trong khi lan truyền ngược là một thuật toán học có giám sát. Học cạnh tranh không cần dữ liệu gán nhãn để huấn luyện, còn lan truyền ngược dựa vào các ví dụ có nhãn. Ngoài ra, học cạnh tranh phù hợp hơn với các tác vụ như gom cụm và nhận dạng mẫu, trong khi lan truyền ngược thường được dùng cho phân loại và hồi quy.


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

Là một nhà khoa học dữ liệu được chứng nhận, tôi đam mê tận dụng công nghệ tiên tiến để tạo ra các ứng dụng học máy đổi mới. Với nền tảng vững chắc về nhận dạng giọng nói, phân tích và báo cáo dữ liệu, MLOps, AI hội thoại và NLP, tôi đã rèn giũa kỹ năng phát triển các hệ thống thông minh có thể tạo ra tác động thực sự. Bên cạnh chuyên môn kỹ thuật, tôi cũng là một người truyền đạt tốt, có khả năng chắt lọc các khái niệm phức tạp thành ngôn ngữ rõ ràng, súc tích. Nhờ đó, tôi trở thành một blogger được nhiều người quan tâm trong lĩnh vực khoa học dữ liệu, chia sẻ góc nhìn và kinh nghiệm với cộng đồng các chuyên gia dữ liệu ngày càng lớn. Hiện tại, tôi tập trung vào sáng tạo và biên tập nội dung, làm việc với các mô hình ngôn ngữ lớn để phát triển nội dung mạnh mẽ và hấp dẫn, giúp doanh nghiệp và cá nhân tận dụng tối đa dữ liệu của mình.

Chủ đề
Trí tuệ Nhân tạo
Machine Learning
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem thêm