1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(TIỂU LUẬN) deep learning, mạng nơ ron nhân tạo nhiều lớp MLP và bài toán nhận dạng hình ảnh mạng nơ ron tích chập (convolution neural network CNN)

79 100 1

Đ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 đề Deep Learning, Mạng Nơ Ron Nhân Tạo Nhiều Lớp MLP Và Bài Toán Nhận Dạng Hình Ảnh Mạng Nơ Rôn Tích Chập (Convolution Neural Network CNN)
Người hướng dẫn PTS. Nguyễn Quang Phương, Giảng viên
Trường học Đại học Khoa Học
Chuyên ngành Trí tuệ nhân tạo và Học sâu
Thể loại Tổng luận
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 79
Dung lượng 6,54 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cấu trúc bài báo cáo đề tài Nội dung bài đô an gồm 4 chương: Chương 1: Deep Learning, Mang Nơ-ron nhân tao nhiều lớpMLP và bài toán nhận dạng hì̀nh ảnh Chương 2: Mạng nơ-ron tí́ch ch

Trang 1

LỜI CẢM ƠN

Lời đầu tiên, em xin chân thành cảm ơn các thầy cô giáo trong trường Đại học Khoa Học cùng các thầy cô trong khoa Điện, Điện Tử va Công Nghệ Vật Liệu đã nhiệt tình giúp đỡ, giảng dạya vmang đến cho em những điều bổ ích về̀ các môn đại cương cũng như các môn chuyên ngành, giú́p em có được nề̀n tảng

cơ sở lý thuyế́t vững chắc và kiế́n thức cần thiế́t để có thể thực hiện bài đồ án tốt nghiệp va xa hơn la co đươc hướng đi tôt trong tương lai

Tiế́p theo đó, em xin chân thành cảm ơn các bạn trong lớ́p Điện tử - Viễnthông K40, gia đình va nhữ̃ng người đã luôn đông hanh, khích lệ, giúp đỡ vađộng viên em trong suôt thơi gian vừa qua

Đặc biệt nhất, em xin gửi lời cám ơn chân thanh đế́n Thạc sĩ VươngQuang Phướ́c, giảng viên Bộ môn Kỹ thuật Viễn thông - trường Đại học KhoaHọc, người đã hướ́ng dẫn, cung cấp tài liệu, động viên và chỉ bảo nhiệt tì̀nh để

em có thể hoàn thành bài đồ án tốt nghiệp này

Trong suốt quá trì̀nh thực hiện đồ án, chắ́c chắ́n sẽ không tránh khỏinhữ̃ng sai sót Em rất mong nhận được sự đóng góp từ̀ các thầy, cô để có thểhoàn thiện hơn bài đồ án tốt nghiệp này Em xin chân thành cám ơn!

Sinh viên thực hiện

Nguyên Trí Định

i

Trang 2

MỤC LỤC

LỜI CẢM ƠN .i

MỤC LỤC ii

DANH MỤC HÌNH Ả̉NH iv

DANH MỤC BẢ̉NG BIỂU vi

DANH MỤC CÁC CHỮ VIẾT TẮT .vii

MỞ ĐẦU .1

CHƯƠNG 1 DEEP LEARNING, MẠNG NƠ-RON NHÂN TẠO NHIỀU LỚP MLP VÀ BÀI TOÁN NHẬN DẠ̣NG HÌNH Ả̉NH .3

1.1 Giớ́i thiệu chương 1 .3

1.2 Deep learning .3

1.3 Mang nơ-ron nhân tao .5

1.3.1 Perceptron .6

1.3.2 Sigmoid .8

1.3.3 Mang nơ-ron nhân tao nhiều lớp MLP .1

1.3.4 Bai toan nhận dang hình anh .2

1.4 Kết luận chương 1 .4

CHƯƠNG 2 LÝ THUYÊT CƠ BẢN VỀ MẠNG NƠ-RON TÍCH CHẬP CNN VA CAC THAM SỐ LIÊN QUAN .5

2.1 Giớ́i thiệu chương 2 .5

2.2 Mang nơ-ron tích chập .5

2.3 Lớ́p tí́ch chập .6

2.3.1 Phép tích chập .6

2.3.2 Vung tiếp nhận cục b ộ .7

2.3.3 Sô bước trươt (Strides) .9

2.3.4 Zero padding 11

2.4 Lây mâu xuông (Pooling) 12

2.5 Lớp Dropout 13

2.6 Ham kích hoat ngõ ra Softmax 14

2.7 Ham tổn hao Cross Entropy 15

2.8 Tỷ lệ hoc 15

ii

Trang 3

2.9 Kế́t luận chương 2 16

CHƯƠNG 3 SO SANH MÔ HÌNH MLP VỚI CNN VA KHẢO SAT SỰ ẢNH HƯƠNG CỦA CAC THAM SỐ 17

3.1 Giớ́i thiệu chương 3 17

3.2 Cơ sở dữ̃ liệu, so sanh mô hì̀nh 17

3.2.1 Cơ sở dữ̃ liệu 17

3.2.2 So sanh mô hình MLP va CNN 18

3.3 Đanh gia anh hương của cac tham sô 21

3.3.1 Lớp tí́ch chập 21

3.3.2 Ham kích hoat: 26

3.3.3 Pooling: 27

3.3.4 Dropout 28

3.3.5 Tỉ lệ học 30

3.3.6 Kết luận: 31

3.4 Kết luận chương 3 32

CHƯƠNG 4 SỬ DUNG MÔ HINH CNN TỐI ƯU CHO VIỆC PHÂN LOẠ I CỦ QUẢ 33

4.1 Giớ́i thiệu chương 4 33

4.2 Cơ sơ dữ liệu 33

4.3 Khao sat với mang Lenet 37

4.4 Khao sat với mô hình CNN tôi ưu: 39

4.5 Mơ rộng cơ ơs dữ liệu 43

4.6 Kế́t luận chương 4 48

KẾT LUẬN VÀ HƯỚ́NG PHÁT TRIỂN 49

TÀI LIỆU THAM KHẢ̉O 51

PHỤ LỤC 54

iii

Trang 4

DANH MỤC HÌNH Ả̉NH

Hình 1.1 Mối quan hệ giữ̃a AI/Machine Learning/Deep Learning [2] 4

Hình 1.2 Sơ đồ mô tả cách mạng nơ-ron hoạt động [3] 6

Hình 1.3 Một mạng nơ-ron nhân tạo cơ bản 7

Hình 1.4 Cấu trú́c củ̉a một perceptron vớ́i 5 đầu vào 8

Hình 1.5 Mạng nơ-ron tí́ch chập [5] 10

Hình 1.6 Thuật toán Gradient descent 14

Hình 1.7 Thuật toán SGD vớ́i động lượng (Stochastic gradient descent with momentum) [9] 15

Hình 1.8 Hì̀nh ảnh dướ́i góc nhì̀n củ̉a máy tí́nh [13] 19

Hình 2.1 Nơ-ron ở lớ́p ẩn kế́t nối vớ́i vùng tiế́p nhận cụ̣c bộ .21

Hình 2.2 Quá trì̀nh trượt củ̉a vùng tiế́p nhận cụ̣c bộ theo chiề̀u ngang và chiề̀u dọc 22

