ভিএএসগুলির পুনঃনির্মাণের কৌশলটি কীভাবে কাজ করে এবং কেন এটি গুরুত্বপূর্ণ?


57

ভেরিয়েশনাল অটোনকোডার্স (ভিএই) এর পুনঃনির্মাণ কৌশলটি কীভাবে কাজ করে? অন্তর্নিহিত গণিতকে সরল না করে কি কোনও স্বজ্ঞাত এবং সহজ ব্যাখ্যা রয়েছে? এবং কেন আমাদের 'কৌশল' দরকার?


5
উত্তরের একটি অংশ লক্ষ্য করা যায় যে সমস্ত সাধারণ বিতরণগুলি কেবলমাত্র ছোট আকারের এবং অনুবাদিত সংস্করণ (1, 0) 0 সাধারণ (মিউ, সিগমা) থেকে আঁকতে আপনি সাধারণ (1, 0) থেকে অঙ্কন করতে পারেন, সিগমা (স্কেল) দিয়ে গুণ করতে পারেন এবং মিউ (অনুবাদ) যুক্ত করতে পারেন।
— সন্ন্যাসী

@ মমঙ্ক: এটি ঠিক (১,০) এর পরিবর্তে নরমাল (0,1) হওয়া উচিত নয়ত অন্যথায় গুণ এবং স্থানান্তর সম্পূর্ণ খড়ের তারে চলে যেত!
— রিকা

@ ব্রিজ হা! হ্যাঁ, অবশ্যই, ধন্যবাদ
— সন্ন্যাসী

উত্তর:


57

কিংমার NIP 2015 ওয়ার্কশপ স্লাইডগুলি পড়ার পরে , আমি বুঝতে পেরেছিলাম যে একটি এলোমেলো নোডের মাধ্যমে ব্যাকপ্রোপেট করতে আমাদের পুনঃনির্মাণের কৌশল প্রয়োজন।

স্বজ্ঞাতভাবে, তার মূল ফর্মের মধ্যে, এলোমেলো নোড থেকে ভিএইএস নমুনা যা সত্য উত্তরোত্তরের প্যারামেট্রিক মডেল Q ( z ∣ ϕ , x ) দ্বারা সজ্জিত। ব্যাকপ্রপ কোনও এলোমেলো নোডের মধ্য দিয়ে প্রবাহিত হতে পারে না।z- রকুই(z- র|φ,এক্স)

একটি নতুন পরামিতি পেশ করা হচ্ছে আমাদের reparameterize করতে পারবেন z- র একটি উপায় যে backprop নির্ণায়ক নোড মাধ্যমে প্রবাহিত করার অনুমতি দেয় হবে।εz- র

মূল এবং পুনঃনির্মাণ ফর্ম


3
এখন ডানদিকে কেন ? z- র
— আনছে

2
তাই না কিন্তু এটি একটি "যদৃচ্ছতা উৎস হবে না" - এই ভূমিকা দ্বারা অধিগৃহীত হয়েছে । ε
— কোয়ান্ট_দেব

নোট করুন যে এই পদ্ধতিটি 2014 এর আগে একাধিকবার প্রস্তাব করা হয়েছে: blog.shakirm.com/2015/10/…
— কোয়ান্ট_দেব

2
এত সহজ, স্বজ্ঞাত! দুর্দান্ত উত্তর!
— সেরিহি

2
দুর্ভাগ্যক্রমে, এটি না। মূল রূপটি এখনও উচ্চতর বৈকল্পিকতার সাথে ব্যাকপ্রোপ্যাগেটেবল হতে পারে। বিশদটি আমার পোস্ট থেকে পাওয়া যাবে ।
— জেপি ঝাং

56

ধরুন আমাদের একটি সাধারণ বিতরণ যা θ দ্বারা প্যারামিটারাইজড রয়েছে , বিশেষত q θ ( x ) = N ( θ , 1 ) । আমরা নীচের সমস্যার সমাধান করতে চাই মিনিট θকুইθকুইθ(এক্স)=এন(θ,1) এই অবশ্যই বরং একটি নিরীহ সমস্যা এবং অনুকূল θ সুস্পষ্ট। তবে, আমরা কেবল বুঝতে চাই যে কীভাবে পুনঃনির্ধারণের কৌশলটি এই উদ্দেশ্য E Q এর গ্রেডিয়েন্ট গণনা করতে সহায়তা করে [ x 2 ]

সর্বনিম্নθইকুই[এক্স2]
θইকুই[এক্স2] ।

