Mạng nơ-ron tích chập là một mô hình Deep Learning có thể lấy hình ảnh đầu vào, gán các trọng số cho các đặc trƣng khác nhau trong hình ảnh và có thể phân biệt đƣợc từng đặc trƣng này vớ
Trang 1TRƯỜNG ĐẠI HỌC QUY NHƠN
Trang 2Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướng dẫn khoa học của TS Lê Xuân Vinh; Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệu, hình ảnh trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo
Ngoài ra, trong luận văn còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn
và chú thích nguồn gốc
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung luận văn của mình Trường Đại học Quy Nhơn không liên quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)
Bình Định, ngày tháng năm 2023
Tác giả
Trang 3Em xin chân thành cảm ơn các Thầy, các Cô Khoa Công nghệ Thông tin Trường Đại học Quy Nhơn đã tận tình dạy dỗ, truyền đạt cho em nhiều kiến thức quý báu
Em xin tỏ lòng biết ơn sâu sắc đến thầy TS Lê Xuân Vinh, người
đã tận tình giúp đỡ và truyền đạt nhiều kinh nghiệm để đề tài có thể được thực hiện và hoàn thành Xin chân thành cảm ơn các bạn trong lớp Cao học Khoa học dữ liệu ứng dụng K24B, các bạn Khoa Công Nghệ Thông Tin, Trường Đại học Quy Nhơn đã giúp đỡ, động viên tôi rất nhiều trong quá trình thực hiện đề tài
Em xin chân thành cảm ơn!
Bình Định, ngày tháng năm 2023
Tác giả
Trang 4LỜI CAM ĐOAN
LỜI CẢM ƠN
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH
MỞ ĐẦU 1
1.Lý do chọn đề tài 1
2 Yêu cầu của đề tài 3
3 Đối tượng nghiên cứu 3
4 Phạm vi nghiên cứu 4
5 Phương pháp nghiên cứu 4
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VÀ KỸ THUẬT CHO DEEP LEARNING 5
1.1 Tổng quan về học máy 5
1.1.1 Một số khái niệm chung 5
1.1.2 Các thuật toán học máy 6
1.2 Mạng nơ-ron (Neural Network) 7
1.2.1 Tổng quan về mạng nơ-ron 7
1.2.2 Các thành phần cơ bản của mạng nơ-ron nhân tạo 8
1.2.3 Kiến trúc ANN 13
1.2.4 Hoạt động của ANN 14
1.3 Mạng nơ-ron tích chập (CNN) 15
1.4 Kết luận 17
CHƯƠNG 2: MÔ HÌNH CONVOLUTIONAL NEURAL NETWORKS 18
2.1 Cấu trúc của CNN 18
2.1.1 Lớp tích chập (Convolution layer) 18
2.1.2 Lớp gộp (Pooling Layer) 20
Trang 52.1.4 Lớp chuẩn hóa 22
2.1.5 Lớp kết nối đầy đủ (Fully connected - FC) 23
2.1.6 Lớp đầu ra 23
2.2 Một số mô hình mạng CNN tiêu biểu 23
2.3.1 LeNet 24
2.3.2 AlexNet 25
2.4 Kết luận 26
CHƯƠNG 3: ỨNG DỤNG MẠNG CNN TRONG VIỆC PHÁT HIỆN BUỒN NGỦ KHI LÁI XE Ô TÔ 27
3.1 Giới thiệu và phân tích bài toán 27
3.2 Xây dựng mạng cho mô hình 29
3.3 Huấn luyện mô hình 31
3.4 Đánh giá mô hình 38
KẾT LUẬN 41
TÀI LIỆU THAM KHẢO 42
QUYẾT ĐỊNH GIAO TÊN ĐỀ TÀI (BẢN SAO)
Trang 6STT Từ viết tắt Từ Tiếng Anh Giải thích
1 CNN Convolutional Neural
2 DCGANs
Deep Convolutional Generative Adversarial Networks
Mạng tích-chập đối kháng sinh mẫu đa lớp
3 DNN Deep Neural Network Mạng Nơ-ron đa lớp
Tập chữ viết tay MNIST
7 RNN Recurrent Neural Network Mạng Nơ-ron hồi quy
Trang 7Bảng 3.1: Hiệu suất của Accuracy và Loss qua 100 lần lặp 39
Trang 8Hình 1.1: Mô hình mạng nơ-ron [2] 7
Hình 1.2 Đơn vị xử lý (Processing Unit) 8
Hình 1.3 Hàm đồng nhất (Identity function) 10
Hình 1.4 Hàm bước nhị phân (Binary step function) 11
Hình 1.5 Hàm Sigmoid 12
Hình 1.6 Hàm sigmoid lưỡng cực 12
Hình 1.7 Đồ thị hàm ReLU 13
Hình 1.8 Kiến trúc 3 phần của mạng ANN 13
Hình 1.9 Mạng nơ-ron nhiều lớp 14
Hình 1.10 Tế bào mạng nơ-ron nhân tạo [3] 14
Hình 1.11 Cấu trúc cơ bản của mạng Nơ-ron Tích chập (Lecun, 1989) 16
Hình 1.12 Kiến trúc mạng tích chập tiêu biểu [4] 17
Hình 2.1 Minh họa việc áp dụng phép tính Conv 19
Hình 2.2 Minh họa hoạt động của lớp pooling [5] 21
Hình 2.3 Minh hoạ hoạt động của hàm hiệu chỉnh 22
Hình 2.4 LeNet 24
Hình 2.5 AlexNet 25
Hình 3.1 Sơ đồ thuật toán phát hiện lái xe buồn ngủ 27
Hình 3.2 Sơ đồ quá trình tiền xử lý dữ liệu 29
Hình 3.3 Sơ đồ xây dựng mô hình phát hiện lái xe buồn ngủ 30
Hình 3.4 Sơ đồ huấn luyện mô hình phát hiện lái xe buồn ngủ 31
Hình 3.5 Sử dụng mô hình phát hiện lái xe buồn ngủ 35
Hình 3.6 Đồ thị độ chính xác và giá trị lỗi 39
Trang 9MỞ ĐẦU
1.Lý do chọn đề tài
Theo Hiệp hội các nhà sản xuất ô tô Việt Nam (VAMA), tổng lượng bán ôtô mới trong tháng 8/2023 là 22.540 xe, bao gồm xe 17.335 du lịch; 5.036 xe thương mại và 169 xe chuyên dụng, tăng 8% so với tháng 7 Tính chung doanh số của VAMA và TC Group trong tháng 8 vừa qua toàn thị trường ô tô Việt Nam tiêu thụ 25.685 xe, nâng tổng doanh số 8 tháng năm 2023 lên 219.745 xe các loại được bàn giao cho khách hàng trong cả nước Trước tình hình tăng nhanh của thị trường xe ô tô ở Việt Nam thì cũng đi kèm theo đó nhiều bất cập trong xã hội
Theo nghiên cứu của Trung tâm Nationnal Jewish Health, Mỹ, cho biết:
“Thiếu ngủ là một trong những nguyên nhân chính gây tai nạn giao thông trên thế giới Ước tính khoảng 10-15% tai nạn xe có liên quan đến thiếu ngủ Nghiên cứu về giấc ngủ của các người lái xe 19 quốc gia châu Âu cho thấy tỷ
lệ buồn ngủ khi lái xe cao, trung bình 17% Trong đó 10,8% người buồn ngủ khi lái xe ít nhất một lần trong tháng, 7% từng gây tai nạn giao thông do buồn ngủ, 18% suýt xảy ra tai nạn do buồn ngủ”
Thực tế tại Việt Nam, theo thống kê về tai nạn giao thông của cục cảnh sát giao thông cho biết trong năm 2022, tai nạn giao thông đường bộ xảy ra 11.323 vụ, làm chết 6.265 người, bị thương 7.777 người Trong đó, tai nạn giao thông do phương tiện xe ô tô kinh doanh vận tải gây ra 3.904 vụ (34,48%), làm chết 2.497 người (39,86%), bị thương 1.820 người (23,40%).Từ năm 2022 đến hết 6 tháng đầu năm 2023, cả nước xảy ra 16.229
vụ tai nạn giao thông đường bộ, làm chết 9.086 người, làm bị thương 11.235
Trang 10người Trong đó, tai nạn giao thông do phương tiện kinh doanh vận tải xảy ra 5.778 vụ (35,60%), làm chết 3.724 người (40,99%), bị thương 2.767 người (24,63%).thương nhẹ
Vì vậy, việc phát triển các hệ thống phát hiện buồn ngủ khi lái xe trở nên quan trọng và rất cấp thiết
Từ năm 2006, Deep Learning (học sâu) nổi lên như một lĩnh vực mới của học máy Ngày nay, sự thay đổi lớn nhất trong học sâu là độ sâu của mạng lưới thần kinh đã phát triển từ một vài lớp đến hàng trăm lớp, khả năng nhận dạng các mẫu lớn hơn, với nguồn thông tin lớn hơn giúp tăng khả năng tiếp nhận các đối tượng trở nên rộng hơn, chi tiết hơn Sự phát triển nhanh chóng của học sâu, đặc biệt là sự phát triển của mạng nơ-ron tích chập (CNN), tạo nên sự chủ động trong các ứng dụng liên quan đến thị giác máy Mạng nơ-ron tích chập có thể được ứng dụng để phát hiện tài xế buồn ngủ khi lái xe
Mạng nơ-ron tích chập là một mô hình Deep Learning có thể lấy hình ảnh đầu vào, gán các trọng số cho các đặc trưng khác nhau trong hình ảnh và
có thể phân biệt được từng đặc trưng này với nhau Mạng nơ-ron tích chập có khả năng tự học để chọn ra các đặc trưng tốt nhất
Từ năm 1998, kiến trúc LeNet là mạng đầu tiên áp dụng tích chập 2 chiều; Năm 2012, kiến trúc AlexNet là mạng áp dụng CNN đầu tiên chiến thắng trong cuộc thi ImageNet; Năm 2014, kiến trúc VGG-16 hình thành một
xu hướng cải thiện độ chính xác của các mạng học sâu nhờ việc tăng độ sâu của chúng; Năm 2014, kiến trúc GoogleNet - InceptionV1 kết hợp nhiều bộ lọc có kích thước khác biệt vào cùng một khối Định hình kiến trúc khối cho các kiến trúc mạng CNN chuẩn sau này; Năm 2015, kiến trúc ResNet-50 sử
Trang 11dụng kết nối tắt để ánh xạ các đầu vào từ những layer trước đó tới những layer sau Là kiến trúc mạng rất sâu nhưng có số tham số nhỏ hơn nhờ kế thừa những kỹ thuật từ GoogleNet; Năm 2016, kiến trúc DenseNet là bước phát triển tiếp theo của ResNet khi kế thừa kiến trúc khối và phát triển kết nối tắt theo một mạng dày đặc Gần đây những kiến trúc mạng như MobileNet, SqueezeNet, NasNet và kiến trúc EfficientNet dựa trên việc tìm kiếm tối ưu trên không gian các tham số Depth, Width và Channel đã được Google phát triển và tạo ra những phương pháp, kỹ thuật tốt nhất mang lại hiệu quả cao nhất từ trước đến nay trên bộ dữ liệu ImageNet được sử dụng rộng rãi
Mô hình CNN (Convolutional Neural Network) là một loại kiến trúc mạng nơ-ron sâu thường được sử dụng trong xử lý ảnh và nhận dạng hình ảnh CNN đã đạt được nhiều thành công lớn trong nhiều ứng dụng khác nhau, bao gồm nhận dạng đối tượng, phân loại hình ảnh, xử lý video, và nhiều nhiệm vụ khác có liên quan đến dữ liệu hình ảnh
Do những nhận xét như trên, chúng tôi sẽ đề xuất hướng tiếp cận sử dụng mạng CNN để xây dựng mô hình phát hiện lái xe buồn ngủ, nhằm cảnh báo, nhắc nhở lái xe, giúp giảm thiểu tai nạn giao thông, an toàn cho người
tham gia giao thông với đề tài “Ứng dụng mô hình CNN phát hiện buồn ngủ khi lái xe ô tô”
2 Yêu cầu của đề tài
Nghiên cứu cơ sở lý thuyết về học máy, học sâu và mô hình CNN
Xây dựng hệ thống phát hiện tài xế ngủ gật và cảnh báo cho tài xế
3 Đối tượng nghiên cứu
Nghiên cứu cơ sở lý thuyết về học máy, học sâu và mô hình CNN
Trang 12Xây dựng hệ thống nhận dạng, phát hiện hình ảnh tài xế ngủ gật bằng mạng CNN
4 Phạm vi nghiên cứu
Về thời gian: từ năm 2020 - 2023
Về không gian: tại Trung Tâm Huấn luyện Và Sát Hạch Lái Xe thuộc Trường CĐ-CĐ Xây Dựng Và Nông Lâm Trung Bộ
5 Phương pháp nghiên cứu
- Phương pháp nghiên cứu tài liệu
- Phương pháp phân tích, tổng hợp
- Phương pháp thực nghiệm
Trang 13CHƯƠNG 1:
CƠ SỞ LÝ THUYẾT VÀ KỸ THUẬT CHO DEEP LEARNING
Trong chương này, chúng tôi sẽ trình bày khái quát về Học máy, các thuật toán học máy, mạng nơ-ron nhân tạo; chúng tôi sẽ trình bày chi tiết về
mô hình mạng nơ-ron tích chập Convolution Neural Networks(CNN)
1.1 Tổng quan về học máy
1.1.1 Một số khái niệm chung
Học máy (Machine Learning) là một phần trong trí tuệ nhân tạo bao gồm các thuật toán máy tính được sử dụng để tự học từ dữ liệu để giải quyết những vấn đề và xử lý các thông tin cụ thể nào đó Mặc dù học máy là một lĩnh vực trong khoa học máy tính, nó khác với các phương pháp tính toán truyền thống Trong tính toán truyền thống, các thuật toán là tập hợp các hướng dẫn được lập trình rõ ràng được sử dụng bởi các máy tính để tính toán hoặc giải quyết vấn đề Thay vào đó, thuật toán học máy cho phép máy tính huấn luyện
dữ liệu đầu vào và sử dụng phân tích thống kê để đưa ra các giá trị nằm trong một phạm vi cụ thể Do đó, học máy tạo điều kiện cho các máy tính xây dựng
mô hình từ dữ liệu mẫu để tự động hóa các quy trình ra quyết định dựa trên
dữ liệu đầu vào Ngày nay, học máy được áp dụng rộng rãi ở mọi lĩnh vực như: nhận dạng khuôn mặt (face detection), nhận dạng ký tự quang học (OCR) Các công cụ đề xuất, được hỗ trợ bởi học máy, đề xuất những bộ phim hoặc chương trình truyền hình nào để xem tiếp theo dựa trên sở thích của người dùng Xe tự lái dựa vào học máy để vận hành có thể sớm có mặt trên thị trường
Các mô hình học máy yêu cầu lượng dữ liệu đủ lớn để "huấn luyện" và đánh giá mô hình Sự tăng trưởng trong dữ liệu lớn (big data) đã cung cấp dữ liệu cho các thuật toán học máy để cải thiện độ chính xác của mô hình
Trang 141.1.2 Các thuật toán học máy
- Học có giám sát (Supervised learning)
Trong học máy có giám sát, máy tính 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 Một số ví dụ sử dụng phổ biến của việc học có giám sát là sử dụng dữ liệu lịch sử để dự đoán các sự kiện có thể xảy ra trong tương lai Xác định tín hiệu hay biến số tốt nhất để dự báo lợi nhuận trong tương lai của cổ phiếu hoặc dự đoán xu hướng thị trường chứng khoán
- Học không giám sát (Unsupervised learning)
Trong học máy không giám sát, máy tính không được cung cấp dữ liệu được gán nhãn mà thay vào đó chỉ được cung cấp dữ liệu mà thuật toán tìm cách mô tả dữ liệu và phát hiện cấu trúc của chúng Ví dụ phân loại các công
ty thành các nhóm công ty tương đồng dựa trên đặc điểm của chúng thay vì sử dụng tiêu chuẩn của các nhóm ngành hoặc các quốc gia
- Học bán giám sát (Semi-Supervised Learning)
Trong học máy bán giám sát, máy tính được cung cấp dữ liệu nhưng dữ liệu mới được gán nhãn một phần Do đó phải sử dụng học không giám sát (để khám phá và tìm hiểu cấu trúc dữ liệu đầu vào) và học có giám sát (để dự đoán cho dữ liệu không được gán nhãn) để giải quyết
- Học củng cố (Reinforcement learning)
Học củng cố còn gọi là học tăng cường, thuật toán tự học cách xác định hành động tùy theo các quan sát về thế giới Mỗi hành động đều có tác động tới môi trường, và môi trường cung cấp thông tin phản hồi để hướng dẫn cho thuật toán trong quá trình học Chuyển đổi tương tự học máy có giám sát
Trang 15nhưng không xây dựng hàm một cách rõ ràng Thay vì thế, cố gắng đoán kết quả mới dựa vào các dữ liệu huấn luyện, kết quả huấn luyện, và dữ liệu thử nghiệm có sẵn trong quá trình huấn luyện
1.2 Mạng nơ-ron (Neural Network)
ạ ơ-ron
Mạng nơ-ron nhân tạo (Artificial Neural Network: ANN) được thiết kế
để mô hình một số tính chất của mạng nơ-ron sinh học Để mô phỏng các tế bào thần kinh và các khớp nối thần kinh của bộ não con người, trong mạng nơ-ron nhân tạo cũng có các thành phần có vai trò tương tự các thành phần trong mạng nơ-ron thần kinh Mạng nơ-ron nhân tạo là một cấu trúc khối gồm các đơn vị tính toán đơn giản được liên kết chặt chẽ với nhau trong đó các liên kết giữa các nơ-ron quyết định chức năng của mạng
Logistic regresion Nơ-ron là một đơn vị tính toán có nhiều đầu vào và
một đầu ra Trong đó, thành phần cơ bản của ANN là nơ-ron nhân tạo có cách thức hoạt động và xử lý tương tự nơ-ron sinh học ANN được hình thành từ số lượng lớn các nơ-ron được liên kết với nhau theo cấu trúc từng tầng (layer), các nơ-ron kết nối với nhau giữa các tầng thông qua trọng số liên kết (weight)
Hình 1.1: Mô hình mạng nơ-ron [2]
Mô hình toán học
Trang 161.2.2 Các thành phầ cơ bản của mạ ơ-ron nhân tạo
1.2.2.1 Đơn vị xử lý
Còn được gọi là một nơ-ron hay một nút (node), thực hiện công việc đơn giản: nó nhận tín hiệu vào từ các đơn vị phía trước hay một nguồn bên ngoài
và sử dụng chúng để tính tín hiệu ra sẽ được lan truyền sang các đơn vị khác
Hình 1.2 Đơn vị xử lý (Processing Unit)
Trong đó: : các giá trị đầu vào
: các trọng số tương ứng với các đầu vào
: độ lệch (bias)
: đầu vào mạng (net-input)
: đầu ra của nơ-ron
hàm chuyển (hàm kích hoạt)
Trong một mạng nơ-ron có ba kiểu đơn vị:
- Các đơn vị đầu vào (Input units), nhận tín hiệu từ bên ngoài
- Các đơn vị đầu ra (Output units), gửi dữ liệu ra bên ngoài
- Các đơn vị ẩn (Hidden units), tín hiệu vào (input) và ra (output) của
nó nằm trong mạng
Trang 17Mỗi đơn vị có thể có một hoặc nhiều đầu vào nhưng chỉ có một đầu ra Một đầu vào tới một đơn vị có thể là dữ liệu từ bên ngoài mạng, hoặc đầu ra của một đơn vị khác, hoặc là đầu ra của chính nó
1.2.2.2 Hàm kết hợp
Mỗi một đơn vị trong một mạng kết hợp với các giá trị đưa vào nó thông qua các liên kết với các đơn vị khác, sinh ra một giá trị gọi là net input Hàm thực hiện nhiệm vụ này gọi là hàm kết hợp (combination function) Trong phần lớn các mạng nơ-ron, mỗi đơn vị cung cấp một bộ công cụ như là đầu vào cho đơn vị mà nó liên kết Tổng đầu vào đơn vị đơn giản chỉ là tổng có trọng số của các đầu vào từ các đơn vị kết nối cộng thêm ngưỡng hay độ lệch (bias) :
Trong trường hợp , nơ-ron được coi là đang ở trong trạng thái kích hoạt Tương tự, nếu như , nơ-ron ở trạng thái kiềm chế Các đơn
vị với luật lan truyền như trên là các sigma units
Trong một vài trường hợp cũng có thể sử dụng các luật lan truyền phức tạp hơn Một trong số đó là luật sigma-pi, có dạng:
Rất nhiều hàm kết hợp sử dụng một “độ lệch” hay “ngưỡng” để tính net input tới đơn vị Đối với một đơn vị đầu ra tuyến tính, thông thường được chọn là hằng số và trong bài toán xấp xỉ đa thức
Trang 181.2.2.3 Hàm kích hoạt (activation function)
Phần lớn các đơn vị trong mạng nơ-ron chuyển net input bằng cách sử dụng một hàm vô hướng (scalar-to-scalar function) gọi là hàm kích hoạt, kết quả của hàm này là một giá trị gọi là mức độ kích hoạt của đơn vị (unit’s activation) Trừ đơn vị đó thuộc lớp ra, giá trị kích hoạt được đưa vào một hay nhiều đơn vị khác Các hàm kích hoạt thường bị ép vào một khoảng giá trị xác định Các hàm kích hoạt hay được sử dụng là:
- Hàm đồng nhất (Linear function, Identity function)
Nếu coi các giá trị đầu vào là một đơn vị thì chúng sẽ sử dụng hàm này Đôi khi một hằng số được nhân với net input để tạo ra một hàm đồng nhất
Hình 1.3 Hàm đồng nhất (Identity function)
- Hàm bước nhị phân (Birary step function, Hard limit function)
Hàm này cũng được biết đến với tên “Hàm ngưỡng” (Threshold function hay Heaviside function) Đầu ra của hàm này được giới hạn vào một trong hai giá trị:
Hàm này được dùng trong các mạng chỉ có một lớp Với được chọn
Trang 19bằng 1 hàm bước nhị phân có dạng:
Hình 1.4 Hàm bước nhị phân (Binary step function)
- Hàm sigmoid (Sigmoid function (logsig))
Hàm này đặc biệt thuận lợi khi sử dụng cho các mạng được huấn luyện (trained) bởi thuật toán Lan truyền ngược (back-propagation), bởi vì nó dễ lấy đạo hàm, do đó có thể giảm đáng kể tính toán trong quá trình huấn luyện Hàm sigmoid được ứng dụng cho các chương trình ứng dụng mà các đầu ra mong muốn rơi vào khoảng [0,1]
Trang 21Hình 1.7 Đồ thị hàm ReLU
1.2.3 Kiến trúc ANN
Kiến trúc chung của ANN đƣợc mô tả gồm ba kiểu lớp: Lớp đầu vào (Input Layer), lớp ẩn (Hidden Layer) và lớp đầu ra (Ouput Layer)
Hình 1.8 Kiến trúc 3 phần của mạng ANN
Lớp input layer (lớp đầu vào): lớp này nằm bên trái cùng của mạng, thể hiện cho các đầu vào của mạng
Lớp output layer (lớp đầu ra): là lớp bên phải cùng và nó thể hiện cho
Trang 22những đầu ra của mạng
Lớp hidden layer (lớp ẩn): lớp này nằm giữa lớp đầu vào và lớp đầu ra
nó thể hiện cho quá trình suy luận logic của mạng
Mỗi một mạng nơ-ron chỉ có duy nhất một lớp đầu vào và một lớp đầu ra nhƣng lại có rất nhiều lớp ẩn
Hình 1.9 Mạng nơ-ron nhiều lớp
1.2.4 Hoạt động của ANN
Hình 1.10 Tế bào mạng nơ-ron nhân tạo [3]
Trang 23- Các giá trị đầu vào thường được đưa vào dưới dạng một véc-tơ N chiều
- Tập các liên kết: Có chức năng truyền thông tin trong đó ứng với một liên kết có một trọng số (hay trọng số liên kết là số thực biểu thị mức độ quan trọng của liên kết với đầu ra - weight) Thông thường, các trọng số này được khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình huấn luyện
- Hàm kết hợp g (combination function): Thường dùng để tính tổng của tích các giá trị đầu vào với trọng số liên kết tương ứng của nó (vì thế một số tài liệu là hàm tổng – summing function)
- Hàm kích hoạt (active function): Hàm này được dùng để giới hạn phạm
vi đầu ra của mỗi nơ-ron Có đầu vào là kết quả của hàm kết hợp và ngưỡng
đã cho Thông thường, phạm vi đầu ra của mỗi nơ-ron được giới hạn trong đoạn [0,1] hoặc [-1, 1] Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặc phi tuyến Việc lựa chọn hàm truyền nào là tuỳ thuộc vào từng bài toán và kinh nghiệm của người thiết kế mạng
1.3 Mạng nơ-ron tích chập (CNN)
Mạng nơ-ron tích chập (CNNs) (LeCun et al, 1989) là một mô hình học sâu có thể xây dựng được các hệ thống phân loại ảnh với độ chính xác cao Ý tưởng của CNNs được lấy cảm hứng từ khả năng nhận biết thị giác của bộ não người Để có thể nhận biết được các hình ảnh trong vỏ não người có hai loại
tế bào là tế bào đơn giản và tế bào phức tạp (Hubel & Wiesel, 1968) Các tế bào đơn giản phản ứng với các mẫu hình dạng cơ bản ở các vùng kích thích thị giác và các tế bào phức tạp tổng hợp thông tin từ các tế bào đơn giản để xác định các mẫu hình dạng phức tạp hơn Khả năng nhận biết các hình ảnh của não người là một hệ thống xử lý hình ảnh tự nhiên mạnh mẽ và tự nhiên
Trang 24nên CNNs được phát triển dựa trên ba ý tưởng chính: tính kết nối cục bộ (Local connectivity hay compositionality), tính bất biến (Location invariance)
và tính bất biến đối với quá trình chuyển đổi cục bộ (Invariance to local transition) (LeCun et al., 2015) CNNs là một dạng mạng nơ-ron chuyên dụng
để xử lý các dữ liệu dạng lưới một chiều như dữ liệu âm thanh, dữ liệu MGE hoặc nhiều chiều như dữ liệu hình ảnh, video
Cấu trúc cơ bản của CNNs gồm các lớp tích chập (Convolution layer), lớp phi tuyến (Nonlinear layer) và lớp lọc (Pooling layer) Các lớp tích chập kết hợp với các lớp phi tuyến sử dụng các hàm phi tuyến như ReLU hay tanh
để tạo ra thông tin trừu tượng hơn (Abstract/higher-level) cho các lớp tiếp theo
Hình 1.11 Cấu trúc cơ bản của mạng Nơ-ron Tích chập (Lecun, 1989)
Các lớp liên kết trong CNNs được với nhau thông qua cơ chế tích chập Lớp tiếp theo là kết quả tích chập từ lớp trước đó vì vậy CNNs có được các kết nối cục bộ vì mỗi nơ-ron ở lớp tiếp theo sinh ra từ một bộ lọc được áp đặt lên một vùng cục bộ của lớp trước đó Nguyên tắc này được gọi là kết nối cục
bộ (Local connectivity) Mỗi lớp như vậy được áp đặt các bộ lọc khác nhau Một số lớp khác như lớp pooling/subsampling dùng để lọc lại các thông tin hữu ích hơn bằng cách loại bỏ các thông tin nhiễu Trong suốt quá trình huấn luyện, CNNs sẽ tự động học các tham số cho các lớp Lớp cuối cùng được gọi
là lớp kết nối đầy đủ (Fully connect layer) dùng để phân lớp
Trang 25Một số kiến trúc mạng tích chập cụ thể được đề xuất và sử dụng phổ biến như AlexNet, VGGNet thể hiện trong hình sau:
Hình 1.12 Kiến trúc mạng tích chập tiêu biểu [4]
1.4 Kết luận
Trong chương 1, chúng tôi đã trình bày 3 nội dung chính: Tổng quan về học máy, một số khái niệm chung, các thuật toán học máy; Tìm hiểu tổng quan về mạng nơ-ron nhân tạo