Tanh, hay Hyperbolic Tangent, là một hàm kích hoạt được công nhận rộng rãi được sử dụng trong trí tuệ nhân tạo (AI) và học máy (ML) , đặc biệt là trong mạng nơ-ron (NN) . Tương tự như hàm Sigmoid , Tanh có hình chữ S (hình chữ S) nhưng ánh xạ các giá trị đầu vào thành một phạm vi từ -1 đến 1. Đặc điểm này làm cho nó có tâm bằng 0, nghĩa là đầu ra của nó được phân phối xung quanh số 0. Giống như các hàm kích hoạt khác, Tanh đưa tính phi tuyến tính vào mạng, cho phép các mô hình học sâu (DL) học các mẫu và mối quan hệ phức tạp trong dữ liệu mà các mô hình tuyến tính không thể nắm bắt được. Nó bắt nguồn từ hàm hyperbolic tangent toán học.
Tanh hoạt động như thế nào
Hàm Tanh lấy bất kỳ đầu vào có giá trị thực nào và nén nó vào phạm vi (-1, 1). Các đầu vào gần bằng 0 tạo ra các đầu ra gần bằng 0. Các đầu vào dương lớn dẫn đến các đầu ra tiến gần đến 1, trong khi các đầu vào âm lớn tạo ra các đầu ra tiến gần đến -1. Bản chất lấy 0 làm tâm của nó thường được coi là một lợi thế so với hàm Sigmoid (cho đầu ra giữa 0 và 1) vì nó có thể giúp thuật toán tối ưu hóa , chẳng hạn như giảm độ dốc , hội tụ nhanh hơn trong quá trình đào tạo mô hình . Điều này là do các độ dốc được truyền lại trong quá trình truyền ngược có nhiều khả năng có các giá trị dương và âm cân bằng, có khả năng dẫn đến các bản cập nhật ổn định hơn về trọng số mô hình .
Ưu điểm và nhược điểm
Thuận lợi:
- Đầu ra có tâm là số 0: Đầu ra có phạm vi từ -1 đến 1 giúp tập trung dữ liệu được truyền đến các lớp tiếp theo, điều này có thể cải thiện động lực đào tạo so với các hàm không có tâm là số 0 như Sigmoid.
- Độ dốc mạnh hơn: So với Sigmoid, Tanh có độ dốc lớn hơn quanh mức 0, điều này có thể giảm thiểu vấn đề độ dốc biến mất ở một mức độ nào đó trong quá trình đào tạo, cho phép học nhanh hơn.
Nhược điểm:
- Độ dốc biến mất: Giống như Sigmoid, Tanh vẫn gặp phải vấn đề độ dốc biến mất. Đối với các đầu vào dương hoặc âm rất lớn, hàm sẽ bão hòa (đầu ra của nó trở nên rất gần với 1 hoặc -1) và độ dốc trở nên cực kỳ nhỏ, cản trở việc cập nhật trọng số ở các lớp sâu hơn.
- Chi phí tính toán: Tanh liên quan đến các phép tính hyperbolic, khiến cho chi phí tính toán tốn kém hơn một chút so với các hàm đơn giản hơn như ReLU (Đơn vị tuyến tính chỉnh lưu) .
Tanh Vs. Các hàm kích hoạt khác
- Tanh so với Sigmoid : Cả hai đều là sigmoidal, nhưng phạm vi đầu ra của Tanh là (-1, 1) trong khi của Sigmoid là (0, 1). Thuộc tính lấy số không làm tâm của Tanh thường được ưu tiên cho các lớp ẩn, trong khi Sigmoid thường được sử dụng trong các lớp đầu ra cho các tác vụ phân loại nhị phân khi cần xác suất.
- Tanh so với ReLU : Đầu ra của ReLU nằm trong khoảng từ 0 đến vô cực và có hiệu quả tính toán rất cao. ReLU tránh được tình trạng bão hòa đối với các đầu vào dương nhưng có thể gặp phải vấn đề "ReLU chết" (các neuron trở nên không hoạt động). Trong khi Tanh bão hòa ở cả hai đầu, bản chất lấy điểm không làm trung tâm của nó có thể có lợi. Tuy nhiên, ReLU và các biến thể của nó ( Leaky ReLU , GELU , SiLU ) đã thay thế Tanh phần lớn trong nhiều kiến trúc học sâu hiện đại, đặc biệt là trong thị giác máy tính (CV) , do luồng gradient và hiệu quả tốt hơn. Bạn có thể khám phá nhiều hàm kích hoạt khác nhau trong học sâu .
Ứng dụng trong AI và học máy
Tanh từ lâu đã là một lựa chọn phổ biến, đặc biệt là trong:
- Mạng nơ-ron hồi quy (RNN) : Tanh thường được sử dụng trong các trạng thái ẩn của RNN và các biến thể như mạng Bộ nhớ dài hạn ngắn hạn (LSTM) , đặc biệt là đối với các tác vụ trong Xử lý ngôn ngữ tự nhiên (NLP) . Phạm vi giới hạn của nó giúp điều chỉnh luồng thông tin trong các kết nối hồi quy. Xem Hiểu về LSTM để biết thêm chi tiết.
- Lớp ẩn: Có thể sử dụng trong các lớp ẩn của mạng truyền thẳng, mặc dù các biến thể ReLU hiện nay phổ biến hơn. Có thể chọn khi thuộc tính có tâm bằng không đặc biệt có lợi cho vấn đề hoặc kiến trúc cụ thể.
- Phân tích tình cảm : Trong các mô hình NLP cũ hơn, Tanh đã giúp lập bản đồ các tính năng được trích xuất từ văn bản (ví dụ: nhúng từ được xử lý bởi RNN) thành một phạm vi liên tục, biểu diễn cực tính tình cảm từ tiêu cực (-1) đến tích cực (+1). Các nguồn lực từ các tổ chức như Stanford NLP Group cung cấp thông tin cơ bản về các kỹ thuật như vậy.
- Hệ thống điều khiển và robot : Trong Học tăng cường (RL) , Tanh đôi khi được sử dụng làm hàm kích hoạt cuối cùng cho các chính sách đưa ra các hành động liên tục bị giới hạn trong một phạm vi cụ thể (ví dụ: điều khiển mô-men xoắn của động cơ trong khoảng từ -1 đến +1). Các khuôn khổ như OpenAI Gym thường được sử dụng trong nghiên cứu RL.
Trong khi các kiến trúc hiện đại như Ultralytics YOLO thường sử dụng các hàm như SiLU cho các tác vụ như phát hiện đối tượng , thì việc hiểu Tanh vẫn có giá trị. Nó cung cấp ngữ cảnh cho sự phát triển của các hàm kích hoạt và vẫn có thể xuất hiện trong các thiết kế mạng cụ thể hoặc các hệ thống cũ. Các khuôn khổ như PyTorch và TensorFlow cung cấp các triển khai Tanh. Bạn có thể đào tạo và thử nghiệm các hàm kích hoạt khác nhau bằng các nền tảng như Ultralytics HUB .