Cơ sở lý thuyết

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Xây dựng hệ thống nhận diện khuôn mặt cho camera an ninh hỗ trợ cảnh báo xâm nhập và mở khóa cửa tự động (Trang 27 - 39)

NGHIÊN CỨU LIÊN QUAN

2. Cơ sở lý thuyết và các nghiên cứu liên quan

2.4 Cơ sở lý thuyết

2.4.1 Mạng nơ-ron nhân tao (ANNs)

Mạng nơ-ron nhân tạo (ANN) là một thuật toán học sâu đã phát triển từ ý

tưởng về Mạng Nơ-ron Sinh học trong não người. ANN cố gắng mô phỏng cách hoạt động của não người, mặc dù không giống hoàn toàn. Bang cách cung cấp ví

dụ huấn luyện ("kinh nghiệm") cho một ANN và điều chỉnh các trọng số tương

ứng, ANN học các hàm phức tạp tương tự như bộ não sinh học.

Một mạng nơ-ron với một lớp duy nhất được gọi là một perceptron. Một perceptron nhiều lớp được gọi là Mạng No-ron Nhân Tạo. Một mạng nơ-ron có thể có bat kỳ số lượng lớp nào. Mỗi lớp có thể có một hoặc nhiều nơ-ron hoặc đơn vị. Mỗi nơ-ron trong mạng được kết nối với tất cả các nơ-ron khác trong mạng. Đối với mạng nơ-ron thông thường, loại lớp phổ biến nhất là lớp kết nối day đủ, trong đó các nơ-ron giữa hai lớp liền ké được kết nối hoàn toàn theo cách đôi đầu, nhưng các nơ-ron trong cùng một lớp không chia sẻ kết nối. Mỗi lớp có thể có các hàm kích hoạt khác nhau.

14

2. Cơ sở lý thuyết và các nghiên cứu liên quan

Mạng nơ-ron nhân tạo phổ biến nhất bao gồm ba nhóm hoặc lớp đơn vị: một lớp đơn vị "đầu vào" kết nối với một lớp đơn vị "ẩn", sau đó kết nối với một lớp đơn vị "đầu ra"2.3.

Hình 2.3: Minh họa kiến trúc đơn giản của mạng than kinh ANNs

Mạng như hình 2.4 , nó nhận các giá trị đầu vào số học x1, x2 và có trong

số wl, w2 đi kèm với mỗi đầu vào. Ngoài ra, còn có một đầu vào khác là 1 với trọng số b (được gọi là Bias) đi kèm.

Mỗi nơ-ron nhận tín hiệu đầu vào từ các dendrit và tạo ra tín hiệu đầu ra doc theo axon duy nhất của nó. Axon cuối cùng chia thành các nhánh và kết nối

thông qua các synapse với các dendrit của nơ-ron khác. Đơn vị tính toán cơ bản

trong mạng nơ-ron là nơ-ron, thường được gọi là một nút hoặc đơn vị. No nhận

đầu vào từ một số nút khác hoặc từ một nguồn bên ngoài và tính toán dau ra. Mỗi đầu vào có một trọng số kèm theo (w0), được gán dựa trên tầm quan trọng

15

2. Cơ sở lý thuyết và các nghiên cứu liên quan

tương đối của nó so với các đầu vào khác. Nút áp dụng một hàm f (được định nghĩa ở dưới đây) cho tổng có trọng số của các đầu vào của nó.

Impulses carried toward cell body

\ dendrite

; f presynaptic

terminal

; lmpulses carried away

PN from cell body

#0 wo

synapse

axon from a neuron `

\ worg

dendrite `

f (= wiz; + s)

— —output axon

activation

1022 function

Hình 2.4: Minh họa song song tế bào thần kinh sinh học (trái) và nhân tạo (phải),

nguồn: [9]

Đầu ra từ nơ-ron được tính toán như hiển thị. Hàm f là hàm phi tuyến và được gọi là Hàm Kích Hoạt. Mục đích của hàm kích hoạt là đưa tính phi tuyến vào đầu ra của một nơ-ron. Điều này quan trọng vì hầu hết dữ liệu thế giới thực là phi tuyến và chúng ta muốn nơ-ron học các biểu diễn phi tuyến này.

