লং শর্ট টার্ম মেমোরি (এলএসটিএম) পুনরাবৃত্ত নিউরাল নেটওয়ার্কের পিছনে অন্তর্দৃষ্টি কী?


11

পুনরাবৃত্ত নিউরাল নেটওয়ার্ক (আরএনএন) এর পিছনে ধারণাটি আমার কাছে স্পষ্ট। আমি এটি নিম্নলিখিত উপায়ে বুঝতে পারি:
আমাদের পর্যবেক্ষণগুলির ক্রম রয়েছে ( ) (বা, অন্য কথায়, বহুবিধ সময় সিরিজ)। প্রতিটি একক পর্যবেক্ষণ- হ'ল একটি ডাইমেনশনাল সংখ্যাসূচক ভেক্টর। আরএনএন-মডেলের মধ্যে আমরা ধরে যে পরবর্তী পর্যবেক্ষণ previous পূর্ববর্তী পর্যবেক্ষণের একটি ফাংশন পাশাপাশি পূর্ববর্তী " অবস্থা" , যেখানে লুকানো রাজ্যগুলিও সংখ্যাসূচক দ্বারা প্রতিনিধিত্ব করা হয় ভেক্টর (পর্যবেক্ষক এবং লুকানো রাজ্যের মাত্রা আলাদা হতে পারে)। লুকানো রাষ্ট্রগুলি নিজেরাই পূর্ববর্তী পর্যবেক্ষণ এবং লুকানো অবস্থার উপর নির্ভর করে বলে মনে করা হয়:1,2,...,এনআমিএনআমি+ +1আমিআমি

আমি,আমি=এফ(আমি-1,আমি-1)

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

এখন, এলএসটিএম নেটওয়ার্কটি আরএনএন নেটওয়ার্কের একটি পরিবর্তন। যতদূর আমি বুঝতে পেরেছি, এলএনএসটিএমের পিছনে অনুপ্রেরণা হ'ল সংক্ষিপ্ত স্মৃতিশক্তির সমস্যাটি আরএনএন-এর অদ্ভুতরূপে সমাধান করা (প্রচলিত আরএনএন সময়ের সাথে অনেক বেশি পৃথক হওয়া সম্পর্কিত ঘটনাগুলির সাথে ঝামেলা রয়েছে)।

আমি বুঝতে পারি কীভাবে এলএসটিএম নেটওয়ার্ক কাজ করে। আমি খুঁজে পেয়েছি এলএসটিএম এর সেরা ব্যাখ্যা এখানে । নিম্নরূপ মৌলিক ধারণা:

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

আমি+ +1=ω1(আমি,আমি)আমি+ +ω2(আমি,আমি)আমিএনটি(আমি,আমি),

যেখানে কার্যাবলী , এবং স্নায়ুর নেটওয়ার্ক দ্বারা অনুকরণে করা হয়। অভিব্যক্তিটিকে আরও সহজ করার জন্য আমি কেবল যুক্তিগুলি সরিয়েছি:ω1ω2আমিএনটি

আমি+ +1=ω1আমি+ +ω2আমিএনটি

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

বর্ণিত ক্রিয়াকলাপগুলির মধ্যে অন্তর্দৃষ্টি এখানে রয়েছে। সেল স্টেট ভেক্টরকে মেমরি ভেক্টর হিসাবে ব্যাখ্যা করা যায়। দ্বিতীয় ওজন ভেক্টর (নিউরাল নেটওয়ার্ক দ্বারা গণনা করা) একটি " " (বা ভুলে যাওয়া) গেট। এর সেলগুলি স্থিতি ভেক্টর (বা দীর্ঘমেয়াদী মেমরি ভেক্টর) এর সাথে সম্পর্কিত মান রাখি বা ভুলে যাব কিনা তা এর মানগুলি স্থির করে। প্রথম ওয়েট ভেক্টর ( ), যা অন্য নিউরাল নেটওয়ার্ক দ্বারা গণনা করা হয়, তাকে "লিখন" বা "মুখস্থ" গেট বলা হয়। এটি সিদ্ধান্ত নিয়েছে যে কোনও নতুন মেমোরি ("ইন্টারমিডিয়েট" সেল স্টেট ভেক্টর) সংরক্ষণ করতে হবে কিনা (বা আরও স্পষ্টভাবে, যদি এর কোনও নির্দিষ্ট উপাদান সংরক্ষণ করতে / লিখতে হয়)। "মধ্যবর্তী"ω2ω1ω1ω 1ω 2ভেক্টর)। প্রকৃতপক্ষে, এটি বলা আরও সঠিক হবে যে দুটি ওজন ভেক্টর ( এবং ) এর সাথে আমরা পুরানো এবং নতুন স্মৃতিটিকে "মিশ্রিত" করি।ω1ω2

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

