Sigmoid Function Là Gì? Giải Thích Dễ Hiểu Cho Người Mới

Đồ thị hàm Sigmoid dạng chữ S trong machine learning
Câu trả lời nhanh
Sigmoid function là hàm toán học hình chữ S, nén mọi đầu vào số thực về khoảng (0, 1). Công thức f(x) = 1/(1+e^-x). Ứng dụng chính: phân loại nhị phân, logistic regression, và cổng điều khiển trong LSTM/GRU. Nhược điểm lớn nhất là gradient biến mất khi xếp nhiều lớp, nên ngày nay ReLCD/LSTM thay thế ở lớp ẩn.

Sigmoid là một trong những hàm kích hoạt (activation function) lâu đời nhất trong machine learning. Mình đã thấy nó xuất hiện ở khắp nơi, từ logistic regression đến neural network đời đầu. Nhưng tại sao nó lại phổ biến như vậy, và liệu ngày nay người ta còn dùng nó không? Cùng tìm hiểu nhé.

Sigmoid Function Là Gì?

Đồ thị hàm Sigmoid dạng chữ S trong machine learning
Đồ thị hàm Sigmoid dạng chữ S trong machine learning

Sigmoid function là một hàm toán học có hình chữ S, nhận đầu vào là một số thực bất kỳ và nén nó về khoảng từ 0 đến 1. Công thức của nó là f(x) = 1 / (1 + e^(-x)), trong đó e là hằng số Euler xấp xỉ 2.718.

Nói đơn giản hơn: bạn đưa vào một số dù lớn đến đâu, sigmoid cũng sẽ cho ra kết quả nằm gọn giữa 0 và 1. Đưa vào số rất âm, kết quả tiệm cận 0. Đưa vào số rất dương, kết quả tiệm cận 1. Tại điểm x = 0, kết quả đúng bằng 0.5.

Đặc tính này khiến sigmoid trở thành công cụ hoàn hảo khi bạn cần biến một giá trị số thành xác suất. Và đó cũng là lý do nó được ưa chuộng trong các bài toán phân loại nhị phân.

Sigmoid Hoạt Động Như Thế Nào?

Hãy tưởng tượng bạn đang xây dựng mô hình phân loại email spam hay không spam. Mô hình sẽ tính ra một điểm số (score) cho mỗi email, nhưng điểm số này có thể là bất kỳ số thực nào.

Sigmoid sẽ lấy điểm số đó và biến đổi thành xác suất. Nếu score = 2, sigmoid cho ra khoảng 0.88, nghĩa là 88% khả năng đây là spam. Nếu score = -1, sigmoid cho ra khoảng 0.27, tức là chỉ 27% khả năng là spam.

Điều quan trọng là sigmoid không bao giờ chạm đúng 0 hoặc đúng 1, chỉ tiệm cận. Điều này có ý nghĩa trong toán học vì nó giúp tránh lỗi tính toán khi huấn luyện mô hình.

Tại Sao Sigmoid Lại Phổ Biến?

Đầu tiên, sigmoid có đạo hợ rất đẹp. f'(x) = f(x) * (1 – f(x)), nghĩa là đạo hàm có thể tính trực tiếp từ giá trị đầu ra. Việc này giúp quá trình lan truyền ngược (backpropagation) chạy nhanh và gọn.

Thứ hai, đầu ra luôn nằm trong khoảng (0, 1), nên nó tự nhiên diễn giải được dưới dạng xác suất. Bạn không cần thêm bước biến đổi nào nữa.

Thứ ba, sigmoid là hàm liên tục và khả vi ở mọi điểm, hai tính chất quan trọng mà mọi hàm kích hoạt trong neural network đều cần có.

Sigmoid Khác ReLU và Softmax Như Thế Nào?

Mỗi hàm kích hoạt có mục đích riêng. ReLU (Rectified Linear Unit) đơn giản hơn nhiều: nếu input dương thì giữ nguyên, nếu âm thì trả về 0. ReLU tính nhanh hơn và ít bị vấn đề gradient biến mất, nên nó là lựa chọn mặc định cho các lớp ẩn trong deep learning hiện đại.

Softmax là dạng tổng quát của sigmoid cho nhiều lớp. Trong khi sigmoid chỉ tốt cho phân loại nhị phân, softmax xử lý được bài toán đa lớp, ví dụ phân loại ảnh vào 10 nhóm khác nhau.