Cụ thể, mỗi nơ-ron trong mạng nơ-ron cho một đầu ra được xác định bởi hàm kích hoạt tác động lên đầu vào và có một số hàm kích hoạt được sử dụng:

* Sigmoid (minh họa hình 2.5): hàm sigmoid phi tuyến có dạng toán học

f(x) = O(x) = † wa lấy đầu vào có giá trị thực và chuẩn hóa nó trong

phạm vi [0,1].

* Tanh (minh hoa hình 2.6): hàm Tanh giống như ham sigmoid, hoạt động

của nó cũng bão hoà nhưng khác với sigmoid, đầu ra của nó có trung tâm

16

2. Cơ sở lý thuyết và các nghiên cứu liên quan

-10.0 -7.5 -5.0 -2.5 0.0 2.5 5.0 7.5 10.0

Hình 2.5: Hàm Sigmoid, nguồn [9]

là 0, nhận đầu vào là giá trị thực và đầu ra được chuẩn hóa trong khoảng

[-1.1].

¢ ReLU (minh họa hình 2.7): ReLU là viết tat của Rectified Linear Unit

(Đơn vị Tuyến tính Chỉnh lưu). Nó nhận đầu vào là giá trị thực và ngưỡng

nó tại không (thay thé các giá trị âm bằng không). Công thức ham: f(x) =

ReLU(x) = max(0,3).

Việc nắm vững tổng quan về Mạng Nơ-ron Nhân tao (ANN) sẽ giúp chúng

ta hiểu rõ hơn về lý thuyết, các quy tắc học, ứng dụng của các mô hình mạng

nơ-ron quan trọng nhất, cũng như định nghĩa và loại hình tính toán của chúng.

Mô hình toán học của ANN cung cấp cái nhìn sâu sắc về định nghĩa của đầu vào, trọng số, hàm tổng hợp, hàm kích hoạt và đầu ra.

17

2. Cơ sở lý thuyết và các nghiên cứu liên quan

-100 -7.5 //5MUŸ —ằ 0.0 2.5 5.0 7.5 10.0

Hình 2.6: Hàm Tanh, nguồn [9].

Sau đó, ANN sẽ quyết định cách học để điều chỉnh loại trọng số thông qua việc thay đổi các tham số. Bên trong mỗi ANN, từng nút (nơ-ron) thực hiện các phép tính đơn giản và chuyển đổi thông tin kết quả đến các nút của lớp phía sau thông qua sự kết nối đầy đủ giữa các nút ở các lớp khác nhau không cùng một lớp. Trong quá trình truyền thông tin, trọng số sẽ được thay đổi hoặc cập nhật để biểu thị tín hiệu được khuếch đại hoặc giảm bớt, và những thông tin này được chuyển qua thuật toán lan truyền tiến và lan truyền ngược trong mạng.

Có nhiều nhiệm vụ liên quan đến Thị giác Máy tính và Nhận dạng Mẫu rất phức tạp nhưng con người lại có thể thực hiện dễ dàng chỉ bằng việc phân tích

thông tin thị giác. Để đạt được thành công, ANN phải vượt qua một giai đoạn

huấn luyện một cách vững chắc để học cách cập nhật trọng số phù hợp cho một

nhiệm vụ cụ thể và một trong những phương pháp huấn luyện đó là Lan truyền

18

2. Cơ sở lý thuyết và các nghiên cứu liên quan

10 9 8 7

_ 6

>~<

5= 5

ơ

ge 4

3 2 1 0

-1

10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0

Hình 2.7: Hàm ReLU, nguồn [9].

Ngược. Thuật toán Lan truyền Ngược thường được sử dụng cùng với phương pháp tối ưu hóa như Gradient Descent. Lan truyền Ngược sẽ điều chỉnh trọng số

để đạt được một tập hợp giá trị tối ưu hóa tốt nhất (lỗi nhỏ nhất). Trước khi bắt

đầu giai đoạn huấn luyện, ANN phải tạo ra một tập hợp trọng số, cùng với tốc

độ học a@. Các trọng số được tạo ngẫu nhiên và thường có giá trị nhỏ nằm trong khoảng từ -1 đến 1. Tốc độ học là một tham số điều chỉnh sự thay đổi của trọng

