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

Ứng dụng học sâu cho bài toán nhận diện ảnh

121 5 2

Đ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 đề Ứng dụng học sâu cho bài toán nhận diện ảnh
Tác giả Trần Như Thuận, Lương Uy Long
Người hướng dẫn ThS. Quách Đình Hoàng, ThS. Trần Tiến Đức
Trường học Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh
Chuyên ngành Kỹ Thuật Dữ Liệu
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Tp.Hồ Chí Minh
Định dạng
Số trang 121
Dung lượng 7,16 MB

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

Cấu trúc

  • PHẦN 1: MỞ ĐẦU (19)
  • PHẦN 2: NỘI DUNG (23)
  • CHƯƠNG 1: TÌM HIỂU DEEP LEARNING (23)
    • 1.1. LỊCH SỬ SƠ LƯỢC VỀ DEEP LEARNING (23)
    • 1.2. HỌC PHÂN CẤP (27)
    • 1.3. THẾ NÀO LÀ “SÂU” TRONG HỌC SÂU (29)
    • 1.4. TỔNG KẾT (30)
  • CHƯƠNG 2: ARTIFICIAL NEURAL NETWORK (32)
    • 2.1. NEURAL NETWORK LÀ GÌ (32)
    • 2.2. HOẠT ĐỘNG (32)
    • 2.3. QUÁ TRÌNH XỬ LÍ (34)
    • 2.4. HÀM KÍCH HOẠT (35)
      • 2.4.1 Hàm sigmoid (36)
      • 2.4.2 Hàm tanh (37)
      • 2.4.3 Hàm RELU (38)
      • 2.4.4 Hàm leaky RELU (40)
      • 2.4.5 Hàm RELU6 (41)
      • 2.4.6 Hàm softmax (41)
  • CHƯƠNG 3: ẢNH TRONG MÁY TÍNH (43)
    • 3.1. HỆ MÀU RGB (43)
    • 3.2. ẢNH MÀU (43)
    • 3.3. TENSOR (45)
    • 3.4. ẢNH XÁM (46)
    • 3.5. CHUYỂN HỆ MÀU (48)
  • CHƯƠNG 4: CONVOLUTIONAL NEURAL NETWORK (49)
    • 4.1. PHÉP TÍNH CONVOLUTION (49)
      • 4.1.1. Convolution (49)
      • 4.1.2. Padding (50)
      • 4.1.3. Stride (51)
      • 4.1.4. Ý nghĩa của phép tính convolution (52)
    • 4.2. CONVOLUTIONAL NEURAL NETWORK (53)
      • 4.2.1. Convolution layer (53)
      • 4.2.2. Convolutional layer đầu tiên (54)
      • 4.2.3. Convolutional layer tổng quát (57)
      • 4.2.4. Pooling layer (58)
      • 4.2.5. Fully connected layer (60)
  • CHƯƠNG 5: IMAGE RECOGNITION (61)
    • 5.1. TÌM HIỂU CHUNG VỀ IMAGE RECOGNITION (61)
      • 5.1.1. Image Recognition là gì? (61)
      • 5.1.2. Hiểu về Image Recognition (61)
      • 5.1.3. Image Recognition hoạt động như thế nào? (61)
      • 5.1.4. Những thách thức về Image Recognition (62)
      • 5.1.5. Mối liên hệ của Image Recognition (62)
    • 5.2. TÌM HIỂU VỀ TRANSFER LEARNING (64)
      • 5.2.1. Kiến trúc mô hình sử dụng transfer learning (65)
      • 5.2.2. Lợi ích và hạn chế của Transfer learning (67)
      • 5.2.3. Mạng VGG16 (68)
      • 5.2.4. Mạng VGG19 (69)
  • CHƯƠNG 6: TÌM HIỂU MẠNG MOBILENET V2 VÀ RESNET (73)
    • 6.1. TÍCH CHẬP HAI CHIỀU THÔNG THƯỜNG VÀ TÍCH CHẬP TÁCH BIỆT CHIỀU SÂU (73)
      • 6.1.1. Tích chập 2 chiều thông thường (73)
      • 6.1.2. Tích chập tách biệt chiều sâu (73)
    • 6.2. KIẾN TRÚC MẠNG MOBILENET (77)
    • 6.3. MẠNG MOBILENET V2 (80)
      • 6.3.1. Khối dư (Residual Block) (80)
      • 6.3.2. Kiến trúc mạng MobileNet V2 (83)
      • 6.3.3. Kiến trúc mạng ResNet34 (85)
  • CHƯƠNG 7: XÂY DỰNG ỨNG DỤNG PLANT DISEASE PREDICTION (93)
    • 7.1. MÔ TẢ BÀI TOÁN VÀ ỨNG DỤNG (93)
      • 7.1.1. Mô tả bài toán (93)
      • 7.1.2. Mô tả ứng dụng (93)
      • 7.1.3. Mô tả chức năng (94)
    • 7.2. XÂY DỰNG ỨNG DỤNG (94)
      • 7.2.1. Thu thập dữ liệu (94)
      • 7.2.2. Huấn luyện mô hình (96)
      • 7.2.3. Xây dựng website (103)
      • 7.2.4. Giao diện ứng dụng (112)
    • 7.3. THỰC NGHIỆM ĐÁNH GIÁ (113)
  • PHẦN 3: KẾT LUẬN (116)
    • 1. KẾT QUẢ ĐẠT ĐƯỢC (8)
      • 1.1. Ý nghĩa khoa học (22)
      • 1.2. Ý nghĩa thực tiễn (22)
    • 2. HẠN CHẾ (22)
    • 3. HƯỚNG PHÁT TRIỂN (22)
  • TÀI LIỆU THAM KHẢO (118)

Nội dung

Vấn đề là các trọng số được sử dụng để xác định nhãn lớp cho mộtđầu vào nhất định cần phải được điều chỉnh thủ công bởi con người - loại mô hình này rõ ràng không mở rộng quy mô tốt nếu

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC

SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ

MINH

ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT DỰ LIỆU

ỨNG DỤNG HỌC SÂU CHO BÀI TOÁN NHẬN DIỆN ẢNH

GVHD: ThS QUÁCH ĐÌNH HOÀNG SVTH: TRẦN NHƯ THUẬN

LƯƠNG UY LONG

SKL009500

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TPHCM

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN: KỸ THUẬT DỮ LIỆU



Trần Như Thuận 18133054 Lương Uy Long 18133026

Đề Tài:

ỨNG DỤNG HỌC SÂU CHO BÀI TOÁN NHẬN DIỆN ẢNH

KHOÁ LUẬN TỐT NGHIỆP KỸ SƯ KỸ THUẬT DỮ LIỆU

GIÁO VIÊN HƯỚNG DẪN ThS QUÁCH ĐÌNH HOÀNG

KHOÁ 2018 – 2022

Trang 3

ĐH SƯ PHẠM KỸ THUẬT TP.HCM XÃ HỘI CHỦ NGHĨA VIỆT NAM

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Ngành: Kỹ Thuật Dữ Liệu

Tên đề tài: Ứng dụng học sâu cho bài toán nhận diện ảnh

Họ và tên Giáo viên hướng dẫn: ThS Quách Đình Hoàng

NHẬN XÉT

3 Khuyết điểm

Tp Hồ Chí Minh, ngày tháng năm 2022

Giáo viên hướng dẫn

(Ký & ghi rõ họ tên)

Trang 4

ĐH SƯ PHẠM KỸ THUẬT TP.HCM XÃ HỘI CHỦ NGHĨA VIỆT NAM

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Ngành: Kỹ Thuật Dữ Liệu

Tên đề tài: Ứng dụng học sâu cho bài toán nhận diện ảnh

Họ và tên Giáo viên phản biện: ThS Trần Tiến Đức

NHẬN XÉT

7 Về nội dung đề tài & khối lượng thực hiện:

9 Khuyết điểm

10 Đề nghị cho bảo vệ hay không ?

11 Đánh giá loại :

12 Điểm :

Tp Hồ Chí Minh, ngày tháng năm 2022

Giáo viên hướng dẫn

(Ký & ghi rõ họ tên)

Trang 5

LỜI CAM ĐOAN

Khoá luận này là công trình nghiên cứu của chúng tôi, được thực hiện dưới sựhướng dẫn khoa học của ThS Quách Đình Hoàng Các số liệu, những kết luận nghiêncứu và sản phẩm được tạo ra bởi chúng tôi được trình bày trong khoá luận này làtrung thực

Chúng tôi xin hoàn toàn chịu trách nhiệm về lời cam đoan này

Trần Như Thuận Lương Uy Long

Trang 6

LỜI CẢM ƠN

Qua thời gian học tập và rèn luyện tại trường Đại Học Sư Phạm Kỹ Thuật ThànhPhố Hồ Chí Minh cho đến nay, chúng tôi đã nhận được rất nhiều sự quan tâm giúp đỡcủa quý Thầy Cô và bạn bè Với lòng biết ơn sâu sắc và chân thành, chúng tôi xin gửi đến Ban Giám Hiệu trường đã tạo môi trường học tập và sáng tạo năng động, đầy đủ tiện nghi trong suốt 4 năm theo học tại trường

