আরএনএনস: কখন বিপিটিটি এবং / অথবা ওজন আপডেট করবেন?


15

আমি ফোনমে ক্লাসিফিকেশনে গ্র্যাভস ২০০৫ এর কাগজের মাধ্যমে সিকোয়েন্স লেবেলিংয়ের জন্য আরএনএনগুলির উচ্চ-স্তরের অ্যাপ্লিকেশনটি বোঝার চেষ্টা করছি

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

এই সমস্যার জন্য লুকানো স্তরে এলএসটিএম মেমরি কোষগুলির সাথে একটি আরএনএন প্রয়োগ করা কাগজের জোর। (তিনি তুলনামূলকভাবে বেশ কয়েকটি রূপ এবং অন্যান্য বেশ কয়েকটি কৌশল প্রয়োগ করেন things বিষয়গুলি সহজ রাখতে আমি কেবলমাত্র একমুখী LSTM এ আগ্রহী সেই মুহুর্তের জন্য))

আমি বিশ্বাস করি যে আমি নেটওয়ার্কটির আর্কিটেকচারটি বুঝতে পেরেছি: অডিও ফাইলগুলির 10 এমএস উইন্ডোর সাথে সম্পর্কিত একটি ইনপুট স্তর, অডিও কাজের মানকে প্রাক প্রসেস করা; এলএসটিএম সেলগুলির একটি গোপন স্তর এবং সমস্ত সম্ভব 61 ফোন চিহ্নের এক-গরম কোডিং সহ একটি আউটপুট স্তর।

আমি বিশ্বাস করি যে আমি এলএসটিএম ইউনিটগুলির মাধ্যমে ফরোয়ার্ড পাস এবং পিছনের পাসের (জটিল তবে সরল) সমীকরণগুলি বুঝতে পারি। এগুলি কেবল ক্যালকুলাস এবং চেইন রুল।

আমি যা বুঝতে পারি না, এই কাগজটি এবং বেশ কয়েকটি অনুরূপগুলি বেশ কয়েকবার পড়ার পরে, ঠিক কখন ব্যাকপ্রোপেজেশন অ্যালগরিদম প্রয়োগ করতে হয় এবং ঠিক কখন নিউরনে বিভিন্ন ওজন আপডেট করা যায়।

দুটি করণীয় পদ্ধতি বিদ্যমান:

1) ফ্রেম অনুযায়ী ব্যাকপ্রপ এবং আপডেট

Load a sentence.  
Divide into frames/timesteps.  
For each frame:
- Apply forward step
- Determine error function
- Apply backpropagation to this frame's error
- Update weights accordingly
At end of sentence, reset memory
load another sentence and continue.

বা,

2) বাক্য অনুসারে ব্যাকপ্রপ এবং আপডেট:

Load a sentence.  
Divide into frames/timesteps.  
For each frame:
- Apply forward step
- Determine error function
At end of sentence:
- Apply backprop to average of sentence error function
- Update weights accordingly
- Reset memory
Load another sentence and continue.

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

নাকি আমি তার থেকেও বেশি বিভ্রান্ত?

উত্তর:


25

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

  1. k1
  2. পূর্ববর্তী সময়ের ধাপগুলির উপরে সংক্ষিপ্ত ক্ষতির হিসাব করুন (নীচে দেখুন)।
  3. k2
  4. আপডেট প্যারামিটারগুলি (এটি প্রতি অংশে একবার হয়, প্রতিটি সময় ধাপে ক্রমবর্ধমান হয় না)।
  5. যদি দীর্ঘতর ক্রমের একাধিক অংশের প্রক্রিয়াজাতকরণ হয় তবে শেষ সময় ধাপে লুকানো রাজ্যটি সংরক্ষণ করুন (পরবর্তী অংশের শুরুতে গোপনীয় অবস্থার সূচনা করতে ব্যবহৃত হবে)। আমরা যদি ক্রমটির শেষে পৌঁছে গেছি, মেমরি / লুকানো অবস্থাটি পুনরায় সেট করুন এবং পরবর্তী ক্রমের শুরুতে (বা একই সিক্যুয়েন্সের শুরুতে, যদি কেবল একটি থাকে) to
  6. পদক্ষেপ 1 থেকে পুনরাবৃত্তি করুন।

k1k2k1=k2k1=k2k2>k1

k1k1

k2k2k2সময় পদক্ষেপ কারণ লুকানো ইউনিটগুলি এই সময়কালের বাইরে তথ্য সঞ্চয় করতে পারে (যেমন মিকোলভ 2012 এবং এই পোস্টটি দেখুন )।

k1k2

k11k2k1k2k1k2সম্ভব; আমি নীচে কিছু উদাহরণ তালিকা করব।

সংক্ষিপ্ত বিপিটিটি (পদ্ধতি, অনুপ্রেরণা, ব্যবহারিক সমস্যাগুলি) সম্পর্কিত বর্ণনাগুলি:

  • সটসকেভার (2013) । পুনরাবৃত্ত নিউরাল নেটওয়ার্ক প্রশিক্ষণ।
  • মিকোলভ (২০১২) । নিউরাল নেটওয়ার্কের উপর ভিত্তি করে পরিসংখ্যানের ভাষা মডেল।
    • k1k2
    • k1
    • প্রতি অংশে একবার আপডেট সম্পাদন করা ইনক্রিমেন্টের চেয়ে ভাল (যা অস্থির হতে পারে)
  • উইলিয়ামস এবং পেং (1990) । পুনরাবৃত্ত নেটওয়ার্ক ট্র্যাজেক্টরিজগুলির অন-লাইন প্রশিক্ষণের জন্য একটি দক্ষ গ্রেডিয়েন্ট-ভিত্তিক অ্যালগরিদম।
    • অ্যালগরিদমের মূল (?) প্রস্তাবনা
    • k1k2hhk2k1
    • k1=1

বিচ্ছিন্ন বিপিটিটি ব্যবহার করে অন্যান্য উদাহরণ:

  • (কার্পথি 2015)। গৃহস্থালির কাজ-rnn।
  • কবর (2014) । পুনরাবৃত্ত নিউরাল নেটওয়ার্কগুলির সাথে ক্রম তৈরি করা।
    • k1=k2=10010,000
  • সাক এট আল। (2014) । দীর্ঘ স্বল্পমেয়াদী মেমরি ভিত্তিক পুনরাবৃত্ত নিউরাল নেটওয়ার্ক আর্কিটেকচারগুলি বৃহত ভোকাবুলারি স্পিচ স্বীকৃতির জন্য।
    • k1=k2=20
  • ওলিভিয়ার এবং অন্যান্য। (2015) । ব্যাকট্র্যাকিং ছাড়াই অনলাইনে পুনরাবৃত্ত নেটওয়ার্কগুলি প্রশিক্ষণ।
    • k1=k2=15
  • হোক্রেইটার এবং শ্মিধুবার (1997) । দীর্ঘ স্বল্পমেয়াদী স্মৃতি।
    • তারা এলএসটিএমগুলির জন্য একটি পরিবর্তিত পদ্ধতি বর্ণনা করে

এটি একটি অসামান্য উত্তর, এবং আমি চাই যে আমি এই ফোরামে এটির জন্য যথেষ্ট অনুদান দেওয়ার জন্য দাঁড়িয়ে থাকি। K1 বনাম কে 2 এর আরও সাধারণ ব্যবহারের বিরুদ্ধে আমার দুটি ক্ষেত্রে এবং এর সংখ্যার উদাহরণগুলিকে প্রাসঙ্গিক করে তোলার জন্য বিশেষভাবে দরকারী।
নভাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.