Kết quả dự đoán trên train set của các base models được sử dụng nhưlà input features ensemble train set để train stacking model.. Kết quả dự đoán trên test set của các base models đư
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KĨ THUẬT TP.HCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
BÁO CÁO MÔN HỌC HỆ THỐNG NHÚNG
TÊN ĐỀ TÀIEssembling neuron network
Giảng viên hướng dẫn: PGS.TS Võ Minh Huân
Sinh viên: Đỗ Hồ Xuân Long
MSSV: 20161223
Lý Gia Huy
MSSV: 2016120
TP HỒ CHÍ MINH - Tháng 11 năm 2022
Trang 2CỘNG HOA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc
*** Tp Hồ Chí Minh, tháng 11 năm 2022
NHIỆM VỤ BÁO CÁO MÔN HỌC
Lý Gia Huy 20161205Ngành: CNKT Điện tử - Viễn thông Lớp: 20161CLC2BGiảng viên hướng dẫn: PGS.TS Võ Minh Huân
1 Tên đề tài: Xây dựng cấu trúc mạng nơ-ron phân biệt 10 chữ số từ 0 đến 9 qua hình ảnh
2 Các số liệu, tài liệu ban đầu:
- Kiến thức về phương pháp xây dựng cấu trúc mạng nơ-ron
- Kiến thức hiểu biết về ngôn ngữ Python
3 Nội dung thực hiện đề tài:
- Tìm hiểu cách xây dựng cấu trúc mạng nơ-ron
- Viết chương trình xây dựng cấu trúc mạng nơ-ron, phân biệt 10 chữ số
từ 0 đến 9 qua hình ảnh
- Viết báo cáo và chuẩn bị thuyết trình
4 Kết quả: xây dựng cấu trúc mạng nơ-ron phân biệt 10 chữ số từ 0 đến 9 qua hình ảnh
Trang 3CỘNG HOA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc
*** Tp Hồ Chí Minh, tháng 11 năm 2022 PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ và tên sinh viên: Đỗ Hồ Xuân Long MSSV: 20161223 Lý Gia Huy 20161205
Ngành: CNKT Điện tử - Viễn thông Lớp: 20161CLC2B Giảng viên hướng dẫn: PGS.TS Võ Minh Huân NHẬN XÉT 1 Về nội dung đề tài & khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Điểm: ……….(Bằng chữ: )
Tp Hồ Chí Minh, tháng 11 năm 2022
Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)
Trang 4LỜI CẢM ƠN
Trước tiên, sinh viên thực hiện báo cáo xin chân thành cảm ơn các giảng viên trong khoa Điện - Điện tử, khoa Đào tạo chất lượng cao nói chung và các giảng viên trong bộ môn Điện tử - Viễn thông nói riêng đã tạo điều kiện cho sinh viên đầy đủ kiến thức hoàn thành báo cáo này Đặc biệt xin chân thành cảm
ơn giảng viên hướng dẫn, PGS.TS Võ Minh Huân đã nhiệt tình hướng dẫn, giúp
đỡ và định hướng giúp sinh viên hoàn thành báo cáo này một cách tốt nhất trongthời gian cho phép
Trong thời gian thực hiện báo cáo, sinh viên không thể không gặp những sai sót và hạn chế nên mong thầy có thể thông cảm Đồng thời sinh viên cũng mong muốn nhận được đóng góp ý kiến từ quý từ thầy để có thể rút kinh
nghiệm và trau dồi thêm kiến thức, kinh nghiệm quý báu về lĩnh vực này
Cuối cùng, chúc thầy mạnh khỏe và gặt hái thêm thật nhiều thành công trong sự nghiệp giảng dạy, đào tạo thêm thật nhiều những kỹ sư lành nghề trongtương lai
Xin chân thành cảm ơn!
Tp Hồ Chí Minh, tháng 11 năm 2022
Sinh viên thực hiện
Đỗ Hồ Xuân Long – Lý Gia Huy
Trang 5TÓM TẮT
Những năm gần đây, AI - Artificial Intelligence (Trí Tuệ Nhân Tạo), và
cụ thể hơn là Machine Learning (Học Máy hoặc Máy Học) nổi lên như mộtbằng chứng của cuộc cách mạng công nghiệp lần thứ tư (1 - động cơ hơi nước,
2 - năng lượng điện, 3 - công nghệ thông tin) Trí Tuệ Nhân Tạo đang len lỏivào mọi lĩnh vực trong đời sống mà có thể chúng ta không nhận ra Xe tự hànhcủa Google và Tesla, hệ thống tự tag khuôn mặt trong ảnh của Facebook, trợ lý
ảo Siri của Apple, hệ thống gợi ý sản phẩm của Amazon, hệ thống gợi ý phimcủa Netflix, máy chơi cờ vây AlphaGo của Google DeepMind, …, chỉ là mộtvài trong vô vàn những ứng dụng của AI/Machine Learning
Mô hình học máy là một biểu hiện của một thuật toán quét qua hàng triệu,hàng tỷ dữ liệu để tìm ra các mẫu hình hoặc đưa ra dự đoán Được cung cấp dữliệu, các mô hình học máy (ML) là “động cơ” toán học của trí tuệ nhân tạo.Cũng chính vì thế mà nhóm sinh viên ngành Điện tử - Viễn thông muốn nghiêncứu và phát triển thêm về kiến thúc hữu ích này Cũng chính vì sự quan trọng đó
mà nhóm em đã nghiên cứu báo cáo đề tài “Xây dựng cấu trúc mạng nơ-ronphân biệt 10 chữ số từ 0 đến 9 qua hình ảnh”
Trang 6MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU
1.1 TỔNG QUAN
1.2 MỤC TIÊU
1.3 GIỚI HẠN ĐỀ TÀI
1.4 BỐ CỤC BÁO CÁO
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 GIỚI THIỆU MACHINE LEARNING
2.1.1 Supervisor learning
2.1.2 Unsupervisor learning
2.2 GIỚI THIỆU MÔ HÌNH ENSEMBLES LEARNING
2.2.1 Basic Ensemble Techniques
2.2.2 Advanced Ensemble techniques
2.3 GIỚI THIỆU MÔ HÌNH MẠNG NƠ – RON
2.3.1 Lý thuyết cơ bản
2.3.2 Mô hình toán học
CHƯƠNG 3 XÂY DỰNG CODE VÀ MÔ PHỎNG
3.1 SOURCE CODE PHÂN BIỆT 9 CHỮ SỐ QUA HÌNH ẢNH
3.2 MÔ PHỎNG
CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
4.1 KẾT LUẬN
4.2 HƯỚNG PHÁT TRIỂN
TÀI LIỆU THAM KHẢO
Trang 7CHƯƠNG 1 GIỚI THIỆU 1.1 TỔNG QUAN
Những năm gần đây, AI - Artificial Intelligence (Trí Tuệ Nhân Tạo), và
cụ thể hơn là Machine Learning (Học Máy hoặc Máy Học) nổi lên như mộtbằng chứng của cuộc cách mạng công nghiệp lần thứ tư (1 - động cơ hơi nước,
2 - năng lượng điện, 3 - công nghệ thông tin) Trí Tuệ Nhân Tạo đang len lỏivào mọi lĩnh vực trong đời sống mà có thể chúng ta không nhận ra Xe tự hànhcủa Google và Tesla, hệ thống tự tag khuôn mặt trong ảnh của Facebook, trợ lý
ảo Siri của Apple, hệ thống gợi ý sản phẩm của Amazon, hệ thống gợi ý phimcủa Netflix, máy chơi cờ vây AlphaGo của Google DeepMind, …, chỉ là mộtvài trong vô vàn những ứng dụng của AI/Machine Learning
1.2 MỤC TIÊU
Mô hình học máy là một biểu hiện của một thuật toán quét qua hàng triệu,hàng tỷ dữ liệu để tìm ra các mẫu hình hoặc đưa ra dự đoán Được cung cấp dữliệu, các mô hình học máy (ML) là “động cơ” toán học của trí tuệ nhân tạo.Cũng chính vì thế mà nhóm sinh viên ngành Điện tử - Viễn thông muốn nghiêncứu và phát triển thêm về kiến thúc hữu ích này
1.3 GIỚI HẠN ĐỀ TÀI
Do đây chỉ là mô phỏng qua code tạo lập hình ảnh mà không phải là hìnhảnh từ đời sống từ thế giới thực, chính vì thế mà chưa thực tế hóa trong đờisống, chưa thể áp dụng vào xã hội một cách tốt nhất
1.4 BỐ CỤC BÁO CÁO
Chương 1 Giới thiệu
Chương 2 Cơ sở lý thuyết
Chương 3
Trang 8CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU MACHINE LEARNING
2.1.1 Supervisor learning
Thuật toán này bao gồm một biến mục tiêu / kết quả (hoặc biến phụ thuộc)được dự đoán từ một tập hợp các yếu tố dự báo nhất định (các biến độc lập) Sửdụng tập hợp các biến này, chúng tôi tạo ra một hàm ánh xạ đầu vào với đầu ramong muốn Quá trình đào tạo tiếp tục cho đến khi mô hình đạt được mức độchính xác mong muốn trên dữ liệu đào tạo Ví dụ: Regression, Decision Tree,Random Forest, KNN, Logistic Regression etc
2.1.2 Unsupervisor learning
Trong thuật toán này, chúng tôi không có bất kỳ biến mục tiêu hoặc kết quảnào để dự đoán / ước tính Nó được sử dụng để phân nhóm dân số theo cácnhóm khác nhau, được sử dụng rộng rãi để phân khúc khách hàng thành cácnhóm khác nhau cho các can thiệp cụ thể Ví dụ: Apriori algorithm, K-means
2.2 GIỚI THIỆU MÔ HÌNH ENSEMBLES LEARNING
2.2.1 Basic Ensemble Techniques
Trang 92.2.1.2 Averaging
Tương tự như kỹ thuật Voting, Averaging cũng sử dụng kết quả dự đoán củanhiều models Tuy nhiên, ở bước quyết định kết quả cuối cùng, giá trị trungbình của tất cả kêt quả của các models được lựa chọn
2.2.1.3 Weighted Average
Đây là kỹ thuật mở rộng của averaging Mỗi model được gắn kèm với mộttrọng số tỷ lệ với mức độ quan trọng của model đó Kết quả cuối cùng là trungbình có trọng số của tất cả kết quả của các models
2.2.2 Advanced Ensemble techniques
Đã có basic thì chắc chắn phải có advanced Có 4 kỹ thuật của EnsembleLearning được xếp vào nhóm advanced:
• Bước 2: Tiếp tuc train model A trên toàn bộ train set
• Bước 3: Sử dụng model A để dự đoán trên test set
• Bước 4: Lặp lại bước 1,2,3 cho các base model khác
Trang 10 Kết quả dự đoán trên train set của các base models được sử dụng như
là input features (ensemble train set) để train stacking model
Kết quả dự đoán trên test set của các base models được sử dụng như làtest set (ensemble test set) của stacking model
• Bước 6: Train và đánh giá stacking model sử dụng ensemble train set
và ensemble test set
2.2.2.2 Blending
Các bước thực hiện phương pháp này như sau:
• Buớc 1: Chia dataset thành train set, validation set và test set
• Bước 2: Base model được train trên train set
• Bước 3: Sử dụng base model để dự đoán trên validation set và test set
• Bước 4: Lặp lại bước 2,3 cho các base models khác
Validation set và các kết quả dự đoán trên validation set của các basemodels được sử dụng như là input features (ensemble train set) củablending model
Test set và các kết quả dự đoán trên test set của các base models được
sử dụng như là test set (ensemble test set) của blending model
• Bước 6: Train và đánh giá blending model sử dụng ensemble train set
và ensemble test set
2.2.2.3 Bagging
Bagging (Bootstrap Aggregating) khác với hai kỹ thuật trên ở chỗ, nó sửdụng chung 1 thuật toán cho tất cả các base models Tập dataset sẽ được chiathành các phần khác nhau (bags) và mỗi base model sẽ được train trên mỗi bagđó
Các bước thực hiện của bagging như sau:
• Bước 1: Chia tập dữ liệu ban đầu thành nhiều phần khác nhau (bags)
Trang 11• Bước 2: Tạo các base models (weak learner) và train chúng trên các
bags Các base model được train song song và độc lập với nhau
• Bước 3: Kết quả dự đoán cuối cùng được quyết định bằng cách kết
hợp kết quả từ các base models
2.2.2.4 Boosting
Nếu như các base models được train độc lập với nhau trong phương phápbagging, thì ở phương pháp boosting, chúng lại được train một cách tuần tự.Base model sau được train dựa theo kết quả của base model trước đó để cố gắngsửa những lỗi sai tồn tại ở model này
Các bước tiến hành như sau:
• Bước 1: Tạo một tập dữ liệu con (tập A) từ tập dữ liệu ban đầu (tập D).
• Bước 2: Gán cho mỗi điểm dữ liệu trong tập A một trọng số w có giá trị
giống nhau.
• Bước 3: Tạo một base model X và train trên tập A.
• Bước 4: Sử dụng model X để dự đoán trên toàn bộ tập D.
• Bước 5: Tính toán sai số dự đoán dựa vào kết quả dự đoán và kết quả thực
tế.
Trang 12• Bước 6: Gán giá trị w cao hơn cho những điểm dữ liệu bị dự đoán sai.
• Bước 7: Lặp lại bước 1,2,3,4,5,6 đối với base model mới, Y.
• Bước 8: Model cuối cùng (boosting model) sẽ là trung bình có trọng số của
tất cả các base models.
Mỗi base model được gọi là một weak learner Chúng sẽ không hoạt động tốttrên toàn bộ tập D, nhưng khi kết hợp nhiều weak learners ta được một stronglearner Strong learner này chắc chắn sẽ hiệu quả trên tập D Ta nói, các weaklearners đã boost performance cho strong learner
2.3 GIỚI THIỆU MÔ HÌNH MẠNG NƠ – RON
Mỗi nơ-ron nhận xung điện từ các nơ-ron khác qua sợi nhánh Nếu các xungđiện này đủ lớn để kích hoạt nơ-ron, thì tín hiệu này đi qua sợi trục đến các sợinhánh của các nơ-ron khác
Mạng noron nhân tạo (Artifical Neural Networks) mô phỏng lại hoạt độngcủa mạng nơ-ron sinh học, nó bao gồm một cấu trúc khối gồm các đơn vị tínhtoá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ácnoron quyết định chức năng của mạng
Các đặc trưng cơ bản của mạng nơron nhân tạo:
- Gồm một tập các đơn vị xử lý hay còn gọi là perceptron, nodes
- Trạng thái bit kích hoạt hay đầu ra của một đơn vị xử lý
Trang 13- Liên kết giữa các đơn vị Xét tổng quát, mỗi liên kết được định nghĩa
bởi một trọng số Wjk cho ta biết hiệu ứng mà tín hiệu của đơn vị j cótrên đơn vị k
- Một số luật lan truyền quyết định cách tính tín hiệu ra của từng đơn vị
từ đầu vào của nó
- Một hàm kích hoạt, hay hàm chuyển (activation function, transfer
function), xác định mức độ kích hoạt khác trong một khoảng giá trịdựa trên giá trị tuyến tính trước đó
- Một đơn vị điều chỉnh (độ lệch) (bias, offset) của mỗi đơn vị - Phương
pháp thu thập thông tin (luật học - learning rule) - Môi trường hệthống có thể hoạt động
- Mô hình mạng noron nhân tạo xây dựng dựa trên toán hồi quy theo đó
sẽ có công thức và hàm tính toán như sau:
2.3.2 Mô hình toán học
Đơn vị xử lý được gọi là một nơron hay một nút (node), thực hiện một côngviệc rất đơ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ồnbên ngoài và sử dụng chúng để dự đoán tín hiệu ra sẽ được lan truyền sang cácđơn vị nơ-ron khác
Perceptron là mạng nơ-ron lâu đời nhất, được tạo ra bởi Frank Rosenblatt vàonăm 1958 Nó có một nơ-ron duy nhất và là dạng mạng nơ-ron đơn giản nhất.Trong đó:
xi: các dữ liệu đầu vào
Trang 14 wji: các trọng số tương ứng với các đầu vào
θj: độ lệch hay ngưỡng (bias)
aj: đầu vào của hàm chuyển
zj: đầu ra của nơ-ron
g(aj): hàm chuyển (hàm kích hoạt)
Mô hình tổng quát
Hình 2-1 Mô hình cơ bản mạng nơ – ronCá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 Mỗi đơn vị j có thể có một hoặc nhiều đầu vào: x0, x1, x2, …
xn, nhưng chỉ có một đầu ra zj 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ó
Trang 15Mỗi một đơn vị trong một mạng kết hợp các giá trị đưa vào nó thông quacá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ựchiện nhiệm vụ này gọi là hàm kết hợp (combination function), được định nghĩabởi một luật lan truyền cụ thể Trong phần lớn các mạng nơron, chúng ta giả sửrằng mỗi một đơn vị cung cấp một bộ cộng như là đầu vào cho đơn vị mà nó cóliên kết Tổng đầu vào đơn vị j đơn giản chỉ là tổng trọng số của các đầu rariêng lẻ từ các đơn vị kết nối cộng thêm ngưỡng hay độ lệch (bias) θj:
Trường hợp wji > 0, nơron được coi là đang ở trong trạng thái kích thích.Tương tự, nếu như wji < 0, nơron ở trạng thái kiềm chế Chúng ta gọi 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 người
ta 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ậtsigma-pi, có dạng như sau:
Rất nhiều hàm kết hợp sử dụng một "độ lệch" hay "ngưỡng" để tính input tới đơn vị Đối với một đơn vị đầu ra tuyến tính, thông thường, θj đượcchọn là hằng số và trong bài toán xấp xỉ đa thức θj = 1
net-Phần lớn các đơn vị trong mạng nơron chuyển net-input bằng cách sử dụngmột hàm vô hướng (scalar-to-scalar function) gọi là hàm kích hoạt, kết quả củahàm này là một giá trị gọi là mức độ kích hoạt của đơn vị (unit's activation).Loại trừ khả năng đơn vị đó thuộc lớp ra, giá trị kích hoạt được đưa vào một haynhiề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, do đó thường được gọi là các hàm bẹp (squashing) Các hàm kích hoạt hayđược sử dụng là hàm Relu, Softmax, Binary step, sigmoid, Tansig
o Hàm ReLu
Trang 16Hình 2-2 Đồ thị hàm ReLU
o Hàm Softmax
Hình 2-3 Mô hình Softmax Regression dưới dạng Neural network
Trang 17Hình 2-4 Một số ví dụ đầu vào và đầu ra softmax
o Hàm Binary step
Hình 2-5 Đồ thị hàm hàm binary step
Trang 18Hình 2-6 Mô hình cơ bản mạng nơ – ron sử dụng hàm binary step
o Hàm sigmoid
Hình 2-7 Đồ thị hàm SigmoidHàm này đượ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]
o Hàm Tansig
Trang 19Hình 2-8 Đồ thị hàm tansigHàm này đượ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 [-1,1]
Phân loại kỹ thuật training
Lan truyền thẳng (Forward Propagation) – Dòng dữ liệu từ đơn vị đầu vàođến đơn vị đầu ra chỉ được truyền thẳng Việc xử lý dữ liệu có thể mở rộng ranhiều lớp, nhưng không có các liên kết phản hồi Nghĩa là, các liên kết mở rộng
từ các đơn vị đầu ra tới các đơn vị đầu vào trong cùng một lớp hay các lớp trước
đó là không cho phép