Sigmoid ngày nay chủ yếu được dùng ở lớp đầu ra cho bài toán nhị phân, hoặc trong các cổng (gate) của LSTM và GRU để quyết định thông tin nào nên giữ lại.

Vấn Đề “Gradient Biến Mất” Của Sigmoid

Đây là điểm yếu lớn nhất của sigmoid. Vì đầu ra bị nén về khoảng (0, 1), đạo hàm của nó cũng rất nhỏ, tối đa chỉ 0.25 tại x = 0. Khi bạn xếp nhiều lớp sigmoid lên nhau, gradient sau mỗi lớp sẽ bị nhân với một số nhỏ hơn 1.

Kết quả là sau vài lớp, gradient gần như biến mất hoàn toàn. Mô hình không học được gì từ các lớp đầu nữa. Đây gọi là vanishing gradient problem, và nó chính là lý do chính khiến deep learning phải chuyển sang ReLU.

Một vấn đề nữa: đầu ra của sigmoid không đối xứng quanh 0 (zero-centered). Tất cả giá trị đều dương, điều này khiến quá trình huấn luyện dao động và hội tụ chậm hơn so với khi dùng hàm có đầu ra đối xứng như tanh.

Khi Nào Nên Dùng Sigmoid?

Dù có nhược điểm, sigmoid vẫn có chỗ đứng riêng. Dưới đây là các trường hợp mình thấy nó phù hợp nhất:

Lớp đầu ra cho phân loại nhị phân: Khi bài toán chỉ có 2 lớp (spam/không spam, lành/ác), sigmoid là lựa chọn tự nhiên. Kết hợp với loss function là binary cross-entropy, bạn có một pipeline chuẩn.

Multi-label classification: Khi một mẫu có thể thuộc nhiều lớp cùng lúc (ví dụ một ảnh vừa có chó vừa có mèo), bạn dùng sigmoid cho mỗi lớp độc lập thay vì softmax.

Cổng trong LSTM/GRU: Các kiến trúc RUC hiện đại dùng sigmoid để điều khiển dòng thông tin, quyết định cái nào nên nhớ, cái nào nên quên.

Sigmoid Trong Logistic Regression

Logistic regression là một trong những ứng dụng kinh điển nhất của sigmoid. Mô hình này về bản chất là hồi quy tuyến tính kết hợp với sigmoid ở đầu ra.

Phương trình hồi quy tuyến tính cho ra một số thực, sigmoid biến nó thành xác suất. Nếu xác suất lớn hơn ngưỡng (thường là 0.5), mẫu được phân vào lớp dương. Ngược lại, vào lớp âm.

Cách tiếp cận này đơn giản nhưng hiệu quả bất ngờ, đặc biệt khi dữ liệu có quan hệ tuyến tính. Nhiều bài toán thực tế như chấm điểm tín dụng, dự đoán tỷ lệ click (CTR), hay dự đoán customer churn đều dùng logistic regression làm baseline.

Khi Nào Không Nên Dùng Sigmoid?

Đừng dùng sigmoid cho các lớp ẩn trong deep neural network. ReLU hoặc các biến thể như GELU, Swish sẽ cho kết quả tốt hơn nhiều, cả về tốc độ huấn luyện lẫn độ chính xác cuối cùng.

Cũng đừng dùng sigmoid cho bài toán phân loại đa lớp ở lớp đầu ra. Softmax mới là lựa chọn đúng, vì nó đảm bảo tổng xác suất Across tất cả các lớp bằng 1.

Tóm Lại

Sigmoid là hàm kích hoạt cổ điển nhưng vẫn không thể thiếu trong toolkit của bất kỳ ai làm machine learning. Hiểu rõ khi nào nên dùng, khi nào nên tránh, sẽ giúp bạn xây dựng mô hình hiệu quả hơn.

Nguyên tắc của mình: sigmoid cho lớp đầu ra nhị phân, ReLU cho lớp ẩn. Đơn giản vậy thôi.

ThienLv

Mình là Thien, người tạo ra blog này. Ban ngày làm marketing, ban đêm cày tiền online và chơi với AI. Blog này là nơi mình ghi lại những gì mình thử qua — tool nào xịn, chiến thuật nào chạy được, cái gì thất bại. Mình không giỏi nhất, nhưng mình thích chia sẻ thật. Chill với một ly cafe đá là lý tưởng nhất.

Xem tất cả bài viết →

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *