Mục tiêu của đề tài: Đề tài này nhằm xây dựng một hệ thống nhận diện biển báo giao thông tự động bằng mô hình RetinaNet, với các mục tiêu chính như sau: • Nghiên cứu và áp dụng mô hình
Mục tiêu của đề tài
Đề tài này nhằm xây dựng một hệ thống nhận diện biển báo giao thông tự động bằng mô hình RetinaNet, với các mục tiêu chính như sau:
Mô hình RetinaNet là một giải pháp hiệu quả trong việc phát hiện đối tượng, đặc biệt là biển báo giao thông Bài viết này sẽ khám phá nguyên lý hoạt động của RetinaNet và những ưu điểm nổi bật của nó, từ đó áp dụng mô hình vào bài toán nhận diện biển báo Việc nghiên cứu và áp dụng RetinaNet không chỉ giúp cải thiện độ chính xác trong nhận diện mà còn tăng cường khả năng phát hiện các biển báo quan trọng trên đường.
Huấn luyện mô hình nhận diện biển báo giao thông bằng cách sử dụng bộ dữ liệu zalo_traffic_2020, giúp cải thiện độ chính xác trong việc nhận diện các loại biển báo trong điều kiện thực tế.
• Tối ưu hóa và đánh giá mô hình: Cải thiện hiệu suất mô hình thông qua
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh việc tối ưu các tham số và đánh giá kết quả dựa trên các chỉ số hiệu suất
Phát triển hệ thống nhận diện biển báo giao thông thông qua một ứng dụng thực tế giúp nhận diện biển báo trong môi trường giao thông thực tế Ứng dụng này không chỉ nâng cao an toàn cho người lái xe mà còn đóng góp vào sự phát triển của giao thông thông minh.
Phương pháp nghiên cứu
Để xây dựng hệ thống nhận diện biển báo giao thông bằng mô hình RetinaNet, phương pháp nghiên cứu sẽ được triển khai qua các bước cơ bản sau:
Nghiên cứu lý thuyết và lựa chọn mô hình là bước quan trọng trong việc phát hiện đối tượng, đặc biệt với các mô hình học sâu như RetinaNet, YOLO và Faster R-CNN Qua việc đánh giá ưu, nhược điểm của từng mô hình, RetinaNet được chọn là mô hình tối ưu cho bài toán nhận diện biển báo giao thông Đồng thời, việc nghiên cứu và phân tích các yếu tố ảnh hưởng đến hiệu quả của RetinaNet, bao gồm cấu trúc mạng, hàm mất mát (Focal Loss) và các tham số huấn luyện, cũng rất cần thiết để nâng cao hiệu suất của mô hình.
Để thu thập và chuẩn bị dữ liệu, chúng ta sử dụng bộ dữ liệu zalo_traffic_2020, bao gồm các ảnh biển báo giao thông đã được phân loại và chú thích sẵn Tiến hành tiền xử lý dữ liệu bằng cách chuẩn hóa kích thước ảnh, chia bộ dữ liệu thành các tập huấn luyện, kiểm tra và validation, đồng thời chuyển đổi định dạng chú thích sang định dạng tương thích với mô hình RetinaNet.
Huấn luyện mô hình RetinaNet yêu cầu áp dụng các kỹ thuật học sâu trên bộ dữ liệu đã được chuẩn bị kỹ lưỡng Trong quá trình này, các phương pháp học hiện đại sẽ được sử dụng để tối ưu hóa hiệu suất của mô hình, đảm bảo khả năng nhận diện chính xác trong các tác vụ phân loại và phát hiện đối tượng.
GVHD: TS Lê Xuân Vinh, HV: Nguyễn Quốc Anh, đã sử dụng TensorFlow/Keras để xây dựng và huấn luyện mô hình Bài viết đề cập đến việc áp dụng các kỹ thuật tối ưu hóa như điều chỉnh learning rate, thay đổi kích thước batch size và số lượng epoch nhằm nâng cao hiệu quả huấn luyện mô hình.
Đánh giá mô hình là bước quan trọng nhằm xác định hiệu suất và khả năng hoạt động của hệ thống Qua đó, thực hiện các cải tiến cần thiết sẽ giúp nâng cao độ chính xác và hiệu quả, đảm bảo mô hình hoạt động tối ưu trong các tình huống thực tế.
Triển khai và kiểm tra hệ thống nhận diện biển báo giao thông là bước quan trọng trong việc phát triển công nghệ này Việc kiểm tra tính khả thi và hiệu quả của mô hình trong các tình huống thực tế sẽ giúp đảm bảo độ chính xác và ổn định của hệ thống.
Phạm vi của đề tài
Đề án này tập trung vào việc xây dựng hệ thống nhận diện biển báo giao thông sử dụng mô hình RetinaNet Phạm vi nghiên cứu bao gồm:
Sử dụng bộ dữ liệu zalo_traffic_2020, bài viết này tập trung vào việc huấn luyện và kiểm tra mô hình nhận diện các biển báo giao thông phổ biến trong môi trường giao thông tại Việt Nam.
Mô hình RetinaNet được sử dụng độc quyền trong việc phát hiện đối tượng, mà không áp dụng các mô hình khác như YOLO hay Faster R-CNN.
Hệ thống nhận diện biển báo giao thông được phát triển nhằm hoạt động hiệu quả trong các điều kiện môi trường giao thông cơ bản, tập trung chủ yếu vào khu vực đô thị và đường quốc lộ.
Mô hình được đánh giá dựa trên các chỉ số độ chính xác và recall, trong khi các yếu tố khác như tốc độ xử lý thời gian thực không được xem xét trong phạm vi của đề tài.
Khả năng ứng dụng
Hệ thống nhận diện biển báo giao thông bằng mô hình RetinaNet có thể được
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh ứng dụng trong các lĩnh vực sau:
• Giao thông thông minh: Hỗ trợ trong xe tự lái và hệ thống hỗ trợ lái xe để nhận diện biển báo giao thông, nâng cao an toàn
• Giám sát giao thông: Tự động nhận diện biển báo trong các hệ thống camera giám sát, phục vụ quản lý giao thông
• Đào tạo lái xe: Sử dụng trong các ứng dụng đào tạo lái xe để nhận diện biển báo trong tình huống mô phỏng
• Ứng dụng di động: Phát triển thành ứng dụng giúp người lái xe nhận diện biển báo giao thông trong thực tế
• Nghiên cứu giao thông: Hỗ trợ phân tích và cải thiện hệ thống biển báo giao thông, nâng cao an toàn
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
KIẾN THỨC CƠ SỞ CỦA HỌC MÁY VÀ HỌC SÂU
Giới thiệu về học máy (Machine Learning)
Học máy, một nhánh quan trọng của trí tuệ nhân tạo, cho phép các hệ thống máy tính tự học và cải thiện hiệu suất từ dữ liệu mà không cần lập trình cụ thể cho từng nhiệm vụ Thay vì tuân theo các hướng dẫn cố định, các thuật toán học máy phân tích và nhận diện các mẫu trong dữ liệu, từ đó xây dựng mô hình dự đoán và ra quyết định dựa trên dữ liệu đầu vào mới.
1.1.2 Ứng dụng của học máy:
Học máy đã và đang được áp dụng trong nhiều lĩnh vực khác nhau, từ đời sống hàng ngày đến các ngành công nghiệp tiên tiến:
Nhận diện hình ảnh và khuôn mặt là công nghệ quan trọng được ứng dụng trong bảo mật và giám sát, đồng thời cũng được sử dụng trong các mạng xã hội như Facebook để tự động gắn thẻ hình ảnh.
• Xử lý ngôn ngữ tự nhiên (NLP): Tạo ra các chatbot, công cụ dịch tự động,
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh và các hệ thống gợi ý văn bản
• Phân tích dự báo: Dự đoán xu hướng thị trường chứng khoán, dự báo doanh thu, hay dự đoán các rủi ro về tín dụng trong tài chính
• Hệ thống gợi ý: Các hệ thống gợi ý sản phẩm trên các nền tảng thương mại điện tử như Amazon, gợi ý phim trên Netflix
• Y tế: Hỗ trợ chẩn đoán bệnh từ hình ảnh y học, phát hiện bệnh tật từ dữ liệu xét nghiệm
• Xe tự lái: Giúp xe tự động nhận diện biển báo giao thông, người đi bộ, và các đối tượng khác trên đường
1.1.3 Phân loại các phương pháp học máy:
Học máy thường được chia thành ba loại chính: học có giám sát, học không giám sát và học tăng cường
1.1.3.1 Học có giám sát (Supervised Learning):
Học có giám sát là quá trình huấn luyện mô hình trên tập dữ liệu đã có nhãn (input-output), với mục tiêu dự đoán output cho dữ liệu mới Hai bài toán phổ biến trong lĩnh vực này bao gồm hồi quy và phân loại.
Hồi quy trong học máy có giám sát nhằm dự đoán giá trị liên tục cho biến mục tiêu dựa trên các đặc trưng đầu vào Phương pháp này thường được áp dụng trong các lĩnh vực như dự đoán giá nhà, dự báo doanh thu và phân tích xu hướng.
∗ Hồi quy tuyến tính (Linear Regression):
Mô hình: Mô hình hồi quy tuyến tính cố gắng tìm mối quan hệ tuyến tính giữa biến mục tiêu và các đặc trưng đầu vào
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
𝛽 1 , 𝛽 2 , , 𝛽 𝑛 : Các hệ số hồi quy cho các đặc trưng X 1 , X 2 , X n
: Sai số ngẫu nhiên Đồ thị minh họa Linear Regression
∗ Hồi quy logistic (Logistic Regression):
Mô hình hồi quy logistic, mặc dù mang tên "hồi quy", thực chất được áp dụng cho các bài toán phân loại nhị phân Mô hình này giúp ước lượng xác suất mà biến mục tiêu thuộc về một trong hai lớp.
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Trong đó: P Y ( = 1 ∣ X ): Xác suất nhãn Y bằng 1 dựa trên đặc trưng X Đồ thị minh họa Logistic Regression
Phương pháp đánh giá mô hình hồi quy: Để đánh giá hiệu suất của mô hình hồi quy, có một số chỉ số thường được sử dụng:
▪ Đo lường tỷ lệ phương sai của biến mục tiêu có thể được giải thích bởi các đặc trưng
▪ Giá trị R-squared nằm trong khoảng [0, 1]; giá trị gần 1 cho thấy mô hình giải thích tốt dữ liệu
• Sai số trung bình bình phương (Mean Squared Error - MSE): Đo lường bình quân của bình phương sai số giữa giá trị dự đoán và giá trị thực
• Sai số tuyệt đối trung bình (Mean Absolute Error - MAE): Đo lường bình quân của các sai số tuyệt đối giữa giá trị dự đoán và giá trị thực
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Ví dụ: Dự đoán giá nhà dựa trên diện tích và số phòng
• Dữ liệu: Tập dữ liệu chứa thông tin về các ngôi nhà, với các đặc trưng như diện tích (X1) và số phòng (X2), và giá nhà (Y) là biến mục tiêu
• Mô hình: Sử dụng hồi quy tuyến tính để mô hình hóa mối quan hệ
Khi một ngôi nhà mới được đưa vào, mô hình sẽ áp dụng các hệ số hồi quy đã được học để ước lượng giá trị của ngôi nhà dựa trên diện tích và số phòng.
Phân loại là một bài toán trong học máy có giám sát, nhằm mục tiêu phân chia các mẫu dữ liệu đầu vào vào những lớp đã được xác định trước Mỗi mẫu dữ liệu sẽ nhận một nhãn tương ứng với lớp của nó Ứng dụng của phân loại rất đa dạng, bao gồm nhận diện hình ảnh, phân loại văn bản và chẩn đoán y tế.
∗ Các loại bài toán phân loại:
• Phân loại nhị phân (Binary Classification):
Mô tả: Là bài toán phân loại chỉ có hai lớp
Ví dụ: Nhận diện email là spam hoặc không spam
Mô hình: Thường sử dụng các thuật toán như hồi quy logistic, cây quyết định, và mạng nơ-ron
• Phân loại đa lớp (Multi-class Classification):
Mô tả: Là bài toán phân loại có nhiều hơn hai lớp
Ví dụ: Nhận diện các loại hoa như hoa hồng, hoa lan, và hoa cúc
Mô hình: Sử dụng các thuật toán như cây quyết định, hồi quy logistic đa lớp,
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh và mạng nơ-ron sâu
Phân loại Binary và Multiclass Ở đây x1 và x2 là các biến của chúng mà lớp được dự đoán
• Phân loại đa nhãn (Multi-label Classification):
Mô tả: Là bài toán mà mỗi mẫu có thể thuộc về nhiều lớp cùng lúc
Ví dụ: Một bức ảnh có thể chứa nhiều đối tượng như chó, mèo và người
Mô hình: Các phương pháp như nhị phân hóa cho mỗi lớp hoặc sử dụng mạng nơ-ron với nhiều đầu ra
* Các thuật toán phân loại phổ biến:
• Hồi quy logistic (Logistic Regression):
Mô tả: Hồi quy logistic ước lượng xác suất mà mẫu thuộc về lớp dương (positive class)
P Y = ∣ X : Xác suất mẫu thuộc về lớp dương β 0: Hệ số chặn (intercept)
𝛽 1 , 𝛽 2 , , 𝛽 𝑛 :: Các hệ số hồi quy cho các đặc trưng X 1 , X 2 , X n
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
• Cây quyết định (Decision Trees):
Mô tả: Cây quyết định sử dụng cấu trúc cây để đưa ra quyết định dựa trên các đặc trưng của dữ liệu
Cây quyết định không có công thức cố định, mà hoạt động bằng cách phân chia dữ liệu tại các nút dựa trên giá trị của các đặc trưng Tiêu chí phân chia là yếu tố quan trọng trong quá trình này, giúp xác định cách mà dữ liệu được phân loại và tổ chức.
Entropy: Được sử dụng để đo lường độ bất định của một tập hợp p i : Tỷ lệ mẫu thuộc về lớp i
Gini Impurity: Đo lường mức độ hỗn độn trong một tập hợp
Cây quyết định kết quả thí sinh trúng tuyển
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
• Mạng nơ-ron (Neural Networks):
Mô tả: Mạng nơ-ron sử dụng các nơ-ron để mô hình hóa các mối quan hệ phi tuyến tính giữa các đặc trưng
Y: Đầu ra của mạng f: Hàm kích hoạt (activation function), như hàm sigmoid hoặc ReLU W: Ma trận trọng số
X: Vectơ đầu vào b: Hệ số bù (bias)
Mô tả: SVM tìm kiếm siêu phẳng tối ưu để phân tách các lớp trong không gian đặc trưng
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
‖ ‖ Trong đó w: Vector trọng số
B : Hệ số bù y i : Nhãn lớp của mẫu thứ i
Mô tả: Sử dụng nhiều cây quyết định để cải thiện độ chính xác của dự đoán bằng cách trung bình hóa kết quả từ nhiều mô hình
Công thức: Không có công thức cụ thể, nhưng dự đoán cuối cùng được thực hiện bằng cách lấy phiếu từ các cây trong rừng final
= ∑ Đánh giá mô hình phân loại:
Các chỉ số đánh giá mô hình phân loại bao gồm:
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Tỷ lệ số mẫu dự đoán đúng trên tổng số mẫu
TP: True Positives (dự đoán đúng là lớp dương)
TN: True Negatives (dự đoán đúng là lớp âm)
FP: False Positives (dự đoán sai là lớp dương)
FN: False Negatives (dự đoán sai là lớp âm)
Tỷ lệ mẫu dự đoán đúng trong số các mẫu được dự đoán là lớp dương
Tỷ lệ mẫu lớp dương được dự đoán đúng trong tổng số mẫu lớp dương
Trung bình điều hòa của độ chính xác và độ nhạy
Ví dụ: Phân loại email thành spam hoặc không spam
Dữ liệu: Tập dữ liệu chứa các đặc trưng như số từ trong email, số liên kết, và các từ khóa cụ thể
Mô hình: Sử dụng hồi quy logistic để huấn luyện mô hình phân loại
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Khi một email mới được nhận, mô hình sẽ phân tích các đặc trưng của email để dự đoán xem nó có phải là spam hay không.
1.1.3.2 Học không giám sát (Unsupervised Learning):
Học không giám sát là một phương pháp trong học máy, không yêu cầu nhãn cho dữ liệu Mục tiêu chính của nó là khám phá cấu trúc, mẫu, và mối quan hệ ẩn trong dữ liệu mà không có sự hướng dẫn từ nhãn Điều này cho phép mô hình học hỏi từ dữ liệu mà không cần biết trước kết quả đúng.
Học không giám sát có thể được áp dụng trong nhiều lĩnh vực khác nhau, bao gồm:
• Phân nhóm (Clustering): Nhóm các mẫu dữ liệu tương tự vào cùng một nhóm
• Giảm chiều (Dimensionality Reduction): Giảm số lượng biến trong dữ liệu trong khi vẫn giữ lại các thông tin quan trọng
• Phát hiện bất thường (Anomaly Detection): Tìm kiếm các mẫu dữ liệu khác biệt so với các mẫu bình thường
• Khám phá dữ liệu (Data Exploration): Khám phá các mối quan hệ ẩn trong tập dữ liệu
Các thuật toán học không giám sát phổ biến:
Phân nhóm là quá trình tổ chức dữ liệu thành các nhóm (clusters) sao cho các mẫu trong cùng một nhóm có sự tương đồng cao hơn với nhau, trong khi các mẫu thuộc các nhóm khác có sự khác biệt rõ rệt.
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Phân nhóm các mẫu dữ liệu thành k nhóm
Thuật toán cố gắng tối thiểu hóa tổng khoảng cách giữa các điểm dữ liệu và tâm nhóm
Công thức tính khoảng cách Euclidean
Khởi tạo k tâm nhóm ngẫu nhiên
- Gán mỗi điểm dữ liệu cho nhóm có tâm gần nhất:
Trong đú C i là tập hợp cỏc điểm trong nhúm i và à i là tõm nhúm
Cập nhật tâm nhóm bằng cách tính trung bình của các điểm trong nhóm:
Trong đó C i là số lượng điểm trong nhóm i
Lặp lại cho đến khi không còn thay đổi
Tạo một cây phân cấp (dendrogram) để biểu diễn các mối quan hệ giữa các mẫu dữ liệu
Hai phương pháp chính: Agglomerative (từ dưới lên) và Divisive (từ trên xuống)
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Công thức tính khoảng cách giữa các cụm có thể sử dụng:
Trong đó A và B là hai cụm
Quá trình giảm số lượng biến trong tập dữ liệu, đồng thời giữ lại các thông tin quan trọng, giúp cải thiện hiệu suất của mô hình học máy và giảm thiểu hiện tượng "curse of dimensionality".
Các thuật toán: o Principal Component Analysis (PCA):
PCA tìm kiếm các thành phần chính (principal components) để giảm số chiều của dữ liệu
Z = X.W Trong đó Z là dữ liệu giảm chiều, X là dữ liệu gốc, và W là ma trận các thành phần chính
PCA hoạt động bằng cách tối đa hóa phương sai của dữ liệu sau khi giảm chiều: maximize Var(Z)
Công thức tính phương sai: 2
Trong đó N là số điểm dữ liệu và μ là giá trị trung bình
• t-Distributed Stochastic Neighbor Embedding (t-SNE): t-SNE là một phương pháp giảm chiều không tuyến tính thường được sử dụng để trực quan hóa dữ liệu
Nó cố gắng bảo toàn khoảng cách giữa các điểm gần nhau trong không gian
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh thấp chiều
• Phát hiện bất thường (Anomaly Detection):
Mô tả: Tìm kiếm các mẫu dữ liệu khác biệt hoặc bất thường so với phần còn lại của tập dữ liệu
Thuật toán dựa trên cây quyết định để phát hiện các mẫu bất thường bằng cách tạo ra các cây để "cô lập" các điểm dữ liệu
Công thức tính điểm bất thường:
AnomalyScore( ) x = − 2 E h x ( ( )) Trong đó E(h(x)) là chiều cao trung bình của cây đối với điểm x Đánh giá mô hình học không giám sát
Vì học không giám sát không có nhãn để kiểm tra độ chính xác của mô hình, việc đánh giá thường được thực hiện thông qua:
• Silhouette Score: Đánh giá chất lượng của các cụm bằng cách đo lường khoảng cách giữa các điểm trong cụm và khoảng cách giữa các cụm khác: max( ( ), ( ))
Khoảng cách trung bình từ điểm iii đến tất cả các điểm trong cùng một cụm được ký hiệu là a(i), trong khi b(i) đại diện cho khoảng cách trung bình từ điểm iii đến tất cả các điểm trong cụm gần nhất.
• Davies-Bouldin Index: Chỉ số đo lường sự khác biệt giữa các cụm, với giá trị nhỏ hơn thể hiện chất lượng cụm tốt hơn:
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Trong đó S i là độ rộng của cụm i và d ij là khoảng cách giữa các tâm của các cụm i và j
Ví dụ: Phân nhóm khách hàng trong một cửa hàng trực tuyến
Dữ liệu: Các đặc trưng như độ tuổi, thu nhập, và số lần mua hàng
Mô hình: Sử dụng K-Means để phân nhóm khách hàng thành các nhóm có hành vi mua sắm tương tự
Kết quả: Các nhóm khách hàng có thể được sử dụng để tối ưu hóa chiến dịch marketing hoặc phân khúc thị trường
Học không giám sát là công cụ mạnh mẽ trong học máy, cho phép khám phá và hiểu dữ liệu mà không cần nhãn Các phương pháp và thuật toán trong học không giám sát hỗ trợ phân tích dữ liệu, giúp đưa ra quyết định tốt hơn trong nhiều lĩnh vực Các công thức toán học làm rõ hơn về thuật toán và phương pháp, từ đó cung cấp cái nhìn sâu sắc về các kỹ thuật này.
1.1.3.3 Học tăng cường (Reinforcement Learning):
Học máy tăng cường (Reinforcement Learning - RL) là một lĩnh vực trong học máy, nơi tác nhân (agent) học cách đưa ra quyết định thông qua việc tương tác với môi trường và nhận phản hồi dưới dạng phần thưởng hoặc hình phạt Mục tiêu chính của tác nhân là tối đa hóa tổng phần thưởng nhận được từ môi trường theo thời gian, khác với việc chỉ học từ dữ liệu có sẵn như trong học giám sát.
• Cấu trúc của Học Máy Tăng Cường
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Mạng Nơron (Neural Networks)
Mạng nơron là mô hình toán học được phát triển dựa trên cấu trúc não bộ của con người, giúp máy tính có khả năng học hỏi từ dữ liệu để thực hiện các nhiệm vụ cụ thể.
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh như phân loại, hồi quy và nhận diện mẫu
1.2.1 Mô hình Nơron Nhân Tạo:
Mô hình Nơ-ron nhân tạo (Artificial Neuron) là thành phần thiết yếu của mạng nơ-ron, nhằm mô phỏng hoạt động của tế bào nơ-ron sinh học trong não Đơn vị nơ-ron nhân tạo nhận nhiều đầu vào, xử lý thông tin và tạo ra đầu ra thông qua một hàm kích hoạt.
Mô hình nơron nhân tạo gồm các thành phần chính như sau:
Các tín hiệu đầu vào cho nơ-ron được biểu diễn bằng các giá trị số, với mỗi tín hiệu được nhân với một trọng số w để thể hiện mức độ quan trọng của nó.
Trọng số (Weights) là yếu tố quan trọng trong mạng nơ-ron, với mỗi đầu vào được gán một trọng số tương ứng Trọng số này thể hiện mức độ ảnh hưởng của từng đầu vào đến quyết định cuối cùng của nơ-ron.
∗ Hàm tổng hợp (Weighted Sum): Nơ-ron tính tổng có trọng số của các đầu vào:
Trong đó, b là hệ số bias, giúp mô hình linh hoạt hơn trong việc dịch chuyển đầu ra
Hàm kích hoạt (Activation Function) là một thành phần quan trọng trong mạng nơ-ron, nơi sau khi tính tổng có trọng số, giá trị này được đưa qua hàm kích hoạt để xác định đầu ra Một số hàm kích hoạt phổ biến được sử dụng trong các mô hình học máy bao gồm ReLU, Sigmoid và Tanh.
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh o Hàm Sigmoid: ( ) 1
+ o Hàm Tanh: f x ( ) = tanh( ) x o Hàm ReLU: f x ( ) = max(0, ) x
∗ Đầu ra (Output): Sau khi qua hàm kích hoạt, nơ-ron sẽ tạo ra đầu ra y, thường là giá trị số thực hoặc nhị phân
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
1.2.2 Mô hình mạng nơron nhân tạo:
Mạng nơ-ron nhân tạo (ANN) là mô hình tính toán được lấy cảm hứng từ cấu trúc và chức năng của não người, bao gồm các nơ-ron kết nối với nhau và có khả năng học hỏi từ dữ liệu ANN được ứng dụng rộng rãi trong nhiều lĩnh vực như nhận diện hình ảnh và xử lý ngôn ngữ tự nhiên.
Mô hình mạng nơ-ron
1.2.2.1 Cấu trúc của Mạng Nơ-ron Nhân tạo:
Mạng nơ-ron nhân tạo được tổ chức thành các lớp:
• Lớp đầu vào (Input Layer): Nhận các dữ liệu đầu vào từ bên ngoài
Mỗi nơ-ron trong lớp này đại diện cho một đặc trưng của dữ liệu
Lớp ẩn trong mạng nơ-ron là các lớp giữa đóng vai trò quan trọng trong việc xử lý thông tin Mạng có thể có một hoặc nhiều lớp ẩn, mỗi lớp chứa nhiều nơ-ron Các nơ-ron trong lớp ẩn thực hiện các phép toán để trích xuất những đặc trưng phức tạp từ dữ liệu, góp phần nâng cao khả năng học tập của mô hình.
• Lớp đầu ra (Output Layer): Lớp cuối cùng, cho ra kết quả dự đoán
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Số lượng nơ-ron trong lớp này thay đổi tùy thuộc vào loại bài toán, chẳng hạn như sử dụng một nơ-ron cho phân loại nhị phân hoặc nhiều nơ-ron cho phân loại đa lớp.
1.2.2.2 Hoạt động của Mạng Nơ-ron Nhân tạo:
Quá trình hoạt động của một mạng nơ-ron nhân tạo có thể chia thành hai giai đoạn chính:
Lan truyền tiến (Forward Propagation) là quá trình mà dữ liệu được đưa vào lớp đầu vào và tiếp tục truyền qua các lớp ẩn cho đến lớp đầu ra Mỗi nơ-ron trong mạng nơ-ron tính toán giá trị đầu ra dựa trên tổng trọng số của các đầu vào và áp dụng hàm kích hoạt để tạo ra kết quả.
Lan truyền ngược (Backward Propagation) là quá trình mà sau khi mạng nơ-ron đưa ra đầu ra, nó sẽ tính toán sai số giữa đầu ra dự đoán và đầu ra thực tế Sai số này đóng vai trò quan trọng trong việc cập nhật trọng số của mạng thông qua quá trình tối ưu hóa, thường áp dụng thuật toán Gradient Descent.
∂ Trong đó, η là tốc độ học (learning rate) và L là hàm mất mát (loss function)
Hàm kích hoạt là yếu tố thiết yếu trong mạng nơ-ron, đóng vai trò quan trọng trong việc giúp mô hình học tập các mối quan hệ phi tuyến giữa đầu vào và đầu ra Một số hàm kích hoạt phổ biến mà bạn có thể tham khảo bao gồm ReLU, sigmoid và tanh.
- Hàm Sigmoid: Thích hợp cho các bài toán phân loại nhị phân
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
- Hàm Tanh: Giống như hàm sigmoid nhưng có giá trị đầu ra từ -1 đến 1 tanh( ) z z z z e e z e e
- Hàm ReLU (Rectified Linear Unit): Rất phổ biến trong các mạng sâu, giúp giảm thiểu vấn đề biến thiên vanishing gradient
1.2.2.3 Ứng dụng của Mạng Nơ-ron Nhân tạo:
Mạng nơ-ron nhân tạo được sử dụng rộng rãi trong các lĩnh vực như:
• Nhận diện hình ảnh: Nhận diện đối tượng, phân loại hình ảnh
• Xử lý ngôn ngữ tự nhiên: Dịch máy, phân tích cảm xúc
• Dự đoán dữ liệu: Hồi quy, dự đoán thời tiết, thị trường chứng khoán
• Robot học: Hướng dẫn và điều khiển robot trong các tác vụ phức tạp 1.2.2.4 Quy Tắc Delta:
Quy tắc delta là một phương pháp quan trọng trong việc cập nhật trọng số của mạng nơron, dựa trên sự khác biệt giữa đầu ra thực tế và đầu ra dự đoán Công thức cập nhật trọng số theo quy tắc delta được thể hiện rõ ràng và có vai trò then chốt trong quá trình huấn luyện mạng nơron.
• Δwi : Thay đổi trọng số của đầu vào xi
• η: Tốc độ học (learning rate), kiểm soát tốc độ cập nhật trọng số
• y thực: Giá trị đầu ra thực tế
Giá trị đầu ra dự đoán của nơron, ký hiệu là y dự đoán, đóng vai trò quan trọng trong việc cải thiện độ chính xác của mô hình Quy tắc delta cho phép nơron học từ những sai lầm bằng cách điều chỉnh trọng số Cụ thể, nếu giá trị thực y thực lớn hơn y dự đoán, trọng số sẽ được tăng cường; ngược lại, nếu y thực nhỏ hơn y dự đoán, trọng số sẽ giảm.
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
1.2.2.5 Thuật Toán Lan Truyền Ngược (Back propagation)
Thuật toán lan truyền ngược là kỹ thuật then chốt trong huấn luyện mạng nơron đa lớp, giúp tính toán gradient của hàm mất mát để điều chỉnh trọng số của các nơron trong mạng.
Quy trình Lan Truyền Ngược
Bước 1: Tiến trình lan truyền (Forward Pass)
Dữ liệu đầu vào được xử lý qua các nơron trong mạng, với mỗi nơron tính toán đầu ra dựa trên trọng số và hàm kích hoạt.
Bước 2: Tính Toán Hàm Mất Mát
Học sâu
Học sâu, một nhánh quan trọng của học máy, sử dụng mạng nơ-ron nhân tạo với nhiều lớp ẩn để khai thác và học hỏi các đặc trưng phức tạp từ dữ liệu Công nghệ này đã mang lại những đột phá đáng kể trong các lĩnh vực như nhận dạng hình ảnh, xử lý ngôn ngữ tự nhiên và trí tuệ nhân tạo tổng hợp.
Mô hình mạng nơ-ron sâu có nhiều lớp hơn so với mạng nơ-ron truyền thống, cho phép hệ thống học hỏi các mẫu dữ liệu phức tạp và trừu tượng hóa các đặc trưng từ các lớp biểu diễn khác nhau.
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Trong bài toán nhận diện hình ảnh, mạng nơ-ron sâu tự động phát hiện các đặc điểm như cạnh, hình dạng và màu sắc ở các lớp đầu tiên, sau đó dần dần nhận diện các đối tượng phức tạp hơn ở các lớp tiếp theo.
1.3.2 Cấu Trúc Mạng CNN(Convolutional Neural Network):
Mạng nơ-ron sâu bao gồm các thành phần sau:
Lớp đầu vào (Input Layer): Nhận các thông tin dữ liệu thô từ bên ngoài
Các lớp ẩn trong mạng nơ-ron bao gồm nhiều lớp nơ-ron, mỗi lớp có tập trọng số riêng biệt và được kết nối với nơ-ron của lớp trước Chức năng của các lớp này là tự động trích xuất các đặc trưng quan trọng từ dữ liệu.
Lớp đầu ra (Output Layer): Lớp này sẽ đưa ra dự đoán hoặc phân loại sau khi dữ liệu đã qua các lớp ẩn
Mạng nơ-ron sâu được minh họa qua biểu đồ, trong đó mỗi nơ-ron thực hiện việc tính toán một giá trị đầu ra dựa trên đầu vào và trọng số Giá trị đầu ra được xác định thông qua một công thức cụ thể.
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Trong đó: x i là các đầu vào, w i là các trọng số tương ứng, b là bias (hệ số chặn), f là hàm kích hoạt (activation function), thường là ReLU hoặc Sigmoid
Ví dụ: Nhận Dạng Chữ Số Viết Tay:
Học sâu được minh họa rõ nét qua bài toán nhận dạng chữ số viết tay với bộ dữ liệu MNIST Mạng nơ-ron sâu tiếp nhận hình ảnh có kích thước 28 x 28 pixel làm đầu vào, sau đó xử lý qua nhiều lớp ẩn để dự đoán chữ số từ 0 đến 9.
Mỗi lớp ẩn có vai trò nhận diện các đặc trưng khác nhau từ hình ảnh:
Lớp đầu tiên: Nhận diện các cạnh của hình ảnh
Lớp giữa: Phân tích các kết hợp phức tạp của các cạnh để tạo thành hình dạng Lớp cuối: Dự đoán chữ số
Biểu đồ minh họa một ví dụ về mạng nơ-ron sâu xử lý ảnh MNIST
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Trong các mạng nơ-ron, hàm kích hoạt là rất quan trọng để đưa ra các kết quả phi tuyến tính Các hàm phổ biến bao gồm:
Hàm kích hoạt ReLU (Rectified Linear Unit) được ưa chuộng nhờ vào sự đơn giản và hiệu quả của nó Công thức f(x) = max(0, x) giúp tăng tốc độ học của mô hình và khắc phục vấn đề Gradient biến mất.
Sigmoid: Hàm sigmoid thu nhỏ giá trị đầu ra vào khoảng từ 0 đến 1, rất phù hợp cho các bài toán nhị phân
Biểu đồ so sánh các hàm kích hoạt khác nhau, bao gồm Sigmoid, Tanh, ReLU,
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
1.3.2.2 Quá trình huấn luyện Mạng Nơ-ron:
Quá trình huấn luyện một mạng nơ-ron sâu diễn ra qua các bước sau:
Lan truyền thuận (Forward Propagation): Dữ liệu đi qua các lớp nơ-ron, từ lớp đầu vào đến lớp đầu ra, để tính toán kết quả dự đoán
Hàm mất mát (Loss Function) là công cụ dùng để so sánh kết quả dự đoán với giá trị thực, giúp tính toán độ sai lệch (error) Hai loại hàm mất mát phổ biến là Mean Squared Error, thường được sử dụng trong bài toán hồi quy, và Cross-Entropy, thường áp dụng cho bài toán phân loại.
Lan truyền ngược (Backpropagation) là quá trình điều chỉnh trọng số của các nơ-ron dựa trên độ sai lệch, sử dụng thuật toán gradient descent Mạng học cách giảm thiểu sai số bằng cách điều chỉnh trọng số theo từng bước nhỏ.
Biểu đồ quá trình Lan truyền thuận và Lan truyền ngược
1.3.2.3 Ứng Dụng của Học Sâu:
Học sâu đã được áp dụng trong rất nhiều lĩnh vực quan trọng, bao gồm:
Nhận dạng hình ảnh: Các mạng nơ-ron tích chập (CNN) đã đạt được thành công lớn trong việc phân loại hình ảnh, phát hiện đối tượng
Xử lý ngôn ngữ tự nhiên: Mạng nơ-ron hồi quy (RNN) và LSTM giúp phân tích văn bản, dịch máy, và nhận dạng giọng nói
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Trí tuệ nhân tạo sáng tạo: Các mạng sinh đối kháng (GAN) được sử dụng để tạo ra hình ảnh, âm thanh, và video từ dữ liệu mẫu
Ví dụ minh họa một mô hình CNN phân loại hình ảnh:
Học sâu là một phương pháp mạnh mẽ trong trí tuệ nhân tạo, giúp giải quyết các bài toán phức tạp bằng cách tự động học các đặc trưng từ dữ liệu Sự phát triển của thuật toán và phần cứng tính toán đã làm cho học sâu trở thành công cụ thiết yếu trong các ứng dụng hiện đại.
Cấu trúc mạng CNN (Convolutional Neural Network) được áp dụng rộng rãi trong nhận diện hình ảnh và xử lý ảnh Mạng CNN bao gồm các thành phần chính như lớp tích chập, lớp gộp và lớp fully connected, giúp nâng cao khả năng phân tích và nhận diện đặc trưng trong hình ảnh.
* Input Layer (Lớp đầu vào)
- Đây là lớp nhận đầu vào là hình ảnh (thường có kích thước chiều cao x chiều rộng x số kênh màu)
- Đầu vào: Hình ảnh có kích thước H × W × C (Chiều cao H, chiều rộng W, số kênh màu C)
* Convolutional Layer (Lớp tích chập)
- Chức năng: Thực hiện phép toán tích chập giữa hình ảnh đầu vào và các bộ lọc (filters)
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
- Kết quả: Tạo ra các feature map (bản đồ đặc trưng) thể hiện các đặc điểm khác nhau của hình ảnh
- Tham số: Kích thước kernel, bước nhảy (stride), và padding
- Công thức: Phép toán tích chập giữa đầu vào I và bộ lọc K:
(i,j) là vị trí trên feature map đầu ra m,n là các chỉ số của bộ lọc
* Activation Layer (Lớp kích hoạt)
Chức năng: Áp dụng hàm kích hoạt (như ReLU) để thêm phi tuyến tính vào mạng
Mục đích: Giúp mạng học các đặc trưng phức tạp hơn
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Hàm kích hoạt phổ biến: Hàm ReLU: f x ( ) = max ( 0 , x )
* Pooling Layer (Lớp giảm kích thước)
Chức năng: Giảm kích thước của các feature map, giữ lại các đặc trưng quan trọng và giảm số lượng tham số
Phương pháp: Thường sử dụng max pooling hoặc average pooling
Max Pooling: Lấy giá trị lớn nhất trong vùng 2×2:
* Fully Connected Layer (Lớp kết nối đầy đủ)
Chức năng: Kết nối tất cả các neuron từ lớp trước đó để tạo ra đầu ra cuối cùng
(như xác suất cho các lớp khác nhau)
Mục đích: Thực hiện phân loại dựa trên các đặc trưng đã học
Công thức: Đầu ra O được tính bằng:
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
X: Đầu vào từ lớp trước b: Hệ số điều chỉnh (bias)
* Output Layer (Lớp đầu ra)
Chức năng: Cung cấp kết quả cuối cùng của mạng, như xác suất cho mỗi lớp trong bài toán phân loại
Tham số: Sử dụng hàm kích hoạt như softmax cho bài toán phân loại đa lớp Hàm softmax cho bài toán phân loại:
Trong đó: z i : Đầu ra từ lớp trước
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Các kỹ thuật như dropout hoặc L2 regularization giúp giảm thiểu hiện tượng overfitting trong quá trình huấn luyện
Sơ đồ cấu trúc mạng CNN
Mạng CNN thường có cấu trúc dạng chuỗi, với các lớp được xếp chồng lên nhau Một cấu trúc đơn giản có thể như sau:
Mạng CNN bao gồm nhiều lớp tích chập và lớp giảm kích thước, giúp trích
GVHD: TS Lê Xuân Vinh và HV: Nguyễn Quốc Anh đã xuất các đặc trưng từ hình ảnh và kết nối chúng để phân loại Các công thức mô tả các phép toán chính trong từng lớp, kèm theo các hình vẽ minh họa rõ ràng cho từng phần của cấu trúc mạng.
1.3.3 Các kỹ thuật cơ bản trong Deep Learning:
1.3.3.1 Gradient Descent và các biến thể:
Gradient Descent là kỹ thuật quan trọng để tối ưu hóa mô hình Deep
Learning Phương pháp này cập nhật các trọng số của mạng nơ-ron theo hướng ngược lại với gradient của hàm mất mát:
• w t là vector trọng số tại thời điểm ttt,
• η là tốc độ học (learning rate),
• ∇L(w t) là gradient của hàm mất mát L tại thời điểm t
Stochastic Gradient Descent (SGD) là phương pháp cập nhật trọng số sau mỗi mẫu dữ liệu, bằng cách tính toán gradient dựa trên một mẫu duy nhất thay vì sử dụng toàn bộ tập dữ liệu.
Adam là một phương pháp tối ưu hóa kết hợp giữa Momentum và RMSProp, giúp tự động điều chỉnh tốc độ học cho từng trọng số Công thức cập nhật trọng số trong Adam cho phép cải thiện hiệu suất huấn luyện mô hình một cách hiệu quả.
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Trong đó, m_t và v_t đại diện cho trung bình động của gradient và bình phương gradient, với β₁ và β₂ là các hệ số momentum Thêm vào đó, ϵ là một giá trị rất nhỏ được sử dụng để tránh việc chia cho 0.
Regularization giúp giảm thiểu hiện tượng overfitting bằng cách thêm một khoản phạt vào hàm mất mát:
• L2 Regularization (Ridge): Thêm tổng bình phương của các trọng số vào hàm mất mát:
∗ L1 Regularization (Lasso): Thêm tổng giá trị tuyệt đối của trọng số vào hàm mất mát: total | i |
Trong đó λ là hệ số điều chỉnh regularization, kiểm soát mức độ phạt
Kết luận
Kết thúc chương này, chúng ta đã nắm bắt được những kiến thức cơ bản về học máy và học sâu, hai lĩnh vực quan trọng đang phát triển nhanh chóng trong công nghệ hiện đại.
GVHD: TS Lê Xuân Vinh, HV: Nguyễn Quốc Anh, nghiên cứu về trí tuệ nhân tạo cho thấy học máy đã mang lại nhiều ứng dụng thực tiễn, từ phân loại và dự đoán đến nhận dạng mẫu và phát hiện đối tượng Các thuật toán học máy, bao gồm học có giám sát, không giám sát và học tăng cường, giúp xử lý và phân tích dữ liệu lớn phức tạp, tạo ra các hệ thống thông minh hơn để đáp ứng nhu cầu thực tiễn.
Chương này giải thích cấu trúc và hoạt động của mạng nơ-ron nhân tạo (ANN), công nghệ quan trọng trong học sâu Mạng nơ-ron với nhiều tầng và phương pháp lan truyền ngược giúp điều chỉnh trọng số, cho thấy khả năng học từ dữ liệu hiệu quả, đặc biệt trong xử lý hình ảnh và ngôn ngữ tự nhiên.
Các kỹ thuật nền tảng trong học sâu như chuẩn hóa dữ liệu, tối ưu hóa và giảm thiểu overfitting đóng vai trò quan trọng trong việc phát triển các mô hình chính xác và hiệu quả Những kiến thức này sẽ tạo nền tảng vững chắc cho các ứng dụng phức tạp hơn trong lĩnh vực nhận dạng hình ảnh, xử lý ngôn ngữ tự nhiên và lái xe tự động.
Học máy và học sâu đang trở thành hai lĩnh vực có ảnh hưởng lớn, cung cấp những phương pháp mới để khai thác dữ liệu và mở ra tiềm năng mới cho các ngành khoa học và kỹ thuật Những kiến thức cơ bản trong chương này sẽ là nền tảng cho nghiên cứu và ứng dụng các kỹ thuật tiên tiến hơn trong các chương tiếp theo.
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
MÔ HÌNH RETINANET
Giới thiệu mô hình Retinanet
RetinaNet là mô hình phát hiện đối tượng tiên tiến được giới thiệu bởi Tsung-Yi Lin và cộng sự vào năm 2017 Mô hình này nổi bật nhờ sự kết hợp giữa cấu trúc đa tầng và hàm mất mát Focal Loss, giúp cải thiện khả năng phát hiện đối tượng trong các hình ảnh.
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Đặc điểm chính của RetinaNet
Backbone Network là một mạng học sâu quan trọng trong việc trích xuất đặc trưng từ hình ảnh đầu vào, hỗ trợ cho mô hình phân loại và dự đoán Trong RetinaNet, backbone thường sử dụng các mạng Convolutional Neural Network (CNN) mạnh mẽ như ResNet, giúp nhận diện các đặc trưng quan trọng Sau khi trích xuất, thông tin từ Backbone Network sẽ được chuyển đến phần FPN (Feature Pyramid Network) và các lớp dự đoán tiếp theo để hoàn thành nhiệm vụ phát hiện đối tượng.
2.2.1.1 Các mô hình phổ biến được sử dụng làm Backbone:
Các Backbone Network phổ biến trong RetinaNet bao gồm:
ResNet (Residual Network): Là mạng phổ biến nhất, với các phiên bản như
ResNet-50 và ResNet-101 là hai kiến trúc mạng nơ-ron sâu được thiết kế với các khối dư thừa, cho phép mô hình có độ sâu lớn hơn mà vẫn duy trì hiệu suất cao Các khối dư thừa giúp mạng học được các phần dư giữa đầu vào và đầu ra của các lớp, từ đó cải thiện khả năng học tập và giảm thiểu vấn đề suy giảm hiệu suất trong các mạng nơ-ron sâu.
MobileNet: Dành cho các ứng dụng cần tính toán nhanh hoặc hạn chế tài nguyên
(như trên thiết bị di động), MobileNet cũng có thể được sử dụng làm Backbone với lợi thế nhẹ và nhanh
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
EfficientNet: Một kiến trúc Backbone mới hơn, đạt được hiệu quả tốt về cả tốc độ và độ chính xác trong việc trích xuất các đặc trưng
2.2.1.2 Cách Backbone hoạt động trong RetinaNet
Khi hình ảnh đầu vào được xử lý qua Backbone, nó được chuyển đổi thành các đặc trưng trừu tượng thông qua nhiều lớp tích chập Với ResNet, các đặc trưng này được trích xuất từ nhiều cấp độ khác nhau của mạng, cụ thể từ các đầu ra của các tầng C3, C4 và C5, tương ứng với các độ phân giải khác nhau.
Sau khi Backbone hoàn thành việc trích xuất đặc trưng, các đặc trưng từ các
GVHD: TS Lê Xuân Vinh, HV: Nguyễn Quốc Anh, đã nghiên cứu về việc chuyển đổi các tầng khác nhau vào mạng FPN Mạng FPN giúp tích hợp các đặc trưng ở nhiều cấp độ khác nhau, tối ưu hóa khả năng phát hiện đối tượng với các kích thước đa dạng.
2.2.1.3 Đặc điểm của Backbone trong RetinaNet:
Khả năng mở rộng: RetinaNet có thể sử dụng nhiều loại Backbone khác nhau tùy thuộc vào yêu cầu về độ chính xác và tốc độ
Trích xuất đặc trưng sâu: Backbone Network thường là các mạng học sâu có khả năng trích xuất các đặc trưng rất tốt từ hình ảnh
Tối ưu hóa cho phát hiện đa tỷ lệ là một ưu điểm quan trọng, nhờ vào sự kết hợp của FPN và các đặc trưng từ Backbone, mô hình có khả năng phát hiện đối tượng với nhiều kích thước và tỷ lệ khác nhau.
2.2.1.4 Cách sử dụng Backbone trong RetinaNet
Khi xây dựng mô hình RetinaNet, người dùng có thể lựa chọn giữa nhiều Backbone Network khác nhau tùy thuộc vào yêu cầu cụ thể của bài toán Một lựa chọn phổ biến là sử dụng Backbone pre-trained trên bộ dữ liệu lớn như ImageNet, sau đó kết hợp với các lớp FPN và lớp đầu ra để tạo ra một mô hình RetinaNet hoàn chỉnh.
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Ví dụ: Khi sử dụng ResNet làm Backbone cho RetinaNet, ta có thể cấu hình như sau trong Keras:
Backbone Network đóng vai trò quan trọng trong việc tối ưu hóa hiệu suất của RetinaNet trong việc phát hiện đối tượng với nhiều kích thước khác nhau Nhờ khả năng trích xuất đặc trưng mạnh mẽ từ hình ảnh đầu vào, việc lựa chọn Backbone phù hợp với dữ liệu và yêu cầu cụ thể là yếu tố then chốt để đạt được kết quả tốt nhất.
Phát hiện đối tượng ở các kích thước khác nhau là một thách thức lớn, đặc biệt đối với các đối tượng nhỏ Sử dụng kim tự tháp ảnh với nhiều kích thước khác nhau có thể giúp phát hiện đối tượng, nhưng điều này tiêu tốn nhiều bộ nhớ và tài nguyên tính toán, làm cho quá trình huấn luyện trở nên phức tạp Do đó, phương pháp này thường chỉ được áp dụng trong quá trình suy diễn tại một số cuộc thi, nơi tốc độ xử lý không phải là yếu tố quan trọng, nhằm đảm bảo độ chính xác cao hơn trong kết quả.
Chúng ta xây dựng một kim tự tháp các đặc trưng để phục vụ cho việc phát hiện đối tượng Tuy nhiên, các kim tự tháp ở các lớp gần với hình ảnh chỉ chứa những thuộc tính thô, dẫn đến việc chúng không hiệu quả trong việc cải thiện độ chính xác của mô hình.
FPN (Mạng Kim Tự Tháp Đặc Trưng) là một kỹ thuật lọc đặc trưng, sử dụng nguyên lý kim tự tháp để tối ưu hóa sự cân bằng giữa độ chính xác và tốc độ xử lý trong các mô hình học sâu.
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
FPN được phát triển nhằm thay thế các bộ lọc đặc trưng trong Faster R-CNN, cung cấp các bản đồ đặc trưng đa tỉ lệ với chất lượng thông tin vượt trội so với các bộ lọc thông thường.
FPN bao gồm hai luồng chính: một là luồng từ dưới lên (bottom-up pathway) và một là luồng từ trên xuống (top-down pathway), trong khi nhiều thuật toán khác chủ yếu chỉ sử dụng luồng từ dưới lên.
Bottom-up pathway là một mạng CNN truyền thống dùng để trích xuất đặc trưng, trong đó độ phân giải giảm dần khi lên cao và giá trị ngữ cảnh tăng lên SSD thực hiện phát hiện đối tượng từ nhiều feature maps, nhưng bỏ qua các lớp đầu tiên do thiếu thông tin quan trọng, dẫn đến hiệu suất không tốt khi phát hiện các đối tượng nhỏ.
FPN xây dựng thêm mô hình top-down, nhằm mục đích xây dựng các layer có độ phân giải cao từ các layer có ngữ nghĩa cao
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
Trong quá trình xây dựng lại các layer từ trên xuống dưới, chúng ta thường gặp phải vấn đề nghiêm trọng là mất mát thông tin của các đối tượng nhỏ Khi đối tượng nhỏ được đưa lên các layer cao hơn, nó có thể không còn hiển thị, và việc tái tạo lại đối tượng này từ layer cao xuống là không khả thi Để khắc phục tình trạng này, chúng ta sẽ áp dụng các kết nối skip connection, giống như trong kiến trúc ResNet, giữa các layer tái tạo và các feature map Điều này giúp cải thiện khả năng dự đoán vị trí của đối tượng, giảm thiểu tối đa việc mất mát thông tin Hình ảnh bên dưới mô tả chi tiết quá trình đi từ bottom-up đến top-down, với P2, P3, P4, P5 là các pyramid của các feature map.
2.2.2.2.Sử dụng FPN (Feature Pyramid Network) với RPN (Region Proposal Network):
Chúng ta có thể áp dụng FPN trong Fast và Faster R-CNN để tạo ra các feature map, dẫn đến việc hình thành các pyramid Tiếp theo, chúng ta sẽ sử dụng RPN (region proposal network) để rút trích các ROIs từ các feature map này Dựa vào kích thước của các ROI, chúng ta sẽ lựa chọn feature map phù hợp nhất để tạo ra các feature patches (các hình chữ nhật nhỏ).
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh
- Top-down pathway hồi phục lại độ phân giải cao với giàu thông tin về ngữ cảnh
- Việc thay thế FPN cho RPN cải thiện việc phát hiện các object nhỏ –> tăng độ chính xác cho thuật toán object detection
2.2.3 Phân loại và dự đoán vị trí
RetinaNet có hai phần chính: Phân loại đối tượng và Dự đoán vị trí (bounding box regression)
2.2.3.1 Phân loại đối tượng trong RetinaNet:
Phân loại đối tượng là nhiệm vụ xác định loại của các đối tượng trong ảnh Trong RetinaNet, phân loại được thực hiện qua các bước sau:
Kết luận
Trong chương này, chúng ta đã khám phá mô hình RetinaNet, một trong những phương pháp hiệu quả nhất cho bài toán phát hiện đối tượng RetinaNet nổi bật nhờ vào khả năng xử lý chính xác và nhanh chóng, giúp cải thiện hiệu suất trong việc nhận diện các đối tượng trong hình ảnh.
GVHD: TS Lê Xuân Vinh và HV: Nguyễn Quốc Anh đã phát triển một kiến trúc độc đáo kết hợp giữa mạng nơ-ron tích chập (CNN) và cơ chế học sâu, sử dụng hàm mất mát Focal Loss Hàm mất mát này giúp giải quyết vấn đề không cân bằng giữa các lớp, đặc biệt trong các bài toán phát hiện đối tượng khi số lượng đối tượng thuộc lớp chính vượt trội so với lớp phụ.
Mô hình Retinanet nổi bật với khả năng nhận diện và phân loại chính xác trong nhiều tình huống khác nhau Không chỉ nhanh chóng, Retinanet còn đạt được độ chính xác cao nhờ tối ưu hóa bằng cách sử dụng các mạng phụ để dự đoán lớp và vị trí của các đối tượng chỉ trong một lần truyền qua mạng.
Việc sử dụng RetinaNet trong nhận diện biển báo giao thông đã chứng minh tính hiệu quả của mô hình trong thực tiễn Với cấu trúc đơn giản và tính linh hoạt, RetinaNet có khả năng điều chỉnh và cải thiện cho nhiều bài toán khác nhau.
RetinaNet là một mô hình mạnh mẽ và hiệu quả trong phát hiện đối tượng, cung cấp nhiều giải pháp tiềm năng cho ứng dụng trí tuệ nhân tạo Tương lai của nghiên cứu có thể tập trung vào việc tối ưu hóa mô hình này để nâng cao hiệu suất và khả năng ứng dụng trong các lĩnh vực đa dạng hơn.
GVHD: TS Lê Xuân Vinh HV: Nguyễn Quốc Anh