1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo bài tập lớn môn học sâu và ứng dụng đề tài sử dụng mạng CNN phân loại chữ số viết tay

13 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Sử Dụng Mạng CNN Phân Loại Chữ Số Viết Tay
Tác giả Hà Nội
Người hướng dẫn TS. Trịnh Anh Phúc
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Môn Học Sâu Và Ứng Dụng
Thể loại báo cáo
Năm xuất bản 2020
Thành phố Hà Nội
Định dạng
Số trang 13
Dung lượng 395,78 KB

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ********** Báo cáo tập lớn Môn Học sâu ứng dụng ĐỀ TÀI: Sử dụng mạng CNN phân loại chữ số viết tay Giảng viên hướng dẫn : TS Trịnh Anh Phúc Sinh viên thực : Hà Nội, 12 – 2020 MỤC LỤC Lởi cảm ơn .3 Phần mở đầu Phần nội dung Mơ tả tốn Giới thiệu mơ hình 2.1 Tổng quan kiến trúc mạng mơ hình sử dụng 2.2 Lớp 2.3 Lớp 2.4 Lớp 2.5 Lớp 2.6 Lớp 2.7 Lớp Bộ liệu hình ảnh Kết thực nghiệm 4.1 Cấu hình Google Colab: .9 4.2 Cấu hình phần mềm: 4.3 Độ đo đánh giá 10 4.4 Hàm mát 10 4.5 Thời gian train, test 11 Phần kết luận 13 Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Lởi cảm ơn Lời cho phép chúng em gửi lời cảm ơn tới thầy Trịnh Anh Phúc giảng viên môn Học sâu ứng dụng, cảm ơn thầy dạy cho chúng em kiến thức hay Deep Learning, cảm ơn thầy tiết học nhiều kiến thức đầy thư giãn, mang lại cho chúng em niềm say mê học tập để hồn thành tập lớn môn học Tuy nhiên, với kiến thức học được, tập lớn chúng em chắn cịn tồn nhiều sai sót, mong nhận góp ý từ thầy Em xin chân thành cảm ơn! Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Phần mở đầu Hiện nay, thuật ngữ Deep Learning trở nên phổ biến Deep Learning – học sâu tập hợp các máy học nơi mạng nơ-ron nhân tạo, thuật tốn mơ não người, học hỏi từ lượng lớn liệu Mỗi ngày tạo khoảng 2.6 nghìn tỷ bytes liệu, nguồn học thuật tốn học sâu Vì vậy, học sâu năm gần có bước phát triển vũ bão, số ví dụ thực tế học sâu: trợ lý ảo, ứng dụng tự động dịch giữ ngôn ngữ, nhận diện khn mặt, xe tự hành,… Để có hiểu biết mạng học sâu, khuôn khổ môn học Học sâu ứng dụng, chúng em lựa chọn đề tài sử dụng mạng CNN để nhận diện chữ số viết tay Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Phần nội dung Mơ tả tốn Nhận diện chữ số viết tay sử dụng liệu MNIST Bộ liệu gồm 70000 mẫu liệu chữ số từ đến Mơ hình huấn luyện với 60000 mẫu liệu kiểm tra 10000 mẫu liệu cịn lại Bài tốn nhận diện chữ số viết tay đọc liệu ảnh đầu vào ảnh chữ số cần đốn nhãn, sử dụng mơ hình huấn luyện để dự đoán nhãn cho ảnh Giới thiệu mơ hình 2.1 Tổng quan kiến trúc mạng mơ hình sử dụng LeNet-5 kiến trúc mạng CNN cũ, phát triển vào năm 1998 Andre LeCun, Leon Bottou, Yoshua Bengio, Patrick Hafner LeNet-5 dùng cho nhận dạng chữ viết tay trở thành sở thiết kế cho mạng lớn sau Trong này, chúng em sử dụng kiến trúc mạng Lenet-5 có chút thay đổi, cụ thể thay lớp AVG Pooling lớp Max Pooling hàm kích hoạt sau tầng tích chập tầng kết nối đầy đủ ReLU Kiến trúc mơ hình: 2.1 Lớp Lớp lớp tích chập nhận đầu vào ảnh kích thước 28x28x1 Nó sử dụng hạt nhân kích thước 5x5x1, thực tích chập padding “same”, bước nhảy tạo Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay tensor kích thước 28x28x6 Tensor chuyển qua hàm kích hoạt ReLU, sau trở thành đầu vào cho lớp 2.2 Lớp Lớp lớp gộp max pooling, nhận đầu vào tensor kích thước 28x28x6 Lớp thực lấy mẫu không đệm, cách sử dụng hạt nhân kích thước 2x2 với bước nhảy tạo tensor kích thước 14x14x6 tới lớp trở thành đầu vào 2.3 Lớp Lớp lớp tích chập, đầu vào tenensor kích thước 14x14x6 Lớp sử dụng 16 hạt nhân kích thước 5x5x6, thực tích chập khơng đệm, bước nhảy thu tensor kích thước 10x10x16, tensor đưa qua hàm kích hoạt ReLU trở thành đầu vào cho lớp 2.4 Lớp Lớp lớp gộp max pooling, đầu vào tensor 10x10x16 kích thước hạt nhân 2x2 bước nhảy Đầu lớp tensor 5x5x16 2.5 Lớp Lớp kết nối đầy đủ (Dense), nhận đầu vào vector duỗi từ tensor 5x5x16 (đầu lớp 4), hàm kích hoạt ReLU, đầu vector kích thước 120 2.6 Lớp Lớp lớp kết nối đầu đủ, vector đầu vào kích thước 120, hàm kích hoạt ReLU, vector đầu kích thước 84 2.7 Lớp Lớp lớp kết nối đầu đủ, lấy đầu lớp làm đầu vào, sử dụng kích hoạt softmax để tiến hành phân loại cho 10 lớp tương ứng 10 node đầu Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Tổng kết lớp: 1: convolutiona l layer 2: max pooling 3: convolutiona l layer 4: max pooling 5: full connected 6:full connected 7: full connected 28x28x1 kernel (5,5) padding=”same” stride=1 activate fuction: ReLU 28x28x6 kernel(2,2) padding=0 stride=2 14x14x6 16 kernel (5,5) padding=0 stride=1 activate function: ReLU 10x10x16 kernel (2,2) padding=0 stride=2 400(=5x5x16) activate function: ReLU 120 activate function: ReLU 84 activate function: ReLU 28x28x6 Parameters 6x5x5x1+6 =156 14x14x6 - 10x10x16 16x5x5x6+16 =2416 5x5x16 - 120 84 10 120x400+120 =48120 84x120+84 =10164 84x10+10 =850 Tổng 61706 Operations (5x5x1)x(28x28x6) =117600 (5x5x6)x(10x10x16 ) =240000 120x400 =48000 120x84 =10080 84x10 =840 416520 Bộ liệu hình ảnh Trong tốn sử dụng liệu MNIST sở chữ số viết tay, cải biên từ sở liệu gốc NIST giúp dễ sử dụng MNIST tập hợp gồm 70000 mẫu ảnh chứa liệu chữ số viết tay từ đến Trong liệu huấn luyện 60000 liệu test 10000 mẫu ảnh Mỗi mẫu ảnh gồm phần hình ảnh grayscale kí tự chữ số kích thước 28x28 nhãn tương ứng với Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Hình 1: Một số hình ảnh mẫu liệu MNIST Thống kê hai tập train, test: Chữ số Tổng Tập train Số lượng mẫu 5923 6742 5958 6131 5842 5421 5918 6265 5851 5949 60000 Chữ số Tổng Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Tập test Số lượng mẫu 980 1135 1032 1010 982 892 958 1028 974 1009 10000 Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Hình 2: Biểu đồ thống kê tập train, test MNIST Kết thực nghiệm 4.1 Cấu hình Google Colab: Cấu hình phần cứng Google colab: - GPU: Tesla K80, driver version 418.67, memory 11441 MiB CPU: Single core Intel Xeon (-MT-) cache: 56320 KB clock speeds: max: 2200 MHz 1: 2200 MHz 2: 2200 MHzMemory: 13 GB 4.2 Cấu hình phần mềm: Sử dụng thư viện Keras với module sau: - keras.datasets.mnist keras.layers.Conv2D keras.layers.MaxPooling2D keras.layers.Dense keras.layers.Flatten keras.models.Sequential Keras.utils.np_utils Sử dụng thư viện bổ sung sau: - matplotlib.pyplot Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay - numpy 4.3 Độ đo đánh giá Có nhiều cách để đánh giá mơ hình phân lớp: accuracy score, confusion matrix, ROC curve, Area Under the Curve, Precision and Recall, F1 score, Top R error,… Tuy nhiên, đơn giản, toán này, chúng em sử dụng accuracy score (độ xác) Đây cách đánh giá dựu tỉ lệ số dự đoán tổng số dự đoán tập test 4.4 Hàm mát Các nhãn toán chuyển đổi dạng one-hot vector: Hàm activation lớp cuối hàm softmax: nhận đầu vào mảng số thực đầu phân phối xác suất với phần tử nằm khoảng [0, 1] tổng phần tử Giá trị label dạng one-hot kết dự đoán sau hàm softmax có kích thước Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Hàm “categorical_crossentropy“ Keras: M L=−∑ y i log ( ^y i ) i Với   ^y giá trị nhãn mà mơ hình dự đoán ra, y nhãn thực, M số lượng lớp liệu Hàm tính tốn độ chênh lệch giá trị dự đoán nhãn thực liệu Giá trị L nhỏ model dự đoán gần với giá trị thực 4.5 Thời gian train, test Trainning tập diệu huấn luyện 60000 mẫu liệu với batch-size=32, epoch=20 hết 100s 60ms thu độ xác training accuracy=0.9945 Thời gian test 10000 mẫu liệu hết 1s, độ xác testing accuracy=0.9847, test loss 0,0769 Một số hình ảnh dự đốn sai: Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay Bao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tayBao.cao.bai.tap.lon.mon.hoc.sau.va.ung.dung.de.tai.su.dung.mang.CNN.phan.loai.chu.so.viet.tay

Ngày đăng: 24/12/2023, 10:59

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w