Một kỳ thực hiện luận văn tốt nghiệp ngắn ngủi đã trôi qua nhưng để lại trong chúng tôi rất nhiều cảm xúc Chúng tôi xin được gửi lời cảm ơn chân thành đến ThầyQuách Đình Hoàng Thầy đã cung cấp tài liệu và hướng dẫn tận tình cho chúng tôi Trong suốt quá trình thực hiện luận văn tốt nghiệp, Thầy luôn theo dõi tiến độ và giảiđáp, chia sẻ giúp chúng tôi vượt qua những khó khăn Chúng tôi rất trân quý sự tâm huyết và trách nhiệm của Thầy trong công việc giảng dạy và truyền đạt kiến thức

Chúng tôi cũng xin gửi lời cảm ơn sâu sắc đến Thầy Cô khoa Công nghệ Thông tin - Đại học Sư phạm Kỹ thuật TP.HCM đã đồng hành và hỗ trợ chúng tôi trong suốt quá trình học tập và thực hiện khóa luận Chúng tôi xin cảm ơn trường Sư phạm Kỹ thuật đã tạo nhiều điều kiện thuận lợi cho hoạt động phục vụ học tập của sinh viên chúng tôi, đặc biệt là thư viện số với nguồn tri thức vô tận Chúng tôi cũng gửi lời cảm ơn chân thành đến các bạn khóa 2018 ngành Kỹ thuật Dữ liệu, cảm ơn những góp

ý và chia sẻ quý giá từ tất cả các bạn Cảm ơn sự động viên từ các bạn để nhóm chúngtôi có thể giữ vững tinh thần và thực hiện khóa luận đúng tiến độ

Những giá trị cốt lõi nhà trường, Thầy Cô và bạn bè mang đến, chúng tôi sẽ luôn ghinhớ để làm động lực thúc đẩy bản thân phát triển và hoàn thiện hơn nữa Công việc nào chắc chắn cũng có khó khăn nhưng khổ luyện thành nhân, rõ ràng bản thân chúng tôi đã

có những bước tiến cả về kiến thức, tư duy, kỹ năng, cách làm việc và mối quan hệ ứng

xử với mọi người Chúng tôi cũng nhận thấy bản thân có những khuyết điểm và thiếu sót cần cố gắng cải thiện để tốt hơn, hướng tới mục tiêu lớn trong tương lai

Trang 7

Trường ĐH Sư Phạm Kỹ Thuật TP.HCMKhoa : Công Nghệ Thông Tin

ĐỀ CƯƠNG KHOÁ LUẬN TỐT NGHIỆP

Họ và Tên SV thực hiện 1 : Trần Như Thuận Mã Số SV : 18133054

Họ và Tên SV thực hiện 2 : Lương Uy Long Mã Số SV : 18133026Thời gian làm luận văn : từ : 04/03/2022 Đến : 08/07/2022

1 Tìm hiểu khái quát Deep Learning trong Computer Vision

2 Ảnh trong máy tính và tìm hiểu Image Recognition

3 Thu thập và xây dựng tập dữ liệu

4 Xử lý dữ liệu và tạo mô hình huấn luyện dựa trên kiến trúc

5 Ứng dụng minh họa

6 Đánh giá và đưa hướng phát triển

Đề cương viết luận văn:

1.1 Tính cấp thiết của đề tài

1.2 Mục tiêu của đề tài

1.3 Cách tiếp cận và phương pháp nghiên cứu

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

- Phạm vi nghiên cứu

1.4 Phân tích những công trình có liên quan

1.5 Kết quả dự kiến đạt được

Trang 8

1.6.

Bố cục của bài báo cáo

1 Chương 1: Tìm hiểu khái quát học sâu

2 Chương 2: Artificial neural network

3 Chương 3: Ảnh trong máy tính

4 Chương 4: Covolution neural network

5 Chương 5: Image Recognition

6 Chương 6: Tìm hiểu mạng MobileNetV2

7 Chương 7: Xây dựng ứng dụng Plant Disease Prediction

1 04/03/2022  Tìm hiểu và lựa chọn đề tài cho khoá

Trang 9

 Tìm hiểu tổng quan về các hàm kíchhoạt.

 Tìm hiểu ảnh kỹ thuật số trong máytính

 Tìm hiểu về image recognition,transfer learning và mobileNet cũngnhư mobileNetV2

 Tìm hiểu về kiến trúc mô hình VGG

và ResNet trong việc huấn luyện, cácframework để xây dựng ứng dụng

3 17/05/2022  Ứng dụng học sâu trong nhận diện để

– xây dựng demo nhỏ, cụ thể là ứng

19/06/2022 dụng nhận dạng loại bệnh hại cây

trồng thông qua lá

 Tiến hành viết báo cáo sơ bộ

4 20/06/2022  Tổng hợp, chỉnh sửa cũng như hoàn

– thiện báo cáo cuối cùng

08/07/2022  Chuẩn bị thuyết trình cũng như phần

trình bày trước các giảng viên

Ý kiến giáo viên hướng dẫn

(Ký và ghi rõ họ tên)

Ngày tháng năm 2021

Người viết đề cương

Trần Như Thuận Lương Uy Long

Trang 10

MỤC LỤC

MỤC LỤC 1

DANH MỤC CÁC BẢNG 4

DANH MỤC CÔNG THỨC 5

DANH MỤC CÁC HÌNH 6

DANH MỤC VIẾT TẮT 9

PHẦN 1: MỞ ĐẦU 10

1.Tính cấp thiết của đề tài 10

2.Mục tiêu của đề tài 10

3.Cách tiếp cận và phương pháp nghiên cứu 11

4.Phân tích những công trình có liên quan 11

5.Kết quả dự kiến 12

6.Bố cục của bài báo cáo 12

PHẦN 2: NỘI DUNG 14

CHƯƠNG 1: TÌM HIỂU DEEP LEARNING 14

1.1 LỊCH SỬ SƠ LƯỢC VỀ DEEP LEARNING 14

1.2 HỌC PHÂN CẤP 18

1.3 THẾ NÀO LÀ “SÂU” TRONG HỌC SÂU 20

1.4 TỔNG KẾT 21

CHƯƠNG 2: ARTIFICIAL NEURAL NETWORK 23

2.1 NEURAL NETWORK LÀ GÌ 23

2.2 HOẠT ĐỘNG 23

2.3 QUÁ TRÌNH XỬ LÍ 25

2.4 HÀM KÍCH HOẠT 26

2.4.1 Hàm sigmoid 27

2.4.2 Hàm tanh 28

2.4.3 Hàm RELU 29

2.4.4 Hàm leaky RELU 31

2.4.5 Hàm RELU6 32

2.4.6 Hàm softmax 32

CHƯƠNG 3: ẢNH TRONG MÁY TÍNH 34

3.1 HỆ MÀU RGB 34

3.2 ẢNH MÀU 34

3.3 TENSOR 36

Trang 11

3.4 ẢNH XÁM 37

3.5 CHUYỂN HỆ MÀU 39

CHƯƠNG 4: CONVOLUTIONAL NEURAL NETWORK 40

4.1 PHÉP TÍNH CONVOLUTION 40

4.1.1 Convolution 40

4.1.2 Padding 41

4.1.3 Stride 42

4.1.4 Ý nghĩa của phép tính convolution 43

4.2 CONVOLUTIONAL NEURAL NETWORK 44

4.2.1 Convolution layer 44

4.2.2 Convolutional layer đầu tiên 45

4.2.3 Convolutional layer tổng quát 48

4.2.4 Pooling layer 49

4.2.5 Fully connected layer 51

CHƯƠNG 5: IMAGE RECOGNITION 52

5.1 TÌM HIỂU CHUNG VỀ IMAGE RECOGNITION 52

5.1.1 Image Recognition là gì? 52

5.1.2 Hiểu về Image Recognition 52

5.1.3 Image Recognition hoạt động như thế nào? 52

5.1.4 Những thách thức về Image Recognition 53

5.1.5 Mối liên hệ của Image Recognition 53

5.2 TÌM HIỂU VỀ TRANSFER LEARNING 55

5.2.1 Kiến trúc mô hình sử dụng transfer learning 56

5.2.2 Lợi ích và hạn chế của Transfer learning 58

5.2.3 Mạng VGG16 59

5.2.4 Mạng VGG19 60

CHƯƠNG 6: TÌM HIỂU MẠNG MOBILENET V2 VÀ RESNET 64

6.1 TÍCH CHẬP HAI CHIỀU THÔNG THƯỜNG VÀ TÍCH CHẬP TÁCH BIỆT CHIỀU SÂU 64

6.1.1 Tích chập 2 chiều thông thường 64

6.1.2 Tích chập tách biệt chiều sâu 64

6.2 KIẾN TRÚC MẠNG MOBILENET 68

6.3 MẠNG MOBILENET V2 71

6.3.1 Khối dư (Residual Block) 71

Trang 12

6.3.2 Kiến trúc mạng MobileNet V2 73

6.3.3 Kiến trúc mạng ResNet34 75

CHƯƠNG 7: XÂY DỰNG ỨNG DỤNG PLANT DISEASE PREDICTION 83

7.1 MÔ TẢ BÀI TOÁN VÀ ỨNG DỤNG 83

7.1.1 Mô tả bài toán 83

