Trong các bài tập tương tác bên dưới, bạn sẽ khám phá sâu hơn về cơ chế hoạt động bên trong của mạng nơ-ron. Đầu tiên, bạn sẽ thấy sự thay đổi của các tham số và siêu tham số ảnh hưởng đến dự đoán của mạng như thế nào. Sau đó, bạn sẽ sử dụng những gì đã học để huấn luyện một mạng nơ-ron nhằm phù hợp với dữ liệu phi tuyến tính.
Bài tập 1
Tiện ích sau đây thiết lập một mạng nơ-ron với cấu hình như sau:
- Lớp đầu vào gồm 3 nơ-ron chứa các giá trị
0.00 , 0.00 và 0.00 - Lớp ẩn với 4 nơ-ron
- Lớp đầu ra với 1 nơ-ron
- Hàm kích hoạt ReLU được áp dụng cho tất cả các nút lớp ẩn và nút đầu ra.
Kiểm tra lại thiết lập ban đầu của mạng (lưu ý: chưa nhấn vào các nút ▶️ hoặc >| ), sau đó hoàn thành các nhiệm vụ bên dưới tiện ích.
Nhiệm vụ 1
Giá trị của ba đặc trưng đầu vào cho mô hình mạng nơ-ron đều là 0.00 . Nhấp vào từng nút trong mạng để xem tất cả các giá trị đã được khởi tạo. Trước khi nhấn nút Phát ( ▶️ ), hãy trả lời câu hỏi này:
Bạn nghĩ giá trị đầu ra sẽ là gì: dương, âm hay bằng 0?
Giá trị đầu ra dương
Bạn đã chọn giá trị đầu ra dương . Hãy làm theo hướng dẫn bên dưới để thực hiện suy luận trên dữ liệu đầu vào và xem liệu bạn có đúng hay không.
Giá trị đầu ra âm
Bạn đã chọn giá trị đầu ra âm . Hãy làm theo hướng dẫn bên dưới để thực hiện suy luận trên dữ liệu đầu vào và xem bạn có đúng hay không.
Giá trị đầu ra là 0
Bạn đã chọn giá trị đầu ra là 0. Hãy làm theo hướng dẫn bên dưới để thực hiện suy luận trên dữ liệu đầu vào và xem bạn có đúng hay không.
Bây giờ hãy nhấp vào nút Phát (▶️) phía trên mạng và quan sát tất cả các giá trị của lớp ẩn và nút đầu ra được hiển thị. Câu trả lời của bạn ở trên có đúng không?
Nhấp vào đây để xem giải thích
Giá trị đầu ra chính xác mà bạn nhận được sẽ thay đổi tùy thuộc vào cách các tham số trọng số và độ lệch được khởi tạo ngẫu nhiên. Tuy nhiên, vì mỗi nơron trong lớp đầu vào có giá trị bằng 0, nên các trọng số được sử dụng để tính toán giá trị của các nút lớp ẩn sẽ đều bằng 0. Ví dụ, phép tính nút lớp ẩn đầu tiên sẽ là:
y = ReLU(w 11 * 0,00 + w 21 * 0,00 + w 31 * 0,00 + b)
y = ReLU(b)
Do đó, giá trị của mỗi nút lớp ẩn sẽ bằng giá trị ReLU của độ lệch (b), giá trị này sẽ bằng 0 nếu b âm và bằng chính b nếu b bằng 0 hoặc dương.
Giá trị của nút đầu ra sau đó sẽ được tính như sau:
y = ReLU(w 11 * x 11 + w 21 * x 21 + w 31 * x 31 + w 41 * x 41 + b)
Nhiệm vụ 2
Trước khi chỉnh sửa mạng nơ-ron, hãy trả lời câu hỏi sau:
Nếu bạn thêm một lớp ẩn nữa vào mạng nơ-ron sau lớp ẩn đầu tiên, và gán cho lớp mới này 3 nút, giữ nguyên tất cả các tham số đầu vào và trọng số/độ lệch, thì các phép tính của các nút khác sẽ bị ảnh hưởng như thế nào?
Tất cả các nút trong mạng, ngoại trừ các nút đầu vào.
Bạn đã chọn tất cả các nút trong mạng, ngoại trừ các nút đầu vào . Hãy làm theo hướng dẫn bên dưới để cập nhật mạng nơ-ron và xem bạn có đúng không.
Chỉ các nút trong lớp ẩn đầu tiên
Bạn chỉ chọn các nút trong lớp ẩn đầu tiên . Hãy làm theo hướng dẫn bên dưới để cập nhật mạng nơ-ron và xem bạn có đúng không.
Chỉ là nút đầu ra
Bạn chỉ chọn nút đầu ra . Hãy làm theo hướng dẫn bên dưới để cập nhật mạng nơ-ron và xem bạn có đúng không.
Bây giờ hãy sửa đổi mạng nơ-ron để thêm một lớp ẩn mới với 3 nút như sau:
- Nhấp vào nút + ở bên trái dòng chữ "1 hidden layer" để thêm một lớp ẩn mới trước lớp đầu ra.
- Nhấp đúp vào nút + phía trên lớp ẩn mới để thêm 2 nút nữa vào lớp đó.
Câu trả lời của bạn ở trên có đúng không?
Nhấp vào đây để xem giải thích
Chỉ có nút đầu ra thay đổi. Vì quá trình suy luận của mạng nơ-ron này là "truyền thẳng" (các phép tính được thực hiện từ đầu đến cuối), việc thêm một lớp mới vào mạng sẽ chỉ ảnh hưởng đến các nút sau lớp mới đó, chứ không ảnh hưởng đến các nút trước đó.
Nhiệm vụ 3
Nhấp chuột vào nút thứ hai (từ trên xuống) trong lớp ẩn đầu tiên của biểu đồ mạng. Trước khi thực hiện bất kỳ thay đổi nào đối với cấu hình mạng, hãy trả lời câu hỏi sau:
Nếu bạn thay đổi giá trị của trọng số w 12 (hiển thị bên dưới nút đầu vào đầu tiên, x 1 ), thì các phép tính của các nút khác có thể bị ảnh hưởng như thế nào đối với một số giá trị đầu vào?
Không có
Bạn đã chọn "không có" . Hãy làm theo hướng dẫn bên dưới để cập nhật mạng nơ-ron và xem bạn có đúng không.
Nút thứ hai trong lớp ẩn thứ nhất, tất cả các nút trong lớp ẩn thứ hai và nút đầu ra.
Bạn đã chọn nút thứ hai trong lớp ẩn đầu tiên, tất cả các nút trong lớp ẩn thứ hai và nút đầu ra . Hãy làm theo hướng dẫn bên dưới để cập nhật mạng nơ-ron và xem bạn có đúng không.
Tất cả các nút trong lớp ẩn thứ nhất, lớp ẩn thứ hai và lớp đầu ra.
Bạn đã chọn tất cả các nút trong lớp ẩn thứ nhất, lớp ẩn thứ hai và lớp đầu ra . Hãy làm theo hướng dẫn bên dưới để cập nhật mạng nơ-ron và xem bạn có đúng không.
Bây giờ, hãy nhấp vào ô văn bản cho trọng số w 12 (hiển thị bên dưới nút nhập liệu đầu tiên, x 1 ), thay đổi giá trị của nó thành 5.00 và nhấn Enter. Quan sát sự thay đổi trên đồ thị.
Câu trả lời của bạn có đúng không? Hãy cẩn thận khi kiểm tra lại câu trả lời: nếu giá trị của một nút không thay đổi, điều đó có nghĩa là phép tính cơ bản cũng không thay đổi sao?
Nhấp vào đây để xem giải thích
Chỉ có nút thứ hai (nút bạn đã nhấp chuột) bị ảnh hưởng trong lớp ẩn đầu tiên. Việc tính toán giá trị cho các nút khác trong lớp ẩn đầu tiên không chứa tham số w12 , do đó chúng không bị ảnh hưởng. Tất cả các nút trong lớp ẩn thứ hai đều bị ảnh hưởng, vì việc tính toán của chúng phụ thuộc vào giá trị của nút thứ hai trong lớp ẩn đầu tiên. Tương tự, giá trị của nút đầu ra cũng bị ảnh hưởng vì việc tính toán của nó phụ thuộc vào giá trị của các nút trong lớp ẩn thứ hai.
Bạn có nghĩ câu trả lời là "không" vì không có giá trị nút nào trong mạng thay đổi khi bạn thay đổi giá trị trọng số không? Lưu ý rằng phép tính cơ bản cho một nút có thể thay đổi mà không làm thay đổi giá trị của nút đó (ví dụ: ReLU(0) và ReLU(–5) đều tạo ra đầu ra là 0). Đừng đưa ra giả định về cách mạng bị ảnh hưởng chỉ bằng cách nhìn vào giá trị của các nút; hãy chắc chắn xem xét cả các phép tính nữa.
Bài tập 2
Trong các bài tập về phép lai đặc trưng trong mô-đun dữ liệu phân loại , bạn đã tự tay xây dựng các phép lai đặc trưng để phù hợp với dữ liệu phi tuyến tính. Giờ đây, bạn sẽ xem liệu mình có thể xây dựng một mạng nơ-ron có khả năng tự động học cách phù hợp với dữ liệu phi tuyến tính trong quá trình huấn luyện hay không.
Nhiệm vụ của bạn: cấu hình một mạng nơ-ron có thể phân tách các chấm màu cam khỏi các chấm màu xanh lam trong sơ đồ bên dưới, đạt được mức tổn thất nhỏ hơn 0,2 trên cả dữ liệu huấn luyện và dữ liệu kiểm tra.
Hướng dẫn:
Trong tiện ích tương tác bên dưới:
- Điều chỉnh các siêu tham số của mạng nơ-ron bằng cách thử nghiệm với một số thiết lập cấu hình sau:
- Bạn có thể thêm hoặc xóa các lớp ẩn bằng cách nhấp vào các nút + và - ở bên trái tiêu đề LỚP ẨN trong sơ đồ mạng.
- Bạn có thể thêm hoặc xóa các nơron khỏi lớp ẩn bằng cách nhấp vào các nút + và - phía trên cột lớp ẩn.
- Thay đổi tốc độ học bằng cách chọn giá trị mới từ menu thả xuống "Tốc độ học" phía trên sơ đồ.
- Thay đổi hàm kích hoạt bằng cách chọn một giá trị mới từ menu thả xuống "Kích hoạt" phía trên sơ đồ.
- Nhấp vào nút Phát (▶️) phía trên sơ đồ để huấn luyện mô hình mạng nơ-ron bằng các tham số đã chỉ định.
- Hãy quan sát hình ảnh trực quan về quá trình khớp dữ liệu của mô hình trong suốt quá trình huấn luyện, cũng như các giá trị tổn thất kiểm thử và tổn thất huấn luyện trong phần Kết quả đầu ra .
- Nếu mô hình không đạt được mức tổn thất dưới 0,2 trên dữ liệu huấn luyện và kiểm thử, hãy nhấp vào nút đặt lại và lặp lại các bước 1-3 với bộ thiết lập cấu hình khác. Lặp lại quá trình này cho đến khi bạn đạt được kết quả mong muốn.
Nhấp vào đây để xem giải pháp của chúng tôi
Chúng tôi đã đạt được cả mức tổn thất trong quá trình kiểm thử và huấn luyện dưới 0,2 bằng cách:
- Thêm 1 lớp ẩn chứa 3 nơron.
- Chọn tốc độ học là 0,01.
- Lựa chọn hàm kích hoạt ReLU.