Chương 1: Cơ sở lý thuyết Chương này tập trung trình bày nhưng thông tin nền tảng về trí tuệ nhân tạo nói chung và mạng nơ ron nói riêng. Cùng với đó những lý thuyết cơ bản của mạng nơ ron tích chập CNN như các phép toán trên ma trận ảnh, thuật toán tối ưu, ứng dụng,… cũng sẽ được trình bày trong chương này. Chương 2: Ứng dụng phân loại tư thế ngủ dưa trên phương pháp ước lượng tư thế Chương này trình bày cụ thể ý tưởng mô hình hóa bài toán để có thể giải quyết bằng mạng học sâu. Tiếp đó, thông tin tổng quan cũng như các thông số về thống kê của tập dữ liệu được sử dụng trong luận văn cũng được đề cập.
Sau cùng, kiến trúc của phương pháp đề xuất sẽ được làm rõ để nổi bật lên cách kết hợp thông tin giữa các đặc trưng để đưa ra dự báo cuối cùng. Chương 3: Kết quả và bàn luận Chương cuối cùng sẽ nêu ra các độ đo được sử dụng nhằm đánh giá hiệu quả của mô hình, kết quả cơ sở, kết quả của mô hình đề xuất trên tập dữ liệu kiểm thử và những đánh giá về kết quả cũng như ý tưởng cải tiến phương pháp đề xuất cũng sẽ được đề cập trong chương này. CƠ SỞ LÝ THUYẾT Trong chương này, các cơ sở lý thuyết được sử dụng cho quá trình nghiên cứu đề tài sẽ được trình bày. Thông tin sẽ tập trung nhằm khái quát hoạt động của mạng học sâu, một số thành tựu của mạng học sâu trong lĩnh vực y tế, chăm sóc sức khỏe trong những năm gần đây và cuối cùng là ứng dụng của mạng học sâu trong hai lớp bài toán phổ biến của thị giác máy tính đó là ước lượng tư thế và phân loại.1 Giới thiệu chung về mạng học sâu 1.1 Tổng quan về mạng học sâu Trước khi đi vào tìm hiểu mạng học sâu, chúng ta cần nắm được một số khái niệm cơ bản về trí tuệ nhân tạo (Artificial Intelligence) và học máy (Machine Learning).
3 khái niệm này có mối quan hệ vô cùng mật thiết với nhau tuy nhiên vẫn còn gây nhầm lẫn với một số bộ phận trong công chúng. Đầu tiên chúng ta nên bắt đầu từ khái niệm trí tuệ nhân tạo (Artificial Intelligence). Có rất nhiều khái niệm đã được đưa ra cho thuật ngữ này. Trong số đó, chúng ta có thể tham khảo định nghĩa đưa ra bởi John McCarthy vào năm 2004 trong bài báo có tiêu đề “What is Artificial Intelligence?” [4].
Nguyên văn định nghĩa này trong tiếng Anh được tác giả trình bày như sau: “It is science and engineering of making intelligent machines, especially intelligent computer programs. It is related to similar task of using computers to understand human intelligence, but AI does not have to confine itself to methods that are biologically observable”. Khái quát sang tiếng Việt, chúng ta có thể coi trí tuệ nhân tạo là một ngành khoa học kĩ thuật giúp cho máy móc có được trí thông minh, đặc biệt là trí thông mình của các chương trình máy tính. Nó tương tự như việc sử dụng máy tính để hiểu được trí thông minh của con người, tuy nhiên nó cũng không hề chịu sự ràng buộc của các quá trình sinh học tự nhiên.
Trong thực tế, ý tưởng về trí tuệ nhân tạo đã được đưa ra cách đây hơn 1 nửa thế kỉ, khi mà Alan Turing – người được coi là cha đẻ của khoa học máy tính đã đưa ra một câu hỏi trong bài báo “Computing Machinery and Intelligence” [5] của mình rằng “Can machines think” – “Liệu máy móc có suy nghĩ được không?”. Tại thời điểm năm 1950, câu hỏi này đối với nhiều người rõ ràng là sự ngớ ngẩn và viển vông. Tuy nhiên tại thời điểm hiện tại, câu trả lời cho câu hỏi này đã khác rất nhiều khi mà máy móc đã thể hiện được trí thông minh trong rất nhiều lĩnh vực như y tế, giáo dục, giao thông, tài chính,… Thậm chí trong một số lĩnh vực máy móc còn cho thấy trí thông minh vượt xa con người. Điển hình có thể nhắc đến sự kiện AlphaGo do Google Deepmind phát triển đã thắng nhà vô địch cờ vây thế giới người Hàn Quốc vào năm 2016 [6].
Nhìn chung, dù định nghĩa có thể thay đổi về mặt câu từ thì trí tuệ nhân tạo luôn được nhấn mạnh là trí thông minh được thể hiện bởi máy móc. Từ khi khái niệm trí tuệ nhân tạo được phổ biến và nhận nhiều sự quan tâm của công chúng, 2 thuật ngữ liên quan đến trí tuệ nhân tạo đó là học máy (Machine Learning) và học sâu (Deep Learning) đang nổi lên như một làn gió mới trong khoa học máy tính với những ứng dụng thú vị mà nó đem lại. Nhìn chung, chúng ta có thể nói rằng học sâu được bao hàm bởi học máy, học máy lại được bao hàm bởi trí tuệ nhân tạo. Hay nói cách khác, học sâu chính là trí tuệ nhân tạo 1 nhưng trí tuệ nhân tạo chưa chắc đã là học sâu.
Mối quan hệ này có thể biểu thị bằng hình bên dưới. 1 Mối quan hệ giữa trí tuệ nhân tạo, học máy và học sâu [7] Ta có thể thấy, 3 thuật ngữ này có những đặc điểm chung khá giống nhau tuy nhiên chúng vẫn có những nét đặc trưng nhất định để chúng ta có thể phân biệt được. Đối với học máy, thuật ngữ này ám chỉ khả năng học của hệ thống máy tính, các chương trình sẽ có tính mềm dẻo, linh hoạt, thay vì những chương trình chỉ được hoạt động theo logic cố định được lập trình sẵn. Hoạt động của các mô hình học máy dựa trên những thuộc tính mà nó học được từ dữ liệu, từ đó đưa ra những dự đoán và quyết định khi tiếp nhận một đầu vào mới từ môi trường.
Một số mô hình thuật toán kinh điển của học máy mà chúng ta có thể nhắc đến đó là Support Vector Machine (SVM), K-Nearest Neighbors (KNN), Random Forest, K-Means, Linear Regression, Logistic Regresion, … Mặc dù học máy cho độ chính xác khá tốt trên một số tác vụ đơn giản. Tuy nhiên, sau một thời gian nghiên cứu các nhà nghiên cứu nhận ra một điểm yếu cố hữu của học máy đó là các thuật toán học máy không tận dụng tốt lượng dữ liệu lớn mà chúng ta cung cấp cho quá trình huấn luyện [8]. Khi tăng lượng dữ liệu huấn luyện cho mô hình, chúng ta sẽ có kì vọng độ chính xác của mô hình học máy được cải thiện. Tuy nhiên trong thực tế điều này không xảy ra, một trong những nguyên nhân chính đó là số lượng tham số của các mô hình học máy khá hạn chế.
Do đó mặc dù được học trên lượng dữ liệu lớn nhưng các mô hình học máy không có khả năng để phản ánh được hết sự đa dạng cũng như đặc tính của dữ liệu. Điều này tương tự như việc chúng ta bắt một đứa trẻ 5 tuổi học kiến thức đại học vậy. Mặc dù có thể dạy đi dạy lại nhưng đứa trẻ đó không thể hiểu được vì bộ não của nó chưa phát triển đầy đủ. Nhằm khắc phục nhược điểm này, lĩnh vực học sâu được các nhà khoa học khai phá bằng việc đưa ra những mô hình lớn hơn với số lượng lên đến hàng chục triệu, thậm chí hàng tỉ tham số được huấn luyện trên những tập dữ liệu lớn để giải quyết những bài toán với độ phức tạp cao.
Sự thành công của học sâu trong những năm gần đây chính là một điểm nhấn ấn tượng của cuộc cách 2 mạng công nghiệp 4.0 cùng với các công nghệ mới khác như internet vạn vật, dữ liệu lớn, điện toán đám mây,… Cùng với đó sự thành công này cũng có đóng góp không nhỏ của ngành công nghiệp chip bán dẫn. Khi mà sự bùng nổ của học sâu chỉ xuất hiện khi các chip xử lý đồ họa GPU (Graphic Processing Unit) được ra đời với khả năng tính toán song song. Sự khác biệt cơ bản giữa học máy và học sâu có thể tóm lược bằng bảng 1. 1 Sự khác biệt cơ bản giữa học máy và học sâu [8] Học máy Học sâu Là tập con của trí tuệ nhân tạo Là tập con của học máy Lượng dữ liệu huấn luyện nhỏ Lượng dữ liệu huấn luyện lớn Thời gian huấn luyện ngắn, độ chính xác Thời gian huấn luyện dài, độ chính xác thấp hơn cao hơn Số lượng tham số nhỏ, độ phức tạp thấp Số lượng tham số cao, độ phức tạp cao hơn hơn Có thể huấn luyện trực tiếp trên CPU Yêu cầu GPU cho quá trình huấn luyện Đến thời điểm hiện tại, sự thành công của kĩ thuật học sâu trong những năm gần đây được thể hiện rõ rệt nhất thông qua các thế hệ mạng học sâu.
Mạng học sâu được lấy cảm hứng từ hệ thống thần kinh sinh học của con người để mô phỏng lại khả năng học tập và đưa ra dự đoán. Trước đây, điều này tưởng chừng là bất khả thi tuy nhiên với sự phát triển vượt bậc của kiến trúc mạng nơ ron, thuật toán huấn luyện cũng như phần cứng hỗ trợ, các mạng nơ ron hiện này đã cho độ chính xác tốt trong rất nhiều tác vụ với độ khó cao. Trong số đó ta có thể kể đến một số tác vụ như sau. • Thị giác máy tính: Các bài toán trong lĩnh vực này chủ yếu tập trung vào việc huấn luyện máy móc để chúng có thể hiểu và xử lý thông tin dưới dạng hình ảnh hoặc video tương tự như con người.
Một số tác vụ kinh điển trong lĩnh vực này mà chúng ta có thể kể đến như phân loại hình ảnh, phát hiện vật thể, sinh hình ảnh, phân đoạn ảnh, phát hiện sự kiện trong video,… • Xử lý ngôn ngữ tự nhiên: Lớp bài toán này tập trung vào việc huấn luyện cho máy móc có khả năng hiểu và phân tích được thông tin dưới dạng văn bản và tiếng nói từ đó máy móc có thể tương tác ngược lại với con người. Một số tác vụ phổ biến trong lĩnh vực này như dịch máy, trả lời câu hỏi, tự động sinh văn bản,… • Hệ thống gợi ý: Các chương trình máy tính sử dụng để dự đoán và gợi ý các mục hoặc nội dung phù hợp cho người dùng dựa trên hành vi, sở thích và lịch sử tiếp xúc của người dùng. Trong những năm gần đây, mạng nơ ron được coi là một giải pháp hữu hiệu cho bài toán này. • Phân tích dữ liệu: Một trong những đặc điểm của cuộc cách mạng công nghệ 4.0 đó là dữ liệu lớn.
Lượng dữ liệu được sinh ra trong quá trình hoạt động của các hệ thống máy tính là vô cùng lớn và thường sẽ được lưu trữ tại các 3 kho dữ liệu (data warehouse).