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

Tìm hiểu về semi supervised learning và ứng dụng

120 3 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm Hiểu Về Semi-Supervised Learning Và Ứng Dụng
Tác giả Lê Thị Nhung, Nguyễn Thanh Sang
Người hướng dẫn ThS. Quách Đình Hoàng
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 120
Dung lượng 8,15 MB

Cấu trúc

  • PHẦN 1: MỞ ĐẦU (15)
    • 1.1. Lý do chọn đề tài (6)
    • 1.2. Mục tiêu và nhiệm vụ nghiên cứu (6)
    • 1.3. Các tiếp cận và phương pháp nghiên cứu (6)
    • 1.4. Kết quả dự kiến (7)
  • PHẦN 2: NỘI DUNG (19)
  • CHƯƠNG 1: TỔNG QUAN VỀ MACHINE LEARNING (20)
    • 1.1 Khái niệm về machine learning (20)
    • 1.2 Các khái niệm trong machine learning (20)
    • 1.3 Phân loại các mô hình Machine learning (21)
      • 1.3.1 Học giám sát (supervised learning) (21)
      • 1.3.2 Học không giám sát (unsupervised learning) (21)
      • 1.3.3 Học củng cố (Reinforcement learning) (22)
  • CHƯƠNG 2: TỔNG QUAN VỀ HỌC SÂU (23)
    • 2.1 So sánh học máy và học sâu (23)
    • 2.2 Các khái niệm học sâu cơ bản (23)
      • 2.2.1 Mạng nơ-ron nhân tạo (ANN) (23)
      • 2.2.2 Hàm kích hoạt (25)
      • 2.2.3 Hàm mất mát (26)
      • 2.2.4 Hàm tối ưu (27)
    • 2.3 Đào tạo mạng nơ-ron nhân tạo (29)
  • CHƯƠNG 3: TỔNG QUAN VỀ COMPUTER VISION (32)
    • 3.1 Giới thiệu (32)
    • 3.2 Các nhiệm vụ chính của thị giác máy tính (32)
      • 3.2.1 Phân loại hình ảnh (32)
      • 3.2.2 Phát hiện đối tượng (32)
      • 3.2.3 Phân đoạn hình ảnh (33)
    • 3.3 Một vài nhiệm vụ khác (33)
      • 3.3.1 Theo dõi đối tượng (33)
      • 3.3.2 Nhận dạng khuôn mặt (33)
      • 3.3.3 Ước tính tư thế (33)
    • 3.4 Vai trò của học sâu trong thị giác máy tính (34)
  • CHƯƠNG 4: CƠ SỞ LÝ THUYẾT VỀ MẠNG NƠ-RON TÍCH CHẬP (CNN) (35)
    • 4.1 Khái niệm (35)
    • 4.2 Các lớp phổ biến trong mạng nơ-ron tích chập (35)
      • 4.2.1 Lớp tích chập (35)
      • 4.2.2 Lớp gộp (36)
      • 4.2.3 Hàm kích hoạt (37)
      • 4.2.4 Lớp kết nối hoàn toàn (38)
  • CHƯƠNG 5: CỞ SỞ LÝ THUYẾT VỀ HỌC BÁN GIÁM SÁT (40)
    • 5.1 Khái niệm (40)
    • 5.2 Các giả định chính (40)
    • 5.3 Các thuật toán học máy bán giám sát (41)
      • 5.3.1 Self-training (42)
      • 5.3.2 Co-training và Multiview (43)
      • 5.3.3 Gaussian Mixture Model (46)
      • 5.3.4 Graph-based using harmonic function (54)
      • 5.3.5 Semi-supervised Support Vector Machine (S3VM) (58)
    • 5.4 Các thuật toán học sâu bán giám sát cho thị giác máy tính (60)
      • 5.4.1 Các thuật toán học sâu bán giám sát cho phân loại hình ảnh (60)
      • 5.4.2 Các thuật toán học sâu bán giám sát cho phát hiện vật thể trong ảnh (84)
  • CHƯƠNG 6: XÂY DỰNG HỆ THỐNG HỖ TRỢ GÁN NHÃN SỬ DỤNG PHƯƠNG PHÁP HỌC BÁN GIÁM SÁT (93)
    • 6.1 Tổng quan hệ thống (93)
      • 6.1.1 Gán nhãn dữ liệu truyền thống (93)
    • 6.2 Các công nghệ sử dụng (95)
      • 6.2.1 Pytorch (95)
      • 6.2.2 MLFlow (95)
      • 6.2.3 BentoML (96)
      • 6.2.4 FastAPI (96)
      • 6.2.5 PostgresDB (97)
      • 6.2.6 Minio (98)
      • 6.2.7 Docker (98)
      • 6.2.8 Cloudflared (99)
    • 6.3 Thiết kế hệ thống (100)
      • 6.3.1 Các trường hợp sử dụng (100)
      • 6.3.2 Thiết kế cơ sở dữ liệu (106)
      • 6.3.3 Thiết kế giao diện lập trình ứng dụng (108)
    • 6.4 Kiến trúc triển khai hệ thống (111)
  • PHẦN 3: KẾT LUẬN (117)
    • 3.1. Kết quả đạt được (7)
    • 3.2. Khuyết điểm (7)
    • 3.3. Hướng phát triển (7)
    • 3.4. Lời kết (7)
  • TÀI LIỆU THAM KHẢO (7)

Nội dung

NỘI DUNG

TỔNG QUAN VỀ MACHINE LEARNING

Khái niệm về machine learning

- Machine learning là một tập con của AI Theo định nghĩa của Wikipedia:

Machine learning là một nhánh của khoa học máy tính, cho phép máy tính tự học từ dữ liệu mà không cần lập trình cụ thể Phương pháp này giúp máy tính hoạt động tự động, tiếp nhận dữ liệu mới để học hỏi, phát triển và thích ứng một cách độc lập.

Học máy (ML) là quá trình khai thác thông tin đặc trưng từ khối lượng dữ liệu lớn thông qua việc áp dụng các thuật toán để nhận diện mẫu và cải thiện qua các vòng lặp Các thuật toán ML cho phép máy tính học trực tiếp từ dữ liệu mà không cần dựa vào các phương trình đã được xác định trước.

Các khái niệm trong machine learning

In data analysis, an observation, denoted as 𝑋, serves as the input in various problems An observation is essentially a data point represented as a feature vector 𝑋 = {𝑥₁, 𝑥₂, 𝑥₃, …, 𝑥ₙ}, where each 𝑥 is referred to as a feature For instance, when predicting house prices, the feature vector 𝑋 may include attributes such as the size of the house and the number of bedrooms.

Kí hiệu 𝑦 đại diện cho nhãn trong các bài toán học giám sát, trong đó mỗi quan sát tương ứng với một nhãn cụ thể Ví dụ, trong bài toán dự đoán giá nhà, nhãn 𝑦 chính là giá của các căn nhà mà chúng ta đã quan sát.

Mô hình có thể được hiểu như một hàm số 𝑓(𝑥), trong đó nhận vào một quan sát 𝑥 và trả về một nhãn 𝑦 = 𝑓(𝑥) Ví dụ, trong trường hợp giá nhà, mô hình này sẽ nhận các thông tin như diện tích, số phòng ngủ, và các yếu tố khác để đưa ra giá trị của căn nhà.

- Parameter : Kí hiệu là 𝑤 = {𝑤 1 , 𝑤 2 , 𝑤 3 , … , 𝑤 𝑛 } mọi thứ của model được sử dụng để tính toán ra output Ví dụ model là một hàm đa thức bậc ba: 𝑓(𝑥) = 𝑎𝑥 3 + 𝑏𝑥 2 +

Trong một hàm đa thức có dạng 𝑐𝑥 + 𝑑, các tham số được xác định bởi bộ tứ 𝑤 = {𝑎, 𝑏, 𝑐, 𝑑} Ngoài ra, còn tồn tại một loại tham số đặc biệt được gọi là hyperparameter, trong đó bậc của đa thức có thể được xem như một hyperparameter quan trọng.

- Loss function : Kí hiệu 𝐿(𝑦̂, 𝑦), có thể hiểu là sự sai lệch nữa kết quả dự đoán 𝑦̂

- Metrics : Độ đo, là tập hợp các thông số dùng để đánh giá một mô hình machine learning Ví dụ như tỉ lệ chính xác,

Phân loại các mô hình Machine learning

Các mô hình machine learning được phân thành ba loại chính: Học giám sát

(supervised learning), học không giám sát (unsupervised learning), học củng cố

1.3.1 Học giám sát (supervised learning)

Supervised learning is the most common category of machine learning algorithms It predicts the output (label) of new data (observation) based on known pairs of (observation, label) These pairs are also referred to as (data, label), meaning (data, tag).

In mathematical terms, supervised learning involves an input set of observations: \( X = \{ x_1, x_2, \ldots, x_n \} \) and a corresponding set of labels: \( y = \{ y_1, y_2, \ldots, y_n \} \), where \( x_i \) and \( y_i \) are vectors From the observation set \( X \), a model \( f(x) \) is estimated to map (or approximate) each element of the set \( X \) to an element of the set \( y \).

Mục tiêu của học có giám sát (supervised learning) là xấp xỉ chính xác hàm số 𝑓 để khi nhận được dữ liệu mới 𝑥, chúng ta có thể dự đoán nhãn tương ứng thông qua hàm số 𝒚 = 𝒇(𝒙).

1.3.2 Học không giám sát (unsupervised learning)

Trong phương pháp học không giám sát (unsupervised learning), mô hình không nhận được nhãn mà chỉ tiếp nhận tập dữ liệu quan sát Mô hình này sẽ phân tích các cấu trúc hoặc đặc trưng của bộ dữ liệu để thực hiện các nhiệm vụ nhất định.

Unsupervised learning là một phương pháp học máy trong đó chỉ có dữ liệu 𝑿 mà không có nhãn 𝒀 tương ứng Mô hình sẽ phân tích các đặc tính của dữ liệu, như khoảng cách và mối tương quan giữa các điểm dữ liệu, để đưa ra kết quả.

Một vài ứng dụng của unsupervised learning có thể kể đến như: Phân cụm (Clustering), giảm số chiều dữ liệu (PCA),

1.3.3 Học củng cố (Reinforcement learning)

Học củng cố (Reinforcement Learning) là một phương pháp giúp hệ thống tự động xác định hành vi tối ưu dựa trên hoàn cảnh để tối đa hóa hiệu suất Phương pháp này dựa trên nguyên tắc thử-sai liên tục, từ đó tìm ra giải pháp mang lại lợi ích cao nhất.

