b. Giai đoạn nhận dạng:
2.3.3. Xây dựng mạng nơron tích chập 1 Mạng được kết nối cục bộ
2.3.3.1. Mạng được kết nối cục bộ
Trong xử lý hình ảnh, thơng tin của hình ảnh là các điểm ảnh (pixel). Nếu sử dụng mạng được kết nối đầy đủ, chúng ta sẽ có rất nhiều tham số. Ví dụ, một hình ảnh RGB có kích thước 512x512 pixel sẽ có 786432 (= 512 x 512 x 3) tham số đầu vào. Vì vậy, nếu chúng ta sử dụng kiến trúc mạng nơ ron trong hình sau:
Hình 2.16: Hình ảnh một mạng nơ ron được kết nối đầy đủ
Hình trên cho thấy nếu áp dụng mạng nơ ron được kết nối đầy đủ, tồn bộ kiến trúc mạng sẽ cần tính tốn hơn 3 triệu nơ ron. Số lượng lớn các nơ ron làm cho tồn bộ q trình học rất chậm và dẫn đến quá tải so với khả năng tính tốn của máy tính hiện tại.
Qua một vài nghiên cứu về xử lý ảnh, các nhà nghiên cứu nhận thấy rằng các tính năng trong một hình ảnh thường là cục bộ, và các nhà nghiên cứu chú ý đến các tính năng cấp thấp đầu tiên khi xử lý ảnh. Vì vậy, kiến trúc mạng có thể chuyển mạng được kết nối đầy đủ sang mạng được kết nối cục bộ, nhằm làm giảm độ phức tạp của tính tốn. Đây là một trong những ý tưởng chính trong CNN. Chúng ta có thể thấy rõ hơn qua hình sau:
Hình 2.17: Tích chập một ma trận nhỏ để tạo ra dữ liệu đầu vào cho một nơ ron tầng ẩn
Giống như xử lý hình ảnh thơng thường, chúng ta có thể kết nối cục bộ một khối vng ma trận với nơ ron. Kích thước khối thơng thường là 3x3, 5x5, hoặc 7x7. Ý nghĩa vật lý của khối giống như một cửa sổ trượt (cửa sổ trượt là một trong những phương pháp xử lý ảnh). Bằng cách đó, số lượng tham số có thể giảm xuống rất nhỏ nhưng khơng gây ra giảm hoặc mất thơng tin, vì hình ảnh thơng thường thường có tính lặp trong khơng gian. Để trích xuất nhiều thơng tin hơn, các mạng nơ ron kết nối khối cùng với một nơ ron khác. Độ sâu trong các tầng là số lần chúng ta kết nối một khu vực với các nơ ron khác nhau. Ví dụ, mạng kết nối cùng một khu vực với 5 nơ ron khác nhau. Vì vậy, độ sâu là năm trong tầng mới. Chúng ta có thể thấy rõ hơn qua hình sau:
Hình 2.18: Ví dụ về lớp tích chập
Trong thực tế, có thể kết nối tất cả thơng tin độ sâu (ví dụ: kênh 3 RGB) với nơ ron tiếp theo vì kết nối là cục bộ trong khơng gian và có chiều sâu đầy đủ. Tuy
nhiên ở ví dụ này chỉ kết nối thông tin cục bộ về chiều cao và chiều rộng. Vì vậy, có thể có 5 x 5 x 5 các tham số trong hình trên cho nơ ron sau lớp màu xanh nếu chúng ta sử dụng cửa sổ 5x 5. Biến thứ nhất và thứ hai là chiều cao và chiều rộng của kích thước cửa sổ và biến thứ ba là độ sâu của lớp.
Ví dụ này di chuyển cửa sổ bên trong hình ảnh và làm cho tầng tiếp theo cũng có chiều cao và chiều rộng, và là một hai chiều. Ví dụ: nếu chúng ta di chuyển cửa sổ 1 pixel mỗi lần, gọi là bước nhảy là 1, trong một hình ảnh 32 x 32 x 3 và kích thước cửa sổ là sẽ có 28 x 28 x chiều sâu các nơ ron ở tầng tiếp theo. Có thể thấy rằng, kích thước đã giảm từ 32 xuống 28. Vì vậy, để bảo tồn kích thước, chúng ta thêm phần trống vào đường viền. Quay lại ví dụ trên, nếu chúng ta đệm với 2 pixel, có 32 x 32 x chiều sâu các nơ ron ở lớp tiếp theo để giữ kích thước chiều cao và chiều rộng. Như ví dụ trên, nếu chúng ta sử dụng kích thước cửa sổ w, chúng ta sẽ có 1 vùng được tích chập với kích cỡ của cửa sổ mới là (w – 1)/2 pixel. Thông tin đường viền sẽ khơng ảnh hưởng nhiều vì những giá trị đó chỉ được sử dụng một lần. Phần kế tiếp sẽ chi tiết hơn về bước nhảy của cửa sổ trượt, tức khoảng cách thay đổi của cửa sổ mỗi lần. Ví dụ: giả sử bước nhảy là 2 và cửa sổ trượt bao phủ vùng x € [1,m]. Sau đó, cửa sổ thứ hai bao phủ vùng x € [3,m] và cửa sổ thứ 3 bao phủ vùng x € [5,m]
Ví dụ, nếu chúng ta sử dụng bước nhảy 1 và kích thước cửa sổ 3 x 3 trong hình ảnh 5 x 5 x chiều sâu các nơ ron ở lớp tiếp theo. Nếu chúng ta thay đổi bước nhảy 1 thành bước nhảy 2 và những tham số khác vẫn giữ ngun, thì chúng ta sẽ có 3 x 3 x chiều sâu những nơ ron ở lớp tiếp theo. Chúng ta có thể kết luận rằng nếu chúng ta sử dụng bước nhảy s, kích thước cửa sổ trong ảnh, thì sẽ có [(W – w)/ s + 1] x [(H – w) / s x 1 x chiều sâu các nơ ron ở lớp tiếp theo. Khi chúng ta sử dụng bước nhảy 3 và những tham số khác vẫn giữ nguyên thì chúng ta sẽ nhận được (7 – 3) / 3 + 1 = 7/3. Vì kết quả khơng phải là số nguyên, nên bước nhảy 3 không thể dùng vì chúng ta khơng thể có được một khối hồn chỉnh trong một mạng nơ ron.