Nhận dạng chữ số viết tay dựa trên mạng nơ ron tích chập sâu

12 476 3
Nhận dạng chữ số viết tay dựa trên mạng nơ ron tích chập sâu

Đ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

Bài viết trình bày một phương pháp học sâu để so sánh với các phương pháp dựa trên các kỹ thuật thống kê đã có để giải quyết bài toán nhận dạng chữ số viết tay.

TẠP CHÍ KHOA HỌC Khoa học Tự nhiên Cơng nghệ, Số 14 (4/2019) tr.107-118 NHẬN DẠNG CHỮ SỐ VIẾT TAY DỰA TRÊN MẠNG NƠ-RON TÍCH CHẬP SÂU Nguyễn Văn Tú, Hoàng Thị Lam, Nguyễn Thị Thanh Hà Trường Đại học Tây Bắc Tóm tắt: Trong lĩnh vực xử lý ảnh, nhận dạng mẫu thách thức lớn nhà nghiên cứu năm qua Mục tiêu nhận dạng mẫu phát hiện, trích chọn đặc trưng ảnh để phân loại mẫu vào lớp khác Một toán tiếng lĩnh vực nhận dạng chữ số viết tay, chữ số phải gán vào 10 lớp sử dụng số phương pháp phân loại Mục đích chúng tơi báo trình bày phương pháp học sâu để so sánh với phương pháp dựa kỹ thuật thống kê có để giải tốn nhận dạng chữ số viết tay Chúng tơi xây dựng mơ hình mạng nơ-ron tích chập sâu với việc sử dụng nhiều lớp khác mạng để trích chọn tự động đặc trưng tốt ảnh Đồng thời, kết hợp mạng nơ-ron tích chập Multi-layer Perceptron nhằm cải thiện hiệu suất mơ hình Chúng tơi xây dựngcác thực nghiệm sử dụng tập liệu MNIST đạt độ xác phân loại cao 99,34% tỷ lệ lỗi 0,74% Các kết cho thấy mơ hình đề xuất cho kết cao so với nhiều mơ hình xây dựng trước tập liệu Từ khóa: Nhận dạng chữ số viết tay, mạng nơ-ron tích chập, multi-layer perceptron, phân loại Tổng quan Trong năm gần đây, chứng kiến nhiều thành tựu vượt bậc lĩnh vực xử lý ảnh (image processing) Các hệ thống xử lý ảnh lớn Facebook, Google hay Amazon đưa vào sản phẩm chức thơng minh nhận diện khuôn mặt người dùng, phát triển xe tự lái hay drone giao hàng tự động Mạng nơ-ron tích chập (Convolutional Neural Network - CNN) mơ hình học sâu (Deep Learning) tiên tiến giúp cho xây dựng hệ thống thơng minh với độ xác cao Các toán nhận dạng ứng dụng thực tế tập trung vào nhận dạng mẫu, nhận dạng tiếng nói nhận dạng chữ viết… Nhận dạng chữ viết tay toán quan tâm nhiều u cầu nhiều ứng dụng thực tế Các ứng dụng nhận dạng chữ viết tay ứng dụng vào đời sống phục vụ cho công việc tự động hóa đọc tài liệu, tăng tốc độ hiệu nhập thơng tin vào máy tính Nhận dạng chữ viết tay phục vụ cho ứng dụng đọc xử lý chứng từ, hóa đơn, phiếu ghi, viết tay chương trình Hiện nay, có số đề tài nghiên cứu nhận dạng chữ viết tay sử dụng mơ hình như: K láng giềng gần (K-Nearest Neighbor - KNN), máy hỗ trợ véc-tơ (Support Vector Machine - SVM), mơ hình Markov ẩn (Hidden Markov Model - HMM)… Tuy nhiên, mô Ngày nhận bài: 07/9/2018 Ngày nhận đăng: 09/11/2018 Liên lạc: Nguyễn Văn Tú, e-mail: tuspttb@utb.edu.vn 107 hình cho kết nhận dạng không cao, nhiều thời gian cho việc trích rút đặc trưng ảnh Chính vậy, nghiên cứu xây dựng mơ hình để trích rút tự động đặc trưng ảnh mơ hình phải cho kết tốt mô hình xây dựng trước Từ thành cơng mạng nơ-ron lĩnh vực xử lý ảnh, chúng tơi sẽxây dựng mơ hình học máy tiên tiến mạng nơ-ron tích chập sâu (Deep Convolutional Neural Network - DCNN) kết hợp với Multi-layer Perceptron (MLP) vào giải toán nhận dạng chữ số viết tay Nhận dạng chữ viết tay thực qua hai hình thức nhận dạng online nhận dạng offline Nhận dạng online có nghĩa máy tính nhận dạng chữ viết lên hình viết Đối với hệ nhận dạng này, máy tính lưu lại thông tin nét chữ thứ tự nét viết, hướng tốc độ nét viết viết Còn nhận dạng offline tức việc nhận dạng thực sau chữ viết hay in lên giấy rồi, lúc thơng tin đầu vào hình ảnh văn ký tự cần nhận dạng Trong khuôn khổ nội dung báo này, chúng tơi xét hình thức nhận dạng offline cho chữ số viết tay Các nghiên cứu liên quan Bài toán nhận dạng chữ viết tay ứng dụng nhiều thực tế, tích hợp vào hệ thống nhận dạng form tự động, tích hợp máy PDA có hình cảm ứng, nhận dạng chữ ký Do có nhiều ứng dụng quan trọng nên từ lâu toán nhận dạng chữ viết tay thu hút quan tâm nhiều nhà nghiên cứu Nghiên cứu Norhidayu tác giả [5] sử dụng mơ hình phân loại SVM, KNN mạng nơ-ron Kết thực nghiệm cho thấy mơ hình sử dụng thuật toán phân loại KNN cho kết phân loại cao 99,26% Nghiên cứu Ana tác giả [1] sử dụng mơ hình nhị phân cục (Local Binary Pattern - LBP) trích xuất đặc trưng phân loại KNN hệ thống nhận dạng chữ viết tay họ mẫu C1 sử dụng ủy ban bầu cử Indonesia Kết thực nghiệm cho thấy phương pháp LBP nhận dạng ký tự chữ số viết tay liệu MNIST với độ xác 89,81% liệu C1 với độ xác 70,91% Souici-Meslati [8] trình bày cách tiếp cận lại để nhận dạng số lượng chữ ngân phiếu Các tác giả sử dụng ba phân loại chạy song song: mạng nơ-ron, KNN Fuzzy K-nearest neighbor Các kết đầu kết hợp từ ba phân loại Kết thực nghiệm liệu họ đạt độ xác 96% Burrow [7] áp dụng phân loại KNN tập liệu họ tác giả đạt độ xác 74% Jason [3] sử dụng mơ hình mạng CNN với việc xây dựng lọc với kích thước khác nhằm trích lọc nhiều thơng tin hữu ích ảnh Tác giả xây dựng thực nghiệm tập liệu MNIST đạt kết cao với độ xác đạt 99,31% Từ việc phân tích nghiên cứu trên, chúng tơi nhận thấy nghiên cứu sử dụng nhiều mơ hình khác xây dựng thực nghiệm liệu khác 108 Tuy mạng nơ-ron áp dụng số nghiên cứu, cấu trúc mạng nghiên cứu tương đối đơn giản, chưa khai thác hết tính lớp mạng Chính vậy, nghiên cứu muốn đề xuất xây dựng mơ hình với kết hợp lớp CNN với Multi-layer Perceptron (MLP) nhằm đạt kết tốt cho toán nhận dạng chữ số viết tay Mạng nơ-ron tích chập Trong phần này, chúng tơi trình bày tóm tắt CNN số lớp thông dụng mạng dùng cho lĩnh vực xử lý ảnh 3.1 Tích chập Tích chập (convolution) sử dụng xử lý tín hiệu số (signal processing) Nhờ vào nguyên lý biến đổi thông tin, nhà khoa học áp dụng kĩ thuật vào xử lý ảnh video số Để dễ hình dung, xem tích chập cửa sổ trượt (sliding window) áp đặt lên ma trận Hình minh họa chế tích chập Hình Minh họa tích chập Ma trận bên trái ảnh xám, giá trị ma trận tương đương với điểm ảnh (pixel) có giá trị biến thiên từ đến 255 Sliding window có tên gọi kernel, filter hay feature detector Ở đây, ta dùng ma trận filter kích thước 3×3 nhân thành phần tương ứng với ma trận ảnh bên trái Giá trị đầu tích thành phần cộng lại Kết tích chập ma trận sinh từ việc trượt ma trận filter thực tích chập lúc lên toàn ma trận ảnh bên trái 3.2 Mơ hình mạng nơ-ron tích chập Mơ hình CNN đơn giản gồm vài layer convolution kết hợp với hàm kích hoạt phi tuyến ReLU hay để tạo thông tin mức trừu tượng cho layer Trong mơ hình mạng nơ-ron truyền thẳng (feedforward nơ-ron network), layer kết nối trực tiếp với thông qua trọng số w (weighted vector) Các layer gọi có kết nối đầy đủ (fully connected layer) hay affine layer Trong mơ hình CNN ngược lại Các layer liên kết với thông qua chế convolution Layer kết convolution từ layer trước đó, nhờ mà ta có 109 kết nối cục Nghĩa nơ-ron layer sinh từ filter áp đặt lên vùng ảnh cục nơ-ron layer trước Mỗi layer áp đặt filter khác nhau, thông thường có vài trăm đến vài nghìn filter Một số layer khác pooling/subsampling layer dùng để chắt lọc lại thơng tin hữu ích (loại bỏ thơng tin nhiễu) Trong suốt q trình huấn luyện, CNN tự động học thông số cho filter Ví dụ, nhiệm vụ phân lớp ảnh minh họa hình 2, CNN cố gắng tìm thơng số tối ưu cho filter tương ứng theo thứ tự raw pixel > edges > shapes > facial > high-level features Layer cuối dùng để phân lớp ảnh Hình Minh họa kiến trúc CNN dùng phân loại ảnh CNN có tính bất biến tính kết hợp cục (Location Invariance and Compositionality) Với đối tượng, đối tượng chiếu theo góc độ khác (translation, rotation, scaling) độ xác thuật tốn bị ảnh hưởng đáng kể Pooling layer cho tính bất biến phép dịch chuyển (translation), phép quay (rotation) phép co giãn (scaling) Tính kết hợp cục cho ta cấp độ biểu diễn thông tin từ mức độ thấp đến mức độ cao trừu tượng thơng qua convolution từ filter Đó lý CNN cho mơ hình với độ xác cao Tiếp theo, chúng tơi trình bày chi tiết lớp mơ hình Convolutional Layer Layer nơi thể tư tưởng ban đầu CNN Thay kết nối tồn điểm ảnh, layer sử dụng tập lọc (filters) có kích thước nhỏ so với ảnh (thường 5×5 3×3) áp vào vùng ảnh tiến hành tính tích chập lọc giá trị điểm ảnh vùng cục Bộ lọc dịch chuyển theo giá trị bước trượt (stride) chạy dọc theo ảnh qt tồn ảnh Hình Tính tích chập với lọc 110 Như vậy, với ảnh 32×32 filter 3×3, ta có kết ảnh có kích thước 32×32 (với điều kiện thêm padding vào ảnh gốc để tính tích chập cho trường hợp filter quét biên cạnh) kết tích chập filter ảnh Với filter lớp ta có nhiêu ảnh tương ứng mà lớp trả truyền vào lớp Các trọng số filter ban đầu khởi tạo ngẫu nhiên học dần trình huấn luyện mơ hình Hình minh họa phép tính convolution với lọc có kích thước 3×3 Rectified Linear Unit (ReLU) Layer Layer thường cài đặt sau layer Convolution Layer sử dụng hàm kích hoạt f(x) = max(0, x) Nói cách đơn giản, layer có nhiệm vụ chuyển tồn giá trị âm kết lấy từ lớp Convolution thành giá trị Ý nghĩa cách cài đặt tạo nên tính phi tuyến cho mơ hình Tương tự mạng truyền thẳng, việc xây dựng dựa phép biến đổi tuyến tính khiến việc xây dựng đa tầng đa lớp trở nên vô nghĩa Có nhiều cách để khiến mơ hình trở nên phi tuyến sử dụng hàm kích hoạt sigmoid, tanh,… hàm f(x) = max(0, x) dễ cài đặt, tính tốn nhanh mà hiệu Pooling Layer Layer sử dụng cửa sổ trượt quét qua toàn ảnh liệu, lần trượt theo bước trượt (stride) cho trước Khác với layer Convolution, layer Pooling khơng tính tích chập mà tiến hành lấy mẫu (subsampling) Khi cửa sổ trượt ảnh, có giá trị xem giá trị đại diện cho thơng tin ảnh vùng (giá trị mẫu) giữ lại Các phương thức lấy phổ biến layer Pooling MaxPooling (lấy giá trị lớn nhất), MinPooling (lấy giá trị nhỏ nhất) AveragePooling (lấy giá trị trung bình) Xét ảnh có kích thước 32×32 layer Pooling sử dụng lọc có kích thước 2×2 với bước trượt stride 2, phương pháp sử dụng MaxPooling Bộ lọc trượt qua ảnh, với lần trượt có giá trị lớn giá trị nằm vùng cửa sổ 2×2 lọc giữ lại đưa vào ma trạn đầu Như vậy, sau qua layer Pooling, ảnh giảm kích thước xuống 16×16 (kích thước chiều giảm lần) Hình Tính tốn với phương pháp MaxPooling Pooling Layer có vai trò giảm kích thước liệu Với ảnh kích thước lớn qua nhiều Pooling Layer thu nhỏ lại nhiên giữ đặc trưng cần cho việc nhận dạng (thơng qua cách lấy mẫu) Việc giảm kích thước liệu làm giảm lượng tham số, tăng hiệu tính tốn góp phần kiểm sốt tượng khớp (overfitting) 111 Fully Connected (FC) Layer Layer tương tự với layer mạng nơ-ron truyền thẳng, giá trị ảnh liên kết đầy đủ vào nơ-ron layer Sau ảnh xử lý rút trích đặc trưng từ layer trước đó, liệu ảnh khơng q lớn so với mơ hình truyền thẳng nên ta sử dụng mơ hình truyền thẳng để tiến hành nhận dạng 3.3 Hoạt động mơ hình CNN Mơ hình CNN hình thành cách kết nối layer nêu lại với Mơ hình bắt đầu với Convolutional Layer ReLU Layer thường cài đặt sau Convolutional Layerhoặc chí kết hợp hai layer thành layer Các layer Convolutional hay Pooling tùy theo kiến trúc mà ta muốn xây dựng Cuối Fully-Connected Layer để tiến hành phân lớp Mơ hình mạng nơ-ron tích chập sâu cho toán Output Layer (10 outputs) Trong phần này, chúng tơi xây dựng mơ hình để giải tốn nhận dạng chữ số viết tay Mơ hình MLP kết hợp layer CNNvới MLP Trong đó, layer (sử dụng nhiều layer ẩn) CNN dùng để chắt lọc thông tin ảnh nhằm xây dựng véctơ đặc trưng dùng để phân loại ảnh MLP đóng vai trò Dropout Layer (0.25) phân loại, nhận đầu vào véc-tơ đặc trưng xây dựng layer CNN đầu kết phân loại Hình kiến trúc chung mơ hình xây dựng Polling Layer Tiếp theo, mô tả layer mạng với chức layernày Layer mạng Input Layer, layer chứa ảnh cần phân loại Mỗi ảnh ma trận xám có kích thước n  n Ví dụ, kích thước ảnh 28×28, ảnh có 784 phần tử, phần tử giá trị mức xám Layertiếp theo mạng Convolutional Layer gọi Conv2D Layer nhận đầu vào ảnh từ lớp Input Trong Convolutional Layer, sử dụng nhiều filter với kích thước để quét ảnh đầu vào (từ Input layer) tạo ánh xạ đặc trưng cho ảnh Sau Convolutional Layer, chúng tơi sử dụng hàm kích hoạt ReLU Tiếp theo, chúng tơi định nghĩa Pooling Layer có giá trị tối đa gọi MaxPooling2D Layer nhận đầu vào kết Convolutional Layer thực chắt lọc lại thơng tin, loại bỏ thông tin nhiễu trước truyền cho layer mạng Trong phần thực nghiệm, sử dụng cửa sổ với kích thước pool size 2×2 để lấy giá trị lớn giá trị mà cửa sổ quét qua ma trận đầu Convolutional Layer Sau Pooling Layer, chúng tơi sử dụng Dropout Layer với 112 (2×2) Convolutional Layer (sử dụng nhiều filter) Dropout Layer (0.25) Polling Layer (2×2) Convolutional Layer (sử dụng nhiều filter) Input Layer (1×n×n) Hình Mơ hình DCNN cho tốn nhận dạng chữ số viết tay giá trị Dropout thiết lập 0,25 Nó cấu hình để loại trừ ngẫu nhiên 25% tổng số nơ-ron layer để giảm vấn đề overfitting Để chắt lọc nhiều thông tin hữu ích từ ảnh, chúng tơi xây dựng mạng CNN sâu cách bổ sung thêm số layercủa mạng, chúng bao gồm layer sau: Convolutional, Pooling, Dropout Trong đó, Convolutional Layer sử dụng nhiều filter với kích thước nhau, Pooling Layer sử dụng cửa sổ với kích thước pool size 2×2, Dropout Layer với giá trị Dropout 0,25 Tiếp theo, sử dụng layer chuyển đổi liệu ma trận 2D thành véc-tơ gọi Flatten Kết thu véc-tơ giá trị đặc trưng ảnh, véc-tơ phù hợp với định dạng đầu vào MLP Sau thu véc-tơ đặc trưng ảnh qua layer CNN, sử dụng MLP làm phân loại để phân loại ảnh MLP sử dụng nhiều layer ẩn với số nơ-ron cấu hình trình thực nghiệm Do nhiệm vụ phân loại đa lớp (10 lớp) nên đầu MLP chúng tơi sử dụng 10 nơ-ron hàm kích hoạt softmax để đưa dự đoán giá trị xác suất cho lớp Thực nghiệm 5.1 Tập liệu Trong phần thực nghiệm, sử dụng tập liệu MNIST (Yann LeCun, Corinna Cortes Christopher, 1989) Đây tập liệu thường dùng để đánh giá hiệu cácmơ hình nhận dạng ký tự số viết tay Tập liệu MNIST có nguồn gốc từ tập NIST tổ chức National Institute of Standards and Technology (NIST) cung cấp, sau LeCun cập nhật chia thành tập riêng biệt: Tập liệu huấn luyện gồm có 60.000 ảnh kích thước 28×28 chữ số viết tay dùng cho việc huấn luyện mơ hình học máy Tất ảnh tập liệu chỉnh biến đổi thành liệu dạng điểm gồm 60.000 phần tử (ký tự số) có 784 chiều giá trị mức xám điểm ảnh, 10 lớp (giá trị từ đến 9) Tập liệu kiểm tra gồm có 10.000 ảnh chữ số viết tay dùng cho việc kiểm thử Các ảnh tập liệu kiểm tra biến đổi chỉnh thành liệu điểm gồm 10.000 phần tử 784 chiều, 10 lớp (giá trị từ đến 9) Hình ví dụ số mẫu tập liệu Hình Ví dụ số mẫu tập liệu MNIST 113 5.2 Chuẩn bị liệu cho huấn luyện mơ hình Để tải tập liệu MNIST máy tính, chúng tơi sử dụng thư viện học sâu Keras Tập liệu tải xuống tự động lần gọi lưu trữ thư mục người dùng ~/.keras/datasets/mnist.pkl.gz dạng tệp tin Điều thuận tiện cho việc thực nghiệm mơ hình học máy Ở đây, chúng tơi sử dụng đoạn chương trình viết [3] để để tải xuống đưa hình ảnh tập liệu kiểm tra import numpy from keras.datasets import mnist import matplotlib.pyplot as plt X_train, y_train), (X_test, y_test) = mnist.load_data() plt.subplot(221) plt.imshow(X_test[0], cmap=plt.get_cmap(‘gray’)) plt.subplot(222) plt.imshow(X_test[1], cmap=plt.get_cmap(‘gray’)) plt.show() Thực thi đoạn chương trình trên, tập liệu MNIST tải lưu trữ máy tính Đồng thời, chương trình đưa hình ảnh tập liệu kiểm tra Kết minh họa hình Hình Ví dụ mẫu liệu từ tập liệu kiểm tra MNIST 5.3 Xây dựng huấn luyện mơ hình Sau liệu MNIST tải máy tính, chúng tơi huấn luyện mơ hình DCNN tập liệu Trong phần này, xây dựng DCNN cách kết hợp lớp CNN với MLP (như trình bày mục 4) Trong thực nghiệm, chúng tơi xây dựng mơ hình với việc áp dụng số thuật tốn tối ưu hóa thiết lập giá trị mức học (learning rate) khác Chúng thiết lập kích thước cho filter 5×5 3×3 Dưới mơ hình huấn luyện với việc sử dụng hàm lỗi logarithmic, thuật toán tối ưu hóa adam giá trị learning_rateđược thiết lập 0,01 def DCNN1_model(model = Sequential() model.add(Conv2D(64, (5, 5), input_shape=(1, 28, 28), activation = ‘relu’)) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.25)) 114 model.add(Conv2D(32, (3, 3), activation= ‘relu’)) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.25)) model.add(Flatten()) # MLP with hidden layer model.add(Dense(375, activation='relu')) model.add(Dropout(0.25)) model.add(Dense(225, activation='relu')) model.add(Dropout(0.25)) model.add(Dense(135, activation='relu')) model.add(Dropout(0.25))model.add(Dense(10, activation= ‘softmax’)) model.compile(loss= ‘categorical_crossentropy’, optimizer= ‘adam’,optimizer_params={'learning_rate':0.01}, metrics=['accuracy'] return model 5.4 Đánh giá mơ hình Để đánh giá hiệu suất mơ hình xây dựng, chúng tơi sử dụng tập liệu kiểm tra trình bày mục 5.1 Chúng tơi đánh giá mơ hình với giá trị epoch 10 batch size 256 model = DCNN1_model() model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=10, batch_size=256, verbose=2) scores = model.evaluate(X_test, y_test, verbose=0) print("DCNN1 Error: %.2f%%" % (100-scores[1]*100)) Khi thực thi chương trình, độ xác mơ hình huấn luyện in theo epoch cuối lỗi phân loại in Bảng tóm tắt độ xác phân loại, tỷ lệ lỗi thời gian trung bình thực thi mơ hình với cấu hình mạng khác Bảng Các kết thực nghiệm với cấu hình mạng khác Cấu hình mạng Kết phân loại Thời gian trung Độ xác Tỷ lệ lỗi bình thực cao (%) (%) epoch (giây) 0,01 96,85 3,13 402,1 adam 0,01 99,20 0,80 367,8 32; 16 adam 0,05 99,15 0,85 386,0 32; 16 adam 0,001 99,06 0,94 397,2 32; 16 adam 0,005 99,09 0,91 463,0 64; 32 adam 0,01 99,34 0,74 844,5 Số filter Hàm tối Convolutional Layer ưu hóa 32; 16 sgd 32; 16 Mức học Từ kết thực nghiệm cho thấy, mơ hình chúng tơi xây dựng đạt kết phân loại cao với độ xác 99,34% tỷ lệ lỗi thấp 0,74% sử dụng filter 115 với số lượng tương ứng 64 32, hàm tối ưu hóa adam, mức học 0,01 Hình kết đánh giá mơ hình giá trị epoch khác Hình Độ xác tỷ lệ lỗi epoch đánh giá mơ hình Chúng thực so sánh kết nghiên cứu với kết nghiên cứu trước tập liệu huấn luyện kiểm tra Bảng trình bày kết so sánh Bảng So sánh với kết nghiên cứu khác Nghiên cứu tác giả Jason Brownlee [3] Độ xác cao (%) Tỷ lệ lỗi (%) 99,31 0,82 LeCun tác giả [6] Kasun tác giả [4] 0,95 99,03 Hinton tác giả [2] 0,97 1,25 Tapson tác giả [9] 96,00 1,52 Tapson tác giả [10] 90,00 2,75 Norhidayu tác giả [5] 99,26 Nghiên cứu 99,34 0,74 Từ kết so sánh Bảng cho thấy mơ hình đề xuất cho hiệu cao so với mơ hình xây dựng gần Mơ hình chúng tơi đạt độ xác phân loại 99,34% tỷ lệ lỗi thấp 0,74% Tuy nhiên, thực nghiệm thấy thời gian để huấn luyện mơ hình tăng đáng kể tăng số lượng filter ConvolutionalLayer Cụ thể sử dụng filter với số lượng 32 16 Convolutional Layer, mơ hình khoảng 367,8 giây cho epoch, tăng số filter lên 64, 32 thời gian cho epoch khoảng 844,5 giây Như vậy, để đạt kết cao đòi hỏi phải nhiều thời gian để huấn luyện mơ hình Kết luận hướng phát triển Trong báo này, đề xuất phương pháp nhằm giải toán nhận dạng chữ số viết tay Chúng xây dựng mơ hình học sâu với việc kết hợp lớp CNN với MLP Trong đó, lớp CNN có chức trích trọn đặc trưng ảnh cách tự động MLP có chức phân loại, nhận đầu vào véc-tơ đặc trưng sinh sau lớp CNN cho kết giá trị phân loại (10 lớp) Chúng sử dụng tập liệu chữ số viết tay thông dụng MNIST để huấn luyện đánh giá mơ hình 116 đề xuất Các kết huấn luyện kiểm tra mơ hình chứng minh đề xuất cho kết phân loại cao so với nhiều nghiên cứu trước tập liệu Từ thành cơng bước đầu việc áp dụng học sâu vào giải toán nhận dạng chữ số viết tay, chúng tơi mở rộng tốn để nhận dạng tất kí tự chữ viết tay TÀI LIỆU THAM KHẢO [1] Ana Riza F Quiros, Rhen Anjerome Bedruz, Aaron Christian Uy, Alexander Abad, Argel Bandala, Elmer P Dadios, Arvin Fernando, De La Salle (2017), A kNN-based approach for the machine vision of character recognition of license plate numbers Region 10 Conference TENCON 2017, IEEE, pp 1081-1086 [2] Hinton GE, Osindero S, Teh YW (2006), A fast learning algorithm for deep belief nets Neural computation, pp.1527–1554 doi: 10.1162/neco.2006.18.7.1527 [3] ason Brownlee (2017), Handwritten Digit Recognition using Convolutional Neural Networks in Python with Keras https://machinelearningmastery.com/handwritten-digitrecognition-using-convolutional-neural-networks-python-keras/ [4] Kasun LLC, Zhou H, Huang GB, Vong CM (2013), Representational learning with extreme learning machine for big data IEEE Intelligent Systems, pp 31-34 [5] Norhidayu binti Abdul Hamid, Nilam Nur Binti Amir Sjarif (2017), Handwritten Recognition Using SVM, KNN and Neural Network eprint arXiv:1702.00723 [6] LeCun Y, Bottou L, Bengio Y, Haffner P (1998), Gradient-based learning applied to document recognition Proceedings of the IEEE, pp 2278–2324 doi: 10.1109/5.726791 [7] Peter Burrow (2004), Arabic handwriting recognition Technical report, School of Informatics, University of Edinburgh [8] Souici-Meslati, Sellami M (2006), A Hybrid NeuroSymbolic Approach for Arabic Handwritten Word Recognition Journal of Advanced Computational Intelligence and Intelligent Informatics, FujiPress, Vol 10, No 1, pp 17-25 [9] Tapson J, de Chazal P, van Schaik A (2014), Explicit computation of input weights in extreme learning machines In: Proc ELM2014 conference, arXiv:1406.2889 [10] Tapson J, van Schaik A (2013), Learning the pseudoinverse solution to network weights Neural Networks, pp 94-100 doi: 10.1016/j.neunet.2013.02.008 PMID: 23541926 117 HANDWRITTEN DIGIT RECOGNITION BASING ON DEEP CONVOLUTIONAL NEURAL NETWORK Nguyen Van Tu, Hoang Thi Lam, Nguyen Thi Thanh Ha Tay Bac University Abstract: In the field of image processing, pattern recognition has been one of the greatest challenges of researchers in recent years The goal of pattern recognition is to extract the features of the image to classify the samples into different classes A well-known problem in this area is the handwriting digit recognition, in which the digits must be assigned to one of the 10 classes using some classification method Our aim in this paper is to present a deep learning method instead of existing statistical techniques to solve the problem of handwritten digit recognition We built a deep convolution neural network model with multiple layers of the network to automatically extract the best features from the image At the same time, we also combined convolutional neural networks and Multi-layer Perceptron to improve the performance of the model The experimental results obtained on the dataset MNIST gave the highest accuracy of 99,34% and the error rate of 0,74% These results show that our proposed model yields is much higher than previous models on the same dataset Keywords: Handwritten digit recognition, convolution neural network, multi-layer perceptron, classification 118 ... toán nhận dạng chữ số viết tay Nhận dạng chữ viết tay thực qua hai hình thức nhận dạng online nhận dạng offline Nhận dạng online có nghĩa máy tính nhận dạng chữ viết lên hình viết Đối với hệ nhận. .. cần nhận dạng Trong khuôn khổ nội dung báo này, chúng tơi xét hình thức nhận dạng offline cho chữ số viết tay Các nghiên cứu liên quan Bài toán nhận dạng chữ viết tay ứng dụng nhiều thực tế, tích. .. Mơ hình mạng nơ- ron tích chập sâu cho tốn Output Layer (10 outputs) Trong phần này, xây dựng mô hình để giải tốn nhận dạng chữ số viết tay Mơ hình chúng tơi MLP kết hợp layer CNNvới MLP Trong đó,

Ngày đăng: 12/02/2020, 13:31

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan