سیستم، یادگیری عمیق را به دستگاه‌های «اینترنت اشیا» می‌آورد

منتشر شده در: MIT news به تاریخ ۱۳ نوامبر ۲۰۲۰
لینک مطلب اصلی: System brings deep learning to “internet of things” devices

یادگیری عمیق در همه جا وجود دارد. این شاخه از هوش مصنوعی رسانه‌های اجتماعی شما را محدود می‌کند و به نتایج جستجوی گوگل شما کمک می‌کند. به زودی یادگیری عمیق می‌تواند علائم حیاتی شما را کنترل کند و یا ترموستات شما را تنظیم کند. محققان MIT سیستمی را ایجاد کرده‌اند که می‌تواند یادگیری عمیق شبکه‌های عصبی را به مکان‌های جدید و بسیار کوچک‌تر مانند تراشه‌های کوچک کامپیوتر در دستگاه‌های پزشکی پوشیدنی، لوازم خانگی، و ۲۵۰ میلیارد شی دیگر که «اینترنت اشیا» (IoT) را تشکیل می‌دهند، بیاورد.

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

این تحقیق در کنفرانس ماه آینده در مورد سیستم‌های پردازش اطلاعات عصبی ارائه خواهد شد. نویسنده اصلی، Ji Lin، دانشجوی دکترای علوم کامپیوتر و مهندسی برق دانشگاه Song Han است.  هم‌کاری نویسندگان عبارتند از Han و Yujun Lin از MIT، Wei-Ming Chen از MIT و دانشگاه ملی تایوان، و John Cohn و Chuang Gan از آزمایشگاه MIT-IBM Watson هوش مصنوعی.

اینترنت اشیا

اینترنت اشیا (IoT) در اوایل دهه ۱۹۸۰ متولد شد. دانشجویان Grad در دانشگاه کارنگی ملون، از جمله Mike Kazar ’78، یک ماشین کولا کولا را به اینترنت متصل کردند. انگیزه گروه ساده بود: تنبلی. آن‌ها می‌خواستند از کامپیوترهایشان برای تایید اینکه ماشین قبل از راه نوردی دفتر برای خرید پر شده‌است استفاده کنند. این اولین دستگاه متصل به اینترنت در جهان بود. کازار که در حال حاضر مهندس مایکروسافت است می‌گوید: « با این موضوع به عنوان یک شوخی برخورد شده‌است.» « هیچ‌کس انتظار میلیاردها دستگاه در اینترنت را نداشت.»

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

چگونه ما شبکه‌های عصبی را مستقیما بر روی این دستگاه‌های کوچک بکار می‌بریم؟ Han بیان کرد که این یک حوزه تحقیقاتی جدید است که بسیار داغ شده‌است. او همچنین گفت:
«شرکت‌هایی مانند گوگل و ARM همگی در این مسیر کار می‌کنند»

با وجود MCUNet، گروه هان دو جز مورد نیاز برای «یادگیری عمیق کوچک» را طراحی کرد-عملکرد شبکه‌های عصبی بر روی میکروکنترلر. یکی از اجزا، TinyEngine است، یک موتور استنتاج که مدیریت منابع را هدایت می‌کند، شبیه به یک سیستم‌عامل. موتور TinyEngine برای اجرای یک ساختار شبکه عصبی خاص بهینه‌سازی شده‌است، که توسط جز دیگر MCUNet انتخاب شده‌است: TinyNAS، یک الگوریتم جستجوی معماری عصبی.

طراحی همزمان سیستم-الگوریتم

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

بنابراین Lin ، TinyNAS را توسعه داد، یک روش جستجوی معماری عصبی که شبکه‌های سفارشی ایجاد می‌کند. لین می‌گوید: « ما تعداد زیادی میکروکنترلر داریم که با ظرفیت‌های قدرت متفاوت و اندازه حافظه متفاوت می‌آیند.بنابراین ما الگوریتم TinyNAS را برای بهینه‌سازی فضای جستجو برای میکروکنترلر های مختلف توسعه دادیم»

