লং শর্ট-টার্ম মেমরি

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

একটি এলএসটিএম ইউনিট সাধারণত একটি সেল এবং তিনটি গেট নিয়ে গঠিত: একটি ইনপুট গেট, একটি আউটপুট গেট এবং একটি ফরগেট গেট। সেলটি যেকোনো সময়ের ব্যবধানে বিভিন্ন মান মনে রাখতে পারে এবং গেটগুলো সেলের ভেতরে ও বাইরে তথ্যের প্রবাহ নিয়ন্ত্রণ করে। ফরগেট গেট পূর্ববর্তী অবস্থা এবং বর্তমান ইনপুটকে ০ থেকে ১-এর মধ্যবর্তী একটি মানে রূপান্তরের মাধ্যমে সিদ্ধান্ত নেয় যে পূর্ববর্তী অবস্থা থেকে কোন তথ্যগুলো বাদ দিতে হবে। ১ মানটি তথ্যটি রেখে দেওয়া এবং ০ মানটি তা বাদ দেওয়া নির্দেশ করে। ইনপুট গেট ফরগেট গেটের মতো একই পদ্ধতি ব্যবহার করে বর্তমান সেল স্টেটে কোন নতুন তথ্যগুলো জমা হবে তা নির্ধারণ করে। আউটপুট গেট পূর্ববর্তী এবং বর্তমান অবস্থা বিবেচনা করে বর্তমান সেলের কোন তথ্যগুলো আউটপুট হিসেবে পাঠাতে হবে তা ০ থেকে ১ মানের মাধ্যমে নিয়ন্ত্রণ করে। বর্তমান অবস্থা থেকে প্রাসঙ্গিক তথ্যগুলো নির্বাচনমূলকভাবে আউটপুট দেওয়ার ফলে এলএসটিএম নেটওয়ার্ক বর্তমান এবং ভবিষ্যতের টাইমস্টেপগুলোতে সঠিক পূর্বাভাস দেওয়ার জন্য প্রয়োজনীয় দীর্ঘমেয়াদী নির্ভরশীলতা (long-term dependencies) বজায় রাখতে পারে।

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

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

এলএসটিএম আর্কিটেকচারের মূল ধারণা হলো নিউরাল নেটওয়ার্কে এমন একটি অতিরিক্ত মডিউল তৈরি করা যা শিখবে কখন প্রাসঙ্গিক তথ্য মনে রাখতে হবে এবং কখন তা ভুলে যেতে হবে। অন্য কথায়, নেটওয়ার্কটি কার্যকরভাবে শিখে নেয় যে সিকোয়েন্সের কোন তথ্যটি পরবর্তীতে প্রয়োজন হতে পারে এবং কখন সেই তথ্যটির আর প্রয়োজন নেই। উদাহরণস্বরূপ, প্রাকৃতিক ভাষা প্রক্রিয়াকরণের ক্ষেত্রে নেটওয়ার্কটি ব্যাকরণগত নির্ভরশীলতা শিখতে পারে। একটি এলএসটিএম "Dave, as a result of his controversial claims, is now a pariah" বাক্যটি প্রক্রিয়াকরণের সময় সাবজেক্ট 'Dave'-এর ব্যাকরণগত লিঙ্গ এবং বচন মনে রাখতে পারে। লক্ষ্য করুন যে, এই তথ্যটি 'his' প্রোনাউন বা সর্বনামের জন্য অত্যন্ত গুরুত্বপূর্ণ এবং 'is' ভার্ব বা ক্রিয়ার পর এই তথ্যের আর প্রয়োজন নেই।

## প্রকারভেদ
নিচের সমীকরণগুলোতে ছোট হাতের অক্ষরগুলো ভেক্টর নির্দেশ করে। ম্যাট্রিক্স W_q এবং U_q যথাক্রমে ইনপুট এবং রিকারেন্ট কানেকশনের ওয়েট বা গুরুত্ব বহন করে, যেখানে সাবস্ক্রিপ্ট _q দিয়ে ইনপুট গেট i, আউটপুট গেট o, ফরগেট গেট f অথবা মেমোরি সেল c বোঝানো হয়। এই বিভাগে আমরা "ভেক্টর নোটেশন" ব্যবহার করছি। যেমন, c_t \in \mathbb{R}^{h} শুধুমাত্র একটি এলএসটিএম সেলের একটি ইউনিট নয়, বরং এটি h সংখ্যক এলএসটিএম সেলের ইউনিট ধারণ করে।

