CHƯƠNG 1. Trí tuệ nhân tạo AI 1. Định nghĩa AI Trí tuệ nhân tạo (AI) là một lĩnh vực khoa học máy tính nhằm phát triển các hệ thống có khả năng thực hiện các nhiệm vụ mà thường cần đến trí thông minh của con người, như hiểu biết ngôn ngữ tự nhiên, nhận diện xử lý hình ảnh và đưa ra quyết định. Các lĩnh vực ứng dụng AI Hiện nay AI đang là công nghệ được quan tâm và ưa chuộng nhất.
Việc phát triển cũng như ứng dụng nó vào trong đời sống đang ngày càng phổ biến, được sử dụng cho hầu hết nhiệm vụ mà chúng ta có thể làm. − Y tế: chẩn đoán bệnh, phân tích dữ liệu y tế. − Giám sát: giám sát lưu lượng xe, giám sát chỉ số, cây trồng, v. − Giao thông: cho xe tự lái, kiểm soát tốc độ cũng như phát hiện vi phạm, biển số xe vi phạm, v.
− Thương mại: dự đoán nhu cầu, tối ưu hóa chuỗi cung ứng, v. − Giải trí: phát triển các trò chơi có sự đồng hành của AI, ví dụ điển hình là AI chiến thắng nhà vô địch cờ vây, tạo ra các bộ phim điện ảnh hoặc các bức ảnh sắc nét và chân thật. Và một lĩnh vực có thể nói là đang trang quá trình được quan tâm nhất và tạo sinh như sinh ra các bản nhạc, bài hát. Khái niệm học máy Học máy là lĩnh vực trong khoa học máy tính xây dựng các thuật toán, phương pháp để máy tính có thể học hỏi và thực hiện một nhiệm vụ nào đó dựa trên dữ liệu có sẵn.S Tom Mitchell” thì “học máy được định nghĩa là quá trình cải thiện hiệu suất thực hiện nhiệm vụ T (Task) xét theo độ đo P (Performance) nhờ vào kinh nghiệm E (Experience)” 4 1.
Các loại học máy Hình 1. Các loại học máy − Học có giám sát (Supervised Learning): Một thuật toán machine learning được gọi là học có giám sát (supervised learning) nếu việc xây dựng mô hình dự đoán mối quan hệ giữa đầu vào và đầu ra được thực hiện dựa trên các cặp (đầu vào, đầu ra) đã biết trong tập huấn luyện. Một ví dụ đơn giản với cách dạy học sau đây của con người. Ban đầu, cô giáo đưa các bức ảnh chứa chữ số cho một đứa trẻ và chỉ ra đâu là chữ số không, đầu là chữ số một.
Qua nhiều lần hướng dẫn, đứa trẻ có thể nhận được các chữ số trong một bức ảnh chúng thậm chí chưa nhìn thấy bao giờ. Quá trình cô giáo chỉ cho đứa trẻ tên của từng chữ số tương đương với việc chỉ cho mô hình học máy đầu ra tương ứng của mỗi điểm dữ liệu đầu vào. − Học không giám sát (Unsupervised Learning): là nhóm các thuật toán hướng đến tìm ra mô hình hay cấu trúc ẩn của bộ dữ liệu mà chưa được gán nhãn. Các phương pháp này thiên về mô tả tính chất hay đặc tính của dữ liệu, ví dụ như mô hình hoá các quan hệ tương tự, xác suất đồng xuất hiện, phát hiện những yếu tố đặc trưng để phân biệt các nhóm dữ liệu.
Quay lại ví dụ trên, nếu cô giáo giao cho đứa trẻ các bức ảnh chứa chữ số nhưng không nêu rõ tên gọi của chúng, đứa trẻ sẽ không biết tên gọi của từng chữ số. Tuy nhiên, đứa trẻ vẫn có thể tự chia các chữ số có nét giống nhau vào cùng một nhóm và xác định được nhóm tương tứng của một bức ảnh mới. Đứa trẻ có thể tự thực hiện công việc này mà không cần sự chỉ bảo hay giám sát của cô giáo. − Học Tăng Cường (Reinforcement Learning): Học tăng cường là một nhóm các thuật toán machine learning mà trong đó một tác nhân (agent) học cách tương tác với môi trường (environment) để tối ưu hóa hành động của mình nhằm đạt được mục tiêu cụ thể.
Ví dụ, trong trò chơi "Spider Solitaire", tác nhân có thể thực hiện 5 các hành động như di chuyển quân bài và nhận phần thưởng khi hoàn thành một bộ bài. Qua nhiều lượt chơi, tác nhân học được các chiến lược tốt để tối đa hóa điểm số. Kết quả là nó trở nên giỏi hơn trong việc chơi game mà không cần biết trước quy tắc. Pipeline của học máy Hình 1.
Quy trình xử lý một bài toán học máy Quy trình học máy: Thường bao gồm các bước từ thu thập dữ liệu đến triển khai mô hình. − Thu thập dữ liệu: + Tìm kiếm nguồn dữ liệu + Xây dựng tập dữ liệu − Tiền xử lý: + Làm sạch dữ liệu + Chuyển đổi định dạng + Ghi nhãn dữ liệu + Chuẩn hóa, mã hóa dữ liệu + Tăng cường dữ liệu − Huấn luyện mô hình: + Chọn lựa thuật toán + Xác định đầu vào + Huấn luyện mô hình 6 − Đánh giá và tối ưu hóa + Đánh giá hiệu suất mô hình + Tối ưu mô hình + Kiểm thử và triển khai mô hình 1. Học sâu (Deep Learning) Hình 1. Tổng quan về AI 1.
Tổng quan về học sâu Học sâu là một phương thức trong lĩnh vực trí tuệ nhân tạo (AI), được sử dụng để dạy máy tính xử lý dữ liệu theo cách được lấy cảm hứng từ bộ não con người. Mô hình học sâu có thể nhận diện nhiều hình mẫu phức tạp trong hình ảnh, văn bản, âm thanh và các dữ liệu khác để tạo ra thông tin chuyên sâu và dự đoán chính xác. Từ hình trên, chúng ta có thể thấy Deep learning chỉ là một nhánh nhỏ của Machine Learning. Tuy nhiên trong khoảng vài năm trở lại đây thì Deep Learning được nhắc đến rất nhiều như một xu hướng mới của cuộc cách mạng AI.
Hiện nay trí tuệ nhân tạo (AI) bùng nổ kéo nhiều doanh nghiệp sử dụng các mô hình học sâu để phân tích dữ liệu và đưa ra dự đoán cũng như phát triển nhiều ứng dụng khác nhau: trợ lý kỹ thuật số, điều khiển tivi từ xa kích hoạt bằng giọng nói, phát hiện gian lận, nhận dạng khuôn mặt tự động. Có thể nói rằng học sâu là một phần quan trọng của các công nghệ đổi mới hiện nay. Sau đây là một số dẫn chứng: − Bùng nổ dữ liệu: Deep learning khai thác được Big Data (dữ liệu lớn) cùng với độ chính xác cao hơn hẳn so với các phương pháp Machine Learning khác trên 7 tập dữ liệu đặc biệt là đối với ảnh. Cụ thể là năm 2012, Alex Krizhevsky, Ilya Sutskever, và người hướng dẫn là Hinton, đã đưa ra một mô hình làm bất ngờ những người làm việc trong ngành AI, và sau này là cả thế giới khi đạt top-5 error là 16% trong cuộc thi ILSVRC2012.
Đây là lần đầu tiên một model Artificial Neural Network (ANN) đạt kết quả state-of-the-art (SOTA). − Phần cứng phát triển: Sự xuất hiện của GPU GTX 10 series của NVIDIA ra mắt năm 2014 với hiệu năng tính toán cao cũng như giá thành rẻ, có thể tiếp cận với hầu hết với mọi người dẫn đến việc nghiên cứu Deep Learning không còn là những bài toán chỉ được nghiên cứu trong các phòng lab đắt tiền của các trường Đại học danh giá và các công ty lớn. Convolutional neural network Convolutional Neural Network (CNN) là một loại mạng neuron được thiết kế đặc biệt để xử lý dữ liệu dạng lưới, như hình ảnh và âm thanh. CNN nổi bật với khả năng tự động trích xuất các đặc trưng từ dữ liệu thô, giúp nó trở thành công cụ quan trọng trong các bài toán nhận diện hình ảnh, phân loại âm thanh, và cả các ứng dụng liên quan đến dữ liệu chuỗi thời gian.
Mô hình CNN phân loại chữ số viết tay Cấu trúc cơ bản của CNN: − Lớp tích chập (Convolutional Layer): thực hiện việc tính toán để trích xuất các đặc trưng từ dữ liệu đầu vào, sử dụng các bộ lọc kernel để di chuyển trên ảnh để trích xuất các đặc trưng như đường viền, góc cạnh từ hình ảnh. − Hàm kích hoạt (Activation Function): tạo các giá trị phi tuyến giúp mô hình học được các đặc trưng phức tạp hơn. 8 − Lớp gộp (Pooling Layer): giảm kích thước của dữ liệu đầu vào (down- sampling) trong khi vẫn giữ được các thông tin quan trọng. Điều này giúp làm giảm số lượng tham số và khối lượng tính toán trong mô hình, đồng thời ngăn chặn hiện tượng quá khớp (overfitting) và cải thiện khả năng tổng quát của mô hình.
− Lớp làm phẳng (Flatten Layer): có nhiệm vụ chuyển đổi dữ liệu đầu ra từ ma trận đa chiều thành một vector một chiều, đóng vai trò là cầu nối giữa các lớp học đặc trưng và các lớp xử lý đầu ra. − Lớp bỏ học (Dropout Layer): một kỹ thuật tối ưu hóa, nơi một số nơ-ron được loại bỏ trong mỗi bước huấn luyện để tránh overfitting. Lớp Dropout được áp dụng tùy vào bài toán cụ thể. Recurrent neural network Recurrent Neural Networks (RNNs) là một loại mạng neuron chuyên dùng để xử lý các loại dữ liệu theo chuỗi, như chuỗi thời gian, văn bản, âm nhạc, hay dữ liệu âm thanh.
Thường bao gồm một hoặc nhiều lớp neuron hồi quy, nơi thông tin được chuyển tiếp từ bước thời gian này sang bước thời gian khác. Tại mỗi bước thời gian, RNN nhận đầu vào là và cập nhật trạng thái ẩn (hidden state) của nó bằng cách kết hợp đầu vào hiện tại với trạng thái ẩn trước đó. Hàm kích hoạt ReLU hoặc Tanh sẽ thường được sử dụng, giúp mô hình học được các đặc trưng phức tạp hơn. Tại mỗi bước thời gian sẽ có một đầu ra khác nhau.
Các đặc điểm quan trọng của RNN: − Kết nối tuần hoàn (Recurrent connections): đầu ra của mỗi neuron tại một thời điểm sẽ được sử dụng làm đầu vào cho cùng neuron đó hoặc các neuron khác trong lần tính toán tiếp theo (ở các bước thời gian sau). Điều này giúp mạng RNN có khả năng "ghi nhớ" thông tin từ các bước trước đó trong chuỗi. − Trạng thái ẩn (Hidden State): RNN duy trì một trạng thái ẩn, là một bộ nhớ ngắn hạn, giúp nó có khả năng nhớ các thông tin từ những bước trước trong chuỗi dữ liệu. Trạng thái này được cập nhật liên tục khi mô hình tiến qua từng bước thời gian trong chuỗi.
− Xử lý dữ liệu theo chuỗi: Do có khả năng lưu trữ thông tin từ các bước trước, RNN rất phù hợp để xử lý dữ liệu dạng chuỗi như văn bản, âm thanh, hoặc dữ liệu thời gian, nơi mà mỗi điểm dữ liệu trong chuỗi phụ thuộc vào các điểm trước đó. GANs (Generative Adversarial Networks) Mô hình GANs được giới thiệu bởi Ian J. Goodfellow vào năm 2014 và đã đạt được rất nhiều thành công lớn trong Deep Learning nói riêng và AI nói chung. Là một kiến trúc mạng nơ-ron bao gồm hai mạng đối kháng nhau: một mạng sinh (generator) và một mạng phân biệt (discriminator).