ماهیت سفارشی TinyNAS به این معنی است که می‌تواند شبکه‌های عصبی فشرده با بهترین عملکرد ممکن برای یک میکروکنترلر داده‌شده-بدون پارامترهای غیر ضروری-تولید کند. لین می‌گوید: « سپس مدل نهایی و کارآمد را به میکروکنترلر تحویل می‌دهیم.»

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

محققان موتور استنتاج خود را همراه با TinyNAS توسعه دادند. موتور تینیتین کد ضروری لازم برای اجرای شبکه عصبی سفارشی تینیناس را تولید می‌کند. هرگونه کد وزن سبک کنار گذاشته می شود که باعث کاهش زمان کامپایل می شود. هان می‌گوید: « ما فقط آنچه را که نیاز داریم حفظ می‌کنیم.» و از آنجا که ما شبکه عصبی را طراحی کردیم، دقیقا می‌دانیم که به چه چیزی نیاز داریم. این مزیت طراحی همزمان سیستم-الگوریتم است. در آزمون‌های گروهی از TinyEngine، اندازه کد دودویی تدوین‌شده بین ۹ / ۱ تا ۵ برابر کوچک‌تر از موتورهای استنتاج میکروکنترلر قابل‌مقایسه از گوگل و ARM بود. TinyEngine همچنین شامل نوآوری‌هایی است که زمان اجرا را کاهش می‌دهد، از جمله کانولوشن دقیق، که اوج استفاده از حافظه را تقریبا به نصف کاهش می‌دهد. تیم (هان) پس از طراحی همزمان TinyNAS و TinyEngine، MCUNet  را در معرض آزمایش قرار می‌دهد.

اولین چالش MCUNet دسته‌بندی تصویر بود. محققان از پایگاه‌داده الکترونیک برای آموزش سیستم با تصاویر برچسب دار استفاده کردند و سپس توانایی آن را برای طبقه‌بندی تصاویر جدید مورد آزمایش قرار دادند. در یک میکروکنترلر تجاری که آن‌ها تست کردند، MCUNet با موفقیت ۷۰.۷ درصد از تصاویر جدید-حالت قبلی شبکه عصبی و موتور استنتاج فقط ۵۴ درصد دقیق بود. لین می‌گوید: « حتی یک درصد بهبود قابل‌توجه در نظر گرفته می‌شود.» « بنابراین این یک جهش بزرگ برای تنظیمات میکروکنترلر است.»

این تیم به نتایج مشابهی در تست‌های ImageNet سه میکروکنترلر دیگر دست یافت. و در سرعت و دقت، MCUNet رقابت برای تکالیف صوتی و تصویری «کلمه-بیدار» را شکست داد، که در آن یک کاربر با استفاده از نشانه‌های صوتی (فکر کردن: «Hey, Siri») یا به سادگی با ورود به یک اتاق، تعامل با یک کامپیوتر را آغاز می‌کند. این آزمایش‌ها بر روی سازگاری MCUNet با کاربردهای متعدد تاکید دارند.

نتایج امیدوارکننده آزمایش به هان این امید را می‌دهد که استاندارد صنعتی جدید برای میکروکنترلرها شود. او می‌گوید: « پتانسیل عظیمی دارد.»

یک دانشمند علوم کامپیوتر در دانشگاه کالیفرنیا در برکلی، Kurt Keutzer، که در این کار دخیل نبود، می‌گوید: « پیشرفت، مرز طراحی شبکه عصبی عمیق را حتی بیشتر در حوزه محاسباتی میکروکنترلرهای با بهره‌وری انرژی کم گسترش می‌دهد.» او اضافه می‌کند که MCUNet می‌تواند « قابلیت‌های دید کامپیوتری هوشمند را حتی به ساده‌ترین وسایل آشپزخانه بیاورد، یا سنسورهای حرکتی هوشمندتر را فعال کند.» MCUNet همچنین می‌تواند دستگاه‌های IoT را امن‌تر کند.

هان می‌گوید: « یک مزیت کلیدی حفظ حریم خصوصی است. لازم نیست داده‌ها را به ابر منتقل کنید.»

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

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

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