Advance می تواند ضمن تقویت امنیت داده و بالا بردن بهره وری انرژی، هوش مصنوعی را در لوازم خانگی فعال کند.
 
محققان MIT سیستمی را به نام MCUNet ایجاد کرده اند که یادگیری ماشین را برای میکروکنترلرها به ارمغان می آورد. این پیشرفت می تواند عملکرد و امنیت دستگاه های متصل به اینترنت اشیاء (IoT) را افزایش دهد.
 
یادگیری عمیق همه جا هست. این شاخه از هوش مصنوعی، رسانه های اجتماعی شما را تحت نظارت قرار داده و نتایج جستجویتان در Google را به شما ارائه می دهد. به زودی، یادگیری عمیق همچنین می تواند حیوانات شما را چک کند یا ترموستات منزل شما را تنظیم کند. محققان MIT سیستمی را ایجاد کرده اند که می تواند شبکه های عصبی یادگیری عمیق را به مکان های جدید - و بسیار کوچکتر - مانند تراشه های کوچک رایانه در دستگاه های پزشکی پوشیدنی، لوازم خانگی و 250 میلیارد شیء دیگر که "اینترنت اشیاء" (IoT) را تشکیل می دهند، ارائه دهد.
 
این سیستم که MCUNet نام دارد، شبکه های عصبی کامپکتی را طراحی می کند که با وجود حافظه و قدرت پردازش محدود، سرعت و دقت بی سابقه ای را برای یادگیری عمیق در دستگاه های اینترنت اشیاء ارائه می دهند. این فناوری می تواند ضمن صرفه جویی در مصرف انرژی و بهبود امنیت داده ها، گسترش جهان اینترنت اشیاء را تسهیل کند.
 با توجه به این که یک شبکه عصبی هزاران یا حتی میلیون ها گره دارد، داده های زیادی برای جا به جایی وجود دارد.این تحقیق در کنفرانس سیستم های پردازش اطلاعات عصبی ارائه گردید. نویسنده اصلی آن جی لین، دانشجوی دکترای آزمایشگاه سونگ هان در بخش مهندسی برق و علوم کامپیوترMIT، است. از جمله نویسندگان مشترک می توان به هان و یوجون لین از دانشگاهMIT ، وی مینگ چن از دانشگاه MIT و دانشگاه ملی تایوان و جان کوه و چوانگ گان از آزمایشگاه AI MIT-IBM Watson اشاره کرد.
 

اینترنت اشیاء

اینترنت اشیاء در اوایل دهه 1980 متولد شد. دانشجویان فارغ التحصیل دانشگاه کارنگی ملون، از جمله مایک کازار، یک دستگاه کولاکولا را به اینترنت متصل کردند. انگیزه این گروه ساده بود: تنبلی. آنها می خواستند با استفاده از رایانه های خود، قبل از پیاده روی طولانی از دفتر خود برای خرید، تأیید کنند که موجودی در انبار دستگاه هست. این اولین وسیله متصل به اینترنت در جهان بود. کازار، که اکنون مهندس مایکروسافت است، می گوید: "این کار ما تقریباً به عنوان یک شوخی تلقی می شد." "هیچ کس انتظار میلیاردها دستگاه متصل به اینترنت را نداشت. "
 
با شروع از آن دستگاه کوکاکولا، اشیاء به صورت روزمره به گونه ای فزاینده در حال شبکه ای شدن با اینترنت اشیاءِ در حال رشد هستند. این شامل همه چیز، از مانیتورهای پوشیدنی قلب گرفته تا یخچال های هوشمندی که به شما می گویند چه زمانی شیر شما کم شده است، می شود. دستگاه های اینترنت اشیاء اغلب با میکروکنترلرها کار می کنند – که تراشه های رایانه ای ساده بدون سیستم عامل هستند با حداقل قدرت پردازش و کمتر از یک هزارم حافظه تلفن های هوشمند معمولی. بنابراین انجام وظایف شناسایی الگو مانند یادگیری عمیق به طور محلی بر روی دستگاه های اینترنت اشیاء دشوار است. برای تجزیه و تحلیل پیچیده، داده های جمع آوری شده اینترنت اشیاء اغلب به ابر ارسال می شوند و این امر در برابر هک شدن آسیب پذیر است.
 
هان می گوید: "چگونه می توانیم شبکه های عصبی را مستقیماً روی این دستگاه های کوچک مستقر کنیم؟ این یک حوزه تحقیقاتی جدید است که دارد بسیار داغ می شود. " "شرکت هایی مانند Google و ARM همه در این راستا کار می کنند."
 
