সময়ের মাধ্যমে কাটা কাটা ব্যাকপ্রসারণ ব্যবহার করার সময় প্রাথমিক নিদর্শনগুলি ক্যাপচার করা হচ্ছে (আরএনএন / এলএসটিএম)


12

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

আমার ক্ষেত্রে আমার প্রতিটি পাঠ্য বিভাগ যা আমি শ্রেণিবদ্ধ করতে চাই তা 30 টি পদক্ষেপের তালিকাভুক্ত হওয়া (~ 100 শব্দ) এর চেয়ে অনেক দীর্ঘ। আমার জ্ঞানের ভিত্তিতে বিপিটিটি কেবলমাত্র একক পাঠ্য বিভাগের জন্য একটি সময় চালিত হয়, যখন এটি সম্পূর্ণ পাঠ্য বিভাগটি অতিক্রম করে এবং বাইনারি শ্রেণিবদ্ধকরণ লক্ষ্যকে গণনা করে , যা ত্রুটিটি অনুসন্ধানের জন্য এটি পরে ক্ষতি ফাংশনের সাথে তুলনা করে।y

গ্রেডিয়েন্টগুলি তখন প্রতিটি পাঠ্য বিভাগের প্রথম শব্দের সাথে গণনা করা হবে না। আরএনএন / এলএসটিএম তারপরেও কেবলমাত্র কয়েকটি প্রথম শব্দের মধ্যে দেখা যায় এমন নির্দিষ্ট নিদর্শনগুলি ক্যাপচার করার জন্য তার ওজনগুলি কীভাবে সামঞ্জস্য করতে পারে? উদাহরণস্বরূপ, বলুন যে সমস্ত বাক্য "আমি এটি পছন্দ করি" দিয়ে সূচনা হিসাবে চিহ্নিত এবং সমস্ত বাক্য "আমি এটি ঘৃণা করি" দিয়ে শুরু হিসাবে চিহ্নিত করেছি। আরএনএন / এলএসটিএম কীভাবে ক্যাপচার করবে যে এটি যখন কেবলমাত্র 100-পদক্ষেপের দীর্ঘক্রমের শেষটিকে আঘাত করে যখন শেষ 30 টি পদক্ষেপের জন্যই তালিকাভুক্ত করা হয় না?positivenegative


সাধারণত, সংক্ষিপ্তসারটি সময়ের মাধ্যমে ছিন্ন ব্যাক-প্রচারের জন্য টিবিপিটিটি হয়।
চার্লি পার্কার

উত্তর:


11

এটি সত্য যে আপনার গ্রেডিয়েন্ট প্রচারকে 30 সময়ের পদক্ষেপে সীমাবদ্ধ করা এটিকে আপনার ডেটাসেটে যতটা সম্ভব সম্ভব শেখা থেকে বিরত রাখবে । তবে এটি আপনার ডেটাसेटের উপর দৃ depends়ভাবে নির্ভর করে যে এটি আপনার মডেলের বৈশিষ্ট্যগুলি সম্পর্কে গুরুত্বপূর্ণ বিষয়গুলি শিখতে বাধা দেবে কিনা!

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

প্রথমে একটি দ্বন্দ্বযুক্ত উদাহরণ সম্পর্কে চিন্তা করুন। মনে করুন আপনার নেটওয়ার্কটি যদি কোনও ইনপুটটিতে কোথাও 1 থাকে এবং 1 অন্যথায় অন্যদিকে 0 জেনারেট করে। বলুন আপনি 20 দৈর্ঘ্যের সিকোয়েন্সগুলিকে নেটওয়ার্কটি প্রশিক্ষণ দিন এবং 10 ধাপে গ্রেডিয়েন্ট সীমাবদ্ধ করুন। প্রশিক্ষণ ডেটাসেটে যদি কোনও ইনপুটের চূড়ান্ত 10 ধাপে কখনও 1 টি না থাকে, তবে নেটওয়ার্কটি কোনও কনফিগারেশনের পরীক্ষার ইনপুটগুলির সাথে সমস্যা হতে চলেছে। যাইহোক, যদি প্রশিক্ষণ সেটে [1 0 0 ... 0 0 0] এবং অন্যান্য [0 0 0 ... 1 0 0] এর মতো কিছু উদাহরণ থাকে, তবে নেটওয়ার্ক "উপস্থিতি" চয়ন করতে সক্ষম হবে এটির ইনপুট যে কোনও জায়গায় 1 "বৈশিষ্ট্য।

