امبدینگ (Embedding) چیست؟

امبدینگ (Embedding) چیست؟

در یادگیری ماشینی، امبدینگ چیست؟

امبدینگ‌ها نمایش‌های عددی از اشیاء دنیای واقعی هستند که سیستم‌های یادگیری ماشین (ML) و هوش مصنوعی (AI) از آن‌ها برای درک حوزه‌های دانش پیچیده مانند انسان استفاده می‌کنند. به عنوان مثال، الگوریتم‌های محاسباتی درک می‌کنند که تفاوت بین ۲ و ۳ برابر ۱ است، که نشان‌دهنده رابطه نزدیک بین ۲ و ۳ در مقایسه با ۲ و ۱۰۰ است. با این حال، داده‌های دنیای واقعی شامل روابط پیچیده‌تری هستند. برای مثال، لانه پرنده و لانه شیر جفت‌های مشابهی هستند، در حالی که روز و شب اصطلاحات متضاد هستند. امبدینگ‌ها اشیاء دنیای واقعی را به نمایش‌های ریاضی پیچیده‌ای تبدیل می‌کنند که ویژگی‌های ذاتی و روابط بین داده‌های دنیای واقعی را ثبت می‌کنند. کل این فرآیند خودکار است و سیستم‌های هوش مصنوعی در طول آموزش، امبدینگ‌ها را خودشان ایجاد می‌کنند و در صورت نیاز از آن‌ها برای انجام وظایف جدید استفاده می‌کنند.

چرا امبدینگ‌ها مهم هستند؟

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

کاهش ابعاد داده

دانشمندان داده از امبدینگ‌ها برای نمایش داده‌های با ابعاد بالا در یک فضای با ابعاد پایین استفاده می‌کنند. در علم داده، اصطلاح “بعد” معمولاً به یک ویژگی یا صفت داده اشاره دارد. داده‌های با ابعاد بالاتر در هوش مصنوعی به مجموعه‌داده‌هایی با ویژگی‌ها یا صفات بسیاری اشاره دارد که هر نقطه داده را تعریف می‌کنند. این می‌تواند به معنای ده‌ها، صدها یا حتی هزاران بعد باشد. به عنوان مثال، یک تصویر را می‌توان داده‌های با ابعاد بالا در نظر گرفت زیرا مقدار رنگ هر پیکسل یک بعد جداگانه است.هنگامی که مدل‌های یادگیری عمیق با داده‌های با ابعاد بالا مواجه می‌شوند، برای یادگیری، تجزیه و تحلیل و استنباط دقیق به قدرت محاسباتی و زمان بیشتری نیاز دارند. امبدینگ‌ها با شناسایی شباهت‌ها و الگوها بین ویژگی‌های مختلف، تعداد ابعاد را کاهش می‌دهند. این امر متعاقباً منابع محاسباتی و زمان مورد نیاز برای پردازش داده‌های خام را کاهش می‌دهد.

آموزش مدل‌های زبان بزرگ

امبدینگ‌ها کیفیت داده‌ها را هنگام آموزش مدل‌های زبان بزرگ (LLM) بهبود می‌بخشند. به عنوان مثال، دانشمندان داده از امبدینگ‌ها برای پاکسازی داده‌های آموزشی از بی‌نظمی‌هایی که بر یادگیری مدل تأثیر می‌گذارند، استفاده می‌کنند. مهندسان ML همچنین می‌توانند با افزودن امبدینگ‌های جدید برای یادگیری انتقالی، مدل‌های از پیش آموزش‌دیده را دوباره مورد استفاده قرار دهند، که مستلزم اصلاح مدل پایه با مجموعه‌داده‌های جدید است. با استفاده از امبدینگ‌ها، مهندسان می‌توانند یک مدل را برای مجموعه‌داده‌های سفارشی از دنیای واقعی تنظیم دقیق کنند.

ساخت برنامه‌های نوآورانه

