Chương 1 - Tống quan: Giới thiệu về dé tài, phạm vi, đối tượng và mục tiêu nghiên cứu, đồng thời đưa ra những đóng góp của khóa luận. Chương 2 - Cơ sở lý thuyết: Giới thiệu những phương pháp, mô hình mà nhóm tác giả đã áp dụng dé thực hiện khóa luận. Chương 3 - Thực nghiệm: Liệt kê chỉ tiết từng bước thực hiện đề tài nghiên cứu. Chương 4 - Thống kê và đánh giá: Thống kê và đánh giá kết quả đạt được.
So sánh các phương pháp được áp dụng vào đề tài nghiên cứu, từ đó đề xuất phương pháp tốt nhất trong các phương pháp đã nghiên cứu. Chương5 - Tổng kết: Trình bày kết quả đạt được. Những đóng góp mới và những đề xuất mới. Kiến nghị về những hướng nghiên cứu tiếp theo.
Convolutional Neural Network Mạng nơ-ron tích chập (convolution neural network, gọi tắt là CNN) lấy cảm hứng từ não người được nghiên cứu trong những thập niên 50-60 của thế kỷ 20, do D.N Wiesel tiễn hành trên não của động vật và sau đó đã đề xuất một mô hình mới cho cách mà động vật nhìn nhận thế giới. Vào năm 1998, mô hình CNN đầu tiên được giới thiệu bởi Bengio, Le-Cun, Bottou và Haffner. Mô hình này có tên là LeNet-5 và sử dụng dé nhận diện chữ số viết tay. OS K` O)% H- ò an ‘ layer ) input layer hidden layer 1 hidden layer 2 Hình 2.1: Mạng no-ron thông thường CNN có kiên trúc khác với Neural network thông thường.
Đôi với mạng nơ-ron bình thường, chúng sẽ chuyên đôi dau vào thông qua các tầng ân. Với mỗi tang an đó, các nơ-ron giữa các tâng cận kê được liên kêt đây đủ với nhau và tâng cuôi cùng sẽ trả về kết quả đại diện cho dự đoán của mạng (Hình 2. Tuy nhiên, nếu 3 http://cs23 In.io/convolutional-networks/ mạng càng nhiêu lớp thì số lượng tham số tăng lên quá nhanh. Vậy nên cần có giải pháp tốt hơn, đó là CNN (Hình 2.
depth PEER height «) > #d>(C———j OOOOOM width Hinh 2.2: Mang no-ron tich chap.* Một mô hình CNN gồm 2 phan: e Phần tang ân (phan rút trích đặc trưng): Mạng sẽ tiến hành tính toán các phép convolution (tích chập) va pooling (hợp nhất) dé phát hiện ra các đặc trưng trong hình ảnh. e Phần phân lớp: Là một vài tang với kết nối đầy đủ có vai trò như một bộ phân lớp các đặc trưng đã được rút trích từ phần trước đó. Sau đó đưa ra xác suất đối tượng trong hình anh thuộc lớp nao. VGG19 VGG19 là một mang CNN sử dụng kernel 3x3 trên toàn bộ các lớp tích chập.
Mang có độ sâu 19 weight layers (lớp trọng số), gồm 16 lớp Convolution (Conv) và 3 lớp Fully-connected (FC). VGG ra đời năm 2014, đạt được kết quả tốt trong cuộc thi ILSVRC-2014 với tỉ lệ lỗi top 5 là 7. và được giới thiệu tại hội thảo ICLR 2015. Giá trị theo sau VGG thé hiện độ sâu của mạng cũng như số lượng các lớp * http://cs23 1n.io/convolutional-networks/ trọng số được sử dụng.
Ngoài VGG19, kiến trúc của mạng này có nhiều biến thé khác nhau như 11, 13 và 16 weight layers. Nguyên tắc thiết kế của mạng VGGI9 bao gồm 2 hoặc 4 layers Convolution (Conv) và 1 lớp MaxPooling2D nối nhau. Cuối cùng là các FC layers và 1 Softmax layer dùng dé phân lớp đầu ra cho mạng (Hình 2. maxpool; maxpool | maxpool {| maxpool depth=64 depth=128 3x3 conv 3x3 conv 3x3 conv FC1 3x3 conv 3x3conv tonv3 1 conv4_1 conv5_1 FC2 conv1_1 conv2_1 conv3_2 conv4_2 conv5_2 size=1000 conv1_2 conv2 2 canv3 3 conv4_3 conv5_3 softmax conv3_4 conv4_4 conv5_4 Hình 2.3: Minh hoa kiến trúc VGG19.5 VGG19 có tông tham số lên đến 144 triệu.
Resnet50 ResNet (Residual Network) là một mạng CNN được thiết kế dé làm việc với hàng trăm hoặc hàng nghìn lớp tích chập nhưng lại có kích thước chỉ khoảng 23 triệu Š hftps://nthu-datalab.io/ml/labs/12-2_Visualization_Style-Transfer/12-2_Visualization_ Style- Transfer.html tham số. Mạng được giới thiệu với công chúng vào năm 2015 và giành vị trí thứ 1 trong cuộc thi ILSVRC-2015 với tỉ lệ lỗi top 5 là 3. Voi CNN, các mạng càng sâu sẽ đạt hiệu suất tốt hơn. Tuy nhiên, trên thực tế, nếu độ sâu của mạng quá lớn (>50 layers) sẽ dẫn đến tình trạng Vanishing gradient (mat mát dao hàm) hoặc Exploding gradient (bùng nỗ dao hàm) và khiến độ chính xác của mang bị giảm di.
Và ResNet-50 ra đời để giải quyết van đề này. Đầu tiên, ResNet áp dụng batch normalization giúp chuẩn hóa đầu ra, khiến các hệ sô trở nên cân băng và mô hình sẽ dé hội tụ hơn Giải pháp thứ 2 mà ResNet đưa ra là sử dụng kết nối "tắt" đồng nhất để xuyên qua một hay nhiều lớp. Một khối như vậy được gọi là một Residual Block. weight layer x identity Hình 2.4: Cấu trúc khối Residual Block Với H(x) là giá trị dự đoán, F(x) là giá trị thật (nhãn).
Ý tưởng của residual block là feedforward đầu vào x qua một số layer Conv-max-Conv, ta thu được F(x) sau đó cộng thêm x vào H(x) = F(x) + x. 10 Ở những lớp cuối, mạng sử dụng Average pooling, sau đó dùng | Flatten layer dé chuyên kết quả về dạng vector, cuối cùng là lớp FC sử dụng hàm softmax để đưa ra kết quả dự đoán. Ridge regression Ridge Regression là một phương pháp được áp dụng khi bộ dữ liệu gặp van đề về đa cộng tuyến (các bién độc lập x có mối liên hệ với nhau, và ảnh hưởng đến kết qua dự đoán y), hoặc các van đề về overfitting mà mô hình hồi quy tuyến tính thông thường gặp phải. Hàm mục tiêu của Ridge regression được thê hiện như sau: n m Lriage(W) = (yị—xA)”+A W8 ~ 2 ^ i-1 71 Trong do: e W là bộ tham số ey; là nhãn dau ra tại i Š https://viblo.asia/p/gioi-thieu-mang-resnet-vyDZOa7R5wj 11 e2 là hệ số phạt e x; là các thuộc tính của dữ liệu Ý tưởng của phương pháp này là cộng thêm tông bình phương bộ trọng số vào hàm mat mát nhằm tối ưu phương trình dự đoán y; = x;W và tìm ra bộ trọng số W tối giản nhất.
Từ đó, áp dụng Ridge regression vào mô hình sẽ giảm được overfitting. Quantile regression Quantile regression (hồi quy phân vi) là dạng thuật toán được mở rộng từ thuật toán hồi quy tuyến tính chuẩn (linear regression). Phương pháp này tìm hiểu mối quan hệ tuyến tính giữa biến độc lập x và biến phụ thuộc y trong trường hợp bộ dit liệu có các giá tri outliers (ngoại lệ), chênh lệch cao của phân phối dữ liệu, mức độ không đồng nhất của dữ liệu. Quantile regression xem xét phân phối tổng thé của dữ liệu, không chỉ sử dụng mỗi giá trị trung bình để tính toán như linear regression.
Thay vì 1 đường trung vị (phân vị 0.5), mô hình này sẽ ước lượng tham số hồi quy trên từng phân vị của biến phụ thuộc sao cho tong chênh lệch tuyệt đối của hàm hồi quy tại phân vị đó của biến phụ thuộc là nhỏ nhất. 12 Customer Lifetime Value Inc o a 107) N= 600 0.9 Quantile oO oO mm 5 #' œ = a 8- 0.5 Quantile œ E 2 4 = le) 2¬ : wD 0.1 Quantile a © lạ Ml Hình 2.6: Đồ thị minh họa 3 đường phân vị (0. Linear regression sử dung Stochastic Gradient Descent Với gradient descent thông thường, ta sử dung tat cả các điểm dữ liệu dé cập nhật theta. Cách làm này sẽ gặp hạn chế với các tập dữ liệu lớn.
Việc phải tính toán lại đạo hàm với tất cả các điểm dữ liệu qua mỗi vòng lặp trở lên không hiệu quả. Dé giải quyết van đề trên, ta sử dung SGD. Trong thuật toán này, tại một thời điểm, ta chi tính đạo hàm của ham mat mát dựa trên một điểm dit liệu sau đó cập nhật theta dựa trên đạo hàm này. Việc này sẽ thực hiện lần lượt với từng điểm dữ liệu, sau đó lặp lại quá trình trên.com/vi/tin-tuc/tong-quan-ve-regression-phan-tich-hoi-quy.html 13 SGD chỉ yêu cầu một lượng epoch rất nhỏ, thường là 10 cho lần đầu tiên và sau đó khi có dit liệu mới thì chỉ cần chạy dưới một epoch là đã có nghiệm tốt.
Sau mỗi epoch, dữ liệu cân được xáo trộn đê đảm bảo tính ngau nhiên. Với bài toán linear regression, theta = w, ham mat mát tại một điêm di liệu i là: 1 J(W; x¡; yd = 2 (x¡w — yi)? Đạo hàm theo w tương ứng là: VựJ(W; X¡; Vị) = x} (xjw — yi) 2. Support vector regression Support vector regression (SVR) là một mô hình hồi quy được dé xuất vào năm 1996 bởi Vladimir N. Vapnik, Harris Drucker, Christopher JC Burges, Linda Kaufman va Alexander J.
Mô hình sử dụng thuật toán phân loại SVM (Support vector machine) đê dự đoán giá tri của một biên liên tục. Các phương pháp hồi quy đơn giản cỗ gắng giảm thiêu độ lỗi giữa giá trị dự đoán với giá trị đúng (nhãn), tuy nhiên với SVR, mô hình có gang điều chỉnh lỗi trong một ngưỡng nhất định.7: Support vector giúp xác định đường dự đoán và biên của dữ liệu.7, 2 đường nét đứt được xem là 2 ranh giới. Đường hồi quy f(x) ở giữa là một siêu phăng. Khoảng cách giữa đường hồi quy f(x) đến 2 ranh giới là bang nhau, được gọi là epsilon.
Mục tiêu cua mô hình là với các điểm dữ liệu và khoảng cách epsilon cho trước, tìm một đường hồi quy f(x) sao cho số lượng điểm gần với nó nhất và có khoảng cách không quá epsilon. EfficientNet (B5) Đối với một mạng CNN bat kỳ, ta có 3 giá trị phô biến dé thay đôi như độ sâu của mạng, kích thước đầu vào, độ phân giải ảnh và ta cần thay đổi những giá trị này dé độ hiệu quả của mô hình trở nên tốt hơn. Tuy nhiên chúng ta không biết chính xác được nên thay đổi những giá tri này sao cho hợp lý dé giúp cải thiện hiệu quả của mô hình. EfficientNet, một mạng tự động Model Scaling (thu phóng mô hình) theo dir liệu của bài toán.
8 https://machine-learning-and-data-science-with-python.io/en/latest/assignment4_sup_ml.html 15 Trong thực tế, các lớp Conv thường được phân chia thành nhiều stage và tất cả các lớp trong mỗi stage đều có chung một kiến trúc. Do đó chúng ta có thể định nghĩa một mạng ConvNet như sau: — Li N =Ojau.s %' X (H,Wj,C) Trong đó, Ft biéu thi lớp F; được lặp lại L; lần trong stage i, (H;,W;,C;) biểu thị kích thước cua tensor đâu vào X cua lớp i. Việc thu phóng mô hình cố gắng thu phóng chiều dài mạng (L;), chiều rộng (C;) và độ phân giải (H;,W;) mà không thay đổi F; được xác định trước trong mạng cơ sở. Bằng cách giữ nguyên hàm F;, việc thu phòng mô hình đơn giản hóa vấn đề về thiết kế đối với tài nguyên hạn chế.
Nhằm thu hẹp không gian tìm kiếm với sự thay đổi của cả 3 chiều của mỗi lớp với mức độ khác nhau, nhóm tác giả đã hạn chế rằng các lớp phải được thu phóng đồng nhất với tỷ lệ không đổi.