7.1.2 Mô tả ứng dụng 83

7.1.3 Mô tả chức năng 84

7.2 XÂY DỰNG ỨNG DỤNG 84

7.2.1 Thu thập dữ liệu 84

7.2.2 Huấn luyện mô hình 86

7.2.3 Xây dựng website 93

7.2.4 Giao diện ứng dụng 100

7.3 THỰC NGHIỆM ĐÁNH GIÁ 101

PHẦN 3: KẾT LUẬN 104

1 KẾT QUẢ ĐẠT ĐƯỢC 104

1.1 Ý nghĩa khoa học 104

1.2 Ý nghĩa thực tiễn 104

2 HẠN CHẾ 105

3 HƯỚNG PHÁT TRIỂN 105

TÀI LIỆU THAM KHẢO 106

Trang 13

DANH MỤC CÁC BẢNG

Bảng 6.2.1: Đặc điểm các lớp của mạng MobileNet [19] 68

Bảng 6.2.2: Depthwise Separable vs Full Convolution MobileNet [19] 70

Bảng 6.2.3: MobileNet Comparison to Popular Models [19] 70

Bảng 6.2.4: Smaller MobileNet Comparison to Popular Models [19] 71

Bảng 6.2.5: MobileNet for Stanford Dogs [19] 71

Bảng 6.3.1: Kiến trúc MobileNet V2 [25] 75

Trang 14

DANH MỤC CÔNG THỨC

( ) 26

( ) 26

( ) 27

( ) 28

( ) 30

( ) 31

( ) 32

( ) 39

5

Trang 15

DANH MỤC CÁC HÌNH

Hình 1.1.1: Mối quan hệ giữa DL, ML, AL [1] 14

Hình 1.1.2: Ví dụ về kiến trúc Perceptron [1] 15

Hình 1.1.3: Bài toán phi tuyến trong bộ dữ liệu XOR [1] 16

Hình 1.1.4: Mạng thần kinh chuyển tiếp nhiều lớp [1] 17

Hình 1.2.1: Mô tả quá trình định lượng một hình ảnh thuốc viên [1] 19

Hình 1.3.1: Mối quan hệ giữa độ chính xác và dữ liệu của DL, ML [1] 21

Hình 2.2.1: Mô hình mạng nơ-ron sinh học [2] 23

Hình 2.2.2: Kiến trúc một mạng thần kinh [2] 24

Hình 2.3.1: Quá trình xử lí thông tin của một NN [3] 25

Hình 2.4.1: Đồ thị hàm Sigmoid và đạo hàm [5] 27

Hình 2.4.2: Đồ thị hàm tanh và đạo hàm [5] 28

Hình 2.4.3: Kết quả chuyển đổi hàm ReLU [6] 29

Hình 2.4.4: Cách hoạt động hàm ReLU [6] 30

Hình 2.4.5: Đồ thị hàm ReLU và đạo hàm [5] 30

Hình 2.4.6: Đồ thị hàm leaky ReLU [5] 32

Hình 3.1.1: Hệ màu RGB [2] 34

Hình 3.2.1: Minh họa bức hình màu [2] 35

Hình 3.2.2: Biểu diễn ma trận kích thước 600 * 800 35

Hình 3.2.3: Ảnh màu kích thước 3*3 biểu diễn dạng ma trận, mỗi pixel biểu diễn giá trị (r,g,b) [2] 36

Hình 3.2.4: Tách mỗi giá trị màu trong mỗi pixel ra ma trận riêng [2] 36

Hình 3.2.5: Tổng quát tách màu trong mỗi pixel ra ma trận riêng [2] 36

Hình 3.3.1: Biểu diễn vecto v và ma trận W [2] 36

Hình 3.3.2: Biểu diễn một tensor [2] 37

Hình 3.4.1: Minh họa ảnh xám [2] 38

Hình 3.4.2: Biểu diễn ảnh xám thành ma trận [2] 38

Hình 3.4.3: Ví dụ ma trận ảnh xám cụ thể [2] 39

Hình 4.1.1: Kerel kích thước 3*3 [2] 40

Hình 4.1.2: Phép tính convolution giữa X và W [2] 40

Hình 4.1.3: Phần viền ma trận được bỏ qua [2] 41

Hình 4.1.4: ma trận X được thêm viền giá trị 0 [2] 42

Hình 4.1.5: Stride =1 (bên trái) và stride =2 (bên phải) [7] 42

Hình 4.1.6: Minh họa bước nhảy k =2 của ma trận X [2] 43

Trang 16

Hình 4.1.7: Một số kernel phổ biến [8] 44

Hình 4.2.1: Input layer và hidden layer 1 [2] 45

Hình 4.2.2: Biểu diễn phép tính convolution của ảnh xám [8] 46

Hình 4.2.3: Phép tính convolution trên ảnh màu với k=3 [2] 46

Hình 4.2.4: Tensor X, W 3 chiều được viết dưới dạng 3 matrix [9] 47

Hình 4.2.5: Thực hiện phép tính convolution trên ảnh màu [10] 48

Hình 4.2.6: Convolution layer đầu tiên [2] 48

Hình 4.2.7: Convolution layer tổng quát [2] 49

Hình 4.2.8: Max pooling layer với size = (3,3), stride=1, padding=0 [2] 50

Hình 4.2.9: Sau pooling layer (2*2) [10] 50

Hình 4.2.10: Hai loại pooling layer [2] 51

Hình 4.2.11: Layer cuối cùng chuyển đổi thành vecto [2] 51

Hình 5.1.1: Sơ đồ các mối liên hệ giữa các tác vụ trong computer vision [16] 54

Hình 5.1.2: Phân biệt Image classification [8] 55

Hình 5.2.1: Kiến trúc của mạng VGG16 được sử dụng làm base network trong transfer learning [27] 57

Hình 5.2.2: Kiến trúc base network kết hợp với fully connected layers [27] 57

Hình 5.2.3: So sánh tương quan hiệu quả của model train từ đầu và transfered model [27] 58

Hình 5.2.4: Mô phỏng hình ảnh kiến trúc VVG16 [14] 59

Hình 5.2.5: Kiến trúc mạng VGG16 [14] 60

Hình 5.2.6: Mô phỏng hình ảnh kiến trúc mạng VGG19 [29] 61

Hình 5.2.7: Kiến trúc mạng VGG19 [29] 61

Hình 5.2.8: Tổng quan kiến trúc các biến thể của mô hình mạng VGG [12] 63

Hình 6.1.1: Cấu tạo của kernel [22] 64

Hình 6.1.2: Tích chập tách biệt chiều sâu [21] 65

Hình 6.1.3: Depthwise convolution [22] 66

Hình 6.1.4: Pointwise Convolution [22] 67

Hình 6.1.5: Pointwise Convolution với đầu ra là 8×8×256 [22] 67

Hình 6.2.1: Conv truyền thống (trái), DSC với BN và ReLU [19] 69

Hình 6.3.1: Hiện tượng Vanishing Gradient [23] 72

Hình 6.3.2: Residual Block [20] 73

Hình 6.3.3: Sự khác biệt giữa một khối thông thường và khối phần dư [24] 73

Hình 6.3.4: Residual Block trong mạng [20] 74

Hình 6.3.5: Khối phần dư và khối dư ngược [25] 74

Trang 17

Hình 6.3.6: Mô hình kiến trúc của VGG19, ResNet34, khối dư của ResNet34 [30]

76

Hình 6.3.7: Kích thước đầu ra và convolutional kernels của ResNet34 cùng các biến

thể khác [30] 77

Hình 6.3.8: Cái nhìn khác về kiến trúc ResNet34 [30] 78

Hình 6.3.9: Conv1 – Convolution [30] 78

Hình 6.3.10: Conv1 – Max pooling [30] 79

Hình 6.3.11: Lớp 1, khối 1, phép tính 1 [30] 80

Hình 6.3.12: Lớp 1, khối 1 [30] 80

Hình 6.3.13: Lớp 1 [30] 80

Hình 6.3.14: Lớp 2, khối 1, phép tính 1 [30] 81

Hình 6.3.15: Kết nối tắt [30] 81

Hình 6.3.16: Lớp 2, khối 1 [30] 82

Hình 6.3.17: Lớp 2 [30] 82

Hình 7.2.1: Thực hiện huấn luyện mô hình lần 1 91

Hình 7.2.2: Thực hiện huấn luyện mô hình lần 2 91

Hình 7.2.3: Biểu đồ thể hiện độ đo accuracy trên tập validation 92

Hình 7.2.4: Biểu đồ thể hiện độ đo mất mát loss trên tập training và validation 92

Hình 7.2.5: Kết quả độ do accuracy khi thực nghiệm trên tập testing 93

Hình 7.2.6: Giao diện Plant Disease Prediction 100

Hình 7.2.7: Giao diện Plant Disease Prediction 101

Hình 7.2.8: Giao diện Plant Disease Prediction 101

Hình 7.3.1: Giao diện Plant Disease Prediction 102

Hình 7.3.2: Giao diện Plant Disease Prediction 102

Hình 7.3.3: Giao diện Plant Disease Prediction 103

Hình 7.3.4: Giao diện Plant Disease Prediction 103

Trang 18

DANH MỤC VIẾT TẮT

