Chương 1. Cơ sở lý thuyết Trong Chương này, chúng tôi đi tìm hiểu về cơ sở lý thuyết của các mạng nơ ron, các xu hướng phát triển của mạng nơ ron. Nghiên cứu một số mạng nơ ron cơ bản. Các thuật toán sử dụng trong mạng nơ ron Trong chương này, chúng tôi đi tìm hiểu một số vấn đề bên trong của mạng nơ ron nhân tạo gồm các thuật toán được sử dụng trong quá trình huấn luyện.
Mạng nơ ron tích chập (CNN) Trong chương này, chúng tôi đi tìm hiểu về mạng CNN, Các thành phần cơ bản trong mạng CNN được tổng hợp và phân tích từ các nghiên cứu khác bao gồm: Lớp tích chập, lớp kích hoạt, lớp gộp, và lớp kết nối đầy đủ. Thuật toán FGSM được thảo luận với mục đích tạo ra các mẫu đối nghịch nhằm làm sai kết quả dự đoán của mô hình nhận dạng. Thực nghiệm và luận giải Trong chương này, chúng tôi đã bằng thực nghiệm triển khai các kịch bản khác nhau nhằm đo lường sự ảnh hưởng của các mẫu đối nghịch tới độ chính xác của một số mô hình nhận dạng từ đơn giản tới phức tạp. Bắt đầu với mô hình LeNet, YOLOv4, và MobileNetv2 trên một số ứng dụng cụ thể.
Khái niệm về mạng nơ ron Mạng nơ ron nhân tạo được biết như là các mô hình toán học nhằm mô tả gần nhất có thể phương thức hoạt động của bộ não sinh học của con người thông qua hàng loạt các phép biến đổi toán học bên trong mô hình mạng. Mục đích xuyên suốt của mạng nơ ron là đánh giá, đo lường các mối quan hệ toán học giữa dữ liệu đầu vào và kì vọng đầu ra của mỗi mô hình cụ thể. Khác với các cách tiếp cận truyền thống trước đây, người thiết kế phải phân tích dữ liệu và đưa ra các quy tắc nhất định (Fixed rules) và các đặc trưng trích chọn được từ dữ liệu (Hand-crafted features) để điều khiển và giám sát dữ liệu. Hay tới khi phát triển các mô hình học máy (Machine learning), việc kết hợp giữa cơ chế fixed rules và tự động học (gọi chung là semi-auto hand-crafted features) để xây dựng các mối liên hệ giữa dữ liệu vào và kết quả đầu ra.
Mạng nơ ron tự động trích chọn các đặc trưng bên trong dữ liệu một cách hoàn toàn tự động để tìm ra các mối liên hệ giữa dữ liệu vào và kết quả đầu ra. Một mô hình mạng nơ ron cơ bản và đơn giản được biểu diễn ở Hình 1. Mô hình mạng nơ ron cơ bản [1]. Với các giá trị đầu vào là x0, x1, x2 … được sắp sếp tổ chức thành các véc tơ, mỗi giá trị xi là các giá trị vô hướng.
Đặc biệt, x0 có giá trị cài đặt bằng 1. Véc tơ đầu vào được tổ chức thành véc tơ cột được gọi là tầng đầu vào và được 4 minh hoạ bằng các hình tròn màu xanh lục (gọi là các node) như trên hình vẽ. Các giá trị w0, w1, w2 …là các trọng số tương ứng với mỗi giá trị đầu vào. Tại node z, thực hiện phép biến đổi tuyến tính như ở công thức (1).
z = ∑𝑛𝑖=0 𝑥𝑖 𝑤𝑖 (1) Giá trị đầu ra được kí hiệu là y, theo hình vẽ ta thấy được giá trị đầu ra được tính bằng công thức y = sgn(z) cũng là một giá trị vô hướng. Hàm số sgn() được gọi là hàm kích hoạt (activation function). Hàm kích hoạt được thiết kế với mục tiêu giảm thiểu tính tuyến tính của các đầu ra của các phép biến đổi tuyến tính tại các node. Điều này giúp cho mô hình mang tính tổng quát hoá cao hơn, thích hợp với nhiều dạng dữ liệu với quy mô khác nhau từ nhỏ - vừa – lớn.
Bản chất của hàm kích hoạt là các phương trình phi tuyến. Một số dạng của hàm kích hoạt được biểu diễn dưới đây. - Hàm sigmoid được biểu diễn thông qua phương trình (2). Các xu hướng phát triển của mạng nơ ron Từ khi ra đời mạng nơ ron nhân tạo (ANN) đã thể hiện hiệu quả xử lý về độ chính xác đồng thời về thời gian xử lý trên các tập dữ liệu lớn phục vụ cho các bài toán thực tế từ: Y tế, giáo dục, kinh tế…Bên cạnh đó, cùng với sự phát triển của dữ liệu như hiện nay, thì việc khai thác hiệu quả các dữ liệu đó là một bài toán lớn và không chỉ các nhà khoa học nghiên cứu về ANN mà còn là các doanh nghiệp tiên phong trong việc đầu tư và phát triển.
Một trong những nhánh phát triển của ANN là mạng nơ ron tích chập (Convolutional neural networks – CNN). Được phát triển gần đây từ năm 2012 cùng với sức mạnh xử lý của phần cứng, cho phép CNN thực hiện các bài toán 5 khó với mô hình với quy mô lớn từ hàng triệu tới hàng trăm triệu tham số. Độ chính xác của mô hình dự đoán tăng lên đáng kể bỏ xa các cách tiếp cận truyền thống. Trong nghiên cứu này, chúng tôi chủ yếu tập trung vào các mô hình mạng CNN.2 cho thấy các mô hình tốt nhất hiện nay thực hiện bài toán nhận dạng đối tượng (Object detection) trên bộ dữ liệu COCO1 (bao gồm hơn 300.5 triệu đối tượng và 80 nhãn đối tượng) và Hình 1.3 thể hiện kết quả của các mô hình tốt nhất hiện nay thực hiện bài toán phân loại đối tượng (Object classification) trên tập dữ liệu lớn ImageNet2 (Bộ dữ liệu bao gồm gần 14 triệu hình ảnh, chứa 1.000 lớp đối tượng khác nhau).
Các mô hình thực hiện bài toán nhận dạng đối tượng trên bộ dữ liệu COCO [34].org/#home 2 https://image-net. Một số mạng nơ ron cơ bản Mô hình AlexNet [6] được lần đầu tiên công bố năm 2012 với những kết quả ưu việt trên tập ảnh ImageNet. Mô hình được biểu diễn khái quát như Hình 1. Bao gồm 9 lớp là: lớp đầu vào chuẩn hoá về kích thước 224x224x3; lớp tích chập thứ nhất có kích thước 11x11x3; lớp tích chập thứ hai có kích thước 5x5x48, lớp tích chập thứ 3 có kích thước là 3x3x256; lớp tích chập thứ tư có kích thước là 3x3x192, lớp tích chập thứ năm có kích thước 3x3x192; các lớp còn lại bao gồm ba lớp kết nối đầy đủ (Fully-connected layers) với số lượng các node tương ứng là 4096:4096:100.
Mô hình AlexNet bao gồm 60 triệu tham số. Mô hình cấu trúc của mạng AlexNet [6]. 7 Mô hình VGG16 [7] được công bố sau mạng AlexNet nên đã thừa hưởng một số đặc điểm khi cấu hình mạng so với AlexNet. Mô hình VG16 được biểu diễn như hình 1.
Mô hình mạng VGG16 [7]. Mô hình mạng VGG16 bao gồm 13 lớp tích chập so với mạng AlexNet chỉ có 5 lớp, ngoài ra như biểu diễn trên Hình 1.5 ta có thể thấy VGG16 sử dụng các lớp tích chập có kích thước tương đối nhỏ là 3x3 và đồng nhất điều này giúp VGG16 có thể trích chọn được các đặc trưng có kích thước nhỏ để mang lại hiệu quả tính toán tốt. Tuy nhiên kích thước mô hình là tương đối lớn lên tới 138 triệu tham số. Mô hình ResNet [8] được lần đầu công bố năm 2015, điểm khác biệt rõ rệt nhất của ResNet so với các mô hình khác là việc sử dụng khối dư và các kết nối tắt (skip connection), trong đó lớp nối tắt sẽ bảo tồn các thông tin quan trọng bằng cách nối các lớp trước và sau trong khi bỏ qua các lớp trung gian.
Ngoài ra còn có khối xác định (Identity block), khối này được đưa trực tiếp vào 8 nhánh còn lại nhằm mục đích cộng với nhánh truyền thằng mà không áp dụng bất kỳ phép tích chập nào, minh hoạ ở hình 1. Mô hình Inception [9] lựa chọn đa dạng kích thước các khối tích chập từ 1x1, 3x3, 5x5, tới 11x11 sau đó tạo thành một khối được gọi là kiến trúc Inception, được biểu diễn như Hình 1. Toán tử cộng vào đầu của khối với nhánh còn lại trong khối xác định. Mô hình cấu trúc của 1 khối trong Inception [9].
CÁC THUẬT TOÁN SỬ DỤNG TRONG MẠNG NƠ RON 2. Giới thiệu chung Để hiểu rõ về bản chất của mạng nơ ron nói chung, ngoài việc tìm hiểu về cấu trúc mạng chúng ta cần phải nắm được các kiến thức về các thuật toán sử dụng trong các quá trình huấn luyện và triển khai mạng nơ ron. Trong phần này, chúng ta sẽ đi thảo luận về thuật toán Gradient Descent và các thuật toán Hồi quy sử dụng để huấn luyện mạng nơ ron. Thuật toán Gradient descent Thuật toán Gradient descent (GD) được biết là thuật toán tìm điểm cực trị (tối ưu) chung cho các hàm số, mục đích của thuật toán là thông qua việc điều chỉnh tham số của hàm số đưa hàm số về giá trị tối ưu nhằm mục đích làm giảm chi phí.
Quá trình này được biết là quá trình huấn luyện dữ liệu. GD được áp dụng cho các bài toán tối ưu lồi (Convex optimization) trong đó mỗi thuật ngữ trong từ mô tả: - Gradient là giá trị độ nghiêng của đường dốc. Một cách toán học, Gradient là đạo hàm bậc nhất của hàm số tương ứng với một giá trị biến cụ thể; - Descent mang ý nghĩa là giảm dần. Có nhiều dạng khác nhau khi tính GD trong các bài toán huấn luyện mô từ các bài toán của học máy (Machine learning) tới các mô hình phức tạp học sâu (Deep neural networks) tuy nhiên về cơ bản chúng ta có thể tổng hợp các bước chính cho việc tính GD như sau: - Bước 1: Khởi tạo biến nội tại; - Bước 2: Đánh giá mô hình dựa trên các biến nội tại đó và hàm mất mát trong quá trình huấn luyện (Loss function); - Bước 3: Cập nhật lại các biến trên theo quy tắc tối thiểu hoá hàm mất mát.
Nghĩa là đi tìm giá trị cực tiểu của đạo hàm bậc nhất của các hàm mất mát; - Bước 4: Lặp lại bước 2 và bước 3 cho tới khi thoả mãn điều kiện dừng, hay nói cách khác khi đó hàm mất mát nằm trong một khoảng kì vọng nào đó; 10 Để biểu diễn toán học cho quá trình cập nhật GD chúng ta có thể minh hoạ như phương trình (2.1) Trong đó giá trị 𝜃 là tập hợp các biến cần cập nhật, với 𝜂 là tốc độ học của mô hình (giá trị này tuỳ biến bởi người thiết kế), trong khi đó ∇𝜃 là giá trị gradient của hàm mất mát trên tập tham số 𝜃. Tốc độ học learning rate Trong quá trình tìm kiếm điểm cực trị của thuật toán GD, thì một tham số quan trọng là giá trị của độ lớn của của mỗi lần thay đổi giá trị điểm dữ liệu. Tham số này được gọi là tốc độ học (learning rate). Đặc tính của giá trị này được biểu diễn ở Hình 2.