অনুভূতি বিশ্লেষণ ফিরে। আসুন প্রশিক্ষণের সময় বলি যে আপনার মডেলটি দীর্ঘক্ষণের নেতিবাচক বাক্যটির মুখোমুখি হয় যেমন "আমি এটিকে ঘৃণা করি কারণ ... চারপাশে এবং আশেপাশে" এলিসিসের মধ্যে 50 টি শব্দ ব্যবহার করুন say গ্রেডিয়েন্ট প্রচারকে 30 বার ধাপে সীমাবদ্ধ রেখে, মডেলটি "আমি এটি ঘৃণা করি" আউটপুট লেবেলে সংযুক্ত হবে না, সুতরাং এই প্রশিক্ষণ থেকে এটি "আমি", "ঘৃণা" বা "এটি" বাছাই করবে না উদাহরণ। তবে এটি বাক্যটি শেষ হতে 30 সময়ের পদক্ষেপের মধ্যে রয়েছে on যদি আপনার প্রশিক্ষণ সেটে অন্যান্য উদাহরণ রয়েছে যা একই শব্দগুলি ধারণ করে, সম্ভবত "ঘৃণা" এর সাথে থাকে তবে এটিতে "ঘৃণা" এবং নেতিবাচক সংবেদন লেবেলের মধ্যে লিঙ্কটি বাছাইয়ের সুযোগ রয়েছে। এছাড়াও, যদি আপনার ছোট প্রশিক্ষণের উদাহরণ থাকে তবে বলুন, "আমরা এটি ঘৃণা করি কারণ এটি ভয়ানক!" তারপরে আপনার মডেল "ঘৃণা" এবং "এই" বৈশিষ্ট্যগুলিকে লক্ষ্য লেবেলে সংযুক্ত করতে সক্ষম করবে। যদি আপনার কাছে এই প্রশিক্ষণের উদাহরণগুলি পর্যাপ্ত থাকে তবে মডেলটির উচিত কার্যকরভাবে সংযোগটি শিখতে পারা।

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


0

@ ইমজোজন ৩-এর অধিকার রয়েছে, যদি আপনি দীর্ঘ সিকোয়েন্সগুলি (আকার এন) প্রসেস করেন এবং ব্যাকপ্রোপেশনটি শেষ কে পদক্ষেপে সীমাবদ্ধ করেন তবে নেটওয়ার্ক শুরুতে নকশাগুলি শিখবে না।

আমি দীর্ঘ পাঠ্যগুলির সাথে কাজ করেছি এবং এমন পদ্ধতির ব্যবহার করেছি যেখানে আমি ক্ষতির গণনা করি এবং প্রতিটি কে পদক্ষেপের পরে ব্যাকপ্রসারণ করি। আসুন ধরে নেওয়া যাক যে আমার ক্রমটি এন = 1000 টোকেন ছিল, আমার আরএনএন প্রসেসটি প্রথমে কে = 100 তারপর আমি ভবিষ্যদ্বাণী (গণনা ক্ষতি) এবং ব্যাকপ্রোপেট করার চেষ্টা করি। আরএনএন স্থিতি বজায় রাখার পরে গ্রেডিয়েন্ট চেইনটি ব্রেক করুন (পাইট্রাস-> বিচ্ছিন্নভাবে) এবং অন্য কে = 100 পদক্ষেপ শুরু করুন।

এই কৌশলটির একটি ভাল উদাহরণ আপনি এখানে পেতে পারেন: https://github.com/ksopyla/pytorch_neural_networks/blob/master/RNN/lstm_imdb_tbptt.py

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