TỔNG QUAN VỀ HỌC SÂU

So sánh học máy và học sâu

Machine Learning là lĩnh vực bao quát các kỹ thuật giúp máy tính học hỏi từ dữ liệu, trong khi Deep Learning là một nhánh con của Machine Learning, tập trung vào việc sử dụng các mạng nơ-ron sâu để xử lý và phân tích dữ liệu.

ML tập trung vào việc sử dụng ANN với nhiều lớp Sự khác biệt chính giữa ML và DL là:

- ML thường yêu cầu trích xuất tính năng thủ công, trong khi DL tự động học các tính năng từ dữ liệu thô

- Các mô hình ML thường có kiến trúc nông, trong khi các mô hình DL có kiến trúc sâu với nhiều lớp

Các mô hình học sâu (DL) thường cần một lượng lớn dữ liệu và sức mạnh tính toán, trong khi các mô hình học máy (ML) có thể hoạt động hiệu quả với bộ dữ liệu nhỏ hơn và yêu cầu ít tài nguyên tính toán hơn.

Các khái niệm học sâu cơ bản

2.2.1 Mạng nơ-ron nhân tạo (ANN)

Mạng nơ-ron nhân tạo (ANN) là hệ thống tính toán mô phỏng cấu trúc và hoạt động của não người, bao gồm các nơ-ron được kết nối thành các lớp Mỗi nơ-ron nhận tín hiệu đầu vào từ các lớp trước, thực hiện tính tổng trọng số, áp dụng hàm kích hoạt phi tuyến và chuyển đầu ra đến lớp tiếp theo Các thành phần chính của ANN gồm lớp đầu vào, lớp ẩn và lớp đầu ra.

Lớp đầu vào của mạng nơ-ron nhân tạo (ANN) là điểm khởi đầu quan trọng cho việc xử lý dữ liệu thô Lớp này nhận các dữ liệu đầu vào dưới nhiều dạng khác nhau như hình ảnh, văn bản hoặc giá trị số, và thực hiện chức năng truyền tải thông tin tới các lớp tiếp theo trong mạng.

Lớp đầu vào đóng vai trò quan trọng trong việc định dạng và chuẩn bị dữ liệu, đảm bảo rằng thông tin được xử lý một cách chính xác trong các lớp ẩn tiếp theo.

Các lớp ẩn là đơn vị tính toán chính của mạng nơ-ron nhân tạo (ANN), nhận đầu vào từ lớp trước và thực hiện các tính toán phức tạp Mỗi neuron trong lớp ẩn nhận tín hiệu từ nhiều neuron trước đó, và mỗi đầu vào được nhân với giá trị trọng số tương ứng Các đầu vào có trọng số được tổng hợp với nhau, thường kèm theo một thiên bias, để tạo ra tổng trọng số Tổng trọng số này được truyền qua hàm kích hoạt phi tuyến, như sigmoid hoặc ReLU, giúp mạng học các mối quan hệ phức tạp giữa đầu vào và đầu ra.

Lớp đầu ra trong mạng nơ-ron chịu trách nhiệm tạo ra dự đoán cuối cùng hoặc kết quả phân loại dựa trên các tính toán từ các lớp ẩn Số lượng tế bào thần kinh trong lớp đầu ra thường tương ứng với số lượng lớp đầu ra mong muốn Đối với tác vụ phân loại nhị phân, lớp đầu ra có thể chỉ có một tế bào thần kinh, cho ra giá trị xác suất cho khả năng thuộc về một trong hai lớp Trong khi đó, trong kịch bản phân loại nhiều lớp, lớp đầu ra sẽ bao gồm nhiều nơ-ron, mỗi nơ-ron đại diện cho xác suất thuộc về một lớp cụ thể.

Trong giai đoạn đào tạo, mạng nơ-ron nhân tạo (ANN) áp dụng lan truyền ngược để điều chỉnh trọng số và thành kiến của các nơ-ron Quá trình này dựa trên sự khác biệt giữa đầu ra dự đoán và đầu ra mong muốn, cho phép mạng học và cải thiện hiệu suất theo thời gian Nhờ vào việc giảm thiểu lỗi giữa đầu ra dự đoán và thực tế, mạng có thể tối ưu hóa khả năng dự đoán của mình.

Mạng nơ-ron nhân tạo (ANN) đã được ứng dụng rộng rãi trong nhiều lĩnh vực như thị giác máy tính, xử lý ngôn ngữ tự nhiên, nhận dạng giọng nói và mô hình tài chính Với khả năng học hỏi từ dữ liệu và nhận diện các mẫu phức tạp, ANN trở thành công cụ mạnh mẽ cho các nhiệm vụ như phân loại hình ảnh, phân tích cảm xúc và dự đoán Bằng cách mô phỏng cấu trúc và chức năng của não người, mạng nơ-ron nhân tạo đã cách mạng hóa lĩnh vực học máy và là nền tảng cho các hệ thống trí tuệ nhân tạo tiên tiến.

Hàm kích hoạt là yếu tố quan trọng trong mạng nơ-ron nhân tạo (ANN), giúp đưa tính phi tuyến vào các tính toán của mô hình Tính phi tuyến này cho phép ANN học hỏi và thể hiện các mẫu cũng như mối quan hệ phức tạp trong dữ liệu Có nhiều hàm kích hoạt phổ biến được sử dụng, mỗi loại mang lại những đặc điểm và lợi ích riêng.

Hàm kích hoạt sigmoid, được định nghĩa là σ (x) = 1 / (1 + exp (-x)), nhận đầu vào là bất kỳ số thực nào và nén nó vào khoảng từ 0 đến 1 Đường cong hình chữ S của hàm này cho phép đầu ra được hiểu như xác suất Trong các tác vụ phân loại nhị phân, sigmoid thường được sử dụng ở lớp đầu ra để tạo ra giá trị xác suất thể hiện khả năng thuộc về một trong hai lớp Tuy nhiên, hàm sigmoid gặp vấn đề biến mất gradient, điều này có thể gây cản trở cho quá trình học tập khi mạng trở nên sâu hơn.

- Hàm kích hoạt ReLU (Rectified Linear Unit):

Hàm kích hoạt ReLU, được định nghĩa là ReLU(x) = max(0, x), trả về giá trị đầu vào nếu nó dương và thiết lập giá trị âm về không ReLU đã trở nên phổ biến nhờ vào sự đơn giản và hiệu quả, giúp khắc phục vấn đề biến mất gradient và tăng tốc độ hội tụ trong quá trình đào tạo mạng Tuy nhiên, một nhược điểm của ReLU là hiện tượng "tế bào thần kinh chết", khi các tế bào thần kinh bị kẹt ở mức không và không còn khả năng học Để khắc phục vấn đề này, các biến thể như Leaky ReLU và Parametric ReLU thường được sử dụng.

Hàm kích hoạt tiếp tuyến hyperbolic (tanh) được định nghĩa là tanh(x) = (exp(x) - exp(-x)) / (exp(x) + exp(-x)), và nó bóp méo các giá trị đầu vào về khoảng -1 đến 1, tương tự như hàm sigmoid nhưng với phạm vi được dịch chuyển Tanh đối xứng quanh số không và thường được sử dụng trong các lớp ẩn của mạng thần kinh, giúp cải thiện tốc độ hội tụ học tập Tuy nhiên, giống như hàm sigmoid, tanh cũng có thể gặp vấn đề với biến mất gradient Ngoài tanh, các hàm kích hoạt khác như softmax, PReLU, ELU và Swish cũng được sử dụng, mỗi hàm mang lại những lợi ích riêng cho các kịch bản cụ thể Việc chọn lựa hàm kích hoạt phù hợp phụ thuộc vào bản chất của vấn đề, kiến trúc mạng và hành vi mong muốn của mô hình, thường yêu cầu thử nghiệm và tinh chỉnh để đạt hiệu quả tốt nhất cho từng tác vụ.

Các hàm mất mát là thành phần quan trọng trong các mô hình máy học, bao gồm mạng nơ-ron nhân tạo (ANN), giúp định lượng sự khác biệt giữa đầu ra dự đoán và giá trị mục tiêu thực tế Chúng cung cấp thước đo hiệu suất của mô hình bằng cách đo lường sự chênh lệch này Việc lựa chọn hàm mất mát phù hợp phụ thuộc vào bản chất của vấn đề cần giải quyết Dưới đây là hai hàm mất mát phổ biến thường được sử dụng.

- Hàm mất mát bình phương trung bình (MSE):

Hàm tổn thất sai số bình phương trung bình (MSE) đo lường sự khác biệt bình quân giữa giá trị dự đoán (ŷ) và giá trị thực tế (y) MSE được định nghĩa là trung bình của các bình phương sai số, giúp đánh giá độ chính xác của mô hình dự đoán.

Trong bài toán hồi quy, y đại diện cho giá trị mục tiêu thực tế, ŷ là đầu ra dự đoán, và n là tổng số mẫu Việc bình phương các khác biệt giúp đảm bảo rằng cả sai số dương và âm đều có ảnh hưởng tương đương đến tổn thất chung Trung bình bình phương sai số (MSE) thường được áp dụng trong các bài toán này.

Hồi quy là một phương pháp thống kê quan trọng nhằm dự đoán các giá trị liên tục, trong đó hàm mất MSE (Mean Squared Error) có vai trò trừng phạt các lỗi lớn một cách nghiêm ngặt, dẫn đến việc nó trở nên nhạy cảm với các ngoại lệ.

- Hàm mất mát Cross Entropy:

Đào tạo mạng nơ-ron nhân tạo

Đào tạo một mô hình học sâu bao gồm nhiều bước quan trọng nhằm tối ưu hóa hiệu suất của mô hình Các bước này bao gồm chuẩn bị dữ liệu, xây dựng kiến trúc mô hình, huấn luyện mô hình với tập dữ liệu, điều chỉnh siêu tham số và đánh giá hiệu suất Mỗi bước đều đóng vai trò thiết yếu trong việc đảm bảo mô hình hoạt động hiệu quả và chính xác.