امبدینگ‌ها برنامه‌های جدید یادگیری عمیق و هوش مصنوعی مولد (generative AI) را فعال می‌کنند. تکنیک‌های مختلف امبدینگ که در معماری شبکه عصبی به کار می‌روند، امکان توسعه، آموزش و استقرار مدل‌های هوش مصنوعی دقیق را در زمینه‌ها و کاربردهای مختلف فراهم می‌کنند. به عنوان مثال:

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

بردارها در امبدینگ چیست؟

مدل‌های ML نمی‌توانند اطلاعات را به شکل خام و قابل فهم تفسیر کنند و به داده‌های عددی به عنوان ورودی نیاز دارند. آن‌ها از امبدینگ‌های شبکه عصبی برای تبدیل اطلاعات دنیای واقعی به نمایش‌های عددی به نام بردار استفاده می‌کنند. بردارها مقادیر عددی هستند که اطلاعات را در یک فضای چند بعدی نشان می‌دهند. آن‌ها به مدل‌های ML کمک می‌کنند تا شباهت‌ها را در بین موارد پراکنده پیدا کنند.

هر شیئی که یک مدل ML از آن یاد می‌گیرد، دارای ویژگی‌ها یا خصوصیات مختلفی است. به عنوان یک مثال ساده، فیلم‌ها و برنامه‌های تلویزیونی زیر را در نظر بگیرید. هر کدام با ژانر، نوع و سال انتشار مشخص می‌شوند.

  • The Conference (ترسناک، ۲۰۲۳، فیلم)
  • Upload (کمدی، ۲۰۲۳، سریال تلویزیونی، فصل ۳)
  • Tales from the Crypt (ترسناک، ۱۹۸۹، سریال تلویزیونی، فصل ۷)
  • Dream Scenario (کمدی-ترسناک، ۲۰۲۳، فیلم)

مدل‌های ML می‌توانند متغیرهای عددی مانند سال‌ها را تفسیر کنند، اما نمی‌توانند متغیرهای غیر عددی مانند ژانر، نوع، قسمت‌ها و فصل‌های کلی را مقایسه کنند. بردارهای امبدینگ داده‌های غیر عددی را به مجموعه‌ای از مقادیری تبدیل می‌کنند که مدل‌های ML می‌توانند آن‌ها را درک کرده و با آن‌ها ارتباط برقرار کنند. به عنوان مثال، در زیر یک نمایش فرضی از برنامه‌های تلویزیونی ذکر شده قبلی آورده شده است.

  • The Conference (1.2، ۲۰۲۳، ۲۰.۰)
  • Upload (2.3، ۲۰۲۳، ۳۵.۵)
  • Tales from the Crypt (1.2، ۱۹۸۹، ۳۶.۷)
  • Dream Scenario (1.8، ۲۰۲۳، ۲۰.۰)

عدد اول در بردار مربوط به یک ژانر خاص است. یک مدل ML متوجه می‌شود که The Conference و Tales from the Crypt در یک ژانر مشترک هستند. به همین ترتیب، مدل بر اساس عدد سوم، که نشان‌دهنده قالب، فصل‌ها و قسمت‌ها است، روابط بیشتری بین Upload و Tales from the Crypt پیدا می‌کند. با معرفی متغیرهای بیشتر، می‌توانید مدل را برای فشرده‌سازی اطلاعات بیشتر در یک فضای برداری کوچکتر اصلاح کنید.

امبدینگ‌ها چگونه کار می‌کنند؟

امبدینگ‌ها داده‌های خام را به مقادیر پیوسته‌ای تبدیل می‌کنند که مدل‌های ML می‌توانند آن‌ها را تفسیر کنند. به‌طور مرسوم، مدل‌های ML از رمزگذاری یک‌داغ (one-hot encoding) برای نگاشت متغیرهای دسته‌ای به اشکالی که بتوانند از آن‌ها یاد بگیرند، استفاده می‌کنند. روش رمزگذاری هر دسته را به ردیف‌ها و ستون‌ها تقسیم می‌کند و مقادیر باینری را به آن‌ها اختصاص می‌دهد. دسته‌های زیر از محصولات و قیمت آن‌ها را در نظر بگیرید.

