Mạng nơron: Các nút và lớp ẩn

Để xây dựng một mạng nơ-ron có khả năng học các hàm phi tuyến tính , hãy bắt đầu với cấu trúc mô hình quen thuộc sau: một mô hình tuyến tính có dạng $y' = b + w_1x_1 + w_2x_2 + w_3x_3$.

Chúng ta có thể hình dung phương trình này như hình bên dưới, trong đó $x_1$, $x_2$, và $x_3$ là ba nút đầu vào của chúng ta (màu xanh lam), và $y'$ là nút đầu ra của chúng ta (màu xanh lục).

Bài tập 1

Trong mô hình trên, các giá trị trọng sốđộ lệch đã được khởi tạo ngẫu nhiên. Hãy thực hiện các nhiệm vụ sau để làm quen với giao diện và khám phá mô hình tuyến tính. Bạn có thể bỏ qua menu thả xuống Hàm kích hoạt hiện tại; chúng ta sẽ thảo luận về chủ đề này sau trong mô-đun này.

  1. Nhấp vào nút Phát (▶️) phía trên mạng để tính giá trị của nút đầu ra cho các giá trị đầu vào $x_1 = 1.00$, $x_2 = 2.00$ và $x_3 = 3.00$.

  2. Nhấp chuột vào nút thứ hai trong lớp đầu vào và tăng giá trị từ 2,00 lên 2,50. Lưu ý rằng giá trị của nút đầu ra thay đổi. Chọn các nút đầu ra (màu xanh lá cây) và xem lại bảng Tính toán để xem giá trị đầu ra được tính toán như thế nào.

  3. Nhấp vào nút đầu ra (màu xanh lá cây) để xem giá trị tham số trọng số ($w_1$, $w_2$, $w_3$) và độ lệch ($b$). Giảm giá trị trọng số cho $w_3$ (lưu ý rằng giá trị của nút đầu ra và các phép tính bên dưới đã thay đổi). Sau đó, tăng giá trị độ lệch. Xem xét những thay đổi này đã ảnh hưởng đến kết quả đầu ra của mô hình như thế nào.

Thêm các lớp vào mạng

Lưu ý rằng khi bạn điều chỉnh các giá trị trọng số và độ lệch của mạng trong Bài tập 1 , điều đó không làm thay đổi mối quan hệ toán học tổng thể giữa đầu vào và đầu ra. Mô hình của chúng ta vẫn là một mô hình tuyến tính.

Nhưng điều gì sẽ xảy ra nếu chúng ta thêm một lớp nữa vào mạng, nằm giữa lớp đầu vào và lớp đầu ra? Trong thuật ngữ mạng nơ-ron, các lớp bổ sung giữa lớp đầu vào và lớp đầu ra được gọi là các lớp ẩn , và các nút trong các lớp này được gọi là nơ-ron .

Giá trị của mỗi nơ-ron trong lớp ẩn được tính toán theo cùng một cách như đầu ra của mô hình tuyến tính: lấy tổng của tích các đầu vào của nó (các nơ-ron trong lớp mạng trước đó) và một tham số trọng số duy nhất, cộng với hệ số thiên vị (bias). Tương tự, các nơ-ron trong lớp tiếp theo (ở đây là lớp đầu ra) được tính toán bằng cách sử dụng giá trị của các nơ-ron trong lớp ẩn làm đầu vào.

Lớp ẩn mới này cho phép mô hình của chúng ta kết hợp lại dữ liệu đầu vào bằng cách sử dụng một tập hợp tham số khác. Liệu điều này có thể giúp mô hình của chúng ta học được các mối quan hệ phi tuyến tính không?

Bài tập 2

Chúng tôi đã thêm một lớp ẩn chứa bốn nơron vào mô hình.

Nhấp vào nút Phát (▶️) phía trên mạng để tính toán giá trị của bốn nút lớp ẩn và nút đầu ra với các giá trị đầu vào $x_1 = 1.00$, $x_2 = 2.00$ và $x_3 = 3.00$.

Sau đó, hãy khám phá mô hình và sử dụng nó để trả lời các câu hỏi sau.

Mô hình mạng nơ-ron này có bao nhiêu tham số (trọng số và độ lệch)?
4
Mô hình ban đầu của chúng ta trong Bài tập 1 có bốn tham số: w 11 , w 21 , w 31 , và b. Vì mô hình này chứa một lớp ẩn nên có nhiều tham số hơn.
12
Lưu ý rằng tổng số tham số bao gồm cả các tham số được sử dụng để tính toán giá trị nút trong lớp ẩn từ các giá trị đầu vào, và các tham số được sử dụng để tính toán giá trị đầu ra từ các giá trị nút trong lớp ẩn.
16
Lưu ý rằng tổng số tham số bao gồm cả tham số trọng số và tham số độ lệch.
21
Có 4 tham số được sử dụng để tính toán mỗi trong 4 giá trị nút trong lớp ẩn—3 trọng số (một cho mỗi giá trị đầu vào) và một hệ số thiên vị—tổng cộng là 16 tham số. Sau đó, có 5 tham số được sử dụng để tính toán giá trị đầu ra: 4 trọng số (một cho mỗi nút trong lớp ẩn) và một hệ số thiên vị. Tổng cộng, mạng nơ-ron này có 21 tham số.

Hãy thử điều chỉnh các tham số của mô hình và quan sát ảnh hưởng của chúng đến giá trị nút lớp ẩn và giá trị đầu ra (bạn có thể xem bảng Tính toán bên dưới để xem cách các giá trị này được tính toán).

Mô hình này có thể học được các hàm phi tuyến tính không?

Đúng
Nhấp chuột vào từng nút trong lớp ẩn và nút đầu ra, rồi xem xét các phép tính bên dưới. Bạn nhận thấy điều gì về tất cả các phép tính này?
KHÔNG

Nếu bạn nhấp vào từng nút trong lớp ẩn và xem lại các phép tính bên dưới, bạn sẽ thấy rằng tất cả chúng đều là tuyến tính (bao gồm các phép nhân và phép cộng).

Nếu sau đó bạn nhấp vào nút đầu ra và xem lại phép tính bên dưới, bạn sẽ thấy rằng phép tính này cũng là tuyến tính. Các phép tính tuyến tính được thực hiện trên đầu ra của các phép tính tuyến tính cũng là tuyến tính, điều đó có nghĩa là mô hình này không thể học được các phi tuyến tính.