Để bắt đầu, bạn cần chuẩn bị bộ dữ liệu bằng cách chia nhỏ thành các bộ đào tạo, xác nhận và kiểm tra Bộ đào tạo giúp tối ưu hóa tham số của mô hình, bộ xác nhận điều chỉnh siêu tham số và theo dõi hiệu suất, trong khi bộ kiểm tra đánh giá hiệu suất cuối cùng Việc tiền xử lý dữ liệu, bao gồm chuẩn hóa, thay đổi kích thước và các chuyển đổi cần thiết, là rất quan trọng để đảm bảo tính nhất quán và phù hợp với mô hình.

Khởi tạo trọng số trong mô hình học sâu là bước quan trọng, thường được thực hiện ngẫu nhiên, nhưng cũng có thể sử dụng trọng số từ các mô hình đã được đào tạo trước Việc khởi tạo thích hợp ảnh hưởng trực tiếp đến tốc độ hội tụ và chất lượng giải pháp cuối cùng của mô hình.

Trong bước này, bạn cung cấp dữ liệu đầu vào thông qua mô hình để có được dự đoán

Dữ liệu đầu vào được truyền qua các lớp của mô hình và mỗi lớp thực hiện các tính toán

30 và biến đổi trên dữ liệu Quá trình truyền về phía trước này tính toán đầu ra của mô hình dựa trên tập hợp các trọng số hiện tại

Sau khi nhận được dự đoán từ mô hình, bạn cần so sánh chúng với các giá trị chân lý hoặc mục tiêu cơ bản Việc so sánh này được thực hiện thông qua hàm mất, giúp định lượng sự khác biệt giữa đầu ra dự đoán và mục tiêu thực tế Lựa chọn hàm mất phụ thuộc vào nhiệm vụ cụ thể, ví dụ như sử dụng lỗi bình phương trung bình (MSE) cho hồi quy hoặc mất mát entropy chéo cho phân loại Hàm mất đóng vai trò quan trọng trong việc cung cấp thước đo mức độ hoạt động của mô hình.

- Lan truyền ngược và cập nhật trọng số

Sau khi tính toán tổn thất, bước tiếp theo là cập nhật trọng số của mô hình nhằm giảm thiểu tổn thất thông qua quá trình truyền ngược Quá trình này bao gồm việc tính toán độ dốc của hàm mất đối với trọng số, cho biết hướng và độ lớn của các cập nhật cần thiết Để thực hiện việc này, các thuật toán tối ưu hoá như gradient descent, stochastic gradient descent (SGD) và Adam được sử dụng để cập nhật trọng số dựa trên các gradient đã tính Tốc độ học tập, một siêu tham số quan trọng, xác định kích thước bước cho các cập nhật trọng số.

- Đào tạo lặp đi lặp lại

Trong quá trình đào tạo mô hình, các bước truyền về phía trước, tính toán tổn thất và truyền ngược được lặp lại qua nhiều kỷ nguyên, với mỗi kỷ nguyên đại diện cho một lần xử lý toàn bộ tập dữ liệu Mô hình học hỏi từ dữ liệu trong mỗi kỷ nguyên và cập nhật trọng số để giảm thiểu tổn thất Số lượng kỷ nguyên phụ thuộc vào sự hội tụ của mô hình và tài nguyên sẵn có Hiệu suất của mô hình trên bộ xác nhận thường được theo dõi trong suốt quá trình đào tạo để đánh giá tiến trình và thực hiện điều chỉnh khi cần thiết.

Sau khi hoàn thành quá trình đào tạo mô hình cho số kỷ nguyên mong muốn, bước tiếp theo là đánh giá hiệu suất của nó trên bộ thử nghiệm Bộ thử nghiệm này đóng vai trò quan trọng trong việc cung cấp một thước đo khách quan về khả năng khái quát hóa của mô hình đối với dữ liệu chưa được thấy trước đó.

Các số liệu đánh giá hiệu suất phụ thuộc vào nhiệm vụ cụ thể, bao gồm các yếu tố như độ chính xác, độ chính xác, tỷ lệ thu hồi và lỗi bình phương trung bình.

- Tối ưu hoá tinh chỉnh và siêu tham số

Sau khi mô hình ban đầu hoàn tất quá trình đào tạo, các bước tinh chỉnh và tối ưu hóa tiếp theo có thể được thực hiện Việc này bao gồm điều chỉnh các siêu tham số như tốc độ học tập, kích thước lô và kỹ thuật chuẩn hóa nhằm nâng cao hiệu suất của mô hình Ngoài ra, các kỹ thuật như dừng sớm và tập hợp mô hình cũng được áp dụng để ngăn ngừa hiện tượng quá mức và cải thiện khả năng khái quát hóa.

Thông qua việc lặp lại quá trình đào tạo và tối ưu hóa, các mô hình học sâu có khả năng nhận diện các mẫu và biểu diễn phức tạp từ dữ liệu thô, từ đó giúp chúng nổi bật trong nhiều tác vụ khác nhau, đặc biệt là trong lĩnh vực thị giác máy tính.

TỔNG QUAN VỀ COMPUTER VISION

Giới thiệu

Thị giác máy tính, một lĩnh vực của trí tuệ nhân tạo, cho phép máy tính nhận thức và hiểu thông tin thị giác từ môi trường xung quanh Với ứng dụng rộng rãi trong phân tích hình ảnh, video, xe tự hành và robot, thị giác máy tính đang ngày càng trở nên quan trọng Bài viết này sẽ cung cấp cái nhìn tổng quan về các nhiệm vụ chính trong thị giác máy tính, nhấn mạnh vai trò quan trọng của học sâu trong sự phát triển của lĩnh vực này, đồng thời khám phá một số bộ dữ liệu và chỉ số hiệu suất phổ biến.

Các nhiệm vụ chính của thị giác máy tính

Phân loại hình ảnh liên quan đến việc gán nhãn hoặc danh mục cho hình ảnh dựa trên nội dung của nó Thông thường, nhiệm vụ này được thực hiện thông qua các kỹ thuật học có giám sát, trong đó mô hình được đào tạo trên bộ dữ liệu hình ảnh đã được gán nhãn Ví dụ, hệ thống phân loại hình ảnh có thể nhận diện các đối tượng như mèo, chó, xe hơi và xe đạp bằng cách phân tích các mẫu và đặc điểm trong hình ảnh Công nghệ này ứng dụng rộng rãi trong nhiều lĩnh vực, bao gồm chẩn đoán y tế, kiểm soát chất lượng sản xuất và lọc nội dung trên các nền tảng truyền thông xã hội.

Phát hiện đối tượng là quá trình xác định và định vị nhiều đối tượng trong hình ảnh, cung cấp nhãn lớp và tọa độ hộp giới hạn Nhiệm vụ này thường sử dụng mạng nơ-ron tích chập (CNN) để nắm bắt mối quan hệ không gian và trích xuất tính năng từ hình ảnh Một số thuật toán phát hiện đối tượng phổ biến như R-CNN, YOLO và SSD cho phép ứng dụng trong xe tự lái để phát hiện người đi bộ, biển báo giao thông và các phương tiện khác, đồng thời hỗ trợ hệ thống giám sát và quản lý hàng tồn kho dựa trên hình ảnh.

Phân đoạn hình ảnh là quá trình chia hình ảnh thành các vùng riêng biệt và gán nhãn lớp cho từng pixel, giúp hiểu rõ cấu trúc cảnh Nhiệm vụ này thường được thực hiện bằng mạng tích chập đầy đủ (FCN) và các biến thể như U-Net, nổi bật trong phân đoạn hình ảnh y tế, cho phép xác định chính xác các cơ quan hoặc khối u Một mô hình khác, DeepLab, sử dụng tích chập atrous để thu thập thông tin đa quy mô, đạt được độ chính xác cao trong phân đoạn đối tượng Phân đoạn hình ảnh có nhiều ứng dụng, bao gồm trong lĩnh vực y tế, điều hướng tự động và thực tế tăng cường.

Một vài nhiệm vụ khác

Theo dõi đối tượng là quá trình xác định và giám sát một hoặc nhiều đối tượng trong chuỗi khung hình video, liên kết danh tính của chúng với các lần xuất hiện trước đó Công nghệ này có nhiều ứng dụng hữu ích, bao gồm giám sát an ninh, phân tích video và trong lĩnh vực robot.

Nhận dạng khuôn mặt là quá trình nhận diện và xác minh cá nhân dựa trên các đặc điểm khuôn mặt Quá trình này bao gồm việc phát hiện và trích xuất các mốc trên khuôn mặt, mã hóa các đặc điểm thành một đại diện nhỏ gọn, và so sánh với cơ sở dữ liệu khuôn mặt đã biết Công nghệ này có ứng dụng rộng rãi trong hệ thống bảo mật, kiểm soát truy cập và xác minh danh tính kỹ thuật số.

3.3.3 Ước tính tư thế Ước tính tư thế nằm mục đích ước tính tư thế hoặc định hướng 3D của các đối tượng hoặc cơ thể người trong hình ảnh hoặc video Nó liên quan đến việc phát hiện các điểm chính hoặc khớp và suy ra cấu hình không gian của đối tượng hoặc người Ước tính Pose tìm thấy các ứng dụng trong tương tác giữa người và máy tính, chơi game và phân tích thể thao

Vai trò của học sâu trong thị giác máy tính

Học sâu, một nhánh của học máy, đã có ảnh hưởng lớn đến sự phát triển của thị giác máy tính Mạng nơ-ron sâu, đặc biệt là mạng nơ-ron tích chập (CNN), thể hiện hiệu suất ấn tượng trong nhiều nhiệm vụ liên quan đến thị giác máy tính Bài viết này sẽ khám phá những đóng góp quan trọng của học sâu đối với lĩnh vực thị giác máy tính.

Các mô hình học sâu, đặc biệt là CNN, nổi bật trong việc tự động học các biểu diễn phân cấp từ dữ liệu hình ảnh thô Chúng có khả năng trích xuất các tính năng phức tạp và trừu tượng ở nhiều cấp độ khác nhau, giúp mô hình nắm bắt thông tin thị giác phong phú Khả năng này đã nâng cao đáng kể độ chính xác và độ mạnh mẽ của các hệ thống thị giác máy tính.

Học sâu cho phép mô hình học tập từ đầu đến cuối, trực tiếp ánh xạ đầu vào thô như hình ảnh đến đầu ra mong muốn như lớp đối tượng hoặc nhãn pixel, mà không cần dựa vào tính năng thủ công hay thuật toán quy tắc Cách tiếp cận này giúp đào tạo các mô hình hiệu quả hơn, dẫn đến những bước đột phá trong các tác vụ thị giác máy tính.