### ফরগেট গেটসহ এলএসটিএম
ফরগেট গেটযুক্ত একটি এলএসটিএম সেলের ফরওয়ার্ড পাস (forward pass)-এর সমীকরণগুলোর সংক্ষিপ্ত রূপ হলো:

:
\begin{align}
f_t &= \sigma_g(W_{f} x_t + U_{f} h_{t-1} + b_f) \\
i_t &= \sigma_g(W_{i} x_t + U_{i} h_{t-1} + b_i) \\
o_t &= \sigma_g(W_{o} x_t + U_{o} h_{t-1} + b_o) \\
\tilde{c}_t &= \sigma_c(W_{c} x_t + U_{c} h_{t-1} + b_c) \\
c_t &= f_t \odot c_{t-1} + i_t \odot \tilde{c}_t \\
h_t &= o_t \odot \sigma_h(c_t)
\end{align}


যেখানে প্রারম্ভিক মান c_0 = 0 এবং h_0 = 0, এবং অপারেটর \odot দ্বারা হ্যাডামার্ড গুণফল (element-wise product) বোঝানো হয়েছে। সাবস্ক্রিপ্ট t দিয়ে টাইমস্টেপ নির্দেশ করা হয়েছে।

#### চলকসমূহ ####
সুপারস্ক্রিপ্ট d এবং h দিয়ে যথাক্রমে ইনপুট ফিচারের সংখ্যা এবং হিডেন ইউনিটের সংখ্যা বোঝানো হয়েছে:
*x_t \in \mathbb{R}^{d}: এলএসটিএম ইউনিটে ইনপুট ভেক্টর
*f_t \in {(0,1)}^{h}: ফরগেট গেটের অ্যাক্টিভেশন ভেক্টর
*i_t \in {(0,1)}^{h}: ইনপুট/আপডেট গেটের অ্যাক্টিভেশন ভেক্টর
*o_t \in {(0,1)}^{h}: আউটপুট গেটের অ্যাক্টিভেশন ভেক্টর
*h_t \in {(-1,1)}^{h}: হিডেন স্টেট ভেক্টর, যা এলএসটিএম ইউনিটের আউটপুট ভেক্টর হিসেবেও পরিচিত
*\tilde{c}_t \in {(-1,1)}^{h}: সেল ইনপুট অ্যাক্টিভেশন ভেক্টর
*c_t \in \mathbb{R}^{h}: সেল স্টেট ভেক্টর
*W \in \mathbb{R}^{h \times d}, U \in \mathbb{R}^{h \times h}  এবং b \in \mathbb{R}^{h}: ওয়েট ম্যাট্রিক্স এবং বায়াস ভেক্টর প্যারামিটার যা প্রশিক্ষণের সময় শিখতে হয়

#### [[Activation function|সক্রিয়করণ ফাংশনসমূহ]]
* \sigma_g: সিগময়েড ফাংশন।
* \sigma_c: হাইপারবোলিক ট্যানজেন্ট ফাংশন।
* \sigma_h: হাইপারবোলিক ট্যানজেন্ট ফাংশন অথবা, পিপহোল এলএসটিএম (peephole LSTM) গবেষণাপত্রে যেমনটি প্রস্তাব করা হয়েছে, \sigma_h(x) = x।

### পিপহোল এলএসটিএম

ডানদিকের চিত্রটি পিপহোল সংযোগযুক্ত একটি এলএসটিএম ইউনিটের (অর্থাৎ পিপহোল এলএসটিএম) রৈখিক চিত্রায়ন। পিপহোল সংযোগগুলো গেটগুলোকে 'কনস্ট্যান্ট এরর ক্যারোজেল' (সিইসি)-এ প্রবেশাধিকার দেয়, যার সক্রিয়করণই হলো সেল স্টেট। এখানে অধিকাংশ ক্ষেত্রে h_{t-1}-এর পরিবর্তে c_{t-1} ব্যবহৃত হয়।
:
\begin{align}
f_t &= \sigma_g(W_{f} x_t + U_{f} c_{t-1} + b_f) \\
i_t &= \sigma_g(W_{i} x_t + U_{i} c_{t-1} + b_i) \\
o_t &= \sigma_g(W_{o} x_t + U_{o} c_{t-1} + b_o) \\
c_t &= f_t \odot c_{t-1} + i_t \odot \sigma_c(W_{c} x_t + b_c) \\
h_t &= o_t \odot \sigma_h(c_t)
\end{align}