Hình 2.3 Quá trì̀nh hì̀nh thành lớ́p ẩn sau khi trượt vùng tiế́p nhận cụ̣c bộ 22

Hình 2.4 Giá trị̣ stride bằng 1 (a) và stride bằng 2 (b) 23

Hình 2.5 Lớ́p ẩn giữ̃ nguyên kí́ch thướ́c lớ́p ngõ̃ vào khi được thêm zero padding 24

Hình 2.6 Lớ́p ngõ̃ vào (a), bộ lọc (b) và bản đồ đặc tí́nh (c) 26

Hình 2.7 Đồ thị̣ hàm ReLu 27

Hình 2.8 Lớ́p ngõ̃ vào (a) và lớ́p ngõ̃ ra sau khi áp dụ̣ng lớ́p pooling (b) 28

Hình 2.9 Mạng nơ-ron sau khi được áp dụ̣ng Dropout [16] 29

Hình 3.1 Hì̀nh ảnh chữ̃ số viế́t tay từ̀ tập MNIST [17] 32

Hình 3.2 Hì̀nh ảnh trí́ch xuất từ̀ bộ cơ sở dữ̃ liệu CIFAR10 [18] 33

Hình 3.3 Mô hì̀nh mạng Multilayer Perceptron (MLP) 34

Hình 3.4 Mô hì̀nh mạng Lenet-5 (CNN) được Yan Lecun công bố năm 1998 [19] 34

Hình 3.5 Khảo sát mạng MLP vớ́i tỉ lệ học khác nhau 38

Hình 3.6 Kế́t quả củ̉a mạng MLP theo từ̀ng lớ́p ẩn 39

Hình 3.7 Kế́t quả củ̉a mạng MLP theo từ̀ng số lượng nơ-ron lớ́p ẩn 40

Hình 3.8 Kế́t quả mạng MLP khi thay đổ̉i giá trị̣ Dropout 41

iv

Trang 5

Hình 3.9 Khảo sát mạng CNN vớ́i tỉ lệ học khác nhau. 43

Hình 3.10 Kế́t quả mạng CNN khi tăng số khối tí́ch chập. 44

Hình 3.11 Kế́t quả mạng CNN khi tăng số lượng bản đồ đặc tí́nh. 44

Hình 3.12 Kế́t quả mạng CNN khi thay đổ̉i giá trị̣ Dropout. 45

Hình 3.13 Sơ đồ biểu diễn kí́ch thướ́c củ̉a bộ lọc ảnh hưởng tớ́i mô hì̀nh. 47

Hình 3.14 Sơ đồ thể hiện kí́ch thướ́c củ̉a các bướ́c trượt ảnh hưởng tớ́i mô hì̀nh mạng. 48

Hình 3.15 Sơ đồ thể hiện các loại lấy mẫu xuống ảnh hưởng tớ́i mô hì̀nh mạng. 49

Hình 3.16 Sơ đồ khối mô hì̀nh CNN sử dụ̣ng để đánh giá. 50

Hình 3.17 Tỉ lệ mất mát củ̉a các thuật toán tối ưu trên tập dữ̃ liệu MNIST 51

Hình 3.18 Tỉ lệ nhận dạng đú́ng củ̉a các thuật toán trên tập huấn luyện và tập đánh giá. 52

Hình 3.19 Tỉ lệ mất mát củ̉a các thuật toán tối ưu trên tập dữ̃ liệu CIFAR-10 53

Hình 3.20 Tỉ lệ nhận dạng đú́ng củ̉a các thuật toán trên tập huấn luyện và tập đánh giá. 53

Hình 4.1 Chế́ độ xem các project (dự án). 56

Hình 4.2 Các mo-đun dự án củ̉a hệ thống. 57

Hình 4.3 Bộ mô phỏng cho các loại thiế́t bị̣ 59

Hình 4.4 Mô hì̀nh mạng CNN sử dụ̣ng để phát triển lên ứng dụ̣ng 61

Hình 4.5 Tham số weight ở mô hì̀nh tensorflow. 64

Hình 4.6 Tham số weight ở mô hì̀nh tensorflow lite. 64

Hình 4.7 Mô hì̀nh CNN vớ́i đị̣nh dạng tensorflow 65

Hình 4.8 Mô hì̀nh CNN vớ́i đị̣nh dạng tensorflow lite 65

Hình 4.9 Giao diện củ̉a ứng dụ̣ng nhận dạng chữ̃ số viế́t tay. 66

Hình 4.10 Một số kế́t quả nhận dạng đú́ng trí́ch xuất từ̀ ứng dụ̣ng. 67

Hình 4.11 Một số nhận dạng sai trí́ch xuất từ̀ ứng dụ̣ng 68

Hình 4.12 Sơ đồ khối mô hì̀nh mạng MLP sử dụ̣ng đánh giá khảo sát. 72

Hình 4.13 Sơ đồ khối mô hì̀nh mạng Lenet-5 sử dụ̣ng khảo sát đánh giá. 75

Hình 4.14 Nhập mô hì̀nh vào Android studio vớ́i đị̣nh dạng tflite. 85

DANH MỤC BẢ̉NG BIỂU Bang 3.1 Kế́t quả mạng MLP khi thay đổ̉i kí́ch thướ́c gói con. 42

v

Trang 6

Bang 3.2 Kế́t quả mạng CNN khi thay đổ̉i kí́ch thướ́c gói con. 46

Bang 4.1 Chuyển đổ̉i đị̣nh dạng h5 thành tflite. 63

Bang 4.2 Xây dựng mô hì̀nh MLP để tiế́n hành đánh giá bằng ngôn ngữ̃

Trang 7

DANH MỤC CÁC CHỮ VIẾT TẮT

Network

tí́nh

dốc

ANN Artificial Neural Network Mạng nơ-ron nhân tạo

vii

Trang 8

Xây dưng mô hình thích hơp dưa trên những đanh gia trên đê ap dụng vao bai toan phân loai củ qua.

Trong qua trình thưc hiện đô an, em đa hoc hoi va rèn luyện đươc một sôkiến thưc va ky năng như:

Nâng cao ky năng lập trình với ngôn ngữ Python, mô phong trên google colab

Phat triên ky năng bao cao nhom, lam việc nhom

Nâng cao ky năng đoc tai liệu khoa hoc, tai liệu tiếng anh

3 Đối tượng nghiên cứu

Bộ cơ sở dữ̃ liệu CIFAR10 vớ́i 60000 hì̀nh ảnh màu gồm: máy bay, ô tô,chim, mè̀o, hươu, chó, ế́ch, ngựa, tàu và xe tải có kí́ch thướ́c 32x32 pixel

Bộ cơ ơs dữ liệu Fruit-360 với 30080anh mau thuộc 48 lớp với 22783anh huân luyện av 7297 anh kiêm tra, kích thước mỗi anh la 100x100 pixel

Deep Learning(Mang MLP va CNN – Cac thông sô, câu trúc mang)

Ngôn ngữ lập trình Python ( Thư viện Keras, numpy, matplotlib…)

Ngôn ngữ̃ lập trì̀nh Python

1

Trang 9

4 Phương pháp đanh gia

Nghiên cưu ly thuyết, đánh giá thông qua mô phong thưc nhiệm bằng Google Colaboratory (Google Colab)

Qua trình thưc hiện ômg cac bước:

