Như bạn đã thấy trong bài tập trước , việc chỉ thêm các lớp ẩn vào mạng nơ-ron là chưa đủ để thể hiện các mối quan hệ phi tuyến tính. Các phép toán tuyến tính thực hiện trên các phép toán tuyến tính vẫn là tuyến tính.
Làm thế nào để cấu hình mạng nơ-ron để học các mối quan hệ phi tuyến tính giữa các giá trị? Chúng ta cần một cách nào đó để đưa các phép toán phi tuyến tính vào mô hình.
Nếu điều này có vẻ quen thuộc, đó là vì chúng ta đã thực sự áp dụng các phép toán phi tuyến tính vào đầu ra của một mô hình tuyến tính trước đó trong khóa học. Trong mô-đun Hồi quy Logistic , chúng ta đã điều chỉnh một mô hình hồi quy tuyến tính để tạo ra một giá trị liên tục từ 0 đến 1 (biểu thị xác suất) bằng cách cho đầu ra của mô hình đi qua một hàm sigmoid .
Chúng ta có thể áp dụng nguyên tắc tương tự cho mạng nơ-ron của mình. Hãy xem lại mô hình từ Bài tập 2 trước đó, nhưng lần này, trước khi xuất ra giá trị của mỗi nút, chúng ta sẽ áp dụng hàm sigmoid trước:
Hãy thử xem từng bước tính toán của mỗi nút bằng cách nhấp vào nút >| (bên phải nút phát). Xem lại các phép toán được thực hiện để tính toán giá trị của mỗi nút trong bảng Tính toán bên dưới đồ thị. Lưu ý rằng đầu ra của mỗi nút hiện là một phép biến đổi sigmoid của tổ hợp tuyến tính của các nút trong lớp trước đó, và các giá trị đầu ra đều nằm trong khoảng từ 0 đến 1.
Ở đây, hàm sigmoid đóng vai trò là hàm kích hoạt cho mạng nơ-ron, một phép biến đổi phi tuyến tính của giá trị đầu ra của nơ-ron trước khi giá trị đó được truyền làm đầu vào cho các phép tính của lớp tiếp theo trong mạng nơ-ron.
Giờ đây, khi đã thêm hàm kích hoạt, việc thêm các lớp sẽ có tác động lớn hơn. Việc xếp chồng các hàm phi tuyến tính cho phép chúng ta mô hình hóa các mối quan hệ rất phức tạp giữa đầu vào và đầu ra dự đoán. Nói tóm lại, mỗi lớp thực chất đang học một hàm phức tạp hơn, ở cấp độ cao hơn dựa trên các đầu vào thô. Nếu bạn muốn hiểu rõ hơn về cách hoạt động này, hãy xem bài đăng trên blog xuất sắc của Chris Olah .
Các chức năng kích hoạt thông thường
Ba hàm toán học thường được sử dụng làm hàm kích hoạt là sigmoid, tanh và ReLU.
Hàm sigmoid (đã thảo luận ở trên) thực hiện phép biến đổi sau trên biến đầu vào $x$, tạo ra giá trị đầu ra nằm giữa 0 và 1:
\[F(x)=\frac{1} {1+e^{-x}}\]
Đây là đồ thị của hàm số này:

Hàm tanh (viết tắt của "tangent hyperbolic") biến đổi giá trị đầu vào $x$ để tạo ra giá trị đầu ra nằm giữa -1 và 1:
\[F(x)=tanh(x)\]
Đây là đồ thị của hàm số này:

Hàm kích hoạt đơn vị tuyến tính hiệu chỉnh (hay gọi tắt là ReLU ) biến đổi đầu ra bằng thuật toán sau:
- Nếu giá trị đầu vào $x$ nhỏ hơn 0, hãy trả về 0.
- Nếu giá trị đầu vào $x$ lớn hơn hoặc bằng 0, hãy trả về giá trị đầu vào đó.
ReLU có thể được biểu diễn bằng toán học thông qua hàm max():
Đây là đồ thị của hàm số này:

Hàm ReLU thường hoạt động tốt hơn một chút so với các hàm trơn như sigmoid hoặc tanh, bởi vì nó ít bị ảnh hưởng bởi vấn đề suy giảm độ dốc trong quá trình huấn luyện mạng nơ-ron . Ngoài ra, việc tính toán ReLU cũng dễ dàng hơn đáng kể so với các hàm này.
Các chức năng kích hoạt khác
Trên thực tế, bất kỳ hàm toán học nào cũng có thể được sử dụng làm hàm kích hoạt. Giả sử rằng \(\sigma\) Biểu thị hàm kích hoạt của chúng ta. Giá trị của một nút trong mạng được cho bởi công thức sau:
Keras hỗ trợ sẵn nhiều hàm kích hoạt . Tuy nhiên, chúng tôi vẫn khuyên bạn nên bắt đầu với ReLU.
Bản tóm tắt
Video sau đây tóm tắt lại tất cả những gì bạn đã học được cho đến nay về cách xây dựng mạng nơ-ron:
Hiện tại mô hình của chúng tôi đã có đầy đủ các thành phần tiêu chuẩn mà mọi người thường hiểu khi nhắc đến mạng nơ-ron:
- Một tập hợp các nút, tương tự như các tế bào thần kinh, được tổ chức thành các lớp.
- Một tập hợp các trọng số và độ lệch đã được học, đại diện cho các kết nối giữa mỗi lớp mạng nơ-ron và lớp bên dưới nó. Lớp bên dưới có thể là một lớp mạng nơ-ron khác, hoặc một loại lớp nào khác.
- Hàm kích hoạt là hàm biến đổi đầu ra của mỗi nút trong một lớp. Các lớp khác nhau có thể có các hàm kích hoạt khác nhau.
Lưu ý: mạng nơ-ron không nhất thiết luôn tốt hơn so với việc kết hợp các đặc trưng, nhưng mạng nơ-ron cung cấp một giải pháp thay thế linh hoạt và hiệu quả trong nhiều trường hợp.