Thông thƣờng max pooling có kích thƣớc là 2 và stride=2. Nếu lấy giá trị quá lớn, thay vì giảm tính toán nó lại làm phá vỡ cấu trúc ảnh và mất mát thông tin nghiêm trọng. Vì vậy mà một số chuyên gia không thích sử dụng layer này mà thay vào đó sử dụng thêm các lớp Conv Layer và tăng số stride lên mỗi lần.
- Lớp kết nối đầy đủ (Fully Connected Layer - FC):
Tại lớp mạng này, mỗi một nơ-ron của layer này sẽ liên kết tới mọi nơ-ron của lớp khác. Để đƣa ảnh từ các layer trƣớc vào mạng này, buộc phải dàn phẳng
bức ảnh ra thành 1 vector thay vì là mảng nhiều chiều nhƣ trƣớc. Tại layer cuối cùng sẽ sử dụng 1 hàm kinh điển trong học máy mà bất kì ai cũng từng sử dụng đó là softmax để phân loại đối tƣợng dựa vào vector đặc trƣng đã đƣợc tính toán của các lớp trƣớc đó.
- Một số lƣu ý khi chọn các tham số cho mạng Neuron tích chập:
Số các convolution layer: sử dụng càng nhiều các convolution layer thì hiệu suất càng đƣợc cải thiện. Sau khoảng 3 hoặc 4 layer, các tác động đƣợc giảm một cách đáng kể. Filter size: Thông thƣờng các hệ thống sẽ filter theo size 5x5 hoặc 3x3. Pooling size: thƣờng là 2×2 hoặc 4×4 cho ảnh đầu vào lớn [10].
4.2.2 MTCNN.
MTCNN là viết tắt của Multi-task Cascaded Convolutional Networks. Nó là bao gồm 3 mạng CNN xếp chồng và đồng thời hoạt động khi phát hiện và xác định khuôn mặt. Mỗi mạng có cấu trúc khác nhau và đảm nhiệm vai trò khác nhau trong task. Đầu ra của MTCNN là vị trí khuôn mặt và các điểm trên mặt nhƣ: mắt, mũi, miệng…
Trong giai đoạn đầu tiên, nó tạo ra các khung ứng cử một cách nhanh chóng thông qua một CNN đơn giản. Sau đó, tinh chỉnh các cửa sổ bằng cách từ chối một số lƣợng lớn các cửa sổ không phải khuôn mặt ngƣời thông qua một CNN phức tạp hơn. Cuối cùng, nó sử dụng một CNN mạnh hơn để tinh chỉnh lại kết quả và đƣa ra năm vị trí mốc trên khuôn mặt.