Chương I: Tổng quan Giới thiệu tổng quan về mục đích của đề tài cũng như các nghiên cứu, trình bày mục tiêu và phương pháp thực hiện đề tài. Chương II: Cơ sở lý thuyết Giới thiệu cơ sở lý thuyết liên quan đến nội dung của đề tài như sau: 2. Mạng Nơ-ron nhân tạo (ANN - Artificial Neural Network). Mạng nơron tích chập (Convolutional Neural Networks - CNN).
3 Luan van Chương III: Xây dựng bộ phân loại hành động người sử dụng mạng Nơ-ron tích chập. Bài toán phân loại sử dụng Machine learning và Deep learning 3. Kiến trúc mạng CNN 10 lớp sử dụng trong nhận dạng hành động người Chương IV: Kết luận và hướng phát triển đề tài Phần này sẽ phân tích và so sánh các kết quả thực hiện được cũng như nói về các hạn chế của đề tài, từ đó nêu lên hướng phát triển trong tương lai thể hiện qua các mục sau: 4. Những hạn chế và hướng phát triển của đề tài 4 Luan van CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Mạng Nơ-ron nhân tạo (ANN - Artificial Neural Network) 2.1 Giới thiệu về mạng Nơ-ron (mạng thần kinh) Đặc điểm bộ não người: Hệ xử lý thông tin phức tạp, phi tuyến và song song, có khả năng học, ghi nhớ, tổng quát hóa, xử lý lỗi và có khoảng 1011 tế bào thần kinh.
Tế bào thần kinh sinh học gồm: Đầu dây thần kinh, thân tế bào, sợi thần kinh.1 Tế bào thần kinh sinh học Tế bào thần kinh nhân tạo: được biết như là mô hình toán học đơn giản của bộ não con người. Đặc điểm: Cần được huấn luyện trước khi sử dụng, các nghiên cứu về lĩnh vực này bắt từ 1940. Hiện nay có rất nhiều mạng và các thuật toán huấn luyện tương ứng được công bố để giải quyết các bài toán khác nhau. Mạng thần kinh nhân tạo: Nó bao gồm các tế bào thần kinh kết nối với nhau bởi các liên kết, mỗi liên kết kèm theo một trọng số.
Các Véc tơ tín hiệu ngõ vào và Véc tơ trọng số của tế bào thần kinh. 5 Luan van Hình 2.2 Tế bào thần kinh nhân tạo Định nghĩa: Mạng nơron (thần kinh) nhân tạo, Artificial Neural Network (ANN) là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ nơron sinh học. Nó được tạo nên từ một số lượng lớn các phần tử (nơron) kết nối với nhau thông qua các liên kết (trọng số liên kết) làm việc nhờ một thể thống nhất để giải quyết một vấn đề cụ thể nào đó. Một mạng nơron nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận dạng mẫu, phân loại dữ liệu, .) thông qua một quá trình học từ tập các mẫu huấn luyện.
Về bản chất học chính là quá trình hiệu chỉnh trọng số liên kết giữa các nơron. Các thành phần cơ bản của một nơron nhân tạo bao gồm: • Tập các đầu vào: Là các tín hiệu vào (input signals) của nơron, các tín hiệu này tường được đưa vào dưới dạng một vector N chiều., xn T • Tập các liên kết: Mỗi liên kết được thể hiện bởi một trọng số liên kết – Synaptic weight. Trọng số liên kết giữa tín hiệu vào thứ j với nơron k thường được kí hiệu là wij. Thông thường, các trọng số này được khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình học mạng., win T • Bộ tổng (Summing function): Thường dùng để tính tổng của tích các đầu vào với trọng số liên kết của nó.
• Ngưỡng (còn gọi là một độ lệch - bias): Ngưỡng này thường được đưa vào nhờ một thành phần của hàm truyền. 6 Luan van • Hàm truyền (Transfer function): Hàm này được dùng để giới hạn phạm vi đầu ra của mỗi nơron. Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng. • Đầu ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa là một đầu ra.
Xét về mặt toán học, cấu trúc của một nơron k, được mô tả bằng biểu thức sau: Hàm xử lý ngõ vào: Hàm tuyến tính: n f neti ( wij x j ) i W T X (1) j 1 Hàm toàn phương: n f net ( wij xij 2 ) i (2) j 1 Hàm cầu: n f net ( 2 ( wij xij ) 2 ) i 2 ( X W )T ( X W ) (3) j 1 Hàm xử lý ngõ ra _ Hàm kích hoạt: Y = a(f), bao gồm: Hàm nấc: a(f) 1 𝑛ế𝑢 𝑓 ≥ 0 𝑎 (𝑓 ) = { 1 0 𝑛ế𝑢 𝑓 < 0 f 0 Hình 2.3 Hàm nấc Hàm dấu: 7 Luan van a(f) 1 1 𝑛ế𝑢 𝑓 ≥ 0 f 𝑎 (𝑓 ) = { −1 𝑛ế𝑢 𝑓 < 0 0 -1 Hình 2.4 Hàm dấu Hàm tuyến tính: a(f) 𝑎 (𝑓 ) = 𝑓 f 0 Hình 2.5 Hàm tuyến tính Hàm dốc bão hòa: a(f) 1 𝑛ế𝑢 𝑓 ≥ 1 𝑎(𝑓) = {𝑓 𝑛ế𝑢 0 ≤ 𝑓 ≤ 1 1 0 𝑛ế𝑢 𝑓 < 0 f 0 1 Hình 2.6 Hàm dốc bão hòa Hàm tuyến tính bão hòa: a(f) 1 𝑛ế𝑢 𝑓 ≥ 1 1 𝑎(𝑓) = {𝑓 𝑛ế𝑢 0 ≤ |𝑓| ≤ 1 -1 f 0 1 −1 𝑛ế𝑢 𝑓 < 0 -1 8 Luan van Hình 2.7 Hàm tuyến tính bão hòa Hàm dạng S đơn cực: a(f) 1 𝑎 (𝑓 ) = 1 1 + 𝑒 −𝜆𝑓 0 Hình 2.8 Hàm S đơn cực Hàm dạng S lưỡng cực: a(f) 1 2 f 𝑎 (𝑓 ) = −1 1 + 𝑒 −𝜆𝑓 0 -1 Hình 2.9 Hàm S lưỡng cực Tùy theo cấu trúc mạng người ta chia ra các loại mạng sau: Mạng truyền Là mạng chỉ gồm một lớp thẳng một lớp tế bào thần kinh xử lý. Tín hiệu chỉ truyền theo một chiều từ ngõ vào đến ngõ ra 9 Luan van Mạng truyền Là mạng gồm nhiều lớp tế thẳng nhiều bào thần kinh xử lý. Tín lớp hiệu chỉ truyền theo một chiều từ ngõ vào đến ngõ ra Mạng hồi quy Là mạng chỉ gồm một lớp một lớp trong đó có tín hiệu hồi tiếp từ ngõ ra trở về ngõ vào. Mạng hồi quy Là mạng gồm nhiều lớp tế nhiều lớp bào thần kinh xử lý.
Trong đó có tín hiệu hồi tiếp từ ngõ ra trở về ngõ vào.1 Phân loại mạng Nơ-ron nhân tạo 2.2 Các phương pháp huấn luyện mạng Nơ-ron nhân tạo 10 Luan van Hình 2.10 Các phương pháp huấn luyện mạng Nơ-ron nhân tạo a. Học có giám sát: Học có giám sát: Là quá trình học có sự tham gia giám sát của một “thầy giáo”. Cũng giống như việc ta dạy một em nhỏ các chữ cái. Ta đưa ra một chữ “a” và bảo với em đó rằng đây là chữ “a”.
Việc này được thực hiện trên tất cả các mẫu chữ cái. Sau đó khi kiểm tra ta sẽ đưa ra một chữ cái bất kì (có thể viết hơi khác đi) và hỏi em đó đây là chữ gì? Như vậy với học có giám sát, số lớp cần phân loại đã được biết trước. Nhiệm vụ của thuật toán là phải xác định được một cách thức phân lớp sao chovới mỗi vector đầu vào sẽ được phân loại chính xác vào lớp của nó.11 Phương pháp học có giám sát b. Học củng cố: Học củng cố: đôi khi còn được gọi là học thưởng-phạt (rewardpenalty learning), là sự tổ hợp của cả hai mô hình trên.
Phương pháp này cụ thể như sau: với vector đầu vào, quan sát vector đầu ra do mạng tính được. Nếu kết quả được xem là “tốt” thì mạng sẽ được thưởng theo nghĩa tăng các trọng số kết nối lên; ngược lại mạng sẽ bị phạt, các trọng số kết nối không thích hợp sẽ được giảm xuống. Do đó học tăng cường là học theo nhà phê bình (critic), ngược với học có giám sát là học theo thầy giáo (teacher). 11 Luan van Hình 2.12 Phương pháp học củng cố c.
Học không giám sát: Học không giám sát: Là việc học không cần có bất kỳ một sự giám sát nào. Trong bài toán học không giám sát, tập dữ liệu huấn luyện được cho dưới dạng: D = {(x1, x2, ., xN) là vector đặc trưng của mẫu huấn luyện. Nhiệm vụ của thuật toán là phải phân chia tập dữ liệu D thành các nhóm con, mỗi nhóm chứa các vector đầu vào có đặc trưng giống nhau. Như vậy với học không giám sát, số lớp phân loại chưa được biết trước, và tùy theo tiêu chuẩn đánh giá độ tương tự giữa các mẫu mà ta có thể có các lớp phân loại khác nhau.13 Phương pháp học không giám sát So sánh các phương pháp học của mạng thần kinh nhân tạo Bộ não con người Mạng Nơron Học có sự hướng dẫn của giáo viên Học có giám sát Học có sự đánh giá của giáo viên Học củng cố Tự học Học không có giám sát 12 Luan van Bảng 2.2 Phương pháp học của mạng Nơ-ron sinh học và Nơ-ron nhân tạo Tổng quát Trọng số W của mạng thần kinh thay đổi theo quy luật wij (k 1) wij (k ) wij (k ) (4) wij (k ) r x j (k ) Trong đó: : tốc độ học.
Huấn luyện mạng thần kinh nhân tạo Mục tiêu của giai đoạn huấn luyện là việc học các trọng số trong mạng (weights). Chúng ta cần hai yếu tố: Dữ liệu huấn luyện (Training data): Trong trường hợp phân loại hình ảnh, dữ liệu huấn luyện bao gồm hình ảnh và nhãn tương ứng. Hàm mất mát (Loss funtion): Một hàm chức năng đo lường mức độ không chính xác của dự đoán. Khi chúng ta có hai phần tử trên, chúng ta đào tạo ANN bằng cách sử dụng một thuật toán gọi là lan truyền ngược cùng với gradient descent (suy giảm độ dốc).
Dưới đây là các bước trong giải thuật lan truyền ngược MLP: Bước 1: Chọn tốc độ học >0, chọn sai số cực đại Emax. Bước 2: Khởi động: - Gán sai số E=0. - Gán các trọng số wiq (k), vqi (k) bằng giá trị ngẫu nhiên nhỏ bất kỳ. 13 Luan van Bước 3: (Truyền thuận dữ liệu) Tính ngõ ra của mạng với tín hiệu vào là x(k) Lớp ẩn: m netq (k ) Vqj (k ).