CHƯƠNG 1: GIỚI THIỆU I. Giới Thiệu Đề Tài Trong thời đại số hóa hiện nay, học sâu đã trở thành một lĩnh vực nghiên cứu quan trọng và có ứng dụng rộng rãi trong nhiều lĩnh vực, đặc biệt là trong nhận dạng hình ảnh. Việc tinh chỉnh các thuật toán tối ưu là một phần không thể thiếu để đạt được hiệu quả cao trong quá trình huấn luyện. Việc lựa chọn thuật toán tối ưu phù hợp có thể ảnh hưởng đáng kể đến hiệu suất và thời gian huấn luyện của mô hình.
Để hiểu rõ hơn về sự khác biệt giữa các thuật toán tối ưu và ảnh hưởng của chúng đối với quá trình huấn luyện, nghiên cứu so sánh hiệu năng của các thuật toán tối ưu là một phần quan trọng của học sâu. Có nhiều thuật toán tối ưu khác nhau, mỗi thuật toán có ưu nhược điểm riêng. Trong đề tài này, chúng tôi tập trung vào việc so sánh hiệu quả của các thuật toán tối ưu SGD, Momentum, RMSProp và Adam trong việc huấn luyện mạng nơ-ron cho bài toán phân loại ảnh MNIST. Chúng tôi cũng áp dụng kỹ thuật L2 regularization và dropout để kiểm soát overfitting và cải thiện khả năng tổng quát hóa của mô hình.
• SGD (Stochastic Gradient Descent): Là thuật toán tối ưu đơn giản nhất, sử dụng gradient của hàm mất mát để cập nhật các tham số của mô hình. • Momentum: Là một biến thể của SGD, sử dụng momentum để tăng tốc độ hội tụ của thuật toán. • RMSprop: Là một biến thể khác của SGD, sử dụng bình phương trung bình của gradient để điều chỉnh tốc độ học của mỗi tham số. • Adam: Là một thuật toán tối ưu kết hợp ưu điểm của Momentum và RMSprop.
Bằng cách so sánh kết quả đạt được từ các thuật toán tối ưu khác nhau, chúng tôi hy vọng có thể cung cấp thông tin quan trọng về cách mỗi thuật toán tối ưu ảnh hưởng đến hiệu suất của mô hình. Điều này sẽ giúp các nhà nghiên cứu và nhà phát triển ~6~ lựa chọn thuật toán phù hợp nhất cho nhu cầu cụ thể của họ trong quá trình xây dựng và huấn luyện mạng nơ-ron. Mục Tiêu Nghiên Cứu Trong nghiên cứu này, chúng tôi đặt ra các mục tiêu cụ thể như sau: Mục tiêu 1: So sánh hiệu quả của các thuật toán tối ưu SGD, Momentum, RMSProp và Adam trong việc huấn luyện mô hình mạng nơ-ron cho bài toán phân loại ảnh MNIST. Mục tiêu 2: Áp dụng kỹ thuật L2 regularization và dropout vào mô hình để kiểm soát overfitting và cải thiện khả năng tổng quát hóa bằng cách thêm một thành phần regularization vào hàm mất mát của mô hình.
Dropout là một kỹ thuật regularization khác, trong đó một số nơ-ron được chọn ngẫu nhiên để bị loại bỏ khỏi quá trình huấn luyện trong mỗi epoch. Mục tiêu 3: Đánh giá hiệu năng của mỗi thuật toán tối ưu dựa trên các tiêu chí như độ chính xác và mất mát trên tập kiểm tra. Mục tiêu 4: Tạo ra các kết luận và đề xuất dựa trên kết quả đánh giá để hỗ trợ người dùng trong việc lựa chọn thuật toán tối ưu phù hợp cho mô hình học sâu của họ. Nghiên cứu này sẽ đánh giá hiệu quả của các thuật toán tối ưu dựa trên các tiêu chí sau: • Độ chính xác: Tỷ lệ phần trăm các hình ảnh được phân loại chính xác.
• Thời gian huấn luyện: Thời gian cần thiết để huấn luyện mô hình. • Mất mát: Giá trị của hàm mất mát trên tập kiểm tra. Tóm Tắt Nội Dung • Chương 2: Khảo sát tài liệu • Chương 3: Phương pháp nghiên cứu • Chương 4: Chuẩn bị dữ liệu ~7~ • Chương 5: Triển khai và huấn luyện mô hình • Chương 6: Đánh giá và kết luận • Chương 7: Tài liệu tham khảo IV. Giới Thiệu Về Lĩnh Vực Học Sâu (Deep Learning) Và Ứng Dụng Học sâu (Deep Learning) là một lĩnh vực trong trí tuệ nhân tạo mà mạng nơ-ron sâu được sử dụng để học và hiểu dữ liệu phức tạp.
Học sâu đã có những ứng dụng rộng rãi trong nhiều lĩnh vực như nhận dạng ảnh, xử lý ngôn ngữ tự nhiên, tự lái ô tô, y sinh học, và nhiều lĩnh vực khác.1: Cách học sâu (Deep learning) hoạt động - Ảnh: Internet Mô Hình Mạng Nơ-Ron Mô hình mạng nơ-ron được sử dụng trong bài viết này là một mạng nơ-ron feedforward gồm 3 lớp ẩn. Lớp đầu tiên có 128 nơ-ron, lớp thứ hai có 64 nơ-ron và ~8~ lớp thứ ba có 10 nơ-ron (tương ứng với 10 chữ số). Hàm kích hoạt được sử dụng cho các lớp ẩn là hàm ReLU, trong khi hàm softmax được sử dụng cho lớp đầu ra. Kể từ những năm 1980, deep learning đã liên tục cải thiện khả năng cung cấp nhận dạng hoặc dự đoán chính xác.
Hơn nữa, học sâu đã liên tục được áp dụng thành công cho các nhóm ứng dụng ngày càng rộng hơn. Nhiều ứng dụng học sâu này mang lại lợi nhuận cao. Nhiều công ty công nghệ hàng đầu, bao gồm Google, Microsoft, Facebook, IBM, Baidu, Apple, Adobe, Netflix, NVIDIA và NEC, hiện đang sử dụng deep learning. Những tiến bộ trong học sâu cũng phụ thuộc rất nhiều vào những tiến bộ trong cơ sở hạ tầng phần mềm.
Các thư viện phần mềm như Theano (Bergstra et al., 2010; Bastien et al., 2012), PyLearn2 (Goodfellow et al., 2013c), PyTorch (Collobert et al., 2011b), DistBelief (Dean et al., 2012), Caffe (Jia, 2013), MXNet (Chen và cộng sự, 2015) và TensorFlow (Abadi et al., 2015) đều đã hỗ trợ các dự án nghiên cứu quan trọng hoặc các sản phẩm thương mại.2: Các deep learning framework phổ biến Các Framework Học Sâu Phổ Biến 1. TensorFlow: ~9~ o TensorFlow là một trong những framework học sâu phổ biến nhất, được phát triển bởi Google. Nó cung cấp một cách linh hoạt để xây dựng và huấn luyện các mô hình deep learning. PyTorch: o PyTorch là một framework học sâu mã nguồn mở được phát triển bởi Facebook.
Nó được ưa chuộng bởi vì cú pháp dễ đọc và sử dụng, cũng như tính linh hoạt cao trong quá trình phát triển mô hình. Keras: o Keras là một API mã nguồn mở cho việc xây dựng và huấn luyện các mô hình deep learning, hoạt động trên nhiều backends như TensorFlow, Theano, và Microsoft Cognitive Toolkit (CNTK). MXNet: o MXNet là một framework học sâu phổ biến, được phát triển bởi Apache. Nó cung cấp hiệu suất cao và hỗ trợ song song cho việc huấn luyện mô hình trên nhiều thiết bị và cấu hình khác nhau.
Caffe: o Caffe là một framework học sâu nhẹ và hiệu quả, được sử dụng rộng rãi trong việc xây dựng các ứng dụng thời gian thực như nhận dạng ảnh và video. Ứng Dụng của Học Sâu 1. Nhận Dạng Ảnh: o Deep learning đã đạt được những thành tựu đáng kể trong lĩnh vực nhận dạng ảnh. Các mô hình deep learning, như Convolutional Neural Networks (CNNs), đã giúp cải thiện đáng kể khả năng nhận dạng đối tượng trong ảnh và video.
Các ứng dụng bao gồm nhận dạng khuôn mặt và ký tự, phát hiện vật thể hoặc phân loại đối tượng, nhận diện biển số xe, và nhiều hơn nữa.3: Các ứng dụng nhận dạng ảnh - Ảnh: Internet 2. Xử Lý Ngôn Ngữ Tự Nhiên (NLP): o Trong lĩnh vực xử lý ngôn ngữ tự nhiên, deep learning đã giúp cải thiện khả năng hiểu và sản sinh ngôn ngữ tự nhiên. Các mô hình như Recurrent Neural Networks (RNNs), Long Short-Term Memory networks (LSTMs), và Transformers đã được áp dụng rộng rãi trong các ứng dụng như dịch máy, tổng hợp giọng nói, phân loại văn bản, và trả lời câu hỏi tự động.4: Cơ bản về Xử lý ngôn ngữ tự nhiên và ứng dụng - Ảnh: Internet ~ 11 ~ 3. Tự Lái Ô Tô và Robotics: o Deep learning đang chơi một vai trò quan trọng trong phát triển của xe tự lái và robotics.
Các mô hình deep learning được sử dụng để xử lý dữ liệu từ các cảm biến như camera và lidar, giúp xe tự lái và robot tự định hình và tương tác với môi trường xung quanh.5: Ứng dụng tự lái ô tô giao thông thông minh - Ảnh: Internet 4. Y Sinh Học: o Trong lĩnh vực y sinh học, deep learning được áp dụng để phát hiện và chẩn đoán bệnh lý, dự đoán kết quả của điều trị, và phân tích dữ liệu y sinh học phức tạp như hình ảnh y khoa và dữ liệu genomic, chụp X- quang, MRI, và CT. Các Lĩnh Vực Khác: o Ngoài các lĩnh vực đã đề cập, deep learning còn có ứng dụng trong nhiều lĩnh vực khác như tài chính, sản xuất, marketing, và giải trí. ~ 12 ~ CHƯƠNG 2: KHẢO SÁT TÀI LIỆU I.
Giới Thiệu Các Nghiên Cứu Liên Quan Trong phần này, chúng tôi sẽ giới thiệu một số nghiên cứu liên quan đến việc khảo sát hiệu suất của các thuật toán tối ưu trong huấn luyện mạng nơ-ron cho bài toán phân loại ảnh. Các nghiên cứu này đã đóng góp vào việc hiểu sâu hơn về ảnh hưởng của các thuật toán tối ưu đến hiệu suất của mô hình và cung cấp hướng đi cho các nghiên cứu và ứng dụng trong tương lai. "An Overview Of Gradient Descent Optimization Algorithms" (Ruder, 2016): - Nghiên cứu này cung cấp một tổng quan về các thuật toán tối ưu phổ biến được sử dụng trong học sâu, bao gồm Gradient Descent, Stochastic Gradient Descent (SGD), Momentum, RMSProp, và Adam. Nghiên cứu đánh giá và so sánh hiệu suất của các thuật toán này dựa trên các tiêu chí như tốc độ hội tụ và khả năng vượt qua các điểm tối ưu cục bộ.
"On the convergence of Adam and beyond" (Reddi et al., 2018): - Nghiên cứu này tập trung vào việc khảo sát hiệu suất của thuật toán Adam và các biến thể của nó trong việc huấn luyện mạng nơ-ron sâu. Tác giả phân tích cơ chế hoạt động của Adam và đề xuất các cải tiến để cải thiện hiệu suất và ổn định của thuật toán. "Understanding the disharmony between dropout and batch normalization by variance shift" (Li et al., 2018): - Nghiên cứu này tập trung vào việc hiểu sâu hơn về mối quan hệ giữa hai kỹ thuật chính trong học sâu là dropout và batch normalization. Tác giả phát hiện ra rằng sự không đồng nhất trong phương sai của dữ liệu đầu vào có thể gây ra hiện tượng không tương thích giữa dropout và batch normalization, dẫn đến sự giảm hiệu suất của mô hình.
Đồng thời, nghiên cứu cũng đề xuất các giải pháp để khắc phục vấn đề này. Tổng Quan Về Mạng Nơ-ron Tích Chập Đối với mạng đa lớp Perceptron (Multi-layer Perceptron – MLP) truyền thống, mỗi nơ-ron trong lớp phía trước sẽ kết nối đến tất cả các nơ-ron ở lớp phía sau, khi tăng độ sâu của mô hình sẽ khiến khối lượng tính toán trong mạng tăng mạnh. Mạng nơ-ron tích chập (Convolutional Neural Network - CNN) là một kiến trúc mạng nơ-ron đặc biệt được thiết kế để xử lý dữ liệu không gian như hình ảnh.