1. Lý do chọn đề tài Vấn đề về hệ thống hỗ trợ lái xe, và xe tự hành đã được phát triển và có những kết quả được áp dụng trong thực tiễn như hệ thống giữ làn đường, giữ khoảng cách an toàn với xe trước, phát hiện vật cản ... . Tuy nhiên, vấn đề nhận dạng, xử lý ảnh vẫn đang tiếp tục nghiên cứu để tạo ra các mẫu xe hoàn toàn tự động. Sự phát triển của việc xử lý ảnh, các mô hình mạng neuron tiên tiến. Cộng với sự phát triển của các bộ vi xử lý mạnh mẽ đáp ứng được nhu cầu xử lý, tính toán phức tạp trong thời gian thực mà lại nhỏ gọn có tính di động cao càng giúp cho vấn đề thực hóa driverless car ngày càng gần hơn. 7 Với các lý do trên và các kiến thức cơ bản về điện tử, xử lý ảnh, kiến trúc mạng neuron được học ở trường và kiến thức về CNNs, tôi chọn đề tài “” với mục đích chính là tiếp cận với sự phát triển vượt bậc của ngành thị giác máy tính. 2. Tính cấp thiết của đề tài Áp dụng các kiến thức đã được học và nghiên cứu các kiến thức mới của ngành thị giác máy tính để áp dụng vào đề tài tốt nghiệp. 3. Mục tiêu của đề tài Tạo ra được một chương trình cho phép huấn luyện model từ tập dữ liệu có sẵn cụ thể là ảnh về các loại biển báo. Và sau đó nhận dạng các bức ảnh mới thông qua model đã được huấn luyện trên một máy tính nhúng. 4. Mục đích và nhiệm vụ nghiên cứu 4.1. Mục đích Đặt ra và giải quyết các vấn đề về việc phân loại và nhận dạng hệ thống biển báo. Đây là vấn đề quan trọng trong các hệ thống xe tự động hiện có và trọng tương lai. 4.2. Nhiệm vụ Thứ nhât, tìm hiểu, đánh giá về các mạng CNNs và tiềm hiểu các dữ liệu đầu vào phù hợp. Thứ hai, tìm hiểu cách thực thi mạng CNNs đã chọn và các phần mềm, phần cứng cần thiết. Thứ 3, tiến hành thực thi, thử nghiệm và đánh giá hiệu quả của chương trình 8 5. Đối tượng và phạm vi nghiên cứu Đê tài nghiên cứu về sở lý thuyết của CNNs, cách thưc thực thi, các ngôn ngữ và thư viện cần thiết, máy tính nhúng và hệ điều hành kèm theo. 6. Nội dung và bố cục của đề tài Nội dung đề tài được tổ chức thành các phần chính như sau: - Phần mở đầu: Trình bày lý do và mục tiêu nghiên cứu xây dựng đề tài - Chương 1: Tổng quan về chương trình - Chương 2: Mạng nueral - Chương 3: Phần cứng và các phần mềm hỗ trợ. - Chương 4: Kết quả thử nghiệm và đánh giá - Phần kết luận và kiến ngh
Trang 1ỦY BAN NHÂN DÂN TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC SÀI GÒN
Trang 2ỦY BAN NHÂN DÂN TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC SÀI GÒN
LÊ VĂN BÌNH
TÊN ĐỀ TÀI
THIẾT KẾ VÀ CHẾ TẠO HỆ THỐNG NHẬN DẠNG BẢNG CHỈ DẪN TRONG XE TỰ HÀNH
KHÓA LUẬN TỐT NGHIỆP
NGÀNH: ĐIỆN, ĐIỆN TỬ TRÌNH ĐỘ ĐÀO TẠO: ĐẠI HỌC
NGƯỜI HƯỚNG DẪN: THS NGUYỄN HỮU PHÚC
TP HỒ CHÍ MINH, 14 THÁNG 12 NĂM 2018
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, các số liệu và kết quả nghiên cứu nêu trong luận văn là trung thực, được các đồng tác giả cho phép sử dụng và chưa từng được công bố trong bất kì một công trình nào khác
Tác giả luận văn
Lê Văn Bình
Trang 4Lời cảm ơn
Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác Trong suốt thời gian từ khi bắt đầu học tập ở giảng đường đại học đến nay, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý thầy cô, gia đình và bạn bè Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý thầy cô ở Khoa Điện tử - Viễn thông – Trường Đại Học Sài Gòn đã cùng với tri thức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập tại trường Em xin chân thành cảm ơn thầy Ths.Nguyễn Hữu Phúc đã tận tâm hướng dẫn chúng em qua từng buổi học trên lớp cũng như những buổi nói chuyện, thảo luận về lĩnh vực sáng tạo trong nghiên cứu khoa học Nếu không có những lời hướng dẫn, dạy bảo của thầy thì em nghĩ bài thu hoạch này của em rất khó có thể hoàn thiện được Một lần nữa,
em xin chân thành cảm ơn thầy Bài thu hoạch được thực hiện trong khoảng thời gian gần 3 tháng Với kinh nghiệm han chế không tránh khỏi những thiếu sót là điều chắc chắn, em rất mong nhận được những ý kiến đóng góp quý báu của quý thầy cô
và các bạn học cùng lớp để kiến thức của em trong lĩnh vực này được hoàn thiện hơn
Sau cùng, em xin kính chúc quý thầy cô trong khoa Điện tử - Viễn Thông thật dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau
Trân trọng Tp.Hồ Chí Minh, ngày 14 tháng 12 năm 2018
Sinh viên thực hiện:
Lê Văn Bình
Trang 6MỤC LỤC
Trang
ỦY BAN NHÂN DÂN TP HỒ CHÍ MINH i
TRƯỜNG ĐẠI HỌC SÀI GÒN i
LÊ VĂN BÌNH i
LỜI CAM ĐOAN ii
Lời cảm ơn. iii
MỤC LỤC 1
DANH MỤC CÁC HÌNH ẢNH 3
DANH MỤC BẢNG BIỂU 5
MỞ ĐẦU 6
CHƯƠNG 1: TỔNG QUAN VỀ CHƯƠNG TRÌNH 9 CHƯƠNG 2: MẠNG NEURON 19 2.1 Neuron sinh học 19
2.2 Mạng neuron nhân tạo 20
2.2.1 Neuron nhân tạo (Perceptron) 20
2.2.2 Mạng neuron 25
2.2.3 Lan truyền ngược (back-forward) 27
2.3 Mạng neuron tích chập (CNNs) 29
2.3.1 Feature learning 32
2.3.2 Relu (Rectified linear unit) 33
2.3.3 Pooling 34
Trang 72.3.4 Fully-connected 34
2.4 Cấu trúc mạng CNNs áp dụng cho việc nhận dạng biển báo 35
CHƯƠNG 3: PHẦN CỨNG VÀ CÁC PHẦN MỀM HỖ TRỢ 38 3.1 Tổng quan về phần cứng 38
3.1.1 Raspberry Pi 3 38
3.1.2 Yêu cầu phần cứng cần thiết cho máy tính để training 39
3.2 Hệ điều hành Raspbian: 39
3.3 Phần mềm và các thư viện hỗ trợ 40
3.3.1 Python 40
3.3.2 Thư viện Tensorflow 42
CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ 44 4.1 Kết quả 44
4.2 Đánh giá 47
KẾT LUẬN VÀ KIẾN NGHỊ 48
DANH MỤC TÀI LIỆU THAM KHẢO 49
PHỤ LỤC 50
Trang 8DANH MỤC CÁC HÌNH ẢNH
Hình 1.1 Tất cả các biển báo có trong dataset 9
Hình 1.2 5 ví dụ về biển báo 0 - 4 10
Hình 1.3 5 ví dụ về biển báo từ 5-9 11
Hình 1.4 5 ví dụ về biển báo 10 - 14 12
Hình 1.5 5 ví dụ về biển báo 15-19 13
Hình 1.6 5 ví dụ về biển báo từ 20-24 14
Hình 1.7 5 ví dụ về biển báo 25-29 15
Hình 1.8 5 ví dụ về biển báo 30-34 16
Hình 1.9 5 ví dụ về biển báo 35-39 17
Hình 1.10 5 ví dụ về biển báo 40-42 18
Hình 2.1 Neuron sinh học 19
Hình 2.2 Perceptron 20
Hình 2.3 Mô hình toán học của neuron nhân tạo 21
Hình 2.4 Neuron nhân tạo với nhiều ngõ vào 22
Hình 2.5 Mạng neuron 1 lớp 25
Hình 2.6 Mô hình rút gọn của mạng neuron 1 lớp 26
Hình 2.7 Mô hình mạng neuron nhiều lớp 26
Hình 2.8 Mô hình toán học mạng neuron nhiều lớp 27
Hình 2.9 Flow chart Mạng lan truyền ngược 28
Hình 2.10 Receptive field 30
Hình 2.11 Convolutional neural network 31
Hình 2.12 Chi tiết các layer của mạng neuron tích chập 31
Hình 2.13 Trích chọn đặc trưng 32
Hình 2.14 Convolution 33
Hình 2.15 Rectified linear unit 33
Hình 2.16 MaxPooling 34
Hình 3.1 Rasperry pi Pinout 38
Hình 3.2 Hệ điều hành Rasbian 40
Hình 3.3 Tensorflow 42
Hình 4.1 Kết quả của model với tập training và validation 44
Hình 4.2 Kết quả với tập test data 44
Trang 9Hình 4.3 Kết quả thử nghiệm với biển báo giao nhau 45
Hình 4.4 Kết quả thử nghiệm với biển báo giới hạn tốc độ 30 km/h 45
Hình 4.5 Kết quả thử nghiệm với biển báo cấm vượt 46
Hình 4.6 Kết quả thử nghiệm với biển bóa giới hạn tôc độ trên raspberry 46
Hình 4.7 Kết quả thử nghiệm với nhiều biển báo trên Raspberry 47
Trang 11MỞ ĐẦU
Công nghệ đã và đang thay đổi thế giới từng ngày Những năm gần đây, Trí tuệ nhân tạo, và cụ thể hơn là Machine Learning nổi lên như một bằng chứng của cuộc cách mạng công nghiêp lần thứ tư
Khi mà khả năng tính toán của các máy tính được nâng lên đáng kể cộng thêm với lưỡng dữ liệu khổng lồ được thu thâp bởi các hãng công nghệ lớn, Machine Learning
đã tiến thêm một bước dài và một lĩnh vực mới được ra đời là Deep Learning Và nó
đã được áp dụng trên khá nhiều lĩnh vực như các trợ lý ảo trên các smartphone, các quảng cáo nhắm vào đúng nhu cầu của người dùng của google trên các website Bài nghiên cứu hướng đến việc giải quyết bài toán nhận dạng biển báo trong các hệ thống xe hơi tự hành cụ thể là hệ thống hỗ trợ lái xe (Driver assistance) Hướng tới khả năng tương thích với các thiết bị xử lý vừa phải có tính di động, nhỏ gọn có khả năng liên kết với các camera, có khả năng giao tiếp với các thiết bị khác để tạo thành một mạng lưới chia sẻ thông tin phục vụ cho việc lưu thông tối ưu trên đường Trong luận văn này, sẽ đi nghiên cứu về các công nghệ xử lý ảnh, mà cụ thể là việc
áp dụng Convolutional Neural Network để phân loại ảnh, và áp dụng trong việc xây dựng hệ thống nhận dạng biển báo giao thông
1 Lý do chọn đề tài
Vấn đề về hệ thống hỗ trợ lái xe, và xe tự hành đã được phát triển và có những kết quả được áp dụng trong thực tiễn như hệ thống giữ làn đường, giữ khoảng cách an toàn với xe trước, phát hiện vật cản Tuy nhiên, vấn đề nhận dạng, xử lý ảnh
Trang 12Với các lý do trên và các kiến thức cơ bản về điện tử, xử lý ảnh, kiến trúc mạng neuron được học ở trường và kiến thức về CNNs, tôi chọn đề tài “” với mục đích chính là tiếp cận với sự phát triển vượt bậc của ngành thị giác máy tính
2 Tính cấp thiết của đề tài
Áp dụng các kiến thức đã được học và nghiên cứu các kiến thức mới của ngành thị giác máy tính để áp dụng vào đề tài tốt nghiệp
3 Mục tiêu của đề tài
Tạo ra được một chương trình cho phép huấn luyện model từ tập dữ liệu có sẵn cụ thể là ảnh về các loại biển báo Và sau đó nhận dạng các bức ảnh mới thông qua model đã được huấn luyện trên một máy tính nhúng
4 Mục đích và nhiệm vụ nghiên cứu
Trang 135 Đối tượng và phạm vi nghiên cứu
Đê tài nghiên cứu về sở lý thuyết của CNNs, cách thưc thực thi, các ngôn ngữ và thư viện cần thiết, máy tính nhúng và hệ điều hành kèm theo
6 Nội dung và bố cục của đề tài
Nội dung đề tài được tổ chức thành các phần chính như sau:
- Phần mở đầu: Trình bày lý do và mục tiêu nghiên cứu xây dựng đề tài
- Chương 1: Tổng quan về chương trình
Trang 14CHƯƠNG 1: TỔNG QUAN VỀ CHƯƠNG TRÌNH
Ở đây ta sử dụng dữ liệu được cung cấp sẵn GTSRB (German Traffic Sign Benchmarks - Ruhr-Universität Bochum) được chia thành 3 thư mục: Training, validation và testing Mỗi thư mục bao gồm 43 thư mục con chứa ảnh với kích cỡ 32x32 của 43 loại biển báo khác nhau
Hình 1.1: Tất cả các biển báo có trong dataset
Trang 15Hình 1.2: 5 ví dụ về biển báo 0 - 4
Trang 16Hình 1.3: 5 ví dụ về biển báo từ 5-9
Trang 17Hình 1.4: 5 ví dụ về biển báo 10 - 14
Trang 18Hình 1.5: 5 ví dụ về biển báo 15-19
Trang 19Hình 1.6: 5 ví dụ về biển báo từ 20-24
Trang 20Hình 1.7: 5 ví dụ về biển báo 25-29
Trang 21Hình 1.8: 5 ví dụ về biển báo 30-34
Trang 22Hình 1.9: 5 ví dụ về biển báo 35-39
Trang 23Hình 1.10: 5 ví dụ về biển báo 40-42
Training set: Model được huấn luyên thông qua tập data này
Validation set: Dùng để chọn lựa model, tinh chỉnh các siêu tham số (hyperparameters) để model không bị overfitting hoặc underfitting
Test set: Dùng để đánh giá model cuối cùng
Trang 24CHƯƠNG 2: MẠNG NEURON 2.1 Neuron sinh học
Bộ não người có mạng lưới khoảng 100 tỉ tế bào thần kinh (gọi là neuron) Mỗi tế bào thần kinh gồm 3 thành phần chính: thân tế bào thần kinh (cell body hay soma),
hệ thống các dây thần kinh tiếp nhận (dendrites) và một sợi trục thần kinh) Các neutron kết nối với nhau thông qua khớp thần kinh synapse Khớp thần kinh được chia làm 2 loại: khớp nối kích thích (excitalory) và khớp nối ức chế (inhibitory)
Hình 2.1: Neuron sinh học Các neuron trao đổi thông tin với nhau bằng cách phát ra một tín hiệu xung (spike) tới các neutral khác Một netron có thể nhận tín hiệu từ nhiều neutron khác và quyết định nó có tiếp tục phát tín hiệu tới các neutron khác hay không
Có thể tóm tắt hoạt động của một nơron như sau: nơron lấy tổng tất cả các điện thế vào mà nó nhận được, và phát ra một xung điện thế nếu tổng ấy lớn hơn một ngưỡng nào đó Các nơron nối với nhau ở các synapses Synapse được gọi là mạnh khi nó cho phép truyền dẫn dễ dàng tín hiệu qua các nơron khác Ngược lại, một synapse yếu sẽ truyền dẫn tín hiệu rất khó khăn Các synapses đóng vai trò rất quan trọng trong sự học tập Khi chúng ta học tập thì hoạt động của các synapses được tăng cường, tạo
Trang 25nên nhiều liên kết mạnh giữa các nơron Có thể nói rằng người nào học càng giỏi thì càng có nhiều synapses và các synapses ấy càng mạnh mẽ, hay nói cách khác, thì liên kết giữa các nơron càng nhiều, càng nhạy bén
2.2 Mạng neuron nhân tạo
2.2.1 Neuron nhân tạo (Perceptron)
Perceptron được phát triển trong những năm 1950 và 1960 bởi Frank Rosenblatt
Hình 2.2: Perceptron
Perceptron nhận nhiều đầu vào phân biệt x0,x1,x2 …, và output là 1 tín hiệu nhị phân duy nhất Các giá trị đầu vào sẽ được nhân với một bộ trọng số W và tính tổng các kết quả với hằng số phụ b(bias) Đầu ra của perceptron là nhị
Trang 26Hình 2.3: Mô hình toán học của neuron nhân tạo
• Tập các đầu vào: Là các tín hiêu vào của neuron, các tín hiệu này thường là các vectoe m chiều (p)
• Tập các liên kết: Mỗi liên kết được thể hiện bởi một trọng số w (gọi là trọng số liên kết – Synaptic 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 đầu và được cập nhật liên tục trong quá trình học
• Bộ tổng (summer): Thường dùng để tính tổng của các tích đầu vào với trọng số liên kết của nó
• Độ lêch-ngưỡng (bias): Độ lệch thường được đưa vào như là một thành phần của hàm truyền tuy nhiên thông thường ta sẽ không so sánh giá trị output với bias mà thay vào đó xem giá trị bias này giống như một đầu vào bổ xung(tránh hiện tượng trọng số không cập nhật)
Trang 27• Hàm truyền (activation function): Hàm truyền được dùng để giới hạn phạm vi đầu ra của mỗi neuron Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho Các hàm truyền rất đa dạng, có thể là các hàm truyền tuyến tính hoạc phi tuyến
• Đầu ra: Là tín hiệu đầu ra của một neuron
Hoạt động của neuron
Hình 2.4: Neuron nhân tạo với nhiều ngõ vào
Neuron này sẽ hoạt động như sau: Giả sử có N input, neuron sẽ có N trọng số
Trang 28𝑦 = ∑ 𝑤𝑖𝑥𝑖𝑁
𝑖=1
Kết quả này sẽ được so sánh với threshold t của nơron, nếu nó lớn hơn t thì nơ-ron cho output là 1, còn nếu nhỏ hơn thì output là 0 Ngoài ra ta cũng có thể trừ tổng nói trên cho t, rồi so sánh kết quả thu được với 0, nếu kết quả là dương thì nơron cho ouput bằng 1, nếu kết quả âm thì output là 0 Dưới dạng toán học ta có thể viết output của nơron như sau:
Trang 302.2.2 Mạng neuron
Sigle layer nueron
Một neuron thông thường với nhiều đầu vào chưa đủ hiêu quả Chúng ta cần nhiều neuron hoạt động song song, gọi là lớp(layer of neuron)
Hình 2.5 Mạng neuron 1 lớp
Trong một lớp, mỗi đầu vào được kết nối với mỗi neurons(R đầu vào), và trọng
số trở thành ma trận với s hàng (s neuron)
Trang 31Hình 2.6: Mô hình rút gọn của mạng neuron 1 lớp
Giả sử chúng ta có mạng neuron đơn (sigle-layer) và chúng ta mong muốn nó giải quyết vấn đề phân loại chữ số với các đầu vào là ảnh của chứ số viết tay
Và ta mong muốn mạng neuron học các trọng số và bias để phân loại chính xác Giả sử ta tạo ra một thay đổi nhỏ ở trọng sô của mạng thì tương tứng tạo
ra một thay đổi nhỏ ở đầu ra Điều này giúp cho mạng của chúng ta có thể học
Multiple layers of neuron
Trang 32Mạng neuron bao gồm nhiều lớp neuron đơn liên kết với nhau, theo cách đầu
ra của lớp neuron trước sẽ là đầu vào của lớp neuron sau Trong mạng neuron thông thường thì các layer sẽ là fully-connected nghĩa là mỗi đầu vào sẽ được kết nối đến tất cả các neuron trong mạng đó.\
Mô hình
Hình 2.8: Mô hình toán học mạng neuron nhiều lớp
2.2.3 Lan truyền ngược (back-forward)
Lan truyền ngược (back-propagation) là phương pháp huấn luyện mạng với mục tiêu xác định trọng số tối ưu cho mạng thông qua việc lặp đi lặp lại 2 quá trình: Feed-forward( tính giá trị đầu ra của mạng rồi sau đó tính giá trị sai số mong muốn), tiếp theo là quá trình lan truyền ngược (dựa vào các sai số để cập nhật lại các trọng số)
Trang 33Hình 2.9 Flow chart Mạng lan truyền ngược
Feed forward: Dữ liệu từ tập huấn luyện thông qua tầng nhập sẽ được chuyển vào tầng tiếp theo Tại mỗi neuron của mỗi tầng sẽ tiến hành thực hiện việc tính toán thông qua các hàm kết hợp, giá trị này sau khi truyền qua hàm kích hoạt là đầu ra mỗi neuron Việc tính toán sẽ thực hiện trên tất cả các neuron của mạng và từ tầng nhập cho ra tới giá trị của tầng xuất Sai số (Loss function) được tính bằng cách so sánh giá trị thực xuất ra của mạng với giá trị mong muốn
Hàm mất mát (Loss function): trả về một số thực không âm thể hiện sự chênh lệch giữa hai đại lượng: 𝑦̂ label được dự đoán và 𝑦 label đúng Giả sử mô hỉnh
Trang 34Lan truyền ngược: Dựa trên sai số được tính từ quá trình lan truyền tiến, mạng
sẽ cập nhật lại các trọng số theo nguyên tắc lan truyền ngược sai số Trong đó
kỹ thuật cơ bản được áp dụng trong quá trình cập nhật trọng số đó là gradient descent
Trong các hàm mất mát, ta muốn tối thiểu mất mát nghĩa là muốn tìm điểm
mà tại đó hàm số đạt cực tiểu hay đạo hàm bằng 0 Tuy nhiên với những hàm
số phức tạp thì việc tìm đạo hàm là bất khả thi Một hướng tiếp cận khác là ta bắt đầu từ điểm gần với nghiệm và lặp để tiến dần đến nghiệm cần tìm
Giả sử 𝑥𝑡 là điểm ta tìm được sau vòng lặp thứ t Ta cần tìm một thuật toán để đưa 𝑥𝑡về càng gần 𝑥 càng tốt Nếu đạo hàm của hàm số tại 𝑥𝑡: 𝑓′(𝑥𝑡) > 0 thì 𝑥𝑡 nằm về bên phải so với 𝑥 (và ngược lại) Để điểm tiếp theo 𝑥𝑡+1 gần với 𝑥 hơn, chúng ta cần di chuyển 𝑥𝑡về phía bên trái, tức về phía âm Nói các khác, chúng ta cần di chuyển ngược dấu với đạo hàm:
𝑥𝑡+1 = 𝑥𝑡− 𝜂𝑓′(𝑥𝑡) Trong đó dấu trừ thể hiện việc phải đi ngược với đạo hàm, là một số dương gọi là tốc độ học (learning rate), tộc độ học càng nhỏ thì tốc độ hội tụ càng chậm, thậm chí sau khi chay xong vòng lặp vẫn chưa tiệm cận được giá trị nhỏ nhất của hàm số Ngược lại tốc độ học càng nhanh thì thuật toán tiến rất nhanh nhưng không hội tụ được vì bước nhảy quá lớn Tùy vào từng trường hợp mà
ta chọn tốc độ học phù hợp với mô hình
2.3 Mạng neuron tích chập (CNNs)
Mạng neuron tích chập tương tự như mạng neuron truyền thống ở trên, chúng được hình thành từ các neuron có khả năng cập nhật trọng số và ngưỡng Tuy nhiên mạng neural truyền thống không thể hiện tốt với các dữ liệu như hình ảnh Dữ liệu hình ảnh
có kích thước khá lớn, ví dụ trong dataset của chúng ta mỗi ảnh (RGB) có kích thước 32x32x3 sẽ cho ra vector đăc trưng có 3072 chiều, có nghĩa là sau input layer mỗi neeural phải có 3072 trọng số điều này là hoàn toàn có thể kiểm soát, tuy nhiên với