Chuân bị cơ sơ dữ liệu

Xây dưng mô hình mang

Chon phương phap đanh gia, ham kích hoat, ham tôi ưu va ham tổn hao

Huân luyện mô hình đê tôi ưu cac thông sô weight va bias

Đanh gia mô hình va dư đoan với dữ liệu mới

5 Cấu trúc bài báo cáo đề tài

Nội dung bài đô an gồm 4 chương:

Chương 1: Deep Learning, Mang Nơ-ron nhân tao nhiều lớpMLP và bài toán nhận dạng hì̀nh ảnh

Chương 2: Mạng nơ-ron tí́ch chập (Convolution neural network - CNN)

Chương 3: So sanh mô hì̀nh MLP với CNN va khao sat đanhgia cac thông sô đê xây dưng mô hình

Chương 4: Ứng dụ̣ng mô hì̀nh mạng nơ-ron tí́ch chập (CNN) vao bai toan phân loai củ qua

2

Trang 10

DEEP LEARNING, MẠNG NƠ-RON NHÂN TẠO NHIỀU LỚP

MLP VÀ BÀI TOÁN NHẬN DẠ̣NG HÌNH Ả̉NH Giới thiệu chương 1

Deep Learning la một yk thuật huân luyện đang đươc nghiên cưu cungnhư ưng dụng rộng ai,r va bai toan nhận dang hình anh la môt trong nhữngvân đề đươc quan tâm hang đâu Chương 1 sẽ giớ́i thiệu tổ̉ng quan về̀ DeepLearning, cach thưc câu thanh mang nơ-ron, va phương pháp học, đặc điểmbài toán nhận dạng

Deep learning

Thuật ngữ AI Artificial( Intelligence) hay còn goi là trí́ thông minh nhântạo được nghiên cứu và biế́t đế́n vào nhữ̃ng năm 1956, AI dung đê chinhững cổ may đươc chế tao phưc tap, sơ hữu những đặc tính gân giông vớitrí thông minh của con ngươi

3

Trang 11

Machine Learning là một linh vưc con củ̉a AI, sử dụ̣ng các thuật toáncho phé́p máy tí́nh có thể học từ̀ dữ̃ liệu để đưa ra quyế́t đị̣nh, dự đoán ngõ̃

ra hay thực hiện các công việc thay vì̀ được lập trì̀nh một cách rõ̃ ràng.Machine Learning được phân thành 2 loại:

Học có giám sát (Supervised Learning) : La một yk thuật may hoc đê hoc tập từ tập dữ liệuơcđưgian nhan cho trước Nhiệm vụ của hoc co giam sat la dư đoan đâu ra mong muôn dưa vao gia trị đâu vao Hoc co giam sat đươc ap dụng chủ yếu cho 2 bai toan chính la baitoan dư đoan va bai toan phân lớp (classification problem)

Hoc không giam sat (Unsupervised Learning) : La một yk thuật của may hoc nhăm tìm ra một mô hình hay âuc trúc ân bơi tập dữ liệu không đươc gan nhan cho trước Tập dữ liệu huân luyện của hoc không giam sat không do con ngươi gan nhan, ma may tính se tư hoc hoan toan

Deep Learning la một nhanh nho của nganh Machine Learning bao gômcac thuật toan đươc xây dưng dưa trên câu trúc của nao bộ con ngươi (đươcgoi la mang neuron nhân tao), mang nơ-ron nhân tao không cân con ngươilập trình đê thưc hiện công việc, amchi cân cung câp cho may tính một thuậttoan hoc va lương lớn dữ liệu thì may tính se tư hoc đươc cach đê nhận dangmột đôi tương Khơi đâu của Deep Learning la những nghiên cưu về mangnơ-ron nhân tao ANN(Artificial Neural Network), lây cam hưng từ cac môhình nơ-ron sinh hoc Perceptron

Các mô hì̀nh mạng nơ-ron nhân tạo hay Deep Learning được biế́t đế́nrộng rãi vào 3/2016 khi thuật toán trí́ tuệ nhân tạo củ̉a Google đã đánh bạinhà vô đị̣ch trò̀ chơi cờ vây Lee Sedol, người từ̀ng 18 lần vô đị̣ch thế́ giớ́i bộmôn này Thuật toán AlphaGo được phát triển bởi Google DeepMind đã

4

Trang 12

giành chiế́n thắ́ng 4/5 trướ́c nhà vô đị̣ch cờ vây Tại sao Deep Learning là ngày càng thành công, trở thành công cụ̣ đắ́c lực củ̉a AI:

Cơ sở dữ̃ liệu cho việc huấn luyện ngày càng nhiề̀u

Khả năng tí́nh toán song song tốc độ cao củ̉a GPU

Nhiề̀u kĩ thuật mớ́i tăng độ chí́nh xác cho mô hì̀nh: Dropout, Batch Normalization, Data Augmentation

Nhiề̀u thư viện hỗ̃ trợ cho việc huấn luyện mạng nơ-ron nhân tạo sâu vớ́i GPU: Theano, Tensorflow, Pytorch, Keras,…

Nhiề̀u kĩ thuật tối ưu mớ́i : SGD, RMSProp, Adam,…

Sự cải tiế́n củ̉a các cấu trú́c mạng: CNN, RNN, RCNN…

Mạng nơ-ron nhân tạo

Mang nơ-ron nhân tao la một yk thuật may hoc phổ biến đươc mô phongdưa trên nơ-ron sinh hoc Bộ nao chúng ta sư dụng mang lớn cac nơ-ron liênkết với nhau đê xư ly thông tin Bên dưới la câu trúc cơ ban của một nơ-ronsinh hoc:

5

Trang 13

nơ-+ Axon: La dây liên kết đê truyền dữ liệu đa đươc xư ly ơ Nucleus nay

đi nơi khac

Perceptron

Perceptron là đơn vị̣ nhỏ cấu thành mạng nơ-ron nhân tạo Mộtperceptron sẽ nhận tí́n hiệu/dữ̃ liệu từ̀ các ngõ̃ vào, thực hiện tí́nh toán vàđưa quyế́t đị̣nh ở ngõ̃ ra Giá trị̣ ngõ̃ ra có thể là 0 hoặc 1 tương ứng vớ́i kế́tquả không hoặc có Cấu trú́c một Perceptron đơn giản được mô tả như sau:

6

Trang 14

Trong đó:

+ X1, …, Xn: các ngõ̃ vào nhị̣ phân củ̉a perceptron

+ W1, …, Wn: trọng số (weight) – biểu thị̣ mức độ quan trọng củ̉a ngõ̃ vào (input) so vớ́i ngõ̃ ra (output)

Nguyên ly lam việc của Perceptron dưa trên phương phap sư dụng cactrong sô đê xét va lưa chon gia trị ngõ ra Đê quyết định ngõ ra của cac nơ-ron nhân tao ngươi ta sư dụng cac ham kích hoat đê thưc hiện tính toan.Ham kích hoat đươc dừng trong Perceptron la ham bước (step function) – lamột ham tính tổng của cac trong sô nhân với ngõ vao tương ưng va so sanhvới một mưc ngưỡng (bias) đê đưa ra quyết định ngõ ra tương ưng, côngthưc:

7

Trang 15

output = 0nế u

jxj w j≤n g ưỡ ng

