دستگاههای مبتنی بر اینترنت اشیا مجهز به میکروکنترلرهایی هستند که توان پردازشی کمی دارند و ظرفیت ذخیرهسازی آنها در مقایسه با دستگاههایی نظیر تلفنهای هوشمند بسیار محدود است. بر همین اساس چنین دستگاههایی این توانایی را ندارند که الگوریتمهای یادگیری ماشین را بطور مستقل اجرا کنند. بلکه برای پردازش و تجزیه و تحلیلهای پیچیده، دادههای جمعآوری شده را به سوی ابر ( کلاود) ارسال میکنند. ارسال دادهها به ابر سبب به خطر افتادن دادهها و باز شدن راه برای مهاجمانی میشود که قصد دارند به چنین شبکههایی حمله کنند. از جمله راهکارها برای حل چنین چالشی، طراحی سیستمهایی است که بتوانند بدون نیاز به ابر، از شبکههای عصبی استفاده کنند. این یک موضوع داغ تحقیقاتی نسبتاً جدید است و شرکتهایی نظیر گوگل و ARM به دنبال راهکاری برای این مساله هستند.
البته طراحی شبکه عصبی عمیق برای میکروکنترلرها کار سادهای نیست. هرچند روشهای مرسوم، امکان انتخاب بهترین شبکه عصبی از میان شمار زیادی از شبکههای عصبی را فراهم میکنند اما این روشها اغلب برای پیادهسازی بر روی پردازندههای گرافیکی (GPU) یا تلفنهای هوشمند مناسب هستند و بکارگیری آنها بر روی دستگاههای ضعیف و بسیار کوچکی نظیر میکروکنترلرها کار سادهای نیست.
استفاده از انواع میکروکنترلرها در ساختار دستگاههای اینترنت اشیا رواج زیادی دارد
محققان اِمآیتی برای این چالش، راهکاری موسوم به MCUNet را توسعه دادهاند. این راهکار دو بخش دارد. بخش نخست یک موتور تفسیر موسوم به TinyEngine است که وظیفه مدیریت منابع را بر عهده دارد و به نوعی یک سیستم عامل محسوب میشود. TinyEngine به گونهای بهینهسازی شده است که یک ساختار شبکه عصبی خاص را اجرا کند. بخش دیگر راهکار، یک الگوریتم جستجوی معماری عصبی موسوم به TinyNAS است. این الگوریتم بر اساس میکروکنترلر مورد نظر، بهینهترین ساختار عصبی را یافته و آنرا در اختیار TinyEngine قرار میدهد.
TinyNAS این امکان را به ما میدهد تا برای یک میکروکنترلر خاص بهترین شبکه عصبی را انتخاب کنیم بدون اینکه این شبکه، اجزای اضافی داشته باشد. میکروکنترلر برای اینکه بتواند این شبکه عصبی کوچک را اجرا کند نیازمند یک موتور تفسیر جمع و جور هم هست. موتورهای تفسیر معمولاً بخشهای بلااستفادهای دارند که به ندرت استفاده میشوند ( این بخشهای بلااستفاده در اصطلاح به «وزنهای مرده» معروف هستند). وجود این کدهای اضافی در ساختار شبکه عصبی، برای یک لپتاپ یا اسمارتفون مشکلی محسوب نمیشود ولی این بخشهای اضافی به سادگی میتوانند منابع سختافزاری یک میکروکنترلر را هدر دهند. TinyEngine کد لازم برای اجرا شدن شبکه عصبی که TinyNAS انتخاب کرده است را تولید میکند. در آزمونها مشخص شده است که کد کامپایل شده نهایی ۱.۹ تا ۵ بار سبکتر از نمونههای مشابهی است که توسط گوگل یا ARM عرضه شده است. از سوی دیگر TinyEngine به گونهای طراحی شده است که در زمان اجرا میزان مصرف حافظه را به حدود نصف میزان معمول در روشهای دیگر کاهش میدهد.
MCUNet پیاده شده بر روی یک میکروکنترلر تجاری،حدود ۷۰ درصد در شناسایی تصاویر موفقیت داشت که در مقایسه با نمونه مشابه، پیشرفت قابلتوجهی محسوب میشود. باید توجه داشت که در چنین آزمونهایی حتی یک درصد بهبود عملکرد هم بسیار مهم و قابل توجه است. بنابراین چنین بهبود عملکردی برای پیادهسازی شبکههای عصبی بر روی میکروکنترلرها بسیار چشمگیر است.
فراهم شدن امکان اجرای شبکههای عصبی بر روی دستگاه علاوه بر اینکه ما را از ابر بینیاز ساخته و میزان امنیت دادهها را بالا میبرد، امکان استفاده از اینترنت اشیا مبتنی بر هوش مصنوعی را در مناطق محروم و دورافتادهای که ارتباطات اینترنتی محدودی دارند فراهم خواهد کرد. مزیت دیگری که این محققان به آن اشاره میکنند این است که در روش آنها به دلیل اینکه آموزش شبکه با مصرف برق بسیار کمتری انجام میشود، هوا کمتر آلوده خواهد شد. این محققان میگویند هدف نهاییشان دسترسی به هوش مصنوعی جمع و جور و به صرفهای است که به منابع محاسباتی و دادههای کمتری نیاز دارد و از منابع بشری کمتر استفاده میکند.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