Mạng nơron: Bài tập tương tác

Trong các bài tập tương tác dưới đây, bạn sẽ tìm hiểu thêm về hoạt động bên trong của mạng nơron. Trước tiên, bạn sẽ thấy cách tham số và siêu tham số thay đổi như thế nào ảnh hưởng đến các dự đoán của mạng. Sau đó, bạn sẽ vận dụng những điều đã học để huấn luyện một mạng nơron để điều chỉnh dữ liệu phi tuyến tính.

Bài tập 1

Tiện ích sau đây thiết lập mạng nơron với cấu hình sau:

  • Lớp đầu vào có 3 nơron chứa các giá trị 0.00, 0.000.00
  • Lớp ẩn có 4 nơron
  • Lớp đầu ra có 1 nơron
  • Đã áp dụng hàm kích hoạt ReLU cho tất cả các nút lớp ẩn và nút đầu ra

Xem lại cách thiết lập mạng ban đầu (lưu ý: đừng nhấp vào biểu tượng ▶️ 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 3 tính năng đầu vào cho mô hình mạng nơron là tất cả 0.00. Nhấp vào từng nút trên mạng để xem tất cả các nút đã khởi tạo giá trị. Trước khi nhấn vào nút Phát (▶️), hãy trả lời câu hỏi sau:

Bạn muốn loại giá trị đầu ra nào cho rằng sẽ được tạo ra: dương, âm hay 0?
Giá trị đầu ra dương
Giá trị đầu ra âm
Giá trị đầu ra là 0

Bây giờ, hãy nhấp vào nút Phát (▶️) bên trên mạng và xem tất cả lớp ẩn và các giá trị nút đầu ra được điền sẵn. Câu trả lời ở trên có chính xác không?

Nhấp vào đây để xem nội dung giải thích

Giá trị đầu ra chính xác mà bạn nhận được sẽ thay đổi tuỳ theo trọng lượng và tham số sai 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, thì các trọng số được dùng để tính toán tất cả giá trị nút lớp ẩn sẽ được chuyển thành 0. Ví dụ: đầu tiên tính toán nút lớp ẩn sẽ là:

y = ReLU(w11* 0,00 + w21* 0,00 + w31* 0,00 + b)

y = ReLU(b)

Vì vậy, giá trị của mỗi nút lớp ẩn sẽ bằng giá trị ReLU của độ lệch (b), bằng 0 nếu b là âm và b nếu b bằng 0 hoặc tích cực.

Sau đó, giá trị của nút đầu ra sẽ được tính như sau:

y = ReLU(w11* x11 + w21* x21 + w31* x31 + w41* x41 + b)

Nhiệm vụ 2

Trước khi sửa đổi 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 khác vào mạng nơron sau lớp ẩn đầu tiên và cung cấp cho lớp mới này 3 nút, giữ tất cả đầu vào và trọng số/độ lệch giống nhau, các nút khác sẽ phép tính sẽ bị ảnh hưởng không?
Tất cả các nút trong mạng, ngoại trừ các nút đầu vào
Chỉ các nút trong lớp ẩn đầu tiên
Chỉ nút đầu ra

Bây giờ hãy sửa đổi mạng nơron để thêm một lớp ẩn mới có 3 nút như sau:

  1. Nhấp vào nút + ở bên trái văn bản 1 lớp ẩn để thêm mới lớp ẩn trước lớp đầu ra.
  2. Nhấp vào nút + bên trên lớp ẩn mới hai lần để thêm 2 nút nữa vào lớp.

Câu trả lời ở trên có chính xác không?

Nhấp vào đây để xem nội dung giải thích

Chỉ có nút đầu ra thay đổi. Bởi vì suy luận cho mạng nơron này là "chuyển tiếp nguồn cấp dữ liệu" (tiến trình tính toán từ đầu đến cuối), phép cộng của một lớp mới vào mạng sẽ chỉ ảnh hưởng đến các nút sau khi chứ không phải các lớp đứng trước.

Nhiệm vụ 3

Nhấp vào nút thứ hai (từ trên cùng) trong lớp ẩn đầu tiên của mạng biểu đồ. 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ác câu hỏi câu hỏi sau:

Nếu bạn thay đổi giá trị của trọng số w12 (hiển thị bên dưới nút đầu vào đầu tiên, x1), nút nào khác phép tính toán có thể bị ảnh hưởng đối với một số dữ liệu đầu vào có giá trị nào?
Không có
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.
Tất cả các nút trong lớp ẩn đầu tiên, lớp ẩn thứ hai và lớp đầu ra.

Bây giờ, hãy nhấp vào trường văn bản để xem trọng số w12 (được hiển thị bên dưới nút đầu vào đầu tiên, x1), thay đổi giá trị của nút này thành 5.00 rồi nhấn Enter. Quan sát các nội dung cập nhật cho biểu đồ.

Câu trả lời của bạn có chính xác không? Hãy cẩn thận khi xác minh câu trả lời của bạn: nếu nút không thay đổi, điều đó có nghĩa là phép tính cơ bản không thay đổi?

Nhấp vào đây để xem nội dung giải thích

Nút duy nhất bị ảnh hưởng trong lớp ẩn đầu tiên là nút thứ hai (nút một quảng cáo mà bạn đã nhấp vào). Tính toán giá trị cho các nút khác trong phần đầu tiên lớp ẩn không chứa w12 dưới dạng tham số, nên 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ì chúng mỗi phép tính phụ thuộc vào giá trị của nút thứ hai trong lớp ẩn. Tương tự, giá trị nút đầu ra cũng bị ảnh hưởng vì các phép tính này phụ thuộc vào giá trị của các nút trong lớp ẩn thứ hai.

Bạn có cho rằng câu trả lời là "không có" 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ố? Xin lưu ý rằng cơ bản phép tính cho một nút có thể thay đổi mà không thay đổi giá trị của nút đó (ví dụ: ReLU(0) và ReLU(–5) đều tạo ra đầu ra 0). Không đưa ra các giả định về việc mạng lưới bị ảnh hưởng như thế nào chỉ do xem xét các giá trị nút; bạn cũng nên xem lại các phép tính.

Bài tập 2

Trong mục Bài tập chéo tính năng trong mô-đun dữ liệu danh mục, bạn đã tạo các bước chuyển tính năng theo cách thủ công để khớp dữ liệu phi tuyến tính. Bây giờ, bạn sẽ xem mình có thể xây dựng một mạng nơron có khả năng tự động học hỏi cách điều chỉnh dữ liệu phi tuyến tính trong quá trình huấn luyện.

Nhiệm vụ của bạn: định cấu hình một mạng nơron có thể phân tách các dấu chấm màu cam với các dấu chấm màu xanh trong biểu đồ bên dưới, có độ giảm dưới 0,2 trên cả hai dữ liệu huấn luyện và kiểm tra.

Hướng dẫn:

Trong tiện ích tương tác bên dưới:

  1. Sửa đổi siêu thông số của mạng nơron bằng cách thử nghiệm với một số trong số các chế độ cài đặt cấu hình sau:
    • Thêm hoặc xóa các lớp ẩn bằng cách nhấp vào nút +- ở phía trước bên trái tiêu đề LỚP ẨN trong sơ đồ mạng.
    • Thêm hoặc xóa nơron khỏi một lớp ẩn bằng cách nhấp vào dấu +- các nút bên trên cột lớp ẩn.
    • Thay đổi tốc độ học bằng cách chọn một giá trị mới trong Tốc độ học trình đơn thả xuống ở phía trên biểu đồ.
    • Thay đổi hàm kích hoạt bằng cách chọn một giá trị mới trong Trình đơn thả xuống Kích hoạt ở phía trên biểu đồ.
  2. Nhấp vào nút Phát (▶️) phía trên biểu đồ để huấn luyện mạng nơron bằng cách sử dụng các tham số được chỉ định.
  3. Quan sát hình ảnh trực quan của mô hình điều chỉnh dữ liệu để huấn luyện tiến trình phát triển, cũng như Lượt ngừng kiểm thử và Giá trị mất huấn luyện trong phần Output (Đầu ra).
  4. Nếu mô hình không đạt được mức tổn thất dưới 0,2 đối với dữ liệu kiểm thử và huấn luyện, nhấp vào đặt lại và lặp lại các bước từ 1 đến 3 với một tập hợp cấu hình khác phần cài đặt. 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 đã có thể đạt được cả tổn thất trong 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.
  • Chọn một hàm kích hoạt của ReLU.