Chuyển giao học tập là một phương pháp hiệu quả, cho phép các mô hình học sâu, được đào tạo trên các bộ dữ liệu lớn như ImageNet, áp dụng cho các tác vụ và miền mới với dữ liệu dán nhãn hạn chế Bằng cách sử dụng các mô hình đã được đào tạo trước làm điểm khởi đầu, quá trình phát triển mô hình trở nên nhanh chóng và chính xác hơn Kỹ thuật này đã mở ra cơ hội cho việc ứng dụng thị giác máy tính trong nhiều lĩnh vực khác nhau, bao gồm hình ảnh y tế và các ứng dụng công nghiệp, ngay cả khi dữ liệu chú thích không phong phú.

CƠ SỞ LÝ THUYẾT VỀ MẠNG NƠ-RON TÍCH CHẬP (CNN)

Khái niệm

Mạng nơ-ron tích chập (CNN) là một loại mạng nơ-ron nhân tạo chuyên dụng cho việc xử lý và phân tích dữ liệu hình ảnh như hình ảnh và video CNN đã đạt được thành công lớn trong nhiều nhiệm vụ thị giác máy tính, bao gồm phân loại hình ảnh, phát hiện đối tượng và phân đoạn hình ảnh Bài viết này sẽ cung cấp cái nhìn chi tiết về CNN, các thành phần chính của nó và các phương trình toán học nền tảng cho hoạt động của mạng.

Các lớp phổ biến trong mạng nơ-ron tích chập

Lớp tích chập thực hiện thao tác tích chập trên dữ liệu đầu vào bằng cách trượt bộ lọc (hay hạt nhân) và tính toán sản phẩm phần tử giữa bộ lọc và đầu vào, sau đó tóm tắt các giá trị kết quả Thao tác này diễn ra trên các vùng cục bộ của dữ liệu, giúp lớp học các đặc trưng không gian như cạnh, góc và kết cấu Đầu ra của lớp tích chập, được gọi là bản đồ tính năng, là kết quả của việc áp dụng nhiều bộ lọc lên dữ liệu đầu vào.

⋅ 𝐊(𝐦, 𝐧) (7) trong đó 𝐶(𝑖, 𝑗) đại diện cho giá trị tại vị trí (𝑖, 𝑗) trong ánh xạ tính năng đầu ra, 𝐼(𝑖 +

𝑚, 𝑗 + 𝑛) biểu thị giá trị đầu vào tại vị trí (𝑖 + 𝑚, 𝑗 + 𝑛) và 𝐾(𝑚, 𝑛) là hạt nhân bộ lọc

Siêu tham số của lớp tích chập

Kích thước bộ lọc quyết định phạm vi tiếp nhận của bộ lọc tích chập, xác định không gian mà cửa sổ bộ lọc di chuyển trên dữ liệu đầu vào Kích thước hạt nhân lớn hơn giúp nắm bắt nhiều thông tin cục bộ hơn, nhưng cũng làm tăng số lượng tham số trong mạng Ngược lại, kích thước hạt nhân nhỏ hơn sẽ giảm thiểu số lượng tham số nhưng có thể bỏ lỡ thông tin quan trọng.

36 nhỏ hơn tập trung vào các chi tiết hạt mịn hơn Kích thước hạt nhân phổ biến là 3x3, 5x5 và 7x7

Sải bước trong quá trình tích chập xác định kích thước bước mà hạt nhân di chuyển trên dữ liệu đầu vào Sải chân lớn hơn giúp giảm kích thước không gian của bản đồ tính năng đầu ra, trong khi sải chân nhỏ hơn lại bảo tồn nhiều thông tin không gian hơn Tích chập không chỉ hữu ích cho việc lấy mẫu các bản đồ tính năng mà còn giúp giảm độ phức tạp tính toán.

Đệm là kỹ thuật quan trọng trong việc bảo tồn kích thước không gian của các bản đồ tính năng đầu vào sau khi áp dụng tích chập Bằng cách đệm đầu vào bằng số không, ánh xạ đặc trưng đầu ra có thể giữ nguyên kích thước không gian với đầu vào, ngăn chặn sự giảm kích thước ánh xạ và mất thông tin không gian quan trọng ở viền đầu vào Hai loại đệm phổ biến là 'hợp lệ' (không đệm) và 'giống nhau' (đệm đầu vào để đầu ra có cùng kích thước không gian).

Phương trình để tính toán kích thước bản đồ tính năng đầu ra với sải chân tương tự như phương trình đệm:

Với 𝑂 biểu thị kích thước đầu ra, 𝑊 đại diện cho kích thước đầu vào, 𝐾 là kích thước hạt nhân, 𝑃 là kích thước đệm và 𝑆 là bước

Các lớp gộp, đặc biệt là gộp tối đa, là thành phần thiết yếu trong Mạng nơ-ron tích chập (CNN), giúp giảm kích thước không gian của bản đồ tính năng mà vẫn giữ lại thông tin quan trọng Kỹ thuật gộp tối đa chia bản đồ tính năng đầu vào thành các vùng không chồng chéo và chọn giá trị tối đa trong từng vùng Phép toán gộp tối đa có thể được biểu diễn bằng các công thức toán học cụ thể.

Giá trị đầu ra tại vị trí (𝑖, 𝑗) trong bản đồ tính năng được tính bằng công thức 𝑂 (𝑖, 𝑗) = 𝑚𝑎𝑥 (𝑅 (𝑖, 𝑗)) Trong đó, 𝑅 (𝑖, 𝑗) thể hiện vùng đầu vào tương ứng với vị trí đó.

Các lớp gộp cung cấp nhiều lợi ích trong kiến trúc CNN:

Việc lấy mẫu bản đồ tính năng giúp giảm kích thước mô hình, từ đó tăng hiệu quả tính toán và giảm số lượng tham số cần thiết.

Gộp chung tối đa góp phần vào sự ổn định của bản dịch bằng cách lựa chọn các tính năng nổi bật nhất, không phụ thuộc vào vị trí không gian của chúng Điều này giúp cải thiện khả năng nhận diện các mẫu và đối tượng trong mạng, bất chấp vị trí chính xác của chúng trong dữ liệu đầu vào.

Các lớp gộp trong mạng nơ-ron tích chập (CNN) tóm tắt thông tin bằng cách tập trung vào các tính năng quan trọng, giúp giảm nhiễu và nâng cao độ bền Đặc tính bất biến không gian của chúng cho phép CNN phát hiện đối tượng mà không bị ảnh hưởng bởi vị trí, hỗ trợ khả năng khái quát hóa Hơn nữa, các lớp gộp còn giúp mạng học được các tính năng phân cấp bằng cách tổng hợp các đặc trưng trừu tượng và cấp cao, từ đó nắm bắt được các mẫu phức tạp và xây dựng một đại diện phân cấp cho dữ liệu đầu vào.

Hàm kích hoạt là yếu tố quan trọng trong Mạng nơ-ron tích chập (CNN), giúp giới thiệu phi tuyến tính và mô hình hóa các mối quan hệ phức tạp giữa đầu vào và đầu ra Một trong những hàm kích hoạt phổ biến nhất trong CNN là Đơn vị tuyến tính được chỉnh sửa (ReLU), với phương trình toán học đặc trưng.

Trong phương trình này, 𝑓 (𝑥) đại diện cho đầu ra của hàm kích hoạt 𝑅𝑒𝐿𝑈 và 𝑥 biểu thị đầu vào cho hàm kích hoạt

Chức năng kích hoạt ReLU (Rectified Linear Unit) được sử dụng phổ biến trong các mạng nơ-ron tích chập (CNN) nhờ khả năng tạo ra kích hoạt thưa thớt, giúp tập trung vào các tính năng quan trọng và loại bỏ thông tin không liên quan ReLU hoạt động bằng cách biến đổi các đầu vào âm thành 0 và giữ nguyên các giá trị dương, từ đó nâng cao hiệu suất của mạng nơ-ron trong việc học và nhận diện đặc trưng.

Kích hoạt thưa thớt giúp mạng tập trung tài nguyên vào các tính năng nổi bật Trong quá trình đào tạo, mạng học cách kích hoạt các tế bào thần kinh để phản ứng mạnh mẽ với các đặc điểm quan trọng như cạnh hoặc mẫu trong hình ảnh.

38 cách thúc đẩy sự thưa thớt, ReLU ưu tiên và nhấn mạnh các tính năng quan trọng, giúp tăng cường khả năng của mạng trong việc nắm bắt thông tin có liên quan.

ReLU giúp ngăn chặn thông tin không cần thiết bằng cách ức chế kích hoạt các tế bào thần kinh không phản ứng mạnh với các đặc điểm quan trọng hoặc chứa nhiễu Điều này làm giảm ảnh hưởng của thông tin và nhiễu ít hữu ích, từ đó tạo ra các đại diện mạnh mẽ và tập trung hơn.

4.2.4 Lớp kết nối hoàn toàn

Các lớp kết nối hoàn toàn, hay còn gọi là các lớp dày đặc, giữ vai trò quan trọng trong mạng nơ-ron tích chập (CNN) khi thực hiện nhiệm vụ phân loại hoặc hồi quy Chúng kết nối với tất cả nơ-ron trong lớp trước, cho phép học các tính năng toàn cầu và đưa ra quyết định dựa trên toàn bộ đầu vào.

Về mặt toán học, đầu ra của một lớp được kết nối hoàn toàn có thể được biểu diễn như sau:

CỞ SỞ LÝ THUYẾT VỀ HỌC BÁN GIÁM SÁT

Khái niệm

Học bán giám sát là một phương pháp sử dụng cả dữ liệu có gán nhãn và không có gán nhãn, trong đó tỷ lệ dữ liệu có gán nhãn thường thấp hơn rất nhiều so với dữ liệu chưa gán nhãn.

Về mặt toán học, mô hình sẽ nhận đầu vào bao gồm: o Dữ liệu có gán nhãn: (𝒙 𝒊 , 𝒚 𝒊 ) 𝒊=𝟏 𝒍 o Dữ liệu không gán nhãn: ൫𝒙 𝒋 ൯

Mô hình sẽ học dựa trên cả dữ liệu có nhãn mà không có nhãn để đưa ra dữ đoán

Có hai dạng mô hình mà các phương pháp học bán giám sát sử dụng: o Mô hình quy nạp : Cung cấp đầu vào {(𝒙 𝒊 , 𝒚 𝒊 )} 𝒊=𝟏 𝒍 , ൫𝒙 𝒋 , 𝒚 𝒋 ൯