প্রতিটি গেটকে একটি ফিড-ফরোয়ার্ড (বা মাল্টি-লেয়ার) নিউরাল নেটওয়ার্কের একটি "সাধারণ" নিউরন হিসেবে বিবেচনা করা যেতে পারে: অর্থাৎ, তারা একটি ভারিত যোগফলের সক্রিয়করণ (সক্রিয়করণ ফাংশন ব্যবহার করে) গণনা করে। i_t, o_t এবং f_t যথাক্রমে t সময় ধাপে ইনপুট, আউটপুট এবং ফরগেট গেটের সক্রিয়করণ নির্দেশ করে।

মেমরি সেল c থেকে ৩টি গেট i, o এবং f-এর দিকে নির্দেশ করা ৩টি বহির্গামী তীর চিহ্ন *পিপহোল* সংযোগগুলোকে নির্দেশ করে। এই পিপহোল সংযোগগুলো মূলত t-1 সময় ধাপে মেমরি সেল c-এর সক্রিয়করণের প্রভাব বা অবদানকে বোঝায়, অর্থাৎ c_{t-1}-এর অবদান (চিত্র দেখে c_{t} মনে হলেও এটি আসলে তা নয়)। অন্য কথায়, i, o এবং f গেটগুলো t সময় ধাপে তাদের সক্রিয়করণ (যথাক্রমে i_t, o_t এবং f_t) গণনা করার সময় t - 1 সময় ধাপের মেমরি সেল c-এর সক্রিয়করণ অর্থাৎ c_{t-1}-কে বিবেচনায় নেয়।

মেমরি সেল থেকে বের হওয়া বাম-থেকে-ডানমুখী একক তীরটি পিপহোল সংযোগ *নয়* এবং এটি c_{t}-কে নির্দেশ করে।

\times চিহ্ন সম্বলিত ছোট বৃত্তগুলো ইনপুটগুলোর মধ্যে 'এলিমেন্ট-ওয়াইজ' গুণন (element-wise multiplication) নির্দেশ করে। *S*-এর মতো বক্ররেখা সম্বলিত বড় বৃত্তগুলো একটি ভারিত যোগফলের ওপর একটি ডিফারেনশিয়েবল ফাংশন (যেমন সিগময়েড ফাংশন) প্রয়োগ করা নির্দেশ করে।

### পিপহোল কনভোলিউশনাল এলএসটিএম
পিপহোল কনভোলিউশনাল এলএসটিএম। এখানে * চিহ্নটি কনভোলিউশন অপারেটর নির্দেশ করে।
:
\begin{align}
f_t &= \sigma_g(W_{f} * x_t + U_{f} * h_{t-1} + V_{f} \odot c_{t-1} + b_f) \\
i_t &= \sigma_g(W_{i} * x_t + U_{i} * h_{t-1} + V_{i} \odot c_{t-1} + b_i) \\
c_t &= f_t \odot c_{t-1} + i_t \odot \sigma_c(W_{c} * x_t + U_{c} * h_{t-1} + b_c) \\
o_t &= \sigma_g(W_{o} * x_t + U_{o} * h_{t-1} + V_{o} \odot c_{t} + b_o) \\
h_t &= o_t \odot \sigma_h(c_t)
\end{align}


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

সাধারণ আরএনএন-এ গ্রেডিয়েন্ট ডিসেন্ট ব্যবহারের একটি সমস্যা হলো, গুরুত্বপূর্ণ ঘটনাগুলোর মধ্যে সময়ের ব্যবধান বাড়ার সাথে সাথে এরর গ্রেডিয়েন্টগুলো এক্সপোনেনশিয়ালি ভ্যানিশ বা নিঃশেষ হয়ে যায়। যদি W-এর স্পেকট্রাল ব্যাসার্ধ ১-এর চেয়ে ছোট হয়, তবে \lim_{n \to \infty}W^n = 0 হওয়ার কারণে এমনটি ঘটে।

