নয়েজ কনট্রাস্টিভ এস্টিমেশন (এনসিই) ক্ষতির স্বজ্ঞাত ব্যাখ্যা?


32

আমি এই দুটি উত্স থেকে এনসিই (প্রার্থী নমুনার একটি ফর্ম) সম্পর্কে পড়েছি:

টেনসরফ্লো রাইটিংআপ

মূল কাগজ

নিম্নলিখিত কেউ আমাকে কেউ সাহায্য করতে পারে:

  1. এনসিই কীভাবে কাজ করে তার একটি সহজ ব্যাখ্যা (আমি উপরেরটিকে পার্স করা এবং একটি বোঝার পক্ষে জটিল ধারণা পেয়েছি, সুতরাং এমন কোনও স্বজ্ঞাত যা এখানে উপস্থাপনিত গণিতের দিকে নিয়ে যায়) দুর্দান্ত হবে
  2. উপরের পয়েন্ট 1 পরে, কীভাবে এটি নেতিবাচক নমুনা থেকে পৃথক তার একটি প্রাকৃতিক স্বজ্ঞাত বিবরণ। আমি দেখতে পাচ্ছি যে সূত্রে কিছুটা পরিবর্তন এসেছে তবে অঙ্কটি বুঝতে পারেনি। আমি এর প্রসঙ্গে নেতিবাচক নমুনা সম্পর্কে একটি স্বজ্ঞাত জ্ঞান word2vecপেয়েছি - আমরা শব্দবুদ্ধি থেকে এলোমেলোভাবে কিছু নমুনা বেছে নিই Vএবং কেবলমাত্র সেগুলি |V|বড় কারণ এটি আপডেট হয় এবং এটি একটি স্পিডআপ দেয়। ভুল হলে দয়া করে সংশোধন করুন।
  3. কোনটি কখন ব্যবহার করবেন এবং কীভাবে সিদ্ধান্ত নেওয়া হয়? আপনি উদাহরণগুলি অন্তর্ভুক্ত করতে পারলে এটি দুর্দান্ত হবে (সম্ভবত অ্যাপ্লিকেশনগুলি বোঝার পক্ষে সহজ)
  4. এনসিই কি নেতিবাচক স্যাম্পলিংয়ের চেয়ে ভাল? ভাল কোন পদ্ধতিতে?

ধন্যবাদ.


আমার পোস্ট সাহায্য হতে পারে হতে পারে। নানজিয়াং.কোড়া.com/নোয়েস-কনট্রাসটিভ- ইস্টিমেশন এবং পরে থিয়ানো নিয়ে পরীক্ষা-নিরীক্ষা আমার github.com/jiangnanHugo/language_modeling এ পাওয়া যাবে। আমি আশা করি আমার বোধগম্যতা ঠিক আছে।
jiangnan hugo

উত্তর:


27

এই পোস্ট থেকে নেওয়া: https://stats.stackexchange.com/a/245452/154812

সমস্যাটি

"মানক" নিউরাল নেটওয়ার্ক ব্যবহার করে ভেক্টর শব্দটি শিখতে কিছু সমস্যা রয়েছে। এই পদ্ধতিতে, ভেক্টর শব্দটি শিখে নেওয়া হয় যখন নেটওয়ার্ক শব্দের একটি উইন্ডো (নেটওয়ার্কের ইনপুট) দিয়ে পরবর্তী শব্দটির পূর্বাভাস দিতে শেখে।

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

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

(ক) সমাধান

এই ইস্যুটি মোকাবেলার জন্য, অর্থাৎ, সফটম্যাক্সের ব্যয়বহুল গণনা, ওয়ার্ড 2 ভিইচ শব্দ-বিপরীত অনুমানের একটি কৌশল ব্যবহার করে। এই কৌশলটি [A] দ্বারা চালু করা হয়েছিল ([B] দ্বারা সংশোধিত) এরপরে [C], [D], [E] এ শিরোনামহীন প্রাকৃতিক ভাষার পাঠ্য থেকে শব্দ এম্বেডিং শিখতে ব্যবহৃত হয়েছিল।

মূল ধারণাটি হ'ল বহুজাতিক শ্রেণিবদ্ধকরণ সমস্যাটিকে (যেমন এটি পরবর্তী শব্দটির পূর্বাভাস দেওয়ার সমস্যা) বাইনারি শ্রেণিবদ্ধকরণ সমস্যায় রূপান্তর করা। অর্থাৎ আউটপুট শব্দের সত্য সম্ভাবনা বিতরণ অনুমান করার জন্য সফটম্যাক্স ব্যবহার না করে পরিবর্তে একটি বাইনারি লজিস্টিক রিগ্রেশন (বাইনারি শ্রেণিবিন্যাস) ব্যবহৃত হয়।

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