AI Artificial Intelligence Trí tuệ nhân tạo

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

CNN Convolutional Neural Networks Mạng nơ-ron tích chập

DSC Depthwise Separable Convolution Tích chập tách biệt chiều sâu

GAN Generative Adversarial Networks Mạng sinh đối nghịch

R–CNN Region-Based Convolutional Neural Mạng nơ-ron tích chập dựa

RNN Recurrent Neural Networks Mạng nơ-ron hồi quy

BN Batch Normalization Chuẩn hoá hàng loạt

VGG Visual Geometry Group Nhóm hình học trực quan

Trang 19

MỞ ĐẦU

PHẦN 1: MỞ ĐẦU

1 Tính cấp thiết của đề tài

Trong những năm gần đây, trí tuệ nhân tạo cụ thể machine learning và deeplearning hầu như đã thâm nhập vào toàn bộ các lĩnh vực đời sống xã hội với nhu cầungày càng cao để giải quyết các vấn đề phức tạp về y tế, giáo dục, giao thông, dịch vụgiải trí

Cùng với việc phát triển, các giống cây trồng ngày càng đa dạng, phong phú hơn.Tuy nhiên cùng với đó, bệnh hại ở cây trồng ngày càng nhiều và nguy hiểm hơn.Nhằmđảm bảo chất lượng vá số lượng lương thực không bị thiếu hụt nghiêm trọng Cho nên,việc phát hiện bệnh hại là mục tiêu quan trọng để đạt được an ninh lương thực Phươngpháp phát hiện bệnh truyền thống thường được nông dân hoặc chuyên gia kiểm tra thủcông, có thể tốn kém thời gian và chi phí, chứng tỏ là không khả thi đối với hàng triệutrang trại quy mô vừa và nhỏ trên khắp thế giới

Về deep learning, có rất nhiều mô hình mạng nơ-ron phục vụ cho những mụcđích khác nhau Mạng nơ-ron tích chập (CNN - Convolutional Neural Networks)thường dùng cho xử lý phân loại ảnh, Mạng nơ-ron hồi quy (RNN - Recurrent NeuralNetworks) thường dùng cho các bài toán xử lý ngôn ngữ tự nhiên như: Dịch máy, phânloại ngữ nghĩa, nhận dạng giọng nói, phân loại video, và GAN (GenerativeAdversarial Networks) được dùng để hướng tới việc sinh ra dữ liệu mới sau quá trìnhhọc GAN có thể tự sinh ra một đoạn văn, chữ viết, một bản nhạc giao hưởng haynhững thứ tương tự thế Nhận thấy mạng nơ-ron tích chập (CNN) phù hợp với vấn đề

mà đề tài đang gặp phải là phân loại ảnh, nên chúng tôi quyết định tìm hiểu và nghiêncứu về mạng nơ-ron tích chập

2 Mục tiêu của đề tài

Nghiên cứu các phương pháp phát hiện đối tượng bằng kỹ thuật học sâu và áp dụng kiến trúc VGG – MobileNetV2 – ResNet nhằm:

Trang 20

MỞ ĐẦU

- Nhận dạng loại bệnh hại của cây trồng thông qua lá một cách nhanhchóng và chính xác hơn, bớt tốn kém thời gian và chi phí hơn so với phương pháp pháthiện bệnh truyền thống Phương pháp phát hiện bệnh truyền thống là sử dụng phươngpháp kiểm tra thủ công bởi nông dân hoặc chuyên gia, điều này làm tốn kém thời gian vàchi phí

3 Cách tiếp cận và phương pháp nghiên cứu

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

- Hình ảnh thu thập được từ lá của các cây trồng khoẻ mạnh và mang bệnh hại khác nhau

- Kiến trúc VGG – MobileNetV2 – ResNet thuộc nhóm mạng nơ-ron tích

chập trong deep learning

Phương pháp nghiên cứu:

Cụ thể, trong khuôn khổ luận văn, để tiếp cận được đề tài và phương pháp nghiên cứu, sẽ lần lượt nghiên cứu các nội dung sau:

- Thu thập các tài liệu và phân tích chọn lọc các thông tin liên quan đến deep

learning, mạng nơ-ron tích chập, iamge recognition, transfer learning và kiến trúc VGG – MobileNetV2 – ResNet

- Thu thập và xử lý hình ảnh về lá của các cây trồng khoẻ mạnh và mang bệnh hại khác nhau

- Xây dựng thuật toán, huấn luyện mô hình và viết chương trình xác định, phân loại đối tượng

4 Phân tích những công trình có liên quan

Với sự phát triển mạnh mẽ của deep learning, đặc biệt là trong lĩnh vực nhậndạng hình ảnh đã giải quyết được nhiều vấn đề trong đời sống và xã hội ImageRecognition được áp dụng và khai thác triệt để trong các lĩnh vực trong xã hội

Trang 21

- Nhận dạng hình ảnh và khuôn mặt trên mạng xã hội: tính năng nhận dạngkhuôn mặt để gắn thẻ mọi người trên ảnh của người dùng trong một thời gian hoặc tạohashtag cho ảnh.

- Tiếp thị tương tác và chiến dịch quảng cáo: nhận dạng hình ảnh có thể được sửdụng để tạo nội dung sáng tạo thu hút mọi người và giúp xây dựng mối quan hệ của họvới thương hiệu

Chúng tôi thấy rằng các công trình đều sử dụng các thuật toán phổ biến củaImage Recognition của deep learning có hiệu quả cao và mang lại sự cải thiện hoànhảo cho xã hội Vì vậy, chúng tôi dùng kiến trúc VGG – MobileNet – ResNet thuộcImage Recognition của deep learning cho đề tài này với mong muốn sẽ cho được sảnphẩm hiệu quả tốt để giúp nhận dạng các loại bệnh hại ở cây trồng một cách nhanhchóng và chính xác, giúp nông dân có thể tìm hiểu thêm hoặc nhận biết được loại bệnhhại để xử lý cho cây trồng

nguyên lý hoạt động của kiến trúc VGG – MobileNet – ResNet

và mang bệnh hại khác nhau

6 Bố cục của bài báo cáo

Trang 22

MỞ ĐẦU

1.1.Tính cấp thiết của đề tài

1.2.Mục tiêu của đề tài

1.3.Cách tiếp cận và phương pháp nghiên cứu

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

- Phạm vi nghiên cứu

1.4 Phân tích những công trình có liên quan

1.5 Kết quả dự kiến đạt được

1.6 Bố cục của bài báo cáo

1 Chương 1: Tìm hiểu khái quát học sâu

2 Chương 2: Artificial neural network

3 Chương 3: Ảnh trong máy tính

4 Chương 4: Covolution neural network

5 Chương 5: Image Recognition

6 Chương 6: Tìm hiểu mạng MobileNetV2

7 Chương 7: Xây dựng ứng dụng Plant Disease Prediction

1 Kết quả đạt được

1.1 Ý nghĩa khoa học1.2 Ý nghĩa thực tiễn

2 Hạn chế

3 Hướng phát triển

Trang 23

CHƯƠNG 1: TÌM HIỂU DEEP LEARNING

PHẦN 2: NỘI DUNG CHƯƠNG 1: TÌM HIỂU DEEP LEARNING

1.1 LỊCH SỬ SƠ LƯỢC VỀ DEEP LEARNING

Học sâu là một lĩnh vực con của học máy, và học máy là một lĩnh vực con của trí tuệnhân tạo (AI) Mục tiêu trọng tâm của AI là cung cấp một tập hợp các thuật toán và kỹthuật được sử dụng để giải quyết các vấn đề mà con người có thể thực hiện nó một cách

dễ dàng, tự động, nhưng mặt khác rất thách thức cho máy tính Một ví dụ điển hình về mộtvấn đề AI như vậy là giải thích và hiểu rõ nội dung của một hình ảnh - nhiệm vụ này làđiều mà con người có thể làm một cách dễ dàng với ít hoặc không cần có sự nỗ lực nào,nhưng nó đã được chứng minh là khó khăn cho máy móc để hoàn thành

Trong khi AI thể hiện một tập hợp lớn, đa dạng các công việc liên quan đến lýluận máy móc tự động (suy luận, lập kế hoạch, heuristics, v.v.), lĩnh vực học máy có

xu hướng đặc biệt quan tâm đến nhận dạng mẫu và học hỏi từ dữ liệu

Mạng thần kinh nhân tạo (ANNs) là một lớp thuật toán học máy học hỏi từ dữliệu và chuyên nhận dạng mẫu, lấy cảm hứng từ cấu trúc và chức năng của não Họcsâu thuộc về họ thuật toán ANN, và trong hầu hết các trường hợp, hai thuật ngữ có thểđược sử dụng thay thế cho nhau Lĩnh vực học sâu đã tồn tại hơn 60 năm, đi theo cáctên và hóa thân khác nhau dựa trên xu hướng nghiên cứu, phần cứng và bộ dữ liệu cósẵn và các tùy chọn phổ biến của các nhà nghiên cứu nổi tiếng vào thời điểm đó

Hình 1.1.1: Mối quan hệ giữa DL, ML, AL [1]

Trang 24

CHƯƠNG 1: TÌM HIỂU DEEP LEARNING