میوه قیمت
سیب ۵.۰۰
پرتقال ۷.۰۰
هویج ۱۰.۰۰

نمایش مقادیر با رمزگذاری یک‌داغ منجر به جدول زیر می‌شود.

سیب پرتقال گلابی قیمت
۱ ۰ ۰ ۵.۰۰
۰ ۱ ۰ ۷.۰۰
۰ ۰ ۱ ۱۰.۰۰

این جدول به صورت ریاضی به عنوان بردارهای [۱,۰,۰,۵.۰۰]، [۰,۱,۰,۷.۰۰] و [۰,۰,۱,۱۰.۰۰] نشان داده می‌شود.

رمزگذاری یک‌داغ مقادیر ابعادی ۰ و ۱ را بدون ارائه اطلاعاتی که به مدل‌ها کمک کند تا اشیاء مختلف را به هم مرتبط کنند، گسترش می‌دهد. به عنوان مثال، مدل نمی‌تواند شباهت‌هایی بین سیب و پرتقال پیدا کند، با وجود اینکه هر دو میوه هستند، و همچنین نمی‌تواند پرتقال و هویج را به عنوان میوه و سبزیجات از هم تشخیص دهد. با افزودن دسته‌های بیشتر به لیست، رمزگذاری منجر به متغیرهای پراکنده با مقادیر خالی بسیاری می‌شود که فضای حافظه عظیمی را مصرف می‌کنند.امبدینگ‌ها اشیاء را با نمایش شباهت‌های بین اشیاء با مقادیر عددی، به یک فضای با ابعاد پایین برداری می‌کنند. امبدینگ‌های شبکه عصبی اطمینان می‌دهند که با گسترش ویژگی‌های ورودی، تعداد ابعاد قابل مدیریت باقی می‌ماند. ویژگی‌های ورودی، صفات اشیاء خاصی هستند که یک الگوریتم ML وظیفه تجزیه و تحلیل آن‌ها را دارد. کاهش ابعاد به امبدینگ‌ها اجازه می‌دهد تا اطلاعاتی را که مدل‌های ML برای یافتن شباهت‌ها و تفاوت‌ها از داده‌های ورودی استفاده می‌کنند، حفظ کنند. دانشمندان داده همچنین می‌توانند امبدینگ‌ها را در یک فضای دو بعدی تجسم کنند تا روابط اشیاء توزیع شده را بهتر درک کنند.

مدل‌های امبدینگ چیست؟

مدل‌های امبدینگ الگوریتم‌هایی هستند که برای کپسوله کردن اطلاعات در نمایش‌های متراکم در یک فضای چند بعدی آموزش داده شده‌اند. دانشمندان داده از مدل‌های امبدینگ برای فعال کردن مدل‌های ML برای درک و استدلال با داده‌های با ابعاد بالا استفاده می‌کنند. در زیر مدل‌های امبدینگ رایج مورد استفاده در برنامه‌های ML آورده شده است.

تجزیه و تحلیل مولفه اصلی

تجزیه و تحلیل مولفه اصلی (PCA) یک تکنیک کاهش ابعاد است که انواع داده‌های پیچیده را به بردارهای با ابعاد پایین کاهش می‌دهد. این روش نقاط داده با شباهت‌ها را پیدا می‌کند و آن‌ها را در بردارهای امبدینگ فشرده می‌کند که داده‌های اصلی را منعکس می‌کنند. در حالی که PCA به مدل‌ها اجازه می‌دهد تا داده‌های خام را به طور کارآمدتری پردازش کنند، ممکن است در طول پردازش، اطلاعات از بین برود.