এটি গুরুত্বপূর্ণ: পরবর্তী শব্দটি ("মানক" প্রশিক্ষণের কৌশল) পূর্বাভাস দেওয়ার পরিবর্তে অনুকূলিত শ্রেণিবদ্ধার কেবল একটি জুটির শব্দ ভাল বা খারাপ কিনা তা ভবিষ্যদ্বাণী করে।

ওয়ার্ড 2Vec প্রক্রিয়াটি সামান্য কাস্টমাইজ করে এবং এটিকে নেতিবাচক নমুনা বলে। ওয়ার্ড টুভেক-তে, নেতিবাচক নমুনাগুলির জন্য শব্দগুলি (দূষিত জোড়গুলির জন্য ব্যবহৃত) একটি বিশেষভাবে ডিজাইন করা বিতরণ থেকে আঁকা, যা প্রায়শই প্রায়শই আঁকতে কম ঘন ঘন শব্দকে সমর্থন করে।

তথ্যসূত্র

[এ] (২০০৫) - বিপরীত অনুমান: লেবেলযুক্ত ডেটাতে লগ-লিনিয়ার মডেলগুলি প্রশিক্ষণ

[বি] (২০১০) - কোলাহল-বিপরীত অনুমান: অস্বাভাবিক পরিসংখ্যানের মডেলগুলির জন্য একটি নতুন অনুমানের নীতি

[সি] (২০০৮) - প্রাকৃতিক ভাষা প্রক্রিয়াকরণের জন্য একীভূত আর্কিটেকচার: মাল্টিটাস্ক শিক্ষার সাথে গভীর স্নায়বিক নেটওয়ার্ক networks

[ডি] (২০১২) - নিউরাল সম্ভাব্য ভাষা মডেলদের প্রশিক্ষণের জন্য একটি দ্রুত এবং সাধারণ অ্যালগরিদম

[ই] (২০১৩) - শব্দ-বিপরীত অনুমানের সাথে দক্ষতার সাথে শব্দ এম্বেডিং শেখা


3

সত্যিই এনসিইর ক্ষয়টি তার গণিতকে গভীরভাবে না বুঝে কেন কাজ করবে তা বোঝার কোনও অন্তর্নিহিত উপায় নেই। গণিতটি বুঝতে, আপনার মূল কাগজটি পড়া উচিত।

এনসিই ক্ষতিগ্রস্থ হবার কারণ হ'ল এনসিই সর্বাধিক সম্ভাবনা অনুমানের (এমএলই) প্রায় যখন বাস্তব ডেটার সাথে শব্দের অনুপাত বাড়ে।

টেনসরফ্লো বাস্তবায়ন অনুশীলনে কাজ করে। মূলত, প্রতিটি তথ্য জন্য(এক্স,Y), Y ডেটা থেকে লেবেলযুক্ত শ্রেণি, টেনসরফ্লো এনসিইর ক্ষতির নমুনা শব্দ বিতরণ থেকে ক্লাস। আমরা প্রতিটি ক্লাসের জন্য ডিজিটের একটি বিশেষ সংস্করণ গণনা করি (তথ্য +1 থেকে 1 শব্দ বিতরণ থেকে) সমীকরণ ব্যবহার করে

Δগুলিθ0(W,)=গুলিθ0(W,)-লগপিএন(W)

কোথায় পিএন(W)শব্দ বিতরণ হয়। প্রতিটি ক্লাসের জন্য অঙ্কগুলি গণনা করে, টেনসরফ্লো প্রতিটি ক্লাসের বাইনারি শ্রেণিবদ্ধকরণের জন্য সফটম্যাক্স ক্ষতি (লজিস্টিক রিগ্রেশনে লগ ক্ষতি) গণনা করতে অঙ্কগুলি ব্যবহার করে এবং এই ক্ষতিগুলিকে চূড়ান্ত এনসিইর ক্ষতি হিসাবে যুক্ত করে।

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

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

https://leimao.github.io/article/Noise-Contrastive-Estimation/

কলেজের সোফমোর বা তদূর্ধের লোকেরা এটি বুঝতে সক্ষম হওয়া উচিত।


1

Basically, this is selecting a sample from the true distribution which consists of the true class and some other noisy class labels. Then taking the softmax over it.

This is based on sampling words from true distribution and noise distribution.

Here the basic Idea is to train logistic regression classifier which can separate the samples obtained from true distribution and sample obtained from noise distribution. Remember When we are talking about the samples obtained from the true distribution we are talking about only one sample which is the true class obtained from the model distribution.

Here I have explained about NCE loss and how it differ from the NCE loss .

Noise Contrastive Estimation : Solution for expensive Softmax .


1
While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes.
tuomastik

0

In simple words, the NCE is just a multi-label classification loss function with only 1 positive label and k negative ones.

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