Trong đó:

+ xj: ngõ̃ vào thứ j củ̉a Perceptron

+ w j: trọng số củ̉a ngõ̃ vào xj

+ n : mức ngưỡ̃ng quyế́t đị̣nh giá trị̣ ngõ̃ ra

g

ư ỡ

Co thê thấy ngõ̃ ra củ̉a Perceptron phụ̣ thuộc vào tổ̉ng củ̉a các tí́ch ngõ̃vào và trọng số Đê đơn gian cho việc Perceptron quyết định ngõ ra al 0 hay

1, ta thay thế́ giá trị̣ ngưỡ̃ng bằng đại lượng bias = – b và công thưc (1) đượcviế́t lại thành:

Sigmoid

+ Ham bước (Step function):

8

Trang 16

Với mang nơ-ron Perceptron thì ham kích hoat la ham bước, la một hamkích hoat dưa vao ngưỡng Nếu gia trị đâu vao năm trong 1 ngưỡng xacđịnh, nơ-ron se đươc kích hoat va gưi chính dữ liệu đo qua lớp tiếp theo.Nhưng vân đề kho khăn ơ ham bước la không cho nhiều đâu ra (chi 0 hoặc 1).

Đê giai quyết đươc kho khăn nay thì Sigmoid ra đơi Về cơ ban Sigmoidcung tương tư như Perceptron(cung co cac ngõ vao x1,x2 … va bias), tuynhiên điêm khac biệtơ Sigmoid la khi co sư thay đổi nho thông sô hệ thôngthì ngõ ra se thay đổi tương ưng Khac với Perceptron chi co cac ngõ vaonhận al 0/1 thì với Sigmoid ngõ vao co thê la bât kì gia trị nao năm trongkhoang (0,1) va từ đo ngõ ra se co gia trị o = ( + ) với đươc goi la hamsigmoid đươc định nghia sigmoid:

σ

¿ 1

9

Trang 17

Vớ́i z¿ ngõ̃ ra củ̉a Sigmoid neuron được viế́t lại theo các

tham số w, x và b như sau:

n o r a

1

j w

j+b)

Một ôs ham kích hoat:

kết qua ơ đâu ra 1 gia trị trong khoanh (-1,1) ơ đâu + Relu ko bị bao hòa ơ 2 đâu

Trang 18

- Vì ham sigmoid co đao - Đôi xưng qua gôc toa độ + Do sigmoid va tanh sư dụng

ham exp cung như công thưc

10

Trang 19

ham đẹp nên thương hay khắc phục nhươc điêm của phưc tap tôn nhiều chi phí

- Đôi xưng qua 0 khắc phục

sư dụng công thưc đơn giannên thơi gian tính toan nhanh

sigmoid

trung tâm la 0 gây kho khăn

cho việt hội tụ

11

Trang 20

Mạng nơ-ron nhân tạo nhiêu lơp MLP

Mang nơ-ron nhân tao nhiều lớp MLP (Mutil Layer Perceptron) la sư kết hơp của nhiều lớp Perceptron va co câu tao như hình dưới:

Mỗ̃i mô hì̀nh mạng MLP sẽ co 3 dang:

+ Lớ́p ngõ̃ vào (Input layer): Tiếp nhận dữ liệu đưaaov mang

+ Lớp ẩn (Hidden layer): Thưc hiện tính toan cac thông sô dưa trên dữ liệu đươc đưa vao mang từ lớp ngõ vao va chuyên tiếp kết qua tới lớp ngõ ra Co thê

co 1 hoặc nhiều lớpân

Trang 21

+ Lớ́p ngõ̃ ra (Output layer): Co nhiệm vụ̣ thể hiện kế́t quả đạt được từ̀ lớ́p

ẩn dựa trên các thuật toán

1.1.2 Bai toan nhận dạng hình ảnh

Hình ảnh dươi góc nhìn của con người:

Hình ảnh dươi góc nhìn của may tính:

Trang 22

Về̀ cơ bản, nhận dạng hì̀nh ảnh là quá trì̀nh trí́ch xuất các thông tin chứatrong ảnh để phân loại đối tượng trong ảnh Va dưới goc nhìn của hệ thông, dữliệu khi đưa vao mang đươc biêu diên băng ma trận (matrix) ôs liệu hay tổngquat la ma trận nhiều chiều (tensor)

Một hì̀nh ảnh bất kì̀ đề̀u được biểu diễn dướ́i dạng một ma trận 3 chiề̀u cókí́ch thướ́c H x W x D trong đó H x W là chiề̀u dài và rộng củ̉a ảnh, D là sốlượng kênh củ̉a ảnh (thể hiện chiề̀u sâu củ̉a ảnh) Với cac anh xam, sô lươngkênh D của anh se băng 1 (D = 1), ví dụ anh trong tập dữ liệu Mnist đươc biêudiên dưới một ma trậnanh xam co kích thước (28x28x1) Vớ́i một hì̀nh ảnhmàu thì̀ ma trận có kí́ch thướ́c (H x W x 3), D = 3 tương ứng vớ́i 3 kênh màuRed, Green, Blue

Trang 23

Với bộ nao con ngươi chi cân chưa tới vai giây ta co thê nhận dang đươcđôi tương Tuy nhiên đây lai la một ânv đề kho khăn đôi với hệ thông maytính Thậm chí trong một strương hơp ban thân con ngươi cung co thê khôngnhận dang đươc đôi tương Một số thách thức đối vớ́i bài toán nhận dạng hì̀nhảnh có thể kể đế́n như:

Sự sai khác góc nhì̀n: Các góc nhì̀n khác nhau sẽ đưa ra các dự đoán khác nhau đối vớ́i cùng một đối tượng

Về vân đề che khuât: Đôi tương bị che khuât một phân

Nhâm lân bôi canh: Đôi tương bị hòa tron vao môi trương xung quanhtrong anh

Sự sai khác về̀ tỉ lệ, hình dang của đôi tương: Ti lệanh lớn – nho, bịlệch hướng so vớianh goc cung gây anh hương đến kết qua dư đoan

1.2 Kêt luận chương 1

Chương này đã giớ́i thiệu sơ lược về̀ sự phát triển củ̉a Deep Learning,phương pháp nhận dạng hì̀nh ảnh củ̉a máy tí́nh sử dụ̣ng Deep Learning, về̀bài toán và phương pháp củ̉a Deep Learning trong nhận dạng hì̀nh ảnh cũngnhư các thuật toán tối ưu Chương 2 sẽ trì̀nh bày cơ sở lý thuyế́t và các đơn vị̣cấu thành mạng nơ-ron nhân tạo CNN

Trang 24

CHƯƠNG 2 LÝ THUYÊT CƠ BẢN VỀ MẠNG NƠ-RON TÍCH CHẬP

CNN VA CAC THAM SỐ LIÊN QUAN 2.1 Giới thiệu chương 2

Chương 2 sẽ đi sâu vào giớ́i thiệu các khái niệm, các thành phần cơ bảncấu tạo thành mô hì̀nh mạng CNN và cách mà mô hì̀nh mạng hoạt động

2.2 Mạng nơ-ron tích chập

