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

Tanh (Tiếp tuyến Hyperbol)

Khám phá sức mạnh của hàm kích hoạt Tanh trong mạng nơ-ron. Tìm hiểu cách nó cho phép AI mô hình hóa dữ liệu phức tạp với hiệu quả tập trung vào số không!

Tanh (Hyperbolic Tangent) là một hàm kích hoạt được sử dụng rộng rãi trong lĩnh vực học sâu , đưa tính phi tuyến tính vào mạng nơ-ron . Về mặt toán học, nó nén các giá trị đầu vào xuống một phạm vi cụ thể từ -1 đến 1. Đường cong hình chữ "S" này tương tự như hàm Sigmoid nhưng mang lại những lợi thế riêng biệt nhờ đầu ra có tâm bằng 0. Bằng cách ánh xạ đầu vào âm thành đầu ra âm mạnh và đầu vào dương thành đầu ra dương mạnh, Tanh giúp mô hình hóa các mẫu phức tạp hiệu quả hơn so với hồi quy tuyến tính đơn giản, khiến nó trở thành một thành phần nền tảng trong lịch sử trí tuệ nhân tạo .

Cách Tanh Hoạt Động

Vai trò chính của Tanh là xác định đầu ra của một nơ-ron dựa trên các đầu vào có trọng số của nó. Nó biến đổi bất kỳ đầu vào giá trị thực nào thành một phạm vi giới hạn [-1, 1]. Tính chất này được gọi là "định tâm bằng không", nghĩa là giá trị trung bình của các giá trị đầu ra gần bằng không hơn so với các hàm như Sigmoid, vốn cho kết quả đầu ra từ 0 đến 1.

Dữ liệu tâm không rất quan trọng đối với hiệu quả của các thuật toán tối ưu hóa như giảm gradient ngẫu nhiên ( SGD ) . Trong quá trình lan truyền ngược , các kích hoạt tâm không cho phép gradient di chuyển theo hướng dương hoặc âm tự do hơn, ngăn chặn hiện tượng "zig-zag" trong các bản cập nhật trọng số, vốn có thể làm chậm quá trình huấn luyện mô hình . Để tìm hiểu sâu hơn về các động lực này, các ghi chú CS231n của Đại học Stanford cung cấp một cái nhìn tổng quan kỹ thuật tuyệt vời.

Hàm Tanh có sẵn trong các framework hiện đại. Dưới đây là một ví dụ chạy được sử dụng PyTorch để minh họa cách các đầu vào được ánh xạ vào phạm vi [-1, 1].

import torch
import torch.nn as nn

# Initialize the Tanh activation function
tanh = nn.Tanh()

# Create a sample tensor with negative, zero, and positive values
input_data = torch.tensor([-2.0, -0.5, 0.0, 0.5, 2.0])

# Apply Tanh: Values are squashed between -1 and 1
output = tanh(input_data)
print(f"Output: {output}")
# Output: tensor([-0.9640, -0.4621,  0.0000,  0.4621,  0.9640])

So sánh với các hàm kích hoạt liên quan

Để hiểu khi nào nên sử dụng Tanh, bạn cần phân biệt nó với các hàm kích hoạt phổ biến khác có trong bảng thuật ngữ .

  • Tanh so với Sigmoid : Cả hai đều có hình chữ S tương tự nhau, nhưng Sigmoid giới hạn đầu ra ở [0, 1]. Phạm vi [-1, 1] của Tanh và độ dốc lớn hơn của nó thường khiến nó được ưa chuộng hơn đối với các lớp ẩn, vì nó giảm thiểu vấn đề dịch chuyển độ lệch do dữ liệu không có tâm bằng 0 gây ra.
  • Tanh so với ReLU : Mặc dù Tanh rất mạnh, nhưng nó lại gặp phải vấn đề gradient biến mất , khi gradient gần bằng 0 đối với các đầu vào rất lớn hoặc rất nhỏ, làm dừng quá trình học trong các mạng sâu. ReLU tránh được vấn đề này bằng cách giữ gradient không đổi đối với các đầu vào dương. Các kiến trúc hiện đại như YOLO11 thường ưu tiên ReLU hoặc SiLU vì hiệu quả tính toán và khả năng huấn luyện các mô hình sâu hơn.

Các ứng dụng trong AI và học máy

Bất chấp sự phát triển của ReLU, Tanh vẫn đóng vai trò quan trọng đối với các kiến trúc và nhiệm vụ cụ thể.

Mạng nơ-ron hồi quy (RNN) và NLP

Tanh từ lâu đã là hàm kích hoạt tiêu chuẩn cho Mạng nơ-ron hồi quy (RNN) và mạng Bộ nhớ dài hạn ngắn hạn (LSTM) . Trong các tác vụ Xử lý ngôn ngữ tự nhiên (NLP) như dịch máy hoặc tạo văn bản, Tanh điều chỉnh luồng thông tin qua các ô nhớ của mạng, đảm bảo các giá trị không bị đột biến khi chúng lan truyền theo thời gian.

Mạng đối nghịch tạo sinh (GAN)

Trong Mạng Đối kháng Sinh sinh (GAN) , Tanh thường được sử dụng ở lớp cuối cùng của mô hình máy phát. Nó điều chỉnh giá trị pixel đầu ra của ảnh được tạo ra theo phạm vi chuẩn hóa [-1, 1], giúp ổn định quá trình huấn luyện đối kháng so với bộ phân biệt. Bạn có thể thấy kiến trúc này trong các công trình quan trọng như bài báo DCGAN .

Phân tích Cảm xúc

Đối với các mô hình phân tích cảm xúc đơn giản, Tanh có thể đóng vai trò kích hoạt đầu ra để ánh xạ điểm số cảm xúc trực tiếp vào một chuỗi liên tục, trong đó -1 biểu thị cảm xúc cực kỳ tiêu cực, 0 là trung tính và +1 là cực kỳ tích cực. Việc ánh xạ trực quan này giúp việc diễn giải các dự đoán của mô hình trên các tập dữ liệu như Kaggle trở nên dễ dàng hơn.

Trong khi các mô hình thị giác máy tính tiên tiến như YOLO11 đã chuyển sang các hàm không giới hạn để trích xuất tính năng, Tanh vẫn là một công cụ quan trọng trong bộ công cụ của kỹ sư học sâu, đặc biệt là đối với các tác vụ yêu cầu đầu ra giới hạn, có tâm bằng không.

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