با استفاده ازMCUNet ، گروه Han دو مؤلفه مورد نیاز برای "یادگیری عمیق کوچک" - که عملکرد شبکه های عصبی روی میکروکنترلرهاست - را رمزگذاری کرد. یک جزء TinyEngine است، که یک موتور استنباطی است که مدیریت منابع را هدایت می کند، شبیه به یک سیستم عامل. TinyEngine برای اجرای یک ساختار شبکه عصبی خاص بهینه شده است که توسط مؤلفه دیگر MCUNet انتخاب می شود: TinyNAS ، که یک الگوریتم جستجوی معماری عصبی است.
 

رمزگذاری سیستم - الگوریتم

طراحی یک شبکه عمیق برای میکروکنترلرها آسان نیست. تکنیک های موجود در جستجوی معماری عصبی با انبوهی از ساختارهای شبکه احتمالی مبتنی بر یک الگوی از پیش تعریف شده شروع می شوند، سپس به تدریج یکی از آنها را با دقت بالا و هزینه کم پیدا می کنند. در حالی که این روش کار می کند، کارآمدترین روش نیست. لین می گوید: "این می تواند برایGPU ها یا تلفن های هوشمند بسیار خوب عمل کند." "اما استفاده مستقیم از این تکنیک ها برای میکروکنترلرهای ریز بسیار دشوار است، زیرا آنها بسیار کوچک هستند. "
 
بنابراین لین، TinyNAS را توسعه داد، یک روش جستجوی معماری عصبی که شبکه هایی با اندازه سفارشی ایجاد می کند. لین می گوید: "ما میکروکنترلرهای زیادی داریم که با ظرفیت های مختلف قدرت و اندازه حافظه متفاوت ارائه می شوند." "بنابراین ما الگوریتم [TinyNAS] را برای بهینه سازی فضای جستجو برای میکروکنترلرهای مختلف توسعه دادیم." ماهیت سفارشی TinyNAS به این معنی است که می تواند شبکه های عصبی جمع و جوری با بهترین عملکرد ممکن برای میکروکنترلر - بدون پارامترهای غیر ضروری - ایجاد کند. لین می گوید: "سپس ما مدل نهایی و کارآمد را به میکروکنترلر تحویل می دهیم. "
 
برای اجرای آن شبکه عصبی کوچک، یک میکروکنترلر همچنین به یک موتور استنباط لاغر نیاز دارد. یک موتور استنتاج معمولی وزن کمی دارد – با دستور العمل هایی برای کارهایی که ممکن است به ندرت عملی شوند. کد اضافی برای لپ تاپ یا گوشی هوشمند مشکلی ایجاد نمی کند، اما به راحتی می تواند یک میکروکنترلر را تحت فشار قرار دهد. هان می گوید: "این، حافظه خارج از تراشه ندارد و دیسک هم ندارد." "همه چیز کنار هم فقط یک مگابایت فلاش است، بنابراین ما باید واقعاً یک منبع کوچک (یعنی TinyEngine کلید) را با دقت مدیریت کنیم."
 
محققان موتور استنباط خود را در همکاری با TinyNAS توسعه دادند. TinyEngine کد اساسی لازم برای اجرای شبکه عصبی سفارشی TinyNAS را تولید می کند. هرگونه کد سنگین وزنی کنار گذاشته می شود که این باعث کاهش زمان کامپایل می شود. هان می گوید: "ما فقط آنچه نیاز داریم را نگه می داریم." "و از آنجا که شبکه عصبی را طراحی کردیم، دقیقاً می دانیم که به چه چیزهایی نیاز داریم. این مزیت طراحی کد الگوریتم سیستم است. " در تست های گروهTinyEngine ، اندازه کد باینری وارد شده بین 1.9 تا پنج برابر کوچکتر از موتورهای استنباطی میکروکنترلر قابل مقایسه از Google و ARM بود. TinyEngine همچنین حاوی نوآوری هایی است که باعث کاهش زمان کار می شود، از جمله پیچش عمقی در محل، که اوج مصرف حافظه را تقریباً به نصف کاهش می دهد. پس از رمز گذاری TinyNAS  وTinyEngine ، تیم هان MCUNet را آزمایش کرد.
 
اولین چالش MCUNet طبقه بندی تصویر بود. محققان، از پایگاه داده ImageNet برای آموزش دادن سیستم با استفاده از تصاویر دارای برچسب و سپس آزمایش توانایی طبقه بندی تصاویر جدید، استفاده کردند. MCUNet با استفاده از یک میکروکنترلر تجاری که آنها آزمایش کردند، 70.7 درصد از تصاویر جدید را با موفقیت طبقه بندی کرد - شبکه عصبی پیشرفته و ترکیبی موتور استنتاج قبلی، تنها 54 درصد دقیق بود. لین می گوید: "حتی یک درصد پیشرفت نیز قابل توجه است." "بنابراین این یک جهش عظیم برای تنظیمات میکروکنترلر است. "
 