তবে এলএসটিএম ইউনিটের ক্ষেত্রে, যখন আউটপুট লেয়ার থেকে এরর ভ্যালুগুলো ব্যাক-প্রপাগেট করা হয়, তখন সেই এরর এলএসটিএম ইউনিটের সেলের ভেতরেই থেকে যায়। এই "এরর ক্যারোজেল" ক্রমাগত এলএসটিএম ইউনিটের প্রতিটি গেটে এরর ফিরিয়ে দিতে থাকে, যতক্ষণ না তারা মানটিকে বন্ধ করতে শেখে।

### সিটিসি স্কোর ফাংশন
অনেক ক্ষেত্রেই একাধিক এলএসটিএম আরএনএন-এর স্তর (stack) ব্যবহার করা হয় এবং সেগুলোকে কানেকশনিস্ট টেম্পোরাল ক্লাসিফিকেশন (সিটিসি) পদ্ধতিতে প্রশিক্ষণ দেওয়া হয়। এর লক্ষ্য হলো এমন একটি আরএনএন ওজন ম্যাট্রিক্স খুঁজে বের করা যা ইনপুট সিকোয়েন্সের বিপরীতে সঠিক লেবেল সিকোয়েন্সের সম্ভাবনাকে সর্বোচ্চ করে। সিটিসি একই সাথে অ্যালাইনমেন্ট এবং রিকগনিশন উভয় কাজই সম্পন্ন করে।

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

## ব্যবহার
এলএসটিএম-এর উল্লেখযোগ্য ব্যবহারগুলোর মধ্যে রয়েছে:

* রোবট নিয়ন্ত্রণ
* টাইম সিরিজ প্রেডিকশন
* স্পিচ রিকগনিশন (কণ্ঠস্বর স্বীকৃতি)
* ছন্দ শিক্ষা (Rhythm learning)
* হাইড্রোলজিক্যাল বৃষ্টিপাত-নিষ্কাশন মডেলিং
* সঙ্গীত রচনা (Music composition)
* জ্বালানি পূর্বাভাস
* ব্যাকরণ শিক্ষা (Grammar learning)
* হাতের লেখা শনাক্তকরণ
* মানুষের অঙ্গভঙ্গি শনাক্তকরণ (Human action recognition)
* ইশারা ভাষা অনুবাদ
* প্রোটিন হোমোলজি শনাক্তকরণ
* প্রোটিনের সাব-সেলুলার অবস্থান পূর্বাভাস দেওয়া
* টাইম সিরিজ অসংগতি শনাক্তকরণ
* ব্যবসায়িক প্রক্রিয়া ব্যবস্থাপনার বিভিন্ন পূর্বাভাসমূলক কাজ
* চিকিৎসাসেবা সংক্রান্ত পূর্বাভাস
* সিম্যান্টিক পার্সিং
* অবজেক্ট কো-সেগমেন্টেশন
* বিমানবন্দর যাত্রী ব্যবস্থাপনা
* স্বল্পমেয়াদী ট্রাফিক পূর্বাভাস
* ওষুধের নকশা প্রণয়ন
* আর্থিক পূর্বাভাস
* ভিডিওতে কার্যক্রমের শ্রেণীবিভাগ

**২০১৫:** গুগল গুগল ভয়েস-এ কণ্ঠস্বর স্বীকৃতির জন্য সিটিসি দ্বারা প্রশিক্ষিত এলএসটিএম ব্যবহার শুরু করে। অফিশিয়াল ব্লগ পোস্ট অনুযায়ী, নতুন এই মডেলটি ট্রান্সক্রিপশন ভুল ৪৯% কমিয়ে দিয়েছে।

