Mạng nơron: Bài tập trên sân chơi

Mạng nơ-ron đầu tiên

Trong bài tập này, chúng ta sẽ đào tạo mạng nơron nhỏ đầu tiên. Mạng nơron sẽ cho phép chúng ta tìm hiểu các mô hình phi tuyến tính mà không cần sử dụng các tính năng rõ ràng.

Nhiệm vụ 1: Mô hình như đã kết hợp hai tính năng đầu vào của chúng ta thành một nơron. Mô hình này có học được kiến thức phi tuyến tính không? Hãy chạy ứng dụng này để xác nhận suy đoán của bạn.

Nhiệm vụ 2: Hãy thử tăng số lượng nơ-ron trong lớp ẩn từ 1 lên 2, đồng thời thử thay đổi từ trình kích hoạt Tuyến tính sang lượt kích hoạt phi tuyến tính như ReLU. Bạn có thể tạo một mô hình có thể học về tính phi tuyến tính không? Nó có thể lập mô hình dữ liệu một cách hiệu quả không?

Nhiệm vụ 3: Hãy thử tăng số lượng nơ-ron trong lớp ẩn từ 2 lên 3, bằng cách sử dụng tính năng kích hoạt phi tuyến tính như ReLU. Nó có thể lập mô hình dữ liệu một cách hiệu quả không? Chất lượng mô hình khác nhau như thế nào giữa các lần chạy?

Nhiệm vụ 4: Tiếp tục thử nghiệm bằng cách thêm hoặc xóa các lớp và nơ-ron ẩn trên mỗi lớp. Ngoài ra, bạn cũng có thể thay đổi tỷ lệ học tập, quá trình chuẩn hoá và các chế độ cài đặt học tập khác. Số lượng tế bào thần kinh và lớp nhỏ nhất mà bạn có thể sử dụng có thể dẫn đến tổn thất thử nghiệm từ 0,177 trở xuống là bao nhiêu?

Việc tăng kích thước mô hình có cải thiện được kích thước vừa vặn hay nhanh chóng hội tụ không? Điều này có làm thay đổi tần suất chuyển đổi thành một mô hình tốt không? Ví dụ: hãy thử cấu trúc sau:

  • Lớp ẩn đầu tiên có 3 nơ-ron.
  • Lớp ẩn thứ hai có 3 nơ-ron.
  • Lớp ẩn thứ ba có 2 nơ-ron.

(Câu trả lời xuất hiện ngay bên dưới bài tập.)



Khởi tạo mạng nơron

Bài tập này sử dụng lại dữ liệu XOR, nhưng xem xét khả năng lặp lại của quá trình đào tạo Neural Nets và tầm quan trọng của việc khởi chạy.

Tác vụ 1: Chạy mô hình như đã được bốn hoặc năm lần. Trước mỗi lần thử, hãy nhấn nút Đặt lại mạng để khởi chạy ngẫu nhiên mới. (Nút Đặt lại mạng là mũi tên đặt lại vòng tròn ở bên trái nút Phát.) Hãy để mỗi phiên bản dùng thử chạy trong ít nhất 500 bước để đảm bảo sự hội tụ. Mỗi mô hình xuất ra hội tụ hình dạng nào? Điều này nói gì về vai trò của việc khởi chạy trong quá trình tối ưu hoá không phải lồi?

Nhiệm vụ 2: Hãy thử làm cho mô hình này phức tạp hơn một chút bằng cách thêm một lớp và một vài nút bổ sung. Lặp lại các lượt thử từ Bài 1. Điều này có làm tăng thêm độ ổn định cho kết quả không?

(Câu trả lời xuất hiện ngay bên dưới bài tập.)



Vòng xoắn ốc thần kinh

Tập dữ liệu này là một xoắn ốc nhiễu. Rõ ràng là mô hình tuyến tính sẽ không hoạt động được ở đây, nhưng ngay cả khi các chữ thập tính năng được xác định theo cách thủ công thì cũng có thể khó xây dựng.

Nhiệm vụ 1: Đào tạo mô hình tốt nhất có thể, chỉ sử dụng X1 và X2. Bạn có thể thêm hoặc xoá lớp và nơ-ron, thay đổi chế độ cài đặt học tập như tỷ lệ học tập, tỷ lệ chuẩn hoá và kích thước lô. Bạn có thể gặp thử nghiệm nào là tốt nhất? Giao diện đầu ra của mô hình mượt mà đến mức nào?

Nhiệm vụ 2: Ngay cả với Neural Nets, một số kỹ thuật tính năng thường cần thiết để đạt được hiệu suất tốt nhất. Hãy thử thêm các tính năng bổ sung của sản phẩm hoặc các phép biến đổi khác như sin(X1) và sin(X2). Bạn có mô hình nào tốt hơn không? Kết quả của mô hình có mượt mà hơn không?

(Câu trả lời xuất hiện ngay bên dưới bài tập.)