Thứ Ba, 30/06/2026, 08:00 (GMT+0)

[Bách Khoa Machine Learning] Hướng dẫn về Mạng nơ-ron tích chập (CNN) - Tìm hiểu cách máy tính giải mã hình ảnh

Quay lại Trang chủ Blog
Trên trang này

Bạn có biết rằng các nhà nghiên cứu đang liên tục làm việc để huấn luyện máy tính suy nghĩ như con người, và họ đang đạt được những thành công rực rỡ? Nền tảng đằng sau điều này chính là Mạng nơ-ron (Neural Networks). Trước đây, VNPT Cloud đã chia sẻ một bài hướng dẫn xuất sắc về Mạng nơ-ron hồi quy (RNN), và hôm nay, chúng tôi mang đến cho bạn bài hướng dẫn về Mạng nơ-ron tích chập (CNN) này. Bạn sẽ nghiên cứu cách mạng nơ-ron tích chập trở thành xương sống của ngành công nghiệp trí tuệ nhân tạo và cách CNN đang định hình các ngành công nghiệp trong tương lai.

“Máy tính có thể nhìn, nghe và học hỏi. Chào mừng bạn đến với tương lai.” - Dave Waters

Học máy (Machine Learning) có rất nhiều thuật toán chịu trách nhiệm truyền tải trí thông minh cho các hệ thống. Có rất nhiều ứng dụng của Học máy, và một trong số đó là Thị giác máy tính (Computer Vision). Mục tiêu nhận dạng khuôn mặt và các hình ảnh khác được thực hiện rất tốt nhờ một loại mạng nơ-ron đặc biệt gọi là Mạng nơ-ron tích chập (CNNs). Trong bài viết này, chúng ta sẽ tìm hiểu nguyên lý hoạt động đằng sau các mạng CNN này cũng như lịch sử và ứng dụng của chúng.

CNN là gì?

Mạng nơ-ron tích chập (Convolutional Neural Networks) là một loại thuật toán Học sâu (Deep Learning) nhận hình ảnh làm đầu vào và học các đặc trưng (features) khác nhau của hình ảnh thông qua các bộ lọc (filters). Điều này cho phép chúng học các đối tượng quan trọng hiện diện trong ảnh, giúp phân biệt hình ảnh này với hình ảnh khác.

Ví dụ: Mạng tích chập sẽ học các đặc trưng cụ thể của loài mèo để phân biệt với loài chó, sao cho khi chúng ta đưa đầu vào là ảnh mèo và chó, nó có thể dễ dàng phân biệt giữa hai loài này.

Một đặc điểm quan trọng của CNN giúp nó khác biệt với các thuật toán Học máy khác là khả năng tự tiền xử lý dữ liệu. Do đó, bạn có thể không cần dành nhiều nguồn lực vào việc tiền xử lý dữ liệu thủ công. Ở giai đoạn bắt đầu (cold-start), các bộ lọc có thể cần sự can thiệp thủ công nhưng khi quá trình huấn luyện tiến triển, chúng có thể thích nghi với các đặc trưng đã học và tự phát triển các bộ lọc của riêng mình. Vì vậy, CNN liên tục phát triển cùng với sự tăng trưởng của dữ liệu.

Một điểm quan trọng khác cần lưu ý ở CNN là việc xem xét các kim tự tháp không gian (spatial pyramids) trong dữ liệu. Điều này có nghĩa là CNN có khả năng nắm bắt mối quan hệ không gian và thời gian trong một hình ảnh bằng các đặc trưng được sắp xếp theo phân cấp. Mạng càng đi sâu, nó càng có thể xác định được các mẫu phức tạp hơn bằng cách huấn luyện dựa trên các mẫu đơn giản tìm thấy ở các lớp trước đó. Kiểu học phân cấp này giúp CNN rất hữu ích trong bất kỳ tác vụ nào đòi hỏi mức độ chi tiết cao trong dữ liệu thị giác.

