গেক্কোর মস্তিষ্কের মডিউলটি ব্যবহার করে, আমি কীভাবে নির্ধারণ করব যে গভীর শিক্ষার সমস্যা সমাধানের জন্য কত স্তর এবং কোন ধরণের স্তর ব্যবহার করা উচিত?


9

আমি গভীর শেখার অ্যাপ্লিকেশনগুলির জন্য গেক্কোর মস্তিষ্কের মডিউলটি ব্যবহার করতে শিখছি।

আমি 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

ডেটা-চালিত (ব্ল্যাক-বাক্স) মডেলগুলির অন্তর্নিহিতভাবে "ওভারফিটিং" এবং "আন্ডারফিটিং" সমস্যা রয়েছে। আপনি যদি আপনার মডেলটিতে অনেকগুলি ডিগ্রি স্বাধীনতা দেন তবে এটি আপনার "প্রশিক্ষণ" ডেটা সেটটিতে পুরোপুরি ফিট হয়ে যাবে, যদিও এটি "বৈধকরণ" ডেটা সেটের সাথে এটি ভাল ফিট করে না।

নিউরাল নেট ধরণের মডেলগুলির জন্য একই। আপনি যত বেশি স্তর দেবেন, তার চেয়ে বেশি মডেলটির ফলাফল "ওভারফিটিং" "

"ওভারফিটিং" এড়ানোর বিভিন্ন উপায় রয়েছে।

সাধারণত, আপনি "প্রশিক্ষণ সেট" এবং "বৈধকরণ সেট" এর মধ্যে "মডেল ত্রুটিগুলি" ভারসাম্য বজায় রাখতে পারেন, "যখন প্রশিক্ষণের ত্রুটি কমতে থাকে, বা তদ্বিপরীতভাবে যখন বৈধতা ত্রুটি বৃদ্ধি পেতে শুরু করে তখন স্তরগুলি বৃদ্ধি করা বন্ধ করে দেয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.