গণনা করার একটি উপায় নিম্নরূপ ∇ θ E q [ x 2 ] = ∇ θ ∫ q θ ( x ) x 2 d x = ∫ x 2 ∇ θ q θ ( x ) q θ ( এক্স )∇θইকুই[এক্স2]

∇θEq[x2]=∇θ∫qθ(x)x2dx=∫x2∇θqθ(x)qθ(x)qθ(x)dx=∫qθ(x)∇θlog⁡qθ(x)x2dx=Eq[x2∇θlog⁡qθ(x)]

আমাদের উদাহরণের জন্য যেখানে , এই পদ্ধতিটি ∇ θ E q দেয় [ x 2 ] = E q [ x 2 ( x - θ ) ]কুইθ(এক্স)=N(θ,1)

∇θইকুই[এক্স2]=ইকুই[এক্স2(এক্স-θ)]

Reparameterization কৌতুক প্রত্যাশা পুনর্লিখন যাতে সম্মানের সঙ্গে বন্টন যা আমরা গ্রেডিয়েন্ট নেওয়া প্যারামিটারের স্বাধীন একটি উপায় । এই অর্জন করার জন্য, আমরা মধ্যে সম্ভাব্যতার সূত্রাবলি উপাদান করতে হবে কুই স্বাধীন θ । তাই, আমরা লিখতে এক্স যেমন এক্স = θ + + ε ,θকুইθএক্স তারপরে, আমরা E q [ x 2 ] = E p [ ( θ + ϵ ) 2 ] লিখতে পারি যেখানে p ϵ , অর্থাৎ এন ( 0 , 1 ) এর বিতরণ। এখন আমরা E q [ x 2 ] এর ডেরিভেটিভনিম্নরূপে লিখতে পারি ∇ θ E q [ x 2 ] ∇

x=θ+ϵ,ϵ∼N(0,1)
Eq[x2]=Ep[(θ+ϵ)2]
pεএন(0,1)ইকুই[এক্স2]
∇θEq[x2]=∇θEp[(θ+ϵ)2]=Ep[2(θ+ϵ)]

এখানে আমি লিখেছি এমন একটি আইপিথন নোটবুক যা গ্রেডিয়েন্টগুলি গণনা করার এই দুটি পদ্ধতির ভিন্নতা দেখায়। http://nbviewer.jupyter.org/github/gokererdogan/Notebooks/blob/master/Reparameterization%20Trick.ipynb


4
প্রথম সমীকরণের জন্য "সুস্পষ্ট" থিতাটি কী?
— gwg

2
এটি 0. দেখার একটি উপায় হ'ল E [x ^ 2] = E [x] ^ 2 + ভার (এক্স), যা এই ক্ষেত্রে থাটা ^ 2 + 1। সুতরাং থেটা = 0 এই উদ্দেশ্যটিকে হ্রাস করে।
— goker 18

সুতরাং, এটি সমস্যার উপর সম্পূর্ণ নির্ভর করে? মিনি_ \ থিতা ই_কিউ [| x | ^ (1/4)] বলার জন্য এটি সম্পূর্ণ আলাদা হতে পারে?
— অ্যান ভ্যান রসুম

সমস্যার উপর নির্ভর করে কী? সর্বোত্তম থিয়েটা? যদি তা হয় তবে হ্যাঁ এটি অবশ্যই সমস্যার উপর নির্ভর করে।
— goker

"এই পদ্ধতিটি দেয়" এর ঠিক পরে সমীকরণে, এটি ∇ θ E q [ x 2 ] = E q [ x 2 হওয়া উচিত নয়∇θEq[x2]=Eq[x2(x−θ)qθ(x)]∇θইকুই[এক্স2]=ইকুই[এক্স2(এক্স-θ)]

17

"পুনঃনির্মাণ কৌশল" গণিতের একটি যুক্তিসঙ্গত উদাহরণ গোকের উত্তরে দেওয়া হয়েছে, তবে কিছু অনুপ্রেরণা সহায়ক হতে পারে। (আমার কাছে সেই উত্তরের বিষয়ে মন্তব্য করার অনুমতি নেই; সুতরাং এখানে একটি পৃথক উত্তর দেওয়া হয়েছে))

সংক্ষেপে, আমরা কিছু মান গণনা করতে চাইজিθ

জিθ=∇θইএক্স~কুইθ[...]

"পুনঃনির্ধারণের কৌশল" ব্যতীত আমরা প্রায়শই গোকের উত্তর হিসাবে এটি আবার লিখতে পারিইএক্স~কুইθ[জিθইগুলিটি(এক্স)]