Lịch sử của mạng nơ-ron và học sâu là một lịch sử lâu dài Thực chất "học sâu"

đã tồn tại từ những năm 1940 và trải qua nhiều lần thay đổi tên khác nhau, bao gồm cảthuật điều khiển học - cybernetics, chủ nghĩa kết nối - connectionism và quen thuộcnhất là mạng thần kinh nhân tạo - Artificial Neural Networks (ANNs)

Trong khi lấy cảm hứng từ bộ não con người và cách các tế bào thần kinh của nótương tác với nhau, ANN không có nghĩa là mô hình thực tế của não Thay vào đó,chúng là một nguồn cảm hứng, cho phép chúng ta vẽ ra sự tương đồng giữa một môhình rất cơ bản của não và cách chúng ta có thể bắt chước một số hành vi này thôngqua các mạng thần kinh nhân tạo

Mô hình mạng lưới thần kinh đầu tiên đến từ McCulloch và Pitts vào năm 1943.Mạng này là một phân loại nhị phân, có khả năng nhận ra hai loại khác nhau dựa trênmột số đầu vào Vấn đề là các trọng số được sử dụng để xác định nhãn lớp cho mộtđầu vào nhất định cần phải được điều chỉnh thủ công bởi con người - loại mô hình này

rõ ràng không mở rộng quy mô tốt nếu một người vận hành được yêu cầu can thiệp.Sau đó, vào những năm 1950, thuật toán Perceptron đã được Rosenblatt ra đời -

mô hình này có thể tự động tìm hiểu trọng số cần thiết để phân loại đầu vào (khôngcần sự can thiệp của con người) Một ví dụ về kiến trúc Perceptron có thể được nhìnthấy ở hình 1.1.2 Trên thực tế, quy trình huấn luyện tự động này đã hình thành cơ sởcủa Stochastic Gradient Descent (SGD) vẫn được sử dụng để huấn luyện các mạngthần kinh rất sâu ngày nay

Hình 1.1.2: Ví dụ về kiến trúc Perceptron [1]

Trang 25

CHƯƠNG 1: TÌM HIỂU DEEP LEARNING

Trong khoảng thời gian này, các kỹ thuật dựa trên Perceptron gặp phải nhữngphản ứng trái chiều trong cộng đồng mạng thần kinh Tuy nhiên, một chứng minh vàonăm 1969 của Minsky và Papert đã trì trệ các nghiên cứu về mạng thần kinh trong gầnmột thập kỷ Công trình của họ đã chứng minh rằng một Perceptron với hàm kích hoạttuyến tính (bất kể độ sâu) chỉ đơn thuần là một bộ phân loại tuyến tính, không thể giảiquyết các bài toán phi tuyến Ví dụ kinh điển của một bài toán phi tuyến là bộ dữ liệuXOR trong hình 1.1.3

Hình 1.1.3: Bài toán phi tuyến trong bộ dữ liệu XOR [1]

Hơn nữa, các lập luận rằng (vào thời điểm đó) không có các tài nguyên tính toáncần thiết để xây dựng các mạng thần kinh lớn, sâu (trong nhận thức muộn màng, chúnghoàn toàn chính xác) Chỉ riêng điều này đã gần như giết chết các nghiên cứu về mạngthần kinh

May mắn thay, thuật toán backpropagation và nghiên cứu của Werbos (1974),Rumelhart (1986), và LeCun (1998) đã có thể hồi sinh các mạng thần kinh từ những gì

có thể là một sự sụp đổ sớm Nghiên cứu của họ trong thuật toán backpropagation chophép các mạng thần kinh chuyển tiếp nhiều lớp có thể được huấn luyện (Hình 1.1.4)

Trang 26

CHƯƠNG 1: TÌM HIỂU DEEP LEARNING

Hình 1.1.4: Mạng thần kinh chuyển tiếp nhiều lớp [1]

Kết hợp với các hàm kích hoạt phi tuyến, các nhà nghiên cứu giờ đây có thể tìmhiểu các chức năng phi tuyến và giải quyết bài toán XOR, mở ra cánh cổng cho mộtlĩnh vực nghiên cứu hoàn toàn mới trong mạng thần kinh

Thuật toán backpropagation là nền tảng của các mạng thần kinh hiện đại chophép chúng ta huấn luyện hiệu quả các mạng thần kinh và 'dạy' chúng học hỏi từnhững sai lầm của chúng Nhưng ngay cả như vậy, tại thời điểm này:

huấn luyện các mạng thần kinh có nhiều hơn hai lớp ẩn

Ngày nay, hóa thân mới nhất của các mạng thần kinh, như chúng ta biết, là họcsâu Điều khiến học sâu khác biệt với các hóa thân trước đây của nó là chúng ta cóphần cứng nhanh hơn, chuyên biệt hơn với dữ liệu huấn luyện có sẵn nhiều hơn Bâygiờ chúng ta có thể huấn luyện các mạng với nhiều lớp ẩn hơn, có khả năng học tậpphân cấp Trong đó, các khái niệm đơn giản được học ở các lớp dưới, và các mẫu trừutượng hơn so với các lớp cao hơn của mạng

Trong nhiều ứng dụng, CNN hiện được coi là phương pháp phân loại hình ảnhmạnh nhất và hiện đang chịu trách nhiệm thúc đẩy sự tiến lên hiện đại trong các lĩnhvực thị giác máy tính

Trang 27

CHƯƠNG 1: TÌM HIỂU DEEP LEARNING

Trong trường hợp không được giám sát, các thuật toán học máy cố gắng tự độngkhám phá và học hỏi chỉ với dữ liệu đầu vào, mà không có bất kì gợi ý Trong trườnghợp này, học sinh cố gắng nhóm các câu hỏi và câu trả lời tương tự với nhau, mặc dùhọc sinh không biết câu trả lời chính xác là gì và giáo viên không ở đó để cung cấp cho

họ câu trả lời thực sự Học tập không giám sát rõ ràng là một vấn đề khó khăn hơn sovới học tập có giám sát

Trong bối cảnh học máy được áp dụng để phân loại hình ảnh, mục tiêu của thuậttoán học máy là lấy các bộ hình ảnh này và xác định các mẫu có thể được sử dụng đểphân biệt các lớp/đối tượng hình ảnh khác nhau

Trước đây, chúng ta đã sử dụng các đặc trưng được thiết kế thủ công để địnhlượng nội dung của một hình ảnh - chúng ta hiếm khi sử dụng cường độ pixel thô làmđầu vào cho các mô hình học máy, vốn phổ biến với học sâu hiện nay Đối với mỗihình ảnh trong bộ dữ liệu, chúng ta đã thực hiện trích xuất đặc trưng hoặc quá trình lấyhình ảnh đầu vào, định lượng nó theo một số thuật toán (được gọi là trình trích xuấtđặc trưng hoặc mô tả hình ảnh) và trả về vector nhằm định lượng nội dung của hìnhảnh Hình 1.2.1 mô tả quá trình định lượng một hình ảnh có chứa thuốc viên theo toathông qua một loạt các bộ mô tả màu sắc, kết cấu và hình dạng

Trang 28

CHƯƠNG 1: TÌM HIỂU DEEP LEARNING

Hình 1.2.1: Mô tả quá trình định lượng một hình ảnh thuốc viên [1]

Trong mỗi tình huống này, một thuật toán được xác định bằng tay để định lượng

và mã hóa một khía cạnh cụ thể của một hình ảnh (ví dụ: hình dạng, kết cấu, màu sắc,v.v.) Với hình ảnh đầu vào pixel, chúng ta sẽ áp dụng thuật toán được xác định bằngtay cho các pixel và đổi lại nhận được một vector đặc trưng định lượng nội dung hìnhảnh - bản thân các pixel hình ảnh không phục vụ mục đích nào khác ngoài việc là đầuvào cho quá trình trích xuất đặc trưng

Học sâu, và đặc biệt là mạng thần kinh tích chập, có một cách tiếp cận khác.Thay vì xác định bằng tay một bộ quy tắc và thuật toán để trích xuất các đặc trưng từhình ảnh, các đặc trưng này thay vào đó được tự động học hỏi từ quá trình huấn luyện

Sử dụng học sâu, chúng ta cố gắng hiểu vấn đề về mặt phân cấp các khái niệm.Mỗi khái niệm được xây dựng trên những khái niệm khác Các khái niệm trong các lớpcấp thấp hơn của mạng mã hóa một số đại diện cơ bản của vấn đề, trong khi các lớpcấp cao hơn sử dụng các lớp cơ bản này để tạo thành các khái niệm trừu tượng hơn.Việc học phân cấp này cho phép loại bỏ hoàn toàn quy trình trích xuất đặc trưng đượcthiết kế thủ công và coi CNN là người học đầu cuối

Với một hình ảnh, chúng ta cung cấp các giá trị cường độ pixel làm đầu vào choCNN Một loạt các lớp ẩn được sử dụng để trích xuất các đặc trưng từ hình ảnh đầuvào Những lớp ẩn này xây dựng trên nhau theo cách phân cấp Lúc đầu, chỉ có cáckhu vực giống như cạnh được phát hiện ở các lớp cấp thấp hơn của mạng Các vùngcạnh này được sử dụng để xác định các góc (nơi các cạnh giao nhau) và đường viền(phác thảo của các đối tượng) Kết hợp các góc và đường viền có thể dẫn đến các bộphận, đối tượng trừu tượng trong lớp tiếp theo

