بلاگ

پایگـاه اطلاعات علمی جهاد دانشگاهی

جستجوی حریصانه


جستجوی حریصانه کلمه را با بیشترین احتمال به عنوان کلمه بعدی خود انتخاب می کند:

) wt = argmaxwP (w | w1: t − 1) در هر مرحله t. نمودار زیر جستجوی حریصانه را نشان می دهد.

روش تولید متن خودکار

 

با شروع از کلمه "The" ، الگوریتم حریصانه کلمه بعدی با بیشترین احتمال "خوب" و غیره را انتخاب می کند ، به طوری که توالی کلمه تولید شده نهایی "The" ، "خوب" ، "زن" است که احتمال کلی 0.5×0.4=0.2

در ادامه توالی کلمات با استفاده از GPT2 در زمینه ("I", "enjoy", "walking", "with", "my", "cute", "dog" (ایجاد خواهیم کرد.

 

 

اولین متن کوتاه خود را با GPT2 تولید کرده ایم. کلمات تولید شده پیرو متن منطقی هستند، اما مدل به سرعت شروع به تکرار می کند! به طور کلی این یک مسئله بسیار شایع در تولید زبان است و به نظر می رسد در جستجوی حریص و پرتو حتی بیشتر است.

برای دریافت آخرین‌های بلاگ و کارگاه‌های مرکز اطلاعات علمی در خبرنامه عضو شوید.

اشکال عمده جستجوی حریصانه این است که کلمات با احتمال زیاد پنهان شده در پشت یک کلمه احتمال کم را از دست می دهد همانطور که در طرح بالا مشاهده می شود:

کلمه "has" با احتمال زیاد شرطی آن 0.9 در پشت کلمه "dog" پنهان شده است ، که تنها دومین احتمال شرطی بالاترین را دارد ، بنابراین جستجوی حریصانه کلمه دنباله کلمه "The" ، "dog" ، "has" را از دست می دهد .

برای رفع این مسئله از جتجوی پرتو استفاده می کنیم.

Beam search

جستجوی پرتو با حفظ محتمل ترین تعداد فرضیه در هر مرحله و در نهایت انتخاب فرضیه ای که بالاترین احتمال را دارد ، خطر از دست رفتن توالی کلمات با احتمال زیاد پنهان را کاهش می دهد. num_beams = 2 تصویر کنیم:

 

در مرحله اول ، علاوه بر محتمل ترین فرضیه "woman" ، "The" ، جستجوی پرتو همچنین دومین  فرضیه "dog" به احتمال زیاد را دنبال می کند. در مرحله 2 ، جستجوی پرتو دریافت که دنباله کلمه "The" ، "Dog" ، "has" با 0.36 احتمال بیشتری نسبت به "The" ، "nice" ، "woman" دارد که دارای 0.2 است.جستجوی پرتو همیشه یک توالی خروجی با احتمال بالاتر از جستجوی حریصانه پیدا می کند ، اما تضمین نمی کند که محتمل ترین نتیجه را پیدا کند.

شروع پایتون در anaconda

می توان از جستجوی پرتو در ترانسفورماتورها استفاده کرد. num_beams> 1 و early_stopping = True را تنظیم می کنیم تا وقتی تمام فرضیه های پرتو به رمز EOS رسید ، تولید به پایان برسد.

بازهم تکرارهای توالی کلمات یکسان است.

یک راه حل ساده n-گرم (توالی کلمه n کلمات) است که توسط Paulus و همکاران معرفی شده است. (2017) و کلاین و همکاران (2017) رایج ترین مجازات [1]n-gram با تعیین دستی کلمات بعدی که می توانند n-گرم قبلاً دیده شده را روی 0 ایجاد کنند ، اطمینان حاصل می کند که هیچ n-gram دو بار ظاهر نمی شود.

با تنظیم no_repeat_ngram_size = 2 آن را امتحان کنیم تا هیچ 2-gram دو بار ظاهر نشود:

 

اخیراً چند دلیل ارائه شده است که چرا جستجوی پرتو بهترین گزینه ممکن نیست:

  • جستجوی پرتو می تواند در کارهایی که طول نسل مورد نظر کم و بیش قابل پیش بینی است مانند ترجمه یا خلاصه سازی ماشینی بسیار خوب کار کند - به موری و همکاران مراجعه کنید. (2018) و یانگ و همکاران (2018)
  • جستجوی پرتو به شدت از تولید تکراری رنج می برد. کنترل این امر به ویژه با استفاده از n گرم یاpenalties های دیگر در تولید متن بسیار دشوار است ، زیرا یافتن یک معامله خوب بین "بدون تکرار" اجباری و تکرار چرخه های n-گرم یکسان نیاز به ریزکاری زیادی دارد.
  • همانطور که در آری هولتزمن [2]و همکاران بحث شد. (2019) ، زبان انسانی با کیفیت بالا توزیع احتمالات بالا را در کلمات بعدی دنبال نمی کند. به عبارت دیگر ، ما به عنوان انسان ، می خواهیم متن تولید شده ما را غافلگیر کند و خسته کننده / قابل پیش بینی نباشد. نویسندگان با طرح این احتمال ، مدلی را به متن انسان در مقابل آنچه جستجوی پرتو انجام می دهد ، به خوبی نشان می دهند.

Sampling

در ابتدایی ترین شکل ، نمونه گیری به معنای انتخاب تصادفی کلمه بعدی wt با توجه به توزیع احتمال شرطی آن است:

 (wtP (w | w1: t – 1)

نمودار زیر language generationرا هنگام نمونه برداری تجسم می کند.

روش تولید متن خودکار

 

 

آشکار می شود که تولید زبان با استفاده از نمونه گیری دیگر قطعی نیست. کلمه "اتومبیل" از توزیع احتمال شرطی 

 P (w | "The")

نمونه برداری می شود و به دنبال نمونه

 "drive" از P(w|"The","car")

در ترانسفورماتورها ، do_sample = True را انتخاب کرده و نمونه برداری Top-K را غیرفعال می کنیم از طریق top_k = 0. در زیر ، random_seed = 0 را برای اهداف تصویرسازی اصلاح خواهیم کرد. می توانید seed_seed را تغییر دهید.

روش تولید متن خودکار

متن خوب به نظر می رسد - اما هنگام بررسی دقیق ، چندان منسجم نیست. دسته سه گرمی جدید دست و مهار بته محلی بسیار عجیب است و به نظر نمی رسد که توسط انسان نوشته شده باشد. این مسئله بزرگ در هنگام نمونه برداری از توالی کلمات است: مدلها غالباً ناخوشایند تولید می کنند.

هشتمین کارگاه آموزشی یادگیری عمیق (deep learning) (مجازی)

یک ترفند این است که توزیع P (w | w1: t-1) را واضح ترکنید (با افزایش احتمال کلمات با احتمال زیاد و کاهش احتمال کلمات با احتمال کم) با کاهش دمای به اصطلاح softmax.

تصویری از کاربرد temperature در مثال ما از بالا می تواند به صورت زیر باشد.

روش تولید متن خودکار
 

 

توزیع کلمه بعدی شرطی مرحله t = 1 بسیار واضح تر می شود و تقریباً فرصتی برای انتخاب کلمه "ماشین" ایجاد نمی شود.

 

[1] penalty

[2] Ari Holtzman

لینک کوتاه

لینک کوتاه

بازگشت به بالا

پست های مرتبط

ابزار تحلیل شخصیت بر اساس واژگان

تاریخ: 1399/10/24

بازدید: 2954

1399

زمان مطالعه: 5 دقیقه دقیقه

معرفی AnalyzeWords

Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

ماتریس تحول چیست؟

تاریخ: 1399/12/23

بازدید: 3071

1399

زمان مطالعه: 5 دقیقه دقیقه

Transition Matrix

Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

دسترسی رایگان به مجموعه داده ها

تاریخ: 1401/03/01

بازدید: 7595

1401

زمان مطالعه: 3 دقیقه

در فرآیند یادگیری ماشین ، محقق برای انجام کارهای مورد نظر خود نیاز به مجموعه داده استاندارد دارد . در این پست به معرفی یکی از پایگاه هایی که به طور رایگان ، مجموعه داده را در اختیار محققان قرار می دهد می پردازیم .

Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

چند مجموعه یا خورجین

تاریخ: 1400/04/01

بازدید: 2166

1400

زمان مطالعه: 5 دقیقه دقیقه

آشنایی با ریاضی

Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

چگونه در بیب اکسل ماتریس هم آیندی ایجاد کنیم؟

تاریخ: 1400/01/14

بازدید: 3087

1400

زمان مطالعه: 5 دقیقه دقیقه

نرم افزار بیب اکسل

Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

بیشینه آنتروپی یک توزیع چقدر است؟

تاریخ: 1401/01/17

بازدید: 3806

1401

زمان مطالعه: 5 دقیقه دقیقه

مفهوم آنتروپی ، در مقاله ای که در سال 1948 توسط شانون مطرح شد .

Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

نایو بیز چیست؟

تاریخ: 1401/04/21

بازدید: 4017

1401

زمان مطالعه: 2 دقیقه

یکی از قوانین مهم احتمال، قانون احتمال "بیز" است که توسط فردی به نام بیز مطرح شد.

Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

زیرشمولی و فراشملوی

تاریخ: 1400/01/16

بازدید: 1922

1400

زمان مطالعه: 5 دقیقه دقیقه

Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

LSTM چیست؟

تاریخ: 1401/02/24

بازدید: 6992

1401

زمان مطالعه: 5 دقیقه

Long short-term memory (LSTM) ، یک شبکه عصبی مصنوعی است که در حوزه های موضوعی هوش مصنوعی و یادگیری عمیق به کار گرفته می شود.

Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins

اینفوگرافی استفاده از روشهای یادگیری عمیق در تحلیل احساس

تاریخ: 1397/06/13

بازدید: 1441

1397

زمان مطالعه: 5 دقیقه دقیقه

اینفوگرافی

Scientific Information Database (SID) - Trusted Source for Research and Academic Resourcesمدرس

@ins