Chương 1: TỔNG QUAN 1.1 Tổng quan về lĩnh vực nghiên cứu Trí tuệ nhân tạo (Artificial Intelligence - AI) giờ xuất hiện ở khắp mọi nơi. Nó là thứ được sử dụng để trả lời email tự động trên Gmail, học cách lái xe cho chúng ta ngồi chơi, sắp xếp lại ảnh của những chuyến đi chơi thành từng album riêng biệt, thậm chí còn giúp quản lý ngôi nhà hay đi mua sắm. Trí tuệ nhân tạo có thể được hiểu đơn giản là được cấu thành từ các lớp xếp chồng lên nhau, trong đó mạng thần kinh nhân tạo nằm ở dưới đáy, Machine Learning nằm ở tầng tiếp theo và Deep Learning nằm ở tầng trên cùng. Năm 2011, Google khởi tạo dự án Google Brain với mục đích tạo ra một mạng thần kinh được huấn luyện bởi các thuật toán Deep Learning.
Dự án này sau đó đã chứng minh được khả năng tiếp nhận được cả những khái niệm bậc cao của Deep Learning. Facebook cũng thành lập AI Research Unit, đơn vị nghiên cứu về AI sử dụng Deep Learning vào việc tạo ra các giải pháp hiệu quả hơn giúp nhận diện khuôn mặt và sự vật trên 350 triệu bức ảnh và video được đăng tải lên Facebook mỗi ngày. Một ví dụ tiêu biểu khác về Deep Learning trong thực tế là khả năng nhận diện giọng nói của các trợ lý ảo Google Now và Siri. Deep Learning đang ngày càng cho thấy một tương lai đầy hứa hẹn với ứng dụng vào điều khiển xe tự lái hay robot quản gia.
Mặc dù các sản phẩm này vẫn còn nhiều hạn chế nhưng những thứ chúng làm được hiện nay thực sự rất khó tưởng tượng nổi chỉ vài năm trước đây; tốc độ nâng cấp cũng cao chưa từng thấy. Khả năng phân tích dữ liệu lớn và sử dụng Deep Learning vào các hệ thống máy tính có thể tự thích nghi với những gì chúng tiếp nhận mà không cần đến bàn tay lập trình của con người sẽ nhanh chóng mở đường cho nhiều đột phá trong tương lai. Những đột phá này có thể là việc thiết kế 1 Luan van ra những trợ lý ảo, các hệ thống xe tự lái hay sử dụng vào thiết kế đồ họa, sáng tác nhạc, cho đến phát triển các nguyên liệu mới giúp robot thấu hiểu thế giới xung quanh hơn. Chính vì tính thương mại cao mà các công ty lớn, đặc biệt là Google, luôn ưu tiên các startup về robot và Deep Learning trong danh sách thâu tóm của mình.
Deep Learning nói riêng hay trí tuệ nhân tạo nói chung thực sự có rất nhiều ứng dụng tuyệt vời, nhưng chúng ta hiện mới chỉ đang ở giai đoạn đầu phát triển nó nên những hạn chế là không thể tránh khỏi. Có lẽ còn phải chờ khá lâu nữa những hệ thống AI “có tri giác” mới thực sự xuất hiện, nhưng những gì các công ty lớn như Google, Facebook, IBM đang làm hiện nay cũng tương tự với việc đặt những viên gạch đầu tiên mở đường cho kỷ nguyên AI trong những thập kỷ tới.2 Mục tiêu của đề tài Mục tiêu của đề tài là sử dụng mô hình mạng nơron tích chập để xử lý ảnh được thu thập trong môi trường sống xung quanh nhằm hiểu được các đối tượng và sự vật trong ảnh là gì và cũng như để biết được vị trí của đối tượng sự vật đó trong ảnh.3 Nhiệm vụ và giới hạn của đề tài Nhiệm vụ: 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 điểm đặc trưng và biểu diễn nó trong mạng nơron tích chập.
Tập hợp các điểm đặc trưng từ nhiều ảnh và dự đoán tính chất, đặc trưng của ảnh. Thực hiện huấn luyện, mô phỏng bằng phần mềm để xác định đối tượng, sự vật trong ảnh. Giới hạn: Trong đề tài này, hiệu suất của mô hình mô phỏng bị giới hạn bởi phần cứng và số lượng dữ liệu thu thập.4 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à xây dựng phần mềm để đánh giá mô hình mạng. Tổng hợp viết báo cáo.5 Tóm tắt nội dung chính của đề tài Nội dung của đề tài bao gồm các phần sau: 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 liên quan đến đề tài, cũng như 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 sử dụng trong đề tài như mạng CNN, mạng R-CNN, mạng Fast R-CNN, mạng Faster R-CNN và các kỹ thuật xử lý liên quan. Chương III: Xây dựng bài toán nhận dạng đơn giản dùng mạng nơron tích chập.
Chương này sẽ đi vào trình bày cách xây dựng mạng, tổ chức dữ liệu, huấn luyện và giới thiệu các phần mềm mô phỏng các kỹ thuật. Chương IV: Kết quả mô phỏng Chương này sẽ trình bày các kết quả mô phỏng nhằm so sánh và đánh giá các kỹ thuật. Chương V: Kết luận và hướng phát triển Chương này sẽ đưa ra kết luận và hướng phát triển của đề tài. 3 Luan van Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Mạng nơron và mạng nơron lan truyền ngược 2.1 Giới thiệu về mạng Nơron Đặ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. Sợi nhánh Sợi trục Eo răng-vi-ê Thanh nơ ron Bao mi-ê-lin Nhân Hình 2.1: Tế bào thần kinh. 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. 4 Luan van Đặ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 vectơ tín hiệu ngõ vào và vectơ trọng số của tế bào thần kinh.2: Mạng thần kinh nhân tạo. Theo tài liệu [2] ta có thể định nghĩa như sau: 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 của nơron, các tín hiệu này thường được đưa vào dưới dạng một vector N chiều.
5 Luan van 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. 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 (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 (2.1) j 1 Hàm toàn phương: n f net ( wij xij 2 ) i (2.2) j 1 Hàm cầu: n f net ( 2 ( wij xij )2 ) i 2 ( X W )T ( X W ) (2.3) j 1 Hàm xử lý ngõ ra _ Hàm kích hoạt: Y = a(f), bao gồm: 6 Luan van Hàm nấc. Hàm tuyến tính. Hàm tuyến tính bão hòa. Threshold Linear Gaussian Sigmoid Hình 2.3: Một số hàm tác động.2 Một số kiểu mạng nơron 2.1 Mạng truyền thẳng một lớp Hình 2.4: Mạng truyền thẳng một lớp.
7 Luan van 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.2 Mạng truyền thẳng nhiều lớp Hình 2.5: 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.3 Mạng hồi quy một lớp Hình 2.6: Mạng hồi quy một lớp.
8 Luan van 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.4 Mạng hồi quy nhiều lớp Hình 2.7: 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.3 Các phương pháp huấn luyện mạng thần kinh nhân tạo Kiểu học Học thông số Học cấu trúc Có giám sát Củng cố Không giám sát Hình 2.8: Các phương pháp huấn luyện mạng thần kinh nhân tạo.1 Học có giám sát Hình 2. 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.