Mô hình 𝒍+𝒖 nhằm ước lượng hàm ánh xạ 𝒇: 𝑿 → 𝒚 để dự đoán các nhãn 𝑦 cho dữ liệu tương lai chưa có trong tập huấn luyện, bao gồm cả những điểm dữ liệu chưa được gán nhãn Mô hình truyền dẫn cung cấp đầu vào dưới dạng cặp {(𝒙 𝒊 , 𝒚 𝒊 )} 𝒊=𝟏 𝒍 và {(𝒙 𝒋 , 𝒚 𝒋 )}.

Mô hình 𝒍+𝒖 nhằm ước lượng hàm ánh xạ 𝒇: 𝑿 𝒍+𝒖 → 𝒚 𝒍+𝒖 để dự đoán nhãn cho các điểm dữ liệu chưa được gán nhãn Hàm ánh xạ 𝑓 chỉ được xác định bởi các điểm dữ liệu huấn luyện, không có khả năng dự đoán cho dữ liệu bên ngoài Do đó, để dự đoán nhãn cho một điểm dữ liệu mới, cần thêm điểm dữ liệu đó vào tập chưa được gán nhãn và tiến hành huấn luyện lại mô hình.

Các giả định chính

Giả thuyết về độ mượt mà cho rằng nếu hai điểm 𝑥1 và 𝑥2 gần nhau trong một vùng có mật độ điểm cao, thì nhãn của chúng có xu hướng tương đồng Điều này có nghĩa là nếu hai điểm cùng mang một nhãn và nằm trong khu vực mật độ cao, dự đoán đầu ra của chúng sẽ giống nhau Ngược lại, nếu hai điểm cách nhau bởi một vùng mật độ thấp, nhãn của chúng cũng có xu hướng giống nhau.

Giả thuyết cụm (Cluster Assumption) cho rằng nếu hai điểm 𝑥₁ và 𝑥₂ nằm trong cùng một cụm, chúng có xu hướng mang cùng một nhãn Ngược lại, nếu hai điểm nằm ở hai cụm khác nhau, chúng thường có nhãn khác nhau Đây là một trường hợp đặc biệt của tính mượt mà (Smoothness).

Assumption vì hai cluster thường tách nhau bằng một vùng có mật độ thấp và một cluster thì thường có mật độ cao

Giả thuyết Manifold cho rằng dữ liệu trong không gian chiều cao thực chất nằm trên một đa tạp có chiều thấp hơn Việc ước lượng phân phối dữ liệu và xác định khoảng cách giữa các nhãn trong không gian chiều cao thường gặp khó khăn Tuy nhiên, nếu dữ liệu được xác định là nằm trên một đa tạp có chiều thấp hơn, chúng ta có thể tìm ra đại diện cho dữ liệu ở chiều thấp hơn bằng cách sử dụng dữ liệu chưa được gán nhãn, từ đó hỗ trợ hiệu quả cho việc huấn luyện các mô hình.

Các thuật toán học máy bán giám sát

Các phương pháp học bán giám sát bao gồm: 1) **Consistency Regularization (Consistency Training)**, trong đó dữ liệu bị nhiễu vẫn giữ nguyên nhãn, ví dụ như ảnh chó được tăng độ sáng vẫn được nhận diện là chó; 2) **Proxy-label Methods**, tái sử dụng mô hình đã huấn luyện trên dữ liệu đã gán nhãn để gán nhãn cho dữ liệu chưa gán nhãn, với các thuật toán như Self-training, Co-training và Multi-view training; 3) **Generative models**, dựa trên định lý Bayes, đưa ra dự đoán từ phân phối dữ liệu thay vì định nghĩa quyết định ranh giới, ví dụ như sinh ảnh và văn bản; 4) **Graph-based methods**, coi dữ liệu đã gán nhãn và chưa gán như các đỉnh của đồ thị, với nhiệm vụ lan truyền nhãn từ các đỉnh đã gán sang các điểm chưa gán.

Sự tương quan giữa hai đỉnh được định nghĩa bằng trọng số của cạnh nối liền hai đỉnh đó

Hình 1: Mô tả thuật toán Self-training 2

Mô hình học giám sát đã được huấn luyện có khả năng dự đoán chính xác một số điểm dữ liệu có điểm số cao nhất Đối với các mô hình phân loại, chúng ta giả định rằng những điểm dữ liệu được dự đoán với độ tin cậy cao nhất là chính xác Giả định này thường hiệu quả với các bộ dữ liệu được phân chia thành các cụm tách biệt.

3 Train 𝑓 using L using supervised learningn

5 Move k-best prediction from L to U

2 Understanding Deep Learning Algorithms that Leverage Unlabeled Data, Part 1: Self -training | SAIL Blog (stanford.edu)

Self-training là một thuật toán bọc (wrapper-algorithm) lặp lại việc huấn luyện mô hình nhiều lần thông qua các phiên bản dữ liệu khác nhau

Self-training là phương pháp sử dụng mô hình học có giám sát kết hợp với tập dữ liệu gồm một lượng nhỏ dữ liệu có gán nhãn và phần lớn chưa gán nhãn Trong mỗi bước lặp, mô hình được huấn luyện với dữ liệu có gán nhãn, sau đó sử dụng mô hình đã huấn luyện để gán nhãn cho các điểm dữ liệu có độ tin cậy cao Cuối cùng, mô hình sẽ được huấn luyện lại với bộ dữ liệu mới đã được gán nhãn, tạo nên quá trình tự học của chính nó, từ đó tên gọi self-training được hình thành.

Do self-training là một thuật toán bọc, cho phép kết hợp dễ dàng với nhiều mô hình học có giám sát khác.

- Ưu điểm: o Thuật toán đơn giản, dễ áp dụng o Là thuật toán bọc nên dễ dàng kết hợp với những mô hình học có giám sát khác

- Nhược điểm: o Nhiễu trong dữ liệu sẽ làm sai giả định của thuật toán, tạo ra kết quả không mong muốn

5.3.2.1 Các góc nhìn của một điểm dữ liệu

Trong thực tế, sự vật hoặc hiện tượng thường được đánh giá từ nhiều góc nhìn khác nhau Chẳng hạn, trong bài toán xử lý ngôn ngữ tự nhiên, việc xác định thực thể trong câu với hai nhãn là tên người và địa điểm là một thách thức Nhiệm vụ này yêu cầu nhận diện từ trong câu là tên người hay địa điểm, như “Thành phố Hồ Chí Minh” là địa điểm và “Chủ tịch Hồ Chí Minh” là tên người Tuy nhiên, việc phân biệt cụm từ “Hồ Chí Minh” giữa hai ví dụ này không hề đơn giản và dễ dẫn đến nhầm lẫn Thay vì chỉ tập trung vào phân loại thực thể trong một câu, chúng ta có thể sử dụng cấu trúc Multiview để biểu diễn mỗi câu một cách hiệu quả hơn.

Trong bài toán đã nêu, mỗi câu ví dụ có thể được trình bày dưới dạng đa góc nhìn Góc nhìn thứ nhất bao gồm các thực thể đã được xác định trước, trong khi góc nhìn thứ hai tập trung vào các từ ngữ mang ý nghĩa ngữ cảnh liên quan đến những thực thể đó.

Câu Góc nhìn 1 Góc nhìn 2 Nhãn

1 Hồ Chí Minh Thành phố Địa điểm

2 Hồ Chí Minh Chủ tịch Tên người

Việc khắc phục nhầm lẫn từ ngữ đã được thực hiện qua góc nhìn thứ hai, cho phép chúng ta huấn luyện mô hình để phân loại các ngữ cảnh trong câu Điều này giúp đưa ra dự đoán chính xác cho thực thể như trong ví dụ 1.

- Giả định 1 : Phải tồn tại một mô hình hoạt động tốt ứng với mỗi góc nhìn độc lập

Nếu tồn tại góc nhìn mà mô hình ở góc nhìn đó hoạt động không tốt thì nó sẽ kéo hiệu suất của toàn bộ hệ thống thấp đi

Giả định 2 yêu cầu rằng các góc nhìn phải độc lập xác suất với nhau Trong thuật toán, nếu hai góc nhìn không độc lập, các mô hình có thể gán nhãn cho nhau một cách không chính xác, dẫn đến việc một góc nhìn có thể nhận được điểm số cao nhưng lại không phản ánh đúng ý nghĩa thực sự của nó.

Hình 2: Mô tả thuật toán Co-training 3

Thay vì cho phép một mô hình tự huấn luyện như trong thuật toán tự huấn luyện (self-training), thuật toán co-training cho phép các mô hình học hỏi và gán nhãn cho nhau trong từng vòng lặp Kết quả cuối cùng mang lại là một mô hình có khả năng tổng quát cao nhờ vào việc được huấn luyện từ nhiều góc nhìn khác nhau.

Co-training là một phương pháp nâng cao của self-training, cho phép mô hình học hỏi từ các mô hình khác, không chỉ từ chính nó Điều này giúp giảm thiểu tình trạng nhiễu trong dữ liệu, từ đó cải thiện độ chính xác của kết quả mô hình.

Each point has two views [𝑥 1 , 𝑥 2 ]

3 Train 𝑓 1 using 𝐿 1 using supervised learning

3 Illustrates the co-training process where each online classifier | Download Scientific Diagram (researchgate.net)

4 Train 𝑓 2 using 𝐿 2 using supervised learning

6 Move k-best prediction from 𝑈 1 to 𝐿 2

8 Move k-best prediction from 𝑈 2 to 𝐿 1

Mỗi mô hình chỉ tập trung vào góc nhìn riêng của mình và không xem xét các góc nhìn khác Chúng truyền đạt kiến thức cho các mô hình khác bằng cách cung cấp những dự đoán chính xác nhất mà chúng đã học được trong quá trình huấn luyện.

Co-training là một thuật toán bọc tương tự như Self-training, cho phép kết hợp dễ dàng với các mô hình học có giám sát khác Điều kiện cần là các mô hình này phải có khả năng đưa ra điểm số cho từng dự đoán.

Mô hình học từ nhiều góc nhìn khác nhau, giúp tăng tính tổng quát và giảm thiểu nhầm lẫn giữa các mẫu tương tự Ngoài ra, thuật toán bọc có khả năng áp dụng linh hoạt cho nhiều mô hình khác nhau.