số và giúp hàm mất mát của mạng đạt tới cực tiểu trong giai đoạn huấn luyện.

2.4.2 Mạng Nơ-ron Tích Chap (CNN)

Mạng Nơ-ron Tích Chập (Convolutional Neural Network - CNN) đóng vai

trò trung tâm trong lĩnh vực Deep Learning, đặc biệt là trong ứng dụng của thị

giác máy tính. Sự phát triển của CNN lay cảm hứng từ cấu trúc nơ-ron trong não

19

2. Cơ sở lý thuyết và các nghiên cứu liên quan

của động vật, một ý tưởng được khám phá sâu hơn trong nghiên cứu đột phá của Hubel và Wiesel vào năm 1968, qua công trình "Receptive Fields and Functional

Architecture of Monkey Striate Cortex". Nghiên cứu này mô ta cách thức não

khỉ xử lý thông tin thị giác, nhẫn mạnh vào các vùng tiếp nhận (receptive fields) chuyên biệt, có khả năng phân biệt các đặc điểm ánh sáng như đốm và mẫu.

Dựa trên nguyên lý này, CNN được thiết kế với mục tiêu mô phỏng quá trình

xử lý hình ảnh của não bộ, thông qua việc kết hợp các perceptron trong nhiều lớp (layers) có kết nối. CNN là biến thể của Mạng Nơ-ron Nhân Tao (Artificial Neural Network, ANN) và có cấu trúc đặc trưng bao gồm các thành phần chính

như lớp tích chập (Convolution), lớp tổng hợp (Pooling hay Subsampling), và

hàm kích hoạt ReLU (Rectified Linear Unit). Ngoài ra, các thành phần phụ như

Chuẩn hóa Batch (Batch Normalization) và Dropout cũng quan trọng, đóng góp

vào việc cải thiện hiệu suất và giảm nguy cơ quá khớp (overfitting) của mô hình. Trong phần tiếp theo, chúng ta sẽ khám phá chỉ tiết từng thành phần này, để hiểu

rõ hơn về cách thức hoạt động và ứng dụng của CNN trong thế giới thực.

Lớp tích chap (Convolution): Phép tích chập, một khái niệm trung tâm

trong lĩnh vực học sâu, đặc biệt là trong mô hình Mạng Nơ-ron Tích Chập

(CNN). Đây là một phép toán hóa học giữa hai ma trận hai chiều, thực hiện bằng cách tính tổng các tích của các phần tử tương ứng trong hai ma trận (hình 2.8). Lớp Convolution, là lớp cốt lõi của mạng CNN, sử dụng phép tích chập này

để trích xuất các đặc trưng từ dữ liệu đầu vào.

Xét một ảnh đầu vào có kích thước n x n, chúng ta sẽ sử dung một ma trận kernel k x k (thường nhỏ hơn và k thường là số lẻ) để trượt qua ảnh. Quá trình trượt này, kết hợp với tính toán tích chập, tạo ra các giá trị pixel cho ma trận đầu

ra, thường có kích thước nhỏ hơn hoặc ma trận đầu vào.

Trong xử lý hình ảnh, phép tích chập giúp tách ra các yếu tố đặc trưng như

'https://kienthuclaptrinhweb.blogspot.com/2020/10/convolution-and-pooling-trong-cnn-tuan.html

*https://kienthuclaptrinhweb.blogspot.com/2020/10/convolution-and-pooling-trong-cnn-tuan.html

20

2. Cơ sở lý thuyết và các nghiên cứu liên quan

Image patch (Local receptive field) (filter)

Filter 1

Output

4x4

3x3x3 4x4 https://indoml.com

Hình 2.9: Minh họa tích chập của một ảnh RGB và ma trận kernel(nguồn internet 7).

cạnh, hướng, v.v. Mỗi ma trận kernel sẽ trượt qua các vùng nhỏ của ảnh, được

gọi là Local Receptive Fields (LRF), và tích chập được thực hiện trên những

LRF chồng lên nhau. Độ chồng lắp phụ thuộc vào hệ số trượt Š (stride).