**২০১৬:** গুগল তাদের 'অ্যালো' (Allo) চ্যাটিং অ্যাপে মেসেজ সাজেস্ট করার জন্য এলএসটিএম ব্যবহার শুরু করে। একই বছর গুগল তাদের গুগল ট্রান্সলেট-এর জন্য গুগল নিউরাল মেশিন ট্রান্সলেশন সিস্টেম উন্মুক্ত করে যা এলএসটিএম ব্যবহার করে অনুবাদের ভুল ৬০% কমিয়ে আনে।

অ্যাপল তাদের ওয়ার্ল্ডওয়াইড ডেভেলপারস কনফারেন্সে ঘোষণা করে যে তারা আইফোনের কুইকটাইপ (quicktype) এবং সিরি (Siri)-এর জন্য এলএসটিএম ব্যবহার শুরু করবে।

আমাজন পলি (Polly) উন্মুক্ত করে, যা অ্যালেক্সা (Alexa)-এর নেপথ্যে কাজ করে এবং এটি টেক্সট-টু-স্পিচ প্রযুক্তির জন্য একটি বাইডাইরেকশনাল এলএসটিএম ব্যবহার করে।

**২০১৭:** ফেসবুক প্রতিদিন প্রায় ৪৫০ কোটি স্বয়ংক্রিয় অনুবাদ এলএসটিএম নেটওয়ার্ক ব্যবহার করে সম্পন্ন করে।

মাইক্রোসফট সুইচবোর্ড কর্পাস-এ ৯৪.৯% স্বীকৃতির নির্ভুলতা অর্জনের কথা জানায়, যেখানে ১,৬৫,০০০ শব্দের শব্দভাণ্ডার অন্তর্ভুক্ত ছিল। তারা এক্ষেত্রে "ডায়ালগ সেশন-ভিত্তিক লং-শর্ট-টার্ম মেমরি" পদ্ধতি ব্যবহার করেছিল।

**২০১৮:** ওপেনএআই পলিসি গ্রেডিয়েন্ট দ্বারা প্রশিক্ষিত এলএসটিএম ব্যবহার করে ডোটা ২ (Dota 2)-এর মতো জটিল ভিডিও গেমে মানুষকে পরাজিত করে। এছাড়া তারা মানুষের মতো একটি রোবট হাতকে নিয়ন্ত্রণ করতে এটি ব্যবহার করে যা নজিরবিহীন দক্ষতার সাথে ভৌত বস্তু পরিচালনা করতে সক্ষম।

**২০১৯:** ডিপমাইন্ড পলিসি গ্রেডিয়েন্ট দ্বারা প্রশিক্ষিত এলএসটিএম ব্যবহার করে স্টারক্রাফট ২ গেমে শ্রেষ্ঠত্ব অর্জন করে।

## ইতিহাস

### বিকাশ ও বিবর্তন

এলএসটিএম (LSTM)-এর কিছু বৈশিষ্ট্যের পূর্বাভাস "ফোকাসড ব্যাক-প্রোপাগেশন"-এর মাধ্যমে দেওয়া হয়েছিল, যা এলএসটিএম গবেষণাপত্রে উদ্ধৃত করা হয়েছে।

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

এলএসটিএম-এর একটি প্রাথমিক সংস্করণ ১৯৯৫ সালে সেপ হোখরাইটার এবং ইয়ুর্গেন শমিডহুবার একটি কারিগরি প্রতিবেদনে প্রকাশ করেন, যা পরবর্তীতে ১৯৯৬ সালের এনআইপিএস (NIPS) সম্মেলনে প্রকাশিত হয়।

এলএসটিএম-এর সবচেয়ে বেশি ব্যবহৃত সংস্করণটি ১৯৯৭ সালে নিউরাল কম্পিউটেশন জার্নালে প্রকাশিত হয়েছিল। কনস্ট্যান্ট এরর ক্যারোজেল (CEC) ইউনিট প্রবর্তনের মাধ্যমে এলএসটিএম ভ্যানিশিং গ্র্যাডিয়েন্ট সমস্যা সমাধান করে। এলএসটিএম ব্লকের প্রাথমিক সংস্করণে সেল, ইনপুট এবং আউটপুট গেট অন্তর্ভুক্ত ছিল।

