Sử dụng mô-đun não của Gekko, làm cách nào để xác định có bao nhiêu lớp và loại lớp nào sẽ sử dụng để giải quyết vấn đề học sâu?


9

Tôi đang học cách sử dụng mô-đun não của Gekko cho các ứng dụng học sâu.

Tôi đã thiết lập một mạng lưới thần kinh để tìm hiểu hàm numpy.cos () và sau đó tạo ra kết quả tương tự.

Tôi có được một sự phù hợp tốt khi giới hạn đào tạo của tôi là:

x = np.linspace(0,2*np.pi,100)

Nhưng mô hình sụp đổ khi tôi cố gắng mở rộng giới hạn để:

x = np.linspace(0,3*np.pi,100)

Tôi cần làm gì để thay đổi trong mạng lưới thần kinh của mình để tăng tính linh hoạt cho mô hình của tôi để nó hoạt động cho các giới hạn khác?

Đây là mã của tôi:

from gekko import brain
import numpy as np
import matplotlib.pyplot as plt

#Set up neural network 
b = brain.Brain()
b.input_layer(1)
b.layer(linear=2)
b.layer(tanh=2)
b.layer(linear=2)
b.output_layer(1)

#Train neural network
x = np.linspace(0,2*np.pi,100)
y = np.cos(x)
b.learn(x,y)

#Calculate using trained nueral network
xp = np.linspace(-2*np.pi,4*np.pi,100)
yp = b.think(xp)

#Plot results
plt.figure()
plt.plot(x,y,'bo')
plt.plot(xp,yp[0],'r-')
plt.show()

Đây là kết quả tới 2pi:

nhập mô tả hình ảnh ở đây

Đây là kết quả đến 3pi:

nhập mô tả hình ảnh ở đây

Câu trả lời:


6

Tôi nhận được kết quả sau nếu tôi tăng các nút lên 5 b.layer(tanh=5)

Có lẽ có nhiều câu trả lời cho câu hỏi này, tho. Có thể tăng số lượng lớp hoặc thay đổi chức năng kích hoạt. Bạn luôn có thể sử dụng các bộ giải khác nhau, quá. Tìm kiến ​​trúc mạng tốt nhất là một vấn đề tối ưu hóa của riêng nó. Một số người đã cố gắng tìm ra nó bằng các thuật toán di truyền, ví dụ:

https://arxiv.org/pdf/1808.03818.pdf

nhập mô tả hình ảnh ở đây


2

Các mô hình dựa trên dữ liệu (Hộp đen) vốn đã có các vấn đề "Quá mức" và "Không phù hợp". Nếu bạn cung cấp quá nhiều bậc tự do trong mô hình của mình, nó sẽ hoàn toàn phù hợp với tập dữ liệu "Đào tạo" của bạn, trong khi nó sẽ không phù hợp với tập dữ liệu "Xác thực".

Tương tự đối với kiểu mô hình mạng nơ-ron. Bạn cung cấp càng nhiều lớp, mô hình càng dễ dẫn đến "Quá mức".

Có một số cách để tránh "Quá mức".

Nói chung, bạn có thể cân bằng "lỗi mô hình" giữa "Tập huấn luyện" và "Tập xác thực", dừng tăng các lớp tại điểm khi Lỗi xác thực bắt đầu tăng trong khi lỗi đào tạo tiếp tục giảm hoặc ngược lại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.