فهرست مندرجات[پنهان شدن][نمایش]
مدل های یادگیری ماشینی در حال حاضر در همه جا هستند. در طول روز، احتمالاً خیلی بیشتر از آنچه تصور می کنید از این مدل ها استفاده می کنید. مدلهای یادگیری ماشینی در کارهای رایجی مانند مرور رسانههای اجتماعی، عکاسی و بررسی آب و هوا استفاده میشوند.
ممکن است یک الگوریتم یادگیری ماشینی این وبلاگ را به شما توصیه کرده باشد. همه ما شنیده ایم که آموزش این مدل ها چقدر زمان بر است. همه ما شنیده ایم که آموزش این مدل ها زمان بر است.
با این حال، استنتاج بر روی این مدلها اغلب از نظر محاسباتی پرهزینه است.
ما به سیستمهای رایانهای نیاز داریم که به اندازه کافی سریع باشند تا بتوانند سرعت استفاده از خدمات یادگیری ماشین را کنترل کنند. در نتیجه، اکثر این مدلها در مراکز داده عظیم با خوشههای CPU و GPU (حتی در برخی موارد TPU) اجرا میشوند.
وقتی عکس می گیرید، می خواهید فراگیری ماشین برای بهبود فوری آن شما نمی خواهید منتظر بمانید تا تصویر به مرکز داده منتقل شود، پردازش شود و به شما بازگردانده شود. در این حالت، مدل یادگیری ماشین باید به صورت محلی اجرا شود.
وقتی میگویید «Hey Siri» یا «OK، Google»، میخواهید ابزارهای شما فوراً پاسخ دهند. منتظر بمانید تا صدای شما به رایانه ها منتقل شود، جایی که ارزیابی می شود و داده ها به دست می آیند.
این کار زمان بر است و تأثیر مخربی بر تجربه کاربر دارد. در این مورد، شما می خواهید که مدل یادگیری ماشین به صورت محلی نیز کار کند. اینجا جایی است که TinyML وارد می شود.
در این پست به بررسی TinyML، نحوه کارکرد، کاربردهای آن، نحوه شروع کار با آن و موارد دیگر خواهیم پرداخت.
چه شده است TinyML?
TinyML یک رشته پیشرفته است که پتانسیل انقلابی یادگیری ماشینی را برای محدودیت های عملکرد و توان دستگاه های کوچک و سیستم های تعبیه شده به کار می گیرد.
استقرار موفقیت آمیز در این صنعت مستلزم درک کامل برنامه ها، الگوریتم ها، سخت افزار و نرم افزار است. این یک زیرژانر یادگیری ماشینی است که از مدلهای یادگیری عمیق و یادگیری ماشین در سیستمهای تعبیهشده استفاده میکند که از میکروکنترلرها، پردازندههای سیگنال دیجیتال یا دیگر پردازندههای تخصصی بسیار کم مصرف استفاده میکنند.
دستگاههای تعبیهشده با قابلیت TinyML برای اجرای یک الگوریتم یادگیری ماشین برای یک کار خاص، معمولاً به عنوان بخشی از دستگاه در نظر گرفته شدهاند. محاسبات لبه.
برای اینکه این سیستم های تعبیه شده برای هفته ها، ماه ها یا حتی سال ها بدون شارژ مجدد یا تعویض باتری کار کنند، باید مصرف برق کمتر از 1 مگاوات داشته باشند.
چگونه کار می کند؟
تنها چارچوب یادگیری ماشینی که می توان با میکروکنترلرها و کامپیوترها استفاده کرد، این است TensorFlow Lite. این مجموعه ای از ابزارها است که به توسعه دهندگان اجازه می دهد مدل های خود را بر روی دستگاه های تلفن همراه، جاسازی شده و لبه اجرا کنند و امکان یادگیری ماشینی را در پرواز فراهم می کند.
رابط میکروکنترلر برای جمع آوری داده ها از حسگرها (مانند میکروفون، دوربین یا سنسورهای تعبیه شده) استفاده می شود.
قبل از ارسال به میکروکنترلر، داده ها در یک مدل یادگیری ماشین مبتنی بر ابر گنجانده می شوند. آموزش دسته ای در حالت آفلاین معمولاً برای آموزش این مدل ها استفاده می شود. داده های سنسوری که برای آن استفاده خواهد شد یادگیری و استنتاج قبلاً برای برنامه خاص تعیین شده است.
برای مثال، اگر مدل برای تشخیص یک کلمه بیدار آموزش دیده باشد، از قبل برای مدیریت یک جریان صوتی پیوسته از میکروفون تنظیم شده است.
در مورد TensorFlow Lite همه چیز از قبل با کمک یک پلتفرم ابری مانند Google Colab انجام شده است، از جمله انتخاب مجموعه داده، عادی سازی، عدم تناسب یا برازش بیش از حد مدل، منظم سازی، افزایش داده، آموزش، اعتبارسنجی و آزمایش.
یک مدل کاملاً آموزش دیده در نهایت تبدیل شده و پس از آموزش دسته ای آفلاین به میکروکنترلر، میکرو کامپیوتر یا پردازنده سیگنال دیجیتال منتقل می شود. این مدل پس از انتقال به دستگاه تعبیه شده، آموزش اضافی ندارد. در عوض، تنها از دادههای بیدرنگ از حسگرها یا دستگاههای ورودی برای اعمال مدل استفاده میکند.
در نتیجه، یک مدل یادگیری ماشینی TinyML باید بهطور استثنایی بادوام باشد و بتواند پس از سالها دوباره آموزش داده شود یا هرگز دوباره آموزش داده نشود. تمام عدم تناسب و اضافه برازش مدل بالقوه باید بررسی شود تا مدل برای مدت زمان طولانی و در حالت ایده آل برای مدت نامحدود مرتبط باقی بماند.
اما چرا از TinyML استفاده کنیم؟
TinyML به عنوان تلاشی برای حذف یا کاهش اتکای اینترنت اشیا به خدمات ابری برای مقیاس کوچک آغاز شد. فراگیری ماشین عملیات این امر استفاده از مدل های یادگیری ماشینی را در خود دستگاه های لبه ایجاب می کرد. مزایای عمده زیر را ارائه می دهد:
- کم قدرت مصرف: یک برنامه TinyML ترجیحا باید کمتر از 1 میلی وات برق مصرف کند. با چنین مصرف کم انرژی، یک دستگاه ممکن است به نتیجه گیری از داده های حسگر برای ماه ها یا سال ها ادامه دهد، حتی اگر با باتری سکه ای تغذیه شود.
- هزینه کمتر: برای اجرا بر روی میکروکنترلرهای 32 بیتی یا DSPهای ارزان قیمت طراحی شده است. این میکروکنترلرها معمولاً هر کدام چند سنت هستند و کل سیستم تعبیه شده توسعه یافته با آنها کمتر از 50 دلار است. این یک گزینه بسیار مقرونبهصرفه برای اجرای برنامههای یادگیری ماشینی کوچک در مقیاس بزرگ است و بهویژه در برنامههای IoT که در آنها یادگیری ماشین باید اعمال شود، سودمند است.
- تأخیر کمتر: برنامه های آن تاخیر کمی دارند زیرا نیازی به انتقال یا تبادل داده از طریق شبکه ندارند. تمام دادههای حسگر به صورت محلی ثبت میشوند و با استفاده از مدلی که قبلاً آموزش داده شده است، نتیجهگیری میشود. نتایج استنباطها ممکن است برای ثبت یا پردازش اضافی به سرور یا ابر ارسال شود، اگرچه این برای کارکرد دستگاه ضروری نیست. این امر تأخیر شبکه را به حداقل میرساند و نیازی به انجام عملیات یادگیری ماشین روی ابر یا سرور را از بین میبرد.
- حریم خصوصی: این یک نگرانی عمده در اینترنت و اینترنت اشیا است. کار یادگیری ماشین در برنامههای TinyML به صورت محلی، بدون ذخیره یا ارسال دادههای حسگر/کاربر به سرور/ابر انجام میشود. در نتیجه، حتی زمانی که این برنامهها به یک شبکه مرتبط هستند، استفاده از این برنامهها ایمن است و هیچ خطری برای حفظ حریم خصوصی ندارد.
اپلیکیشنها
- کشاورزی – چه زمانی کشاورزان از یک گیاه عکس می گیرند، برنامه TensorFlow Lite بیماری های موجود در آن را تشخیص می دهد. این بر روی هر دستگاهی کار می کند و نیازی به اتصال به اینترنت ندارد. این روش از منافع کشاورزی محافظت می کند و یک ضرورت حیاتی برای کشاورزان روستایی است.
- تعمیر و نگهداری مکانیک – وقتی TinyML بر روی دستگاههای کم مصرف استفاده میشود، میتواند به طور مداوم نقصهای دستگاه را شناسایی کند. این مستلزم تعمیر و نگهداری مبتنی بر پیش بینی است. Ping Services، یک استارت آپ استرالیایی، یک گجت اینترنت اشیا را معرفی کرده است که با اتصال به بیرون توربین، توربین های بادی را نظارت می کند. در صورت مشاهده هرگونه مشکل یا نقص احتمالی به مقامات اطلاع می دهد.
- بیمارستان ها – The Solar Scare یک پروژه است. پشه از TinyML برای جلوگیری از گسترش بیماری هایی مانند تب دنگی و مالاریا استفاده می کند. انرژی آن از انرژی خورشیدی تامین میشود و شرایط پرورش پشه را قبل از ارسال سیگنال به آب برای جلوگیری از پرورش پشه تشخیص میدهد.
- نظارت بر ترافیک – توسط با استفاده از TinyML برای حسگرهایی که دادههای ترافیکی آنی را جمعآوری میکنند، میتوانیم از آنها برای هدایت بهتر ترافیک و کاهش زمان پاسخ برای وسایل نقلیه اضطراری استفاده کنیم. به عنوان مثال، Swim.AI از این فناوری در جریان داده استفاده می کند تا ایمنی مسافران را افزایش دهد و در عین حال ازدحام و انتشار گازهای گلخانه ای را از طریق مسیریابی هوشمند کاهش دهد.
- قانون: از TinyML می توان در اجرای قانون برای شناسایی اقدامات غیرقانونی مانند شورش و سرقت با استفاده از یادگیری ماشینی و تشخیص ژست استفاده کرد. همچنین ممکن است از یک برنامه مشابه برای ایمن سازی دستگاه های خودپرداز بانکی استفاده شود. با مشاهده رفتار کاربر، یک مدل TinyML ممکن است پیش بینی کند که آیا کاربر یک مصرف کننده واقعی است که تراکنش را تکمیل می کند یا یک مزاحم که سعی در هک یا تخریب دستگاه خودپرداز دارد.
چگونه با TinyML شروع کنیم؟
برای شروع کار با TinyML در TensorFlow Lite، به یک برد میکروکنترلر سازگار نیاز دارید. TensorFlow Lite برای میکروکنترلرها از میکروکنترلرهای ذکر شده در زیر پشتیبانی می کند.
- ترمینال Wio: ATSAMD51
- هیئت توسعه هوش مصنوعی Himax WE-I Plus EVB Endpoint
- کیت اکتشاف STM32F746
- Adafruit EdgeBadge
- پلتفرم توسعه نرم افزار Synopsys DesignWare ARC EM
- سونی Spresense
- آردوینو نانو 33 BLE Sense
- SparkFun Edge
- کیت Adafruit TensorFlow Lite برای میکروکنترلرها
- Bluefruit زمین بازی Adafruit Circuit
- اسپرسف ESP32-DevKitC
- اسپرسف ESP-EYE
اینها میکروکنترلرهای 32 بیتی هستند که حافظه فلش، رم و فرکانس ساعت کافی برای اجرای یک مدل یادگیری ماشینی دارند. این بردها همچنین دارای تعدادی حسگر داخلی هستند که قادر به اجرای هر برنامه تعبیه شده و استفاده از مدل های یادگیری ماشینی در برنامه مورد نظر هستند. به یک مدل یادگیری ماشین بسازید، علاوه بر پلتفرم سخت افزاری به لپ تاپ یا کامپیوتر نیاز خواهید داشت.
هر پلتفرم سخت افزاری ابزارهای برنامه نویسی خاص خود را برای ساخت، آموزش و انتقال مدل های یادگیری ماشین دارد که از بسته TensorFlow Lite برای میکروکنترلرها استفاده می کند. TensorFlow Lite برای استفاده و اصلاح رایگان است زیرا چنین است منبع باز.
برای شروع کار با TinyML و TensorFlow Lite، تنها چیزی که نیاز دارید یکی از پلتفرم های سخت افزاری تعبیه شده فوق الذکر، یک کامپیوتر/لپ تاپ، یک کابل USB، یک مبدل USB به سریال – و تمایل به تمرین یادگیری ماشینی با سیستم های تعبیه شده است. .
چالش ها
حتی در حالی که پیشرفت TinyML نتایج مثبت بسیاری را به همراه داشته است، صنعت یادگیری ماشین هنوز با موانع قابل توجهی روبرو است.
- تنوع نرم افزار - کدگذاری دستی، تولید کد و مفسرهای ML همگی گزینههایی برای استقرار مدلها در دستگاههای TinyML هستند و هر کدام زمان و تلاش متفاوتی را میطلبد. در نتیجه عملکردهای متفاوتی می تواند ایجاد شود.
- تنوع سخت افزاری - وجود دارد چندین گزینه سخت افزاری در دسترس هستند. پلتفرم های TinyML می توانند هر چیزی باشند، از میکروکنترلرهای همه منظوره تا پردازنده های عصبی پیشرفته. این باعث ایجاد مشکلاتی در استقرار مدل در معماری های مختلف می شود.
- عیب یابی/اشکال زدایی – چه زمانی یک مدل ML در فضای ابری ضعیف عمل می کند، به سادگی می توان به داده ها نگاه کرد و متوجه شد که چه چیزی اشتباه می شود. هنگامی که یک مدل در هزاران دستگاه TinyML پخش میشود و هیچ جریان دادهای به ابر باز نمیگردد، اشکالزدایی دشوار میشود و ممکن است به روش دیگری نیاز داشته باشد.
- محدودیت های حافظه - سنتی پلتفرمهایی مانند گوشیهای هوشمند و لپتاپها به گیگابایت رم نیاز دارند، در حالی که دستگاههای TinyML از کیلوبایت یا مگابایت استفاده میکنند. در نتیجه، اندازه مدلی که ممکن است مستقر شود محدود است.
- آموزش مدل – اگرچه چندین مزیت برای استقرار مدلهای ML در دستگاههای TinyML وجود دارد، اکثر مدلهای ML هنوز در فضای ابری آموزش داده میشوند تا دقت مدل را تکرار کنند و پیوسته بهبود دهند.
آینده
TinyML، با ردپای کوچک، مصرف باتری کم، و عدم اتکای محدود به اتصال به اینترنت، پتانسیل بسیار زیادی در آینده دارد، به عنوان اکثر موارد باریک. هوش مصنوعی بر روی دستگاههای لبه یا گجتهای تعبیهشده مستقل پیادهسازی خواهد شد.
این برنامههای IoT را با استفاده از آنها خصوصیتر و ایمنتر میکند. اگر چه TensorFlow Lite در حال حاضر تنها چارچوب یادگیری ماشینی برای میکروکنترلرها و میکروکامپیوترها است، چارچوب های مشابه دیگری مانند سنسور و CMSIS-NN ARM در حال ساخت هستند.
در حالی که TensorFlow Lite یک پروژه منبع باز در حال پیشرفت است که شروع فوق العاده ای با تیم Google داشت، هنوز برای ورود به جریان اصلی نیاز به حمایت جامعه دارد.
نتیجه
TinyML یک رویکرد جدید است که سیستم های تعبیه شده را با یادگیری ماشین ترکیب می کند. از آنجایی که هوش مصنوعی باریک در بسیاری از حوزهها و حوزهها به اوج میرسد، این فناوری میتواند به عنوان یک زیرشاخه برجسته در یادگیری ماشین و هوش مصنوعی ظاهر شود.
این یک راه حل برای چالش های متعددی است که بخش اینترنت اشیا و متخصصانی که از یادگیری ماشینی در بسیاری از رشته های خاص دامنه استفاده می کنند، اکنون با آن مواجه هستند.
مفهوم استفاده از یادگیری ماشین در دستگاه های لبه با محاسبات کوچک ردپای و مصرف انرژی این پتانسیل را دارد که به طور قابل توجهی نحوه ساخت سیستم های تعبیه شده و روباتیک را تغییر دهد.
پاسخ دهید