.1 Minh họa tích chập

Một phần của tài liệu Xây dựng ứng dụng hỗ trợ điểm danh sinh viên bằng điện thoại dựa trên nhận dạng khuôn mặt người luận văn thạc sĩ công nghệ thông tin (Trang 52 - 55)

Trong xử lý tín hiệu số tích chập đƣợc sử dụng nhằm biến đổi thông tin đầu vào thông qua một phép tích chập với bộ lọc trả về đầu ra là một tín hiệu mới. Tín hiệu mới này sẽ làm giảm những đặc trƣng mà bộ lọc không quan tâm và chỉ giữ những đặc trƣng chính.

Tích chập thơng dụng nhất là tích chập hai chiều đƣợc áp dụng trên ma trận

W xH

W xH

Tích chập tại một điểm Tại vị trí đầu tiên trên cùng của ma trận đầu vào, ta sẽ lọc ra một ma trận con X sub ∈ R FxF có kích thƣớc bằng kích thƣớc của bộ lọc. Giá trị y11 tƣơng ứng trên Y là tích chập của X sub với F đƣợc tính nhƣ sau

F F

i =1 j =1 (2-3)

Sau đó, tiến hành trƣợt dọc theo ma trận theo chiều từ trái qua phải, từ trên xuống dƣới theo bƣớc nhảy (stride) S ta sẽ tính đƣợc các giá trị y11 tiếp theo. Sau khi quá trình này kết thúc ta thu đƣợc trọn vẹn ma trận Y.

R R

đầu vào và ma trận bộ lọc hai chiều. Phép tích chập của một ma trận X ∈ R 1 1 với một bộ lọc (receptive field) F ∈ R 2 2 sẽ trải qua các bƣớc

Trong một mạng Nơron tích chập, các lớp liền sau lấy đầu vào từ lớp liền trƣớc nó. Do đó, để hạn chế lỗi trong thiết kế mạng Nơron chúng ta cần xác định kích thƣớc đầu ra ở mỗi lớp. Điều đó có nghía là dựa vào kích thuƣớc ma trận đầu vào (W1, H1), kích thƣớc bộ lọc (F,F) và bƣớc nhảy S để xác định khích thƣớc ma trận đầu ra (W2, H2)[10].

4.2.1.2 Tổng quan kiến trúc mạng

