যদিও ভেরিয়েশনাল অটোনকোডারগুলি (ভিএই) কার্যকর করা এবং প্রশিক্ষণ দেওয়া সহজ, সেগুলি ব্যাখ্যা করা মোটেও সহজ নয়, কারণ তারা ডিপ লার্নিং এবং ভেরিয়েশনাল বেয়েস থেকে ধারণাগুলি মিশ্রিত করে, এবং ডিপ লার্নিং এবং প্রবেবলিস্টিক মডেলিং সম্প্রদায়গুলি একই ধারণার জন্য বিভিন্ন পদ ব্যবহার করে। সুতরাং ভিএইগুলি ব্যাখ্যা করার সময় আপনি স্ট্যাটিসটিকাল মডেল অংশটিতে মনোনিবেশ করার ঝুঁকিপূর্ণ, পাঠককে কীভাবে এটি বাস্তবায়ন করবেন সে সম্পর্কে কোনও চিহ্ন ছাড়াই রেখে যান বা উল্টো নেটওয়ার্ক আর্কিটেকচার এবং ক্ষতির ফাংশনে মনোনিবেশ করা, যাতে কুলব্যাক-লেবেলারের শব্দটি মনে হয় পাতলা বাতাস থেকে টানা। মডেল থেকে শুরু করে বাস্তবে বাস্তবে এটি বাস্তবায়নের জন্য বা অন্য কারও বাস্তবায়ন বোঝার জন্য পর্যাপ্ত বিবরণ দিয়ে আমি এখানে একটি মাঝারি স্থলটি আঘাত করার চেষ্টা করব।
ভিএইগুলি হ'ল জেনারেটরি মডেল
শাস্ত্রীয় (বিক্ষিপ্ত, denoising, ইত্যাদি) autoencoders মতো VAEs হয় সৃজক মডেল, Gans মত। জেনারেটাল মডেলটির সাথে আমি এমন একটি মডেলকে বুঝি যা ইনপুট স্পেস x এর উপর সম্ভাব্যতা বন্টন p(x) শিখে ফেলে । এর অর্থ হ'ল আমরা এ জাতীয় মডেল প্রশিক্ষণ দেওয়ার পরে আমরা (আমাদের আনুমানিক) পি ( এক্স ) থেকে নমুনা নিতে পারি । যদি আমাদের প্রশিক্ষণ সেটটি হস্তাক্ষর অঙ্কগুলি (এমএনআইএসটি) দিয়ে তৈরি হয়, তবে প্রশিক্ষণের পরে জেনারেটাল মডেল এমন চিত্র তৈরি করতে সক্ষম হয় যা হস্তাক্ষর অঙ্কগুলির মতো দেখায়, যদিও তারা প্রশিক্ষণ সেটে চিত্রগুলির "অনুলিপি" না করে।xp(x)
প্রশিক্ষণ সংস্থায় চিত্রগুলির বিতরণ শিখতে বোঝায় যে হস্তাক্ষর অঙ্কগুলির মতো দেখতে যে চিত্রগুলি উত্পন্ন হওয়ার উচ্চ সম্ভাবনা থাকা উচিত, অন্যদিকে জলি রজার বা এলোমেলো শব্দের মতো চিত্রগুলির কম সম্ভাবনা থাকা উচিত। অন্য কথায়, এর অর্থ পিক্সেলের মধ্যে নির্ভরতা সম্পর্কে শিখতে: যদি আমাদের চিত্রটি এমএনআইএসটি থেকে একটি 28×28=784 পিক্সেল গ্রেস্কেল চিত্র হয় তবে মডেলটি শিখতে হবে যে যদি কোনও পিক্সেল খুব উজ্জ্বল হয়, তবে প্রতিবেশী কিছু পিক্সেল হওয়ার একটি সম্ভাব্য সম্ভাবনা রয়েছে খুব উজ্জ্বল, আমাদের কাছে যদি উজ্জ্বল পিক্সেলের একটি দীর্ঘ, স্লিটেন্ট লাইন থাকে তবে আমরা এর চেয়ে আরও ছোট, পিক্সেলের একটি অনুভূমিক রেখা থাকতে পারি (একটি)), ইত্যাদি etc.
ভিএইগুলি হ'ল সুপ্ত পরিবর্তনশীল মডেল
ভিএই একটি সুপ্ত পরিবর্তনশীল মডেল: এর অর্থ হল x , 784 পিক্সেলের তীব্রতা ( পর্যবেক্ষণ করা ভেরিয়েবলস) এর এলোমেলো ভেক্টরকে নিম্নতর মাত্রার একটি র্যান্ডম ভেক্টর z∈Z এর একটি (সম্ভবত খুব জটিল) ফাংশন হিসাবে মডেল করা হয়েছে , যার উপাদানগুলি অরক্ষিত ( সুপ্ত ) ভেরিয়েবলগুলি। এই জাতীয় মডেলটি কখন বোঝায়? উদাহরণস্বরূপ, এমএনআইএসটি ক্ষেত্রে আমরা মনে করি যে হস্তাক্ষরযুক্ত অঙ্কগুলি x এর মাত্রা থেকে অনেক ছোট মাত্রার একাধিক মাত্রার অন্তর্গতx, কারণ 784 পিক্সেলের তীব্রতার এলোমেলোভাবে ব্যবস্থার বিশাল সংখ্যা, হস্তাক্ষর ডিজিটের মতো দেখতে না। স্বজ্ঞাতভাবে আমরা ডাইমেনশনটি কমপক্ষে 10 (অঙ্কের সংখ্যা) হওয়ার আশা করব তবে এটি সম্ভবত আরও বড় কারণ প্রতিটি ডিজিট বিভিন্ন উপায়ে লেখা যেতে পারে। চূড়ান্ত চিত্রের মানের জন্য কিছু পার্থক্য গুরুত্বহীন (উদাহরণস্বরূপ, বিশ্বব্যাপী আবর্তন এবং অনুবাদগুলি), তবে অন্যগুলি গুরুত্বপূর্ণ। সুতরাং এই ক্ষেত্রে সুপ্ত মডেলটি বোঝায়। এই সম্পর্কে আরও পরে। মনে রাখবেন, আশ্চর্যরূপে, এমনকি আমাদের অন্তর্দৃষ্টিটি যদি বলে যে মাত্রাটি প্রায় 10 হওয়া উচিত, তবে আমরা অবশ্যই এমএনআইএসটি ডেটাসেটকে একটি ভিএই দিয়ে এনকোড করার জন্য মাত্র 2 সুপ্ত ভেরিয়েবল ব্যবহার করতে পারি (যদিও ফলাফলগুলি সুন্দর হবে না)। কারণটি হ'ল এমনকি একক আসল পরিবর্তনশীল অসীম বহু শ্রেণিকে এনকোড করতে পারে, কারণ এটি সমস্ত সম্ভাব্য পূর্ণসংখ্যার মান এবং আরও অনেক কিছু ধরে নিতে পারে। অবশ্যই, যদি ক্লাসগুলির মধ্যে তাদের মধ্যে উল্লেখযোগ্য ওভারল্যাপ থাকে (যেমন 9 এবং 8 বা 7 এবং আমি এমএনআইএসটি তে), এমনকি মাত্র দুটি সুপ্ত ভেরিয়েবলের সবচেয়ে জটিল কার্য প্রতিটি শ্রেণীর জন্য পরিষ্কারভাবে বিবিধ নমুনা তৈরি করার একটি দুর্বল কাজ করবে। এই সম্পর্কে আরও পরে।
VAEs একটি বহুচলকীয় স্থিতিমাপ বন্টন অনুমান q(z|x,λ) (যেখানে λ পরামিতি হয় q ), এবং তারা বহুচলকীয় বিতরণের পরামিতি শিখতে। একটি স্থিতিমাপ পিডিএফ ব্যবহার z , যা একটি VAE পরামিতি ট্রেনিং সেট বৃদ্ধির সঙ্গে সীমা ছাড়া হত্তয়া সংখ্যা বাধা দেয়, বলা হয় ক্রমশোধ VAE শ্রেণীর বা সম্প্রদায়ের ভাষা মধ্যে (হাঁ, আমি জানি ...)।
ডিকোডার নেটওয়ার্ক
আমরা ডিকোডার নেটওয়ার্ক থেকে শুরু করি কারণ ভিএই একটি জেনারেটরি মডেল এবং ভিএইইর একমাত্র অংশ যা আসলে নতুন চিত্র তৈরি করতে ব্যবহৃত হয় তা হ'ল ডিকোডার। এনকোডার নেটওয়ার্কটি কেবল অনুমান (প্রশিক্ষণ) সময় ব্যবহৃত হয়।
ডিকোডার নেটওয়ার্কের লক্ষ্যটি সুপ্ত ভেক্টর z এর উপলব্ধি থেকে শুরু করে ইনপুট স্পেস এক্স সম্পর্কিত নতুন এলোমেলো ভেক্টর x তৈরি করা । এই উপায়ে পরিষ্কারভাবে এটি শর্তসাপেক্ষ বন্টন শিখতে হবে পি ( এক্স | z- র ) । ভিএইগুলির জন্য এই বিতরণটি প্রায়শই মাল্টিভিয়ারেট গাউসিয়ান 1 হিসাবে ধরে নেওয়া হয় :Xzp(x|z)
pϕ(x|z)=N(x|μ(z;ϕ),σ(z;ϕ)2I)
ϕ এনকোডার নেটওয়ার্ক ওজন (এবং গোঁড়ামির) বাহক। ভেক্টরμ(z;ϕ) এবংσ(z;ϕ) জটিল, অজানা অরৈখিক ফাংশন, ডিকোডার নেটওয়ার্ক দ্বারা অনুকরণে আছেন: স্নায়ুর নেটওয়ার্ক শক্তিশালী অরৈখিক ফাংশন approximators হয়।
মন্তব্যগুলিতে @ অ্যামিবা দ্বারা উল্লিখিত হিসাবে, ডিকোডার এবং একটি ক্লাসিক সুপ্ত ভেরিয়েবল মডেলের মধ্যে আকর্ষণীয় মিল রয়েছে: ফ্যাক্টর বিশ্লেষণ। ফ্যাক্টর বিশ্লেষণে, আপনি মডেলটি ধরে নিয়েছেন:
x|z∼N(Wz+μ,σ2I), z∼N(0,I)
উভয় মডেল (এফএ & ডিকোডার) অনুমান পর্যবেক্ষণযোগ্য ভেরিয়েবল শর্তাধীন বিতরণ x সুপ্ত ভেরিয়েবল উপর z গসিয়ান, এবং যে z নিজেদের মান Gaussians হয়। পার্থক্য হচ্ছে ডিকোডার গ্রহণ করে না যে গড় p(x|z) মধ্যে রৈখিক হয় z , না এটা ধরে নেয় যে স্ট্যানডার্ড ডেভিয়েশন একটি ধ্রুবক বাহক। বিপরীতে, এটি তাদের z এর জটিল ননলাইনার ফাংশন হিসাবে মডেল করে । এই ক্ষেত্রে, এটি ননলাইনার ফ্যাক্টর বিশ্লেষণ হিসাবে দেখা যেতে পারে। এখানে দেখুনএফএ এবং ভিএইয়ের মধ্যে এই সংযোগের অন্তর্দৃষ্টিপূর্ণ আলোচনার জন্য। যেহেতু আইসোট্রপিক কোভেরিয়েন্স ম্যাট্রিক্স সহ এফএ কেবল পিপিসিএ, তাই এটি সুপরিচিত ফলাফলের সাথেও যুক্ত করে যে একটি লিনিয়ার অটোইনকোডার পিসিএ-তে হ্রাস করে।
আসুন আমরা ডিকোডারে ফিরে যাই: আমরা কীভাবে শিখি ϕ ? স্বজ্ঞাতভাবে আমরা সুপ্ত পরিবর্তনশীল z যা প্রশিক্ষণ সেট ডি এন এ xi উত্পন্ন করার সম্ভাবনা সর্বাধিক করে তোলে । অন্য কথায় আমরা z এর উত্তরীয় সম্ভাব্যতা বিতরণ গণনা করতে চাই , ডেটা দিয়েছি :Dnz
p(z|x)=pϕ(x|z)p(z)p(x)
আমরা z এর আগে একটি N(0,I) ধরে নিয়েছি , এবং আমরা বয়েসিয়ান অনুমানের মধ্যে সাধারণ সমস্যাটি রেখেছি যে পি ( এক্স ) ( প্রমাণ ) হার্ড (এক বহুমাত্রিক অবিচ্ছেদ্য) is আরও কী, যেহেতু এখানে μ ( z ; ϕ ) অজানা, আমরা যাইহোক এটি গণনা করতে পারি না। ভেরিয়েশনাল ইনফারেন্স প্রবেশ করান, যে সরঞ্জামটি ভেরিয়েশনাল অটোর কোডারদের তাদের নাম দেয়।zp(x)μ(z;ϕ)
ভিএই মডেলটির জন্য বৈকল্পিক অনুক্রম ference
ভেরিয়েনাল ইনফারেন্স খুব জটিল মডেলের জন্য আনুমানিক বায়েশিয়ান ইনফেরেন্স সম্পাদন করার একটি সরঞ্জাম। এটি অত্যধিক জটিল সরঞ্জাম নয়, তবে আমার উত্তরটি ইতিমধ্যে খুব দীর্ঘ এবং আমি ষষ্ঠ বিশদ সম্পর্কে বিশদ ব্যাখ্যায় যাব না। আপনি যদি কৌতূহলী হন তবে আপনি এই উত্তরটি এবং এর উল্লেখগুলি একবারে দেখতে পারেন:
/stats//a/270569/58675
এটা বলা যে একটি পড়তা জন্য ষষ্ঠ সৌন্দর্য যথেষ্ট p(z|x) ডিস্ট্রিবিউশন একটি স্থিতিমাপ পরিবারে q(z|x,λ) , যেখানে, যেমন উপরে উল্লেখ করেছি, λ পরিবারের পরামিতি। আমরা পরামিতি, যা আমাদের লক্ষ্য বন্টন মধ্যে Kullback-Leibler বিকিরণ কমানোর জন্য চেহারা p(z|x) এবং q(z|x,λ) :
minλD[p(z|x)||q(z|x,λ)]
আবার, আমরা এটিকে সরাসরি হ্রাস করতে পারি না কারণ কুলব্যাক-লেবেলার বিচরণের সংজ্ঞা প্রমাণ অন্তর্ভুক্ত করে। ELBO (প্রমাণ লোয়ার বোন্ড) উপস্থাপন করা হচ্ছে এবং কিছু বীজগণিত কারসাজির পরে, আমরা শেষ পর্যন্ত এখানে পেয়েছি:
ELBO(λ)=Eq(z|x,λ)[logp(x|z)]−D[(q(z|x,λ)||p(z)]
যেহেতু ইএলবিও প্রমাণের উপর একটি নিচে আবদ্ধ (উপরের লিঙ্কটি দেখুন), তাই ELBO সর্বাধিকীকরণ দেওয়া তথ্যের সম্ভাব্যতা সর্বাধিক করে তোলার ঠিক সমান নয় λ (সর্বোপরি, ষষ্ঠটি আনুমানিক বায়েশিয়ান অনুমানের জন্য একটি সরঞ্জাম ), তবে এটি এতে যায় সঠিক দিক.
অনুমান করার জন্য, আমাদের প্যারামেট্রিক পরিবার q(z|x,λ) । বেশিরভাগ ভিএইগুলিতে আমরা একটি মাল্টিভারিয়েট, নিরবিচ্ছিন্ন গাউসীয় বিতরণ পছন্দ করি
q(z|x,λ)=N(z|μ(x),σ2(x)I)
এটি আমরা এরp(x|z) জন্য একই পছন্দ করেছি , যদিও আমরা আলাদা প্যারামেট্রিক পরিবার বেছে নিয়েছি। পূর্বের মতো, আমরা নিউরাল নেটওয়ার্ক মডেল প্রবর্তন করে এই জটিল ননলাইনার ফাংশনগুলি অনুমান করতে পারি। যেহেতু এই মডেলটি ইনপুট চিত্র গ্রহণ করে এবং সুপ্ত ভেরিয়েবলগুলির বিতরণের পরামিতিগুলি দেয় আমরা এটিকে এনকোডার নেটওয়ার্ক বলি । পূর্বের মতো, আমরা নিউরাল নেটওয়ার্ক মডেল প্রবর্তন করে এই জটিল ননলাইনার ফাংশনগুলি অনুমান করতে পারি। যেহেতু এই মডেলটি ইনপুট চিত্র গ্রহণ করে এবং সুপ্ত ভেরিয়েবলগুলির বিতরণের পরামিতিগুলি দেয় আমরা এটিকে এনকোডার নেটওয়ার্ক বলি ।
এনকোডার নেটওয়ার্ক
ইনফারেন্স নেটওয়ার্কও বলা হয় , এটি কেবল প্রশিক্ষণের সময় ব্যবহৃত হয়।
উপরে উল্লিখিত হিসাবে, এনকোডারটি অবশ্যই আনুমানিক μ(x) এবং σ(x) , যদি আমাদের বলতে হয়, 24 সুপ্ত ভেরিয়েবল, এনকোডারটির আউটপুট একটি d=48 ভেক্টর। এনকোডার ওজন (এবং গোঁড়ামির) আছে θ । জানতে θ , আমরা অবশেষে পরামিতি পরিপ্রেক্ষিতে ELBO লিখতে পারেন θ এবং ϕ এনকোডার এবং ডিকোডার নেটওয়ার্ক, সেইসাথে ট্রেনিং সেট পয়েন্ট:
ELBO(θ,ϕ)=∑iEqθ(z|xi,λ)[logpϕ(xi|z)]−D[(qθ(z|xi,λ)||p(z)]
θϕp(z)=N(0,I)qθ(z|x,λ)p(z|x,λ)
θϕELBO(θ,ϕ)z∼N(0,I)
তথ্যসূত্র এবং আরও পড়া
pϕ(x|z)xp
Eqθ(z|xi,λ)[logpϕ(xi|z)]qθ(z|xi,λ)। জড়িত নিউরাল নেটওয়ার্কগুলির আকার এবং এসজিডি অ্যালগরিদমের কম কনভার্জেনশনের হার দেওয়া, প্রতিটি পুনরাবৃত্তিতে একাধিক এলোমেলো নমুনা আঁকার (আসলে, প্রতিটি মিনিবাসের জন্য, যা আরও খারাপ) খুব সময়সাপেক্ষ। ভিএই ব্যবহারকারীরা এই প্রত্যাশাটিকে একক (!) এলোমেলো নমুনা দিয়ে গণনা করে খুব সমস্যাটি সমাধান করেন। অন্য ইস্যুটি হ'ল ব্যাকপ্রপ্যাগেশন অ্যালগরিদম দিয়ে দুটি নিউরাল নেটওয়ার্ক (এনকোডার এবং ডিকোডার) প্রশিক্ষণ দেওয়ার জন্য, আমার এনকোডার থেকে ডিকোডার পর্যন্ত প্রচারের সাথে জড়িত সমস্ত পদক্ষেপের পার্থক্য করতে সক্ষম হওয়া প্রয়োজন। যেহেতু ডিকোডারটি নির্বিচারে নয় (এর আউটপুটটি মূল্যায়নের জন্য মাল্টিভারিয়েট গাউসিয়ান থেকে অঙ্কন প্রয়োজন) তাই এটি কোনও বিভেদযোগ্য আর্কিটেকচার কিনা তা জিজ্ঞাসা করাও বোধগম্য নয়। এর সমাধান হ'ল পুনরায় সংশোধন কৌশল ।