Thuật ngữ

mềm

Khám phá cách Softmax chuyển đổi điểm số thành xác suất cho các tác vụ phân loại trong AI, thúc đẩy nhận dạng hình ảnh và thành công của NLP.

Softmax là một hàm toán học chuyển đổi một vectơ điểm số thô, giá trị thực, thường được gọi là logit, thành một vectơ xác suất. Trong bối cảnh học máy (ML) , Softmax chủ yếu được sử dụng như một hàm kích hoạt ở lớp đầu ra của mạng nơ-ron . Vai trò chính của nó là chuyển đổi điểm số cuối cùng của mạng thành một phân phối xác suất có ý nghĩa trên nhiều lớp loại trừ lẫn nhau. Tổng các xác suất thu được bằng một, giúp chúng dễ dàng được diễn giải thành độ tin cậy của mô hình cho từng kết quả khả dĩ.

Softmax hoạt động như thế nào

Hãy tưởng tượng một mạng nơ-ron đang cố gắng xác định một hình ảnh thuộc thể loại nào. Lớp cuối cùng của mạng tạo ra một tập hợp điểm thô cho mỗi thể loại. Điểm cao hơn cho thấy mô hình thiên về thể loại đó hơn, nhưng những điểm này không được chuẩn hóa và có thể khó làm việc trực tiếp.

Hàm Softmax lấy những điểm số này và thực hiện hai bước chính:

  1. Nó áp dụng hàm mũ cho mỗi điểm. Điều này làm cho tất cả các giá trị đều dương và phóng đại sự khác biệt giữa chúng—điểm càng lớn thì tỷ lệ thuận càng lớn.
  2. Nó chuẩn hóa các điểm số lũy thừa này bằng cách chia từng điểm cho tổng của chúng. Bước này sẽ thu nhỏ các giá trị lại sao cho tổng của chúng bằng 1,0, về cơ bản tạo ra một phân phối xác suất .

Đầu ra cuối cùng là một danh sách các xác suất, trong đó mỗi giá trị biểu thị khả năng dự đoán của mô hình rằng đầu vào thuộc về một lớp cụ thể. Lớp có xác suất cao nhất sau đó sẽ được chọn làm dự đoán cuối cùng.

Ứng dụng trong AI và Học máy

Softmax là nền tảng cơ bản cho bất kỳ mô hình học sâu nào thực hiện phân loại đa lớp. Khả năng cung cấp kết quả đầu ra rõ ràng, mang tính xác suất khiến nó trở nên vô cùng hữu ích trong nhiều lĩnh vực.

  • Image Classification: This is the most common use case. A Convolutional Neural Network (CNN) trained on a dataset like ImageNet will use Softmax in its final layer. For an image of a pet, the model might output probabilities like {Dog: 0.9, Cat: 0.08, Rabbit: 0.02}, clearly indicating its prediction. Models like Ultralytics YOLO use this for classification tasks.
  • Xử lý Ngôn ngữ Tự nhiên (NLP) : Trong mô hình hóa ngôn ngữ , Softmax được sử dụng để dự đoán từ tiếp theo trong một chuỗi. Một mô hình như Transformer sẽ tính điểm cho mỗi từ trong vốn từ vựng của nó và sử dụng Softmax để chuyển đổi các điểm này thành xác suất. Đây là thành phần cốt lõi của Mô hình Ngôn ngữ Lớn (LLM) và hỗ trợ các ứng dụng từ dịch máy đến tạo văn bản .
  • Phân tích hình ảnh y tế : Khi phân tích các bản quét y tế để phân loại các loại mô khác nhau hoặc xác định bệnh lý (ví dụ: lành tính, ác tính hoặc khỏe mạnh), mô hình sẽ sử dụng Softmax để chỉ định xác suất cho từng chẩn đoán, giúp bác sĩ lâm sàng đưa ra quyết định sáng suốt hơn.
  • Học tăng cường: Trong học tăng cường dựa trên chính sách, Softmax có thể được sử dụng để chuyển đổi các giá trị đã học được của các hành động khác nhau thành chính sách, là phân phối xác suất trên các hành động có thể mà một tác nhân có thể thực hiện.

Softmax so với các hàm kích hoạt khác

Điều quan trọng là phải phân biệt Softmax với các hàm kích hoạt thông thường khác vì chúng phục vụ các mục đích khác nhau.

  • Sigmoid : Hàm Sigmoid cũng cho kết quả từ 0 đến 1, nhưng nó được sử dụng cho phân loại nhị phân (một lớp so với lớp khác) hoặc phân loại đa nhãn, trong đó đầu vào có thể thuộc nhiều lớp cùng một lúc. Ví dụ: một bộ phim có thể được phân loại là "Hài" và "Hành động". Ngược lại, Softmax dành cho phân loại đa lớp, trong đó các lớp loại trừ lẫn nhau - một chữ số viết tay phải là 7 hoặc 8, nhưng không được cả hai.
  • ReLU (Đơn vị Tuyến tính Chỉnh lưu) : ReLU và các biến thể của nó như Leaky ReLUSiLU được sử dụng trong các lớp ẩn của mạng nơ-ron. Nhiệm vụ chính của chúng là đưa tính phi tuyến tính vào, cho phép mô hình học các mẫu phức tạp trong dữ liệu. Chúng không tạo ra xác suất và không được sử dụng làm hàm đầu ra cho phân loại.
  • Tanh (Hyperbolic Tangent) : Tanh nén các giá trị về phạm vi từ -1 đến 1. Giống như ReLU, Tanh được sử dụng trong các lớp ẩn, đặc biệt là trong các kiến trúc Mạng Nơ-ron Hồi quy (RNN) cũ. Tanh không phù hợp để tạo đầu ra xác suất cho các tác vụ phân loại.

Những cân nhắc thực tế

Mặc dù mạnh mẽ, Softmax có thể nhạy cảm với các điểm đầu vào rất lớn, đôi khi có thể dẫn đến mất ổn định về mặt số học (tràn hoặc thiếu). Để giải quyết vấn đề này, các nền tảng học sâu hiện đại như PyTorchTensorFlow triển khai các phiên bản Softmax ổn định về mặt số học ở chế độ nền.

Softmax hầu như luôn được kết hợp với một hàm mất mát cụ thể gọi là Mất mát Entropy Chéo (hay Mất mát Log) trong quá trình huấn luyện mô hình . Sự kết hợp này cực kỳ hiệu quả trong việc huấn luyện các bộ phân loại đa lớp. Việc hiểu rõ hành vi của Softmax rất quan trọng để huấn luyện và diễn giải mô hình hiệu quả, có thể được quản lý và theo dõi bằng các nền tảng như Ultralytics HUB để hợp lý hóa các thí nghiệm và triển khai .

Tham gia cộng đồng Ultralytics

Tham gia vào tương lai của AI. Kết nối, cộng tác và phát triển với những nhà đổi mới toàn cầu

Tham gia ngay
Liên kết đã được sao chép vào clipboard