การใช้โมดูลสมองของ Gekko ฉันจะกำหนดจำนวนชั้นและประเภทของชั้นที่จะใช้เพื่อแก้ปัญหาการเรียนรู้ลึกได้อย่างไร


9

ฉันกำลังเรียนรู้ที่จะใช้โมดูลสมองของ Gekko สำหรับการใช้งานการเรียนรู้ลึก

ฉันตั้งเครือข่ายประสาทเพื่อเรียนรู้ฟังก์ชั่น numpy.cos () แล้วให้ผลลัพธ์ที่คล้ายกัน

ฉันได้รับแบบที่ดีเมื่อขอบเขตในการฝึกอบรมของฉันคือ:

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

แต่ตัวแบบแตกสลายเมื่อฉันพยายามขยายขอบเขตไปที่:

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

ฉันต้องเปลี่ยนอะไรในเครือข่ายประสาทของฉันเพื่อเพิ่มความยืดหยุ่นของแบบจำลองของฉันเพื่อให้ทำงานได้กับขอบเขตอื่น ๆ

นี่คือรหัสของฉัน:

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()

ผลลัพธ์เหล่านี้คือ 2pi:

ป้อนคำอธิบายรูปภาพที่นี่

ผลลัพธ์เหล่านี้คือ 3pi:

ป้อนคำอธิบายรูปภาพที่นี่

คำตอบ:


6

ฉันได้รับผลลัพธ์ต่อไปนี้หากฉันเพิ่มโหนดเป็น 5 b.layer(tanh=5)

อาจมีหลายคำตอบสำหรับคำถามนี้สรรพสินค้า อาจเพิ่มจำนวนเลเยอร์หรือเปลี่ยนฟังก์ชั่นการเปิดใช้งาน คุณสามารถใช้เครื่องมือแก้ปัญหาต่าง ๆ ได้เช่นกัน การค้นหาสถาปัตยกรรมเครือข่ายที่ดีที่สุดคือปัญหาการปรับให้เหมาะสมของตนเอง บางคนพยายามคิดด้วยอัลกอริธึมทางพันธุกรรมเช่น:

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

ป้อนคำอธิบายรูปภาพที่นี่


2

รุ่นที่ขับเคลื่อนด้วยข้อมูล (กล่องดำ) มักมีปัญหา "Overfitting" และ "Underfitting" หากคุณให้อิสระกับองศาในโมเดลของคุณมากเกินไปมันจะพอดีกับชุดข้อมูล "การฝึกอบรม" ของคุณในขณะที่มันจะไม่พอดีกับชุดข้อมูล "การตรวจสอบ"

เหมือนกันสำหรับ Neural Net รุ่นต่างๆ เลเยอร์ยิ่งคุณให้มากเท่าไหร่ผลลัพธ์ของโมเดลก็จะง่ายขึ้นใน "Overfitting"

มีหลายวิธีในการหลีกเลี่ยง "Overfitting"

โดยทั่วไปคุณสามารถสร้างความสมดุลของ "ข้อผิดพลาดของโมเดล" ระหว่าง "ชุดการฝึกอบรม" และ "ชุดการตรวจสอบ" เพื่อหยุดการเพิ่มเลเยอร์ ณ จุดที่เมื่อข้อผิดพลาดการตรวจสอบเริ่มเพิ่มขึ้นในขณะที่ข้อผิดพลาดในการฝึกอบรมลดลง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.