1. Trang chủ
  2. » Giáo Dục - Đào Tạ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 28 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

Định dạng
Số trang 13
Dung lượng 367,8 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 .4 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 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! 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 khuôn 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 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 đoán nhãn, sử dụng mơ hình huấn luyện để dự đố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 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 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 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 Tập test Số lượng mẫu 980 1135 1032 1010 982 892 958 1028 974 1009 10000 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 - 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 Hàm “categorical_crossentropy“ Keras: M L=−∑ yi 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ự đố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: Phần kết luận Mơ hình sau chỉnh sửa so với mơ hình gốc có tỉ lệ lỗi cao 1,53%, cần có tìm hiểu sâu để cải tiến mơ hình Tuy nhiên bản, chúng em hiểu tầng mơ hình gốc tùy biến mơ hình theo ý, từ tự tạo mơ hình phục vụ cho toán khác tương lai ... chúng em lựa chọn đề tài sử dụng mạng CNN để nhận diện chữ số viết tay Phần nội dung Mô tả toá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... 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 đề. .. Bài toá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ự đố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

Ngày đăng: 06/12/2022, 10:05

HÌNH ẢNH LIÊN QUAN

Tổng quan kiến trúc mạng mô hình sử dụng................................................................................5 .2. - 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
ng quan kiến trúc mạng mô hình sử dụng................................................................................5 .2 (Trang 2)
2. Giới thiệu mơ hình - 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
2. Giới thiệu mơ hình (Trang 5)
l layer padding=”same” stride=1 - 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
l layer padding=”same” stride=1 (Trang 7)
Hình 1: Một số hình ảnh về mẫu dữ liệu của MNIST - 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
Hình 1 Một số hình ảnh về mẫu dữ liệu của MNIST (Trang 8)
Hình 2: Biểu đồ thống kê trên 2 tập train, test của MNIST - 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
Hình 2 Biểu đồ thống kê trên 2 tập train, test của MNIST (Trang 9)
Có nhiều cách để đánh giá một 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, để cho đơn giản, trong bài toán này, chúng em sử dụng accuracy score (độ chính xác) - 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
nhi ều cách để đánh giá một 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, để cho đơn giản, trong bài toán này, chúng em sử dụng accuracy score (độ chính xác) (Trang 10)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w