محاسبات فرابعدی

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

## روند
داده ‌ها از فضای ورودی به فضای HD پراکنده تحت تابع رمزگذاری φ: X → H نگاشت می‌شوند. نمایش‌هایHD در ساختارهای داده‌ای ذخیره می‌شوند که تحت تأثیر خرابی هایی بر اثر نویز/خطاهای سخت‌افزاری قرار دارند. نمایش‌های HD نویزی/خراب هنوز می‌توانند به عنوان ورودی برای یادگیری، طبقه‌بندی و غیره عمل کنند. همچنین می‌توان آن‌ها را رمزگشایی کرد تا داده‌های ورودی بازیابی شوند. H معمولا به اعداد صحیح محدود به دامنه  (-v-v) محدود می‌شود.

این مشابه با فرآیند یادگیری انجام شده توسط سیستم بویایی مگس میوه است. ورودی یک بردار تقریباً 50 بعدی است که مربوط به انواع نورون‌های گیرنده بویایی است. نمایش HD از ~2000 بعد استفاده می‌کند.

## شفافیت
جبر HDC چگونگی و چرایی تصمیم‌گیری سیستم‌ها را، برخلاف شبکه‌های عصبی مصنوعی آشکار می‌کند. اشیاء فیزیکی را می‌توان به هایپر بردارها نگاشت کرد تا توسط جبر پردازش شوند.

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

تیم‌های مختلف شتاب ‌دهنده‌های سخت‌افزاری کم ‌مصرف HDC را توسعه داده‌اند.

دستگاه‌ های ممریستیوی در مقیاس نانو می‌توانند برای انجام محاسبات مورد استفاده قرار گیرند. یک سیستم محاسباتی فرابعدی درون حافظه می‌تواند عملیات را بر روی دو موتور متقاطع ممریستی به همراه مدارهای دیجیتال CMOS جانبی پیاده‌سازی کند. آزمایش‌هایی با استفاده از 760,000 دستگاه حافظه با قابلیت تغییر فاز که محاسبات آنالوگ درون حافظه را انجام می‌دهند، به دقت زیادی در مقایسه با پیاده ‌سازی‌های نرم‌افزاری دست یافتند.

## خطاها
HDC نسبت به خطاهایی مانند خطای بیت منفرد (تغییر 0 به 1 یا بالعکس) که توسط مکانیزم‌های تصحیح خطا از دست رفته است، مقاوم است. حذف چنین مکانیزم‌های تصحیح خطا می‌تواند تا 25٪ از هزینه محاسباتی را کاهش دهد. این امکان‌پذیر است زیرا چنین خطاهایی نتیجه را "نزدیک" به بردار صحیح باقی می‌گذارند. استدلال با استفاده از بردارها به خطر نمی‌افتد. HDC حداقل 10 برابر نسبت به شبکه‌های عصبی مصنوعی سنتی که خودشان نیز چندین برابر مقاوم‌ تر از محاسبات سنتی هستند به خطا مقاوم‌ تر است.

## مثال
یک مثال ساده تصاویر حاوی دایره‌ های سیاه و مربع‌ های سفید است. هایپر بردارها می‌توانند متغیرهای **شکل** و **رنگ** را نشان دهند و مقادیر مربوطه را در خود نگه دارند: **دایره، مربع، سیاه** و **سفید**. هایپر بردارهای مقید می‌توانند جفت‌های **سیاه** و **دایره** و غیره را در خود نگه دارند.

## عمود
فضای با ابعاد بالا به بسیاری از بردارهای متعامد اجازه می‌دهد. با این حال، اگر به جای آن به بردارها اجازه داده شود که تقریباً متعامد باشند، تعداد بردارهای متمایز در فضای با ابعاد بالا بسیار بیشتر خواهد بود.

HDC از مفهوم نمایش‌های توزیع‌شده استفاده می‌کند، که در آن یک شیء یا مشاهده به جای یک ثابت واحد، با الگویی از مقادیر در ابعاد متعدد نمایش داده می‌شود.

## عملیات
HDC می تواند هایپر بردارها را با استفاده از عملیات فضای برداری مشخص به هایپر بردارهای جدید ترکیب کند.

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

پیوند، توپ‌های نقطه‌ای مرتب ایجاد می‌کند و همچنین تابعی ⊗ : H × H → H است. ورودی دو نقطه در H است، در حالی که خروجی یک نقطه متفاوت است. ضرب بردار SHAPE با CIRCLE، این دو را به هم متصل می‌کند و ایده “SHAPE is CIRCLE” را نشان می‌دهد. این بردار تقریباً متعامد با SHAPE و CIRCLE است. مؤلفه‌ها را می‌توان از بردار بازیابی کرد (مثلاً به سؤال "آیا شکل یک دایره است؟" پاسخ دهید).

جمع، برداری ایجاد می‌کند که مفاهیم را ترکیب می‌کند. به عنوان مثال، اضافه کردن “SHAPE is CIRCLE” به “COLOR is RED” برداری ایجاد می‌کند که یک دایره قرمز را نشان می‌دهد.