CNN trong học máy.png

Mạng nơ-ron tích chập hoạt động như thế nào?

CNN có hiệu suất tương tự như các mạng nơ-ron kết nối đầy đủ (fully connected) thông thường. Các mạng tích chập này có các trọng số (weights) có thể học từ đầu vào và các độ lệch (biases). Mỗi nơ-ron được kết nối trong mạng sẽ nhận một đầu vào và thực hiện phép nhân vô hướng (dot product) trên đó. Quá trình này diễn ra theo một cách phi tuyến tính. Có một hàm chấm điểm (score function) duy nhất có thể vi phân ở cuối, hàm này bao gồm các điểm số mà chúng ta thu được từ các lớp khác nhau của mạng nơ-ron.

Cuối cùng, một hàm mất mát (loss function) ở cuối sẽ đánh giá hiệu suất của mô hình. Mạng nơ-ron tích chập khác với mạng nơ-ron tiêu chuẩn ở chỗ nó có một giả định rõ ràng rằng đầu vào là một hình ảnh.

Giả định này giúp kiến trúc được định nghĩa theo cách thực tế hơn. Ví dụ, khác với sự sắp xếp tuyến tính của các nơ-ron trong một mạng nơ-ron đơn giản, các nơ-ron này có cấu trúc tổng thể ba chiều – Chiều dài, Chiều rộng và Chiều cao. Chẳng hạn, hình ảnh trong tập dữ liệu CIFAR-10 sẽ chứa các ảnh có kích thước 32x32x3 và đầu ra cuối cùng sẽ có một vectơ duy nhất của các hình ảnh kích thước 1x1x10.

Kiến trúc của Mạng nơ-ron tích chập như sau:

  1. INPUT (Đầu vào): Như đã thảo luận ở trên, một hình ảnh điển hình trong dữ liệu CIFAR-10 sẽ có kích thước 32x32x3, trong đó độ sâu biểu thị số lượng kênh màu (RGB) trong ảnh.
  2. Lớp CONV (Tích chập): Chịu trách nhiệm tính toán tích vô hướng giữa các trọng số của nơ-ron và vùng của hình ảnh đầu vào mà chúng kết nối. Ở đây, kích thước trở thành 32x32x12, biểu thị 12 bộ lọc mà mạng nơ-ron sử dụng.
  3. Lớp RELU: Đây là lớp thứ ba dùng để áp dụng hàm kích hoạt (activation function) vào kết quả tích vô hướng thu được. Kích thước của kết quả này không thay đổi.
  4. Lớp POOL (Tổng hợp): Lớp thứ tư này sẽ lấy mẫu xuống (downsample) các kích thước không gian của hình ảnh (chiều rộng và chiều cao). Điều này sẽ giảm kích thước xuống còn 16x16x12.
  5. Lớp Fully Connected (Kết nối đầy đủ): Chịu trách nhiệm tính toán điểm số của các lớp (class score), dẫn đến một khối lượng cuối cùng là 1x1x10. Con số 10 ở đây đại diện cho 10 danh mục phân loại của CIFAR-10.

Lớp quan trọng nhất trong kiến trúc CNN là lớp Tích chập (Convolutional Layer). Thành phần thiết yếu của lớp CONV bao gồm một bộ lọc có thể học được (learnable filter). Mỗi bộ lọc trên mạng CONV có kích thước ví dụ là 5x5x3. Khi quá trình truyền xuôi (forward pass) diễn ra, chúng ta thực hiện trượt từng bộ lọc trên toàn bộ chiều rộng cũng như chiều sâu của khối lượng đầu vào và cuối cùng tính toán tích vô hướng. Tích vô hướng này cuối cùng sẽ tạo ra một bản đồ kích hoạt (activation map) 2 chiều, cung cấp cho chúng ta phản hồi của bộ lọc tại mọi vị trí không gian.