Trong chương 1, em đa trình bay về mang nơ-ron nhân tao nhiều lớpMLP Tuy nhiên việcưng dụng mô hình nay vao giai quyết bai toan phân loạiảnh lại cần được cân nhắ́c: Việc sử dụ̣ng các lớ́p Full connection, mỗ̃i dữ̃ liệungõ̃ vào sẽ được đưa đế́n tất cả các nơ-ron củ̉a lớ́p ẩn thứ nhất, và giá trị̣ sau

đó lại tiế́p tụ̣c được đưa đế́n tất cả các nơ-ron củ̉a lớ́p ẩn thứ hai Nhận thấy,vớ́i kí́ch thướ́c dữ̃ liệu lớ́n, thì̀ hệ thống sẽ trở nên rât phưc tap và số lượngphé́p tí́nh tăng vọt sau mỗ̃i lớ́p ẩn

Gia sư với một ưcb anh mau 100*100 đươc biêu diên dưới dang 1 Tensor100*100*3 (Tensor là một kiểu dữ̃ liệu dạng mảng có nhiề̀u chiề̀u) Nếu đê biêuthị hết nội dung của bưc anh thì cân truyền vao lớp đâu vao tât ca cac pixel(100*100*3 = 30000) Nghia la đâu vao giơ co 30000 nơ-ron Giả sử số lượng nơ-ron trong lớp ân thư nhât là 1000 Số lượng trong sô giữ̃a lớp đâu vao và lớp

ân thư nhât là 30000*1000 = 30000000, số lượng bias là 1000 Như vậy, ổ̉ngt sốthông sô là: 30001000 Đây mớ́i chỉ là thông sô giữ̃a lớp đâu vao và lớp ân thưnhât, trong hệ thông cò̀n nhiề̀u lớp khac nữ̃a, và nế́u kí́ch thướ́c ảnh tăng, ví́

Trang 25

dụ̣ 1000*1000 thì̀ số lượng thông sô tăng cực kì̀ nhanh Vì vậy ânc một giai phap thích hơp hơn đo la sư dụng mang nơ-ron tích chập CNN.

Mạng CNN sử dụ̣ng 3 ý tưởng cơ bản là Local Receptive Field (vùng tiế́pnhận cụ̣c bộ), Shared Weight And Bias (trọng số chung) và Pooling (lấy mẫu)[1] Để làm rõ̃ hơn về̀ nguyên lý hoạt động củ̉a CNN, chú́ng ta đi vào chi tiế́t các phân sau

2.3 Lớp tí́ch chập

Lớ́p tí́ch chập đóng vai trò̀ cốt lõ̃i củ̉a mạng CNN, là nhân tố giú́p mạnglọc và học các đặc điểm củ̉a hì̀nh ảnh, tăng khả năng phân loại ảnh chí́nh xáchơn Lớ́p tí́ch chập có các đặc điểm sau:

2.3.1 Phép tích chập

Phé́p tí́ch chập được thực hiện bằng cách tí́nh tổ̉ng củ̉a giá trị̣ củ̉a vùngtiế́p nhận cụ̣c bộ nhân vớ́i ma trận trọng số có kí́ch thướ́c tương đương Điểmkhác biệt giữ̃a mạng CNN và mạng MLP chí́nh là các trọng số ở mạng MLP làhoàn toàn khác nhau giữ̃a các nơ-ron và trong cùng một nơ-ron Vớ́i mạngCNN, các ma trận trọng số sẽ được dùng chung cho một lớ́p ẩn [4] Các giá trị̣dùng chung này được gọi là shared weights và shared biases Việc sử dụ̣ngchung các giá trị̣ shared weights và shared biases sẽ giú́p mạng tí́ch chập giảmđược số lượng lớ́n các thông số Ví́ dụ̣ vớ́i một vùng tiế́p nhận cụ̣c bộ có kí́chthướ́c 3 x 3 pixel sẽ có 9 trọng số và 1 bias, 10 thông số này được sử dụ̣ngchung cho một lớ́p ẩn phí́a sau Rõ̃ ràng số lượng thông số í́t hơn nhiề̀u so vớ́imạng MLP Các ma trận shared weight này sẽ được chập vớ́i dữ̃ liệu từ̀ lớ́pngõ̃ vào tạo thành các lớ́p ngõ̃ ra tương ứng Khi đó các ma trận trọng số đượcgọi là các bộ lọc (filters), ngõ̃ ra tí́ch chập củ̉a vùng tiế́p nhận cụ̣c bộ vớ́i bộ lọcđược gọi là các bản đồ đặc tí́nh (feature maps)

Trang 26

Hì̀nh mô tả cách hì̀nh thành các bản đồ đặc tí́nh vớ́i lớ́p ngõ̃ vào 6 x 6, bộlọc có kí́ch thướ́c 3 x 3, stride = 1 (dấu nhân thể hiện phé́p tí́ch chập) Ví́ dụ̣ vớ́igiá trị̣ đầu tiên trong lớ́p bản đồ đặc tí́nh được tí́nh như sau: [2 x (-1) + 2 x (-1)

+ 1 x (-1)] + [0 x 0 + 1 x 0 + 0 x 0] + [0 x 1 + 0 x 1 + 1 x 1] = − ¿ 4

Vùng tiế́p nhận cụ̣c bộ sẽ được chập vớ́i bộ lọc sau mỗ̃i bướ́c trượt trên lớ́pngõ̃ vào tạo thành một nơ-ron ở lớ́p ẩn tương ứng Quá trì̀nh này lặp lại chođế́n khi vùng tiế́p nhận cụ̣c bộ trượt đế́n hế́t lớ́p ngõ̃ vào sẽ tạo thành một bản

đồ đặc tí́nh Vớ́i mỗ̃i bộ lọc sẽ tạo thành một bản đồ đặc tí́nh khác nhau Trênthực tế́, các lớ́p ẩn sẽ có nhiề̀u bản đồ đặc tí́nh vớ́i các bộ lọc khác nhau nhằmtrí́ch xuất nhiề̀u thông tin củ̉a hì̀nh ảnh như: đường thẳng, đường cong, vùngbiên, đường ché́o Việc cho phé́p xử lý, trí́ch xuất các thông tin theo chiề̀ukhông gian giú́p mạng CNN thể hiện được nhữ̃ng kế́t quả tốt đối vớ́i các bàitoán nhận dạng hì̀nh ảnh

2.3.2 Vùng tiêp nhận ucc bộ

Ơ mạng MLP, các nơ-ron lớp nay đươc kết nôi đến toan bộ acc nơ-ron củalớp phía trước va phía sau Ở mạng CNN, lớ́p ngõ̃ vào sẽ được giữ̃ nguyên kí́chthướ́c cũng như số chiề̀u củ̉a hì̀nh ảnh ban đầu, mỗ̃i nơ-ron ở lớ́p ẩn sẽ

Trang 27

được kế́t nối vớ́i một vùng nhỏ ở lớ́p ngõ̃ vào Mỗ̃i vùng nhỏ ở lớ́p ngõ̃ vàođược gọi là các cửa sổ̉ hoặc các vùng tiế́p nhận cụ̣c bộ (local receptive field).