Số LRF trên ảnh đầu vào tương ứng với số nơ-ron trên feature map, và kernel đóng vai trò như trọng số liên kết giữa mỗi LRE và nơ-ron tương ứng trên feature map. Một lớp conv có thể chứa nhiều feature map.

21

2. Cơ sở lý thuyết và các nghiên cứu liên quan

Để minh họa rõ ràng, xét một ảnh có kích thước W; x Hị x Dị (với Dị là chiều rộng, Hj là chiều cao, và D¡ là chiều sâu tương ứng với 3 kênh mau RGB).

Sử dụng một kernel k x k với n filter, chúng ta tính toán mỗi filter trên tất cả các LRE. Trong một số trường hợp, để cân đối giữa số bước di chuyển và kích thước anh, padding có thể được thêm vào xung quanh viền ảnh. Kết quả là ma trận đầu

ra (feature map) có kích thước W2 x Hạ x Dạ

W,-k+2

W = I—KT Ply

a

H.—-k+2

Hà 1 + Py

a

Dạ=n

Điểm ảnh nguồn

(-1 x 3) + (0x0) + (1 x 1) +

(-2x2) +(0x6)+(2x2)+

(-1 x 2) + (0 x 4) +(1x 1) =-3

Bossorsd SOEs Je

—ử%wS5=

Ma trận filter

Điểm ảnh đầu ra LAAN A ANB LAV AA BY \

Hình 2.10: Mô phỏng quá trình tích chập trong CNN.(ngu6n Medium !)

'https://miro.medium.com/v2/resize:fit:3900/1*p-47 puSuV NmRJnOXY PQCg. png

22

2. Cơ sở lý thuyết và các nghiên cứu liên quan

Mỗi filter trong số ứ filters này cú một số lượng tham số tương ứng, và tổng

số tham số cần học trong Conv được tính bang công thức (k x kx Dị) xn+1.

Lớp kích hoạt (Activation): Sau lớp Convolution trong mang CNN, thường

là lớp kích hoạt, với hàm ReLU (Rectified Linear Unit) là lựa chọn phổ biến. Nhiệm vụ chính của hàm ReLU là biến đổi các giá trị âm trong feature map thành 0. Điều này quan trọng vì nó ngăn chặn quá trình học trọng số từ việc mắc ket 6 giá trị 0 hoặc vô cực, van đề có thể làm chậm quá trình huấn luyện mang. Bên cạnh đó, hàm ReLU cũng giúp hạn chế tình trạng overfitting khi huấn luyện

với bộ dữ liệu.

Có nhiều hàm kích hoạt khác như Sigmoid và Tanh, nhưng ReLU thường được ưu tiên sử dụng vì nó mang lại tốc độ tính toán nhanh hơn. Dù các hàm khác có thể cung cấp độ chính xác tương tự, nhưng ReLU vẫn được chọn làm hàm kích hoạt chính cho việc tính toán tham số trong nhiều mô hình mạng CNN.

Lý do là bởi ReLU đơn giản hóa quá trình học và cải thiện hiệu suất tổng thể của

mạng.

!https://viblo.asia/p/tim-hieu-ve-convolutional-neural-network-va-lam-mot-vi-du-nho-ve-phan-

loai-anh-aWJ53WXo56m

23

2. Cơ sở lý thuyết và các nghiên cứu liên quan

Nhìn chung, sự lựa chọn hàm ReLU trong các lớp kích hoạt không chỉ giúp

tăng cường hiệu quả tính toán mà còn góp phần vào việc tối ưu hóa quá trình học của mạng, qua đó cải thiện đáng kể hiệu suất mô hình CNN.

Lớp Pooling: Lớp pooling, một thành phần quan trọng trong kiến trúc mạng CNN, đóng vai trò chính trong việc giảm số lượng tham số của mạng. Điều

này không chỉ làm đơn giản hóa quá trình tính toán trong CNN mà còn giúp giải

quyết vấn đề overfitting trong quá trình huấn luyện. Trong số các toán tử pooling

như Sum-pooling, Max-pooling, và L2-pooling, Max-pooling là lựa chọn phổ

biến nhất bởi hiệu quả và tốc độ xử lý vượt trội.