আমি+ +1=আমিএনটিএস(আমি+ +1),

যেখানে হ'ল সিগময়েড ফাংশন যা সেল স্টেট ভেক্টরের প্রতিটি উপাদানকে প্রয়োগ করা হয়।এস

সুতরাং, আমার প্রশ্নটি হল: কেন (বা ঠিক কীভাবে) এই স্থাপত্যটি সমস্যার সমাধান করে?

বিশেষত আমি নিম্নলিখিতগুলি বুঝতে পারি না:

  1. আমরা "ইন্টারমিডিয়েট" মেমরি (সেল স্টেট ভেক্টর) তৈরি করতে একটি নিউরাল নেটওয়ার্ক ব্যবহার করি যা একটি "নতুন" মেমরি (সেল স্টেট) পেতে "পুরানো" মেমরির (বা সেল স্টেট) মিশ্রিত হয়। মিশ্রণের জন্য ওজনের কারণগুলিও নিউরাল নেটওয়ার্কগুলি দ্বারা গণনা করা হয়। তবে কেন আমরা "নতুন" সেল স্টেট (বা মেমরি) গণনা করতে কেবল একটি নিউরাল নেটওয়ার্ক ব্যবহার করতে পারি না? অথবা, অন্য কথায়, আমরা কেন পর্যবেক্ষণের অবস্থা, লুকানো অবস্থা এবং পুরানো স্মৃতিটিকে নিউরাল নেটওয়ার্কের ইনপুট হিসাবে "নতুন" স্মৃতি গণনা করতে পারি না?
  2. শেষ পর্যন্ত আমরা একটি নতুন লুকানো অবস্থার গণনা করার জন্য পর্যবেক্ষিত এবং লুকানো অবস্থাগুলি ব্যবহার করি এবং তারপরে আমরা নতুন গণনা করা লুকানো অবস্থার উপাদানটি সংশোধন করার জন্য "নতুন" সেল স্টেট (বা (দীর্ঘমেয়াদি) মেমরি) ব্যবহার করি। অন্য কথায়, সেল স্টেটের উপাদানগুলি ওজন হিসাবে ঠিক ব্যবহৃত হয় যা গণনা করা গোপন অবস্থার সাথে সম্পর্কিত উপাদানগুলি হ্রাস করে। তবে কেন সেল স্টেট ভেক্টরটি এই বিশেষ উপায়ে ব্যবহার করা হয়? নিউরাল নেটওয়ার্কের ইনপুটটিতে সেল স্টেট ভেক্টর (দীর্ঘমেয়াদী মেমরি) রেখে আমরা কেন নতুন লুকানো অবস্থার গণনা করতে পারি না (এটি পর্যবেক্ষণকৃত ও লুকানো অবস্থাকেও ইনপুট হিসাবে গ্রহণ করে)?

যোগ করা হয়েছে:

এখানে একটি ভিডিও রয়েছে যা বিভিন্ন গেটগুলি ("রাখুন", "লিখুন" এবং "পড়ুন") কীভাবে সংগঠিত হয় তা পরিষ্কার করতে সহায়তা করতে পারে


1
আপনি আমার চেয়ে এলএসটিএমকে আরও ভাল করে বুঝতে পেরেছেন, সুতরাং আমি একটি আসল উত্তর পোস্ট করব না, যেহেতু আপনি যা খুঁজছেন তা এটি নাও হতে পারে: এলএসটিএম গেটস (মূলত ভুলে যাওয়া গেটস) এটি দীর্ঘকাল সক্রিয়করণ এবং গ্রেডিয়েন্ট রাখার অনুমতি দেয় প্রয়োজনীয় হিসাবে. সুতরাং t টি সময়ে সময় t + n না হওয়া অবধি অব্যবহারযোগ্য রাখা যেতে পারে, নির্বিচারে বৃহত এন এর জন্য।
rcpinto

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

