2 Cơ sở lý thuyết
2.2 Convolutional Neural Network (CNN)
2.2.4 Cấu trúc của mạng CNN
Một mạng CNN đơn giản được cấu thành bởi nhiều lớp chồng lên nhau, đầu ra của lớp dưới là đầu vào của lớp trên. Có 3 loại lớp chính xây dựng nên kiến trúc của CNN: Convolutional Layer, Pooling Layer và Fully-Connected Layer.
Đầu vào của mạng CNN sẽ đi qua các tầng convolutional và pooling để trích xuất các đặc trưng. Thông thường các tầng convolutional và pooling được xếp xen kẽ nhau. Tầng cuối cùng là tầng fully-connected sẽ nhận các đặc trưng đã được rút trích từ các tầng convolutional và pooling để phân loại dữ liệu.
2.2. Convolutional Neural Network (CNN)
Hình 2.12: Cấu trúc một mạng CNN đơn giản
Một ví dụ về kiến trúc mạng CNN cơ bản gồm [ INPUT – CONV – RELU – POOL – FC ], trong đó INPUT là input layer, CONV là convolutional layer, RELU là hàm kích hoạt phi tuyến, FC là fully-connected. Input đầu vào là một tấm ảnh với kích thước 32x32 pixel, dữ liệu thuộc biển số gồm 10 số khác nhau mà hệ thống cần phân loại.
• INPUT: Layer này dùng để nạp các giá trị ảnh vào input đầu vào nhằm đưa tới layer tiếp theo. Ảnh được sử dụng là một miền ảnh màu nên sẽ có một miền độ sâu xác định qua các kênh R, B, G của ảnh.
• CONV: Layer này hỗ trợ thực hiện các bước tính tích chập thông qua bộ lọc. Kết quả trả về có thể là một ma trận 3 chiều [32x32x12] nếu quyết định sử dụng 12 filter.
• RELU: Layer này là một activation function, sẽ tác dụng lên từng phần tử nhằm mục đích phi tuyến tính hóa các trọng số. Do chỉ có 1 activation function nên kích thước output không đổi là [32x32x12].
• POOL: Layer này nhận input đầu vào và sẽ thu giảm mẫu theo không gian. Giả sử thu giảm 2 theo cả chiều dài và độ rộng, khi đó kích thước output là [16x16x12].
2.2. Convolutional Neural Network (CNN)
• FC: Thực hiện fully-connected và tính điểm cho từng class, trả về một ma trận có kích thước [1x1x10]. Giống như ANN, ở tầng này tất cả các neuron ở tầng dưới sẽ kết nối với tất cả các neuron của tầng trên.
Bằng cách này, CNN đã biến đổi ảnh ban đầu qua từng tầng từ những giá trị điểm ban đầu cho ra điểm số cuối cùng. Trọng số của các tầng CONV/FC được học trong quá trình huấn luyện bằng giải thuật gradient descent để điểm số cuối cùng được nhất quán với nhãn của từng hình trong tập huấn luyện.