Hình 2.8: Sự khác nhau giữa cấu trúc ANN và CNN
Mô hình ANN ra đời đã được áp dụng nhiều trong các bài toán nhận dạng. Tuy nhiên, ANN vẫn chưa thể hiện tốt đối với các dữ liệu có kích thước lớn như hình ảnh. Dữ liệu hình ảnh có kích thước khá lớn khi số hoá có dạng width x height x depth (trong đó: width là số lượng điểm ảnh trên chiều rộng, height là số lượng điểm ảnh trên chiều cao, depth là số lượng kênh, chẳng hạn như RGB có 3 kênh đại diện cho mức độ của 3 màu Đỏ, Lục, Lam) nên đầu vào của mạng CNN là 1 tensor 3 chiều. Cụ thể, một tấm ảnh xám có kích thước 48x48 (pixels) sẽ cho ra vector đặc trưng có 2304 chiều, còn đối với ảnh màu cùng kích thước sẽ là 2304x3=6912 chiều. Điều này cũng có nghĩa là cần tới 6912 trọng số Wk nối giữa lớp vào và một nút ở lớp ẩn kế tiếp. Số lượng trọng số sẽ càng nhân rộng hơn nữa nếu số lượng nút trong lớp ẩn tăng lên. Như vậy chỉ với một bức ảnh nhỏ (48x48) thì cũng cần đến một mô hình khá đồ sộ. Điều này khiến cho việc thao tác với các ảnh có kích thước lớn hơn trở nên khó khăn. Một điều nữa là việc liên kết một cách đầy đủ các điểm ảnh vào một nút trong mạng dường như là dư thừa vì sự phụ thuộc lẫn nhau giữa các điểm ảnh xa nhau là không nhiều mà chủ yếu là sự phụ thuộc giữa các điểm lân cận với nó. Dựa trên vấn đề này mạng nơ-ron tích chập CNN ra đời với một kiến trúc khác hơn so mới mạng truyền thẳng. Thay vì toàn bộ ảnh nối với một nút thì chỉ có một phần cục bộ trong ảnh nối đến một nút trong lớp tiếp theo. Dữ liệu hình ảnh
18
thông qua các lớp của mô hình này sẽ được “học” ra các đặc trưng để tiến hành phân lớp một cách hiệu quả. Về cơ bản mô hình mạng nơ- ron tích chập bao gồm các lớp sau: lớp chập (Convolutional), lớp RELU, lớp gộp (Pooling), lớp kết nối đầy đủ (Fully connected). Sự sắp xếp về số lượng và thứ tự giữa các lớp này sẽ tạo ra những mô hình khác nhau phù hợp cho các bài toán khác nhau.
Hình 2.9: Quá trình thực hiện của mạng CNN