জিθইগুলিটি(এক্স)=...1কুইθ(এক্স)∇θকুইθ(এক্স)=...∇θলগ ইন করুন⁡(কুইθ(এক্স))

এক্সকুইθজিθইগুলিটিজিθθ এই ব্যাক-propagatation ব্যবহার নেটওয়ার্কের পরামিতি থেকে সম্মান সঙ্গে ডেরাইভেটিভস এটি (চেইন নিয়ম প্রযোজ্য)।

জিθইগুলিটিজিθ

জিθএক্সএক্সকুইθ(এক্স)1কুইθ(এক্স)এক্সজিθকুইθজিθইগুলিটিএক্সকুইθθ, যা সর্বোত্তম থেকে দূরে থাকতে পারে (উদাহরণস্বরূপ, একটি নির্বিচারে চয়ন প্রাথমিক মান)। এটি মাতাল ব্যক্তিটির গল্পের মতো যা সে স্ট্রিটলাইটের কাছে তার চাবিগুলি সন্ধান করে (কারণ এটি সে যেখানে দেখতে পাবে / নমুনা করতে পারে) বরং যেখানে সেগুলি ফেলেছিল।

এক্সεপিθজিθপি

জিθ=∇θইε~পি[জে(θ,ε)]=ইε~পি[∇θজে(θ,ε)]
জে(θ,ε) ।

∇θজে(θ,ε)পিεপিθপি

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

আমি আশা করি এটি সাহায্য করবে.


"1 / qθ (x) এর ফ্যাক্টর এটির জন্য অ্যাকাউন্টটি অনুমান করার জন্য আপনার অনুমানের পরিমাণ বাড়িয়ে দিচ্ছে, তবে আপনি যদি কখনও x এর মান দেখতে না পান তবে সেই স্কেলিং কোনও উপকারে আসবে না।" আপনি আরও ব্যাখ্যা করতে পারেন?
— czxttkl

কুইθএক্সএক্সজিθইগুলিটি(এক্স)1/কুইθ

10

আমাকে প্রথমে ব্যাখ্যা করতে দাও, কেন আমাদের ভিএইতে পুনঃনির্মাণের কৌশল দরকার।

ভিএই এর এনকোডার এবং ডিকোডার রয়েছে। সঙ্কেতমোচক এলোমেলোভাবে সত্য অবর থেকে নমুনা টু Z ~ কুই (z|φ, x) এর । নিউরাল নেটওয়ার্ক হিসাবে এনকোডার এবং ডিকোডার প্রয়োগ করার জন্য, আপনাকে এলোমেলো নমুনার মাধ্যমে ব্যাকপ্রোগেট করতে হবে এবং এটি সমস্যা কারণ ব্যাকপ্রোগেশন এলোমেলো নোডের মাধ্যমে প্রবাহিত হতে পারে না; এই প্রতিবন্ধকতা কাটিয়ে উঠতে আমরা পুনঃনির্মাণ কৌশল ব্যবহার করি।

এখন আসুন কৌতুক করতে আসা যাক। যেহেতু আমাদের পূর্ববর্তীটি সাধারণত বিতরণ করা হয়, তাই আমরা এটি অন্য একটি সাধারণ বিতরণের সাথে আনুমানিক করতে পারি। আমরা আনুমানিক জেড স্বাভাবিকভাবে বিতরণ সঙ্গে ε ।

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

তবে এটি কীভাবে প্রাসঙ্গিক?

এখন জেড কে q (z∣ϕ, x) থেকে নমুনা দেওয়ার পরিবর্তে , আমরা বলতে পারি জেড এমন একটি ফাংশন যা প্যারামিটার নেয় (ε, (µ, এল)) এবং এই µ, এল উচ্চতর নিউরাল নেটওয়ার্ক (এনকোডার) থেকে আসে । সুতরাং ব্যাকপ্রোগেশন চলাকালীন আমাদের কেবল আংশিক ডেরিভেটিভস আর্ট is , এল এবং der ডেরিভেটিভস নেওয়ার ক্ষেত্রে অপ্রাসঙ্গিক।

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


এই ধারণাটি বোঝার জন্য সেরা ভিডিও। আমি আরও ভাল বোঝার জন্য সম্পূর্ণ ভিডিও দেখার পরামর্শ দিচ্ছি তবে আপনি যদি কেবল পুনঃনির্ধারণের কৌশলটি বুঝতে চান তবে 8 মিনিট থেকে দেখুন। youtube.com/channel/UCNIkB2IeJ-6AmZv7bQ1oBYg
— শার্লক

