নিউরাল নেটওয়ার্ক সবসময় একত্রিত হতে হবে?


16

ভূমিকা

প্রথম ধাপ

আমি একটি স্ট্যান্ডার্ড ব্যাকপ্রোপেটেটিং নিউরাল নেটওয়ার্ক লিখেছি এবং এটি পরীক্ষা করার জন্য, আমি এটি XOR এর মানচিত্র রাখার সিদ্ধান্ত নিয়েছি।

এটি একটি 2-2-1 নেটওয়ার্ক (তান অ্যাক্টিভেশন ফাংশন সহ)

X1  M1
        O1
X2  M2

B1  B2

পরীক্ষার উদ্দেশ্যে, আমি ম্যানুয়ালি একটি ওআর গেট হতে শীর্ষ মিডল নিউরন (এম 1) এবং নীচে নিউরনকে (এম 2) একটি ওআর গেট হতে সেটআপ করেছি (সত্য যদি আউটপুট 1 এবং মিথ্যা হলে উভয় আউটপুট)।

এখন, আমি নিজে থেকে M1-O1 -5.5, M2-O1 1 হতে, এবং B2--75 হতে সংযোগটি নিজেও সেট আপ করেছি

সুতরাং যদি এম 1 = 1 এবং এম 2 = 1, যোগফল হয় (-0.5 +1 -0.75 = -.25) তানহ (0.25) = -0.24

যদি এম 1 = -1 এবং এম 2 = 1, যোগফল ((-0.5) * (- 1) +1 -0.75 = .75) তানহ (0.75) = 0.63

যদি এম 1 = -1 এবং এম 2 = -1 হয় তবে যোগফলটি ((-0.5) * (- 1) -1 -0.75 = -1.25) তানহ (1.25) = -0.8

এটি "প্রথম পুনরাবৃত্তি" এর জন্য তুলনামূলকভাবে ভাল ফলাফল।

ধাপ দুই

আমি তখন এই ওজনগুলিকে কিছুটা সংশোধন করতে এগিয়ে চলেছি এবং তারপরে ত্রুটি প্রচারের অ্যালগরিদম (গ্রেডিয়েন্ট বংশদ্ভুতের উপর ভিত্তি করে) ব্যবহার করে প্রশিক্ষণ দিয়েছি। এই পর্যায়ে, আমি ইনপুট এবং মাঝারি নিউরনগুলির মধ্যে ভারসাম্য অক্ষত রেখেছি, এবং কেবল মাঝারি (এবং পক্ষপাত) এবং আউটপুটের মধ্যে ওজনটি পরিবর্তন করব।

পরীক্ষার জন্য, আমি ওজন নির্ধারণ করেছিলাম এবং .5 .4 .3 (যথাক্রমে এম 1, এম 2 এবং পক্ষপাতের জন্য)

এখানে, তবে আমি সমস্যাগুলি শুরু করি।


আমার প্রশ্ন

আমি আমার শিক্ষার হারটিকে .2 এ সেট করেছিলাম এবং 10000 পুনরাবৃত্তি বা আরও বেশি জন্য প্রশিক্ষণের ডেটা (ABA ^ B) এর মাধ্যমে প্রোগ্রামটি পুনরাবৃত্তি হতে দেয়।

বেশিরভাগ সময়, ওজনগুলি একটি ভাল ফলাফলে রূপান্তরিত করে। যাইহোক, কখনও কখনও, সেই ওজনগুলি (বলুন) 1.5, 5.7 এবং .9 তে রূপান্তরিত হয় যার ফলস্বরূপ +1 আউটপুট (এমনকি) {1, 1 a (যখন ফলাফলটি -1 হওয়া উচিত) এর ইনপুটে পরিণত হয়।

তুলনামূলকভাবে সরল এএনএন এর পক্ষে কি সমাধান সম্ভব যা একেবারেই রূপান্তর না করার সমাধান রয়েছে বা আমার বাস্তবায়নে কোনও বাগ আছে?

উত্তর:


13

(আমি "ত্রুটি প্রচার" দ্বারা ধরে নিয়েছি যার অর্থ আপনি যা বলেছি "ত্রুটি ব্যাক- প্রসারণ"))