ফেলিক্স গার্স, ইয়ুর্গেন শমিডহুবার এবং ফ্রেড কামিন্স ১৯৯৯ সালে এলএসটিএম স্থাপত্যে "ফরগেট গেট" (যাকে "কিপ গেট"-ও বলা হয়) প্রবর্তন করেন, যা এলএসটিএম-কে তার নিজস্ব স্টেট রিসেট করার ক্ষমতা দেয়। বর্তমানে এটিই এলএসটিএম-এর সবচেয়ে বেশি ব্যবহৃত সংস্করণ। ২০০০ সালে তাঁরা এতে "পিপহোল কানেকশন" (peephole connections) যুক্ত করেন। এর পাশাপাশি, আউটপুট অ্যাক্টিভেশন ফাংশনটি বাদ দেওয়া হয়।

### বিভিন্ন সংস্করণের বিকাশ
২০০৫ সালে গ্রেভস এবং শমিডহুবার পূর্ণাঙ্গ ব্যাকপ্রোপাগেশন থ্রু টাইম এবং দ্বি-মুখী (bidirectional) এলএসটিএম প্রকাশ করেন।

২০০৬ সালে গ্রেভস, ফার্নান্দেজ, গোমেজ এবং শমিডহুবার এলএসটিএম-এর জন্য একটি নতুন এরর ফাংশন: কানেকশনিস্ট টেম্পোরাল ক্লাসিফিকেশন (CTC) প্রবর্তন করেন, যা সিকোয়েন্সগুলোর একই সাথে অ্যালাইনমেন্ট এবং শনাক্তকরণের কাজে ব্যবহৃত হয়।

২০১৪ সালে কিউংহিউন চো এবং অন্যরা ফরগেট গেট এলএসটিএম-এর একটি সরলীকৃত সংস্করণ প্রকাশ করেন যার নাম গেটেড রিকারেন্ট ইউনিট (GRU)।

২০১৫ সালে শ্রীবাস্তব, গ্রেফ এবং শমিডহুবার এলএসটিএম-এর মূলনীতিগুলো ব্যবহার করে হাইওয়ে নেটওয়ার্ক তৈরি করেন, যা একটি ফিডফরোয়ার্ড নিউরাল নেটওয়ার্ক। এটি শত শত স্তরের সমন্বয়ে গঠিত এবং আগের নেটওয়ার্কগুলোর তুলনায় অনেক বেশি গভীর। একই সময়ে রেসনেট (ResNet) স্থাপত্যটি তৈরি করা হয়, যা মূলত একটি ওপেন-গেটেড বা গেটবিহীন হাইওয়ে নেটওয়ার্কের সমতুল্য।

সেপ হোখরাইটারের নেতৃত্বে একটি দল এলএসটিএম-এর একটি আধুনিক সংস্করণ xLSTM প্রকাশ করেছে। এই স্থাপত্যের দুটি ব্লকের মধ্যে একটি (mLSTM) ট্রান্সফর্মার স্থাপত্যের মতো সমান্তরালভাবে কাজ করতে পারে (parallelizable), এবং অন্যটি (sLSTM) স্টেট ট্র্যাকিং করতে সক্ষম।

### প্রয়োগসমূহ
**২০০১:** গার্স এবং শমিডহুবার এমন সব ভাষা শেখার জন্য এলএসটিএম-কে প্রশিক্ষণ দেন, যা হিডেন মার্কভ মডেলের মতো প্রথাগত মডেলের পক্ষে শেখা অসম্ভব ছিল।

হোখরাইটার এবং অন্যরা মেটা-লার্নিং (অর্থাৎ শেখার অ্যালগরিদম শেখা)-এর জন্য এলএসটিএম ব্যবহার করেন।

**২০০৪:** অ্যালেক্স গ্রেভস এবং অন্যরা প্রথমবারের মতো সফলভাবে এলএসটিএম-কে স্পিচ রিকগনিশনে প্রয়োগ করেন।

**২০০৫:** ডান উইরস্ট্রা, ফাউস্টিনো গোমেজ এবং শমিডহুবার কোনো শিক্ষক ছাড়াই নিউরো-ইভোলিউশনের মাধ্যমে এলএসটিএম-কে প্রশিক্ষণ দেন।

মেয়ার এবং অন্যরা রোবট নিয়ন্ত্রণের জন্য এলএসটিএম-কে প্রশিক্ষণ দেন।