Đối với mạng Nơron thông thƣờng (Regular Neural Nets) đầu vào là một vector duy nhất sau đó biến đổi nó thơng qua hàng loạt các lớp ẩn (hidden layer). Mỗi lớp ẩn đƣợc tạo thành từ tập hợp các Nơron, trong đó mỗi nơron đƣợc kết nối đầy đủ với tất cả các nơron ở lớp trƣớc. Trong một lớp, các nơron hoạt động hoàn toàn độc lập và không chia sẻ bất kỳ kết nối nào. Lớp kết nối đầy đủ (fully-

connected) cuối cùng đƣợc gọi là lớp đầu ra và đại diện cho điểm số của lớp trong quá trình phân loại. Điểm hạn chế của mạng nơron thơng thƣờng là khơng mở rộng tốt cho hình ảnh đầy đủ. Chẳng hạn, với bộ dữ liệu ảnh CIFAR-10, hình ảnh chỉ có kích thƣớc 32x32x3 (rơng 32, cao 32 và sâu 3 đại diện cho 3 kênh màu RGB, mỗi một nơron kết nối đầy đủ trong lớp ẩn đầu tiên của mạng Nơron sẽ có 32*32*3 = 3072 trọng số. Số lƣợng này dƣờng nhƣ vẫn có thể quản lý đƣợc, nhƣng rõ ràng cấu trúc kết nối đầy đủ này khơng thể mở rộng thành hình ảnh lớn hơn. Ví dụ, một bức ảnh có kích thƣớc lớn hơn nhƣ 200x200x3 thì mỗi nơron sẽ có 200*200*3 = 120000 trọng số. Hơn nữa, chúng ta không chỉ cần một mà cịn muốn có có một số nơron nhƣ vậy . Vì thế, số lƣợng các tham số sẽ tăng lên nhanh chóng dẫn đến quá mức.

Để giải quyết vấn đề này, mạng nơron tích chập đƣợc đề xuất. Mạng này kết hợp thực tế là đầu vào gồm các hình ảnh và chúng hạn chế cấu trúc theo một cách hợp lý hơn. Đặc biệt, không giống nhƣ mạng nơron thông thƣờng, các lớp của mạng tích chập đƣợc sắp xếp theo 3 chiều chiều rộng, chiều cao và chiều sâu (chiều sâu ở đây đề cập đến chiều thứ ba của khối lƣợng kích hoạt khơng phải độ sâu của mạng nơron đầy đủ). Chẳng hạn, một ảnh trong CIFAR-10 là một khối đầu vào, sau đó mỗi nơron trong lớp chỉ lết nối với một phần nhỏ của lớp trƣớc nó thay vì kết nối đầy đủ với tất cả nơron. Hơn nữa, đầu ra cuối cho CIFAR-10 chỉ có kích thƣớc 1x1x10 vì hình ảnh đầy đủ đã đƣợc giảm thành một vectơ sắp xếp theo chiều sâu.

Hình 4. 2 So sánh mạng Neural thơng thường và mạng Neuron tích chập (Bên trái là mạng Neural thơng thường; Bên phải là mạng CNN)

4.2.1.3 Các lớp của mạng Neuron tích chập.

Nhƣ phần mơ tả ở trên, một mạng Neural tích chập đơn giản là một chuỗi các lớp và mỗi lớp của mạng sẽ biến đổi một khối kích hoạt này sang khối khác thông qua một chức năng đặc biệt. Để xây dựng mạng Neural tích chập, ba loại lớp chính

đƣợc sử dụng Lớp tích chập (Convolutional Layer), L ớp t ổng h ợp (Pooling Layer) và L ớp k ế t n ối đầy đủ (Fully-Connected layer). Các l ớp này s ẽ đƣợc x ế p ch ồng t ạ o thành m ột ki ế n trúc m ạ ng Neural tích ch ập đầy đủ. M ỗi l ớp nh ậ n vào một kh ối 3D đầ u vào và bi ến đổi thanhd một kh ối 3D đầ u ra thông qua một ch ức năng khác biệ t. Mỗi l ớp có th ể có ho ặ c khơng có tham s ố (ví d ụ CONV/FC có, RELU/POOL khơng) hay có ho ặc khơng có siêu đƣờng kính b ổ sung (CONV/FC/POOL có,

RELU khơng). C ụ th ể , chúng ta s ẽ đi đế n mô t ả chi ti ế t c ủa t ừ ng l ớ p và các mối liên kế t c ủa chúng

- Lớ p tích ch ập (Convolutional layer - CONV)

L ớp CONV là kh ố i xây d ự ng c ốt lõi c ủ a m ạ ng tích ch ậ p, th ự c hi ệ n h ầ u h ế t các công vi ệ c quan tr ọng. Các tham s ố c ủa l ớp bao g ồ m một t ậ p h ợp các b ộ l ọ c (Filter) hoặc Kernel. Đặc điể m các b ộ lọc này có trƣờng ti ế p nh ậ n nh ỏ nhƣng kéo dài tồn bộ chiều sâu của tín hiệu đầu vào. Trong q trình chuyển tiếp, mỗi bộ lọc đƣợc tích hợp (trƣợt) trên chiều rộng và chiều cao của tín hiệu đầu vào, tính tốn các tích vơ hƣớng giữa các bộ lọc và đầu vào và tạo ra bản đồ kích hoạt hai chiều của bộ lọc đó. Do đó, mạng tìm hiểu các bộ lọc kích hoạt khi phát hiện một số loại đặc trƣng cụ thể tại một số vị trí trong đầu vào.

Hình 4. 3 Mơ tả lớp CONV (Các neuron của một lớp chập (màu xanh) kết nối với trường tiếp nhận của chúng (màu đỏ).

Xếp chồng các bản đồ kích hoạt cho tất cả các bộ lọc dọc theo chiều sâu tạo thành tín hiệu đầu ra đầy đủ của lớp tích chập. Do đó, mỗi điểm trong tín hiệu đầu ra cũng có thể đƣợc hiểu là đầu ra của một nơron khi kết nối với một vùng nhỏ trong đầu vào và chia sẻ các tham số với các nơ ron trong cùng một bản đồ kích hoạt. Việc xây dựng lớp tích chập dựa vào 3 ý tƣởng cơ bản

- Kết nối cục bộ

Trong quá trình xử lý dữ liệu đầu vào có chiều rộng, chiều cao nhƣ hình ảnh,

việc kết nối các neuron với tất cả các neuron trong lớp trƣớc đó là khơng thực tế vì kiến trúc mạng khơng tính đến cấu trúc khơng gian của dữ liệu. Thay vào đó, chúng ta sẽ thƣc thi một kiểu kết nối cục bộ thƣa thớt giữa các neuron của các lớp liền kề mỗi neuron chỉ đƣợc kết nối với một vùng nhỏ của tín hiệu đầu vào.

Phạm vi của kết nối này là một siêu tham số đƣợc gọi là trƣờng ti ế p nh

ậ n của nơron (tƣơng đƣơng đây là kích thƣớc bộ lọc). Các kết nối là c ụ c b ộ trong

không gian (dọc theo chiều rộng và chiều cao), nhƣng luôn mở rộng kéo dài theo

tồn bộ chiều sâu của tín hiệu đầu vào. Một kiến trúc nhƣ vậy đảm bảo rằng các bộ lọc đã học tạo ra phản ứng mạnh nhất đối với mẫu đầu vào cục bộ không gian.

Một phần của tài liệu Xây dựng ứng dụng hỗ trợ điểm danh sinh viên bằng điện thoại dựa trên nhận dạng khuôn mặt người luận văn thạc sĩ công nghệ thông tin (Trang 52 - 55)