Giới thiệu về mạng nơron tích chập
Một bước đột phá trong việc xây dựng mô hình để phân loại hình ảnh là khi phát hiện ra rằng mạng nơron xoáy (CNN) có thể được dùng để trích xuất dần dần các nội dung hình ảnh ở cấp cao hơn và cao hơn. Thay vì xử lý trước dữ liệu để lấy các đặc điểm như hoạ tiết và hình dạng, CNN chỉ lấy dữ liệu pixel thô của hình ảnh làm dữ liệu đầu vào và "tìm hiểu" cách trích xuất các đặc điểm này, cuối cùng suy luận đối tượng mà các đặc điểm này tạo nên.
Để bắt đầu, CNN nhận được một bản đồ đặc điểm đầu vào: một ma trận ba chiều, trong đó kích thước của hai chiều đầu tiên tương ứng với chiều dài và chiều rộng của hình ảnh tính bằng pixel. Kích thước của chiều thứ ba là 3 (tương ứng với 3 kênh của hình ảnh màu: đỏ, xanh lục và xanh lam). CNN bao gồm một ngăn xếp mô-đun, mỗi mô-đun thực hiện 3 thao tác.
1. Tích chập
Bộ lọc tích chập trích xuất các ô của bản đồ đặc điểm đầu vào và áp dụng bộ lọc cho các ô đó để tính toán các đặc điểm mới, tạo bản đồ đặc điểm đầu ra hoặc đặc điểm tích chập (có thể có kích thước và độ sâu khác với bản đồ đặc điểm đầu vào). Các phép tích chập được xác định bằng hai tham số:
- Kích thước của các ô được trích xuất (thường là 3x3 hoặc 5x5 pixel).
- Độ sâu của bản đồ đặc điểm đầu ra, tương ứng với số lượng bộ lọc được áp dụng.
Trong quá trình tích chập, các bộ lọc (matrice có kích thước bằng kích thước của ô) trượt hiệu quả theo chiều ngang và chiều dọc trên lưới của bản đồ đặc điểm đầu vào, lần lượt một pixel, trích xuất từng ô tương ứng (xem Hình 3).
Hình 3. Một phép tích chập 3x3 có độ sâu 1 được thực hiện trên một bản đồ đặc điểm đầu vào 5x5, cũng có độ sâu 1. Có 9 vị trí 3x3 có thể dùng để trích xuất thẻ thông tin từ bản đồ đặc điểm 5x5, do đó, phép tích chập này sẽ tạo ra một bản đồ đặc điểm đầu ra 3x3.
Đối với mỗi cặp bộ lọc-thẻ thông tin, CNN thực hiện phép nhân theo phần tử của ma trận bộ lọc và ma trận thẻ thông tin, sau đó cộng tất cả các phần tử của ma trận kết quả để nhận được một giá trị duy nhất. Sau đó, mỗi giá trị kết quả này cho mỗi cặp thẻ lọc-thẻ thông tin sẽ được xuất ra trong ma trận tính năng convolved (xem Hình 4a và 4b).
Hình 4a. Trái: Bản đồ đặc điểm đầu vào 5x5 (chiều sâu 1). Phải: một phép tích chập 3x3 (độ sâu 1).
Hình 4b. Trái: Biểu đồ tích chập 3x3 được thực hiện trên bản đồ đặc điểm đầu vào 5x5. Phải: tính năng convolved thu được. Nhấp vào một giá trị trong bản đồ đặc điểm đầu ra để xem cách tính giá trị đó.
Trong quá trình huấn luyện, CNN "tìm hiểu" các giá trị tối ưu cho ma trận bộ lọc để có thể trích xuất các đặc điểm có ý nghĩa (kết cấu, cạnh, hình dạng) từ bản đồ đặc điểm đầu vào. Khi số lượng bộ lọc (chiều sâu của bản đồ đặc điểm đầu ra) được áp dụng cho đầu vào tăng lên, thì số lượng đặc điểm mà CNN có thể trích xuất cũng tăng lên. Tuy nhiên, điều đánh đổi là các bộ lọc tạo nên phần lớn tài nguyên mà CNN tiêu thụ, vì vậy, thời gian huấn luyện cũng tăng lên khi thêm nhiều bộ lọc hơn. Ngoài ra, mỗi bộ lọc được thêm vào mạng cung cấp giá trị gia tăng ít hơn so với bộ lọc trước đó, vì vậy, các kỹ sư hướng đến việc xây dựng mạng sử dụng số lượng bộ lọc tối thiểu cần thiết để trích xuất các đặc điểm cần thiết cho việc phân loại hình ảnh chính xác.
2. ReLU
Sau mỗi phép tích chập, CNN áp dụng phép biến đổi Đơn vị tuyến tính được sửa đổi (ReLU) cho đặc điểm được tích chập để đưa tính phi tuyến tính vào mô hình. Hàm ReLU, \(F(x)=max(0,x)\), trả về x cho tất cả các giá trị của x > 0 và trả về 0 cho tất cả các giá trị của x ≤ 0.
3. Gộp
Sau ReLU là bước hợp nhất, trong đó CNN giảm mẫu tính năng được tích chập (để tiết kiệm thời gian xử lý), giảm số lượng chiều của bản đồ đặc điểm, trong khi vẫn giữ lại thông tin đặc điểm quan trọng nhất. Một thuật toán phổ biến dùng cho quy trình này được gọi là gộp tối đa.
Max pooling hoạt động theo cách tương tự như convolution. Chúng ta trượt qua bản đồ đặc điểm và trích xuất các ô có kích thước được chỉ định. Đối với mỗi thẻ thông tin, giá trị tối đa sẽ được xuất ra một bản đồ đặc điểm mới và tất cả các giá trị khác sẽ bị loại bỏ. Các thao tác gộp tối đa sẽ nhận hai tham số:
- Kích thước của bộ lọc tích luỹ tối đa (thường là 2x2 pixel)
- Stride (Bước): khoảng cách, tính bằng pixel, phân tách từng ô đã trích xuất. Không giống như trong phép tích chập, trong đó các bộ lọc trượt qua từng pixel trên bản đồ đặc điểm, trong phương pháp hợp nhất tối đa, bước xác định vị trí trích xuất từng ô. Đối với bộ lọc 2x2, bước 2 chỉ định rằng phép hợp nhất tối đa sẽ trích xuất tất cả các ô 2x2 không trùng lặp từ bản đồ đặc điểm (xem Hình 5).
Hình 5. Trái: Thực hiện tính năng hợp nhất tối đa trên bản đồ đặc điểm 4x4 bằng bộ lọc 2x2 và bước là 2. Phải: kết quả của phép tính tích luỹ tối đa. Lưu ý rằng bản đồ đặc điểm thu được hiện là 2x2, chỉ giữ lại giá trị tối đa của mỗi ô.
Lớp liên thông đầy đủ
Ở cuối mạng nơron tích chập là một hoặc nhiều lớp kết nối đầy đủ (khi hai lớp "kết nối đầy đủ", mọi nút trong lớp đầu tiên đều kết nối với mọi nút trong lớp thứ hai). Nhiệm vụ của chúng là thực hiện việc phân loại dựa trên các đặc điểm được trích xuất bằng phép tích chập. Thông thường, lớp kết nối đầy đủ cuối cùng chứa một hàm kích hoạt softmax, hàm này sẽ xuất ra một giá trị xác suất từ 0 đến 1 cho mỗi nhãn phân loại mà mô hình đang cố gắng dự đoán.
Hình 6 minh hoạ cấu trúc toàn diện của một mạng nơron tích chập.
Hình 6. CNN hiển thị ở đây chứa hai mô-đun tích chập (tích chập + ReLU + tích luỹ) để trích xuất đặc điểm và hai lớp kết nối đầy đủ để phân loại. Các CNN khác có thể chứa nhiều hoặc ít mô-đun tích chập hơn, cũng như nhiều hoặc ít lớp kết nối đầy đủ hơn. Các kỹ sư thường thử nghiệm để tìm ra cấu hình mang lại kết quả tốt nhất cho mô hình của họ.