একটি পুনরাবৃত্তি নিউরাল নেটওয়ার্ক (আরএনএন) এ স্তরটি ভুলে যান -


13

আমি ভুলে যাওয়া স্তরটিতে একটি আরএনএন-এ প্রতিটি ভেরিয়েবলের মাত্রাগুলি বের করার চেষ্টা করছি, তবে আমি নিশ্চিত নই যে আমি সঠিক পথে রয়েছি কিনা। পরের ছবি এবং সমীকরণটি কোলার ব্লগ পোস্ট "বোঝার এলএসটিএম নেটওয়ার্কগুলি" থেকে :

এখানে চিত্র বর্ণনা লিখুন

কোথায়:

  • এম 1xt হ'ল আকারের ভেক্টরের ইনপুটm1
  • এন 1ht1 ভেক্টরের আকারের গোপন অবস্থাn1
  • এক্স টি = [ 1 , 2 , 3 ] , এইচ টি - 1 = [ 4 , 5 , 6 ] [ এক্স টি , এইচ টি - 1 ] = [ 1 , 2 , 3 , 4 , 5 , 6 ][xt,ht1] একটি (উদাহরণস্বরূপ, যদি , তবে )xt=[1,2,3],ht1=[4,5,6][xt,ht1]=[1,2,3,4,5,6]
  • * ( মি + + N ) মি = 3 এন = 3 W = 3 * 3wf হল আকারের ম্যাট্রিক্সের ওজন , যেখানে কোষের রাজ্যগুলির সংখ্যা (যদি , এবং উপরের উদাহরণে এবং যদি আমাদের 3 টি রাজ্য থাকে তবে ম্যাট্রিক্স)k(m+n)km=3n=3wf=33
  • bf হ'ল ভেক্টরের পক্ষপাত , যেখানে কোষের রাজ্যের সংখ্যা ( উপরের উদাহরণ হিসাবে , তারপরে একটি ভেক্টর)।কে কে = 3 বি এফ 3 1k1kk=3bf31

যদি আমরা সেট করে : [ 1 2 3 4 5 6 5 6 7 8 9 10 3 4 5 6 7 8 ]wf

[1234565678910345678]

এবং হতে হবে: [ , , ]bf[1,2,3]

তারপরেWf.[ht1,xt]=

[1234565678910345678].[123456]=[91175133]

তারপরে আমরা পক্ষপাত, যুক্ত করতে পারি add Wf.[ht1,xt]+bf=

[91175133]+[123]=[92177136]

তারপরে আমরা তাদের একটি সিগময়েড ফাংশনে ফিড করি: rac , যেখানে , সুতরাং আমরা এই ফাংশন উপাদানটি সম্পাদন করি জ্ঞানী, এবং পেতে । x=[ 92 177 136 ][ 1 1 1 ]11+exx=[92177136]

[111]

যার অর্থ প্রতিটি কক্ষের অবস্থা, , (সেখানে ঘর রাজ্য রয়েছে), আমরা এটি পরবর্তী স্তরে যেতে দেই। কে = 3Ct1k=3

উপরের অনুমানটি কি সঠিক?

এর অর্থ হ'ল কোষের রাজ্য এবং লুকানো রাজ্যের সংখ্যাও একই?

উত্তর:


14

দুর্দান্ত প্রশ্ন!

tl; dr: সেল স্টেট এবং লুকানো অবস্থা দুটি আলাদা জিনিস, তবে লুকানো অবস্থা কোষের রাজ্যের উপর নির্ভরশীল এবং তাদের প্রকৃত আকার একই রকম হয়।

দীর্ঘ ব্যাখ্যা

নীচের চিত্রটি (একই ব্লগের অংশ) থেকে দুজনের মধ্যে পার্থক্যটি দেখা যায়:

সেল স্টেটটি এমন সাহসী রেখা যা পশ্চিম থেকে পূর্ব পর্যন্ত শীর্ষে ভ্রমণ করে।

সেল স্টেটটি এমন সাহসী রেখা যা পশ্চিম থেকে পূর্ব পর্যন্ত শীর্ষে ভ্রমণ করে। পুরো সবুজ ব্লককে বলা হয় 'সেল'।

পূর্ববর্তী সময় পদক্ষেপের লুকানো অবস্থা বর্তমান সময়ের ধাপে ইনপুটটির অংশ হিসাবে বিবেচিত হবে।

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

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

