Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Sigmoid

Khám phá vai trò của hàm Sigmoid trong học máy. Tìm hiểu cách hàm kích hoạt này cho phép phân loại nhị phân trong các mô hình như... Ultralytics YOLO26.

Hàm Sigmoid là một thành phần toán học cơ bản được sử dụng rộng rãi trong lĩnh vực học máy (ML)học sâu (DL) . Thường được gọi là "hàm nén", nó nhận bất kỳ số thực nào làm đầu vào và ánh xạ nó đến một giá trị nằm giữa 0 và 1. Đường cong hình chữ "S" đặc trưng này làm cho nó cực kỳ hữu ích để chuyển đổi đầu ra thô của mô hình thành các xác suất có thể diễn giải được. Trong bối cảnh của mạng nơ-ron (NN) , hàm Sigmoid hoạt động như một hàm kích hoạt , đưa vào tính phi tuyến tính cho phép các mô hình học được các mẫu phức tạp vượt ra ngoài các mối quan hệ tuyến tính đơn giản. Mặc dù nó đã được thay thế phần lớn bởi các hàm khác trong các lớp ẩn sâu, nhưng nó vẫn là một lựa chọn tiêu chuẩn cho các lớp đầu ra trong các nhiệm vụ phân loại nhị phân.

Cơ chế hoạt động của hàm Sigmoid trong Trí tuệ nhân tạo

Về bản chất, hàm Sigmoid biến đổi dữ liệu đầu vào—thường được gọi là logit—thành một phạm vi chuẩn hóa. Phép biến đổi này rất quan trọng đối với các nhiệm vụ mà mục tiêu là dự đoán xác suất xảy ra của một sự kiện. Bằng cách giới hạn đầu ra giữa 0 và 1, hàm này cung cấp một điểm số xác suất rõ ràng.

  • Hồi quy Logistic : Trong mô hình thống kê truyền thống, hàm Sigmoid là nền tảng của hồi quy logistic. Nó cho phép các nhà khoa học dữ liệu ước tính xác suất của một kết quả nhị phân, chẳng hạn như liệu khách hàng sẽ rời bỏ hay tiếp tục sử dụng dịch vụ.
  • Phân loại nhị phân : Đối với mạng nơ-ron được thiết kế để phân biệt giữa hai lớp (ví dụ: "mèo" so với "chó"), lớp cuối cùng thường sử dụng hàm kích hoạt Sigmoid. Nếu đầu ra lớn hơn một ngưỡng (thường là 0,5), mô hình sẽ dự đoán lớp tích cực.
  • Phân loại đa nhãn : Không giống như các bài toán phân loại đa lớp, trong đó các lớp loại trừ lẫn nhau, các bài toán đa nhãn cho phép một hình ảnh hoặc văn bản thuộc về nhiều danh mục cùng một lúc. Ở đây, hàm Sigmoid được áp dụng độc lập cho từng nút đầu ra, cho phép mô hình... detect Một "chiếc xe" và một "người" xuất hiện trong cùng một khung cảnh mà không gây xung đột.

Những điểm khác biệt chính so với các chức năng kích hoạt khác

Mặc dù Sigmoid từng là hàm mặc định cho tất cả các lớp, nhưng các nhà nghiên cứu đã phát hiện ra những hạn chế như vấn đề suy giảm độ dốc , trong đó độ dốc trở nên quá nhỏ để cập nhật trọng số một cách hiệu quả trong các mạng nơ-ron sâu. Điều này dẫn đến việc áp dụng các hàm thay thế cho các lớp ẩn.

  • So sánh Sigmoid và ReLU (Rectified Linear Unit) : ReLU có tốc độ tính toán nhanh hơn và tránh hiện tượng suy giảm độ dốc bằng cách xuất trực tiếp giá trị đầu vào nếu dương, và bằng 0 nếu ngược lại. Đây là lựa chọn ưu tiên cho các lớp ẩn trong các kiến ​​trúc hiện đại như YOLO26 , trong khi Sigmoid được dành riêng cho lớp đầu ra cuối cùng trong các tác vụ cụ thể.
  • Hàm Sigmoid so với hàm Softmax : Cả hai đều ánh xạ đầu ra về phạm vi 0-1, nhưng chúng phục vụ các mục đích khác nhau. Hàm Sigmoid xử lý mỗi đầu ra một cách độc lập, lý tưởng cho các tác vụ nhị phân hoặc đa nhãn. Hàm Softmax buộc tất cả các đầu ra phải có tổng bằng 1, tạo ra một phân phối xác suất được sử dụng cho phân loại đa lớp, trong đó chỉ có một lớp là chính xác.

Các Ứng dụng Thực tế

Tính hữu dụng của hàm Sigmoid trải rộng trong nhiều ngành công nghiệp khác nhau, nơi cần đến việc ước lượng xác suất.

  1. Chẩn đoán y khoa: Các mô hình AI được sử dụng trong phân tích hình ảnh y khoa thường sử dụng đầu ra Sigmoid để dự đoán xác suất mắc bệnh trong ảnh chụp X-quang hoặc MRI. Ví dụ, một mô hình có thể đưa ra giá trị 0,85, cho thấy xác suất có khối u là 85%, giúp bác sĩ phát hiện sớm bệnh.
  2. Phát hiện thư rác: Các hệ thống lọc email sử dụng mô hình xử lý ngôn ngữ tự nhiên (NLP) với bộ phân loại Sigmoid để xác định xem một tin nhắn đến có phải là "thư rác" hay "không phải thư rác". Mô hình phân tích từ khóa và siêu dữ liệu, đưa ra điểm số để xác định xem email đó sẽ được chuyển vào hộp thư đến hay thư mục thư rác.

Triển khai thực tế

Bạn có thể quan sát cách hàm Sigmoid biến đổi dữ liệu bằng cách sử dụng PyTorch , một thư viện phổ biến để xây dựng các mô hình học sâu. Ví dụ đơn giản này minh họa hiệu ứng "nén" trên một loạt các giá trị đầu vào.

import torch
import torch.nn as nn

# Create a Sigmoid layer
sigmoid = nn.Sigmoid()

# Define input data (logits) ranging from negative to positive
input_data = torch.tensor([-5.0, -1.0, 0.0, 1.0, 5.0])

# Apply Sigmoid to squash values between 0 and 1
output = sigmoid(input_data)

print(f"Input: {input_data}")
print(f"Output: {output}")
# Output values near 0 for negative inputs, 0.5 for 0, and near 1 for positive inputs

Đối với những ai muốn huấn luyện các mô hình sử dụng những khái niệm này mà không cần viết mã cấp thấp, Nền tảng Ultralytics cung cấp giao diện trực quan để quản lý tập dữ liệu và huấn luyện các mô hình hiện đại như YOLO26. Bằng cách tự động xử lý các phức tạp về kiến ​​trúc, nó cho phép người dùng tập trung vào việc thu thập dữ liệu huấn luyện chất lượng cao cho các ứng dụng thị giác máy tính cụ thể của họ.

Tham gia Ultralytics cộng đồng

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

Tham gia ngay