BÀI tập lớn môn TRÍ TUỆ NHÂN tạo – 7080122 02 đề tài xây DỰNG mô HÌNH máy học tập

17 7 0
BÀI tập lớn môn TRÍ TUỆ NHÂN tạo – 7080122 02 đề tài xây DỰNG mô HÌNH máy học tập

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT BỘ MƠN TRÍ TUỆ NHÂN TẠO *** BÀI TẬP LỚN MƠN TRÍ TUỆ NHÂN TẠO – 7080122-02 Đề tài: XÂY DỰNG MƠ HÌNH MÁY HỌC TẬP Cán giảng dạy GV Trần Trường Giang Sinh viên thực Nguyễn Đức Nam-1921050411 HÀ NỘI-2022 TIEU LUAN MOI download : skknchat@gmail.com : Mô tả dự án Tên dự án: Hệ thống nhận diện ngôn ngữ ký hiệu tay Mục đích: Xây dựng hệ thống nhận dạng bàn tay để đoán ký tự mà người khuyết tật muốn nói thời gian thực Trong thiết kế hệ thông nhận diện số đếm tay từ đến 10 bảng thủ ngữ sau: Hình – Bảng số đếm tay Mơ hình Máy Học Tập: Xây dựng mơ hình học sâu sử dụng mạng nơron tổ hợp tích chập – Convolution Neural Network Môi trường dự án: Python virtual environment - Mơi trường lập trình ảo Python Ngơn ngữ: Python Bộ thư viện: Tensorflow, Keras IDE: Visual Studio Code Tạo mơi trường lập trình ảo: Tại terminal cho thư mục chưa project thực câu lệnh “py –m venv venv” để tạo mơi trường lập trình ảo “venv” cho ngôn ngữ Python phiên dùng Các thư viện sử dụng liên quan cài môi trường TIEU LUAN MOI download : skknchat@gmail.com Hình – Mơi trường lập trình ảo Python : Mơ tả trình tạo liệu huấn luyện Viết file “gesture_data.py” với mục đích tạo liệu huấn luyện sau: Tạo thư mục “data” chứa thư mục “train” “test”: Thực kiểm tra xem tồn thưc mục “data” hay chưa, tồn in hình thơng báo “The directory containing the data already exists” Nếu chưa tồn tại, tiến hành tạo thư mục “data”, bên tạo thư mục “train” “test” Bên thư mục tạo 10 thư mục chứa ảnh cho huấn luyện mơ hình Kết thu hình TIEU LUAN MOI download : skknchat@gmail.com Hình – Tạo thư mục chứa liệu huấn luyện TIEU LUAN MOI download : skknchat@gmail.com Hình – Thư mục chưa liệu huấn luyện Thu thập hình ảnh ký hiệu tay số đếm (từ đến 10) camera máy tính, lưu hình ảnh thu vào thư mục tên tương ứng: Thiết kế vòng lặp thu thập liệu cho tập [“train”, “test”], với tập thực vòng lặp thu thập liệu cho folder từ đến 10 tập Thu thập 300 ảnh với ký hiệu tập “train” 100 ảnh tập “test” Hình – Vịng lặp thu thập liệu Đầu tiên cần xác định (back ground) ảnh, qua giúp máy tính nhận dạng hình ảnh tay đưa vào Xác định ảnh 60 frame Việc xác định cần làm lần vòng lặp lấy ảnh cho số tập “train” Đối với lần lấy 60 frame thời gian nghỉ để chuẩn bị cho việc thu thập số TIEU LUAN MOI download : skknchat@gmail.com Hình – Giao diện nhận dạng Việc xác nhận sở để thu thập ảnh, giúp máy tính tính tốn hình ảnh thu với frame đưa tay vào nhận diện Cần giữ máy ảnh cố định suốt trình thu thập liệu File “gesture_data.py” thiết kế thu thập toàn liệu “train”, “test” cho 10 số lần chạy nhất, có khoảng nghỉ 60 frame cho chuyển đổi số để người thực có thời gian định hình ký hiệu tay TIEU LUAN MOI download : skknchat@gmail.com Hình – Thu thập liệu Trong trình thu thập liệu cần điều kiện đủ sáng, hình ảnh thu sắc nét : Mơ tả q trình huấn luyện Viết file “gesture_training.py” với mục đích huấn luyện mơ sau: Hình ảnh đưa vào huấn luyện resize kích thước 64x64, chia bath gồm 10 ảnh Mơ hình học sâu mạng nơ-ron tổ hợp tích chập xây dựng sau: TIEU LUAN MOI download : skknchat@gmail.com Hình – Xây dựng kiến trúc mơ hình học sâu TIEU LUAN MOI download : skknchat@gmail.com Hình – Kiến trúc mơ hình học sâu Do việc thu thập lại data không tối ưu, nên sử dụng model không đạt Accyracy cao, nên em viết lại kiến trúc mơ hình học sâu Mơ hình xây dựng theo ý tưởng mơ hình VGG16, lớp Conv2D + lớp Pooling Do hạn chế cấu hình máy TIEU LUAN MOI download : skknchat@gmail.com tính cịn yếu, khơng đáp ứng đủ nhu cầu training model với lượng layer cao kỹ thuật khác áp dụng Batch Normalization, Skip Connection, Huấn luyện mô hình khoảng 10 phút đạt kết sau: Hình 10 – Đồ thị hàm loss hàm accuracy TIEU LUAN MOI download : skknchat@gmail.com Hình 11 – Confusion matrix Hình 12 – Quá trình huấn luyện Trong trình huấn luyện mơ hình, thơng số quan trọng cần quan sát loss, val_loss, accuracy, val_accuracy lr Learning rate thay đổi nhằm mục đích mơ hình học tốt Từ hình 12 cho thấy việc ánh xạ mơ hình từ X sang y TIEU LUAN MOI download : skknchat@gmail.com thực tốt, nói cách khác model hiểu ký hiệu tay có tập “train” ứng với số thể Tuy nhiên val_accuracy Accuracy tập “test” chưa cao Điều tiếp tục thảo luận phần : Mơ tả q trình chạy mơ hình huấn luyện (chạy chương trình nào, mơ hình huấn luyện lưu vào tệp tin có tên gì) Viết file “gesture_model.py” với mục đích sử dụng mơ hình huấn luyện vào sử dụng thực tế sau: Mơ hình huấn luyện lưu vào tệp tin có tên “BTL_CNN_model.h5” : Viết nhận xét riêng bạn trình huấn luyện mơ hình Máy Học Tập (viết bạn huấn luyện mơ hình, ngược lại khơng cần viết) Để mơ hình hoạt động tốt việc tạo liệu vơ quan trọng Dữ liệu có đúng, xác, đa dạng mơ hình học tập thực hành xác Trong q trình huấn luyện mơ hình, giới hạn phần cứng ảnh hưởng nhiều đến việc viết mơ hình học sâu, cần sử dụng GPU với dung lượng nhớ cao giúp chạy mơ hình lớn, tốc độ cao, cải thiện kết tốn Nhìn chung mơ hình huấn luyện nhận diện ký hiệu tay cho số, nhiên mơ hình dễ nhận diện nhầm số đưa tay khơng góc nhìn camera Điều lý giải lượng liệu đưa vào học chưa tường minh, cử tay tạo liệu chưa dứt khoát, dễ gây hiểu nhầm, đồng thời liệu chưa phái sinh lật, xoay, thu phóng kích thước để đa dạng liệu Dựa vào hình 10 11 12 nhận thấy mơ hình học tập chưa tốt Biện minh cho kết có lý sau: - Dữ liệu chuẩn bị chưa tốt, số lượng ít, chưa đa dạng - Mơ hình học tập thiết kế đơn giản, số lượng tham số, lớp chưa đảm bảo, chưa áp dụng kỹ thuật tiên tiến : Tìm hiểu mạng nơ-ron tích chập Mơ hình huấn luyện theo liệu tự thu thập mơ hình tự TIEU LUAN MOI download : skknchat@gmail.com thiết kế : Trực quan hóa sơ đồ mạng nơ-ron tổ hợp tích chập Hình 13 – Xây dựng kiến trúc mạng nơ-ron tổ hợp tích chập Hình 14 – Sơ đồ mạng nơ-ron tổ hợp tích chập Filers = [32, 64] thể lớp Conv2D xuất có filter = 32, lần xuất có filter = 64 Tương tự với ký hiệu khác Tham số: kernel_size(3, 3) – kích thước kernel hình vng x3 phép tốn tích chập ảnh Kernel trượt theo bước nhảy strides từ trái qua phải, từ xuống thực phép tích chập với ảnh hình 14 Việc lấy size kernel thích hợp với mục tiêu lớp tốn Tuy nhiên kích thức kernel phải số lẻ để kernel có tâm, việc tích tốn tránh phát sinh vấn đề khác TIEU LUAN MOI download : skknchat@gmail.com Hình 15 – Phép tích chập lớp Conv2D activation=’relu’ – hàm kích hoạt f(x) =max(0, x) Có nhiều hàm kích hoạt khác nhau, hàm có ưu điểm nhược điểm riêng Từ lâu ta biết hàm Sigmoid, Sofmax, Tanh… Hàm ReLU gần sử dụng phổ biến huấn luyện mạng nơ-ron ReLU đơn giản lọc giá trị < Nhìn vào cơng thức dễ dàng hiểu cách hoạt động Một số ưu điểm vượt trội so với sigmoid tanh: ( Tốc độ hội tụ nhanh hẳn ReLU có tốc độ hội tụ nhanh gấp lần Tanh Điều ReLU khơng bị bão hồ đầu Sigmoid Tanh ( Tính toán nhanh Tanh Sigmoid sử dụng hàm exp công thức phức tạp ReLU nhiều tốn nhiều chi phí để tính tốn (-) Tuy nhiên ReLU có nhược điểm: Với node có giá trị nhỏ 0, qua ReLU activation thành 0, tượng gọi “Dying ReLU“ Nếu node bị chuyển thành khơng có ý nghĩa với bước linear activation lớp hệ số tương ứng từ node không cập nhật với gradient descent Từ Leaky ReLU đời (-) Khi learning rate lớn, trọng số (weights) thay đổi theo cách làm tất nơ-ron dừng việc cập nhật TIEU LUAN MOI download : skknchat@gmail.com Hình 16 – Đồ thị hàm ReLU pool_size(2, 2) – kích thước kernel hình vuông cạnh 2x2 thược phép pooling Khi kernel di chuyển theo stride lấy toàn giá trị nằm phạm phi kích thước thực phép pooling tương ứng (max, min, aveg) Như hình pooling_size(2,2) Hình 17 - Pooling strides=2 – bước nhảy kernel hình 16 Kernel di chuyển qua pixel lần nhảy từ trái qua phải xong từ xuống Sequential() Keras – mơ hình đơn giản TIEU LUAN MOI download : skknchat@gmail.com cho thiết kết model học sâu Nó gọi “sequential” liên quan đến việc xác định lớp Sequential thêm lớp vào mơ hình theo cách tuyến tính, từ đầu vào đến đầu Theo hình 13 mơ hình Mơ hình dễ sử dụng tiếp tục gọi model.add() thêm tất layers cần thiết Việc tìm hiểu cú pháp layer tham khảo qua trang API thức Keras (https://keras.io/api/) Để thiết kết mơ hình Sequential() Keras cần khai báo tên model, sau input , lớp layer sau output Người dùng tùy biết thiết kế model theo ý thích, đảm bảo shape model, kích thước input phải đủ lớn để tăng chiều sâu theo tham số strides sử dụng Cần xác định mục đích toán để lựa chọn activation hợp lý output Sau số API phổ biến sử dụng mơ hình Sequential Keras Convolution layers:, Conv1D layer, Conv2D layer, Conv3D layer SeparableConv1D layer, SeparableConv2D layer, DepthwiseConv2D layer Conv1DTranspose layer, Conv2DTranspose layer, Conv3DTranspose layer Optimizers: SGD, RMSprop, Adam, Adadelta, Adagrad, Adamax, Nadam, Ftrl Losses: Probabilistic losses, Regression losses, Hinge losses for "maximum-margin" classification Và nhiều API khác nữa, cần đọc tuân thủ cú pháp Keras đưa (https://keras.io/api/) TIEU LUAN MOI download : skknchat@gmail.com ... sau: Hình – Bảng số đếm tay Mơ hình Máy Học Tập: Xây dựng mơ hình học sâu sử dụng mạng nơron tổ hợp tích chập – Convolution Neural Network Mơi trường dự án: Python virtual environment - Môi trường... sau: Hình ảnh đưa vào huấn luyện resize kích thước 64x64, chia bath gồm 10 ảnh Mơ hình học sâu mạng nơ-ron tổ hợp tích chập xây dựng sau: TIEU LUAN MOI download : skknchat@gmail.com Hình – Xây dựng. .. tiến hành tạo thư mục “data”, bên tạo thư mục “train” “test” Bên thư mục tạo 10 thư mục chứa ảnh cho huấn luyện mơ hình Kết thu hình TIEU LUAN MOI download : skknchat@gmail.com Hình – Tạo thư mục

Ngày đăng: 12/07/2022, 10:10

Hình ảnh liên quan

XÂY DỰNG MƠ HÌNH MÁY HỌC TẬP Cán bộ giảng dạy Sinh viên thực hiện - BÀI tập lớn môn TRÍ TUỆ NHÂN tạo – 7080122 02 đề tài xây DỰNG mô HÌNH máy học tập

n.

bộ giảng dạy Sinh viên thực hiện Xem tại trang 1 của tài liệu.
Hình 1– Bảng số đếm bằng tay - BÀI tập lớn môn TRÍ TUỆ NHÂN tạo – 7080122 02 đề tài xây DỰNG mô HÌNH máy học tập

Hình 1.

– Bảng số đếm bằng tay Xem tại trang 2 của tài liệu.
Hình 2– Mơi trường lập trình ảo Python - BÀI tập lớn môn TRÍ TUỆ NHÂN tạo – 7080122 02 đề tài xây DỰNG mô HÌNH máy học tập

Hình 2.

– Mơi trường lập trình ảo Python Xem tại trang 3 của tài liệu.
Hình 3– Tạo các thư mục chứa dữ liệu huấn luyện - BÀI tập lớn môn TRÍ TUỆ NHÂN tạo – 7080122 02 đề tài xây DỰNG mô HÌNH máy học tập

Hình 3.

– Tạo các thư mục chứa dữ liệu huấn luyện Xem tại trang 4 của tài liệu.
Hình 4– Thư mục chưa dữ liệu huấn luyện - BÀI tập lớn môn TRÍ TUỆ NHÂN tạo – 7080122 02 đề tài xây DỰNG mô HÌNH máy học tập

Hình 4.

– Thư mục chưa dữ liệu huấn luyện Xem tại trang 5 của tài liệu.
Hình 6– Giao diện nhận dạng nền - BÀI tập lớn môn TRÍ TUỆ NHÂN tạo – 7080122 02 đề tài xây DỰNG mô HÌNH máy học tập

Hình 6.

– Giao diện nhận dạng nền Xem tại trang 6 của tài liệu.
Hình 7– Thu thập dữ liệu - BÀI tập lớn môn TRÍ TUỆ NHÂN tạo – 7080122 02 đề tài xây DỰNG mô HÌNH máy học tập

Hình 7.

– Thu thập dữ liệu Xem tại trang 7 của tài liệu.
Hình 8– Xây dựng kiến trúc mơ hình học sâu - BÀI tập lớn môn TRÍ TUỆ NHÂN tạo – 7080122 02 đề tài xây DỰNG mô HÌNH máy học tập

Hình 8.

– Xây dựng kiến trúc mơ hình học sâu Xem tại trang 8 của tài liệu.
Hình 9– Kiến trúc mơ hình học sâu - BÀI tập lớn môn TRÍ TUỆ NHÂN tạo – 7080122 02 đề tài xây DỰNG mô HÌNH máy học tập

Hình 9.

– Kiến trúc mơ hình học sâu Xem tại trang 9 của tài liệu.
Huấn luyện mơ hình trong khoảng 10 phút đạt kết quả như sau: - BÀI tập lớn môn TRÍ TUỆ NHÂN tạo – 7080122 02 đề tài xây DỰNG mô HÌNH máy học tập

u.

ấn luyện mơ hình trong khoảng 10 phút đạt kết quả như sau: Xem tại trang 10 của tài liệu.
Hình 11 – Confusion matrix - BÀI tập lớn môn TRÍ TUỆ NHÂN tạo – 7080122 02 đề tài xây DỰNG mô HÌNH máy học tập

Hình 11.

– Confusion matrix Xem tại trang 11 của tài liệu.
Hình 13 – Xây dựng kiến trúc mạng nơ-ron tổ hợp tích chập - BÀI tập lớn môn TRÍ TUỆ NHÂN tạo – 7080122 02 đề tài xây DỰNG mô HÌNH máy học tập

Hình 13.

– Xây dựng kiến trúc mạng nơ-ron tổ hợp tích chập Xem tại trang 13 của tài liệu.
pool_size(2, 2) – là kích thước của kernel hình vng cạnh 2x2 khi thược hiện phép pooling - BÀI tập lớn môn TRÍ TUỆ NHÂN tạo – 7080122 02 đề tài xây DỰNG mô HÌNH máy học tập

pool.

_size(2, 2) – là kích thước của kernel hình vng cạnh 2x2 khi thược hiện phép pooling Xem tại trang 16 của tài liệu.
Hình 16 – Đồ thị hàm ReLU - BÀI tập lớn môn TRÍ TUỆ NHÂN tạo – 7080122 02 đề tài xây DỰNG mô HÌNH máy học tập

Hình 16.

– Đồ thị hàm ReLU Xem tại trang 16 của tài liệu.

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

Tài liệu liên quan