**২০০৭:** উইরস্ট্রা, ফোরস্টার, পিটার্স এবং শমিডহুবার রিইনফোর্সমেন্ট লার্নিংয়ের জন্য পলিসি গ্রেডিয়েন্টের মাধ্যমে এলএসটিএম-কে প্রশিক্ষণ দেন।

হোখরাইটার, হয়সেল এবং ওবারমেয়ার জীববিজ্ঞানের ক্ষেত্রে প্রোটিন হোমোলজি শনাক্তকরণে এলএসটিএম প্রয়োগ করেন।

**২০০৯:** জাস্টিন বায়ার এবং অন্যরা এলএসটিএম-এর জন্য নিউরাল আর্কিটেকচার সার্চ প্রবর্তন করেন।

**২০০৯:** সিটিসি (CTC) দ্বারা প্রশিক্ষিত একটি এলএসটিএম মডেল হস্তাক্ষর শনাক্তকরণ প্রতিযোগিতা ICDAR-এ জয়লাভ করে। অ্যালেক্স গ্রেভসের নেতৃত্বে একটি দল এ ধরনের তিনটি মডেল জমা দিয়েছিল। এর মধ্যে একটি মডেল প্রতিযোগিতার সবচেয়ে নির্ভুল এবং অন্যটি সবচেয়ে দ্রুততম ছিল। এটিই প্রথমবার যখন কোনো রিকারেন্ট নিউরাল নেটওয়ার্ক (RNN) আন্তর্জাতিক প্রতিযোগিতায় জয়লাভ করে।

**২০১৩:** অ্যালেক্স গ্রেভস, আবদেল-রহমান মোহামেদ এবং জেফ্রি হিন্টন এলএসটিএম নেটওয়ার্ক ব্যবহার করে টিআইএমআইটি (TIMIT) ন্যাচারাল স্পিচ ডেটাসেটে রেকর্ড ১৭.৭% ফনিম (phoneme) এরর রেট অর্জন করেন।

**২০১৭:** মিশিগান স্টেট ইউনিভার্সিটি, আইবিএম রিসার্চ এবং কর্নেল ইউনিভার্সিটির গবেষকরা একটি গবেষণা প্রকাশ করেন। তাদের উদ্ভাবিত টাইম-অ্যাওয়ার এলএসটিএম (T-LSTM) নির্দিষ্ট কিছু ডেটাসেটে স্ট্যান্ডার্ড এলএসটিএম-এর চেয়ে ভালো পারফর্ম করে।

## আরও দেখুন

* অ্যাটেনশন (মেশিন লার্নিং)
* ডিপ লার্নিং
* ডিফারেন্সিয়েবল নিউরাল কম্পিউটার
* গেটেড রিকারেন্ট ইউনিট
* হাইওয়ে নেটওয়ার্ক
* লং-টার্ম পোটেনশিয়েশন
* প্রিফ্রন্টাল কর্টেক্স ব্যাসাল গ্যাংলিয়া ওয়ার্কিং মেমরি
* রিকারেন্ট নিউরাল নেটওয়ার্ক
* সিকোয়েন্স-টু-সিকোয়েন্স (Seq2seq)
* ট্রান্সফর্মার (মেশিন লার্নিং মডেল)
* টাইম সিরিজ

## তথ্যসূত্র

## আরও পড়ুন
* 
* 
* 
* 
** মূল কপি যাতে দুটি অধ্যায় রিকারেন্ট নিউরাল নেটওয়ার্ক, বিশেষ করে এলএসটিএম-এর ব্যাখ্যার জন্য নিবেদিত।

## বহিঃসংযোগ
*রিকারেন্ট নিউরাল নেটওয়ার্কস - IDSIA-তে ইয়ুর্গেন শমিডহুবারের দলের ৩০টিরও বেশি এলএসটিএম গবেষণাপত্র।
*

বিষয়শ্রেণী:নিউরন নেটওয়ার্ক স্থাপত্য
বিষয়শ্রেণী:ডিপ লার্নিং
বিষয়শ্রেণী:কৃত্রিম বুদ্ধিমত্তায় ১৯৯৭