Nhược điểm của phương pháp này bao gồm việc cần xây dựng các góc nhìn cho bộ dữ liệu, yêu cầu các mô hình hoạt động hiệu quả trên các góc nhìn đó, và đòi hỏi các góc nhìn phải độc lập xác suất với nhau.

5.3.3.1 Giới thiệu về Generative model

Các mô hình machine learning có thể được chia thành hai loại chính: Discriminative và Generative Mô hình Discriminative dự đoán các điểm dữ liệu mới dựa trên xác suất điều kiện 𝑃(𝑌|𝑋), trong đó Y là nhãn và X là các thuộc tính của dữ liệu Ngược lại, các thuật toán Generative ước lượng xác suất 𝑃(𝑋|𝑌) thay vì 𝑃(𝑌|𝑋).

47 phân phối của các thuộc tính theo từng nhãn Sau đó mới đưa ra dự đoán bằng định lý Bayes

Các thuật toán học sâu bán giám sát cho thị giác máy tính

5.4.1 Các thuật toán học sâu bán giám sát cho phân loại hình ảnh

5.4.1.1 Kết hợp CNN với các thuật toán học máy bán giám sát

5.4.1.1.1 Trích xuất đặc trưng dùng CNN

Trong bài viết này, chúng tôi khám phá việc sử dụng Mạng nơ-ron tích chập (CNN) như một công cụ hiệu quả để trích xuất đặc trưng từ ảnh CNN nổi bật với khả năng tự động học hỏi và nhận diện các đặc trưng quan trọng từ dữ liệu thô, đặc biệt trong lĩnh vực phân tích hình ảnh.

Mạng nơ-ron tích chập (CNN) bao gồm nhiều lớp, bao gồm lớp tích chập và lớp tổng hợp, có nhiệm vụ nhận diện các phân cấp không gian và mẫu quan trọng trong hình ảnh Các lớp này sử dụng bộ lọc để xử lý hình ảnh đầu vào, đồng thời giảm kích thước không gian mà vẫn giữ lại những thông tin nổi bật Quy trình này giúp CNN học các đặc trưng trừu tượng, từ đó phân biệt các vật thể hiệu quả hơn.

Bằng cách áp dụng ma trận đặc trưng, mô hình học máy bán giám sát được huấn luyện dựa trên các đặc điểm nổi bật của ảnh, thay vì xử lý từng pixel, từ đó nâng cao hiệu suất đáng kể Đối với việc khai thác tính năng, chúng tôi thường không sử dụng các lớp kết nối đầy đủ để phân loại, mà thay vào đó, tập trung vào các lớp tích chập và gộp cho đến khi đạt được ma trận đặc trưng.

ALGORITHM 5: CNN ML-semi supervised

4 Run semi-supervised model on L’ and U’

10 End Ưu điểm: Tận dụng được mô hình CNN để trích xuất đặc trưng, tăng độ chính xác của các thuật toán học máy truyền thống

Nhược điểm của việc sử dụng bộ dữ liệu chưa được gán nhãn đầy đủ là khả năng trích xuất đặc trưng không chính xác, điều này ảnh hưởng đến hiệu suất của mô hình CNN, đặc biệt khi các tham số chưa được tối ưu cho bài toán cụ thể.

5.4.1.1.2 Kết hợp CNN cùng các thuật toán học máy bán giám sát dạng bọc

Ngoài việc sử dụng CNN để trích xuất đặc trưng, một phương pháp khác để kết hợp CNN với các kỹ thuật học máy bán giám sát là thông qua các phương pháp bao bọc Các phương pháp bao bọc này sử dụng CNN làm mô hình cơ sở trong các thuật toán học máy.

Toán học bán giám sát cho phép kết hợp dữ liệu được dán nhãn và không dán nhãn nhằm nâng cao hiệu suất Một số mô hình học máy bán giám sát tiêu biểu bao gồm Self-training, Co-training và Multiview-training.

- Ưu điểm: Tận dụng được các mô hình học máy bán giám sát dạng bọc

Mô hình CNN yêu cầu thời gian và tài nguyên huấn luyện cao hơn đáng kể so với các mô hình học máy truyền thống, điều này có thể dẫn đến chi phí tăng cao khi thực hiện nhiều lần huấn luyện.

Transfer learning là một kỹ thuật trong học máy và học sâu, cho phép áp dụng kiến thức từ một tác vụ nguồn vào một tác vụ đích Thay vì bắt đầu huấn luyện mô hình từ đầu, phương pháp này giúp cải thiện hiệu suất của mô hình trên tác vụ mới bằng cách tận dụng thông tin đã học từ tác vụ trước đó.

Phương pháp transfer learning là một kỹ thuật quan trọng trong deep learning, đặc biệt trong việc sử dụng mạng nơ-ron tích chập (CNN) để phân loại hình ảnh Mô hình CNN, khi được huấn luyện trên tập dữ liệu lớn như ImageNet, có khả năng hiểu và trích xuất các đặc trưng cơ bản từ hình ảnh, bao gồm cạnh, góc và các đặc trưng phức tạp hơn như hình dạng của các đối tượng Những đặc trưng này có thể được áp dụng cho nhiều tác vụ phân loại hình ảnh khác nhau, giúp cải thiện độ chính xác và hiệu suất của mô hình.

Kết hợp transfer learning với các thuật toán học máy bán giám sát và CNN giúp tiết kiệm thời gian và công sức trong việc huấn luyện mô hình từ đầu, đồng thời nâng cao hiệu suất trên tác vụ đích Phương pháp này cũng cho phép áp dụng kiến thức từ các tác vụ khác nhau, tăng cường khả năng tổng quát hóa của mô hình.

- Ưu điểm: Tiết kiệm thời gian và công sức huấn luyện mô hình từ đầu Tăng tính tổng quát hóa của mô hình

Một trong những nhược điểm của việc chuyển giao mô hình là khi làm việc với các bộ dữ liệu mới không liên quan đến dữ liệu gốc, việc lựa chọn các lớp cần chuyển giao có thể tốn nhiều thời gian.

Ngoài việc tái sử dụng các mô hình học máy, việc kết hợp với kiến trúc CNN còn mở ra nhiều hướng tiếp cận chuyên biệt cho các mô hình học sâu.

Hình 8: Tổng quan thuật toán MixMatch

MixMatch là một phương pháp học bán giám sát toàn diện, tận dụng dữ liệu không dán nhãn để nâng cao hiệu suất của các mô hình học sâu Phương pháp này cung cấp một khung mạnh mẽ, cho phép đào tạo các mô hình ngay cả khi chỉ có lượng dữ liệu được dán nhãn rất hạn chế.

Trong phương pháp MixMatch các kỹ thuật chính được sử dụng bao gồm:

Kỹ thuật ước lượng nhất quán (consistence regularization) nhằm khuyến khích mô hình đưa ra dự đoán giống nhau cho các biểu diễn khác nhau của một mẫu, được tạo ra từ các phương pháp tăng cường dữ liệu như xoay, dịch, hoặc điều chỉnh độ sáng Bằng cách áp đặt ràng buộc nhất quán, phương pháp MixMatch giúp mô hình học cách nắm bắt cấu trúc cơ bản của dữ liệu, từ đó trở nên nhất quán trong dự đoán và giảm thiểu ảnh hưởng từ những thay đổi nhỏ.

Kỹ thuật tăng cường ảnh MixUp, được tích hợp trong MixMatch, kết hợp các mẫu dữ liệu có gán nhãn và chưa gán nhãn, giúp mô hình học cách nội suy và ngoại suy giữa các mẫu Việc đào tạo mô hình trên các ví dụ tăng cường này dẫn đến sự cải thiện trong khả năng tổng quát hóa và độ mạnh mẽ của mô hình.

- Gán nhãn giả (pseudo label): Là một kĩ thuật cơ bản của học máy bán giám sát

Mô hình được huấn luyện sẽ thức hiện gán nhãn cho các điểm dữ liệu chưa được

64 gán nhãn sau đó tiếp tục quá trình huấn luyện với các điểm dữ liệu đã được gán nhãn

XÂY DỰNG HỆ THỐNG HỖ TRỢ GÁN NHÃN SỬ DỤNG PHƯƠNG PHÁP HỌC BÁN GIÁM SÁT

Tổng quan hệ thống

6.1.1 Gán nhãn dữ liệu truyền thống

Quá trình gán nhãn dữ liệu truyền thống yêu cầu các nhà khoa học dữ liệu sử dụng các công cụ như Label Studio hoặc labelme để gán nhãn cho toàn bộ dữ liệu Người dùng cần cung cấp nhãn cho tất cả các hình ảnh, và các công cụ này sẽ xuất nhãn theo các định dạng khác nhau phù hợp với nhu cầu huấn luyện Tuy nhiên, việc gán nhãn dữ liệu thường tiêu tốn nhiều thời gian và chi phí.

6.1.1.1 Gán nhãn dữ liệu kết hợp học bán giám sát

Hình 16: Quá trình gán nhãn kết hợp với hệ thống hỗ trợ gán nhãn

Để giảm chi phí gán nhãn dữ liệu, chúng tôi áp dụng phương pháp học bán giám sát, cho phép học từ các mẫu chưa được gán nhãn Người dùng chỉ cần cung cấp một lượng nhỏ dữ liệu chưa được gán nhãn, sau đó hệ thống sẽ học và tạo ra các nhãn đoán cùng độ tự tin cho các dự đoán này Cuối cùng, người dùng kiểm tra các dự đoán và xuất các nhãn theo định dạng mong muốn.

Hệ thống gán nhãn sẽ đảm nhận các chứng năng chính:

• Ứng dụng phương pháp học bán giám sát để học trên các mâu dữ liệu chưa được gán nhãn

• Tự động đưa ra dự đoán trên các điểm dữ liệu chưa được gán nhãn

• Huấn luyện và huấn luyện lại mô hình theo yêu cầu của người dùng

6.1.1.2 Kết hợp hệ thống với quá trình vận hành mô hình

Hình 17: Tổng quan toàn bộ hệ thống hỗ trợ gán nhãn sử dụng học bán giám sát

Các mô hình gán nhãn không chỉ hỗ trợ người dùng trong việc gán nhãn các điểm dữ liệu mà còn có thể được tái sử dụng như mô hình trí tuệ nhân tạo, phục vụ cho việc học có giám sát thông thường.

Sau khi hoàn thành quá trình huấn luyện, hệ thống gán nhãn sử dụng phương pháp học bán giám sát giúp người dùng quản lý và vận hành các mô hình khi đạt được độ chính xác chấp nhận Do đó, hệ thống sẽ bao gồm thêm các nhiệm vụ cần thiết để tối ưu hóa hiệu suất.

