Bà GIÁO DĀC VÀ ĐÀO T¾O TR¯äNG Đ¾I HàC QUÀN LÝ VÀ CÔNG NGHÞ HÀI PHÒNG ---------------------------------------------- Đâ ÁN TàT NGHIÞP NGÀNH: CÔNG NGHÞ THÔNG TIN Sinh viên : Trần HÁi Thành GiÁng viên h°ãng d¿n: TS. Ngô Tr°ờng Giang HÁi Phòng -2023 Trần HÁi Thành _ CT2401C 1 Bà GIÁO DĀC VÀ ĐÀO T¾O TR¯äNG Đ¾I HàC QUÀN LÝ VÀ CÔNG NGHÞ HÀI PHÒNG ----------------------------------- ĐÀ TÀI : PHÂN LO¾I HÌNH ÀNH ĐàNG VÀT Sþ DĀNG M¾NG N¡-RON TÍCH CHÀP VÀ ĄNG DĀNG Đâ ÁN TàT NGHIÞP Đ¾I HàC HÞ CHÍNH QUY NGÀNH : CÔNG NGHÞ THÔNG TIN Sinh viên : Trần HÁi Thành GiÁng viên h°ãng d¿n: TS. Ngô Tr°ờng Giang HÁi Phòng – 2023 Trần HÁi Thành _ CT2401C 2 Bà GIÁO DĀC VÀ ĐÀO T¾O TR¯äNG Đ¾I HàC QUÀN LÝ VÀ CÔNG NGHÞ HÀI PHÒNG ---------------------------------------------- NHIÞM VĀ ĐÀ TÀI TàT NGHIÞP Sinh viên : Trần HÁi Thành - MSV : 2012111008. Lãp : CT2401C Ngành : Công nghệ thông tin Tên đÁ tài : Phân lo¿i hình Ánh động vật sử dụng m¿ng n¡-ron tích chập và āng dụng Trần HÁi Thành _ CT2401C 3 LäI CÀM ¡N Trong quá trình làm đồ án vừa qua vì đ°ợc sự chỉ dẫn nhiệt tình cÿa thầy TS.
Ngô Tr°ờng Giang – Tr°ờng Đ¿i học Thuỷ lợi, em đã hoàn thành đồ án cÿa mình. Mặc dù em đã cố gắng với sự tận tâm cÿa thầy, nh°ng vì thời gian và khÁ năng nên đồ án cÿa em vẫn còn không tránh đ°ợc những điều thiếu sót. − Em xin chân thành và bày tỏ lòng biết ¡n sâu sắc đến thầy Ngô Tr°ờng Giang vì đã tận tình chỉ bÁo, h°ớng dẫn và giành thời gian quý báu cÿa mình cho em trong thời gian qua để em có thể hoàn thành đồ án cÿa mình đúng thời h¿n. − Em xin cÁm ¡n tất cÁ thầy cô giáo trong khoa Công nghệ thông tin vì đã truyền đ¿t cho em rất các kiến thāc nền tÁng, chuyên ngành, chuyên môn và chuyên sâu cực kì vững chắc trong những năm qua để em có thể hoàn thanh đ°ợc đồ án này.
Em xin cÁm ¡n Tr°ờng Đ¿i học QuÁn lý và Công nghệ HÁi Phòng vì không ngừng hỗ trợ và t¿o những điều kiện tốt nhất trong những năm vừa qua để em có thể học và thực hiện tốt đồ án. Em xin cÁm ¡n gia đình, b¿n bè đã hỗ trợ và cổ vũ cho em trong suốt quá trình học tập cũng nh° làm đồ án để em có thể hoàn thành khóa học và đồ án theo quy định. Em xin chân thành cÁm ¡n! Trần HÁi Thành _ CT2401C 4 MỤC LỤC LäI CÀM ¡N. 1 DANH MĀC HÌNH MINH HàA.
8 CH¯¡NG 1: TäNG QUAN VÀ HàC MÁY .1 Giới thiệu về học máy (Machine Learning) .2 Nguyên tắc ho¿t động .3 Āng dụng cÿa học máy trong thực tế .4 ¯u điểm và nh°ợc điểm cÿa học máy .2 Các ph°¡ng pháp học máy.3 Giới thiệu về học sâu (Deep Learning) .2 Nguyên tắc ho¿t động .3 Āng dụng cÿa học sâu trong thực tế .4 ¯u điểm và nh°ợc điểm cÿa học sâu .4 Bài toán phân lớp dữ liệu .1 Bài toán nhận d¿ng Ánh .2 Āng dụng cÿa bài toán nhận d¿ng hình Ánh. 24 CH¯¡NG 2: M¾NG N¡-RON TÍCH CHÀP .1 Giới thiệu về m¿ng n¡-ron .2 Nguyên tắc ho¿t động .3 Kiến trúc m¿ng n¡-ron .2 Giới thiệu về m¿ng n¡-ron tích chập (Convolutional Neural Network - CNN) .2 Nguyên tắc ho¿t động .3 Āng dụng cÿa m¿ng n¡-ron tích chập trong thực tế .4 ¯u điểm và nh°ợc điểm cÿa m¿ng n¡-ron tích chập. 33 Trần HÁi Thành _ CT2401C 5 CH¯¡NG 3: ĄNG DĀNG CĂA M¾NG N¡-RON TÍCH CHÀP CHO PHÂN LâP ÀNH .1 Môi tr°ờng thử nghiệm .1 Giới thiệu về Google Colab .2 Cấu hình môi tr°ờng Google Colab .3 Các th° viện đ°ợc sử dụng .2 Giới thiệu về ngôn ngữ lập trình Python .2 T¿i sao Python l¿i đ°ợc sử dụng nhiều trong học máy? .3 Thu thập dữ liệu .4 Tiền xử lý dữ liệu .5 Xây dựng mô hình.1 Xây dựng tầng cho mô hình .2 Biên dịch và huấn luyện mô hình .6 Đánh giá mô hình .7 Một số kết quÁ thử nghiệm .1 Xây dựng hàm dự đoán 1 Ánh .2 Thử nghiệm với tập Ánh test.3 Thử nghiệm với tập Ánh huấn luyện. 54 TÀI LIÞU THAM KHÀO.
56 Trần HÁi Thành _ CT2401C 6 DANH MĀC HÌNH MINH HàA Hình 1-1 Minh ho¿ AI, học máy và học sâu. 9 Hình 1-2 Mối quan hệ giữa học sâu với AI và học máy. 17 Hình 1-3 Sự khác biệt giữa nguyên tắc ho¿t động cÿa học máy và học sâu. 18 Hình 1-4 Ví dụ mô tÁ quá trình phân lo¿i th° rác.
23 Hình 2-1 Quá trình ho¿t động cÿa m¿ng n¡-ron. 28 Hình 2-2 Kiến Trúc m¿ng n¡-ron tích chập đ¡n giÁn. 32 Hình 2-3 Ví dụ minh ho¿ cấu trúc cÿa một m¿ng n¡-ron tích chập. 32 Hình 3-1 Các tiện ích cÿa Google Colab.
36 Hình 3-2 Logo ngôn ngữ lập trình Python. 40 Hình 3-3 Một số Ánh mẫu. 41 Hình 3-4 Thông tin chi tiết kiến trúc mô hình. 44 Hình 3-5 Kết quÁ test_1 trên tập test.
47 Hình 3-6 Kết quÁ test_2 trên tập test. 47 Hình 3-7 Kết quÁ test_3 trên tập test. 47 Hình 3-8 Kết quÁ test_4 trên tập test. 47 Hình 3-9 Kết quÁ test_5 trên tập test.
48 Hình 3-10 Kết quÁ test_6 trên tập test. 48 Hình 3-11 Kết quÁ test_7 trên tập test. 48 Hình 3-12 Kết quÁ test_8 trên tập test. 48 Hình 3-13 Kết quÁ test_9 trên tập test.
49 Hình 3-14 Kết quÁ test_10 trên tập test. 49 Hình 3-15 Kết quÁ test_1 trên tập training. 50 Hình 3-16 Kết quÁ test_2 trên tập training. 50 Hình 3-17 Kết quÁ test_3 trên tập training.
50 Hình 3-18 Kết quÁ test_4 trên tập training. 51 Hình 3-19 Kết quÁ test_5 trên tập training. 51 Hình 3-20 Kết quÁ test_6 trên tập training. 51 Hình 3-21 Kết quÁ test_7 trên tập training.
51 Hình 3-22 Kết quÁ test_8 trên tập training. 51 Hình 3-23 Kết quÁ test_9 trên tập training. 52 Hình 3-24 Kết quÁ test_10 trên tập training. 52 Trần HÁi Thành _ CT2401C 7 Mæ ĐÀU Mô hình Deep Learning (Học Sâu) là một lo¿i mô hình máy học sử dụng các m¿ng n¡-ron sâu để học các đặc tr°ng từ dữ liệu đầu vào.
Mô hình Deep Learning có kiến trúc với nhiều tầng (lớp) n¡-ron, trong đó thông tin đ°ợc truyền qua nhiều tầng để học các đặc tr°ng phân cấp từ dữ liệu. Mô hình học sâu đ°ợc sử dụng trong nhiều lĩnh vực nh° thị giác máy tính (xử lý hình Ánh), xử lý ngôn ngữ tự nhiên, dịch máy, nhận diện tiếng nói, tự động lái xe, và nhiều āng dụng khác. Deep Learning th°ờng yêu cầu l°ợng dữ liệu lớn để huấn luyện hiệu quÁ và tránh overfitting (quá khớp). Convolutional Neural Network (CNNs – M¿ng n¡-ron tích chập) là một trong những mô hình Deep Learning tiên tiến.
Nó giúp xây dựng lên đ°ợc những hệ thống thông minh với độ chính xác cao. Một trong những āng dụng cÿa CNN là nhận diện đối t°ợng trong hình Ánh. CNN đ°ợc sử dụng để nhận diện các đối t°ợng trong hình Ánh, bao gồm các āng dụng nh° nhận diện khuôn mặt, nhận diện đồ vật, nhận diện ng°ời dùng. Phân lo¿i hình Ánh, CNN có thể phân lo¿i các hình Ánh vào các lớp khác nhau.
Đề tài em chọn là sử dụng thuật toán CNN để phân lo¿i hình Ánh động vật và āng dụng, nội dung cÿa đồ án bao gồm: Ch°¡ng 1: Tổng quan về học máy. Ch°¡ng 2: M¿ng n¡ ron nhân chập. Ch°¡ng 3: Āng dụng CNN cho phân lớp Ánh. Trần HÁi Thành _ CT2401C 8 CH¯¡NG 1: TäNG QUAN VÀ HàC MÁY 1.1 Khái nißm Học máy (Machine Learning) th°ờng đ°ợc viết tắt là ML, nó là một tập con cÿa trí tuệ nhân t¿o (AI) cho phép máy tính học từ dữ liệu và đ°a ra dự đoán hay quyết định.
Nó triển khai các thuật toán nhằm t¿o điều kiện thuận lợi cho dự đoán và quyết định này. Các thuật toán đ°ợc thiết kế với mục đích cÁi thiện hiệu suất đã trở nên ngày càng chính xác và hiệu quÁ h¡n theo thời gian, đặc biệt khi chúng phÁi xử lý l°ợng dữ liệu lớn h¡n. [1] Hình 1-1 Minh ho¿ AI, hác máy và hác sâu 1.2 Nguyên tắc ho¿t đáng Cách ho¿t động cÿa máy học bao gồm việc đi sâu vào quy trình từng b°ớc để chuyển đổi dữ liệu thô thành những hiểu biết có giá trị. Quy trình này bao gồm một số b°ớc chính sau: B°ãc 1: Thu thÁp dữ lißu − Chất l°ợng và số l°ợng cÿa dữ liệu có thể Ánh h°ởng trực tiếp đến hiệu suất mô hình.
Dữ liệu đ°ợc thu thập từ nhiều nguồn khác nhau nh° c¡ sở dữ liệu, tập tin văn bÁn, hình Ánh, tập tin âm thanh hoặc trang web… Trần HÁi Thành _ CT2401C 9 − Dữ liệu cần đ°ợc chuẩn bị theo định d¿ng phù hợp nh° là tập CSV, c¡ sở dữ liệu và đÁm bÁo dữ liệu có liên quan đến vấn đề đang giÁi quyết. B°ãc 2: TiÁn xÿ lý dữ lißu − Tiền xử lý dữ liệu là một b°ớc quan trọng nó xử lý dữ liệu (lo¿i bỏ trùng lặp, sửa lỗi), xử lý dữ liệu bị thiếu (xóa hoặc điền vào) và chuẩn hóa dữ liệu. − Quá trình tiền xử lý cÁi thiện chất l°ợng dữ liệu đÁm bÁo mô hình học máy có thể diễn giÁi dữ liệu đó một cách chính xác, cÁi thiện đáng kể độ chính xác cÿa mô hình. B°ãc 3: Chán mô hình phù hÿp − Sau khi dữ liệu đ°ợc chuẩn bị tiếp theo sẽ chọn mô hình.
Có nhiều lo¿i mô hình để lựa chọn, bao gồm hồi quy tuyến tính, cây quyết định và m¿ng l°ới thần kinh. Lựa chọn mô hình tùy thuộc vào bÁn chất cÿa dữ liệu và vấn đề đang giÁi quyết. − Các yếu tố cần xem xét bao gồm kích th°ớc và lo¿i dữ liệu, độ phāc t¿p cÿa vấn đề và tài nguyên sẵn có. B°ãc 4: Hu¿n luyßn mô hình − Quá trình huấn luyện mô hình bao gồm đ°a dữ liệu vào mô hình và cho phép mô hình điều chỉnh các tham số bên trong để dự đoán kết quÁ đầu ra tốt h¡n.
− Trong quá trình huấn luyện, điều quan trọng là tránh bị trang bị quá māc (mô hình ho¿t động tốt trên dữ liệu huấn luyện nh°ng kém trên dữ liệu mới) và trang bị thiếu (mô hình ho¿t động kém trên cÁ dữ liệu huấn luyện và dữ liệu mới). Trần HÁi Thành _ CT2401C 10 B°ãc 5: Đánh giá mô hình − Thử nghiệm mô hình trên dữ liệu mới mà nó ch°a thấy trong quá trình đào t¿o. Các số liệu phổ biến để đánh giá hiệu suất cÿa mô hình bao gồm độ chính xác (đối với các vấn đề phân lo¿i), độ chính xác và thu hồi (đối với các vấn đề phân lo¿i nhị phân) và sai số bình ph°¡ng trung bình (đối với các vấn đề hồi quy).