این تیم نتایج مشابهی را در آزمایشات ImageNet سه میکروکنترلر دیگر یافتند. با توجه به سرعت و دقت، MCUNet رقابت برای انجام وظایف صوتی و تصویری "واژه بیداری" را پشت سر می گذارد، جایی که کاربر با استفاده از نشانه های صوتی با کامپیوتر شروع به تعامل می کند (فکر کنید به: "سلام، سیری") یا به سادگی با ورود به یک اتاق این کار را صورت می دهد. این آزمایشات، سازگاری MCUNet را با بسیاری از برنامه ها برجسته می کند.
 

"پتانسیل عظیم"

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

یادگیری عمیق کوچک در دستگاه های اینترنت اشیاء

 
ویل نایت که برای Wired می نویسد، نشان می دهد که چگونه محققان MIT تکنیک جدیدی را برای فشردن الگوریتم دید AI بر روی تراشه رایانه ای کم مصرف که می تواند ماه ها روی باتری کار کند، ایجاد کردند. این پیشرفت "می تواند به قابلیت های پیشرفته هوش مصنوعی مانند تشخیص تصویر و صدا در لوازم خانگی و دستگاه های پوشیدنی، همراه با ابزارهای پزشکی و سنسورهای صنعتی کمک کند. "
 

شبکه های عصبی در همه جا

در ادامه در این بخش خواهیم دید که تراشه ای جدید، مصرف برق شبکه های عصبی را تا 95 درصد کاهش می دهد و استفاده از آنها را برای دستگاه های باتری عملی می سازد.
 
 
 
تصویر: محققان MIT تراشه ای با هدف خاص تولید کرده اند که سرعت محاسبات شبکه عصبی را سه تا هفت برابر نسبت به نمونه های قبلی خود افزایش می دهد، در حالی که مصرف برق را 93 تا 96 درصد کاهش می دهد. این می تواند استفاده از شبکه های عصبی به صورت محلی بر روی تلفن های هوشمند یا حتی جا سازی آنها در لوازم خانگی را عملی سازد. چلسی ترنر / MIT
 
بیشتر پیشرفت های اخیر در سیستم های هوش مصنوعی مانند برنامه های تشخیص گفتار یا چهره به لطف شبکه های عصبی، شبکه های متراکم به هم پیوسته پردازنده های اطلاعاتی ساده که یاد می گیرند با تجزیه و تحلیل مجموعه عظیمی از داده های آموزشی وظایف خود را انجام دهند، حاصل شده است.
 MCUNet می تواند "توانایی هوشمندانه بینایی رایانه را حتی به ساده ترین وسایل آشپزخانه بیاورد، یا حسگرهای حرکتی هوشمندتری را فعال کند. "اما شبکه های عصبی، بزرگ هستند و محاسبات آنها انرژی زیادی مصرف می کند، بنابراین برای دستگاه های دستی بسیار کاربردی نیستند. اکثر برنامه های تلفن های هوشمند که به شبکه های عصبی متکی هستند، به سادگی داده ها را در سرورهای اینترنت بارگذاری می کنند که آنها را پردازش می کنند و نتایج را به تلفن ارسال می نمایند.
 
اکنون، محققان MIT از یک تراشه مخصوص استفاده کرده اند که سرعت محاسبات شبکه عصبی را سه تا هفت برابر نسبت به نمونه های قبلی خود افزایش می دهد، در حالی که مصرف برق را 94 تا 95 درصد کاهش می دهد. این می تواند عملی کردن شبکه های عصبی به صورت محلی بر روی تلفن های هوشمند یا حتی جا سازی آنها در لوازم خانگی را عملی سازد.
 
آویشک بیسواس، دانشجوی تحصیلات تکمیلی MIT در مهندسی برق و علوم کامپیوتر، که رهبری عملیات ساخت تراشه جدید را بر عهده داشت، می گوید: "مدل کلی پردازنده این است که در بخشی از تراشه، یک حافظه وجود دارد و در قسمت دیگری از تراشه نیز یک پردازنده وجود دارد و هنگام انجام این محاسبات، داده ها را به عقب و جلو بین آنها منتقل می کنید."
 
"از آن جا که این الگوریتم های یادگیری ماشین به محاسبات زیادی احتیاج دارند، این انتقال به جلو و عقب داده ها قسمت غالبی از انرژی مصرفی را به خود اختصاص می دهد. اما محاسبه این الگوریتم ها را می توان در یک عملیات خاص، به نام نقطه - محصول، ساده کرد. رویکرد ما این بود که ببینیم آیا می توانیم این قابلیت نقطه- محصول را در حافظه پیاده سازی کنیم تا نیازی به انتقال این داده ها به جلو و عقب نباشد. "
 