- Quản lý các hệ thống gán nhãn cho các dự án gán nhãn

- Quản lý các mô hình

- Vẫn hành các mô hình, tạo các API giúp người dùng có thể sử dụng lại các mô hình học bán giám sát

Các công nghệ sử dụng

PyTorch là một framework mã nguồn mở phổ biến trong lĩnh vực trí tuệ nhân tạo, được phát triển bởi Facebook AI Research Nó hỗ trợ các nhà nghiên cứu và nhà phát triển trong việc xây dựng và triển khai các mô hình học sâu một cách dễ dàng và hiệu quả.

PyTorch là một công cụ mạnh mẽ cho việc xây dựng mạng nơ-ron nhân tạo và thực hiện các phép toán số phức tạp Với cấu trúc động linh hoạt, PyTorch giúp người dùng dễ dàng xác định, huấn luyện và kiểm tra mô hình trên dữ liệu thực tế.

PyTorch nổi bật với khả năng xử lý tính toán trên GPU hiệu quả, góp phần tăng tốc quá trình huấn luyện mô hình Bên cạnh đó, nó còn cung cấp các giao diện lập trình Python thân thiện, giúp người dùng dễ dàng thực hiện các phép tính và tương tác với dữ liệu.

Với sự phát triển nhanh chóng và cộng đồng hỗ trợ mạnh mẽ, PyTorch hiện là một trong những framework machine learning hàng đầu, được ưa chuộng bởi các nhà nghiên cứu và phát triển toàn cầu.

Trong đồ án này, Pytorch được áp dụng để xây dựng và huấn luyện các mô hình học có giám sát Bên cạnh đó, Pytorch cũng cho phép tải và sử dụng lại các mạng nơ-ron tích chập phổ biến như ResNet và VGG.

MLflow là nền tảng quản lý và theo dõi quy trình trí tuệ nhân tạo, hỗ trợ các nhà nghiên cứu và phát triển trong việc quản lý mô hình machine learning Nó cho phép ghi lại các tham số và kết quả đào tạo, đồng thời giúp triển khai và theo dõi các mô hình đã được huấn luyện một cách hiệu quả.

MLflow là một công cụ mạnh mẽ giúp người dùng dễ dàng đóng gói, lưu trữ và chia sẻ mô hình Nó cho phép theo dõi và so sánh kết quả đào tạo một cách hiệu quả, từ việc ghi lại thông tin về dữ liệu đào tạo, siêu tham số, đến đồ thị mô hình và các kết quả đánh giá.

MLflow nổi bật với tính năng hỗ trợ đa ngôn ngữ và đa framework, cho phép người dùng làm việc với các ngôn ngữ phổ biến như Python, R, cũng như các framework như TensorFlow và PyTorch.

Trong phạm vi đồ án, MLFlow được sử dụng để theo dõi các tiến trình huấn luyện, lưu lại các độ đo trong quá trình huấn luyện

BentoML là một framework mã nguồn mở, giúp đóng gói và triển khai các dự án machine learning một cách hiệu quả Nó cho phép chuyển đổi mô hình machine learning thành các dịch vụ API hoặc ứng dụng độc lập dễ dàng.

BentoML hỗ trợ các nhà phát triển trong việc tạo ra dịch vụ machine learning "Ready-to-Deploy" bằng cách đóng gói mô hình, mã nguồn và các tài nguyên cần thiết thành một gói Bento Gói Bento này có thể được triển khai trực tiếp trên các nền tảng như Docker, Kubernetes, hoặc dễ dàng tích hợp vào các ứng dụng khác.

BentoML hỗ trợ các framework machine learning phổ biến như TensorFlow, PyTorch, scikit-learn và XGBoost, giúp người dùng dễ dàng đóng gói và triển khai mô hình từ những framework này một cách linh hoạt và thuận tiện.

BentoML cung cấp tính năng quản lý phiên bản, theo dõi và ghi nhật ký cho các dự án machine learning, giúp người dùng dễ dàng theo dõi và quản lý các phiên bản mô hình, từ đó nâng cao khả năng tái tạo và phân tích kết quả.

BentoML giúp đơn giản hóa và nâng cao hiệu quả triển khai các dự án machine learning Công cụ này hỗ trợ đóng gói, quản lý và triển khai mô hình machine learning trong các môi trường thực tế một cách tiện lợi.

Trong khóa luận tốt nghiệp, BentoML được áp dụng để đóng gói các mô hình máy học và triển khai chúng dưới dạng API, giúp vận hành hiệu quả các mô hình đã được huấn luyện.

FastAPI là một framework web mã nguồn mở nhanh chóng, lý tưởng cho việc phát triển API bằng Python Được xây dựng trên nền tảng ASGI (Asynchronous Server Gateway Interface), FastAPI sử dụng cú pháp từ Pydantic để định nghĩa và kiểm tra dữ liệu đầu vào và đầu ra một cách hiệu quả.

Thiết kế hệ thống

6.3.1 Các trường hợp sử dụng

Hình 18: Các trường hợp sử dụng của hệ thống

Các trường hợp sử dụng của hệ thống bao gồm:

Để kết nối dự án gán nhãn từ Label Studio với hệ thống hỗ trợ gán nhãn, người dùng cần tạo tài khoản trên hệ thống này Quá trình tạo tài khoản yêu cầu cung cấp địa chỉ máy chủ hỗ trợ gán nhãn cùng với token truy cập đến máy chủ đó.

Dịch vụ hỗ trợ gán nhãn sẽ cung cấp nhiều lựa chọn, bao gồm mô hình gốc (base model), phương pháp học bán giám sát như graph và mix match, cùng với các loại gán nhãn như phân loại hoặc phát hiện vật thể.

Huấn luyện lại mô hình là quá trình cung cấp dữ liệu huấn luyện mới và điều chỉnh các tham số của mô hình nhằm tối ưu hóa kết quả.

Tạo các đầu cuối suy luận từ các mô hình đã được huấn luyện giúp các ứng dụng khác dễ dàng gọi và sử dụng kết quả từ mô hình Các điểm cuối này đóng vai trò quan trọng trong việc tối ưu hóa quy trình tích hợp và nâng cao hiệu quả sử dụng mô hình trong thực tiễn.

6.3.1.1 Tạo tài khoản cho người dùng

Hình 19: Lưu đồ quá trình tạo tài khoản

Mỗi người dùng trên dịch vụ Label Studio được phân biệt bằng một địa chỉ email duy nhất, được sử dụng để tạo tài khoản Tài khoản này có thể được truy cập từ nhiều server khác nhau.

Khi người dùng cung cấp địa chỉ máy chủ Label Studio và toke truy cập của tài khoản người dùng đến máy chủ ấy:

- Hệ thống sẽ gửi một yêu cầu lấy thông tin email đến máy chủ Server Studio

Nếu người dùng đã có tài khoản trong hệ thống, hệ thống sẽ xác minh xem có phải là máy chủ mới hay không Nếu đúng là máy chủ mới, hệ thống sẽ tiến hành thêm máy chủ vào tài khoản của người dùng.

Nếu người dùng chưa có tài khoản, hệ thống sẽ gửi yêu cầu đến máy chủ Label Studio để xác nhận Khi yêu cầu được xác nhận, tài khoản người dùng sẽ được thêm vào cơ sở dữ liệu.

6.3.1.2 Tạo các dịch vụ hỗ trợ gán nhãn

Hình 20: Lưu đồ quá trình tạo dịch vụ hỗ trợ gán nhãn

Việc tạo và kết nối các dịch vụ gán nhãn là chức năng quan trọng của hệ thống Khi nhận yêu cầu tạo dịch vụ gán nhãn, hệ thống thực hiện nhiều bước để đảm bảo quá trình này diễn ra thành công Các bước này bao gồm việc xác định yêu cầu, thiết lập cấu hình dịch vụ và kiểm tra kết nối.

Khởi chạy một Docker container dịch vụ gán nhãn cho phép hệ thống khởi động một container độc lập, đáp ứng yêu cầu của người dùng Container này cung cấp môi trường tách biệt để chạy dịch vụ gán nhãn, đảm bảo không gây ảnh hưởng đến các thành phần khác trong hệ thống.

Tạo một sub-domain công khai cho phép người dùng truy cập và tương tác với dịch vụ gán nhãn mới Sub-domain này được liên kết trực tiếp với dịch vụ, giúp nâng cao khả năng truy cập qua mạng Internet.

Hệ thống kết nối dịch vụ gán nhãn với dự án gán nhãn của người dùng thông qua public sub-domain đã được tạo, giúp người dùng dễ dàng truy cập và sử dụng dịch vụ gán nhãn trong phạm vi dự án của họ.

Hệ thống kiểm tra số lượng điểm dữ liệu đã được gán nhãn để xác định xem chúng đã đạt ngưỡng cần thiết hay chưa Việc này rất quan trọng nhằm đảm bảo rằng dữ liệu đủ để tiến hành quá trình huấn luyện, từ đó nâng cao chất lượng dự đoán của mô hình.

Khi số lượng điểm dữ liệu đạt ngưỡng yêu cầu, hệ thống sẽ tiến hành huấn luyện lần đầu cho mô hình gán nhãn Quá trình này bao gồm việc cung cấp dữ liệu huấn luyện mới và điều chỉnh các tham số của mô hình nhằm cải thiện khả năng dự đoán và hiệu suất của nó.

6.3.1.3 Huấn luyện lại các mô hình

Hình 21: Lưu đồ quá trình huấn luyện lại mô hình

Việc huấn luyện lại các mô hình là cần thiết để cập nhật chúng với dữ liệu và nhãn mới từ người dùng Đồng thời, phương pháp huấn luyện tự động (self-training) giúp mô hình khai thác hiệu quả cả các mẫu đã được gán nhãn lẫn các mẫu chưa được gán nhãn, từ đó nâng cao độ chính xác và khả năng dự đoán.

Các bước tiến hành huấn luyện bao gồm

- Tải dữ liệu và nhãn từ máy chủ Label Studio

- Nếu người dùng cho phép sử dụng các dự đoán làm nhãn, hệ thống sẽ tải các dự đoán từ máy chủ Label Studio và dùng chúng làm nhãn

- Tiến hành huấn luyện và lưu lại mô hình, các dịch vụ hỗ trợ gán nhãn sẽ tự động sử dụng phiên bản mới nhất vừa được huấn luyện