যা হচ্ছে তা এখানে:

ইনপুট গেট

এখানে চিত্র বর্ণনা লিখুন

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

এটি হ'ল, (আপনার উদাহরণ অনুসরণ করে), যদি আমাদের কাছে একটি ইনপুট ভেক্টর এবং পূর্ববর্তী লুকানো অবস্থা তবে ইনপুট গেটটি নিম্নলিখিতটি করে: = [ 4 , 5 , 6 ]xt=[1,2,3]ht=[4,5,6]

ক) CONCATENATE এবং আমাদের দিতেxtht1[1,2,3,4,5,6]

খ) ভেক্টরকে কয়েক বার গণনা করুন এবং পক্ষপাতটি যুক্ত করুন (গণিতে: , যেখানে হ'ল ইনপুট ভেক্টর থেকে অরৈখিকতায় ওজন ম্যাট্রিক্স; ইনপুট পক্ষপাত)।WiWi[xt,ht1]+biWibi

আসুন ধরে নেওয়া যাক আমরা একটি ছয়-মাত্রিক ইনপুট (সংক্ষিপ্ত ইনপুট ভেক্টরের দৈর্ঘ্য) থেকে কী আপডেট হবে তা নিয়ে ত্রি-মাত্রিক সিদ্ধান্তে যাচ্ছি। এর অর্থ আমাদের একটি 3x6 ওজন ম্যাট্রিক্স এবং একটি 3x1 বায়াস ভেক্টর প্রয়োজন। আসুন সেগুলি কিছু মান দিন:

Wi=[111111222222333333]

bi=[111]

গণনাটি হবে:

[111111222222333333][123456]+[111]=[224262]

গ) পূর্ববর্তী ফিড করুন:it=σ(Wi[xt,ht1]+bi)

σ(x)=11+exp(x) (আমরা এই উপাদানটি ভেক্টরের এর মানগুলিতে প্রয়োগ করি )x

σ([224262])=[11+exp(22),11+exp(42),11+exp(62)]=[1,1,1]

ইংরাজীতে, এর অর্থ আমরা আমাদের সমস্ত রাজ্য আপডেট করতে যাচ্ছি।

ইনপুট গেটের দ্বিতীয় অংশ রয়েছে:

d)সিটি~=টিএকটিএন(ওয়াটসি[এক্সটি,টি-1]+ +সি)

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

আউটপুট সেই বাইনারি ভেক্টর দ্বারা গুণিত হয় , তবে আমরা যখন সেল আপডেটে পৌঁছে যাব তখন আমরা তা আবরণ করব।টিসিটি~আমিটি

একসাথে, আমাদের জানায় যে আমরা কোন আপডেটে আপডেট করতে চাই এবং আমাদের কীভাবে সেগুলি আপডেট করতে চাই তা জানায়। এটি আমাদের জানায় যে আমরা এখন পর্যন্ত আমাদের উপস্থাপনায় কী নতুন তথ্য যুক্ত করতে চাই।~ C tআমিটিসিটি~

তারপরে আসে ভুলে যাওয়া গেট, যা ছিল আপনার প্রশ্নের উত্স।

ভুলে গেট

এখানে চিত্র বর্ণনা লিখুন

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

ইনপুট স্তরের মতোই, ভুলে যাওয়া স্তরটি পূর্ববর্তী সময় পদক্ষেপ এবং বর্তমান সময়ের ধাপ থেকে নতুন ইনপুট থেকে লুকানো পরিস্থিতি গ্রহণ করে এবং তাদেরকে সম্মতি দেয়। মূল বিষয়টি হ'ল কী ভুলে যাওয়া উচিত এবং কোনটি মনে রাখা উচিত oc পূর্ববর্তী গণনায়, আমি সমস্ত 1 এর একটি সিগময়েড স্তর আউটপুট দেখিয়েছি, কিন্তু বাস্তবে এটি 0.999 এর কাছাকাছি ছিল এবং আমি বৃত্তাকারটি পেয়েছিলাম।

গণনাটি দেখতে অনেকটা দেখতে আমরা ইনপুট স্তরটিতে যা করেছি:

টি=σ(ওয়াট[এক্সটি,টি-1]+ +)