جایگشت عناصر بردار را مرتب می‌کند. به عنوان مثال، جایگشت یک بردار سه‌بعدی با مقادیر برچسب‌گذاری شده x، y و z می‌تواند x را با y، y را با z و z را با x تعویض کند. رویدادهای نشان داده شده توسط هایپر بردارهای A و B را می‌توان با هم جمع کرد و یک بردار تشکیل داد، اما این ترتیب رویداد را قربانی می‌کند. ترکیب جمع با جایگشت ترتیب را حفظ می‌کند؛ ترتیب رویداد را می‌توان با معکوس کردن عملیات بازیابی کرد.

بسته‌بندی، مجموعه‌ای از عناصر را در H به عنوان تابع ⊕ : H × H → H ترکیب می‌کند. ورودی دو نقطه در H است و خروجی یک نقطه سوم است که شبیه به هر دو است.

## تاریخچه
معماری‌های نمادین برداری (VSA) رویکردی سیستماتیک برای نمایش نمادهای با ابعاد بالا ارائه کردند تا از عملیات‌هایی مانند ایجاد روابط پشتیبانی کنند. نمونه‌های اولیه شامل نمایش‌های کاهش‌یافته هولوگرافیک، کدهای پراکنده دودویی و اتصال ماتریسی اصطلاحات افزایشی است. محاسبات ابربعدی (HD) این مدل‌ها را پیشرفت داد، به ویژه با تأکید بر کارایی سخت‌افزار.

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

در سال 2023، عباس رحیمی و همکارانش از HDC با شبکه‌های عصبی برای حل ماتریس‌های پیشرونده ریون استفاده کردند.

در سال 2023، مایک هِدز و همکارانش تحت نظارت پروفسورهای گیوارگیس، نیکولائو و ویدنبوم یک کتابخانه محاسبات ابربعدی ایجاد کردند که بر روی پایتورچ ساخته شده است.

## کاربرد
**تشخیص تصویر**

الگوریتم‌های HDC می‌توانند وظایفی مانند طبقه‌بندی تصاویر را که مدت‌هاست توسط شبکه‌های عصبی عمیق انجام می‌شود، تکرار کنند.

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

طبقه‌بندی یک تصویر بدون برچسب شامل ایجاد یک هایپر بردار برای آن و مقایسه آن با هایپر بردارهای مرجع است. این مقایسه رقمی را که بیشترین شباهت را با تصویر جدید دارد شناسایی می‌کند.

با توجه به مجموعه نمونه برچسب‌گذاری شده S = \{(x_{i}, y_{i})\}_{i=1}^N, \ {\scriptstyle\text{where}} \ x_{i} \in X \ {\scriptstyle\text{and}} \ y_{i} \in \{c_{i}\}_{i=1}^K کلاس یک *x<sub>i</sub>* خاص است.

با توجه به سوال xq ∈ X ، نزدیک‌ترین نمونه اولیه را می‌توان با k^* = _{k \in 1,...,K}^{argmax} \ p(\phi(x_{q})), \phi(c_{k})) پیدا کرد. معیار شباهت ρ معمولاً ضرب نقطه‌ای است.

**استدلال**

هایپر بردارها همچنین می‌توانند برای استدلال استفاده شوند. ماتریس‌های پیشرونده ریون تصاویری از اشیاء را در یک شبکه نشان می‌دهد. یک موقعیت در شبکه خالی است. تست این است که از بین تصاویر کاندید، تصویری را انتخاب کنید که بهترین تناسب را دارد.

یک دیکشنری از هایپر بردارها اشیاء فردی را نشان می‌دهد. هر هایپر بردار یک مفهوم شیء را با ویژگی‌های آن نشان می‌دهد. برای هر تصویر آزمایشی، یک شبکه عصبی یک هایپر بردار دودویی (مقادیر +1 یا -1) تولید می‌کند که تا حد ممکن به برخی از مجموعه‌های هایپر بردارهای دیکشنری نزدیک باشد. بنابراین هایپر بردار تولید شده همه اشیاء و ویژگی‌های آن‌ها را در تصویر توصیف می‌کند.

الگوریتم دیگر توزیع‌های احتمالی را برای تعداد اشیاء در هر تصویر و ویژگی‌های آن‌ها ایجاد می‌کند. این توزیع‌های احتمالی ویژگی‌های احتمالی هر دو زمینه و تصاویر کاندید را توصیف می‌کنند. آن‌ها نیز به هایپر بردارها تبدیل می‌شوند، سپس جبر محتمل‌ترین تصویر کاندید برای پر کردن شکاف را پیش‌بینی می‌کند.

این رویکرد به دقت 88% در یک مجموعه مسئله دست یافت و راه حل‌های فقط شبکه عصبی را که 61% دقیق بودند شکست داد. برای شبکه‌های 3 در 3، سیستم 250 برابر سریع‌تر از روشی بود که از منطق نمادین برای استدلال استفاده می‌کرد، به دلیل اندازه کتاب قانون مرتبط.

**دیگر**

کاربردهای دیگر شامل پردازش سیگنال‌های زیستی، پردازش زبان طبیعی و رباتیک است.

## همچنین ببینید
ماشین بردار پشتیبانی


رده:یادگیری عمیق
رده:شبکه‌های عصبی مصنوعی