تجزیه مقادیر منفرد

تجزیه مقادیر منفرد (SVD) یک مدل امبدینگ است که یک ماتریس را به ماتریس‌های منفرد خود تبدیل می‌کند. ماتریس‌های حاصل اطلاعات اصلی را حفظ می‌کنند و در عین حال به مدل‌ها اجازه می‌دهند تا روابط معنایی داده‌هایی را که نشان می‌دهند، بهتر درک کنند. دانشمندان داده از SVD برای فعال کردن وظایف مختلف ML، از جمله فشرده‌سازی تصویر، طبقه‌بندی متن و توصیه‌گری استفاده می‌کنند.

Word2Vec

Word2Vec یک الگوریتم ML است که برای مرتبط کردن کلمات و نمایش آن‌ها در فضای امبدینگ آموزش داده شده است. دانشمندان داده مدل Word2Vec را با مجموعه‌داده‌های متنی عظیم تغذیه می‌کنند تا درک زبان طبیعی را فعال کنند. این مدل با در نظر گرفتن زمینه و روابط معنایی کلمات، شباهت‌ها را در کلمات پیدا می‌کند.

دو نوع مختلف Word2Vec وجود دارد: مدل کیسه پیوسته کلمات (CBOW) و مدل پرش‌گرام (Skip-gram). CBOW به مدل اجازه می‌دهد تا یک کلمه را از زمینه داده شده پیش‌بینی کند، در حالی که Skip-gram زمینه را از یک کلمه داده شده استخراج می‌کند. در حالی که Word2Vec یک تکنیک امبدینگ کلمه موثر است، نمی‌تواند تفاوت‌های متنی یک کلمه یکسان که برای بیان معانی مختلف استفاده می‌شود را به طور دقیق تشخیص دهد.

BERT

BERT یک مدل زبان مبتنی بر ترانسفورمر است که با مجموعه‌داده‌های عظیم آموزش داده شده است تا زبان‌ها را مانند انسان درک کند. مانند Word2Vec، BERT می‌تواند امبدینگ‌های کلمه را از داده‌های ورودی که با آن آموزش داده شده است، ایجاد کند. علاوه بر این، BERT می‌تواند معانی متنی کلمات را هنگام استفاده در عبارات مختلف تشخیص دهد. به عنوان مثال، BERT امبدینگ‌های مختلفی برای کلمه “بازی” در عبارات “من به یک نمایش رفتم” و “من دوست دارم بازی کنم” ایجاد می‌کند.

امبدینگ‌ها چگونه ایجاد می‌شوند؟

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

  1. مهندسان شبکه عصبی را با برخی نمونه‌های برداری شده که به صورت دستی تهیه شده‌اند، تغذیه می‌کنند.
  2. شبکه عصبی از الگوهای کشف شده در نمونه یاد می‌گیرد و از این دانش برای پیش‌بینی دقیق از داده‌های دیده نشده استفاده می‌کند.
  3. گاهی اوقات، مهندسان ممکن است نیاز به تنظیم دقیق مدل داشته باشند تا اطمینان حاصل شود که ویژگی‌های ورودی را در فضای ابعادی مناسب توزیع می‌کند.
  4. با گذشت زمان، امبدینگ‌ها به طور مستقل عمل می‌کنند و به مدل‌های ML اجازه می‌دهند تا توصیه‌ها را از نمایش‌های برداری شده تولید کنند.
  5. مهندسان به نظارت بر عملکرد امبدینگ ادامه می‌دهند و با داده‌های جدید آن را تنظیم دقیق می‌کنند.
زیرو-ای‌تی‌ال (Zero-ETL) چیست؟
فایل‌های لاگ (Log Files) چه هستند؟

دیدگاهتان را بنویسید

سبد خرید
علاقه‌مندی‌ها
مشاهدات اخیر
دسته بندی ها