9

আমি ভেবেছিলাম সম্ভাব্য গ্রাফিকাল মডেলগুলির স্ট্যানফোর্ড সিএস 228 কোর্সে প্রাপ্ত ব্যাখ্যাটি খুব ভাল ছিল। এটি এখানে পাওয়া যাবে: https://ermongroup.github.io/cs228- নোটস / এক্সট্রাস / vae/

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

∇φইz- র~কুই(z- র|এক্স)[চ(এক্স,z- র)]

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

কুইφ(z- র|এক্স)

εপি(ε)ছφ(ε,এক্স)কুইφ

উদাহরণস্বরূপ, আসুন একটি খুব সহজ Q ব্যবহার করুন যা থেকে আমরা নমুনা করি।

z- র~কুইμ,σ=এন(μ,σ)
কুই
z- র=ছμ,σ(ε)=μ+ +ε⋅σ
ε~এন(0,1)

পি(ε)

∇φইz- র~কুই(z- র|এক্স)[চ(এক্স,z- র)]=ইε~পি(ε)[∇φচ(এক্স,ছ(ε,এক্স))]

ইমো, তুচ্ছ-তুচ্ছ কারণে এর কম বৈচিত্র রয়েছে। ব্যাখ্যার জন্য এখানে পরিশিষ্টের অংশ ডি চেক করুন: https://arxiv.org/pdf/1401.4082.pdf


হাই, আপনি কি জানেন, বাস্তবায়নে কেন তারা এই স্টাডিকে 2 দ্বারা ভাগ করে? (অর্থাত্ std = torch.exp (z_var / 2)) পুনঃনির্মাণে?
— রিকা

4

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

  • ভিএলবি গণনা
  • ভিএলবির গ্রেডিয়েন্ট পান

লেখক উভয়ের জন্য মন্টি কার্লো এস্টিমেটার ব্যবহার করার পরামর্শ দিয়েছেন। এবং প্রকৃতপক্ষে তারা ভিএলবির আরও সুনির্দিষ্ট মন্টি কার্লো গ্রেডিয়েন্ট অনুমানকারী পেতে এই কৌশলটি প্রবর্তন করে।

এটি কেবল সংখ্যা পদ্ধতির উন্নতি।


2

পুনঃনির্ধারণের কৌশলটি গ্রেডিয়েন্টের জন্য এমসির প্রাক্কলনকারীটির প্রকরণটিকে নাটকীয়ভাবে হ্রাস করে। সুতরাং এটি একটি বৈকল্পিক হ্রাস কৌশল:

আমাদের লক্ষ্য হ'ল অনুমান পাওয়া

∇φইকুই(z- র(আমি)|এক্স(আমি);φ)[লগ ইন করুন⁡পি(এক্স(আমি)|z- র(আমি),W)]

∇φইকুই(z- র(আমি)|এক্স(আমি);φ)[লগ ইন করুন⁡পি(এক্স(আমি)|z- র(আমি),W)]=ইকুই(z- র(আমি)|এক্স(আমি);φ)[লগ ইন করুন⁡পি(এক্স(আমি)|z- র(আমি),W)∇φলগ ইন করুন⁡কুইφ(z- র)]
পি(এক্স(আমি)|z- র(আমি),W)লগ ইন করুন⁡পি(এক্স(আমি)|z- র(আমি),W)খুব বড় এবং মান নিজেই নেতিবাচক। সুতরাং আমরা উচ্চ বৈকল্পিক হবে।

z- র(আমি)=ছ(ε(আমি),এক্স(আমি),φ)

∇φইকুই(z- র(আমি)|এক্স(আমি);φ)[লগ ইন করুন⁡পি(এক্স(আমি)|z- র(আমি),W)]=ইপি(ε(আমি))[∇φলগ ইন করুন⁡পি(এক্স(আমি)|ছ(ε(আমি),এক্স(আমি),φ),W)]

পি(ε(আমি))পি(ε(আমি))φ । সুতরাং আমরা প্রত্যাশার অভ্যন্তরে সরাসরি গ্রেডিয়েন্টটি রাখতে পারি যা প্রত্যাশাটি স্পষ্টভাবে লেখার মাধ্যমে সহজেই দেখা যায়। গ্রেডিয়েন্টের মান অনেক ছোট তাই আমাদের স্বজ্ঞাতভাবে কম বৈকল্পিক রয়েছে।

z- র(আমি)z- র(আমি)=ছ(ε(আমি),এক্স(আমি),φ)

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