Ví́ dụ̣ như hì̀nh 2.3.2 vung có kí́ch thướ́c 3x3 tại lớ́p ngõ̃ vào đươc goi lavung tiếp nhận cục bộ.Vớ́i mỗ̃i vùng tiế́p nhận cụ̣c bộ ở lớ́p ngõ̃ vào, ta sẽ cótương ứng một nơ-ron ở lớ́p ẩn tiế́p theo Các nơ-ron ở lớ́p ẩn này có nhiệm vụ̣học các đặc tí́nh củ̉a vùng cụ̣c bộ ở lớ́p ngõ̃ vào Mỗ̃i nơ-ron sẽ có một đặc tí́nhkhác nhau dựa trên đặc tí́nh củ̉a vùng tiế́p nhận cụ̣c bộ ở lớ́p ngõ̃ vào Để cóđược một lớ́p ẩn gồm các nơ-ron ẩn, quá trì̀nh này được thực hiện bằng cáchtrượt vùng tiế́p nhận cụ̣c bộ trên dữ̃ liệu củ̉a lớ́p ngõ̃ vào Quá trì̀nh trượt theoquy tắ́c dị̣ch từ̀ trái sang phải, từ̀ trên xuống dướ́i, được mô tả như hì̀nh 2.3.3:

Trang 28

Sau khi vùng tiế́p nhận cụ̣c bộ trượt qua hế́t ngõ̃ vào, ta có được một lớ́p

ẩn vớ́i các nơ-ron có kí́ch thướ́c nhỏ hơn so vớ́i kí́ch thướ́c lớ́p ngõ̃ vào (hì̀nh2.3)

Trang 29

2.3.3 Sô bươc trươt (Strides)

Như đa mô ta ơ trên, quá trì̀nh hì̀nh thành lớ́p ẩn phụ̣ thuộc vào nguyêntắ́c trượt vùng tiế́p nhận cụ̣c bộ Ngoài việc tuân theo quy tắ́c đã được nêu ra,kí́ch thướ́c lớ́p ẩn cò̀n phụ̣ thuộc vào số bướ́c trượt vùng tiế́p nhận cụ̣c bộ Mộtcách ngắ́n gọn, số bướ́c trượt chí́nh là số pixel mà vùng tiế́p nhận cụ̣c bộ sẽdị̣ch chuyển so vớ́i vị̣ trí́ trướ́c đó Giả sử chọn vùng tiế́p nhận cụ̣c bộ có kí́chthướ́c 4x4 pixel, vớ́i giá trị̣ bước trươt bằng 1, vùng tiế́p nhận cụ̣c bộ sẽ dị̣chchuyển 1 pixel (hì̀nh 2.4a), vớ́i bước trươt bằng 2, vùng tiế́p nhận cụ̣c bộ sẽdị̣ch chuyển 2 pixel (hì̀nh 2.4b) Giá trị̣ bước trươt càng lớ́n, kí́ch thướ́c củ̉a lớ́p

Trang 30

Trong đó: lớ́p ngõ̃ vào có kí́ch thướ́c n x n, vùng tiế́p nhận cụ̣c bộ có kí́chthướ́c (kernel size) k x k, bước trươt s, thì̀ lớ́p ẩn sẽ có kí́ch thướ́c H x H pixel.

Áp dụ̣ng vào hì̀nh 2.4a, với sô bước trươt la 1 (s = 1), lớ́p ngõ̃ vào có kí́ch thướ́c

Trang 31

10 x 10, vùng tiế́p nhận có cụ̣c bộ có kí́ch thướ́c 4 x 4 pixel thì H = (10-4)/1 + 1 =

7 pixel

2.3.4 Zero padding

Ơ trên, ta thây gia trị lớp ngõ vao từ 10x10 pixel qua lớp tích chập thì kíchthước dữ liệu bị rút gon lai còn 7x7 pixel, nếu tiếp tục cho dữ liệu qua nhiều lớptích chập thì đâu ra tiếp tục giam dân đến cac vân đề: Thư nhât, sô lương lớp ân sebị han chế, trong khi đê khai thac đươc nhiều cac đặc tính cơ anb của dữ liệu,chúng taail cân nhiều lớp ân Thư hai, thông tin se bị mât mat dân sau khi qua bộocl tích chập Để xây dựng được nhiề̀u lớ́p ẩn hơn nhưng vẫn giữ̃ nguyên kí́ch cỡ̃củ̉a lớ́p ẩn nhằm mụ̣c đí́ch nâng cao hiệu quả củ̉a mô hì̀nh và tránh mất mát cácthông tin, các lớ́p zero padding (gọi tắ́t padding) cho phé́p thực hiện điề̀u naybằng cách thêm vào các nơ-ron có giá trị̣ 0 bao quanh đương biên

Ơ hình trên, lớp ngõ vao ban đâu co kích thước 8x8 pixel, sau khi đươcthêm lớp padding kích thước 1x1 pixel ơ 4 canh, thì lúc nay kích thước lớp ngõ

Trang 32

vao trơ thanh 10x10 pixel Gia sư ap dụng vung tiếp nhận cục bộo kích thước3x3 pixel, bước trươt băng 1 Theo công thưc 2.1 ta đươc lớp ân co kích thước

H = (10 – 3)/1 + 1 = 8x8 pixel Gia trị nay băng với kích thước ban đâu trước khithêm padding của lớp ngõ vao Như vậy, việc thêm padding khắc phục đươc

sư mât mat thông tin Tổng quat, với H la kích thước lớp anh, n la kích thướclớp ngõ vao, k la kích thước vung tiếp nhận cục bộ, as gial trị bước trươt, p lagia trị padding,, ta co đươc công thưc sau:

2.4 Lây mẫu xuông (Pooling)

Việc mạng CNN sử dụ̣ng các trọng số dùng chung giú́p hạn chế́ được sốlượng thông số trong mạng Tuy nhiên, nế́u các lớ́p tí́ch chập chứa nhiề̀u cácbản đồ đặc tí́nh thì̀ số lượng các thông số vẫn tăng lên theo cấp số nhân Mộtgiải pháp được đề̀ xuất là sử dụ̣ng các lớ́p pooling Mục đích của các lớ́ppooling la đê giảm kí́ch thướ́c củ̉a dữ̃ liệu từ̀ đó giảm số lượng các thông số vatính toan trong mạng, đông thơi vân giữ nguyên chiều sâu của dữ liệu Có cácphương pháp pooling như max pooling hay average pooling

Trang 33

Với Max Pooling, sau khi đi qua lớ́p pooling, các bản đồ đặc tí́nh sẽ được giảm kí́ch thướ́c bằng cách: một cửa sổ̉ nhỏ ở lớ́p trướ́c sẽ được thay thế́ bằng giá trị̣ lớ́n nhất củ̉a nơ-ron ở lớ́p đó, tức lấy giá trị̣ lớ́n nhất củ̉a vùng nơ-ron đó Với Average Pooling thì cac ban đô đặc tính es đươc giam băng cach: một cưa sổ nho ơ lớp trước se đươc thay thế băng tổng trung bình của cac nơ-ron ơ lớp

đo Hì̀nh 2.8a la max pooling, 2.8b la average pooling vớ́i vùng nơ-ron có kí́ch thướ́c 2 x 2 và stride bằng 2 Vớ́i kí́ch thướ́c như nay, sau khi đi qua lớ́p

Trang 34

pooling, kí́ch thướ́c củ̉a lớ́p ngõ̃ ra sẽ được giảm một nửa Cac kích thướcpooling lớn hơn se lam mât mat thông tin dữ liệu nhiều hơn.

