Activation Functions trong neural network?

  1. Trí tuệ nhân tạo

Mình thấy trong mạng neural có khá nhiều loại activation functions (sigmoid, tanh, relu), vậy ưu nhược điểm của từng loại function này là gì vậy?

Từ khóa: 

,

trí tuệ nhân tạo

Mình bổ sung vấn đề bên lề chút cho câu trả lời của bạn Thịnh:

Sigmoid hoặc tanh còn có một nhược điểm là hiện tượng Vanishing gradient (Khó tối ưu tham số ở các layer càng về cuối cùng) vì đạo hàm của chúng được tích mũ sau mỗi layer nên khi optimize các tham số ở layer càng xa sẽ càng khó,

Ngoài ra 2 hàm này có nhiệm vụ đưa input từ một khoảng giá trị lớn về thành một khoảng nhỏ ([0,1] or [-1,1]) Và sau mỗi layer sẽ càng nhỏ hơn nữa, dẫn tới sự ảnh hưởng của các layer đến các input là không nhiều.

Một hiện tượng ngược lại là exploding gradients, tức là các layer về cuối thay đổi giá trị quá nhiều của input.

Bạn có thể khắc phục các nhược điểm này bằng ReLu act-func, điển hình là việc lấy max(0,x) và ít bị ảnh hưởng bởi đạo hàm

Trả lời

Mình bổ sung vấn đề bên lề chút cho câu trả lời của bạn Thịnh:

Sigmoid hoặc tanh còn có một nhược điểm là hiện tượng Vanishing gradient (Khó tối ưu tham số ở các layer càng về cuối cùng) vì đạo hàm của chúng được tích mũ sau mỗi layer nên khi optimize các tham số ở layer càng xa sẽ càng khó,

Ngoài ra 2 hàm này có nhiệm vụ đưa input từ một khoảng giá trị lớn về thành một khoảng nhỏ ([0,1] or [-1,1]) Và sau mỗi layer sẽ càng nhỏ hơn nữa, dẫn tới sự ảnh hưởng của các layer đến các input là không nhiều.

Một hiện tượng ngược lại là exploding gradients, tức là các layer về cuối thay đổi giá trị quá nhiều của input.

Bạn có thể khắc phục các nhược điểm này bằng ReLu act-func, điển hình là việc lấy max(0,x) và ít bị ảnh hưởng bởi đạo hàm

Một số ưu nhược điểm của các hàm này như sau:

  • Hàm sigmoid: được sử dụng nhiều trong quá khứ ví có đạo hàm rất đẹp, Những năm gần đây, hàm số này ít khi được sử dụng. Nó có một nhược điểm cơ bản: là khi đầu vào có trị tuyệt đối lớn (rất âm hoặc rất dương), gradient của hàm số này sẽ rất gần với 0. Điều này đồng nghĩa với việc các hệ số tương ứng với unit đang xét sẽ gần như không được cập nhật.
  • Hàm tanh cũng có nhược điểm gần giống sigmoid về việc gradient rất nhỏ với các đầu vào có trị tuyệt đối lớn.
  • Hàm relu: ReLU (Rectified Linear Unit) được sử dụng rộng rãi gần đây vì tính đơn giản của nó. Ưu điểm chính của nó là : ReLU được chứng minh giúp cho việc training các Deep Networks nhanh hơn rất nhiều (theo
    Krizhevsky et al.
    ). Mặc dù hàm ReLU không có đạo hàm tại \(s = 0\), trong thực nghiệm, người ta vẫn thường định nghĩa \(\text{ReLU}’(0) = 0\) và khẳng định thêm rằng, xác suất để input của một unit bằng 0 là rất nhỏ.

Hàm ReLU có nhiều biến thể khác như

Noisy ReLU, Leaky ReLu, ELUs
.

Source:

https://machinelearningcoban.com/2017/02/24/mlp/#-activation-functions

em xem tại đây nhé:

Câu hỏi này khá chung chung, vì act func nó được ứng dụng trong mỗi bài toán khác nhau. Khi bạn tìm hiểu về bài toán A nào đó, hầu hết các tài liệu đều chỉ ra rõ tại sao họ sử dụng act func họ dùng.