TỔNG QUAN
Tổng Quan Về Lĩnh Vực Nghiên Cứu
Trí tuệ nhân tạo (AI) hiện diện rộng rãi trong cuộc sống hàng ngày, từ việc tự động trả lời email trên Gmail, hỗ trợ lái xe, đến việc sắp xếp ảnh du lịch thành album riêng biệt và quản lý ngôi nhà AI có thể được hiểu là một cấu trúc gồm nhiều lớp, trong đó mạng thần kinh nhân tạo là lớp cơ bản, tiếp theo là machine learning, và ở trên cùng là deep learning.
Vào năm 2011, Google đã khởi động dự án Google Brain nhằm phát triển một mạng thần kinh sử dụng thuật toán deep learning, cho thấy khả năng tiếp nhận các khái niệm phức tạp Tương tự, Facebook đã thành lập AI Research Unit để ứng dụng deep learning trong việc cải thiện nhận diện khuôn mặt và đối tượng trên hơn 350 triệu bức ảnh và video mỗi ngày Một ví dụ thực tế khác về deep learning là khả năng nhận diện giọng nói của các trợ lý ảo như Google Now và Siri.
Deep learning đang mở ra một tương lai tươi sáng cho các ứng dụng như xe tự lái và robot quản gia Mặc dù còn nhiều hạn chế, nhưng những khả năng hiện tại của chúng thật khó tưởng tượng chỉ vài năm trước Tốc độ nâng cấp công nghệ chưa từng thấy cho phép phân tích dữ liệu lớn và phát triển các hệ thống máy tính tự thích nghi mà không cần lập trình từ con người Điều này dẫn đến việc thiết kế trợ lý ảo, xe tự lái, ứng dụng trong thiết kế đồ họa, sáng tác nhạc, và phát triển nguyên liệu mới giúp robot hiểu thế giới xung quanh Chính vì tiềm năng thương mại lớn, các công ty lớn như Google luôn ưu tiên thâu tóm các startup trong lĩnh vực robot và deep learning.
Deep learning và trí tuệ nhân tạo đang có nhiều ứng dụng tuyệt vời, nhưng hiện tại chúng ta vẫn chỉ ở giai đoạn đầu của quá trình phát triển Do đó, không thể tránh khỏi những hạn chế trong việc áp dụng công nghệ này Chúng ta có thể phải chờ đợi một thời gian dài nữa để thấy những hệ thống hoàn thiện hơn.
AI "có tri giác" vẫn chưa thực sự xuất hiện, nhưng các công ty lớn như Google, Facebook và IBM đang đặt nền móng cho kỷ nguyên AI trong tương lai Những nỗ lực hiện tại của họ sẽ mở đường cho sự phát triển mạnh mẽ của trí tuệ nhân tạo trong các thập kỷ tới.
Mục Đích Của Đề Tài
Mục tiêu của nghiên cứu này là ứng dụng mạng nơ-ron tích chập (CNN) để xử lý hình ảnh, từ đó phát triển một thuật toán học sâu có khả năng nhận diện chính xác hành động của con người trong các hình ảnh mới và dự đoán hành động trong video.
Nhiệm Vụ Và Giới Hạn Của Đề Tài
Tìm hiểu một số mô hình và ứng dụng của Deep learning trong xử lý hình ảnh Tìm hiểu các phương pháp tìm điểm đặc trưng trong ảnh
Trích xuất các đặc điểm nổi bật và biểu diễn chúng trong mạng Nơron tích chập là một phương pháp quan trọng Bằng cách tập hợp các đặc điểm từ nhiều hình ảnh, chúng ta có thể dự đoán các tính chất và đặc trưng của từng bức ảnh một cách chính xác.
Thực hiện huấn luyện, mô phỏng bằng phần mềm Matlab để dự đoán hành động của đối tượng
Trong nghiên cứu này, tác giả đã tiến hành dự đoán hành động của con người dựa trên tập dữ liệu do chính mình thu thập Các hành động được dự đoán hiện tại vẫn ở mức độ đơn giản.
Trong một video thực tế, các đối tượng được trích đặc trưng trên từng khung hình đầu vào, tuy nhiên, việc dự đoán hành động của nhiều người cùng lúc trên một khung hình vẫn chưa được thực hiện hiệu quả.
Phương Pháp Nghiên Cứu
Thu thập, tổng hợp các tài liệu lý thuyết cơ bản liên quan đến đề tài
Tìm hiểu các kết quả nghiên cứu đã công bố trong nước và quốc tế
Phân tích lý thuyết và mô phỏng kết quả tính toán bằng phần mềm Matlab Tổng hợp viết báo cáo.
Tóm Tắt Nội Dung Chính Của Đề Tài
Với mục đích là dự đoán được hành động của người trong ảnh và video, nội dung của đề tài bao gồm các phần sau:
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.1.Mạng Nơ-ron nhân tạo (ANN - Artificial Neural Network)
2.2 Mạng nơron tích chập (Convolutional Neural Networks - CNN)
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
3.1 Bài toán phân loại sử dụng Machine learning và Deep learning 3.2 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ả đạt được, đồng thời chỉ ra những hạn chế của đề tài Từ đó, chúng tôi sẽ đề xuất các hướng phát triển trong tương lai thông qua các mục sau đây.
4.2 Những hạn chế và hướng phát triển của đề tài
CƠ SỞ LÝ THUYẾT
Mạng nơron tích chập (Convolutional Neural Networks - CNN)
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
3.1 Bài toán phân loại sử dụng Machine learning và Deep learning 3.2 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ẽ tiến hành phân tích và so sánh các kết quả đạt được, đồng thời nêu rõ những hạn chế của đề tài Từ đó, chúng tôi sẽ đề xuất các hướng phát triển trong tương lai thông qua các mục cụ thể.
4.2 Những hạn chế và hướng phát triển của đề tài
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Mạng Nơ-ron nhân tạo (ANN - Artificial Neural Network)
2.1.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 10 11 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
Hình 2.1 Tế bào thần kinh sinh học
Tế bào thần kinh nhân tạo là mô hình toán học đơn giản của bộ não con người, cần được huấn luyện trước khi sử dụng Nghiên cứu về lĩnh vực này bắt đầu từ những năm 1940, và hiện nay có nhiều mạng lưới cùng các thuật toán huấn luyện được công bố nhằm giải quyết các bài toán khác nhau.
Mạng thần kinh nhân tạo bao gồm các tế bào thần kinh liên kết với nhau thông qua các liên kết, mỗi liên kết có trọng số riêng Các tín hiệu đầu vào được biểu diễn dưới dạng véc tơ, cùng với véc tơ trọng số của tế bào thần kinh, tạo thành cấu trúc phức tạp cho việc xử lý thông tin.
Mạng nơron nhân tạo (Artificial Neural Network - ANN) là mô hình xử lý thông tin mô phỏng cách thức hoạt động của hệ nơron sinh học, bao gồm nhiều nơron kết nối qua các trọng số Mạng nơron được cấu hình cho các ứng dụng cụ thể như nhận dạng mẫu và phân loại dữ liệu thông qua quá trình học từ tập huấn luyện, trong đó học chính là điề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 đóng vai trò quan trọng trong việc xử lý thông tin.
• 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 X x x 1, 2, ,x n T
Trong mạng nơ-ron, mỗi liên kết được biểu diễn bằng trọng số liên kết, hay còn gọi là trọng số synaptic Trọng số liên kết giữa tín hiệu vào thứ j và 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 ngẫu nhiên khi mạng được tạo ra và sẽ được cập nhật liên tục trong quá trình học của mạng Ký hiệu trọng số liên kết có thể được biểu diễn dưới dạng W = [w1, w2, , wn]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
Hàm truyền là một thành phần quan trọng trong mạng nơron, được sử dụng để giới hạn phạm vi đầu ra của mỗi nơron Hàm này nhận đầu vào từ kết quả của hàm tổng và ngưỡng, giúp điều chỉnh tín hiệu đầu ra một cách hiệu quả.
Đầu ra của một nơron là tín hiệu duy nhất mà nó phát ra, với mỗi nơron chỉ có tối đa một đầu ra Về mặt toán học, cấu trúc của nơron k được mô tả bằng một biểu thức cụ thể.
Hàm xử lý ngõ vào:
Hàm xử lý ngõ ra _ Hàm kích hoạt: Y = a(f), bao gồm:
Hình 2.6 Hàm dốc bão hòa
Hàm tuyến tính bão hòa:
Hình 2.7 Hàm tuyến tính bão hòa
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 thẳng một lớp
Là mạng chỉ gồm 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
Mạng truyền thẳng nhiều lớp
Là mạng gồm nhiều 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
Mạng hồi quy một lớp
Là mạng chỉ gồm 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 nhiều lớp
Là mạng gồm nhiều lớp tế 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
Bảng 2.1 Phân loại mạng Nơ-ron nhân tạo
2.1.2 Các phương pháp huấn luyện mạng Nơ-ron nhân tạo
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 tập dưới sự hướng dẫn và giám sát của một giáo viên Tương tự như việc dạy trẻ em nhận biết các chữ cái, trong phương pháp này, người học được hỗ trợ và chỉ dẫn để tiếp thu kiến thức một cách hiệu quả hơn.
Chúng ta sẽ giới thiệu từng chữ cái, bắt đầu bằng việc cho em đó biết đây là chữ “a” Quá trình này sẽ được áp dụng cho tất cả các mẫu chữ cái Khi kiểm tra, chúng ta sẽ đưa ra một chữ cái ngẫu nhiên (có thể có chút biến thể) và hỏi em đó nhận diện chữ cái đó là gì.
Trong học có giám sát, số lượng lớp cần phân loại đã được xác định từ trước Thuật toán phải xác định phương pháp phân loại để mỗi vector đầu vào được phân loại chính xác vào lớp tương ứng của nó.
Hình 2.11 Phương pháp học có giám sát b Học củng cố:
Học củng cố, hay còn gọi là học thưởng-phạt, là sự kết hợp giữa hai mô hình học máy Phương pháp này hoạt động bằng cách quan sát vector đầu vào và vector đầu ra do mạng tính toán Nếu kết quả đạt yêu cầu, mạng sẽ được thưởng bằng cách tăng trọng số kết nối; ngược lại, nếu kết quả không đạt, các trọng số không phù hợp sẽ bị giảm Học củng cố có thể được xem như là học theo nhà phê bình, trái ngược với học có giám sát, nơi mà mạng học theo sự hướng dẫn của thầy giáo.
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à phương pháp học mà không cần sự giám sát từ bên ngoài Trong phương pháp này, dữ liệu huấn luyện được biểu diễn dưới dạng D = {(x1, x2, , xN)}, trong đó (x1, x2, , xN) là các vector đặc trưng của mẫu huấn luyện Mục tiêu của thuật toán học không giám sát là 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 tương đồng.
Học không giám sát cho phép xác định số lớp phân loại chưa được biết trước, và các lớp này có thể khác nhau tùy thuộc vào tiêu chuẩn đánh giá độ tương tự giữa các mẫu.
Hình 2.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
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
2.1.3 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ử, mạng nơ-ron nhân tạo (ANN) được đào tạo thông qua thuật toán lan truyền ngược kết hợp với phương pháp suy giảm độ dốc Các bước trong thuật toán lan truyền ngược cho mạng nơ-ron đa lớp (MLP) bao gồm việc tính toán sai số, điều chỉnh trọng số và tối ưu hóa mô hình để cải thiện độ chính xác.
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 các trọng số wiq (k), vqi (k) bằng giá trị ngẫu nhiên nhỏ bất kỳ
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:
Bước 4: (Lan truyền ngược sai số) Cập nhật trong số của mạng:
Bước 5: Tính sai số tích lũy:
Bước 6: Nếu k