Trang 1 TRƯỜNG ĐẠI HỌC QUY NHƠNTRẦN QUỐC DŨNG NGHIÊN CỨU ỨNG DỤNG HỌC SÂU PHÁT HIỆN LỖI TRÊN SẢN PHẨM DỆT MAYLUẬN VĂN THẠC SĨ KHOA HỌC DỮ LIỆU ỨNG DỤNG Trang 2 TRƯỜNG ĐẠI HỌC QUY NHƠ
Trang 1TRƯỜNG ĐẠI HỌC QUY NHƠN
TRẦN QUỐC DŨNG
NGHIÊN CỨU ỨNG DỤNG HỌC SÂU
PHÁT HIỆN LỖI TRÊN SẢN PHẨM DỆT MAY
LUẬN VĂN THẠC SĨ KHOA HỌC DỮ LIỆU ỨNG DỤNG
Bình Định - Năm 2023
Trang 2TRƯỜNG ĐẠI HỌC QUY NHƠN
TRẦN QUỐC DŨNG
NGHIÊN CỨU ỨNG DỤNG HỌC SÂU
PHÁT HIỆN LỖI TRÊN SẢN PHẨM DỆT MAY
Ngành: Khoa học dữ liệu ứng dụng
Mã số: 8904648
Người hướng dẫn: TS Hồ Văn Lâm
Trang 3Để tôi hoàn thành luận văn, ngoài sự nỗ lực cố gắng của bản thân, tôi
nhận được nhiều sự giúp đỡ của quý Thầy Cô, gia đình và bạn bè
Tôi xin gửi lời cảm ơn sâu sắc đến TS Hồ Văn Lâm Thầy đã luôn tận
tình chỉ bảo, hướng dẫn, động viên tôi trong suốt thời gian thực hiện luận văn
tốt nghiệp
Ngoài ra, tôi cũng xin cảm ơn các Thầy Cô giáo đã giảng dạy, chỉ bảo
tận tình và truyền đạt những kiến thức bổ ích trong suốt thời gian học tập, rèn
luyện tại trường
Cuối cùng, tôi muốn gửi lời cảm ơn tới gia đình và bạn bè, những người
thân yêu bên cạnh hay quan tâm, động viên trong suốt quá trình học tập và
thực hiện khóa luận tốt nghiệp này
Một lần nữa, tôi xin chân thành cảm ơn!
Bình Định, tháng 10 năm 2023
Trần Quốc Dũng
Trang 4MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu nghiên cứu 1
3 Đối tượng và phạm vi nghiên cứu 2
4 Phương pháp nghiên cứu 2
5 Bố cục luận văn 2
CHƯƠNG 1 TỔNG QUAN VỀ HỌC MÁY VÀ HỌC SÂU 3
1.1 Sơ lược về học máy 3
1.2 Phương pháp học máy 4
1.2.1 Supervised Learning 4
1.2.2 Unsupervised Learning 4
1.2.3 Reinforcement Learning 5
1.3 Một số bài toán trong học máy 6
1.3.1 Bài toán phân loại 6
1.3.2 Bài toán hồi quy 8
1.4 Một số thuật toán trong học máy 9
1.4.1 Decision Tree 9
1.4.2 Support Vector Machine 11
1.5 Sơ lược về học sâu 13
1.6 Một số mô hình trong học sâu 14
1.6.1 Convolutional Neural Network 14
1.6.2 Recurrent Neural Network 20
1.7 Tổng kết chương 22
CHƯƠNG 2 BÀI TOÁN PHÁT HIỆN LỖI TRÊN SẢN PHẨM DỆT MAY23 2.1 Bài toán phát hiện lỗi 23
2.2 Giải pháp phát hiện lỗi 24
2.2 Một số giải thuật liên quan 25
2.2.1 Auto Encoder model 25
Trang 52.3 Đề xuất giải pháp 27
2.3.1 Teacher-Student 27
2.3.2 Mất mát từ quá trình chắt lọc kiến thức 27
2.3.3 Hàm tính điểm 27
2.3.4 Đánh giá mô hình 28
2.3.5 Hiển thị bất thường 29
2.4 Tổng kết chương 29
CHƯƠNG 3 XÂY DỰNG MÔ HÌNH VÀ THỰC NGHIỆM 30
3.1 Dữ liệu thực nghiệm 30
3.2 Cài đặt thực nghiệm 32
3.2.1 Mạng Teacher 33
3.2.2 Mạng Student 34
3.3 Đánh giá kết quả 34
KẾT LUẬN 36
1 Kết quả đạt được 36
2 Đóng góp và khả năng áp dụng của đề tài 36
TÀI LIỆU THAM KHẢO 37
Trang 6DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt Nghĩa tiếng Anh Nghĩa tiếng Việt
Trang 7DANH MỤC CÁC HÌNH
Hình 1 Quá trình phát triển và hình thành của học máy 3
Hình 2 Supervised Learning 4
Hình 3 Unsupervised Learning 5
Hình 4 Reinforcement Learning 5
Hình 5 Phân loại 6
Hình 6 Hồi quy 8
Hình 7 Phân lớp dữ liệu sử dụng Decision Tree 10
Hình 8 Phân lớp dữ liệu sử dụng SVM 12
Hình 9 Hyper-plan trong SVM 12
Hình 10 Khác biệt giữa học máy và học sâu 13
Hình 11 Hiệu suất học máy và học sâu với lượng dữ liệu 14
Hình 12 Kiến trúc mạng CNN 15
Hình 13 Convolutional layer 16
Hình 14 LaNet 17
Hình 15 AlexNet 18
Hình 16 ZF Net 18
Hình 17 GoogleLaNet 19
Hình 18 VGGNet 19
Hình 19 LSTM 21
Hình 20 Bài toán phát hiện lỗi 23
Hình 21 Phân phối chuẩn 24
Hình 22 Hệ thống đề xuất phát hiện lỗi 25
Hình 23 Auto Encoder model 25
Hình 24 Variational Autoencoder 26
Hình 25 Generative Adversarial Network 26
Hình 26 Teacher-Student 27
Hình 27 RoC và AuC 29
Hình 28 Dữ liệu MVTec 30
Hình 29 Dữ liệu bình thường 31
Hình 30 Dữ liệu bong sợi 31
Hình 31 Dữ liệu loang màu 32
Hình 32 Dữ liệu đứt sợi 32
Hình 33 Kiến trúc mạng ResNet18 33
Hình 34 Kiến trúc mạng Student 34
Hình 35 Kết quả phát hiện lỗi với p là 0.7 35
Trang 8MỞ ĐẦU
1 Lý do chọn đề tài
Hiện nay, Machine Learning (ML) và Deep Learning (DL) đang được nghiên cứu ứng dụng trong nhiều lĩnh vực khác nhau trên thế giới [1] Tại Việt Nam, điều này còn tương đối mới mẻ nhưng cũng được nghiên cứu và áp dụng vào một số lĩnh vực đem lại nhiều lợi ích cho xã hội
Trong nhiều năm qua, cùng với sự phát triển công nghệ thông tin trong nhiều lĩnh vực của đời sống xã hội, lượng dữ liệu được con người thu thập và lưu trữ ngày một nhiều lên Người ta lưu trữ những dữ liệu này vì cho rằng nó
ẩn chứa những giá trị nhất định nào đó Tuy nhiên theo thống kê thì chỉ có một lượng nhỏ của những dữ liệu này là được con người phân tích và sử dụng để mang lại lợi ích cho xã hội
Ngày nay, các chủ doanh nghiệp đều muốn công nghiệp hóa dây chuyền sản xuất của mình và ngành dệt may cũng vậy Công đoạn kiểm tra phát hiện lỗi chiếm vai trò quan trọng trong ngành dệt may, chúng tôi nhận thấy có thể xây dựng mô hình DL để phát hiện lỗi giúp doanh nghiệp cắt giảm được nhân lực và tối ưu lợi nhuận
Tuy nhiên, hầu hết các doanh nghiệp đều muốn phát hiện được tất cả các lỗi dù lỗi đó chưa từng gặp hoặc xuất hiện bao giờ Đồng thời, các loại lỗi thì thường có hình dạng và kích thước ko xác định được Ngoài ra, trong thực tế
dữ liệu bất thường thường ít và không đủ để huấn luyện hình phân loại Vì vậy, chúng tôi có ý tưởng sẽ dùng những dữ liệu bình thường để huấn luyện mô hình, mô hình tạo ra có khả năng phát hiện ra những bất thường
2 Mục tiêu nghiên cứu
Trong luận văn này, chúng tôi đặt ra bốn mục tiêu:
+ Một là, tìm hiểu tổng quan về ML bao gồm: sơ lược về ML, phương pháp ML, giới thiệu một số bài toán trong ML và giới thiệu một số thuật toán trong ML
+ Hai là, tìm hiểu tổng quan về DL bao gồm: sơ lược về DL và giới thiệu một số mô hình trong DL
Trang 9+ Ba là, đề xuất giải pháp phát hiện lỗi trên sản phẩm dệt may
+ Bốn là, cài đặt thực nghiệm giải pháp đã đề xuất
3 Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu:
4 Phương pháp nghiên cứu
- Phương pháp nghiên cứu tài liệu
+ Chương 3: XÂY DỰNG MÔ HÌNH VÀ THỰC NGHIỆM Chúng tôi cài đặt thử nghiệm giải pháp đã đề xuất cho bài toán phát hiện lỗi trên sản phẩm dệt may, một số đánh giá về mô hình thu được và đề xuất giải pháp triển khai
Trang 10CHƯƠNG 1 TỔNG QUAN VỀ HỌC MÁY VÀ HỌC SÂU
Chúng tôi trình bày tổng quan về học máy và học sâu gồm có: sơ lược về học máy, phương pháp học máy, giới thiệu một số bài toán trong học máy, giới thiệu một số thuật toán trong học máy, sơ lược về học sâu và giới thiệu một số mô hình học sâu
1.1 Sơ lược về học máy
Học máy hay máy học (ML) là một thuật ngữ mà con người sử dụng để khi nhắc đến các chương trình máy tính có khả năng học hỏi về cách hoàn thành các nhiệm vụ và cách cải thiện hiệu suất theo thời gian Nó là một công nghệ được phát triển từ lĩnh vực trí tuệ nhân tạo (AI) [1]
Hình 1 Quá trình phát triển và hình thành của học máy
ML vẫn cần sự đánh giá của con người trong việc tìm hiểu dữ liệu cơ sở
và lựa chọn các kĩ thuật phù hợp để phân tích dữ liệu Ngoài ra, trước khi sử dụng thì dữ liệu cần được tiền xử lý dữ liệu để dữ liệu được sạch, không có sai lệch và không có dữ liệu giả
Mô hình được tạo ra từ ML cần lượng dữ liệu đủ lớn để huấn luyện và đánh giá mô hình Trước đây, quyền truy cập vào các nguồn dữ liệu cần thiết
để mô hình hóa các mối quan hệ giữa các dữ liệu còn hạn chế Ngày nay, sự
Trang 11tăng trưởng trong dữ liệu lớn (Big Data) đã cung cấp nguồn dữ liệu để cải thiện độ chính xác của mô hình và dự đoán của các mô hình ML
1.2 Phương pháp học máy
ML có 2 lớp chính bao gồm học có giám sát (Supervised Learning) và học không giám sát (Unsupervised Learning) Ngoài ra, còn có 2 lớp khác là học bán giám sát (Semi-Supervised Learning) và học tăng cường (Reinforcement Learning) [1]
1.2.1 Supervised Learning
Máy tính sẽ cố gắng học cách mô hình hóa các mối quan hệ dựa trên dữ liệu được gán nhãn (labeled data) Sau khi tìm hiểu cách tốt nhất để mô hình hóa các mối quan hệ cho dữ liệu được gắn nhãn, các thuật toán được huấn luyện được sử dụng cho các bộ dữ liệu mới Supervised Learning có thể được nhóm lại thành 2 bài toán chính là phân lớp (Classification) và hồi quy (Regression), một số thuật toán tiêu biểu như: Decision Trees, Linear Regression, Logistic Regression, Support Vector Machine
Hình 2 Supervised Learning
1.2.2 Unsupervised Learning
Máy tính không được cung cấp dữ liệu được dán nhãn mà thay vào đó chỉ được cung cấp dữ liệu và thuật toán tìm cách mô tả dữ liệu và cấu trúc của chúng Unsupervised Learning có một số thuật toán tiêu biểu như: Principal Component Analysis, Singular Value Decomposition
Trang 12Hình 3 Unsupervised Learning
1.2.3 Reinforcement Learning
Học tăng cường (RL) là một kỹ thuật học máy cho phép tác nhân học bằng cách thử và sai trong môi trường tương tác sử dụng đầu vào từ các hành động (Actions) và kinh nghiệm của nó Không giống như học có giám sát, dựa trên dữ liệu mẫu hoặc ví dụ đã cho, phương pháp RL dựa trên tương tác với môi trường Vấn đề cần giải quyết trong học tăng cường (RL) được định nghĩa
là Markov Decision Process (MDP) [1] tức là tất cả về việc đưa ra các quyết định một cách tuần tự Một vấn đề RL thường bao gồm bốn yếu tố như tác nhân (Agent), môi trường (Environment), phần thưởng (Rewards) và chính sách (Policy)
Hình 4 Reinforcement Learning
Trang 13RL có thể được chia thành các kỹ thuật dựa trên mô hình (Model-based)
và không có mô hình (Model-free)
+ Dựa trên mô hình: Quá trình suy ra hành vi tối ưu từ một mô hình của môi trường bằng cách thực hiện các hành động và quan sát kết quả, bao gồm trạng thái tiếp theo và phần thưởng ngay lập tức AlphaZero, AlphaGo là những ví dụ về cách tiếp cận dựa trên mô hình [2]
+ Không có mô hình: Cách tiếp cận không có mô hình không sử dụng phân phối xác suất chuyển đổi và hàm phần thưởng được liên kết với MDP Q-learning, Deep Q Network, Monte Carlo Control, SARSA (State – Action – Reward – State – Action), là một số ví dụ về thuật toán không có mô hình [1] Khác với RL dựa trên mô hình thì trên RL không có mô hình không yêu cầu chính sách (Policy), đây là điểm khác biệt chính giữa học tập dựa trên mô hình và không mô hình
1.3 Một số bài toán trong học máy
1.3.1 Bài toán phân loại
Bài toán phân loại là quá trình phân một đối tượng dữ liệu vào một hay nhiều lớp đã cho trước nhờ vào một mô hình phân lớp Về mặt toán học, nó là
ánh xạ một hàm (f) từ các biến đầu vào (X) đến các biến đầu ra (Y) và được
biểu diễn như sau 𝑓(𝑋) = 𝑌 [1] Khi dự đoán lớp của các điểm dữ liệu đã cho, chúng ta có thể được thực hiện trên dữ liệu có cấu trúc hoặc phi cấu trúc Sau đây, chúng tôi tóm tắt các vấn đề phân loại phổ biến
Hình 5 Phân loại
Trang 141.3.1.1 Phân loại nhị nhân
Thông thường, các nhiệm vụ phân loại nhị phân sẽ bao gồm một lớp là
“trạng thái bình thường” và một lớp khác là “trạng thái bất thường” Ví dụ
“not spam” là trạng thái bình thường và “spam” là trạng thái bất thường Một
ví dụ khác là "ung thư không được phát hiện" là trạng thái bình thường và
"ung thư được phát hiện" là trạng thái bất thường
Giả sử, lớp cho trạng thái bình thường được gán nhãn lớp 0 và lớp có trạng thái bất thường được gán nhãn lớp 1 Người ta thường lập mô hình nhiệm vụ phân loại nhị phân với một mô hình dự đoán phân phối xác suất Bernoulli cho mỗi ví dụ Phân phối Bernoulli là một phân phối xác suất rời rạc bao gồm trường hợp một sự kiện sẽ có kết quả nhị phân là 0 hoặc 1 Đối với phân loại, điều này có nghĩa là mô hình dự đoán xác suất của một ví dụ thuộc lớp trạng thái bình thường hoặc lớp trang thái bất thường [1]
Một số phương pháp thường được sử dụng để phân lớp nhị phân là: Decision Trees, Random Forests, Bayesian Networks, Support Vector Machines, Neural Networks, Logistic Regression
1.3.1.2 Phân loại nhiều lớp
Khác với bài toán phân lớp nhị phân, phân loại nhiều lớp không sử dụng khái niệm “trạng thái bình thường” và “trạng thái bất thường” mà dữ liệu sẽ được phân lớp dựa vào danh sách nhãn đã biết Số lượng nhãn có thể rất lớn tùy vào vấn đề, ví dụ trong hệ thống nhận diện khuôn mặt thì kết quả dự đoán một bức ảnh có thể thuộc về một trong số hàng nghìn hoặc chục nghìn khuôn mặt đã có trong hệ thống Hay mô hình dịch văn bản cũng có thể được coi là một kiểu phân loại nhiều lớp đặc biệt Mỗi từ trong chuỗi được dự đoán liên quan đến một phân loại nhiều lớp trong đó kích thước của từ vựng xác định số lượng các lớp có thể được dự đoán và có thể có kích thước hàng chục hoặc hàng trăm nghìn từ [1]
Người ta thường lập mô hình nhiệm vụ phân loại nhiều lớp với một mô hình dự đoán phân phối xác suất Multinoulli cho mỗi ví dụ Phân phối
Trang 15Multinoulli là một phân phối xác suất rời rạc bao gồm trường hợp một sự kiện
sẽ có kết quả phân loại, ví dụ: K trong {1, 2, 3,…, K} Đối với phân loại, điều này có nghĩa là mô hình dự đoán xác suất của một ví dụ thuộc về mỗi nhãn lớp Một số thuật toán phổ biến có thể được sử dụng để phân loại nhiều lớp là: k-Nearest Neighbors, Decision Trees, Random Forests Ngoài ra, một số thuật toán được sử dụng để phân loại nhị phân có thể được sử dụng để phân loại nhiều lớp
1.3.2 Bài toán hồi quy
Bài toán hồi quy là quá trình dự đoán một biến kết quả (y) liên tục dựa trên giá trị của một hoặc nhiều biến dự báo (x) [1] Sự khác biệt đáng kể nhất giữa phân loại và hồi quy là phân loại dự đoán các nhãn lớp riêng biệt, trong khi hồi quy tạo điều kiện cho việc dự đoán một đại lượng liên tục Hình 6 cho thấy một ví dụ về cách phân loại khác với các mô hình hồi quy Một số chồng chéo thường được tìm thấy giữa hai loại thuật toán học máy Các mô hình hồi quy hiện được sử dụng rộng rãi trong nhiều lĩnh vực, bao gồm dự báo hoặc dự đoán tài chính, ước tính chi phí, phân tích xu hướng, tiếp thị, ước tính chuỗi thời gian, mô hình phản ứng thuốc, và nhiều hơn nữa Một số loại thuật toán hồi quy quen thuộc là hồi quy tuyến tính, hồi quy đa thức, … được giải thích ngắn gọn trong phần sau
Hình 6 Hồi quy
Trang 161.3.2.1 Hồi quy tuyến tính đơn giản và đa tuyến tính
Phương pháp này khá phổ biến trong những mô hình ML, đồng thời là
này, biến phụ thuộc là liên tục, các biến độc lập có thể liên tục hoặc rời rạc và dạng của đường hồi quy là tuyến tính Hồi quy tuyến tính tạo ra mối quan hệ giữa biến phụ thuộc (y) và một hoặc nhiều biến độc lập (x) (còn được gọi là đường hồi quy) bằng cách sử dụng đường thẳng phù hợp nhất [1] Hồi quy đa tuyến tính là một phần mở rộng của hồi quy tuyến tính đơn giản cho phép hai hoặc nhiều biến dự báo mô hình hóa một biến đáp ứng, y như một hàm tuyến tính được định nghĩa bởi phương trình (2).Trong khi hồi quy tuyến tính đơn giản chỉ có 1 biến độc lập, được xác định trong phương trình (1) [1]
𝑦 = 𝑎 + 𝑏1𝑥1+ 𝑏2𝑥2+ + 𝑏𝑛𝑥𝑛+ 𝑒 (2)
1.3.2.2 Hồi quy đa thức
Hồi quy đa thức là một dạng phân tích hồi quy trong đó mối quan hệ giữa biến độc lập (x) và biến phụ thuộc (y) không phải là tuyến tính, mà là đa thức bậc n trong (x) Phương trình hồi quy đa thức cũng được suy ra từ phương trình hồi quy tuyến tính, được định nghĩa bởi công thức sau:
và các nhánh [1]
Trang 171.4.1.2 Ví dụ minh họa
Trong cây quyết định:
- Gốc: là nút (node) trên cùng của cây
- Nút con: Biểu diễn một kiểm tra trên một thuộc tính đơn (hình chữ nhật)
- Nhánh: Biểu diễn các kết quả của kiểm tra trên nút con (mũi tên)
- Nút lá: Biểu diễn lớp hay sự phân phối lớp
Cụ thể cây quyết định của ví dụ trên có thể được giải thích như sau: Các
nút lá chứa các giá trị của thuộc tính phân lớp (thuộc tính ‘Chơi tennis’) Các
Trang 18nút con tương ứng với các thuộc tính khác thuộc tính phân lớp; nút gốc cũng
được xem như là một nút con đặc biệt, ở đây chính là thuộc tính ‘Thời tiết’
Các nhánh của cây từ một nút bất kỳ tương đương một phép so sánh có thể là
so sánh bằng, so sánh khác, lớn hơn, nhỏ hơn, … Nhưng kết quả các phép so sánh này bắt buộc phải thể hiện một giá trị logic (đúng hoặc sai) dựa trên một giá trị nào đó của thuộc tính nút Lưu ý cây quyết định trên không có sự tham
gia của thuộc tính ‘Nhiệt độ’ trong thành phần cây, các thuộc tính như vậy
được gọi chung là thuộc tính dư thừa bởi vì các thuộc tính này không ảnh hưởng đến quá trình xây dựng mô hình
1.4.2 Support Vector Machine
1.4.2.1 Khái niệm
Support Vector Machine (SVM) là một thuật toán học có giám sát, rất phổ biến và nổi tiếng trong sử dụng cho các bài toán phân lớp (Classification) Thuật toán cần dữ liệu đầu vào phải là dữ liệu có nhãn, hoạt động tốt đối với những mẫu dữ liệu có kích thước lớn và thường mang lại kết quả vượt trội so với lớp các thuật toán khác trong học có giám sát Trước khi thuật toán CNN
và DL bùng nổ thì SVM là mô hình cực kì phổ biến trong phân lớp ảnh
Trong thuật toán này, chúng ta sẽ vẽ đồ thị dữ liệu là các điểm trong n chiều (ở đây n là số lượng các tính năng chúng ta có) với giá trị của mỗi tính năng sẽ là một phần liên kết Sau đó chúng ta cần thực hiện tìm đường bay (hyper-plane) để phân chia các lớp Hyper-plane có thể hiểu đơn giản là một đường thẳng hay siêu phẳng có thể phân chia các lớp ra thành hai phần riêng biệt và nó được biểu diễn bởi phương trình 𝑤𝑇𝑥 + 𝑏 = 0
Trang 19Hình 8 Phân lớp dữ liệu sử dụng SVM
1.3.2.2 Thuật toán
Trang 20Thực tế, sẽ có rất nhiều hyper-plane có thể tìm thấy và chúng ta cần có tiêu chí để chọn hyper-plane tối ưu nhất:
xa nhất có thể Giá trị khoảng cách từ điểm gần nhất đến hyper-plane phải tiến đến giá trị lớn nhất có thể
+ Tiêu chí 2: Hai miền cần phải cách đều như nhau
1.5 Sơ lược về học sâu
DL là một lĩnh vực con của ML, các máy tính sẽ được huấn luyện và cải thiện chính nó thông qua các thuật toán DL được xây dựng dựa trên các khái niệm phức tạp hơn rất nhiều so với những thuật toán ML, chủ yếu hoạt động với các Artificial Neural Network (ANN) để bắt chước khả năng tư duy và suy nghĩ của bộ não con người [1]
Hình 10 Khác biệt giữa học máy và học sâu
Khái niệm liên quan đến ANN và DL đã xuất hiện từ khoảng những năm
1960, tuy nhiên nó lại bị giới hạn bởi khả năng tính toán và số lượng dữ liệu lúc bấy giờ Trong những năm gần đây, những tiến bộ trong phân tích dữ liệu lớn (Big Data) và hiệu năng xử lý của máy tính đã cho phép chúng ta tận dụng được tối đa khả năng của ANN [1]
Trang 21DL là một bước ngoặt to lớn trong lĩnh vực AI, cho phép xây dựng nhiều
mô hình có độ chính xác rất cao trong lĩnh vực nhận dạng ảnh, xử lý ngôn ngữ
tự nhiên, xử lý giọng nói, … DL có kiến trúc mạng nơ-ron linh hoạt, có thể dễ dàng thay đổi để phù hợp với nhiều vấn đề khác nhau Ưu điểm chính của DL
so với các phương pháp học máy truyền thống là hiệu suất tốt hơn trong một
số trường hợp, đặc biệt là học từ các tập dữ liệu lớn [1] Tuy nhiên, nó có thể thay đổi tùy thuộc vào đặc điểm dữ liệu và thiết lập thử nghiệm Ngoài ra, nó còn có khả năng giải quyết nhiều bài toán phức tạp với độ chính xác rất cao; tính tự động hoá cao, có khả năng tự điều chỉnh và tự tối ưu; có khả năng thực hiện tính toán song song, hiệu năng tốt
Hình 11 Hiệu suất học máy và học sâu với lượng dữ liệu
1.6 Một số mô hình trong học sâu
1.6.1 Convolutional Neural Network
Convolutional Neural Network (CNN)là một trong những mô hình DL phổ biến nhất hiện nay và được sử dụng rộng rãi đặc biệt là trong lĩnh vực Computer Vision CNN được dùng giải quyết nhiều bài toán khác nhau như: nhận dạng ảnh, phân tích video, ảnh MRI, hoặc cho bài các bài toán về lĩnh vực xử lý ngôn ngữ tự nhiên [1][2]
Trang 22CNN là tập hợp các lớp cơ bản bao gồm: convolutional layer (CONV), pooling layer, fully connected layer (FC) Ngoài ra, có một số kỹ thuật được
sử dụng để cải thiện quá trình huấn luyện như: batch normalization, skip connection [2]
Các lớp này sẽ được liên kết với nhau theo một thứ tự nhất định Thông thường, một ảnh sẽ được lan truyền qua tầng convolutional layer layer đầu tiên, sau đó các giá trị tính toán được sẽ lan truyền qua pooling layer, convolution layer - pooling layer có thể được lặp lại nhiều lần trong network Và sau đó được lan truyền qua tầng fully connected layer và loss functions để tính xác suất ảnh đó chứa đối tượng gì
Hình 12 Kiến trúc mạng CNN
Convolutional layer đóng vai trò quan trọng trong việc vận hành của mạng CNN Các tham số của convolutional layer bao gồm một tập hợp các bộ lọc (kernels) có thể học được, những bộ lọc này đều nhỏ về mặt không gian (chiều rộng và chiều cao) nhưng mở rộng qua toàn bộ chiều sâu (kênh màu) của khối lượng đầu vào [2] Ví dụ: một bộ lọc điển hình trên lớp đầu tiên của mạng CNN có thể có kích thước 5x5x3 (tức là chiều rộng và chiều cao 5 pixel
và 3 vì hình ảnh có 3 kênh màu)