Chương 1: Giới thiệu đề tài Chương 2: Cơ sở lý thuyết Chương 3: Các nghiên cứu liên quan Chương 4: Thiết kế bộ tăng tốc AI Chương 5: Thiết kế hệ thống Chương 6: Kết quả và đánh giá Chương 7: Kết luận Chương 8: Tài liệu tham khảo Đặng Thành Lập (2270247) - Luận văn thạc sĩ Page 5/80 Chương 2. Cơ sở lý thuyết 2 Cơ sở lý thuyết 2.1 Trí tuệ nhân tạo – Artificial Intelligence Công nghệ trí tuệ nhân tạo (AI) cho phép máy tính và máy móc mô phỏng trí thông minh của con người và thực hiện các nhiệm vụ giải quyết vấn đề. Đặc điểm lý tưởng của trí tuệ nhân tạo là khả năng hợp lý hóa và hành động để đạt được một mục tiêu cụ thể. Nghiên cứu về AI bắt đầu từ những năm 1950 và được Bộ Quốc phòng Hoa Kỳ sử dụng vào những năm 1960 khi bộ này huấn luyện máy tính bắt chước khả năng suy luận của con người.
Việc phát triển AI chủ yếu sẽ tập trung vào ba khía cạnh của nhận thức: học hỏi, suy luận và tự điều chỉnh. • Các quá trình học tập: Khía cạnh này sẽ tập trung vào việc tìm kiếm, thu thập dữ liệu và tạo ra các quy tắc về cách biến dữ liệu thành thông tin có thể hành động. Các quy tắc, được gọi là thuật toán, cung cấp cho các thiết bị tính toán hướng dẫn từng bước về cách hoàn thành một nhiệm vụ cụ thể. • Các quy trình suy luận: Việc lập trình AI thường hay có các quy trình này để lựa chọn thuật toán phù hợp và đạt được kết quả mong muốn.
• Các quy trình tự sửa lỗi: AI sẽ được lập trình để liên tục chỉnh sửa lại các thuật toán và đảm bảo chúng cung cấp kết quả chính xác nhất có thể. Ngày nay, lượng dữ liệu được tạo ra bởi cả con người và máy móc vượt xa khả năng tiếp thu, diễn giải và đưa ra các quyết định phức tạp dựa trên dữ liệu đó của con người. Trí tuệ nhân tạo tạo thành nền tảng cho mọi hoạt động học tập trên máy tính và là tương lai của mọi hoạt động ra quyết định phức tạp. Một số tập hợp con của AI tập trung vào các khía cạnh khác nhau của nghiên cứu và ứng dụng AI trong lĩnh vực AI lớn hơn.
Mỗi tập hợp con có các vấn đề, cách tiếp cận và ứng dụng riêng biệt và chúng cùng nhau bổ sung vào lĩnh vực AI phong phú và đa dạng. Trong luận văn này sẽ tập trung tìm hiểu về nhánh Machine Learning, Deep Learning vì Deep Learning (DL) có các mô hình, thuật toán sẽ được ứng dụng trong luận văn. Học máy lấy thông tin sâu sắc từ khối lượng lớn dữ liệu bằng cách tận dụng các thuật toán để xác định các mẫu và học hỏi trong một quy trình lặp đi lặp lại. Thuật toán ML sử dụng các phương pháp tính toán để học trực tiếp từ dữ liệu thay vì dựa vào bất kỳ phương trình xác định trước nào có thể dùng làm mô hình.
Đặng Thành Lập (2270247) - Luận văn thạc sĩ Page 6/80 Chương 2. Trí tuệ nhân tạo – Artificial Intelligence Figure 2.1: Mối tương quan và các nhánh con của AI Học máy (Machine Learing - ML) là một phần của AI cung cấp trí thông minh cho máy móc với khả năng tự động học hỏi bằng trải nghiệm mà không cần được lập trình rõ ràng. Phương pháp học máy cho phép máy tính hoạt động tự chủ mà không cần lập trình rõ ràng. Các ứng dụng ML được cung cấp dữ liệu mới và chúng có thể học hỏi, phát triển, phát triển và thích ứng một cách độc lập.
Hiệu suất của thuật toán ML được cải thiện một cách thích ứng khi số lượng mẫu có sẵn tăng lên trong quá trình ’học’. Ví dụ: học sâu là một lĩnh vực phụ của học máy giúp huấn luyện máy tính bắt chước các đặc điểm tự nhiên của con người như học từ các ví dụ. Nó cung cấp các thông số hiệu suất tốt hơn các thuật toán ML thông thường. Học sâu (Deep Learning - DL) là một tập hợp con của học máy cung cấp khả năng cho máy thực hiện các nhiệm vụ giống con người mà không cần sự tham gia của con người.
Nó cung cấp khả năng cho tác nhân AI bắt chước bộ não con người. Học sâu có thể sử dụng cả phương pháp học có giám sát và không giám sát để đào tạo tác nhân AI. • Học sâu được thực hiện thông qua kiến trúc mạng lưới thần kinh do đó còn được gọi là mạng lưới thần kinh sâu. • Học sâu là công nghệ chính đằng sau xe tự lái, nhận dạng giọng nói, nhận dạng hình ảnh, dịch máy tự động, v.
• Thách thức chính đối với deep learning là nó đòi hỏi nhiều dữ liệu với nhiều sức mạnh tính toán. Đặng Thành Lập (2270247) - Luận văn thạc sĩ Page 7/80 Chương 2. Trí tuệ nhân tạo – Artificial Intelligence 2.1 Lý thuyết về học sâu A. Perceptron Thành phần cấu thành của Neural Network là neuron hay còn gọi là perceptron, một khối tính toán cố gắng mô hình hóa hành vi của một tế bào thần kinh sinh học.
Perceptron là một nơ-ron nhân tạo. Đây là mạng thần kinh đơn giản nhất có thể. Mạng thần kinh này là các khối xây dựng của học máy. Perceptron là một trong những kiến trúc mạng nơ ron nhân tạo đơn giản nhất.
Nó được Frank Rosenblatt giới thiệu vào những năm 1957. Đây là loại mạng thần kinh chuyển tiếp đơn giản nhất, bao gồm một lớp nút đầu vào được kết nối đầy đủ với một lớp nút đầu ra.2: Mô hình của neuron nhân tạo Về bản chất, neuron nhân tạo thực hiện tính toán tổng trọng số của tất cả các đầu vào của nó và độ lệch – bias b được thêm vào như là phần bù cho tổng, được thể hiện theo phương trình 1 dưới đây: N X −1 g(x) = x(i) × w(i) + bias(b) (1) 0 Cuối cùng, đầu ra của neuron thu được khi áp dụng hàm phi tuyến Activation Function (hàm kích hoạt) vào 1 như sau: y = φ(g(x)) (2) B. Neural Network Neural Network nhân tạo thường được biểu diễn dưới dạng đồ thị có hướng trong đó các nút đại diện cho các neuron. Nếu đồ thị là đồ thị không chu trình, mạng là Feedforward Neural Network.
Nếu đồ thị là đồ thị có chu trình, mạng là hồi quy Recurrent Neural Đặng Thành Lập (2270247) - Luận văn thạc sĩ Page 8/80 Chương 2. Trí tuệ nhân tạo – Artificial Intelligence Network và có thuộc tính hành vi động theo thời gian. Neural Network được mô tả trong hình 2.3: Mô hình Feedforward Neural Network và Recurrent Neural Network Các nút được tổ chức theo lớp: trong Feedforward Neural Network, mỗi neuron của lớp N nhận đầu vào của nó từ lớp N 1 và gửi đầu ra của nó tới các neuron của lớp N + 1. Các đầu vào của Neural Network hình thành lớp đầu vào –input layer và thông thường, có ít nhất một lớp xử lý các giá trị đầu vào này, được gọi là lớp đầu ra -output layer.
Tất cả các lớp được chèn giữa các input layer và output layer được định nghĩa là các lớp ẩn –hidden layer. Số lượng các hidden layer xác định độ sâu của Neural Network. Nếu có nhiều hơn ba hidden layer, Neural Network thường được gọi là Deep Neural Network. Neural Network học cách giải quyết các vấn đề khác nhau bằng cách tìm các giá trị tối ưu cho trọng số –weight và độ lệch –bias của các neuron của nó, các neuron này có thể được tổ chức và kết nối theo những cách khác nhau.
Thành phần của Neural Network: Fully-Connected Layer Lớp được kết nối đầy đủ đề cập đến một mạng lưới thần kinh trong đó mỗi nơ-ron áp dụng một phép biến đổi tuyến tính cho vectơ đầu vào thông qua ma trận trọng số. Kết quả là, tất cả các kết nối có thể có giữa các lớp đều có mặt, nghĩa là mọi đầu vào của vectơ đầu vào đều ảnh hưởng đến mọi đầu ra của vectơ đầu ra. Các thông số liên quan trong Fully-Connected Layer: – Input (I) có kích thước là IW (1D) – Weight (W) có kích thước là WW × WH (2D) – Output (O) có kích thước là OW (1D) – Bias (b) có kích thước là bW (1D) Đặng Thành Lập (2270247) - Luận văn thạc sĩ Page 9/80 Chương 2. Trí tuệ nhân tạo – Artificial Intelligence Figure 2.4: Mô hình tính toán của Fully-Connected Layer Convolution Layer Fully-Connected Layer thường không phù hợp với các tác vụ như phát hiện và nhận dạng đối tượng vì mức độ kết nối cao của chúng dẫn đến việc bùng nổ về số lượng tham số cần thiết để xử lý hình ảnh có độ phân giải cao.
Hơn nữa, Fully-Connected Layer xem việc xử lý các đầu vào gần nhau hoặc xa nhau là tương tự nhau, bỏ qua cấu trúc không gian có trong hình ảnh. Để khắc phục hai vấn đề này, vào năm 1998, một kiến trúc mới đã được đề xuất, được gọi là Convolutional Neural Network (CNN), bao gồm các Convolution Layer và khai thác các ý tưởng về tiếp nhận cục bộ (local receptive) và chia sẻ trọng số.5: Mô hình tính toán của Convolution Layer Các neuron được tổ chức theo dạng 2D, tức là bản đồ đặc trưng – feature map, và mộtneuron của lớp này không nhận tất cả các kích hoạt của lớp trước đó, mà thay vào đó, nó được kết nối với một vùng tiếp nhận nhỏ có kích thước KW × KH. Kích thước của Đặng Thành Lập (2270247) - Luận văn thạc sĩ Page 10/80 Chương 2. Trí tuệ nhân tạo – Artificial Intelligence vùng tiếp nhận và của ma trận trọng số (weight matrix), thông thường được gọi là kích thước kernel và khoảng cách giữa các trường tiếp nhận liền kề được xác định bởi tham số bước (stride).
Áp dụng ý tưởng chia sẻ trọng số, tất cả neuron của lớp này có cùng một weight matrix, phát hiện cùng một feature ở các vị trí khác nhau của lớp trước đó. Để phát hiện nhiều feature, Convolution Layer có nhiều kênh, tức là có nhiều feature map. Pooling Layer Pooling Layer thường được đặt sau Convolution Layer. Pooling Layer có các trường tiếp nhận tương tự như Convolution Layer.
Đối với nhóm các neuron trong mỗi trường tiếp nhận, chúng trả về một giá trị duy nhất chứa thông tin liên quan tới thống kê của nhóm như giá trị tối đa hoặc giá trị trung bình. Thông số stride thường được đặt bằng với kích thước của vùng tiếp nhận để các vùng này không chồng lên nhau. Pooling Layer làm giảm số lượng activation của một lớp và do đó làm giảm bộ nhớ yêu cầu và số lượng tính toán cần được thực hiện sau đó. Hơn nữa, Pooling Layer đạt được sự bất biến đối với việc dịch cục bộ tương đối nhỏ.