2.5 Lơp Dropout

Dropout là phương pháp cho phé́p huấn luyện mạng nơ-ron nhân tạotránh được trường hợp overfitting [16] Overfitting là một trường hợp thườnggặp khi huấn luyện các mạng nơ-ron, khi mô hì̀nh huấn luyện bám quá sát dữ̃liệu huấn luyện, dẫn tớ́i kế́t quả trên tập dữ̃ liệu huấn luyện rất cao trong khithử nghiệm mô hì̀nh trên tập dữ̃ liệu đánh giá cho kế́t quả thấp hơn đáng kể.Vớ́i các mô hì̀nh thực tế́, việc overfitting là không thể tránh khỏi bởi vì̀ khi việchuấn luyện các mô hì̀nh, mụ̣c đí́ch cuối cùng chí́nh là tỉ lệ nhận dạng đú́ngcàng cao càng tốt Để đạt được điề̀u đó, mô hì̀nh mạng phải được xây dựngphức tạp, phải được huấn luyện nhiề̀u lần khi đó hiện tượng overfitting sẽxuất hiện

Để giảm được overfitting, thì với phương phap dropout se loại bỏ một số nơ-ron ngẫu nhiên trong mạng vớ́i một xác suất cho trướ́c Bằng cách thiế́t lập

Trang 35

tất cả trọng số củ̉a nơ-ron đó bằng 0, đồng nghĩa vớ́i các liên kế́t tớ́i nơ-ron đó

đề̀u không có giá trị̣ (hình trên bên phai), khi đó mô hì̀nh sẽ phải cố gắ́ng nhận

dạng đú́ng trong khi thiế́u thông tin từ̀ các nơ-ron bị̣ loại bỏ Điề̀u này sẽ giú́p

tăng tỉ lệ nhận dạng củ̉a mô hì̀nh nhưng không quá phụ̣ thuộc vào dữ̃ liệu

huấn luyện

2.6 Ham kích hoạt ngõ ra Softmax

Ham softmax được sử dụ̣ng để đưa ra quyế́t đị̣nh củ̉a mạng Hàm softmax

sẽ chuyển các giá trị̣ ngõ̃ ra củ̉a mạng thành phân phối xác suất thỏa mãn 2

yêu cầu: xác suất dự đoán củ̉a một nơ-ron luôn lớ́n hơn 0 và tổ̉ng xác suất dự

đoán củ̉a mạng bằng 1 Thay vì̀ dự đoán đầu ra theo các giá trị̣ ngõ̃ ra, mạng

sử dụ̣ng hàm softmax sẽ dự đoán đầu ra dựa vào xác suất củ̉a các ngõ̃ ra

tương ứng Giá trị̣ ron ngõ̃ ra càng lớ́n, xác suất dự đoán rơi vào ngõ̃ ra

nơ-ron đó càng cao Công thức hàm softmax được cho bởi:

ngõ̃ ra tại nơ-ron thứ i chia cho tổ̉ng tất cả các giá trị̣ nơ-ron tại lớ́p ngõ̃ ra.

2.7 Ham tổn hao Cross Entropy

Cross Entropy đươc sư dụng rộng air ngay nay trong cac mang co chưa

cac lớp softmax ơ ngõ ra Cross Entropy sư dụng gia trị xac suât của ngõ ra dư

đoan đê so sanh với ngõ ra thưc sư Công thưc ham tổn hao đươc cho bơi:

Trang 36

mô hì̀nh sẽ bị̣ phạt càng nặng từ̀ đó có thể hiệu chỉnh các thông số phù hợp.

VD: Nhan dan của 1 ngõ vao la [1; 0; 1] tai ngõ ra co 3 nơ-ron co cac gia trịlân lươt la [3; 4; 5] Gia trị ngõ ra sau khi qua ham softmax co gia trị ngõ ra 3:e3/(e3 + e4 + e5) = 0.09, tương tư ngõ ra 4 = 0.24, ngõ ra 5 = 0.66 Với CrossEntropy gia trị ham tổn hao [1; 0; 1] la: 1*log(0.09) + 0*log(0.24) + 1*log(0.66) =1.2

2.8 Tỷ lệ hoc

Tỉ lệ học có vai trò̀ quan trọng trong việc quyế́t đị̣nh mô hì̀nh mạng họcnhanh hay chậm Việc cập nhật trọng số và bias lên quan đế́n tỉ lệ học Tỉ lệhọc càng lớ́n, các giá trị̣ cập nhật củ̉a trọng số và bias càng lớ́n đồng nghĩa vớ́iviệc mô hì̀nh mạng học nhanh Việc học càng nhanh sẽ giú́p mô hì̀nh nhanhchóng đạt tớ́i điểm hội tụ̣ củ̉a mạng, tuy nhiên sự thay đổ̉i các thông số quálớ́n sẽ làm cho hàm tổ̉n hao mô hì̀nh mạng không đạt được giá trị̣ tối ưu nhỏnhất mà sẽ dao động xung quanh giá trị̣ đó Ngược lại khi chọn tỉ lệ học thấp,

sự thay đổ̉i các thông số trong mạng rất nhỏ, làm chậm lại quá trì̀nh học dẫnđế́n rất lâu hàm tổ̉n hao mớ́i đạt giá trị̣ nhỏ nhất

Trang 38

CHƯƠNG 3 SO SANH MÔ HÌNH MLP VỚI CNN VA KHẢO SAT SỰ

ẢNH HƯƠNG CỦA CAC THAM SỐ 3.1 Giới thiệu chương 3

Chương 3 se khao sat kha năng nhận dang đúng của hai mô hình MLP vaCNN Từ đo thây đươc sư vươt trội giữa 2 mô hình va khao sat cac tham sôliên qua đến mô hình đươc chon đê xây dưng đươc mô hình tôi ưu va thíchhơp nhât cho bai toan phân loai trai cây se đươc trình bay trong chương tiếptheo

Đối vớ́i việc huấn luyện và đánh giá cho mô hì̀nh mạng trên môi trườngGoogle Colab sử dụ̣ng thư viện Keras:

Google Colab(Colaboratory) : La một dịch vụ đam mây miên phí, cohỗ trơ GPU(Tesla K80) va TPU La một công cụ hỗ trơ rèn luyện yk năng lập trình với ngôn ngữ Python thông qua acc thư viện của Deep Learning

Đa cai đặt sẵn cho chúng ta những thư viện phổ biến như PyTorch, Keras,TensorFlow, OpenCV…

Keras là một thư viện mang neuron đươc viết băng Python co ưuđiêm la cú phap đơn gian, dê sư dụng, co thê chay trên CPU va GPU.Trong Keras hỗ trơ 2 cach xây dưng Model đo la: Sequential model vaFunction API

3.2 Cơ sở dữ liệu, so sanh mô hì̀nh

3.2.1 Cơ sở dữ liệu

Bộ cơ ơs dữ liệu CIFAR10al tập dữ liệuanh mau tư nhiên, đươc thu tập av chia se miên phí bơi Alex Krizhevsky, Vinod Nair va Geoffrey Hinton[] Bộ

Trang 39

