Tôi đã triển khai một mạng lưới thần kinh (sử dụng CUDA) với 2 lớp. (2 nơ-ron mỗi lớp). Tôi đang cố gắng làm cho nó học 2 hàm đa thức bậc hai đơn giản bằng cách sử dụng backpropagation .
Nhưng thay vì hội tụ, nó đang chuyển hướng (đầu ra đang trở nên vô tận)
Dưới đây là một số chi tiết về những gì tôi đã thử:
- Tôi đã đặt các trọng số ban đầu thành 0, nhưng vì nó đang phân kỳ nên tôi đã chọn ngẫu nhiên các trọng số ban đầu (Phạm vi: -0,5 đến 0,5)
- Tôi đọc được rằng một mạng lưới thần kinh có thể phân kỳ nếu tốc độ học tập quá cao nên tôi đã giảm tỷ lệ học tập xuống 0,000001
- Hai hàm tôi đang cố gắng để thêm nó là: 3 * i + 7 * j + 9 và j * j + i * i + 24 (Tôi đang đưa ra lớp i và j làm đầu vào)
- Tôi đã thực hiện nó như một lớp duy nhất trước đây và điều đó có thể xấp xỉ các hàm đa thức tốt hơn so với hiện tại
- Tôi đang nghĩ đến việc thực hiện động lực trong mạng này nhưng tôi không chắc nó sẽ giúp nó học được
- Tôi đang sử dụng hàm kích hoạt tuyến tính (như không có)
- Có dao động khi bắt đầu nhưng đầu ra bắt đầu chuyển hướng thời điểm bất kỳ trọng số nào trở nên lớn hơn 1
Tôi đã kiểm tra và kiểm tra lại mã của mình nhưng dường như không có vấn đề gì với nó.
Vì vậy, đây là câu hỏi của tôi: điều gì đang xảy ra ở đây?
Bất kỳ con trỏ sẽ được đánh giá cao.