Mạng sau đó sẽ học các bộ lọc khác nhau tương ứng với các đặc trưng thị giác như một cạnh (edge) hoặc các vết màu trong lớp đầu tiên và tạo ra một mẫu giống như tổ ong ở các lớp cao hơn của mạng. Mỗi bộ lọc trong số 12 bộ lọc trong ConvNet sẽ tạo ra một bản đồ kích hoạt 2 chiều mà chúng ta xếp chồng lên nhau để tạo ra khối lượng đầu ra.

Ứng dụng của Mạng nơ-ron tích chập

Mạng nơ-ron tích chập (CNN) được phát triển để nhận dạng hình ảnh, do đó, chúng chủ yếu được sử dụng trong lĩnh vực thị giác máy tính để phân loại hình ảnh, phân đoạn hình ảnh (segmentation) và thực hiện định vị (localization) các đối tượng trên hình ảnh.

  • Nhận dạng hình ảnh: Phân loại và xác định các đối tượng trong ảnh.
  • Xử lý video: Video khác với hình ảnh ở chỗ chúng có chiều thời gian. Mặc dù phức tạp hơn hình ảnh, chúng ta có thể tinh chỉnh các CNN này để thích ứng với các loại đầu vào thị giác dạng luồng này. CNN thường trở nên phổ biến khi kết hợp với các thuật toán khác như LSTM và Boltzmann Machines để tăng cường hiệu suất xử lý đầu vào video.
  • Xử lý ngôn ngữ tự nhiên (NLP): Ngoài các đầu vào thị giác, CNN cũng đang được sử dụng trong lĩnh vực NLP để phân tích cú pháp ngữ nghĩa, mô hình hóa câu, dự đoán cũng như phân loại.
  • Nhận dạng giọng nói: Gần đây, các công ty như Google đã sử dụng CNN cùng với Mạng nơ-ron hồi quy (RNN) và LSTM để nhận dạng giọng nói.
  • Khám phá thuốc: CNN cũng đang được sử dụng trong việc tìm kiếm thuốc mới. Chúng chứng minh là một công cụ hiệu quả để xác định sự tương tác giữa các phân tử và các protein sinh học nhằm xác định các phương pháp điều trị tiềm năng.

Tổng kết

Tóm tắt lại bài viết về Mạng nơ-ron tích chập: Đây là thuật toán phổ biến và quan trọng nhất khi làm việc với dữ liệu hình ảnh. Chúng ta đã tìm hiểu cách CNN được sử dụng trong nhiều lĩnh vực khác ngoài dữ liệu hình ảnh để mở rộng phạm vi ứng dụng. Chúng ta cũng đã tìm hiểu cách CNN hoạt động và cách chúng thực hiện nhiều hoạt động khác nhau.

  • Huấn luyện CNN nghĩa là cung cấp cho nó hàng nghìn hình ảnh và dạy nó nhận dạng những gì có trong đó. Nó sẽ càng trở nên tốt hơn khi được nhìn thấy nhiều dữ liệu hơn.
  • CNN được sử dụng trong nhiều công cụ thực tế như ứng dụng nhận diện khuôn mặt, xe tự lái và hình ảnh y tế. chúng có thể phát hiện khối u, đọc văn bản viết tay và thậm chí tô màu cho ảnh đen trắng. Khả năng "nhìn" giống như con người khiến chúng trở thành một trong những công cụ mạnh mẽ nhất trong Học sâu.
#Machine Learning
#Bách Khoa Toàn Diện
#Machine Learning
#Bách Khoa Toàn Diện
Sovereign Cloud không chỉ là đặt máy chủ trong nước. Với bối cảnh pháp lý dữ liệu mới tại Việt Nam, đây đang trở thành bài toán hạ tầng quan trọng cho doanh nghiệp Việt và doanh nghiệp nước ngoài hoạt động tại Việt Nam
Sovereign Cloud - Đám mây chủ quyền là gì? Và vì sao doanh nghiệp hoạt động tại Việt Nam nên quan tâm từ bây giờ?
Tiếp tục đọc