CIFAR10 bao gôm 60000 anh mau, chia thanh 2 tập: ômg 50000 anh huânluyện av 10000 anh đanh gia, co kí́ch thướ́c 32 x 32 x 3 (3 lớ́p màu RGB) Cacanh nay gôm 10 nhóm khác nhau, mỗi nhom co 6000 anh, tương ưng mỗinhom đươc đanh nhan: máy bay, ô tô, chim, mè̀o, hươu, chó, ế́ch, ngựa, tàu và

xe tải

3.2.2 So sanh mô hình MLP va CNN

Ngày đăng: 08/12/2022, 03:36

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đề̀ tài nghiên cứu khoa học. Phạm Phú́ Quốc (2019). “Ứ́ng dụ̣ng kĩ thuật học sâu vào bài toán nhận dạng hì̀nh ảnh”. Khoa điện tử - Viễn thông, Đại học Khoa học - Huế́ Sách, tạp chí
Tiêu đề: Ứ́ng dụ̣ng kĩ thuậthọc sâu vào bài toán nhận dạng hì̀nh ảnh
Tác giả: Đề̀ tài nghiên cứu khoa học. Phạm Phú́ Quốc
Năm: 2019
[2] Michael Copeland (2016). What’s the Difference Between Artificial Intelligence, Machine Learning, and Deep Learning?, NVIDIA Blog Sách, tạp chí
Tiêu đề: What’s the Difference Between Artificial Intelligence, Machine Learning, and Deep Learning
Tác giả: Michael Copeland
Nhà XB: NVIDIA Blog
Năm: 2016
[3] Bill Schmarzo (2018). Using Confusion Matrices to Quantify the Cost of Being Wrong, View Blog Sách, tạp chí
Tiêu đề: Using Confusion Matrices to Quantify the Cost of Being Wrong
Tác giả: Bill Schmarzo
Nhà XB: View Blog
Năm: 2018
[4] Michael A. Nielsen (2015). Neural Networks and Deep Learning, Determination Press Sách, tạp chí
Tiêu đề: Neural Networks and Deep Learning
Tác giả: Michael A. Nielsen
Nhà XB: Determination Press
Năm: 2015
[5] V SHARMA (2018). Deep Learning – Introduction to Convolutional Neural Networks. Vinod Sharma's Blog Sách, tạp chí
Tiêu đề: Deep Learning – Introduction to Convolutional Neural Networks
Tác giả: V SHARMA
Nhà XB: Vinod Sharma's Blog
Năm: 2018
[6] Lé́on Bottou, Frank E. Curtis, Jorge Nocedal (2016). Optimization Methods for Large-Scale Machine Learning, arXiv:1606.04838 Sách, tạp chí
Tiêu đề: Optimization Methods for Large-Scale Machine Learning
Tác giả: Léon Bottou, Frank E. Curtis, Jorge Nocedal
Nhà XB: arXiv
Năm: 2016
[7] Goodfellow, Bengio & Courville 2016, p. 200, "Furthermore, back propagation is often misunderstood as being specifiic to multi-layer neural networks, but in principle it can compute derivatives of any function&#34 Sách, tạp chí
Tiêu đề: Deep Learning
Tác giả: Ian Goodfellow, Yoshua Bengio, Aaron Courville
Nhà XB: MIT Press
Năm: 2016
[9] Sutskever, I., Martens, J., Dahl, G.E. and Hinton, G.E. (2013). On the importance of initialization and momentum in deep learning. ICML (3), Vol 28, pp. 1139—1147 Sách, tạp chí
Tiêu đề: On the importance of initialization and momentum in deep learning
Tác giả: Sutskever, I., Martens, J., Dahl, G.E., Hinton, G.E
Năm: 2013
[11] Alexandre Dé́fossez, Lé́on Bottou, Francis Bach, Nicolas Usunier (2020). On the Convergence of Adam and Adagrad, arXiv:2003.02395 Sách, tạp chí
Tiêu đề: On the Convergence of Adam and Adagrad
Tác giả: Alexandre Défossez, Léon Bottou, Francis Bach, Nicolas Usunier
Nhà XB: arXiv
Năm: 2020
[12] Matthew D. Zeiler (2012), ADADELTA: AN ADAPTIVE LEARNING RATE METHOD,arXiv:1212.5701v1 [cs.LG] 22 Dec 2012 Sách, tạp chí
Tiêu đề: ADADELTA: AN ADAPTIVE LEARNING RATE METHOD
Tác giả: Matthew D. Zeiler
Năm: 2012
[13] Jean-Louis Queguiner (2019). Deep Learning explained to my 8-year- old daughter. OVHcloud blog Sách, tạp chí
Tiêu đề: Deep Learning explained to my 8-year- old daughter
Tác giả: Jean-Louis Queguiner
Nhà XB: OVHcloud blog
Năm: 2019
[14] Fei-Fei Li, Andrej Karpathy, Justin Johnson (2016). Image Classification, in Convolutional Neural Networks for Visual Recognition, Stanford CS Sách, tạp chí
Tiêu đề: Convolutional Neural Networks for Visual Recognition
Tác giả: Fei-Fei Li, Andrej Karpathy, Justin Johnson
Nhà XB: Stanford CS
Năm: 2016
[15] Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton (2012). Imagenet classification with deep convolutional neural networks, NIPS, vol. 25, pp. 1097- 1105 Sách, tạp chí
Tiêu đề: Imagenet classification with deep convolutional neural networks
Tác giả: Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton
Nhà XB: NIPS
Năm: 2012
[16] Xiang Li, Shuo Chen, Xiaolin Hu, Jian Yang (2018). Understanding the Disharmony between Dropout and Batch Normalization by Variance Shift.arXiv:1801.05134 Sách, tạp chí
Tiêu đề: Understanding the Disharmony between Dropout and Batch Normalization by Variance Shift
Tác giả: Xiang Li, Shuo Chen, Xiaolin Hu, Jian Yang
Nhà XB: arXiv
Năm: 2018
[17] Yann LeCun, Courant Institute (1989). The MNIST Database of Handwritten Digits Sách, tạp chí
Tiêu đề: The MNIST Database of Handwritten Digits
Tác giả: Yann LeCun
Nhà XB: Courant Institute
Năm: 1989
[18] Alex Krizhevsky, Vinod Nair and Geoffrey Hinton (2009). The CIFAR- 10 dataset Sách, tạp chí
Tiêu đề: The CIFAR-10 dataset
Tác giả: Alex Krizhevsky, Vinod Nair, Geoffrey Hinton
Năm: 2009
[19] Eugenio Culurciello (2017) “The History of Neural Networks”.Medium Sách, tạp chí
Tiêu đề: The History of Neural Networks
Tác giả: Eugenio Culurciello
Nhà XB: Medium
Năm: 2017
[20] Sagar Sharma (2017). Epoch vs Batch Size vs Iterations. Medium Sách, tạp chí
Tiêu đề: Epoch vs Batch Size vs Iterations
Tác giả: Sagar Sharma
Nhà XB: Medium
Năm: 2017
[8] Qian, N. (1999). On the momentum term in gradient descent learning algorithms. Neural Networks: The Official Journal of the International Neural Network Society, 12(1), 145–151. http://doi.org/10.1016/S0893-6080(98)00116-6 Link
[10] Christian Igel and Michael H usken̈ (2000). Improving the Rprop Learning Algorithm. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.17.1332 Link

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w