Trang 29

CHƯƠNG 1: TÌM HIỂU DEEP LEARNING

Quá trình này là học tập phân cấp: mỗi lớp trong mạng sử dụng đầu ra của cáclớp trước đó làm 'khối xây dựng' để xây dựng các khái niệm ngày càng trừu tượng hơn.Những lớp này được học tự động - không có kỹ thuật trích xuất đặc trưng thủ côngdiễn ra

1.3 THẾ NÀO LÀ “SÂU” TRONG HỌC SÂU

Câu trả lời ngắn gọn là không có sự đồng thuận giữa các chuyên gia về độ sâucủa mạng được coi là sâu

Theo định nghĩa, mạng thần kinh tích chập (CNN) là một loại thuật toán học sâu.Nhưng giả sử chúng ta có một CNN chỉ có một lớp phức tạp - là một mạng lưới nôngcạn, nhưng vẫn thuộc về một loại thuật toán bên trong học sâu thì có được coi là 'sâu' ?Bất kỳ mạng nào có nhiều hơn hai lớp ẩn đều có thể được coi là 'sâu' Lý luậnrằng dựa trên nghiên cứu trước đây về ANNs đã bị khiếm khuyết nặng nề bởi:

Vì những vấn đề này, mà không thể dễ dàng huấn luyện các mạng với nhiều hơnhai lớp ẩn trong những năm 1980 và 1990 (và tất nhiên là trước đó) Trên thực tế,Geoff Hinton đã ủng hộ ý kiến này trong bài nói chuyện năm 2016 của mình, nơi ôngthảo luận về lý do tại sao các hóa thân trước đây của deep learning (ANNs) đã khôngcất cánh phát triển trong giai đoạn những năm 1990:

Tất cả những lý do này chỉ ra thực tế rằng huấn luyện các mạng có độ sâu lớnhơn hai lớp ẩn là vô ích, không thể tính toán Trong hóa thân hiện tại, thời thế đã thayđổi Bây giờ chúng ta có:

Trang 30

CHƯƠNG 1: TÌM HIỂU DEEP LEARNING

5 Hàm kích hoạt vượt trội và sự hiểu biết về lý do tại sao các hàm phi tuyếntrước đó làm đình trệ nghiên cứu

Theo Andrew Ng, một trong những nhà nghiên cứu hàng đầu thế giới về học sâunói riêng và trí tuệ nhân tạo nói chung thì "Giờ đây, chúng ta có thể xây dựng cácmạng thần kinh sâu hơn và huấn luyện chúng với nhiều dữ liệu hơn." (từ bài nóichuyện năm 2013 của ông là “Deep Learning, Self-Taught Learning, and Un–supervised Feature Learning”)

Khi độ sâu của mạng tăng lên, độ chính xác phân loại cũng vậy Điều này khácvới các thuật toán học máy truyền thống (ví dụ: SVM, cây quyết định, v.v.)

Hình 1.3.1: Mối quan hệ giữa độ chính xác và dữ liệu của DL, ML [1]

Hình 1.3.1 minh họa sự khác biệt đáng kể giữa các mô hình học sâu so với các

mô hình truyền thống về mối quan hệ giữa dữ liệu với hiệu quả của mô hình Theo đó,khi có ít dữ liệu, hiệu quả của các mô hình học sâu không có sự khác biệt đáng kể(thậm chí tệ hơn) so với các mô hình truyền thống Tuy nhiên, khi có nhiều dữ liệu hơncác mô hình học sâu sẽ hiệu quả hơn hẳn các mô hình truyền thống Các mô hình họcsâu càng hiệu quả khi càng có nhiều dữ liệu Ngược lại, khi dữ liệu đã nhiều đến mộtmức độ nhất định, việc có thêm dữ liệu không làm tăng đáng kể hiểu quả của các môhình truyền thống Do sự tương quan thuận giữa sự hiệu quả với dữ liệu của các môhình học sâu, người ta có xu hướng dùng chúng khi có các bộ dữ liệu lớn

1.4 TỔNG KẾT

Học sâu đã có từ những năm 1940, đi theo tên và hóa thân khác nhau dựa trên cáctrường phái tư tưởng khác nhau và xu hướng nghiên cứu phổ biến tại một thời điểm nhất

Trang 31

CHƯƠNG 1: TÌM HIỂU DEEP LEARNING

định Về cốt lõi, học sâu thuộc về loại mạng thần kinh nhân tạo (ANNs), một tập hợp các thuật toán học các mô hình lấy cảm hứng từ cấu trúc và chức năng của não

Không có sự đồng thuận giữa các chuyên gia về chính xác điều gì làm cho mạng nơ-ron "sâu"; tuy nhiên, chúng ta biết rằng:

1 Các thuật toán học sâu học theo kiểu phân cấp và do đó xếp chồng nhiều lớp lên nhau để học các khái niệm ngày càng trừu tượng hơn

2 Một mạng phải có nhiều hơn 2 lớp ẩn mới được coi là "sâu" (đây là ý kiến đa số

dựa trên nhiều thập kỷ của nghiên cứu mạng nơ-ron)

3 Một mạng có nhiều hơn 10 lớp ẩn được coi là rất sâu (mặc dù con số này sẽ thay đổi do các kiến trúc như ResNet đã được huấn luyện thành công với hơn 100 lớp ẩn)

Trang 32

CHƯƠNG 2: ARTIFICIAL NEURAL NETWORK

CHƯƠNG 2: ARTIFICIAL NEURAL NETWORK

2.1 NEURAL NETWORK LÀ GÌ

Neural là tính từ của nơ-ron, network chỉ cấu trúc, cách các nơ-ron đó liên kết vớinhau, nên neural network (NN) là một hệ thống tính toán lấy cảm hứng từ sự hoạtđộng của các nơ-ron trong hệ thần kinh

2.2 HOẠT ĐỘNG

Nơ-ron là đơn vị cơ bản cấu tạo hệ thống thần kinh và là thành phần quan trọngnhất của não Đầu chúng ta gồm khoảng 10 triệu nơ-ron và mỗi nơ-ron lại liên kết vớitầm 10.000 nơ-ron khác [2]

Hình 2.2.1 mô tả một mô hình mạng nơ-ron sinh học Theo đó, mỗi nơ-ron sinhhọc gồm có phần thân (soma) chứa nhân, các tín hiệu đầu vào qua sợi nhánh(dendrites) và các tín hiệu đầu ra qua sợi trục (axon) để kết nối với các nơ-ron khác.Hiểu đơn giản, mỗi nơ-ron nhận dữ liệu đầu vào qua sợi nhánh và truyền dữ liệu đầu raqua sợi trục, đến các sợi nhánh của các nơ-ron khác

Hình 2.2.1: Mô hình mạng nơ-ron sinh học [2]

Mỗi nơ-ron nhận xung điện từ các nơ-ron khác qua sợi nhánh Nếu các xung điệnnày đủ lớn để kích hoạt nơ-ron, tín hiệu này đi qua sợi trục đến các sợi nhánh của cácnơ-ron khác

Mạng Nơron nhân tạo (Artificial Neural Network- ANN) là mô hình xử lý thông tinđược lấy cảm hứng dựa trên cách hoạt động của hệ thống thần kinh của sinh vật, bao gồm