নিউরাল নেটওয়ার্কের (হায়কিনের) পৃষ্ঠার ২৩১ পৃষ্ঠায় তিনি বলেছেন যে পিছনের প্রচার সর্বদা রূপান্তরিত হয়, যদিও এই হারটি (তাঁর কথায়) "উদ্বেগজনকভাবে ধীর গতিতে" হতে পারে।

আমি মনে করি আপনি যা জিজ্ঞাসা করছেন তা অ্যালগরিদম সর্বদা একত্রিত হবে কিনা তা নয়, তবে এটি সর্বদা অনুকূল উত্তরে রূপান্তরিত হবে কিনা এবং দুর্ভাগ্যক্রমে, এটি হবে না। এমনকি আপনার মতো সাধারণ ক্ষেত্রেও এটি সম্পূর্ণ সম্ভব যে স্থানীয় মিনিমা রয়েছে যা বিশ্বব্যাপী মিনিমা নয়।

স্থানীয় চূড়ান্ততার সাথে মোকাবিলা করা অপ্টিমাইজেশনের একটি অত্যন্ত গুরুত্বপূর্ণ বিষয় এবং আপনি কীভাবে এটি মোকাবেলা করতে পারেন সে সম্পর্কে পরামর্শের আধিক্য খুঁজে পেতে পারেন। আপনি যা করছেন তার মধ্যে সর্বাধিক প্রচলিত একটি হ'ল: এলোমেলো পুনঃসূচনা (যেমন কেবল একাধিকবার অ্যালগরিদম চালান, প্রতিটি এলোমেলো জায়গা থেকে শুরু করে)।

আপনার কোডটিতে কোনও ত্রুটি আছে কিনা তা নির্ধারণ করার জন্য, আমি ত্রুটি শর্তটি প্রিন্ট করব এবং যাচাই করব যে এটি প্রতিটি পুনরাবৃত্তিতে হ্রাস পাবে। যদি তা হয় তবে আপনি সম্ভবত একটি স্থানীয় মিনিমা মারছেন।


সমস্ত ওজন বৃদ্ধি পায় (ওআর নিউরনের ওজন দ্রুত বৃদ্ধি পায়), যা ইনপুট যখন {1,0}, {0,1}, {0,0} হয় ত্রুটি কমিয়ে দেয় তবে error 1,1} করলে ত্রুটি সর্বাধিক করে তোলে} ব্যাচ লার্নিংয়ের মাধ্যমে অন-লাইন শেখার ক্ষেত্রে এটি কি সমস্যা?

@ শ্মুয়েল: অনলাইন এবং ব্যাচ উভয়ই গ্রেডিয়েন্টের দিকে যেতে চলেছে। যদি সেই গ্রেডিয়েন্টটি ভুল দিকে নির্দেশ করে তবে তারা উভয়ই ভুল পথে চলে যাবে। যদি আপনি আগ্রহী হন তবে হিল ক্লাইম্বিংয়ের উইকিপিডিয়া পৃষ্ঠার কিছু উপায় পেতে পারে।
Xodarap

6

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

যেহেতু স্থানীয় মিনিমা আপনার সমস্যা সৃষ্টি করছে না তাই আমি সংখ্যায় আপনার ডেরাইভেটিভগুলি অনুমান করার এবং তারপরে এইগুলি আপনার গণনা করা মানগুলির সাথে তুলনা করার পরামর্শ দেব। এটি কীভাবে করবেন তা আপনি যদি নিশ্চিত না হন তবে স্ট্যান্ডফোর্ড ইউএলএফডিএল টিউটোরিয়ালের একটি সুন্দর ওভারভিউ রয়েছে।

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