Max-pooling còn mang lại lợi ích quan trọng khác: tạo ra tính bất biến dịch chuyển cho các đặc trưng. Điều này có nghĩa là dù hình ảnh đầu vào có những dịch chuyển nhỏ, mạng vẫn có khả năng phân loại chính xác đối tượng. Điều này xảy ra do Max-pooling lựa chọn nơ-ron có giá trị đầu ra cao nhất trong mỗi vùng nơ-ron của lớp trước, coi như việc chọn lọc các đặc trưng quan trọng nhất.

Nhờ vậy, mang CNN có thể duy trì độ chính xác cao ngay cả khi có sự di chuyển

của đối tượng trong ảnh. Ví dụ cụ thể: trong một lớp Conv, giả sử từ lớp đầu vào

2x2 Max-Pool 20 | 30 |

Pa a a SL ee So `

Hình 2.12: Ví du mô phỏng Max-pooling.

kích thước [28x28], ta thu được ba feature map kích thước [24x24]. Mỗi feature

24

2. Cơ sở lý thuyết và các nghiên cứu liên quan

map này sẽ được xử lý qua một lớp max-pooling tương ứng, giảm kích thước

xuống còn [12x12]. Quá trình này sử dụng kernel kích thước [5x5], và trong max-pooling, giá trị lớn nhất được lấy từ mỗi vùng [2x2] nơ-ron. Điều này giúp giảm đáng kể kích thước của đầu ra mà vẫn giữ được thông tin quan trọng nhất

của đặc trưng.

Lớp chuẩn hóa (Normalization): Lớp chuẩn hóa, thường được gọi là Nor-

malization hay Norm, đóng một vai trò quan trọng trong mang CNN, nhất là trong những kiến trúc lớn và phức tạp. Mục đích chính của lớp này là chuẩn hóa

dữ liệu đầu ra từ các lớp trước, trước khi chúng được truyền đến các lớp tiếp

theo, như hàm ReLU. Việc này đặc biệt quan trọng bởi ham ReLU, mặc dù giúp

tăng tốc độ huấn luyện, nhưng nếu không được điều chỉnh trọng số cẩn thận, có thể dẫn đến vấn dé "dying ReLU".

Lớp Norm giúp giảm thiểu rủi ro này bằng cách chuẩn hóa các giá trị tích chập, đảm bảo rằng chúng không quá lớn hoặc quá nhỏ, từ đó ngăn chặn hiện

tượng dying ReLU. Việc chuẩn hóa này cũng giúp tránh tình trạng gradient xấp

xỉ bằng 0, một nguyên nhân khiến tốc độ học của mạng trở nên chậm. Nhờ vậy,

lớp Norm không chỉ cải thiện độ ổn định của mạng mà còn giúp tối ưu hóa quá trình huấn luyện, đặc biệt quan trọng trong các mạng CNN phức tạp và sâu.

Lớp Fully connected: Sau khi ảnh trải qua nhiều lớp tích chập (convolutional

layers) và lớp gộp (pooling layers), mô hình CNN đã có khả năng học được các

đặc điểm quan trọng của ảnh. Tại điểm này, tensor đầu ra của lớp cuối cùng sẽ được chuyển đổi, hay làm phẳng, thành một vector. Vector này sau đó được đưa vào một lớp kết nối đầy đủ (Fully Connected layer - FC layer), nơi mà các đặc trưng được kết hợp lại với nhau.

Lớp FC này có vai trò quan trọng trong việc tổng hợp các thông tin đặc trưng

đã học được, tạo nên mô hình dự đoán cuối cùng. Để phân loại đầu ra, mô hình

thường sử dụng các hàm như softmax hoặc sigmoid. Softmax thường được dùng

trong trường hợp phân loại nhiều lớp, cung cấp một phân phối xác suất trên các

25

2. Cơ sở lý thuyết và các nghiên cứu liên quan

lớp đầu ra, trong khi sigmoid thích hợp cho trường hợp phân loại nhị phân.

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Xây dựng hệ thống nhận diện khuôn mặt cho camera an ninh hỗ trợ cảnh báo xâm nhập và mở khóa cửa tự động (Trang 27 - 39)

Tải bản đầy đủ (PDF)

(81 trang)