Quá trình huấn luyện cũng sẽ được theo dõi, người dùng có thể theo dõi các thông số dùng như độ đo ở máy chủ tracking

6.3.1.4 Tạo các điểm cuối suy luận

Hình 22: Lưu đồ quá trình tạo đầu cuối suy luận

Sau khi hoàn tất việc gán nhãn và huấn luyện, người dùng có thể yêu cầu tạo các đầu cuối suy luận để các ứng dụng khác tương tác với mô hình đã huấn luyện qua API Quá trình này bao gồm các bước chi tiết như sau.

Kiến trúc triển khai hệ thống

6.4.1.1 Tổng quan các thành phần triển khai hệ thống

Hình 30: Tổng quan các thành phần triển khai hệ thống

Hệ thống bao gồm 3 nhóm thành phần chính

- Web UI: Giao diện chính nơi người dùng tương tác với hệ thống

- API: Giao diện lập tình ứng dụng cho là cầu nối giữa giao diện vào các thành phần phía sau của hệ thống

Các thành phần Backend bao gồm: MLFlow tracking server, giúp theo dõi quá trình huấn luyện mô hình với thông tin như số vòng lặp, độ lỗi và độ chính xác trên tập kiểm thử; BentoML Model Registry, nơi đăng ký và lưu giữ thông tin phiên bản của mô hình sau huấn luyện, được lưu cục bộ trên máy chủ huấn luyện và sau đó đẩy ra các máy chủ tập trung khác; MinIO Model store, nơi lưu trữ các tham số đã được huấn luyện của mô hình dưới dạng file object; và PostgresDb, nơi lưu trữ dữ liệu vận hành của hệ thống như máy chủ, người dùng và mô hình.

6.4.1.2.1 Triển khai với Docker compose

Các ứng dụng được triển khai bằng Docker compose trên cùng một network được tạo mới: “ssl”

- Web UI o Image: budibase/budibase:latest o Networks: ssl o Volumns: /ui_data:/data

- API o Build: from API Dockerfile o Networks: ssl o Environment: from env

- MLFLOW o Image: https://ghcr.io/mlflow/mlflow o Networks: ssl o Environment:

- MinIO model store: o Image: quay.io/minio/minio o Networks: ssl o Volumes:

- PostgresDB: o Image: postgres:latest o Networks: ssl o Volumes:

▪ /db_data:/var/lib/postgresql/data 6.4.1.2.2 Triển khai quá trình huấn luyện mô hình

Hình 31: Triển khai quá trình huấn luyện mô hình

Khi hệ thống nhận được yêu cầu huấn luyện mô hình tư duy người dùng, quá trình được thực hiện như sau:

- Hệ thống gọi đến máy chủ đặc biệt được trang bị phần cứng chuyên dụng như GPU để tiến hành huấn luyện mô hình

- Một Docker container được khởi tạo để cung cấp một môi trường cô lập và đảm bảo tính nhất quán trong quá trình huấn luyện mô hình

- Máy chủ bắt đầu quá trình huấn luyện, sử dụng sức mạnh của GPU để tăng tốc độ xử lý

- Container thực hiện quá trình huấn luyện mô hình bằng cách sử dụng các dữ liệu và tham số được cung cấp từ hệ thống

- Khi quá trình huấn luyện hoàn tất, mô hình kết quả được lưu trữ và thêm vào cơ sở dữ liệu PostgresDB

- Mô hình đã được huấn luyện sẽ được đóng gói bằng BentoML, một framework để triển khai và quản lý các mô hình học máy

- Cuối cùng, mô hình đóng gói sẽ được gửi đến máy chủ lưu trữ MinIO, nơi nó có thể được lưu trữ và truy xuất từ xa

Hệ thống có khả năng tiếp nhận yêu cầu huấn luyện mô hình từ người dùng, thực hiện quá trình huấn luyện và lưu trữ mô hình đã được huấn luyện để phục vụ cho các mục đích sử dụng trong tương lai.

Để truy cập các ứng dụng trong hệ thống và các đầu cuối suy luận qua internet, việc thiết lập tên miền là cần thiết Tên miền gốc cho hệ thống được sử dụng là semisupervised.online.

Hình 32: Sơ đồ thiết kế tên miền của hệ thống

Thông qua việc sử dụng các tên miền, người dùng có thể dễ dàng truy cập và tương tác với các dịch vụ trong ứng dụng qua internet Dưới đây là mô tả chi tiết về từng dịch vụ.

Giao diện người dùng web (webui) có thể truy cập tại địa chỉ ui.semisupervised.online, cung cấp cho người dùng một trải nghiệm trực quan và dễ dàng tương tác với ứng dụng của bạn thông qua các chức năng và tính năng đa dạng.

Dịch vụ API (api) cho phép giao diện web tương tác với ứng dụng thông qua giao thức API Người dùng có thể gửi yêu cầu HTTP đến địa chỉ api.semisupervised.online để lấy thông tin, thực hiện các thao tác và truy cập tài nguyên trong ứng dụng.

Mlflow là một dịch vụ quản lý và theo dõi các mô hình học máy, giúp người dùng dễ dàng truy cập thông tin và tiến trình theo dõi mô hình tại địa chỉ tracking.semisupervised.online.

BentoML là nền tảng hỗ trợ đóng gói và triển khai mô hình suy luận, cho phép người dùng dễ dàng gọi các mô hình thông qua địa chỉ inference.semisupervised.online để nhận kết quả từ những mô hình đã được triển khai.

Minio là dịch vụ lưu trữ đối tượng (object storage) giúp người dùng dễ dàng truy cập và quản lý tệp tin cùng dữ liệu trong ứng dụng của bạn Bạn có thể truy cập Minio thông qua địa chỉ myapp.com/store.

Cơ sở dữ liệu PostgresDB là một hệ quản trị cơ sở dữ liệu quan hệ mạnh mẽ, cho phép người dùng truy cập và tương tác qua địa chỉ db.semisupervised.online để lưu trữ và truy xuất dữ liệu hiệu quả.

Ngoài ra các dịch vụ gán nhãn được tạo trong quá trình sử dụng cũng sẽ được cấp một tên miền service.semisupervised.online

Cloudflared cung cấp tính năng Tunnel, cho phép truy cập an toàn và bảo mật vào các ứng dụng và dịch vụ trên máy chủ nội bộ từ bên ngoài.

Sau khi đăng ký dịch vụ tunnel trên cloudflared, chúng tôi đã khởi tạo một tunnel runner dưới dạng Docker container Container này được chạy trên cùng một network:

“ssl” với cá ứng dụng khác trong hệ thống Từ đó, runner có thể kết nối các ứng dụng cục bộ với Cloudflared

Thiết lập Cloudflared tunnel như sau

- Địa chỉ hostname: ui.semisupervised.online , dịch vụ tương ứng: http://webui:80

- Địa chỉ hostname: studio.semisupervised.onlin e, dịch vụ tương ứng: http://label-studio:8000

- Địa chỉ hostname: tracking.semisupervised.online , dịch vụ tương ứng: http://mlflow:5001

- Địa chỉ hostname: store.semisupervised.online , dịch vụ tương ứng: http://minio:9090

- Địa chỉ hostname: inference.semisupervised.online/* , dịch vụ tương ứng http://inference*

- Dịch vụ mặc định khi không tìm thấy địa chỉ: http_status:404

KẾT LUẬN

Ngày đăng: 08/12/2023, 15:29

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] P. Michel Kana, "Representing text in natural language processing," 15 7 2019. [Online]. Available: https://towardsdatascience.com/representing-text-in-natural-language-processing-1eead30e57d8 Sách, tạp chí
Tiêu đề: Representing text in natural language processing
[3] V. H. Tiep, "Machine Learning cơ bản," 2017. [Online]. Available: https://machinelearningcoban.com/2017/02/17/softmax/ Sách, tạp chí
Tiêu đề: Machine Learning cơ bản
[4] Xiangli Yang, Zixing Song, Irwin King, Zenglin Xu, "A Survey on Deep Semi-supervised Learning," 2021. [Online]. Available: http://arxiv.org/abs/2103.00550 arXiv:2103.00550 Sách, tạp chí
Tiêu đề: A Survey on Deep Semi-supervised Learning
[7] N. H. Nghia, "Study on Semi-Supervised Learning with," 2019. [Online]. Available: https://github.com/nghiapickup/master_thesis/blob/master/thesis.pdf Sách, tạp chí
Tiêu đề: Study on Semi-Supervised Learning with
[8] P. D. Khanh, "Khoa học dữ liệu - Khanh's blog," 2019. [Online]. Available: https://phamdinhkhanh.github.io/content Sách, tạp chí
Tiêu đề: Khoa học dữ liệu - Khanh's blog
[9] L. Weng, "https://lilianweng.github.io/posts/2021-12-05-semi-supervised/," 2021. [Online]. Available: https://lilianweng.github.io/posts/2021-12-05-semi-supervised/. [Accessed 2021] Sách, tạp chí
Tiêu đề: https://lilianweng.github.io/posts/2021-12-05-semi-supervised/
[10] David Berthelot, Nicholas Carlini, Ian Goodfellow, Nicolas Papernot, Avital Oliver, Colin A. Raffel, "David Berthelot, Nicholas Carlini, Ian Goodfellow, Nicolas Papernot, Avital Oliver, Colin A. Raffel," 2018 Sách, tạp chí
Tiêu đề: David Berthelot, Nicholas Carlini, Ian Goodfellow, Nicolas Papernot, Avital Oliver, Colin A. Raffel
[11] Kihyuk Sohn, "A Simple Semi-Supervised Learning Framework for Object Detection," 2020 Sách, tạp chí
Tiêu đề: A Simple Semi-Supervised Learning Framework for Object Detection
[12] L. S. team, "Integrate Label Studio into your machine learning pipeline," 2022. [Online]. Available: https://labelstud.io/guide/ml.html. [Accessed 2022] Sách, tạp chí
Tiêu đề: Integrate Label Studio into your machine learning pipeline
[1] A. G. Psaltis, Psaltis, A. G. (2017). Streaming data understanding the real-time pipeline. Manning., Manning, 2017 Khác
[5] Xiaojin Zhu , Andrew B. Goldberg, Introduction to Semi-Supervised Learning, Springer Cham, 2009 Khác
[6] C. Bishop, Pattern Recognition and Machine Learning - Microsoft, Microsoft, 2006 Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w