Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn tóm tắt ngành kĩ thuật phần mềm với đề tài: Nhận dạng và phân loại hoa quả trong ảnh màu, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Xây dựng hệ thống hỗ trợ điểm danh sinh viên trường Đại học Dân lập Hải Phòng, cho các bạn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn đồ án tốt nghiệp ngành kĩ thuật điện với đề tài: Thiết kế và thi công hệ thống giám sát chỉ số môi trường và hiển thị thông tin trên Web, cho các bạn làm luận văn tham khảo
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Phân tích thiết kế hệ thống thông tin quản lý phân phối Gas Petrolimex Hải Phòng, cho các bạn làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn tóm tắt ngành kĩ thuật phần mềm với đề tài: Nhận dạng và phân loại hoa quả trong ảnh màu, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Xây dựng hệ thống hỗ trợ điểm danh sinh viên trường Đại học Dân lập Hải Phòng, cho các bạn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn đồ án tốt nghiệp ngành kĩ thuật điện với đề tài: Thiết kế và thi công hệ thống giám sát chỉ số môi trường và hiển thị thông tin trên Web, cho các bạn làm luận văn tham khảo
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Phân tích thiết kế hệ thống thông tin quản lý phân phối Gas Petrolimex Hải Phòng, cho các bạn làm luận văn tham khảo
Đồ án tốt nghiệp đại học về quản lý điểm trường trung học phổ thông.
Để có bản full thì các bạn hãy liên hệ với mình nhé
yahoo: phamtoan1804
facebook: https://www.facebook.com/phamtoan1804
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download khóa luận tốt nghiệp ngành công nghệ thông tin với đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, cho các bạn làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận án tiến sĩ ngành công nghệ thông tin với đề tài: Quản lý cửa hàng vật liệu xây dựng, cho các bạn có thể làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghiệp thông tin với đề tài: Xây dựng ứng dụng Android xem video trực tuyến, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Xây dựng ứng dụng giải trí trên thiết bị di động Android, cho các bạn làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn thạc sĩ ngành công nghệ thông tin với đề tài: Nghiên cứu ứng dụng công nghệ IoT cho giám sát môi trường, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Đề tài chương trình quản lý các lớp ngoại ngữ, HAY. Chia sẻ cho các bạn sinh viên tài liệu tốt nghiệp ngành công nghệ thông tin các bạn làm chuyên đề tốt nghiệp công nghệ thông tin vào tải nhé.
Download luận văn thạc sĩ ngành kĩ thuật phần mềm với đề tài: Nghiên cứu và ứng dụng kỹ thuật học máy vào bài toán phát hiện mã độc, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn đồ án tốt nghiệp ngành điện tử công nghiệp với đề tài: Hệ thống giám sát nông nghiệp bằng công nghệ Iot, cho các bạn làm luận văn tham khảo
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơnNguyen Thieu
Bài tập lớn môn học Xử Lý Ảnh (Thế Anh, Thiệu)
Code và toàn bộ báo cáo có thể xem tại đây:
https://drive.google.com/drive/folders/0B0gRRELQqRA8QlYwaE14NDlsZHc?usp=sharing
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp với đề tài: Thiết kế chế tạo mô hình nhà thông minh sử dụng Arduino, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn đồ án tốt nghiệp ngành điện tử công nghiệp với đề tài: Thiết kế và thi công hệ thống Iot phục vụ cho nông nghiệp ứng dụng Gateway, cho các bạn làm luận văn tham khảo
Download luận văn thạc sĩ ngành quản lí giáo dục với đề tài: Quản lý hoạt động đào tạo trình độ thạc sĩ ngành Công nghệ thông tin tại Học viện Khoa học và Công nghệ, cho các bạn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn thạc sĩ ngành công nghệ thông tin với đề tài: Tìm hiểu và đánh giá kỹ thuật mô hình hóa luồng tương tác IFML trong phát triển ứng dụng di động, cho các bạn làm luận văn tham khảo
Đồ án tốt nghiệp đại học về quản lý điểm trường trung học phổ thông.
Để có bản full thì các bạn hãy liên hệ với mình nhé
yahoo: phamtoan1804
facebook: https://www.facebook.com/phamtoan1804
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download khóa luận tốt nghiệp ngành công nghệ thông tin với đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, cho các bạn làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận án tiến sĩ ngành công nghệ thông tin với đề tài: Quản lý cửa hàng vật liệu xây dựng, cho các bạn có thể làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghiệp thông tin với đề tài: Xây dựng ứng dụng Android xem video trực tuyến, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Xây dựng ứng dụng giải trí trên thiết bị di động Android, cho các bạn làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn thạc sĩ ngành công nghệ thông tin với đề tài: Nghiên cứu ứng dụng công nghệ IoT cho giám sát môi trường, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Đề tài chương trình quản lý các lớp ngoại ngữ, HAY. Chia sẻ cho các bạn sinh viên tài liệu tốt nghiệp ngành công nghệ thông tin các bạn làm chuyên đề tốt nghiệp công nghệ thông tin vào tải nhé.
Download luận văn thạc sĩ ngành kĩ thuật phần mềm với đề tài: Nghiên cứu và ứng dụng kỹ thuật học máy vào bài toán phát hiện mã độc, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn đồ án tốt nghiệp ngành điện tử công nghiệp với đề tài: Hệ thống giám sát nông nghiệp bằng công nghệ Iot, cho các bạn làm luận văn tham khảo
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơnNguyen Thieu
Bài tập lớn môn học Xử Lý Ảnh (Thế Anh, Thiệu)
Code và toàn bộ báo cáo có thể xem tại đây:
https://drive.google.com/drive/folders/0B0gRRELQqRA8QlYwaE14NDlsZHc?usp=sharing
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp với đề tài: Thiết kế chế tạo mô hình nhà thông minh sử dụng Arduino, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn đồ án tốt nghiệp ngành điện tử công nghiệp với đề tài: Thiết kế và thi công hệ thống Iot phục vụ cho nông nghiệp ứng dụng Gateway, cho các bạn làm luận văn tham khảo
Download luận văn thạc sĩ ngành quản lí giáo dục với đề tài: Quản lý hoạt động đào tạo trình độ thạc sĩ ngành Công nghệ thông tin tại Học viện Khoa học và Công nghệ, cho các bạn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn thạc sĩ ngành công nghệ thông tin với đề tài: Tìm hiểu và đánh giá kỹ thuật mô hình hóa luồng tương tác IFML trong phát triển ứng dụng di động, cho các bạn làm luận văn tham khảo
Khóa Luận Tìm Hiểu Về Ngôn Ngữ Lập Trình Độc Lập Trên Mobile - PhoneGapĐiềm Nguyễn Văn
Đây là khóa luận tìm hiểu về Ngôn ngữ lập trình độc lập trên mobile mà cụ thể là PhoneGap. Với các ngôn ngữ nên web cơ bản, kết hợp với các APIs mạnh mà PhoneGap đã hỗ trợ. Sau khi viết code, bạn chỉ cần nén dưới dạng file zip và up lên Cloud của PhoneGap là phần mềm sẽ build và chạy được trên nhiều nền tảng di động khác nhau. --- Nguyễn Văn Điềm.
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành điện tử công nghiệp với đề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm, cho các bạn có thể tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn thạc sĩ ngành công nghệ thông tin với đề tài: Theo dõi đối tượng dựa trên giải thuật di truyền và tối ưu hoá bầy đàn, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn đồ án tốt nghiệp với đề tài: Xây dựng, triển khai và quản lý mô hình mạng, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn tóm tắt ngành kĩ thuật phần mềm với đề tài: Tìm hiểu và đánh giá kỹ thuật mô hình hóa luồng tương tác ifml trong phát triển ứng dụng di động, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn thạc sĩ ngành công nghệ thông tin với đề tài: Hệ thống tự động phân luồng câu hỏi và giải đáp yêu cầu trực tuyến, cho các bạn làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Xây dựng ứng dụng học từ vựng tiếng anh trên điện thoại di động, cho các bạn làm luận văn tham khảo
Luận văn Xây dựng hệ thống mạng doanh nghiệp sử dụng mã nguồn mởAubrey Yundt
LỜI NÓI ĐẦU
Với sự phát triển nhanh chóng của công nghệ thông tin, thế giới dường
như ngày càng thu nhỏ nhờ mạng Internet. Để có thể đáp ứng được đòi hỏi trình
độ công nghệ thông tin ngày càng cao của thị trường, sinh viên ngành công
nghệ thông tin nói riêng và các đối tượng hoạt động trong lĩnh vực công nghệ
thông tin nói chung cần phải nắm được các kiến thức về mạng máy tính cũng
như xây dựng, triển khai các ứng dụng mạng như: Truy nhập CSDL SQL server
trên LAN, truy nhập Web trên LAN hay chat trên LAN ... Điều hiển nhiên là
làm về mạng thì phải có mạng máy tính để thực hành. Thực tế điều kiện thực
hành mạng còn nhiều điều bất cập như thời lượng thực hành tại đa số các cơ sở
đào tạo chưa đủ; kinh phí hạn hẹp không cho phép có thể tự đầu tư nhiều bộ
máy tính để nối mạng; sự thiếu kinh nghiệm của sinh viên có thể dẫn đến các
sự cố đáng tiếc trong quá trình thực hành.
Nắm bắt được tình hình chung này, tôi đề xuất giải pháp cài đặt và cấu
hình mạng doanh nghiệp sử dụng mã nguồn mở để hỗ trợ giải quyết những khó
khăn trên. Bố cục bài luận văn được chia thành:
Chương 1: Tổng quan về hệ thống mạng doanh nghiệp
Đưa ra lý do chọn đề tài , mục đích của đề tài , giới hạn đề tài, mục đích
nghiên cứu , nghiên cứu về kiến trúc mạng Enterprise, mô hình mạng LAN và
WAN.
Chương 2: Hệ thống tên miền DNS và dịch vụ truy cập từ xa
Giới thiệu và cách cài đặt cấu hình DNS trên server và các dịch vụ truy
cập từ xa như Telnet, SSH,..
Chương 3: Bảo mật hệ thống và các giải pháp cho việc kết nối mạng dùng
riêng ra Internet
Giới thiệu và cách cài đặt cấu hình tường lửa Iptable và các dịch vụ sử
dụng Internet
https://luanvan.net.vn/
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn thạc sĩ ngành công nghệ thông tin với đề tài: Nghiên cứu ứng dụng công nghệ Webrtc cho giải pháp cộng tác và chia sẻ dữ liệu đa phương tiện tại trung tâm MVAS-TCT viễn thông mobifone, cho các bạn tham khảo
LUẬN VĂN THẠC SĨ: PHÂN LẬP, TUYỂN CHỌN VI KHUẨN SINH TỔNG HỢP ENZYME CHITIN ...ssuserc1c2711
PHÂN LẬP, TUYỂN CHỌN VI KHUẨN SINH TỔNG HỢP ENZYME CHITIN DEACETYLASE VÀ KHẢ NĂNG ỨNG DỤNG
Nhận file miễn phí vui lòng nhắn tin zalo 0777.149.703
Wed VietthueOntime
LUẬN VĂN THẠC SĨ: NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT PHÂN TÍCH HÌNH ẢNH HUỲNH QUANG...ssuserc1c2711
NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT PHÂN TÍCH HÌNH ẢNH HUỲNH QUANG TẾ BÀO TRONG SÀNG LỌC MỘT SỐ HỢP CHẤT THIÊN NHIÊN CÓ HOẠT TÍNH SINH HỌC
Nhận file miễn phí vui lòng nhắn tin zalo 0777.149.703
Wed VietthueOntime
LUẬN VĂN THẠC SĨ: PHÂN LẬP VÀ ĐÁNH GIÁ HOẠT ĐỘNG CỦA PROMOTER CHUYÊN BIỆT HẠT...ssuserc1c2711
PHÂN LẬP VÀ ĐÁNH GIÁ HOẠT ĐỘNG CỦA PROMOTER CHUYÊN BIỆT HẠT PHẤN TỪ CÂY LÚA (Oryza sativa L.)
Nhận file miễn phí vui lòng nhắn tin zalo 0777.149.703
Wed VietthueOntime
LUẬN VĂN THẠC SĨ: XÂY DỰNG CHIẾN LƯỢC ĐỊNH VỊ SẢN PHẨM DU LỊCH TEAMBUILDING T...ssuserc1c2711
XÂY DỰNG CHIẾN LƯỢC ĐỊNH VỊ SẢN PHẨM DU LỊCH TEAMBUILDING TRÊN THỊ TRƯỜNG NỘI ĐỊA TẠI CÔNG TY DỊCH VỤ DU LỊCH LỮ HÀNH SAIGONTOURIST
Nhận file word miễn phi vui lòng nhắn tin zalo 0777.149.703
Wed VietthueOntime
LUẬN VĂN THẠC SĨ: GIẢI PHÁP CỔNG BIÊN DỊCH ĐỊA CHỈ MẠNG CHO CÁC GIAO THỨC GIA...ssuserc1c2711
GIẢI PHÁP CỔNG BIÊN DỊCH ĐỊA CHỈ MẠNG CHO CÁC GIAO THỨC GIAO VẬN DÙNG CHO ỨNG DỤNG HỘI THẢO VIDEO TỪ XA TRÊN INTERNET
Nhận file miễn phí vui lòng nhắn tin zalo 0777.149.703
Wed VietthueOntime
LUẬN VĂN THẠC SĨ: HỆ THỐNG ĐIỂM DANH HỌC SINH THÔNG QUA NHẬN DẠNG ĐẦU HỌC SIN...ssuserc1c2711
HỆ THỐNG ĐIỂM DANH HỌC SINH THÔNG QUA NHẬN DẠNG ĐẦU HỌC SINH KẾT HỢP THEO VẾT CHUYỂN ĐỘNG TRONG VIDEO
Nhận file miễn phí vui lòng nhắn tin zalo 0777.149.703
Wed VietthueOntime
LUẬN VĂN THẠC SĨ: NGHIÊN CỨU TÁC ĐỘNG CỦA CẤU TRÚC VỐN ĐẾN HIỆU QUẢ TÀI CHÍNH...ssuserc1c2711
NGHIÊN CỨU TÁC ĐỘNG CỦA CẤU TRÚC VỐN ĐẾN HIỆU QUẢ TÀI CHÍNH CỦA CÁC DOANH NGHIỆP CHẾ BIẾN THỰC PHẨM NIÊM YẾT TRÊN THỊ TRƯỜNG CHỨNG KHOÁN VIỆT NAM
Nhận file word miễn phí vui lòng nhắn tin zalo 0777.149. 703
Wed VietthueOntime
LUẬN VĂN THẠC SĨ: NGHIÊN CỨU CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ KINH DOANH CỦ...ssuserc1c2711
NGHIÊN CỨU CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ KINH DOANH CỦA CÁC DOANH NGHIỆP NGÀNH THỰC PHẨM VÀ ĐỒ UỐNG NIÊM YẾT TRÊN SÀN CHỨNG KHOÁN VIỆT NAM
Nhận file word miễn phí vui lòng nhắn tin zalo 0777.149. 703
Wed VietthueOntime
LUẬN VĂN THẠC SĨ: HOÀN THIỆN CÔNG TÁC THẨM ĐỊNH TÀI CHÍNH DỰ ÁN ĐẦU TƯ TẠI NG...ssuserc1c2711
HOÀN THIỆN CÔNG TÁC THẨM ĐỊNH TÀI CHÍNH DỰ ÁN ĐẦU TƯ TẠI NGÂN HÀNG TMCP BẢN VIỆT
Nhận file word miễn phí vui lòng nhắn tin zalo 0777.149. 703
Wed VietthueOntime
LUẬN VĂN THẠC SĨ: PHÂN TÍCH SỰ ẢNH HƯỞNG CỦA SỞ HỮU NHÀ NƯỚC ĐẾN KHẢ NĂNG CẠN...ssuserc1c2711
PHÂN TÍCH SỰ ẢNH HƯỞNG CỦA SỞ HỮU NHÀ NƯỚC ĐẾN KHẢ NĂNG CẠNH TRANH CỦA CÁC NGÂN HÀNG THƯƠNG MẠI VIỆT NAM GIAI ĐOẠN 2008 - 2013
Nhận file word miễn phí vui lòng nhắn tin zalo 0777.149. 703
Wed VietthueOntime
LUẬN VĂN THẠC SĨ: NGHIÊN CỨU CẤU TRÚC VỐN CỦA CÁC CÔNG TY NIÊM YẾT TRÊN SỞ GI...ssuserc1c2711
NGHIÊN CỨU CẤU TRÚC VỐN CỦA CÁC CÔNG TY NIÊM YẾT TRÊN SỞ GIAO DỊCH CHỨNG KHOÁN THÀNH PHỐ HỒ CHÍ MINH
Nhận file word miễn phí vui lòng nhắn tin zalo 0777.149. 703
Wed VietthueOntime
LUẬN VĂN THẠC SĨ: PHÂN TÍCH SỰ ẢNH HƯỞNG CỦA SỞ HỮU NHÀ NƯỚC ĐẾN KHẢ NĂNG CẠN...ssuserc1c2711
PHÂN TÍCH SỰ ẢNH HƯỞNG CỦA SỞ HỮU NHÀ NƯỚC ĐẾN KHẢ NĂNG CẠNH TRANH CỦA CÁC NGÂN HÀNG THƯƠNG MẠI VIỆT NAM GIAI ĐOẠN 2008 - 2013
Nhận file word miễn phí vui lòng nhắn tin zalo 0777.149.703
Wed vietthuediemcao
LUẬN VĂN THẠC SĨ: HOÀN THIỆN CÔNG TÁC THẨM ĐỊNH TÀI CHÍNH DỰ ÁN ĐẦU TƯ TẠI NG...ssuserc1c2711
HOÀN THIỆN CÔNG TÁC THẨM ĐỊNH TÀI CHÍNH DỰ ÁN ĐẦU TƯ TẠI NGÂN HÀNG TMCP BẢN VIỆT
Nhận file word miễn phí vui lòng nhắn tin zalo 0777.149.703
Wed vietthuediemcao
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
https://dienlanhbachkhoa.net.vn
Hotline/Zalo: 0338580000
Địa chỉ: Số 108 Trần Phú, Hà Đông, Hà Nội
Để xem full tài liệu Xin vui long liên hệ page để được hỗ trợ
:
https://www.facebook.com/garmentspace/
https://www.facebook.com/thuvienluanvan01
HOẶC
https://www.facebook.com/thuvienluanvan01
https://www.facebook.com/thuvienluanvan01
tai lieu tong hop, thu vien luan van, luan van tong hop, do an chuyen nganh
LUẬN VĂN THẠC SĨ: ỨNG DỤNG HỌC SÂU TRONG PHÂN LOẠI TRÁI CÂY
1. BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGOẠI NGỮ - TIN HỌC TPHCM
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGUYỄN VĂN PHÚC
ỨNG DỤNG HỌC SÂU TRONG PHÂN LOẠI
TRÁI CÂY
THÀNH PHỐ HỒ CHÍ MINH – 10/2019
2. BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGOẠI NGỮ - TIN HỌC TPHCM
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGUYỄN VĂN PHÚC
ỨNG DỤNG HỌC SÂU TRONG PHÂN LOẠI
TRÁI CÂY
Ngành: CÔNG NGHỆ THÔNG TIN
Mã số: 60480201
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. VŨ THANH HIỀN
THÀNH PHỐ HỒ CHÍ MINH – 10/2019
3. LỜI CAM ĐOAN
Tôi xin cam đoan đề tài: “Ứng dụng học sâu trong phân loại trái cây” là công
trình nghiên cứu được tôi thực hiện dưới sự hướng dẫn của giảng viên hướng dẫn
khoa học.
Các kết quả nghiên cứu và kết quả thử nghiệm nêu trong luận văn là trung thực và
chưa từng được công bố trong bất kỳ tài liệu nào khác.
Trong phần kiến thức chung nghiên cứu giải thuật áp dụng, luận văn có tham khảo ở
một số tài liệu và đã có trích dẫn đúng và đầy đủ.
Học Viên
Nguyễn Văn Phúc
4. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
2-2
LỜI CẢM ƠN
Tôi xin bày tỏ lòng biết ơn sâu sắc đến Thầy, TS. Vũ Thanh Hiền, người đã hết
lòng hướng dẫn, động viên và giúp đỡ cho tôi hoàn thành luận văn này.
Tôi cũng xin chân thành gửi lời cám ơn đến quý Thầy Cô trường Đại Học Ngoại
ngữ - Tin học TP.HCM đã tận tình dạy dỗ, chỉ bảo kiến thức quý báu giúp tôi hoàn
thành khóa học đúng tiến độ và là nền tảng cho nghiên cứu của mình. Xin cảm ơn
Ban Hợp tác và Đào tạo Sau đại học đã nhiệt tình hỗ trợ trong suốt quá trình học tập
tại trường.
Cuối cùng, xin chân thành cảm ơn bạn bè và đồng nghiệp đã khích lệ, động viên,
tạo điều kiện thuận lợi cho tôi trong suốt thời gian thực hiện luận văn.
TP. HCM, tháng 10 năm 2019
Học Viên
Nguyễn Văn Phúc
5. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
2-3
DANH MỤC CÁC CHỮ VIẾT TẮT
Chữ viết tắt Ý nghĩa
AI Artificial Intelligent
ANN Artificial neural networks
CNN Convolutional Neural Network
PCA Principal Component Analysis
SVM Support Vector Machine
6. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
2-4
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 2.1 Minh hoạ sơ đồ Deep Learning.................................................................13
Hình 2.2 Minh hoạ các lớp trong Deep Learning ....................................................14
Hình 2.3 Kiến trúc tổng quát của một ANN ............................................................18
Hình 2.4 Mô hình tích chập......................................................................................20
Hình 2.5 Mô hình mạng neuron tích chập ...............................................................22
Hình 2.6 Mô hình mạng perceptron đa tầng ............................................................24
Hình 2.7 Mô tả các neuron đầu vào .........................................................................25
Hình 2.8 Mô hình neuron cục bộ .............................................................................26
Hình 2.9 Mô hình neuron cục bộ .............................................................................26
Hình 2.10 Mô hình neuron cục bộ ...........................................................................27
Hình 2.11 Công thức xây dựng lớp tính Neuron......................................................28
Hình 2.12 Minh hoạ đặc trưng cấu trúc neuron .......................................................29
Hình 2.13 Bản đồ đặc trưng .....................................................................................30
Hình 2.14 Sơ đồ phân lớp ........................................................................................32
Hình 2.15 Sơ đồ phân lớp ........................................................................................32
Hình 2.16 Sơ đồ phân lớp ........................................................................................33
Hình 2.17 Kiến trúc AlexNet ...................................................................................34
Hình 2.18 Kiến trúc VGG 16 ...................................................................................35
Hình 2.19 Kiến trúc Inception..................................................................................36
Hình 2.20 Inception..................................................................................................36
Hình 3.1 Hình dạng khác nhau của cùng một loại táo.............................................37
Hình 3.2 Hình dạng quả nho ....................................................................................37
Hình 3.3 Trái cây Apple Braeburn...........................................................................42
7. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
2-5
Hình 3.4 Trái cây Apple Braeburn đã bị xoay .........................................................43
Hình 3.5 Trái cây Apple Golden 1...........................................................................44
Hình 3.6 Trái cây Apple Golden 1 đã bị xoay .........................................................45
Hình 3.9 Độ lỗi của mô hình trong quá trình huấn luyện dựa trên tensorboard ......50
Hình 3.10 Độ chính xác của mô hình trong quá trình huấn luyện dựa trên
tensorboard................................................................................................................50
Hình 3.7 Giao diện chính của ứng dụng ..................................................................52
Hình 3.8 Huấn luyện mô hình..................................................................................54
Hình 3.11 Kiểm tra trên tập dữ liệu test...................................................................55
8. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
2-6
DANH MỤC CÁC BẢNG BIỂU
Bảng 3.1 Các loại trái cây ........................................................................................41
Bảng 3.2 Các thông số của mô hình.........................................................................47
Bảng 3.3 Các chức năng của ứng dụng....................................................................53
9. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
2-7
TRANG THÔNG TIN VỀ LUẬN VĂN THẠC SĨ
1. Họ tên học viên: NGUYỄN VĂN PHÚC Nam/ Nữ: Nam
2. Ngày tháng năm sinh: 30 tháng 4 năm 1990 Nơi sinh: Campuchia
3. Ngành học: Công nghệ Thông tin Mã số: 60480201
4. Ngày nhập học: 2016
5. Các thay đổi trong quá trình đào tạo: (nếu có)
6. Tên đề tài luận văn (chính thức bảo vệ):
7. 6.1. Tên Tiếng Việt: “Ứng dụng học sâu trong phân loại trái cây”
6.2. Tên Tiếng Anh: “Apply Deep Learning to Classify Fruit”
Cán bộ hướng dẫn (họ tên, học hàm, học vị): TS. VŨ THANH HIỀN
8. Tóm tắt các kết quả của luận văn:
“Tóm tắt các kết quả của luận văn: Đã tìm hiểu cơ sở lý thuyết của mạng neuron
và đặc biệt là mô hình mạng neuron tích chập để giải quyết bài toán phân loại 60
loại trái cây trên cơ sở dữ liệu Fruit. Qua quá trình thực nghiệm, chúng tôi đã xác
định kiến trúc cũng như bộ tham số phù hợp để giải quyết bài toán với độ chính
xác cao”
9. Khả năng ứng dụng thực tiễn (nếu có)
10.Những hướng nghiên cứu tiếp theo (nếu có)
11.Các công trình đã công bố có liên quan đến luận văn:
CÁN BỘ HƯỚNG DẪN
(ký tên, họ và tên)
TS. Vũ Thanh Hiền
HỌC VIÊN
(ký tên, họ và tên)
Nguyễn Văn Phúc
10. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
2-8
LỜI MỞ ĐẦU
Ngày nay công nghệ thông tin là ngành chủ lực quan trọng góp phần thúc đẩy sự
phát triển mọi mặt của con người. Một trụ cột của thời đại công nghiệp 4.0 là sự phát
triển mạnh của Trí tuệ nhân tạo (Artificial Intelligence - AI). AI có mặt ở tất cả các
ứng dụng thông minh như nhận dạng giọng nói của Apple, dịch tự động, search engine
của Google, xe lái tự động của Tesla, … có thể nói AI đang là một trong những công
nghệ được quan tâm đầu tư nghiên cứu và phát triển nhất thời điểm hiện nay.
Ở nước ta hiện nay đã bắt đầu áp dụng Trí tuệ nhân tạo vào nghiên cứu và
kinh doanh đã cho ra những kết quả rất đáng kể. Trong lương lai nước ta sẽ áp dụng
và đưa công nghệ thông tin vào tất cả các lĩnh vực nhằm phát triển mạnh mẽ hơn để
có thể thay thế những thủ tục thủ công mà con người bấy lâu nay vẫn còn phụ thuộc…
Khi nền công nghiệp 4.0 được đưa vào áp dụng thì máy móc sẽ giúp cho con người
hoàn thành tốt công việc và thực hiện nhanh hơn, chính xác hơn và công sức tối ưu
nhất, tương lai máy móc sẽ thay thế con người làm việc trên mọi mặt, do đó, những
chuyên gia hay bất cứ ai nghiên cứu về lĩnh vực này luôn muốn tìm hiểu và nghiên
cứu sâu về sự thay đổi mạnh mẽ của công nghiệp 4.0 và sự phát triển mạnh của Trí
tuệ nhân tạo.
Bây giờ, Trí tuệ nhân tạo đang góp phần thay đổi sâu sắc nhiều khía cạnh của
cuộc sống, dần trở thành một yếu tố quan trọng trong hoạt động muôn màu muôn vẻ
của nhân loại. Nhiều bức tranh về tương lai xán lạn do trí tuệ nhân tạo mang tới cho
loài người đã được khắc họa. Riêng về mặt kinh tế cho thấy trí tuệ nhân tạo trở thành
cơ hội thương mại lớn nhất ngày nay trong nền kinh tế toàn cầu đang thay đổi nhanh
chóng với phần đóng góp của nó, Chính vì lý do đó, nhiều nước trên thế giới đã và
đang tiến hành xây dựng chiến lược phát triển trí tuệ nhân tạo quốc gia của họ.
11. MỤC LỤC
CHƯƠNG 1. TỔNG QUAN.....................................................................................2
1.1 ĐẶT VẤN ĐỀ.........................................................................................................2
1.2 GIỚI THIỆU TRÍ TUỆ NHÂN TẠO VÀ HỌC MÁY ...................................................4
1.3 TỔNG QUAN VỀ XỬ LÝ ẢNH SỐ ...........................................................................6
1.3.1 GIỚI THIỆU ........................................................................................................6
1.3.2 MỘT SỐ KHÁI NIỆM CƠ BẢN TRONG XỬ LÝ ẢNH................................................7
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT.......................................................................10
2.1 GIỚI THIỆU VỀ DEEP LEARNING......................................................................10
2.2 MỘT SỐ ỨNG DỤNG CỦA DEEP LEARNING ......................................................14
2.3 GIỚI THIỆU MẠNG NEURON.............................................................................17
2.4 MẠNG NEURON TÍCH CHẬP..............................................................................18
2.4.1 ĐỊNH NGHĨA MẠNG NEURON TÍCH CHẬP.........................................................19
2.4.2 CONVOLUTION (TÍCH CHẬP)............................................................................19
2.4.3 MÔ HÌNH MẠNG NƠ-RON TÍCH CHẬP ...............................................................20
2.4.4 XÂY DỰNG MẠNG NƠ-RON TÍCH CHẬP............................................................22
2.5 MỘT SỐ KIẾN TRÚC CONVOLUTIONAL NEURAL NETWORK THÔNG DỤNG ....34
2.5.1 KIẾN TRÚC ALEXNET [17] ..............................................................................34
2.5.2 KIẾN TRÚC VGG 16 [17].................................................................................35
2.5.3 KIẾN TRÚC INCEPTION/GOOGLENET [18].......................................................35
CHƯƠNG 3. PHÂN LOẠI ẢNH TRÁI CÂY ......................................................37
3.1 PHÁT BIỂU BÀI TOÁN ........................................................................................37
3.2 CƠ SỞ DỮ LIỆU TRÁI CÂY .................................................................................38
3.3 CẤU TRÚC THƯ MỤC CƠ SỞ DỮ LIỆU ẢNH TRÁI CÂY.......................................41
3.4 DỮ LIỆU MẪU ....................................................................................................41
3.5 PHƯƠNG PHÁP ĐỀ XUẤT ...................................................................................45
B. HÀM LOSS..............................................................................................................48
C. PHƯƠNG PHÁP HUẤN LUYỆN ...........................................................................48
CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN......................................49
4.1 THỰC NGHIỆM VÀ KẾT QUẢ .............................................................................49
4.2 KẾT LUẬN VÀ PHƯỚNG PHÁT TRIỂN ................................................................55
4.3 HƯỚNG PHÁT TRIỂN TIẾP THEO.......................................................................56
TÀI LIỆU THAM KHẢO ......................................................................................57
12. 2
CHƯƠNG 1. TỔNG QUAN
1.1 Đặt vấn đề
- Cơ sở hình thành đề tài:
Trong luận văn này trình bày khái quát về xử lý ảnh, các phương pháp trích chọn đặc
trưng. Mạng neuron tích chập và sử dụng trong bài toán phân loại đối tượng.
Hiện nay, với sự phát triển của công nghiệp 4.0, công nghệ thông tin nói chung
và sự phát triển trong lĩnh vực Trí tuệ nhân tạo, các hệ thống phát hiện và nhận dạng
và ngày càng có nhiều ứng dụng trong thực tế như vấn đề an ninh, các hệ thống bảo
mật, nhận dạng người trên các bằng lái xe, hộ chiếu, nhận dạng người trong các hệ
thống tương tác người-máy, nhận dạng đối tượng, nhận dạng vân tay, nhận dạng màu
sắc, trong lĩnh vực giải trí...
Đặc biệt khi cách mạng công nghiệp 4.0 ra đời thì công nghệ ngày càng được
phát triển cao hơn, các công nghệ tối tân sẽ dần dẫn được đưa vào xử dụng nhằm
phục vụ cho con người. Nhu cầu tăng lên trong ứng dụng Trí tuệ nhân tạo, đã giúp
các nhà khoa học có thêm nhiều phương pháp mới để phát triển các dự án nghiên cứu.
Mặc dù ban đầu thực hiện gặp nhiều khó khăn do mới tiếp xúc công nghệ hoặc đang
áp dụng lý thuyết vào thực tế nhưng những kết quả đạt được trong thời gian đầu cũng
xem như một kết quả khả quan tạo động lực cho các công trình sau này. việc nhận
dạng đối tượng không thể chính xác được như các phương pháp nhận dạng khác như
nhận dạng vân tay, nhận dạng mặt người…nhưng đề tài này nó vẫn nhận được sự
quan tâm lớn của các nhà nghiên cứu trong lĩnh vực thị giác máy tính. Lý do chủ yếu
13. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
3
là trên thực tế, nhận dạng đối tượng vẫn là cách truyền thống để con người nhận dạng
và phát hiện ra đối tượng.
Có rất nhiều mô hình tính toán mô phỏng bộ não của người được nghiên cứu
trong đó có mạng neuron. Đề tài này cũng một phần áp dụng mạng neuron vào khả
năng giải quyết hàng loạt các bài toán như tính toán tối ưu, nhận dạng đối tượng, điều
khiển và được ứng dụng trong nhiều lĩnh vực của bài toán phát hiện và nhận dạng.
Một mạng neuron nhân tạo bao gồm một tập các đơn vị xử lý cơ bản, gọi là
neuron, chúng truyền thông tin bằng cách gửi các tín hiệu cho nhau qua các kênh kết
nối có trọng số. Mỗi neuron thực hiện một công việc tương đối đơn giản: nhận tín
hiệu từ các neuron lân cận hoặc từ nguồn bên ngoài, tính toán tín hiệu ra rồi truyền
sang cho các neuron khác. Ngoài việc xử lý này, nhiệm vụ thứ hai của neuron là điều
chỉnh lại các trọng số. Hệ thống sẽ được thực hiện song song vì nhiều neuron có thể
thực hiện tính toán ở cùng thời điểm. Xuất phát trong hoàn cảnh đó tôi đã quyết định
lựa chọn đề tài: “Nhận dạng ảnh xác định đối tượng của ảnh khi sử dụng mạng
Neuron” là một việc làm không chỉ có ý nghĩa khoa học và còn mang đậm tính thực
tiễn nhất khi thực tế đang đặt ra những yêu cầu đòi hỏi.
- Mục tiêu nghiên cứu:
• Tìm hiểu bài toán phân loại dữ liệu nói chung và bài toán phân loại dữ ảnh trái
cây nói riêng.
• Nghiên cứu mô hình mạng neuron đa tầng, các thuật toán lan truyền tiến, lan
truyền ngược để sử dụng và huấn luyện mạng neuron.
14. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
4
• Nghiên cứu một số kiến trúc mạng neuron hiện đại giải quyết bài toán phân
loại dữ liệu ảnh
• Tiến hành xây dựng kiến trúc của mô hình, tiến hành thực nghiệm mô hình, và
đánh giá kết quả thực nghiệm của mô hình để giải quyết bài toán phân loại ảnh
trái cây
1.2 Giới thiệu trí tuệ nhân tạo và học máy
Trí tuệ nhân tạo là một hướng nghiên cứu của lĩnh vực Công nghệ thông tin
và Khoa học máy tính nhằm phát triển các hệ thống thông minh nhằm giải quyết các
bài toán trong thực tế giống như hoạt động của bộ não người. Trí tuệ nhân tạo được
bắt đầu nghiên cứu từ những năm 50 của thế kỷ 20 và trong khoảng 30 năm trở lại
đây đã được cộng đồng các nhà khoa học quan tâm mạnh mẽ. Rất nhiều các hội thảo
lớn về lĩnh vực này được tổ chức hàng năm trên thế giới. Các ứng dụng tiêu biểu của
trí tuệ nhân tạo vào đời sống xã hội bào gồm: người máy, robot, xử lý ngôn ngữ tự
nhiên, nhận dạng, phát hiện dị thường, an ninh quốc phòng, tin sinh học, khoa học vũ
trụ và trái đất,...
Trong khuôn khổ luận văn Thạc sỹ của mình, qua việc được trang bị các môn
học lỹ thuyết như thuật toán, xử lý ảnh, trí tuệ nhân tạo,... tôi đã lựa chọn đề tài Nghiên
cứu một số phương pháp cơ bản về nhận dạng và phát hiện một số loại trái cây thông
dụng trong ảnh màu. Chủ đề phân lớp dữ liệu là một nhánh quan trọng trong lĩnh vực
học máy (machine learning) của trí tuệ nhân tạo, có thể kể các ứng dụng của học máy
trong thực tế như người máy, robot, nhận dạng mặt người, nhận dạng tiếng nói và chữ
viết,...
15. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
5
+ Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu
• Nghiên cứu mạng neuron đa tầng và mạng neuron tích chập
• Nghiên cứu bài toán phân lớp ảnh trái cây
• Tìm hiểu xây dựng kiến trúc và thực nghiệm mô hình mạng neuron
tích chập để giải quyết bài toán phân lớp ảnh trái cây
- Phạm vi nghiên cứu
- Lý thuyết: Nghiên cứu lý thuyết về xử lý ảnh, Học máy, Deep Learning,
Mạng neuron tích chập.
- Thực nghiệm: Lập trình trên phần mềm Python cho chương trình phân
loại một số loại trái cây thông dụng trong ảnh.
+ Phương pháp nghiên cứu
- Thu thập, phân tích các tài liệu và thông tin liên quan đến đề tài từ đó đưa
ra cái nhìn tổng quan, các khó khăn gặp phải, các ràng buộc của bài toán...
- Tiến hành phân tích, xây dựng giải pháp phát hiện gồm có : Tiền xử lý,
trích chọn đặc trưng, huấn luyện mô hình dữ liệu, hậu xử lý.
- Xây dựng và kiểm thử việc đánh giá hiệu quả phương pháp mạng neuron
tích chập để phân loại đối tượng bằng ngôn ngữ Python.
+ Cấu trúc của luận văn
16. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
6
Cấu trúc của luận văn Nghiên cứu và ứng dụng mạng Neuron tích chập vào thực
nghiệm trên nhiều tầng khác nhau để tìm ra kết quả tốt nhất cho bài toán và
chương trình bao gồm những cấu trúc như sau:
Chương 1: Tổng quan về
Chương 2: Lý thuyết về Deep Learning và Mạng neuron tích chập.
Chương 3: Chương này sẽ đi sâu vào việc cài đặt ứng dụng cụ thể cho bài toán phát
hiện và phân loại một số loại trái cây thông dụng bằng phương pháp Deep Learning
trong mô hình mạng neuron tích chập.
Chương 4: Kết quả và hướng phát triển
Kết luận: Tóm tắt các vấn đề được tìm hiểu trong luận văn và các vấn đề liên quan
trong luận văn.
1.3 Tổng quan về xử lý ảnh số
1.3.1 Giới thiệu
Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng vai
trò quan trọng nhất. Những năm trở lại đây với sự phát triển của phần cứng máy tính,
xử lý ảnh và đồ hoạ đó phát triển một cách mạnh mẽ và có nhiều ứng dụng trong cuộc
sống. Xử lý ảnh và đồ hoạ đóng một vai trò quan trọng trong tương tác người và máy.
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho
ra kết quả mong muốn. Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh
“tốt hơn” hoặc một kết luận.
17. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
7
- Các bước cơ bản trong một hệ thống xử lý ảnh:
+ Khối thu nhận ảnh: có nhiệm vụ tiếp nhận ảnh đầu vào.
+ Khối tiền xử lý: có nhiệm vụ xử lý nâng cao chất lượng ảnh như giảm nhiễu,
phân vùng, tìm biên v.v..
+ Khối trich chọn đặc điểm: có nhiệm vụ trích chọn các đặc trưng quan trọng của
các bức ảnh đã được tiền xử lý để sử dụng trong hệ quyết định
+ Khối hậu xử lý: có nhiệm vụ xử lý các đặc điểm đã trích chọn, có thể lược bỏ
hoặc biến đổi các đặc điểm này để phù hợp với các kỹ thuật cụ thể sử dụng trong hệ
quyết định
+ Khối hệ quyết định và lưu trữ: có nhiệm vụ đưa ra quyết định (phân loại) dựa
trên dự liệu đã học lưu trong khối lưu trữ
+ Khối kết luận: đưa ra kết luận dựa vào quyết định của khối quyết định
1.3.2 Một số khái niệm cơ bản trong xử lý ảnh
+ Ảnh và điểm ảnh:
Điểm ảnh được xem như là dấu hiệu hay cường độ sáng tại một vị trí nào đó
của đối tượng trong không gian và ảnh được xem như là một tập hợp các
điểm ảnh.
+ Mức xám, màu:
Là số các giá trị có thể có của các điểm ảnh của ảnh
+ Nắn chỉnh biến dạng:
Ảnh thu nhận thường bị biến dạng do các thiết bị quang học và điện tử.
18. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
8
+ Khử nhiễu:
Có 2 loại nhiễu cơ bản trong quá trình thu nhận ảnh mà chúng ta cần loại bỏ:
Nhiễu hệ thống: là nhiễu có quy luật có thể khử bằng các phép biến đổi
Nhiễu ngẫu nhiên: vết bẩn không rõ nguyên nhân có thể khắc phục bằng các
phép lọc
+ Chỉnh số mức xám:
Chỉnh số mức xám là nhằm khắc phục tính không đồng đều của hệ thống xử
lý ảnh, thông thường có 2 hướng tiếp cận:
Giảm số mức xám: Thực hiện bằng cách nhóm các mức xám gần nhau thành
một bó. Trường hợp giảm xuống 2 mức xám thì chính là chuyển về ảnh đen trắng.
Tăng số mức xám: Thực hiện nội suy ra các mức xám trung gian bằng kỹ thuật nội
suy. Kỹ thuật này nhằm tăng cường độ mịn cho ảnh.
Phân tích ảnh: Là khâu quan trọng trong quá trình xử lý ảnh để tiến tới hiểu
ảnh. Trong phân tích ảnh việc trích chọn đặc điểm là một bước quan trọng. Các đặc
điểm của đối tượng được trích chọn tuỳ theo mục đích nhận dạng trong quá trình xử
lý ảnh. Có thể nêu ra một số đặc điểm của ảnh sau đây:
Đặc điểm không gian: Phân bố mức xám, phân bố xác suất, biên độ, điểm uốn v.v..
Đặc điểm biến đổi: Các đặc điểm loại này được trích chọn bằng việc thực hiện lọc
vùng (zonal filtering). Các bộ vùng được gọi là “mặt nạ đặc điểm” (feature mask)
thường là các khe hẹp với hình dạng khác nhau (chữ nhật, tam giác, cung tròn v.v..)
19. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
9
+ Nén ảnh:
Nén ảnh là kỹ thuật nhằm giảm thiểu không gian lưu trữ. Có hai hướng tiếp cận
chính là nén có bảo toàn và không bảo toàn thông tin. Nén không bảo toàn thì thường
có khả năng nén cao hơn nhưng không phục hồi được ảnh gốc, ngược lại nén có bảo
toàn cho phép khôi phục hoàn toàn ảnh gốc. Nén ảnh nói chung có 4 cách tiếp cận cơ
bản:
Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê tần xuất xuất hiện của giá
trị các điểm ảnh, trên cơ sở đó mà có chiến lược mã hóa thích hợp. Một ví dụ điển
hình cho kỹ thuật mã hóa này là *.TIF
Nén ảnh không gian: Kỹ thuật này dựa vào vị trí không gian của các điểm ảnh để tiến
hành mã hóa. Kỹ thuật lợi dụng sự giống nhau của các điểm ảnh trong các vùng gần
nhau. Ví dụ cho kỹ thuật này là mã nén *.PCX
Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo hướng nén không bảo
toàn và do vậy tỉ lệ nén tương đối cao. *.JPG chính là tiếp cận theo kỹ thuật nén này.
Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượng ảnh. Tính chất Fractal
của ảnh thể hiện sự lặp lại của các chi tiết tại nhiều vị trí khác nhau với kích thước và
hướng khác nhau. Kỹ thuật nén sẽ tính toán để chỉ cần lưu trữ phần gốc ảnh và quy
luật sinh ra ảnh theo nguyên lý Fractal.
20. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
10
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
2.1 Giới thiệu về Deep Learning
Deep Learning là một phương pháp của Học máy. Nó cho phép huấn luyện một
tập dữ liệu có thể dự đoán được các đầu ra dựa vào một tập các đầu vào. Cả hai phương
pháp có giám sát và không giám sát đều có thể sử dụng để huấn luyện. Sẽ huấn luyện
nó bằng phương pháp học có giám sát.
Nói rộng ra, deep learning là một tên gọi dễ hiểu hơn của mạng neuron nhân tạo.
Từ "deep" trong deep learning đề cập đến độ sâu của mạng lưới. Một mạng neuron
nhân tạo cũng có thể rất cạn. Mạng neuron được lấy cảm hứng từ cấu trúc của vỏ não.
Mức cơ bản được gọi là perceptron, biểu diễn toán học của một neural sinh học. Giống
như vỏ não, có thể có nhiều lớp perceptron kết nối với nhau.
Lớp đầu tiên là lớp input (đầu vào). Mỗi nút trong lớp này lấy một đầu vào, và
sau đó chuyển output (đầu ra) của nó làm đầu vào cho mỗi nút trong lớp tiếp theo.
Nói chung không có kết nối giữa các nút trong cùng một lớp và lớp cuối cùng tạo nên
kết quả đầu ra. gọi phần giữa là lớp ẩn. Những neuron này không có kết nối với bên
ngoài (ví dụ như đầu vào hoặc đầu ra) và chỉ được kích hoạt bởi các nút trong lớp
trước.
Điều mà nhiều người không nhận ra là tất cả các công nghệ này, về mặt bản
chất đều xuất phát từ cùng một nguồn gốc. Chúng được phát triển từ “deep learning”,
một nhánh đặc biệt trong trí tuệ nhân tạo (AI). Nhiều nhà khoa học vẫn thích gọi nó
theo tên nguyên gốc là deep neural network (mạng neuron sâu).
Trên thực tế, chẳng kỹ sư nào có thể lập trình cho máy tính thực hiện được
những tính năng đề cập ở trên. Thay vào đó, họ tạo ra một thuật toán giúp máy tính
21. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
11
có khả năng tự học rồi cho nó tiếp xúc với hàng terabyte các dữ liệu liên quan –
chẳng hạn như vài trăm ngàn bức ảnh các loại chó, hay những băng ghi giọng nói kéo
dài hàng năm trời.
Sự tiếp xúc liên tục này sẽ dần dần “huấn luyện” máy tính và khiến nó tự nhận
diện được những hình ảnh, giọng nói được yêu cầu. Cũng giống như cách một đứa
trẻ học hỏi về thế giới xung quanh, sau một thời gian dài được xem những hình ảnh
mặc định là chó hay nghe cách người ta phát âm từ gì đó, máy tính sẽ “nhìn” được
đâu là chó và “nghe” được người ta đang nói gì.
Người ta có thể tự hỏi tại sao việc học sâu chỉ mới được công nhận là một công
nghệ quan trọng mặc dù các thí nghiệm đầu tiên với mạng thần kinh nhân tạo được
tiến hành vào những năm 1950. Học tập sâu đã được sử dụng thành công trong các
ứng dụng thương mại từ những năm 1990, nhưng thường được coi là nghệ thuật hơn
là một công nghệ và thứ mà chỉ có một chuyên gia mới có thể sử dụng, cho đến gần
đây. Đúng là một số kỹ năng là cần thiết để có được hiệu suất tốt từ một thuật toán
học tập sâu. May mắn thay, số lượng kỹ năng cần thiết giảm khi lượng dữ liệu đào
tạo tăng lên. Các thuật toán học tập đạt được hiệu suất của con người trên các nhiệm
vụ phức tạp ngày, Ngày càng có nhiều hoạt động diễn ra trên máy tính, ngày càng
nhiều những tính toán được ghi lại. Khi các công nghệ ngày càng phát triển, việc tập
trung những bản ghi này và sắp xếp chúng trở nên dễ dàng hơn vào một tập dữ liệu
thích hợp cho các ứng dụng học máy. Và khi một thời điểm bùng nổ Dữ liệu lớn (Big
Data) đã khiến cho việc học máy trở nên dễ dàng hơn nhiều vì gánh nặng chính của
ước lượng thống kê - tổng quát hóa dữ liệu mới sau khi quan sát chỉ một lượng nhỏ
dữ liệu - đã được làm sáng tỏ một cách đáng kể, và nguyên tắc cơ bản là thuật toán
22. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
12
học được giám sát sẽ đạt được hiệu suất chấp nhận được với khoảng 5.000 ví dụ được
gắn nhãn cho mỗi danh mục và sẽ khớp hoặc vượt quá hiệu suất của con người khi
được đào tạo với tập dữ liệu chứa ít nhất 10 triệu ví dụ được gắn nhãn. Làm việc
thành công với các tập dữ liệu nhỏ hơn đây là một lĩnh vực nghiên cứu quan trọng,
tập trung đặc biệt vào cách có thể tận dụng số lượng lớn các ví dụ không dán nhãn,
với việc học không giám sát hoặc bán giám sát.
Deep Learning Là Gì?
Deep Learning là một thuật toán dựa trên một số ý tưởng từ não bộ tới việc tiếp
thu nhiều tầng biểu đạt, cả cụ thể lẫn trừu tượng, qua đó làm rõ nghĩa của các loại dữ
liệu.
Deep Learning được ứng dụng trong nhận diện hình ảnh, nhận diện giọng nói, xử lý
ngôn ngữ tự nhiên.
Điểm đặc biệt của Deep Learning là tính chính xác dựa vào lượng dữ liệu, lượng
dữ liệu có thể có kích thước khổng lồ mà không bị hạn chế.
Để hiểu được Deep Learning là gì, trước hết chúng ta cần phải hiểu được mối
quan hệ giữa Deep Learning và machine learning, mạng neuron, và trí tuệ nhân tạo.
Cách tốt nhất để hiểu về mối quan hệ này là mường tượng chúng thành những vòng
tròn đồng tâm:
23. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
13
Hình 2.1 Minh hoạ sơ đồ Deep Learning
https://blog.algorithmia.com/ai-why-deep-learning-matters
Ở vòng ngoài cùng, bạn có trí thông minh nhân tạo (sử dụng máy tính và lập
luận). Bên trong lớp này là machine learning. Với mạng neuron nhân tạo và deep
learning tại trung tâm. Nói rộng ra, deep learning là một tên gọi dễ hiểu hơn của
mạng neuron nhân tạo. Từ "deep" trong deep learning đề cập đến độ sâu của mạng
lưới. Một mạng neuron nhân tạo cũng có thể rất cạn.
Mạng neuron được lấy cảm hứng từ cấu trúc của vỏ não. Mức cơ bản được gọi
là perceptron, biểu diễn toán học của một neuron sinh học. Giống như vỏ não, có thể
có nhiều lớp perceptron kết nối với nhau.
Lớp đầu tiên là lớp input (đầu vào). Mỗi nút trong lớp này lấy một đầu vào, và
sau đó chuyển output (đầu ra) của nó làm đầu vào cho mỗi nút trong lớp tiếp theo.
Nói chung không có kết nối giữa các nút trong cùng một lớp và lớp cuối cùng tạo nên
kết quả đầu ra.
Chúng ta gọi phần giữa là lớp ẩn. Những neuron này không có kết nối với bên
ngoài (ví dụ như đầu vào hoặc đầu ra) và chỉ được kích hoạt bởi các nút trong lớp
trước.
24. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
14
Hình 2.2 Minh hoạ các lớp trong Deep Learning
https://github.com/rcassani/mlp-example
Deep learning là kỹ thuật học tập trong mạng neuron sử dụng nhiều lớp trừu
tượng để giải quyết các vấn đề nhận dạng khuôn mẫu. Machine learning được coi là
một nhánh hoặc phương pháp tiếp cận trí tuệ nhân tạo, trong khi deep learning là một
loại machine learning chuyên biệt.
Machine learning liên quan đến trí thông minh máy tính mà chưa biết câu trả
lời trước. Thay vào đó, chương trình sẽ đi ngược lại dữ liệu bài giảng (training data),
xác minh sự thành công của những nỗ lực đó, và sửa đổi phương pháp tiếp cận sao
cho phù hợp.
Machine learning điển hình yêu cầu một nền tảng kiến thức chuyên nghiệp, bao
gồm công nghệ phần mềm và khoa học máy tính đến các phương pháp thống kê và
đại số tuyến tính.
2.2 Một số ứng dụng của Deep Learning
Máy tính từ lâu đã có các kỹ thuật để nhận ra các đặc điểm bên trong của hình
25. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
15
ảnh. Kết quả không phải lúc nào cũng tuyệt vời. Thị giác máy tính (computer vision)
là lợi ích chính của deep learning. Thị giác máy tính sử dụng deep learning hiện nay
đã ngang ngửa với con người trong nhiều nhiệm vụ nhận dạng hình ảnh.
Facebook đã thành công lớn trong việc nhận dạng khuôn mặt trong các bức ảnh
bằng cách sử dụng deep learning. Nó không chỉ là một cải tiến nhỏ nhặt, mà là một
sự thay đổi xu hướng: "Khi được hỏi liệu hai bức ảnh lạ mặt trên là cùng một người,
thì con người sẽ mất 97.53% thời gian. Phần mềm mới được phát triển bởi các nhà
nghiên cứu tại Facebook có thể đạt được 97,25% trong cùng một thử thách, bất kể sự
thay đổi ánh sáng nào hay liệu người trong ảnh có trực tiếp đối mặt với camera hay
không."
Nhận dạng giọng nói là một lĩnh vực khác chịu ảnh hưởng sâu sắc của deep
learning. Ngôn ngữ nói chuyện thực sự quá rộng và mơ hồ. Google đang sử dụng
deep learning để quản lý năng lượng tại trung tâm dữ liệu của công ty. Họ đã cắt giảm
nhu cầu năng lượng làm mát khoảng 40%. Điều đó làm tăng thêm 15% hiệu suất sử
dụng điện cho công ty và hàng trăm triệu đô la tiền tiết kiệm.
Illustration Tagger. Phiên bản thực của Illustration2Vec, ứng dụng này có thể gắn
thẻ một hình ảnh có đánh giá an toàn, có vấn đề hoặc rõ ràng, bản quyền, và phân loại
chung để biết được nhiều thứ hơn về hình ảnh. DeepFilter là một ứng dụng chuyển
đổi phong cách giúp áp dụng bộ lọc nghệ thuật cho hình ảnh.
Ứng dụng phân loại độ tuổi (age classification) sử dụng tính năng nhận diện khuôn
mặt để xác định độ tuổi của người trong bức ảnh. Places365 Classifier sử dụng dữ
liệu CNN có sẵn và dựa trên Places: An Image Database for Deep Scene
26. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
16
Understanding B. Zhou, et al., 2016 để xác định vị trí cụ thể trong các hình ảnh, chẳng
hạn như sân, hiệu thuốc, phòng khách sạn, sông băng, núi, etc. Cuối cùng,
InceptionNet, một phiên bản thực của Google's InceptionNet sử dụng TensorFlow.
Phải cần một hình ảnh (như một chiếc xe hơi) và cho ra 5 mô hình dự đoán tốt nhất
có liên quan đến hình ảnh.
Một Số Dự Án Deep Learning Công Khai
Các deep learning được tiếp cận bởi một số dự án được mở công khai. Một số
công nghệ phổ biến nhất bao gồm, nhưng không giới hạn ở đó, Deeplearning4j
(DL4j), Theano, Torch, TensorFlow và Caffe. Các yếu tố quyết định để sử dụng dựa
vào mục tiêu được nhắm tới, liệu chúng có ở cấp thấp, thông dụng hoặc là ứng dụng
tập trung không. Dưới đây là tổng quan về mỗi loại:
DL4J:
Dựa trên JVM
Distrubted
Tích hợp với Hadoop và Spark
Theano:
Rất phổ biến trong Academia
Mức độ tương đối thấp
Tương tác với Python và Numpy
Torch:
Dựa trên Lua
Phiên bản trong nhà được sử dụng bởi Facebook và Twitter
Bao gồm các mô hình được đào tạo
27. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
17
TensorFlow:
Phiên bản tiếp theo của Google sau Theano
Tương tác với Python và Numpy
Khá phổ biến
Có thể hơi chậm đối với một số loại vấn đề nhất định
Caffe:
Không dùng cho mục đích chung. Tập trung vào các vấn đề về thị giác máy
tính
Hoạt động trong C++ và rất nhanh
Có một giao diện Python
2.3 Giới thiệu Mạng Neuron
Mạng Neuron nhân tạo (Artificial Neural Network- ANN) là mô hình xử lý thông
tin được mô phỏng dựa trên 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 Neuron được gắn kết để xử lý thông tin. ANN giống như bộ não con
người, đượ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 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 (unseen data).
Kết hợp chặt chẽ với logic mờ, mạng neuron nhân tạo đã tạo nên cuộc cách mạng
thực sự trong việc thông minh hóa và vạn năng hóa các bộ điều khiển kỹ thuật cao
cho cả hiện nay và trong tương lai. Ví dụ như ứng dụng tự động điều khiển hệ thống
lái tàu, hệ thống dự báo sự cố,…
Mạng neuron dựa trên việc mô phỏng cấp thấp hệ thống neuron sinh học. Trong
tương lai với sự phát triển mô phỏng neuron sinh học, chúng ta có thể có loại máy
tính thông minh thật sự.
28. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
18
Các ứng dụng của mạng Neuron được sử dụng trong rất nhiều lĩnh vực như điện,
điện tử, kinh tế, quân sự,… để giải quyết các bài toán có độ phức tạp và đòi hỏi có độ
chính xác cao như điều khiển tự động, khai phá dữ liệu, nhận dạng,…
Kiến trúc chung của một mạng neuron nhân tạo gồm 3 thành phần đó là: Input
Layer, Hidden Layer và Output Layer (Xem Hình).
Hình 2.3 Kiến trúc tổng quát của một ANN
Trong đó, lớp ẩn (Hidden Layer) gồm các Neuron nhận dữ liệu input từ các
Neuron ở lớp (Layer) trước đó và chuyển đổi các input này cho các lớp xử lý tiếp
theo. Trong một ANN có thể có nhiều lớp ẩn.
Trong đó các Processing Elements (PE) của ANN gọi là Neuron, mỗi Neuron nhận
các dữ liệu vào (Inputs) xử lý chúng và cho ra một kết quả (Output) duy nhất. Kết
quả xử lý của một Neuron có thể làm Input cho các Neuron khác.
2.4 Mạng Neuron tích chập
Để máy tính xử lí được các dạng dữ liệu tự nhiên (âm thanh, hình ảnh, cảm giác...)
cần phải có một kiến trúc đặc biệt giống như cấu trúc của hệ thần kinh. Với khả năng
xử lí tuần tự của máy PC hiện nay cho dù có tốc độ rất cao cũng không thể xử lí kịp
thời và không đáp ứng được trong các tác vụ điều khiển. Do vậy, muốn có một hệ xử
29. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
19
lí nhanh, đa luồng cần có một hệ xử lí song song đồng thời của nhiều chíp xử lí như
hệ thần kinh của cơ thể sống.
Công nghệ mạng neuron tế bào CNN (Cenllular Neural Networks) đã được các
nhà khoa học Mỹ và Hungary phát minh ra vào năm 1988 có tốc độ xử lí của một tế
bào là 1012 phép tính/giây, cả hệ có khoảng 16 000 CPU xử lí đồng thời. Đây là bước
đột phá về cấu trúc của CNN là các CPU song song được kết nối thành mạng tích hợp
trong một chip.
2.4.1 Định nghĩa mạng Neuron tích chập
Những năm gần đây, ta đã chứng kiến được nhiều thành tựu vượt bậc trong ngành
Thị giác máy tính (Computer Vision). Các hệ thống xử lý ảnh lớn nhỏ Facebook,
Google hay Amazon đã đưa vào sản phẩm của mình những chức năng thông minh như
nhận diện khuôn mặt người dùng, phát triển xe hơi tự lái hay drone giao hàng tự động.
Convolutional Neural Network (CNNs – Mạng neuron tích chập) là một trong
những mô hình Deep Learning tiên tiến giúp cho chúng ta xây dựng được những hệ
thống thông minh với độ chính xác cao như hiện nay. Trong luận văn này, sẽ trình
bày về Convolution (tích chập) cũng như ý tưởng của mô hình CNNs trong phân lớp
đối tượng để phát hiện và nhận dạng trái cây trong ảnh màu.
2.4.2 Convolution (tích chập)
Tích chập được sử dụng đầu tiên trong xử lý tín hiệu số ( Signal processing).
Nhờ vào nguyên lý biến đổi thông tin, các nhà khoa học đã áp dụng kĩ thuật này vào
xử lý ảnh và video số.
30. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
20
Để dễ hình dung, có thể xem tích chập như một cửa sổ trượt (sliding window)
áp đặt lên một ma trận. Có thể theo dõi cơ chế của tích chập qua hình minh hoạ bên
dưới
Hình 2.4 Mô hình tích chập
https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/content/convolution.html
Ma trận bên trái là một bức ảnh đen trắng. Mỗi giá trị của ma trận tương đương
với một điểm ảnh (pixel), 0 là màu đen, 1 là màu trắng (nếu là ảnh grayscale thì giá
trị biến thiên từ 0 đến 255).
Sliding window còn có tên gọi là kernel, filter hay feature detector. Ở đây, dùng
một ma trận filter 3×3 nhân từng thành phần tương ứng (element-wise) với ma trận
ảnh bên trái. Giá trị đầu ra do tích của các thành phần này cộng lại. Kết quả của tích
chập là một ma trận (convoled feature) sinh ra từ việc trượt ma trận filter và thực hiện
tích chập cùng lúc lên toàn bộ ma trận ảnh bên trái.
2.4.3 Mô hình mạng nơ-ron tích chập
Bây giờ, đã biết thế nào là convolution. Vậy CNNs là gì? CNNs chỉ đơn giản
gồm một vài layer của convolution kết hợp với các hàm kích hoạt phi tuyến (nonlinear
31. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
21
activation function) như ReLU hay tanh để tạo ra thông tin trừu tượng hơn
(abstract/higher-level) cho các leyer tiếp theo.
Trong mô hình Feedforward Neural Network ( mạng nơ-ron truyền thẳng), các
layer kết nối trực tiếp với nhau thông qua một trọng số w (weighted vector). Các leyer
này còn được gọi là kết nối đầy đủ (fully connected layer) hay affine layer.
Trong mô hình CNNs thì ngược lại. Các layer liên kết được với nhau thông qua
cơ chế convolution. Layer tiếp theo là kết quả convolution từ layer trước đó, nhờ vậy
mà có được các kết nối cục bộ. Nghĩa là mỗi neuron ở layer tiếp theo sinh ra từ Filter
áp đặt tên lên một vùng ảnh cục bộ của neuron layer trước đó.
Mỗi layer như vậy được áp đặt các Filter khác nhau, thông thường có vào trăm
đến vài nghìn filter như vậy. Một số layer khác như pooling/subsampling layer dùng
để chắt lọc lại các thông tin hữu ích hơn (loại bỏ các thông tin nhiễu). Tuy nhiên, sẽ
không đi sâu vào khái niệm của các layer này.
Trong suốt quá trình huấn luyện, CNNs sẽ tự động học được các thông số cho
các filter. Ví dụ trong tác vụ phân lớp ảnh, CNNs sẽ cố gắng tìm ra thông số tối ưu
cho các filter tương ứng theo thứ tự raw pixel > edges > shapes > facial > high-level
features. Layer cuối cùng được dùng để phân lớp ảnh.
32. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
22
Hình 2.5 Mô hình mạng neuron tích chập
https://www.kdnuggets.com/2016/11/intuitive-explanation-convolutional-neural-
networks.html/3
CNNs có tính bất biến và tính kết hợp cục bộ (Location Invariance and
Compositionality). Với cùng một đối tượng, nếu đối tượng này được chiếu theo các
gốc độ khác nhau (translation, rotation, scaling) thì độ chính xác của thuật toán sẽ bị
ảnh hưởng đáng kể. Pooling layer sẽ cho bạn tính bất biến đối với phép dịch chuyển
(translation), phép quay (rotation) và phép co giãn (scaling).
Tính kết hợp cục bộ cho ta các cấp độ biểu diễn thông tin từ mức độ thấp đến
mức độ cao và trừu tượng hơn thông qua convolution từ các filter. Đó là lý do tại sao
CNNs cho ra mô hình với độ chính xác rất cao. Cũng giống như cách con người nhận
biết các vật thể trong tự nhiên. Phân biệt được một con chó với một con mèo nhờ vào
các đặc trưng từ mức độ thấp (có 4 chân, có đuôi) đến mức độ cao (dáng đi, hình thể,
màu lông).
2.4.4 Xây dựng mạng Nơ-ron tích chập
Phần này sẽ giới thiệu một trong những mạng sâu được sử dụng rộng rãi đó là
mạng tích chập sâu (deep convolutional networks). Bài toán sẽ làm việc cụ thể với
33. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
23
mạng tích chập để giải quyết bài toán phân loại trái cây trên ảnh màu. Sẽ bắt đầu
mạng tích chập với việc sử dụng mạng truyền thống để giải quyết bài toán này trong
phần trước. Mặc dù nhiều phép toán lặp nhưng sẽ xây dựng mạng hiệu quả hơn. Luận
văn này sẽ khám phá ra rất nhiều kĩ thuật hiệu quả: Tích chập (convolution), giảm số
chiều (pooling), sử dụng GPUs để huấn luyện được nhiều dữ liệu hơn đã thực hiện
trên mạng cũ, mở rộng giải thuật huấn luyện dữ liệu (để giảm quá khớp – overfitting),
sử dụng kĩ thuật dropout để giảm overfitting, việc sử dụng tổng hợp các mạng và các
kĩ thuật khác. Kết quả là hệ thống làm việc gần như con người. Trong số 10.000 bức
ảnh huấn luyện, hệ thống sẽ phân loại đúng 9.967 bức ảnh.
Phần còn lại của chương sẽ thảo luận về học sâu dưới góc độ tổng quan và chi
tiết. Bài toán sẽ tìm hiểu làm thế nào để các mô hình mạng neuron tích chập có thể
ứng dụng để giải quyết các kỹ thuật phân loại trái cây trên ảnh màu, luận văn sẽ
nghiên cứu về mạng neuron trong tương lai và học sâu (deep learning), từ các ý tưởng
như giao diện người sử dụng hướng đích đến vai trò của học sâu trong trí tuệ nhân
tạo.
Phần này xây dựng dựa trên các phần trước sử dụng các ý tưởng như: lan truyền
ngược (backpropagation), regularization, hàm softmax....
34. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
24
Hình 2.6 Mô hình mạng perceptron đa tầng
http://neuralnetworksanddeeplearning.com/chap5.html
Đặc biệt, đối với mỗi điểm ảnh trong ảnh đầu vào, sẽ được mã hóa cường độ của
điểm ảnh là giá trị của neuron tương ứng trong tầng đầu vào. Đối với bức ảnh kích
thước 28x28 điểm ảnh đang sử dụng, mạng có 784 (28x28) neuron đầu vào. Sau đó
huấn luyện trọng số (weight) và độ lệch (bias) để đầu ra của mạng như mong đợi là
xác định chính xác ảnh các chữ số „0‟, „1‟, „2‟,....,‟8‟ hay „9‟.
Mạng neuron trước đây làm việc khá tốt: đã đạt được độ chính xác trên 98%, sử
dụng tập dữ liệu huấn luyện và kiểm thử từ tập dữ liệu ≈ lợi thế của các cấu trúc
không gian? Trong phần này, luận văn mô tả mạng neuron tích chập.
Những mạng này sử dụng một kiến trúc đặc biệt phù hợp cho bài toán phân loại
ảnh. Sử dụng kiến trúc này làm cho mạng tích chập huấn luyện nhanh hơn. Kết quả
là giúp huấn luyện sâu, mạng nhiều tầng, rất phù hợp cho phân loại ảnh. Ngày nay,
mạng tích chập sâu hoặc một số biến thể của nó được sử dụng trong các mạng neuron
để nhận dạng ảnh.
35. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
25
Mạng tích chập sử dụng 3 ý tưởng cơ bản: các trường tiếp nhận cục bộ (local receptive
field), trọng số chia sẻ (shared weights) và tổng hợp (pooling).
Trường tiếp nhận cục bộ (Local receptive fields): Trong các tầng kết nối đầy đủ
được chỉ ra trước đây, đầu vào đã được mô tả là một đường thẳng đứng chứa các
neuron. Trong mạng tích chập, sẽ thay thế các đầu vào là 28 × 28 neuron, giá trị tương
ứng với 28 x28 cường độ điểm ảnh mà bài toán sử dụng:
Hình 2.7 Mô tả các neuron đầu vào
Như thường lệ mô hình sẽ kết nối các điểm ảnh đầu vào cho các neuron ở tầng
ẩn. Nhưng sẽ không kết nối mỗi điểm ảnh đầu vào cho mỗi neuron ẩn. Thay vào đó,
chỉ kết nối trong phạm vi nhỏ, các vùng cục bộ của bức ảnh.
Để được chính xác hơn, mỗi neuron trong lớp ẩn đầu tiên sẽ được kết nối với
một vùng nhỏ của các neuron đầu vào, ví dụ, một vùng 5 × 5, tương ứng với 25 điểm
ảnh đầu vào. Vì vậy, đối với một neuron ẩn cụ thể, có thể có các kết nối như sau:
36. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
26
Hình 2.8 Mô hình neuron cục bộ
Vùng đó trong bức ảnh đầu vào được gọi là vùng tiếp nhận cục bộ cho
neuron ẩn. Đó là một cửa sổ nhỏ trên các điểm ảnh đầu vào. Mỗi kết nối sẽ học một
trọng số. Và neuron ẩn cũng sẽ học một độ lệch (overall bias), có thể hiểu rằng neuron
lớp ẩn cụ thể là học để phân tích trường tiếp nhận cục bộ cụ thể của nó.
Sau đó trượt trường tiếp nhận cục bộ trên toàn bộ bức ảnh. Đối với mỗi trường
tiếp nhận cục bộ, có một neuron ẩn khác trong tầng ẩn đầu tiên . Để minh họa điều
này một cách cụ thể, hãy bắt đầu với một trường tiếp nhận cục bộ ở góc trên bên trái:
Hình 2.9 Mô hình neuron cục bộ
Sau đó, trượt trường tiếp nhận cục bộ trên bởi một điểm ảnh bên phải (tức là bằng
một neuron), để kết nối với một neuron ẩn thứ hai:
37. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
27
Hình 2.10 Mô hình neuron cục bộ
Và như vậy, việc xây dựng các lớp ẩn đầu tiên. Lưu ý rằng nếu có một ảnh đầu vào
28 × 28 và 5 × 5 trường tiếp nhận cục bộ thì ta sẽ có 24 × 24 neuron trong lớp ẩn.
Có được điều này là do chỉ có thể di chuyển các trường tiếp nhận cục bộ ngang qua
23 neuron (hoặc xuống dưới 23 neuron), trước khi chạm với phía bên phải (hoặc
dưới) của ảnh đầu vào.
Như vậy, việc xây dựng các lớp ẩn đầu tiên. Lưu ý rằng nếu có một ảnh đầu vào 28
× 28 và 5 × 5 trường tiếp nhận cục bộ, sau đó sẽ có 24 × 24 neuron trong lớp ẩn. Điều
này là bởi vì chỉ có thể di chuyển các trường tiếp nhận cục bộ 23 neuron ngang qua
(hoặc 23 neuron xuống), trước khi chạm với phía bên phải (hoặc dưới) của ảnh đầu
vào.
Trọng số và độ lệch (Shared weights and biases) : Mỗi một neuron ẩn có một độ
lệch (bias) và 5 × 5 trọng số liên kết với trường tiếp nhận cục bộ. Những gì chưa đề
cập đến là sẽ sử dụng các trọng số và độ lệch tương tự cho mỗi neuron ẩn 24 × 24.
Nói cách khác, đối với những neuron ẩn thứ j, k, đầu ra là:
38. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
28
Hình 2.11 Công thức xây dựng lớp tính Neuron
Ở đây, là hàm kích hoạt neuron, có lẽ là hàm sigmoid ta sử dụng trong các chương
trước, b là giá trị chung cho độ lệch. M(wl), m là một mảng 5x5 của trọng số chia sẻ,
cuối cùng, sử dụng axy biểu thị giá trị kích hoạt vào tại vị trí x,y.
Do đó, chưa xác định chính xác khái niệm về đặc trưng, có thể nghĩ rằng của đặc
trưng là loại mẫu đầu vào mà làm cho neuron hoạt động: ví dụ, nó có thể là biên của
ảnh hoặc có thể là một dạng hình khối khác, ngay tại các vị trí khác nhau của ảnh đầu
vào. Tại sao điều này lại có lí, giả sử rằng các trọng số và độ lệch mà các neuron ẩn
chọn ra, một biên thẳng đứng (vertical edge) trong trường tiếp nhận cục bộ. Khả năng
đó rất hữu ích ở các vị trí khác nhau trong bức ảnh. Do đó, nó là hữu ích để áp dụng
phát hiện các đặc trưng giống nhau trong ảnh. Để đặt nó trong thuật ngữ trừu tượng
hơn một chút, mạng chập được thích nghi với bất biến dịch (translation invariance)
của các ảnh: di chuyển ảnh của một con mèo một ít, và nó vẫn là một hình ảnh của
một con mèo.
Đôi khi gọi các bản đồ từ các lớp đầu vào cho lớp ẩn là bản đồ đặc trưng (feature
map), gọi các trọng số xác định các bản đồ đặc trưng là trọng số chia sẻ (shared
weights), gọi độ lệch xác định bản đồ đặc trưng là độ lệch chia sẻ (shared bias). Các
trọng số được chia sẻ và độ lệch thường được gọi là hạt nhân (kernel) hay bộ lọc
(filter).
39. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
29
Cấu trúc mạng đã vừa mô tả có thể phát hiện một bản đồ đặc trưng . Để phát
hiện và nhận dạng ảnh thì cần nhiều hơn một bản đồ đặc trưng và một lớp tích chập
hoàn chỉnh bao gồm vài bản đồ đặc trưng:
Hình 2.12 Minh hoạ đặc trưng cấu trúc neuron
Trong ví dụ, có 3 bản đồ đặc trưng. Mỗi bản đồ đặc trưng được xác định bởi một
tập 5 × 5 trọng số chia sẻ, và một độ lệch chia sẻ duy nhất. Kết quả là các mạng có
thể phát hiện 3 loại đặc trưng khác nhau, với mỗi đặc trưng được phát hiện trên toàn
bộ ảnh, đã chỉ ra 3 bản đồ đặc trưng, để làm cho cho sơ đồ ở trên đơn giản. Tuy
nhiên, trong thực tế mạng chập có thể sử dụng nhiều bản đồ đặc trưng hơn. Một
trong những mạng chập đầu tiên là LeNet-5, sử dụng 6 bản đồ đặc trưng, mỗi bản
đồ được liên kết đến một trường tiếp nhận cục bộ 5 × 5. Vì vậy, các ví dụ minh họa
ở trên là thực sự khá gần LeNet-5. Trong ví dụ phát triển sau này của chương này sẽ
sử dụng lớp tích chập với 20 và 40 bản đồ đặc trưng. hãy xem qua một số bản đồ
đặc trưng đã được học.
40. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
30
Hình 2.13 Bản đồ đặc trưng
Trên đây là 20 ảnh tương ứng với 20 bản đồ đặc trưng khác nhau (hay còn gọi là bộ
lọc, hay là nhân). Mỗi bản đồ được thể hiện là một hình khối kích thước 5 × 5,
tương ứng với 5 × 5 trọng số trong trường tiếp nhận cục bộ. Khối trắng có nghĩa là
một trọng số nhỏ hơn, vì vậy các bản đồ đặc trưng đáp ứng ít hơn để tương ứng với
điểm ảnh đầu vào. Khối sẫm màu hơn có nghĩa là trọng số lớn hơn, do đó, các bản
đồ đặc trưng đáp ứng nhiều hơn với các điểm ảnh đầu vào tương ứng. Những hình
ảnh trên cho thấy các kiểu đặc trưng mà lớp tích chập đáp ứng.
Một ưu điểm quan trọng của trọng số và độ lệch chia sẻ là nó làm giảm đáng
kể số lượng các tham số liên quan đến một mạng tích chập. Đối với mỗi bản đồ đặc
trưng
cần 25 = 5 × 5 trọng số chia sẻ và một độ lệch chia sẻ duy nhất. Vì vậy, mỗi bản đồ
đực trưng cần 26 tham số. Nếu có 20 bản đồ đặc trưng thì cần 20 x 26 = 520 tham số
để xác định lớp tích chập. Bây giờ hãy làm phép so sánh, giả sử chúng ta có lớp đầu
tiên kết nối đầy đủ, tức là có 784 = 28 × 28.784 = 28 × 28 neuron đầu vào, và số
neuron lớp ẩn khiêm tốn là 30. Như vậy cần 784 × 30 trọng số, cộng thêm 30 sai lệch
41. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
31
(bias), tổng số 23,550 tham số (parameter). Nói cách khác, lớp kết nối đầy đủ (fully
– connected layer) sẽ cần số lượng tham số nhiều gấp 40 lần so với lớp tích chập
(convolutional layer).
Tất nhiên, không thể thực sự làm một so sánh trực tiếp giữa số lượng các tham
số, bởi vì hai mô hình này khác nhau. Nhưng về trực giác dường như việc sử dụng
bất biến dịch của các lớp tích chập sẽ giảm số lượng các tham số cần thiết mà vẫn đạt
được hiệu quả giống như các mô hình kết nối đầy đủ. Mô hình mạng tích chập sẽ cho
kết quả huấn luyện nhanh hơn giúp xây dựng mạng sâu hơn sử dụng các lớp tích
chập. Cái tên “convolutional” xuất phát là các hoạt động trong phương trình đôi khi
được biết đến như convolution. Chính xác hơn một chút, đôi khi viết phương trình
như: a1 = σ (b + w * a0), trong đó a1 là tập kích hoạt đầu ra từ một bản đồ đặc trưng,
a0 là tập hợp các kích hoạt đầu vào, và * được gọi là phép toán chập.
Lớp chứa hay lớp tổng hợp (Pooling layer): Ngoài các lớp tích chập vừa mô tả,
mạng neuron tích chập cũng chứa các lớp pooling. Lớp pooling thường được sử dụng
ngay sau lớp tích chập. Những gì các lớp pooling làm là đơn giản hóa các thông tin ở
đầu ra từ các lớp tích chập.
Ví dụ, mỗi đơn vị trong lớp pooling có thể thu gọn một vùng 2 × 2 neuron trong lớp
trước. Một thủ tục pooling phổ biến là max-pooling. Trong max- pooling, một đơn vị
pooling chỉ đơn giản là kết quả đầu ra kích hoạt giá trị lớn nhất trong vùng đầu vào 2
× 2, như minh họa trong sơ đồ sau:
42. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
32
Hình 2.14 Sơ đồ phân lớp
Bởi vì có 24 × 24 neuron đầu ra từ các lớp tích chập, sau khi pooling có 12 × 12
neuron. Như đã đề cập ở trên, lớp tích chập thường có nhiều hơn một bản đồ đặc
trưng, áp dụng max-pooling cho mỗi bản đồ đặc trưng riêng biệt. Vì vậy, nếu có ba
bản đồ đặc trưng, các lớp tích chập và max-pooling sẽ kết hợp như sau:
có thể hiểu max-pooling như là một cách cho mạng để hỏi xem một đặc trưng nhất
được tìm thấy ở bất cứ đâu trong một khu vực của ảnh. Sau đó nó bỏ đi những thông
tin định vị chính xác. Trực giác là một khi một đặc trưng đã được tìm thấy, vị trí chính
xác của nó là không quan trọng như vị trí thô của nó so với các đặc trưng khác. Một
Hình 2.15 Sơ đồ phân lớp
43. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
33
lợi ích lớn là có rất nhiều tính năng gộp ít hơn (fewer pooled features), điều này sẽ
giúp giảm số lượng các tham số cần thiết trong các lớp sau.
Max-pooling không phải là kỹ thuật duy nhất được sử dụng để pooling. Một
phương pháp phổ biến khác được gọi là L2 pooling. Ở đây, thay vì lấy giá trị kích
hoạt tối đa (maximum activation) của một vùng 2 × 2 neuron, chúng ta lấy căn bậc
hai của tổng các bình phương của kích hoạt trong vùng 2 × 2. Trong khi các chi tiết
thì khác nhau, nhưng về một khía cạnh khác thì tương tự như max-pooling: L2
pooling là một cách để cô đọng thông tin từ các lớp tích chập. Trong thực tế, cả hai
kỹ thuật đã được sử dụng rộng rãi, đôi khi người ta sử dụng các loại pooling khác.
Đặt tất cả chúng lại với nhau (Putting it all together): Bây giờ có thể đặt tất cả
những ý tưởng lại với nhau để tạo thành một mạng tích chập hoàn chỉnh. Nó tương
tự như kiến trúc nhìn vào, nhưng có thêm một lớp 10 neuron đầu ra, tương ứng với
10 giá trị có thể cho các số MNIST ( '0', '1', '2', v.v...):
Hình 2.16 Sơ đồ phân lớp
Mạng bắt đầu với 28 × 28 neuron đầu vào, được sử dụng để mã hóa các cường
độ điểm ảnh cho ảnh MNIST. Sau đó là một lớp tích chập sử dụng 5 × 5 trường tiếp
nhận cục bộ và 3 bản đồ đặc trưng. Kết quả là một lớp 3 × 24 × 24 neuron lớp ẩn.
44. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
34
Bước tiếp theo là một lớp max-pooling, áp dụng cho 2 × 2 vùng qua 3 bản đồ đặc
trưng (feauture maps). Kết quả là một lớp 3 × 12 × 12 neuron đặc trưng ở tầng ẩn.
Lớp cuối cùng của các kết nối trong mạng là một lớp đầy đủ kết nối. Đó là, lớp
này nối mọi neuron từ lớp max-pooled tới mọi neuron của tầng ra. Kiến trúc kết nối
đầy đủ này cũng giống như mô hình sử dụng trong các chương trước.
Kiến trúc tích chập này hoàn toàn khác với các kiến trúc được sử dụng trong
các chương trước. Nhưng về tổng thể thì tương tự: mạng cấu tạo từ nhiều đơn vị đơn
giản, hành vi của nó được xác định bởi trọng số và độ lệch. Và mục tiêu tổng thể là
vẫn như nhau: sử dụng dữ liệu huấn luyện để huấn luyện trọng số và độ lệch của
mạng vì vậy mạng hiện tốt việc phân loại các chữ số đầu vào.
Đặc biệt, như phần đầu đã trình bày, sẽ huấn luyện mạng sử dụng gradient
descent ngẫu nhiên và lan truyền ngược. Tuy nhiên, cần thay đổi thủ tục lan truyền
ngược (backpropagation). Lý do là công thức của lan truyền ngược là cho các mạng
với các tầng kết nối đầy đủ, nó đơn giản để thay đổi công thức lan truyền ngược cho
các lớp tích chập và các lớp max- pooling
2.5 Một số kiến trúc convolutional neural network thông dụng
2.5.1 Kiến trúc AlexNet [17]
Hình 2.17 Kiến trúc AlexNet
https://www.researchgate.net/figure/AlexNet-CNN-architecture-layers_fig1_318168077
45. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
35
Kiến trúc AlexNet do Alex Krizhevsky phát triển vào năm 2012 để khi tham gia
cuộc thi ImageNet. Mô hình này đã đạt giải nhất trong cuộc thi 2012 ImageNet.
Mô hình gồm 5 tầng convolitional và 3 tầng fully connected với các tham số như
trong hình vẽ trên.
Số lượng tham số: 60 triệu tham số
2.5.2 Kiến trúc VGG 16 [17]
Hình 2.18 Kiến trúc VGG 16
https://www.quora.com/What-is-the-VGG-neural-network
Kiến trúc VGG 16 do Simonyan và Zissermanphát triển vào năm 2014 để khi tham
gia cuộc thi ILSVRC 2014. Mô hình này đã đạt giải nhì trong cuộc thi ILSVRC
2014.
Mô hình gồm tổng cộng 16 tầng, trong đó có 13 tầng convolitional và 3 tầng fully
connected với các tham số như trong hình vẽ trên.
Số lượng tham số: 138 triệu tham số
2.5.3 Kiến trúc Inception/GoogleNet [18]
46. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
36
Hình 2.19 Kiến trúc Inception
https://medium.com/coinmonks/paper-review-of-googlenet-inception-v1-winner-of-ilsvlc-
2014-image-classification-c2b3565a64e7
Kiến trúc Inception do Google phát triển và đã chiến thắng trong cuộc thi ILSVRC
2014.
Mô hình gồm 22 tầng convolitional và không có tầng fully connected. Trong mô
hình Inception, các tác giả đã đưa ra module đặt tên là Inception. Inception gồm các
phép toan filter được thực hiện song song trên input của tầng trước đó. Mỗi
inception gồm có 3 convolutional có kích thước (1x1, 3x3, 5x5) và 1 tầng max
pooling kích thước 3x3.
Hình 2.20 Inception
https://medium.com/coinmonks/paper-review-of-googlenet-inception-v1-winner-of-ilsvlc-
2014-image-classification-c2b3565a64e7
Số lượng tham số: 5 triệu tham số
47. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
37
CHƯƠNG 3. PHÂN LOẠI ẢNH TRÁI CÂY
3.1 Phát biểu bài toán
Phân lớp các đối tượng trong ảnh là bài toán quan trọng trong thị giác máy tính,
đây là giai đoạn quan trọng trong việc hiểu các đối tượng trong ảnh. Tuy nhiên, cho
tới thời điểm này, mặc dù đã có nhiều giải pháp hiệu quả giải quyết bài toán phân lớp
trên từng loại cơ sở dữ liệu ảnh cụ thể, bài toán phân lớp ảnh nói chung vẫn còn là
bài toán thách thức.
Trong luận văn này sẽ tìm hiểu bài toán phân lớp ảnh trái cây màu. Đầu vào của
bài toán là ảnh màu của trái cây có kích thước 100 × 100. Đầu ra của bài toán là mã
số màu của ảnh trái cây. Có tất cả 60 loại trái cây.
Ví dụ 1: Một số ảnh quả táo cần nhận dạng
Hình 3.1 Hình dạng khác nhau của cùng một loại táo
Ví dụ 2: Một số ảnh quả Nho cần nhận dạng
Hình 3.2 Hình dạng quả nho
48. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
38
Chúng ta có thể mô hình lại bài toán như sau
Input: đầu vào của bài toán là một ảnh: 𝑥 ∈ ℝ100×100×3
Output: đầu ra của bài toán là nhãn của ảnh 𝑥, cho biết ảnh thuộc loại trái cấy nào,
hay là một hàm 𝑓(𝑥) ∈ [0, 59] với 𝑥 ∈ ℝ100×100×3
3.2 Cơ sở dữ liệu trái cây
Tên cơ sở dữ liêu trái cây Fruits-360 do Horea Muresan [1] phát triển năm 2017. Cơ
sở dữ liệu Fruits-360 có tất cả 38409 ảnh trái cây và chia làm 2 tập ảnh: Training và
Testing
• Kích thước tập Training: 28736 ảnh
• Kích thước tập Testing: 9673 ảnh
• Kích thước ảnh: 100x100 pixels
• Số lớp: 60 lớp tương ứng với 60 loại trái cây
Toàn bộ 60 loại trái cây có tên và mã số tương ứng được cho như trong bảng sau
Mã số Tên trái cây
0 Apple Braeburn
1 Apple Golden 1
2 Apple Golden 2
3 Apple Golden 3
4 Apple Granny Smith
5 Apple Red 1
6 Apple Red 2
7 Apple Red 3
49. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
39
8 Apple Red Delicious
9 Apple Red Yellow
10 Apricot
11 Avocado
12 Avocado ripe
13 Banana
14 Banana Red
15 Cactus fruit
16 Carambula
17 Cherry
18 Clementine
19 Cocos
20 Dates
21 Granadilla
22 Grape Pink
23 Grape White
24 Grape White 2
25 Grapefruit Pink
26 Grapefruit White
27 Guava
28 Huckleberry
29 Kaki
30 Kiwi
31 Kumquats
32 Lemon
33 Lemon Meyer
50. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
40
34 Limes
35 Litchi
36 Mandarine
37 Mango
38 Maracuja
39 Nectarine
40 Orange
41 Papaya
42 Passion Fruit
43 Peach
44 Peach Flat
45 Pear
46 Pear Abate
47 Pear Monster
48 Pear Williams
49 Pepino
50 Pineapple
51 Pitahaya Red
52 Plum
53 Pomegranate
54 Quince
55 Raspberry
56 Salak
57 Strawberry
58 Tamarillo
51. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
41
59 Tangelo
Bảng 3.1 Các loại trái cây
Chúng ta mô tả cơ sở dữ liệu Fruits dưới dạng 𝐷 = {𝑥(𝑖)
, 𝑦(𝑖)
}1
𝑚
. Trong đó: 𝑥 là
ảnh trái cây với 3 kênh màu RGB, 𝑥 ∈ ℝ100×100×3
, 𝑦 là nhãn của ảnh 𝑥, 𝑦 ∈ [0 … 59],
𝑚 là số lượng dữ liệu huấn luyện.
3.3 Cấu trúc thư mục cơ sở dữ liệu ảnh trái cây
Dữ liệu trong cơ sở dữ liệu Fruits-360 được tổ chức thành 2 thư mục
• Thư mục Training: chứa các file ảnh dùng để training mô hình
• Thư mục Validation: chưa các file ảnh dùng để kiểm tra mô hình
Trong mỗi thư mục Training, Validation, chứa 60 thư mục con tương ứng với 60 loại
trái cây (các ảnh cùng loại trái cây sẽ nằm trong cùng một thư mục).
Tên file ảnh: Tên file ảnh được đặt tên ImageIndex_100.jpg hay
r_ImageIndex_100.jpg
• ImageIndex là mã số cho biết ảnh thứ mấy
• 100 là kích thước file ảnh là 100x100
• r cho biết ảnh đã bị xoay
3.4 Dữ liệu mẫu
Một số ảnh táo (apple) thuộc loại Apple Braeburn được cho như trong hình sau
52. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
42
Hình 3.3 Trái cây Apple Braeburn
Các ảnh của một loại có thể được chụp ở các gốc nhìn khác nhau. Ví dụ trong
hình sau loại táo Apple Braeburn được chụp ở các gốc nhìn khác nhau.
53. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
43
Hình 3.4 Trái cây Apple Braeburn đã bị xoay
54. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
44
Hình 3.5 Trái cây Apple Golden 1
55. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
45
Hình 3.6 Trái cây Apple Golden 1 đã bị xoay
3.5 Phương pháp đề xuất
Convolutional Neural Network (CNN) có nhiều đột phá trong các bài toán phân
lớp dữ liệu ảnh. CNN là mô hình học theo chiến lược end-to-end, nghĩa là tích hợp
phần học đặc trưng và phần học phân lớp trong cùng một mô hình. Tuy nhiên, do đặc
điểm của mỗi bài toán khác nhau nên khi áp dụng mô hình CNN, chúng ta cần phải
thiết kế kiến trúc mô hình phù hợp với bài toán đang giải quyết.
A. Kiến trúc
Kiến trúc tổng quan của mô hình giải quyết bài toán được thiết kế gồm 2 phần:
phần thứ nhất, gồm có các tầng Convolution để biểu diễn đặc trưng. Phần thứ hai
56. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
46
theo sau đó là một mạng Fully Connected để phân lớp dữ liệu. Thông tin các tầng
được mô tả như sau:
• Tầng Input: Tầng input chấp nhận ảnh có kích thước 100 × 100 pixels với 3
kênh màu RGB. Đầu vào của tầng input nhận ảnh 𝑥 ∈ ℝ100×100×3
• Tầng Convolution: Có 5 tầng Convolutions dùng để khám phá đặc trưng trong
ảnh dữ liệu.
• Hàm activation: Tất cả các tầng (tầng convolution và tầng Fully Connected)
đều dùng hàm activation ReLU (Rectified Linear Units) 𝑓(𝑥) = max(0, 𝑥)
để giúp mạng không bị dày đặc và giúp việc huấn luyện mạng nhanh hơn.
• Tầng Pooling: Các thông tin ở tầng trước (thông tin cấp thấp) được dùng để
tổng hợp thành thông tin ở tầng sau (thông tin cấp cao hơn), và để tổng hợp
hiệu quả, thông tin lớp trước cũng cần phải được giản lược bớt độ phức tạp.
Cho nên chúng tôi dùng max pooling giải quyết vấn đề này. Max pooling dùng
ở đây có giá trị stride bằng với giá trị padding.
• Tầng Fully Connected: Có 3 tầng Fully Connected dùng để phân lớp dữ liệu.
Tất cả các tầng Fully Connected chúng tôi dung kỹ thuật Dropout giúp tránh
vấn đề overfitting.
• Tầng output: Tầng output có 60 neuron, mỗi neuron tương ứng với một lớp.
Xác xuất của mỗi lớp được xác định thông qua hàm softmax.
Trong đó, 𝑝𝑖 là xác suất của từng lớp, 𝑜𝒊 là giá trị output ở lớp 𝑖, 𝑛𝑦 là số lớp của
bài toán.
Các thông số của từng tầng được cho trong bảng sau:
STT Tầng Kích thước
Chiều rộng Chiều cao Chiều sâu
𝑝𝒊 =
𝑒𝑜𝒊
∑ 𝑒𝑜𝒌
𝑛𝑦
𝒌=1
, ∀𝑖
58. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
48
B. Hàm loss
Để đánh giá lỗi giữa output của mạng và giá trị ground truth của tập dữ liệu,
chúng tôi chọn hàm loss là hàm category cross entropy
𝐿(𝑦, 𝑦
̂) = − ∑(𝑦(𝑖)
log(𝑦
̂(𝑖)
) + (1 − 𝑦(𝑖)
) log(1 − 𝑦
̂(𝑖)
))
𝑚
𝑖=1
Trong đó, 𝑦(𝑖)
là ground truth label của điểm dữ liệu 𝑥(𝑖)
, 𝑦
̂(𝑖)
là giá trị dự đoán
C. Phương pháp huấn luyện
Để training các tham số, chúng tôi dùng thuật toán Adaptive Moment Estimation
(Adam) để tối ưu hóa hàm Loss.
59. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
49
CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
4.1 Thực nghiệm và kết quả
A. Môi trường:
• Hệ thống phát triển trên môi trường Python 3.5
• Framework: Dùng Framework Tensorflow để phát triển Convolutional
Neural Network
• Cấu hình máy dùng để huấn luyện mô hình:
o RAM: 16 GB
o Card đồ họa: Một card đồ họa NVIDIA GTX 1070, 8GB
o Ổ cứng: SSD 250 GB
B. Thực nghiệm
• Tỷ lệ dữ liệu dùng training và testing: 75% training (28736 ảnh), 25%
testing (9673 ảnh)
• Các hyper parameters:
o Kích thước một batch: 100 ảnh
o Khởi tạo các trọng số: Các trọng được khởi tạo ngẫu nhiên theo
phương pháp Xavier
o Hệ số học có giá trị: 0.001
60. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
50
Quá trình giảm lỗi trong quá trình huấn luyện
Hình 4.1 Độ lỗi của mô hình trong quá trình huấn luyện dựa trên tensorboard
Mô hình có độ lỗi giảm khá nhanh, chỉ trong vòng 300 lần lặp, mức độ lỗi đã giảm
từ 4 xuống gần bằng 0. Điều này phản ánh mức độ hội tụ của mô hình khá nhanh.
Hình 4.2 Độ chính xác của mô hình trong quá trình huấn luyện dựa trên
tensorboard
Mô hình có độ chính xác tăng khá tốt, chỉ trong vòng 300 lần lặp, mức độ chính xác
của mô hình đã tăng từ gần 0% lên hơn 90%. Điều này phản ánh khả năng học của
mô hình khá nhanh.
61. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
51
C. Kết quả thực nghiệm:
Số tầng convolutional Số tầng fully connected Độ chính xác
4
2 92.12%
3 95.23%
4 94.52%
5
2 95.17%
3 97.47%
4 94.30%
6
2 94.27%
3 95.19%
4 94.72%
Qua thực nghiệm các mô hình với các thông số khác nhau, mô hình có kết quả tốt là
có 5 tầng convolutional và 3 tầng fully connected với độ chính xác 97.47%
62. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
52
D. Giao diện chính của chương trình
Hình 4.3 Giao diện chính của ứng dụng
Các thành phần của giao diện được cho trong bảng sau
STT Chức năng
1 Thư mục chứa dữ liệu huấn luyện
2 Thư mục chứa dữ liệu kiểm tra
3 Chọn thư mục chứa dữ liệu huấn luyện
4 Chọn thư mục chứa dữ liệu kiểm tra
1
2
3
4
5
6
10
7
9
8
63. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
53
5 Huấn luyện mô hình
6 Kiểm tra mô hình trên tập dữ liệu kiểm tra
7 Chọn một ảnh để kiểm tra
8 Cửa sổ hiện kết quả
9 Xóa thông tin của sở hiện kết quả
10 Đóng chương trình
Bảng 4.1 Các chức năng của ứng dụng
64. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
54
Quá trình huấn luyện
Hình 4.4 Huấn luyện mô hình
65. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
55
Hình 4.5 Kiểm tra trên tập dữ liệu test
4.2 Kết luận và phướng phát triển
Luận văn đã phân tích, thiết kế một mô hình CNN để phân loại trái cây, mô
hình sử dụng cả ba kênh RGB để phân lớp ảnh. Kết quả thực nghiệm cho thấy độ
chính xác của mô hình là 95.01%. So với kết quả của Horea Muresan [2] có độ chính
xác là 94.59%, mô hình phát triển trong luận văn tốt hơn 0.42%
66. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
56
4.3 Hướng phát triển tiếp theo
Hướng phát triển tiếp theo là xem xét việc sinh thêm dữ liệu bằng cách gây
nhiễu trên các ảnh gốc, tạo nền cho các ảnh để có thể sử dụng được mô hình trên dữ
liệu ảnh có nền. Biến đổi ảnh sang ảnh có một kênh màu và kết hợp một số mô hình
lại với nhau để cho độ chính xác cao hơn.
68. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
58
[8] Chirag N. Paunwala & Suprava Patnaik. “A Novel Multiple License Plate
Extraction Techniquefor Complex Background in Indian Traffic Conditions”,
Sarvajanik College of Engineering and Technology, 2010
[9] Choo Kar Soon, Kueh Chiung Lin, Chung Ying Jeng and Shahrel A. Suandi ,
“Malaysian Car Number Plate Detection and Recognition System”, 2012
[10] Tran Duc Duan, Duong Anh Duc, Tran Le Hong Du, “Combining Hough
Transform and Contour Algorithm for detecting Vehicles License-Plates”, University
of Natural Sciences, 2004
[11] Nobuyuki Otsu, "A threshold selection method from gray-level histograms”,
1979
[12] R.C. Gonzalez, R.E. Woods, Digital Image Processing, Addison-Wesley, 1993.
[13] Các tài liệu về EmguCV tại www.emgucv.com OPenCV tại www.opencv.com
[14] http://genk.vn/giai-ngo-ve-deep-learning-cong-nghe-dang-giup-cho-tri-tue-
nhan-tao-sanh-duoc-voi-con-nguoi-20160816002755886.chn (Ngày truy cập
20/07/2018)
[15] https://ongxuanhong.wordpress.com/category/data-science/deep-learning/
(Ngày truy cập 20/07/2018)
[16] Alex Krizhevsky, “Imagenet classification with deep convolutional neural
networks”, Advances in neural information processing systems, 2012
[17] Karen Simonyan, Andrew Zisserman, “Very Deep Convolutional Networks for
Large-Scale Image Recognition”, arXiv:1409.1556, 2014
69. Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
59
[18] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed,
Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, Andrew Rabinovich,
“Going Deeper with Convolutions”, 2014