số lượng lớn các nơ-ron được gắn kết để xử lý thông tin ANN được học bởi kinh nghiệm(thông qua huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri

Trang 33

CHƯƠNG 2: ARTIFICIAL NEURAL NETWORK

thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết (unseendata)

Nó được tạo nên từ một số lượng lớn các phần tử (nơ-ron) kết nối với nhau thôngqua các liên kết (trọng số liên kết) làm việc như một thể thống nhất để giải quyết mộtvấn đề cụ thể nào đó Để được coi là một ANN thì nó phải chứa cấu trúc đồ thị cóhướng, có nhãn trong đó mỗi nút trong đồ thị thực hiện một số tính toán đơn giảnTuy nhiên, NN không phải bắt chước toàn bộ các chức năng của não bộ, mà chỉ

là lấy cảm hứng từ não bộ và cách nó hoạt động Việc của chúng ta dùng mô hình đấy

đi giải quyết các bài toán chúng ta cần

Kiến trúc của một neural network được mô tả ở hình 2.2.2

 Liên kết với tất cả các node ở layer trước đó với các hệ số w riêng

 Có 1 hệ số bias b riêng

Trang 34

CHƯƠNG 2: ARTIFICIAL NEURAL NETWORK

 Được định trị bằng 2 bước: tính tổng tuyến tính (của các trọng số w với outputcủa các node tương ứng ở layer trước đó cộng với bias) và áp dụng activation function

2.3 QUÁ TRÌNH XỬ LÍ

Hình 2.3.1: Quá trình xử lí thông tin của một NN [3]

Quá trình xử lí thông tin của một NN được biểu diễn như hình 2.3.1 với các yếu tốsau:

 Inputs (dữ liệu vào): Mỗi input tương ứng với 1 thuộc tính (attribute) của dữ liệu (patterns)

 Output (kết quả): Kết quả của một ANN là một giải pháp cho một vấn đề

 Connection weights (trọng số liên kết): Đây là thành phần rất quan trọng củamột ANN, nó thể hiện mức độ quan trọng (độ mạnh) của dữ liệu đầu vào đối với quátrình xử lý thông tin (quá trình chuyển đổi dữ liệu từ layer này sang layer khác) Quátrình học (learning processing) của ANN thực ra là quá trình điều chỉnh các trọng số(weight) của các input data để có được kết quả mong muốn các trọng số này được khởitạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quátrình học mạng

 Summation function (hàm tổng): Tính tổng trọng số của tất cả các input được đưavào mỗi nơ-ron Hàm tổng của một nơ-ron đối với n input được tính theo công thức sau:

Trang 35

CHƯƠNG 2: ARTIFICIAL NEURAL NETWORK

vi đầu ra của mỗi nơ-ron Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng

Kết quả xử lý tại các nơ-ron (output) đôi khi rất lớn, vì vậy transfer function được

sử dụng để xử lý output này trước khi chuyển đến layer tiếp theo Đôi khi thay vì sửdụng transfer/activation function, ta có thể sử dụng giá trị ngưỡng (threshold value) đểkiểm soát các output của các nơ-ron tại một layer nào đó trước khi chuyển các outputnày đến các layer tiếp theo Nếu output của một nơron nào đó nhỏ hơn giá trị ngưỡngthì nó sẽ không được chuyển đến layer tiếp theo

2.4 HÀM KÍCH HOẠT

Activation function là 1 thành phần rất quan trọng của neural network Nó quyếtđịnh khi nào thì 1 nơ-ron được kích hoạt hoặc không Liệu thông tin mà nơ-ron nhậnđược có liên quan đến thông tin được đưa ra hay nên bỏ qua

= (( ∗ ) + ) (2.4 1)

Trong đó weight là trọng số của đường nối

Activation function là 1 phép biến đổi phi tuyến tính mà chúng ta thực hiện đốivới tín hiệu đầu vào Đầu ra được chuyển đổi sẽ được sử dụng làm đầu vào của nơ-ronlayer tiếp theo

Nếu không có activation function thì weight và bias chỉ đơn giản như 1 hàm biếnđổi tuyến tính và khó giải quyết được những vấn đề phức tạp Một mạng nơ-ron nếukhông có activation function thì cơ bản chỉ là 1 mô hình hồi quy tuyến tính Activation

26

Trang 36

CHƯƠNG 2: ARTIFICIAL NEURAL NETWORK

function thực hiện việc biến đổi phi tuyến tính với đầu vào làm việc học hỏi và còn thựchiện những nhiệm vụ phức tạp hơn như dịch ngôn ngữ hoặc phân loại ảnh là khả thi.Activation function hỗ trợ back-propagation (lan truyền ngược) với việc cung cấpcác lỗi để có thể cập nhật lại các weight và bias, việc này giúp mô hình có khả năng tựhoàn thiện

Một số hàm kích hoạt phổ biến:

2.4.1 Hàm sigmoid

Hàm sigmoid còn được gọi là đường cong sigmoid Đây là một hàm toán học cóđặc trưng là đường cong hình chữ S Nó thể hiện cho sự biến đổi các giá trị giữa phạm

vi 0 và 1 Là một trong những hàm kích hoạt (activation function) phi tuyến tính được

sử dụng rộng rãi Công thức của hàm sigmoid:

Trang 37

CHƯƠNG 2: ARTIFICIAL NEURAL NETWORK

Hàm sigmoid sẽ nhận input là một số thực và thực hiện các công việc như hình 2.4.1 như sau:

kì từ 0 đến 1

2.4.2 Hàm tanh

Hàm tanh tương tự như hàm sigmoid Nhưng khác nhau là hàm tanh đối xứngnhau quanh điểm gốc Phạm vi giá trị trong trường hợp này là từ -1 đến 1 như tronghình 2.4.2 biểu diễn

− ( ) = + (2.4.3)

Hoặc được biểu diễn theo hàm sigmoid:

( ) = ( )( − )′( ) = − ( )

Hình 2.4.2: Đồ thị hàm tanh và đạo hàm [5]

28

Trang 38

CHƯƠNG 2: ARTIFICIAL NEURAL NETWORK

Hàm tanh được sử dụng nhiều hơn so với hàm sigmoid trong các ứng dụng về bigdata vì đạo hàm của hàm tanh thường có giá trị lớn hơn đạo hàm của hàm sigmoid, do

đó độ dốc của hàm tanh cũng lớn hơn

Hàm tanh thường được sử dụng trong các lớp ẩn của mạng nơ-ron vì các giá trịcủa nó nằm trong khoảng từ -1 đến 1 Do đó giá trị trung bình của lớp ẩn xuất hiện sẽnằm trong khoảng giữa là 0 hoặc rất gần với nó

Với việc đưa giá trị trung bình về gần 0, nó sẽ giúp căn giữa dữ liệu, làm cho việchọc lớp tiếp theo dễ dàng hơn nhiều

2.4.3 Hàm RELU

ReLU (Rectified Linear Units, f (x) = max (0, x)) là hàm kích hoạt phổ biến nhất choCNN ở thời điểm hiện tại, được giới thiệu bởi Geoffrey E Hinton năm 2010 Trước khihàm ReLU được áp dụng thì những hàm như sigmoid hay tanh mới là những hàm được sửdụng phổ biến Hàm ReLU được ưa chuộng vì tính toán đơn giản, cải thiện một số hạn chếcủa mạng, và cũng cho kết quả huấn luyện tốt hơn Sự tăng tốc này được cho là vì ReLUđược tính toán gần như tức thời và gradient của nó cũng được tính cực nhanh với gradientbằng 1 nếu đầu vào lớn hơn 0, bằng 0 nếu đầu vào nhỏ hơn 0 ReLU cũng như những hàmkích hoạt khác, được đặt ngay sau tầng convolution

Hình 2.4.3: Kết quả chuyển đổi hàm ReLU [6]

Trang 39

CHƯƠNG 2: ARTIFICIAL NEURAL NETWORK

Hoạt động ReLU có thể được hiểu rõ ràng ở hình 2.4.4 Nó cho thấy hoạt độngReLU được áp dụng cho một trong các feature map Feature map đầu ra ở đây cònđược gọi là ‘Rectified’ Feature map [4]

Hình 2.4.4: Cách hoạt động hàm ReLU [6]

Theo hình 2.4.5, nếu có bất cứ nơi nào có số âm, ReLU sẽ hoán đổi số đó với 0

Nó giúp các giá trị đã được học khỏi bị mắc kẹt gần 0 hoặc bị đưa về vô tận Đây làhàm không tuyến tính và không có đạo hàm tại x = 0 Tuy nhiên trong tính toán đạohàm của ReLU tại x = 0 được ngầm định bằng 0 hoặc 1 Nó có công thức:

′( ) = { , <

, ≥

Trang 40

CHƯƠNG 2: ARTIFICIAL NEURAL NETWORK

Hàm ReLU được sử dụng khá nhiều trong việc huấn luyện các mạng nơ-ron.ReLU đơn giản lọc các giá trị < 0 như hình 2.4.3 Hàm ReLU có những ưu điểm vượttrội so với sigmoid và tanh:

tạp hơn ReLU rất nhiều do vậy sẽ tốn nhiều chi phí hơn để tính toán

Bên cạnh đó còn có những nhược điểm:

đấy gọi là “dying ReLU” Nếu các node bị chuyển thành 0 thì sẽ không có ý nghĩa vớibước linear activation ở lớp tiếp theo và các hệ số tương ứng từ node đấy cũng khôngđược cập nhật với gradient descent => leaky ReLU ra đời

Leaky ReLU có một độ nghiêng có độ dốc nhỏ trong vùng giá trị âm, vì vậy nó cho phép lan truyền ngược, kể cả khi input âm như hình 2.4.6

Ngoài leaky ReLU còn có hàm PReLU khá nổi tiếng của hàm ReLU PreLU tương tự như hàm leaky ReLU nhưng cho phép nơ-ron tự chọn hệ số α tốt nhất

Ngày đăng: 15/05/2023, 17:31

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Adrian Rosebrock, "Deep Learning for Computer Vision with Python.", PyImageSearch.com, (9/2017) Sách, tạp chí
Tiêu đề: Deep Learning for Computer Vision with Python
[3]. Nawapi, “Giới thiệu tổng quan về Mạng Nơron nhân tạo (Artificial Neural Network-ANN)”, http://nawapi.gov.vn/index.php?option=com_content&amp;view=article&amp;id=3238%3Agii-thiu-tng-quan-v-mng-nron-nhan-to-artificial-neural-network-ann&amp;catid=70%3Anhim-v-chuyen-mon-ang-thc-hin&amp;Itemid=135&amp;lang=vi, (truy cập lần cuối: 24/6/2022) Sách, tạp chí
Tiêu đề: Giới thiệu tổng quan về Mạng Nơron nhân tạo (Artificial Neural Network-ANN)
[4]. Nguyễn Văn Chức, “Tổng quan về Mạng Neuron (Neural Network)”, BIS, (12/6/2011), http://bis.net.vn/forums/t/482.aspx, (truy cập lần cuối: 24/6/2022) Sách, tạp chí
Tiêu đề: Tổng quan về Mạng Neuron (Neural Network)
[5]. Viet Anh Nguyen, “Các hàm kích hoạt (activation function) trong neural network”, AICurious, (23/9/2019), https://aicurious.io/posts/2019-09-23-cac-ham-kich-hoat-activation-function-trong-neural-networks/, (truy cập lần cuối: 24/6/2022) Sách, tạp chí
Tiêu đề: Các hàm kích hoạt (activation function) trong neural network
[6]. Karn Ujjwal, “An Intuitive Explanation of Convolutional Neural Networks”, The data science blog, (11/8/2016), https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/,(truy cập lần cuối:24/6/2022) Sách, tạp chí
Tiêu đề: An Intuitive Explanation of Convolutional Neural Networks
[7]. Pham Van Chung, "[Deep Learning] Tìm hiểu về mạng tích chập (CNN)", Viblo, (12/10/2020), https://viblo.asia/p/deep-learning-tim-hieu-ve-mang-tich-chap-cnn-maGK73bOKj2, (truy cập lần cuối:24/6/2022) Sách, tạp chí
Tiêu đề: [Deep Learning] Tìm hiểu về mạng tích chập (CNN)
[8]. P. X. Trí, N. V. Khoa, "Phân biệt một số bài toán trong lĩnh vực Computer Vision", AI Club Tutorials, (28/04/2020), http://tutorials.mmlab.uit.edu.vn/index.php/2020/04/28/phan-biet-bai-toan-trong-cv/, (truy cập lần cuối: 24/6/2022) Sách, tạp chí
Tiêu đề: Phân biệt một số bài toán trong lĩnh vực Computer Vision
[9]. Datawow, “Interns Explain CNN”, Datawow blog, (17/6/2020), https://datawow.io/blogs/interns-explain-cnn-8a669d053f8b, (truy cập lần cuối: 24/6/2022) Sách, tạp chí
Tiêu đề: Interns Explain CNN
[10]. CS231n Stanford, (2017), “Convolutional Neural Networks for Visual Recognition”, https://cs231n.github.io/convolutional-networks/, (truy cập lần cuối: 24/6/2022) Sách, tạp chí
Tiêu đề: Convolutional Neural Networks for Visual Recognition
Tác giả: CS231n Stanford
Năm: 2017
[11]. Trung Đức, “Transfer Learning và bài toán Face Recognition” , (27/08/2021), https://viblo.asia/p/transfer-learning-va-bai-toan-face-recognition-3Q75w7xD5Wb, (truy cập lần cuối:24/6/2022) Sách, tạp chí
Tiêu đề: Transfer Learning và bài toán Face Recognition
[12]. Dr. Info Sec, “VGG-19 Convolutional Neural Network”, Machine learning blog, (6/5/2021), https://blog.techcraft.org/vgg-19-convolutional-neural-network/, (truy cập lần cuối: 24/6/2022) Sách, tạp chí
Tiêu đề: VGG-19 Convolutional Neural Network
[13]. Darkedeneurope, “Vgg16 Là Gì” , (25/4/2021), https://darkedeneurope.com/vgg16-la-gi/, (truy cập lần cuối: 24/6/2022) Sách, tạp chí
Tiêu đề: Vgg16 Là Gì
[14]. Filegi, "Image Recognition", Filegi.com, https://filegi.com/tech-term/image-recognition-10277/ , (truy cập lần cuối: 24/6/2022) Sách, tạp chí
Tiêu đề: Image Recognition
[15]. Hải Đăng, “Sơ lược về Transfer Learning”, dlapplications, (15/7/2018), https://dlapplications.github.io/2018-07-15-Transfer-Learning-Basic/#first, (truy cập lần cuối Sách, tạp chí
Tiêu đề: Sơ lược về Transfer Learning
[16]. Jason Brownlee, “A Gentle Introduction to Object Recognition with Deep Learning”, Machine Learning Mastery, (22/5/2019), https://machinelearningmastery.com/object-recognition-with-deep-learning/, (truy cập lần cuối: 24/6/2022) Sách, tạp chí
Tiêu đề: A Gentle Introduction to Object Recognition with Deep Learning
[17]. Vinbigdata., “Phân loại hình ảnh trong Thị giác máy tính”, product.vinbigdata, (27/10/2021), https://product.vinbigdata.org/phan-loai-hinh-anh-trong-thi-giac-may-tinh/ Sách, tạp chí
Tiêu đề: Phân loại hình ảnh trong Thị giác máy tính
[18]. Chi–Feng Wang, “A Basic Introduction to Separable Convolutions”, Towards Data Science, (13/08/2018), https://towardsdatascience.com/a-basic-introduction-to-separable-convolutions-b99ec3102728, (truy cập lần cuối: 24/6/2022) Sách, tạp chí
Tiêu đề: A Basic Introduction to Separable Convolutions
[19]. Andrew G. Howard et al. , “MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications”, arXiv, (17/04/2017), https://arxiv.org/pdf/1704.04861.pdf Sách, tạp chí
Tiêu đề: MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
[20]. Pham Dinh Khanh, “Bài 53 – ResNet model” , (19/12/2020), https://phamdinhkhanh.github.io/2020/12/19/Resnet.html , (truy cập lần cuối: 24/6/2022) Sách, tạp chí
Tiêu đề: Bài 53 – ResNet model
[21]. Pham Duy Tung, “Tìm hiểu mạng MobileNetV1” , (25/5/2019), https://www.phamduytung.com/blog/2019-05-26-mobilenetv1/, (truy cập lần cuối: 24/6/2022) Sách, tạp chí
Tiêu đề: Tìm hiểu mạng MobileNetV1

HÌNH ẢNH LIÊN QUAN

Hình 1.1.4: Mạng thần kinh chuyển tiếp nhiều lớp [1] - Ứng dụng học sâu cho bài toán nhận diện ảnh
Hình 1.1.4 Mạng thần kinh chuyển tiếp nhiều lớp [1] (Trang 26)
Hình 2.4.6: Đồ thị hàm leaky ReLU [5] - Ứng dụng học sâu cho bài toán nhận diện ảnh
Hình 2.4.6 Đồ thị hàm leaky ReLU [5] (Trang 41)
Hình 3.2.1: Minh họa bức hình màu [2] - Ứng dụng học sâu cho bài toán nhận diện ảnh
Hình 3.2.1 Minh họa bức hình màu [2] (Trang 44)
Hình 4.1.1: Kerel kích thước 3*3 [2] - Ứng dụng học sâu cho bài toán nhận diện ảnh
Hình 4.1.1 Kerel kích thước 3*3 [2] (Trang 49)
Hình 4.1.3: Phần viền ma trận được bỏ qua [2] - Ứng dụng học sâu cho bài toán nhận diện ảnh
Hình 4.1.3 Phần viền ma trận được bỏ qua [2] (Trang 50)
Hình 4.1.6 cho thấy với k = 2. - Ứng dụng học sâu cho bài toán nhận diện ảnh
Hình 4.1.6 cho thấy với k = 2 (Trang 52)
Hình 4.2.1: Input layer và hidden layer 1 [2] - Ứng dụng học sâu cho bài toán nhận diện ảnh
Hình 4.2.1 Input layer và hidden layer 1 [2] (Trang 54)
Hình 4.2.4: Tensor X, W 3 chiều được viết dưới dạng 3 matrix [9] - Ứng dụng học sâu cho bài toán nhận diện ảnh
Hình 4.2.4 Tensor X, W 3 chiều được viết dưới dạng 3 matrix [9] (Trang 56)
Hình 5.2.2: Kiến trúc base network kết hợp với fully connected layers [27] - Ứng dụng học sâu cho bài toán nhận diện ảnh
Hình 5.2.2 Kiến trúc base network kết hợp với fully connected layers [27] (Trang 66)
Hình 5.2.5: Kiến trúc mạng VGG16 [14] - Ứng dụng học sâu cho bài toán nhận diện ảnh
Hình 5.2.5 Kiến trúc mạng VGG16 [14] (Trang 69)
Hình 6.1.1: Cấu tạo của kernel [22] - Ứng dụng học sâu cho bài toán nhận diện ảnh
Hình 6.1.1 Cấu tạo của kernel [22] (Trang 73)
Hình 6.1.2: Tích chập tách biệt chiều sâu [21] - Ứng dụng học sâu cho bài toán nhận diện ảnh
Hình 6.1.2 Tích chập tách biệt chiều sâu [21] (Trang 74)
Hình 6.3.3: Sự khác biệt giữa một khối thông thường và khối phần dư [24] - Ứng dụng học sâu cho bài toán nhận diện ảnh
Hình 6.3.3 Sự khác biệt giữa một khối thông thường và khối phần dư [24] (Trang 83)
Hình 6.3.6: Mô hình kiến trúc của VGG19, ResNet34, khối dư của ResNet34 [30] - Ứng dụng học sâu cho bài toán nhận diện ảnh
Hình 6.3.6 Mô hình kiến trúc của VGG19, ResNet34, khối dư của ResNet34 [30] (Trang 86)

TỪ KHÓA LIÊN QUAN

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

w