Thứ Tư, 6 tháng 11, 2019

Activation Function trong Neural Network



Activation Function là gì?
Nó chỉ là một hàm mà bạn sử dụng để lấy được đầu ra của nút. Nó còn đuộc gọi là Tranfer Function.

Tại sao chúng tôi sử dụng Activation Function với Neural Network?
Nó được sử dụng để xác định dầu ra của mạng Neural như có hoặc không. Nó ánh xạ các giá trị kết quả trong khoảng từ 0 đến 1 hoặc -1 đến 1, v.v. (tùy thuộc vào chức năng).

Các Activation Function về cơ bản có thể được chia thành 2 loại:
     1. Activation Function tuyến tính.
     2. Activation Function phi tuyến tính.

Hàm kích hoạt (Activation Function) tuyến tính.
Như bạn có thể thấy hàm này là một đường thẳng hoặc tuyến tính. Do đó, đầu ra của các chức năng sẽ không bị giới hạn giữa bất kỳ phạm vi nào.
Phương trình: f(x)=x
Giải: (- vô cực đến + vô cực)

It doesn’t help with the complexity or various parameters of usual data that is fed to the neural networks.

Hàm kích hoạt phi tuyến tính.
Hàm kích hoạt phi tuyến là các hàm kích hoạt được sử dụng nhiều nhất. Sự phi tuyến tính giúp làm cho biểu đồ trông giống như thế này.
 
Nó giúp mô hình dễ dàng khái quát hóa hoặc thích ứng với nhiều loại dữ liệu và phân biệt giữa đầu ra.
Các thuật ngữ chính cần thiết để hiểu cho các hàm phi tuyến là:
Đạo hàm hoặc vi phân: Thay đổi tọa độ trên trục y khi tọa độ trong trục x thay đổi, nó còn gọi là độ dốc.
1. Hàm kích hoạt Sigmoid hoặc Logistic. 
Đường cong hàm Sigmoid trông giống hình chữ S.
 
Lý do tạo sao chúng tôi sử dụng hàm Sigmoid là vì nó tồn tại giữa (0 đến 1). Do đó, nó đặc biệt được sử dụng cho các mô hình mà chúng ta phải dự đoán xác suất đầu ra. Vì vậy, xác suất của mọi thứ chỉ tồn tại trong khoảng từ (0 đến 1), Sigmoid là lựa chọn đúng.
Chúng ta có thể tìm thấy độ dốc của đường cong sigmoid tại hai điểm bất kỳ trên trục tọa độ.
Đây là một hàm số đơn điệu nhưng đạo hàm của nó thì không.
Hàm Logistic Sigmoid có thể khiến mạng lưới thần kinh bị "kẹt" khi trong quá trình đào tạo.
Hàm Softmax là một hàm kích hoạt Logistic tổng quát hơn, được sử dụng để phân loại đa lớp.

2. Hàm kích hoạt tiếp tuyến Tanh hoặc Hyperbol
Hàm Tanh cũng giống như hàm Logistic Sigmoid nhưng tốt hơn. Phạm vi của hàm Tanh là từ -1 đến 1. Hàm Tanh cũng có dạng hình chữ S.

Ưu điểm của các đầu vào có giá trị âm sẽ được ánh xạ âm mạnh và các đầu vào có giá trị 0 sẽ được ánh xạ gần 0 trong biểu đồ Tanh.
Hàm này cũng là hàm số đơn điệu trong khi đạo hàm của nó không đơn điệu.
Hàm Tanh của yếu được dùng phân loại giữa hai lớp.

Cả hai hàm kích hoạt Tanh và Logistic Sigmoid đều được sử dụng trong các mạng chuyển tiếp.

3. Hàm kích hoạt ReLU (Rectified Linear Unit) 
ReLU là hàm kích hoạt được sử dụng nhiều nhất trên thế giới hiện nay. Vì vậy, nó được sử dụng trong hầu hết các mạng thần kinh tích chập hoặc Deep Learning.
Bạn có thể thấy, ReLU được chỉnh một nửa (từ dưới lên). f(z) bằng 0 khi z nhỏ hơn 0 và f(z) bằng z khi z lớn hơn hoặc bằng 0.
Phạm vi: [0 đến vô cực]

Hàm và đạo hàm của nó đều đơn điệu.
Nhưng vấn đề là tất cả các giá trị âm trở thành số 0 ngay lập tức, điều này làm giảm khả năng của mô hình phù hợp hoặc đào tạo dữ liệu đúng cách. Điều đó có nghĩa là bấy kỳ đầu vào âm nào được cung cấp cho hàm kích hoạt ReLU sẽ biến giá trị thành 0 ngay lập tức trong biểu đồ, điều này sẽ ảnh hưởng đến kết quả biểu đồ vì nó không ánh xạ đến các giá trị âm một cách thích hợp.

4. Leaky ReLU
Nó là một cách để giải quyết vấn đề của ReLU.
Bạn có thể thấy Leak ở đây không? :)) 
Việc Leak giúp tăng phạm vi của chức năng ReLU. Thông thường, giá trị của a là 0,01 hoặc hơn.
Khi a không phải 0,01 thì nó được gọi là ReLU ngẫu nhiên.
Do đó, phạm vi của ReLU Leaky là (-Vô cực đến +Vô cực).
Cả hai chức năng ReLU Leaky và Randomized đều có tính đơn điệu. Ngoài ra, dẫn xuất của chúng cũng đơn điệu trong tự nhiên.

  -------------------------------------------------------------------------------------------------------------
Nguồn: https://towardsdatascience.com/activation-functions-neural-networks-1cbd9f8d91d6
 -------------------------------------------------------------------------------------------------------------
----> Trong quá trình tự học nghiên cứu Computer Vision, mình đã đã tìm kiếm và dịch một số bài viết về những thứ liên quan đến Computer Vision với mục đích học tập dễ dàng hơn, cũng như chia sẻ để mọi người cùng học. Bài dịch còn nhiều sai sót, mong mọi người góp ý, mình sẽ xem sét, bổ xung và sửa đổi để bài dịch được hoàn thiện hơn.

----> Nếu bạn cũng đang nghiên cứu và có đam mê về công nghệ. Bạn có thể liên hệ với mình qua
Email: tieutuanbao@gmail.com
Facebook: tieutuanbao
Mình rất vui khi được giao lưu và học tập cùng các bạn!
 -------------------------------------------------------------------------------------------------------------
Cảm ơn mọi người!!!
~BitsCat~

Không có nhận xét nào:

Đăng nhận xét