بیسواس و مشاور پایان نامه اش، آنانتا چاندراکاسان، رئیس دانشکده مهندسی MIT و استاد مهندسی برق و علوم رایانه ای، وانوار بوش ، تراشه جدید را در مقاله ای توصیف می کنند که بیسواس در کنفرانس بین المللی مدارهای جامد ارائه داد.
 

بازگشت به آنالوگ

شبکه های عصبی معمولاً به صورت لایه ای مرتب می شوند. یک گره پردازشی منفرد در یک لایه از شبکه معمولاً داده ها را از چندین گره موجود در لایه زیرین دریافت می کند و آنها را به چندین گره موجود در لایه فوقانی منتقل می کند. هر اتصال بین گره ها "وزن" خاص خود را دارد، که نشان می دهد خروجی یک گره در محاسبه توسط گره بعدی چه نقشی دارد. آموزش شبکه مربوط به تنظیم این وزن ها است.
 
گره ای که از چندین گره موجود در لایه زیر، داده دریافت می کند، هر ورودی را در وزن اتصال مربوطه ضرب می کند و نتایج را جمع می نماید. این عمل - جمع ضرب ها - تعریف یک نقطه - محصول است. اگر نقطه - محصول از یک مقدار آستانه ای فراتر رود، گره از طریق اتصالات با وزن مخصوص خود، آن را به لایه های بعدی انتقال می دهد.
 
یک شبکه عصبی یک انتزاع است: "گره" ها فقط وزن ذخیره شده در حافظه کامپیوتر هستند. محاسبه یک نقطه - محصول معمولاً شامل بارگیری وزن از حافظه، واکشی مورد مربوط به داده، ضرب این دو، ذخیره نتیجه در جایی و سپس تکرار عملیات برای هر ورودی مربوط به یک گره است. با توجه به این که یک شبکه عصبی هزاران یا حتی میلیون ها گره دارد، داده های زیادی برای جا به جایی وجود دارد.
 
اما این توالی عملیاتی فقط یک تقریب دیجیتالی است از آن چه در مغز اتفاق می افتد، جایی که سیگنال هایی که در امتداد چندین سلول عصبی حرکت می کنند، در یک "سیناپس" یا شکاف بین دسته سلول های عصبی قرار می گیرند. میزان شلیک سلول های عصبی و سیگنال های الکتروشیمیایی که از سیناپس عبور می کنند با مقادیر و وزن داده ها مطابقت دارند. تراشه جدید محققان MIT با تکثیر صادقانه تر مغز، کارایی را بهبود می بخشد.
 
در تراشه، مقادیر ورودی یک گره به ولتاژهای الکتریکی تبدیل شده و سپس در وزن های مناسب ضرب می شوند. جمع بندی محصولات صرفاً ترکیبی از ولتاژها است. فقط ولتاژهای ترکیبی دو باره به نمایش دیجیتالی تبدیل می شوند و برای پردازش بیشتر ذخیره می شوند.
 
بنابراین تراشه می تواند نقطه - محصول ها را برای چندین گره - در هر بار 16 نمونه در نمونه اولیه - در یک مرحله محاسبه کند، به جای این که بین پردازنده و حافظه برای هر محاسبه رفت و برگشت صورت دهد.
 

همه یا هیچ چیز

یکی از کلیدهای سیستم این است که تمام وزن ها 1 یا 1- هستند. این بدان معناست که می توان آنها را در خود حافظه به صورت سوئیچ های ساده ای که مدار را می بندند یا باز می گذارند، پیاده سازی کرد. کارهای نظری اخیر نشان می دهد که شبکه های عصبی که فقط با دو وزن آموزش دیده اند، قاعدتاً باید دقت کمی را از دست بدهند – چیزی بین 1 تا 2 درصد.
 
تحقیقات Biswas و Chandrakasan این پیش بینی را نشان می دهد. در آزمایشات، آنها پیاده سازی کامل یک شبکه عصبی را بر روی رایانه معمولی و معادل وزن دودویی بر روی تراشه خود اجرا کردند. نتایج تراشه آنها به طور کلی در حد 2 تا 3 درصد نتایج حاصل از شبکه معمولی بود.
 
داریو گیل، معاون هوش مصنوعی IBM می گوید: "این یک نمایش امیدوارکننده در دنیای واقعی از محاسبات آنالوگ در حافظه مبتنی بر SRAM برای برنامه های یادگیری عمیق است." "نتایج نشان می دهد مشخصات چشمگیری برای اجرای بهینه انرژی عملیات کانولوشن با آرایه های حافظه وجود دارد. این مطمئناً امکان استفاده از شبکه های عصبی پیچیده تری را برای طبقه بندی تصویر و فیلم در اینترنت اشیاء [IoT] در آینده فراهم می آورد. "
 
منبع: دانیِل اَکرمن، لاری هادِستی، MIT News Office