প্রকৃতপক্ষে, পরিচয়ের জন্য কেবল পুনরাবৃত্ত ওজন ম্যাট্রিক্স সেট করুন এবং এটি সর্বদা শেষ সক্রিয়করণ রাখে। সমস্যাটি সর্বদা অংশ, যার অর্থ এই যে নতুন ইনপুটগুলি জমে এবং দ্রুত নিউরন অ্যাক্টিভেশন পরিপূর্ণ করবে, যা এক ধরণের ভুলে যাওয়া। সুতরাং, পূর্বের স্মৃতি মুছতে বা নতুন স্মৃতি গঠনে বাধা দেওয়ার ক্ষমতা অত্যন্ত গুরুত্বপূর্ণ।
rcpinto

@ সিআরপিন্টো, তবে "একক নিউরাল নেটওয়ার্কের মধ্যে" পূর্বের স্মৃতি মুছে ফেলার বা নতুনটির গঠনে বাধা দেওয়ার ক্ষমতা "অর্জন করা যায় না? নিউরাল নেটওয়ার্ক মেমোরি ভেক্টর (বা একটি লুকানো রাষ্ট্র ভেক্টর) এবং পর্যবেক্ষিত রাষ্ট্র ভেক্টরকে ইনপুট হিসাবে পায়। এই জাতীয় নেটওয়ার্ক পর্যবেক্ষণ রাষ্ট্র ভেক্টরের উপাদানগুলির মানগুলির ভিত্তিতে লুকানো রাজ্যের কিছু উপাদান (এর স্মৃতি) রাখার বা প্রতিস্থাপনের জন্য "সিদ্ধান্ত" নিতে পারে না?
রোমান

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

উত্তর:


1

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

এটি না করার প্রধান কারণ হ'ল এলএসটিএমের সেল স্টেট গণনাগুলির কাঠামো দীর্ঘ ক্রমগুলির মাধ্যমে অবিচ্ছিন্ন ত্রুটির প্রবাহকে নিশ্চিত করে । আপনি যদি সরাসরি সেল স্টেটের গণনা করার জন্য ওজন ব্যবহার করেন তবে আপনাকে প্রতিটি সময় ধাপে তাদের মাধ্যমে ব্যাকপ্রকাশ করা দরকার! এই জাতীয় ক্রিয়াকলাপ এড়ানোর ফলে মূলত বিলুপ্ত / বিস্ফোরিত গ্রেডিয়েন্টগুলি সমাধান হয় যা অন্যথায় আরএনএনগুলিতে জর্জরিত হয়।

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

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


0

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

আমি একটি একক নিউরাল নেটওয়ার্ক ব্যবহারের ত্রুটিগুলি জানি না। আমার মতে আমরা সিগময়েড নন-লিনিয়ারিটি সহ একটি একক নিউরাল নেটওয়ার্ক ব্যবহার করতে পারি যা সঠিকভাবে ভেক্টরটি শিখবে যা যথাযথভাবে ব্যবহৃত হবে (প্রথম ক্ষেত্রে সেল স্টেটে যুক্ত হবে বা দ্বিতীয় ক্ষেত্রে লুকানো রাষ্ট্র হিসাবে চলে যাবে)।

যাইহোক, আমরা এখন এটি যেভাবে করছি তা আমরা দুটি অংশে টাস্কটি ভেঙে দিচ্ছি, একটি অংশ যা সিগময়েড অ-লিনিয়ারিটি ব্যবহার করে রাখতে হবে তা কী পরিমাণ ডেটা রাখতে হবে। অন্য অংশ যা তানহকে অ-লিনিয়ারিটি হিসাবে ব্যবহার করে কেবল তথ্যটি শেখার কাজটি করে যা গুরুত্বপূর্ণ।

সহজ কথায়, সিগময়েড কতটা সংরক্ষণ করতে শিখেছে এবং তানহ কী সংরক্ষণ করতে শিখেছে এবং এটি দুটি ভাগে ভাঙ্গা প্রশিক্ষণকে আরও সহজ করে দেবে।

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