Thứ Sáu, 21 tháng 1, 2022

Các vấn đề trong Neural Network

1. Giới thiệu

Hôm nay mình sẽ giới thiệu đến các bạn về một số vấn đề thường hay gặp trong neural network ảnh hưởng rất nhiều đến kết quả bài toán.

Nhắc lại một chút về công thức gradient descent w = w - \eta \frac{\partial L(X, w)}{\partial w}

  • Vanishing Gradient
  • Exploding Gradient
  • Giải pháp
  • Các activation thường gặp

2. Exploding Gradient

Đối với backpropagation đó chính là chain rule cụ thể hơn

Hình trên mình lấy từ bài hôm trước nó là tích của các đạo hàm. Khi các đạo hàm này nhỏ hơn 1 thì tích của các số nhỏ hơn 1 sẽ tiến dần về 0. Việc tính gradient tại những layer đầu trong trường hợp neural network có nhiều layer sẽ dẫn đến trường hợp gradient tại những layer này sẽ tiến dần về 0. Quay trở lại với công thức Gradient Descent. Nếu các gradient này tiến về 0. Thì các parameters sẽ không được cập nhật hay thường được gọi là freeze. Hiện tượng này được gọi là Vanishing Gradient

Ở bài trước chúng ta thường hay sử dụng activation function là sigmoid một điều đáng lưu ý là đạo hàm của hàm sigmoid nhỏ hơn 1

3. Exploding Gradient

Ngược lại với Vanishing Gradient là Exploding Gradient nghĩa là khi các tích đạo hàm lớn hơn 1 tích các đạo hàm này có thể tiến đến dương vô cùng. Khi đó công thức Gradient Descent để cập nhật parameters sẽ biến thiên rất lớn mà không hội tụ tại điểm minimum hiện tượng này được gọi là Exploding Gradient

4. Giải pháp

Có một số giải pháp phổ biến để giải quyết các vấn đề này tùy thuộc vào bài toán có thể kể đến: Trong NLP thay vì sử dụng RNN thì người ta sử dụng GRU hoặc LSTM, kĩ thuật Residual Network, sử dụng activation phù hợp...

Các phương pháp trên về mặt kiến thức vượt ra khỏi phạm vi của bài viết này nên mình sẽ giới thiệu sau.

5. Các activation thường gặp

Từ đầu đến giờ mình chỉ sử dụng sigmoid như là một activation. Trong thực tế ngoài sigmoid chúng ta còn một số các activation khác nữa

  • Hình a là sigmoid, mình sẽ không trình bày về activation này nữa
  • Hình b là tanh hàm này có giá trị [-1, 1]. Đạo hàm của tanh function cũng nhỏ hơn 1
  • Hình c là relu. Hàm này được sử dụng rất nhiều trong các bài toán về deep learning. Lý do là đơn giản, tính toán nhanh, có đạo hàm tại mọi điểm và giải quyết được phần nào Vanishing gradient. Vì đạo hàm của nó là 1 nếu z > 0. Tuy nhiên với các giá trị nhỏ hơn 0 khi đi qua relu thì nó bằng 0 hiện tượng này được gọi là Dying ReLU
  • Hình d là leakly relu được sinh ra giải quyết vấn đề của relu

Trên đây là một số vấn đề trong neural network, nếu các bạn có thắc mắc gì vui lòng để lại comment phía dưới. Xin cảm ơn

Related Posts:

  • Deep Neural Network trong bài toán nhiều lớp1. Giới thiệu Ở bài trước mình đã trình bày về Deep Neural Network trong bài toán binary classification. Hôm nay mình sẽ trình bày về Deep Neural Netw… Read More
  • Neural Network1. Giới thiệu Xin chào các bạn hôm nay mình xin giới thiệu tới các bạn Neural Network là nền tảng của Deep Learning. Nội dung Logistic là một Neura… Read More
  • Gradient descent1. Giới thiệu Gradient descent là một kĩ thuật tối ưu rất quan trọng trong Machine Learning cũng như Deep Learning mà bạn cần phải biết. Mục đích… Read More
  • Phân loại học máy1. Giới thiệu Việc xác định bài toán thuộc loại học máy nào là một trong những vấn đề quan trọng và đầu tiên trong việc xử lý một bài toán machine l… Read More
  • Các Loss Function thường gặp1. Giới thiệu Từ các bài học trước các bạn đã biết Loss Function là gì, đây cũng là khái niệm quan trọng bậc nhất trong Machine Learning cụ thể trong … Read More

0 nhận xét:

Đăng nhận xét