12/10/2023 - 19:15 · 10 Min read

L2 Normalization là gì?

L2 Normalization là một công cụ toán học quan trọng trong xử lý dữ liệu, giúp tập trung vào hướng hoặc cấu trúc của dữ liệu thay vì quy mô của nó

L2 Normalization là gì?

L2 Normalization là một kỹ thuật toán học được sử dụng để chuẩn hóa các vector, biến chúng thành các vector đơn vị có độ dài bằng 1. Đây là một kỹ thuật cơ bản mà các kỹ sư phần mềm và chuyên gia học máy cần nắm vững để tối ưu hóa hiệu suất của các mô hình và ứng dụng.    

Để hiểu rõ hơn, hãy xem xét ví dụ sau:

Giả sử chúng ta có hai người, A và B, di chuyển trên một mặt phẳng tọa độ. Người A di chuyển theo hướng (3, 4) và người B di chuyển theo hướng (6, 8). Mặc dù B di chuyển xa hơn A, nhưng hướng di chuyển của họ là giống nhau.

L2 Normalization giúp chúng ta tập trung vào hướng di chuyển mà không bị ảnh hưởng bởi khoảng cách. Quá trình này bao gồm:

1. Tính độ dài của vector: Sử dụng định lý Pythagoras.    

  • Độ dài vector A = √(3² + 4²) = 5
  • Độ dài vector B = √(6² + 8²) = 10

2. Chia mỗi thành phần của vector cho độ dài của nó:

  • A normalized = (3/5, 4/5) = (0.6, 0.8)
  • B normalized = (6/10, 8/10) = (0.6, 0.8)

Kết quả cho thấy sau khi chuẩn hóa, cả A và B đều có cùng vector (0.6, 0.8), phản ánh đúng thực tế là họ di chuyển cùng hướng.

Ứng dụng trong xử lý ngôn ngữ tự nhiên và học máy:

  1. So sánh ngữ nghĩa: Giúp tập trung vào ý nghĩa của văn bản mà không bị ảnh hưởng bởi độ dài.
  2. Cải thiện hiệu suất mô hình: Giúp các mô hình học máy hội tụ nhanh hơn trong quá trình huấn luyện.
  3. Giảm thiểu vấn đề về tỷ lệ: Đảm bảo rằng các đặc trưng có tầm quan trọng tương đương trong quá trình học.

Lưu ý: Nhiều mô hình embedding hiện đại như OpenAI's 'text-embedding-3-large' hoặc Google Vertex AI's 'text-embedding-preview-0409' đã tích hợp sẵn L2 Normalization. Tuy nhiên, một số mô hình khác như BERT 'bert-base-uncased' không áp dụng chuẩn hóa trước, do đó các kỹ sư cần lưu ý điều này khi sử dụng.