এটি আমাদের 0 এবং 1 এর মধ্যে মান সহ 3 মাপের ভেক্টর দেবে যা যাক এটি ভান করে:

[0.5,0.8,0.9]

তারপরে আমরা তথ্যের এই তিনটি অংশকে কোনটি ভুলে যাওয়া উচিত এই মানগুলির উপর ভিত্তি করে stochastically সিদ্ধান্ত নিই। এটি করার একটি উপায় হ'ল ইউনিফর্ম (0, 1) বিতরণ থেকে একটি সংখ্যা উত্পন্ন করা এবং যদি সেই সংখ্যাটি ইউনিটটির 'টার্নিং' এর সম্ভাবনার চেয়ে কম হয় (0.5, 0.8, এবং 0.9 ইউনিট 1, 2, এবং 3 যথাক্রমে), তারপরে আমরা সেই ইউনিটটি চালু করি। এই ক্ষেত্রে, এর অর্থ হ'ল আমরা সেই তথ্যটি ভুলে যাচ্ছি।

দ্রুত দ্রষ্টব্য: ইনপুট স্তর এবং ভুলে যাওয়া স্তরটি স্বাধীন। আমি যদি বাজি ধরার লোক হয়ে থাকি তবে আমি বাজি ধরতাম যে এটি সমান্তরালতার জন্য ভাল জায়গা।

কক্ষের অবস্থা আপডেট করা হচ্ছে

এখানে চিত্র বর্ণনা লিখুন

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

সিটি=টিসিটি-1+ +আমিটিসিটি~

পাশে: হাদামারড পণ্য

এক্স1=[1,2,3]এক্স2=[3,2,1]

এক্স1এক্স2=[(13),(22),(31)]=[3,4,3]

একদিকে শেষ

এইভাবে, আমরা সেল স্টেট (ইনপুট) এ যা যুক্ত করতে চাই সেগুলি আমরা সেল স্টেট থেকে দূরে নিতে চাই তা দিয়ে (একত্রে) একত্রিত করি। ফলাফলটি নতুন সেল স্টেট।

আউটপুট গেট

এখানে চিত্র বর্ণনা লিখুন

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

আউটপুট স্তরটি আবার একই ইনপুট নেয়, তবে তারপরে আপডেট হওয়া সেল অবস্থা বিবেচনা করে:

টি=σ(ওয়াট[এক্সটি,টি-1]+ +)

আবার এটি আমাদের সম্ভাবনার একটি ভেক্টর দেয়। তারপরে আমরা গণনা:

টি=টিটিএকটিএন(সিটি)

সুতরাং বর্তমান সেল স্টেট এবং আউটপুট গেটটি অবশ্যই কী আউটপুট করবেন সে বিষয়ে একমত হতে হবে।

টিএকটিএন(সিটি)[0,1,1]টি[0,0,1][0,0,1]

টিYটি=σ(ওয়াটটি)

টি

এলএসটিএমগুলিতে প্রচুর বৈকল্পিক রয়েছে তবে এটি আবশ্যকীয় বিষয়গুলি কভার করে!


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

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

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

ভাল ধারণা, তবে এটি সম্পর্কে একটি সঠিক পোস্ট লিখতে আমার কিছুটা সময় লাগবে। ইতিমধ্যে, তান ফাংশনটির আকৃতি সম্পর্কে ভাবুন - এটি একটি দীর্ঘায়িত 'এস'। মাঝখানে যেখানে ডেরাইভেটিভ সর্বাধিক। যেখানে এস সমতল (এস এর লেজ) ডেরিভেটিভ 0 হয়। আমি একটি উত্স দেখেছি যে সিগময়েডগুলির সর্বাধিক ডারাইভেটিভ 0.25, তবে আমার কাছে তানহুলের সমতুল্য আবদ্ধ নেই।
স্ট্যাটাসস্রেস্রেস

আমি যে অংশটি বুঝতে পারি না সেটি ধ্রুব 1 ডেরিভেটিভ সহ রেলু থেকে পৃথক যেখানে x> 0, তবে সিগময়েড এবং তানহ এর উভয় ডেরাইভেটিভের জন্য পরিবর্তনশীল মান ছিল। এটি কীভাবে "ধ্রুবক" হতে পারে?
ব্যবহারকারী 1157751
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.