محققان امآیتی تراشه ویژهای طراحی کردهاند که سرعت محاسبات شبکههای عصبی را ۳ تا ۷ برابر افزایش و در عین حال میزان مصرف توان را تا ۹۵ درصد کاهش میدهد.
چنین دستاوردی امکان پیادهسازی شبکههای عصبی محلی و بینیاز از سرورهای راه دور را فراهم خواهد کرد. در حالت معمول بهدلیل اینکه واحدهای حافظه و پردازش روی تراشهها از یکدیگر جدا هستند، دادهها باید بین این دو بخش از تراشه جابهجا شوند. از آنجا که الگوریتمهای یادگیری ماشین نیازمند محاسبات زیادی هستند، این رفت و آمد دادهها عامل مهمی در مصرف توان بالای این شبکههای عصبی به حساب میآیند. با توجه به اینکه محاسبات ریاضی مربوط به این الگوریتمها در حقیقت یک عمل ضرب داخلی است، این محققان در پروژه خود سعی کردهاند پاسخی برای این پرسش بیابند که آیا میتوان ضرب داخلی را در خود حافظه انجام داد، به گونهای که نیازی به جابهجایی داده در تراشه وجود نداشته باشد؟
شبکه عصبی مجموعهای از لایهها است که هریک از این لایهها از اجزای پردازشی یا گرهها تشکیل شدهاند. هر گره در یک لایه، دادههایی را از چندین گره موجود در لایه قبل دریافت کرده و آنها را در یک عدد (وزن اتصالات) ضرب و این حاصل ضربها را با هم جمع میکند. این عمل ضرب و جمع در ریاضیات به ضرب داخلی معروف است و اگر حاصل این ضرب از مقدار آستانهای فراتر رود، نتایج برای چندین گره در لایه بعدی فرستاده میشوند. این در حقیقت یک مدل ساده دیجیتالی از مغز است.
روند این محاسبات در یک شبکه عصبی مصنوعی به این ترتیب است: برداشت وزن مورد نظر از حافظه، برداشت داده متناظر از حافظه، ضرب این دو، ذخیرهسازی حاصل این ضرب و تکرار این مراحل برای همه ورودیهای گره. در شبکههای عصبی هزاران و حتی میلیونها گره وجود دارد و در نتیجه دادهها بین واحدهای پردازشی و ذخیرهسازی رفت و آمد زیادی میکنند که یکی از آثار این رفت و آمدها، همان طور که گفته شد، افزایش مصرف توان است.
محققان امآیتی سعی کردهاند در طراحی تراشه جدید خود به طور دقیقتری از مغز تقلید کنند. در این تراشه، ورودی هر گره به یک ولتاژ الکتریکی (یک سیگنال آنالوگ) تبدیل میشود و پس از ضرب شدن در وزن مربوط و ترکیب کردن این ولتاژها نتیجه نهایی به دست میآید. این سیگنال نهایی به سیگنال دیجیتال تبدیل و بهمنظور پردازش بیشتر ذخیره میشود.
نمونه اولیه این تراشه قادر است در یک مرحله و بدون نیاز به رفت و آمد بین حافظه و پردازنده، ضرب داخلی ۱۶ گره را به طور همزمان محاسبه کند. نکته مهم درباره تراشه امآیتی این است که وزنها فقط دو مقدار یک و منفی یک دارند و در نتیجه میتوان آنها را به صورت دودویی در حافظه ذخیره کرد.
البته باید توجه داشت که دقت شبکه عصبی آموزش داده شده با دو وزن، کمی پایین میآید.
منبع: ماهنامه شبکه