در این مقاله قصد داریم دربارهی چرایی پیچیدگی بینایی ماشین و مواجهه آن با دشواریهای زیاد در هنگام اجرا صحبت میکنیم. از این رو در ادامه این مقاله به بررسی نکات زیر خواهیم پرداخت:
- سه دلیل اصلی برای پیچیدگی بینایی ماشین
- دشواریهای فنی اجرای پروژههای بینایی ماشین
- استراتژیهای مدیریت پیچیدگی در بینایی ماشین
امروزه اغلب سازمانها بر روی پروژههای مبتنی بر هوش مصنوعی کار میکنند. در عین حال وقتی بودجهها به پایان میرسند، یا مهلتهای تعیین شده به تاخیر میافتند و یا معیارهای بازگشت سرمایه برآورده نمیشوند، تمامی جذابیتهای هوش مصنوعی به سرعت فروکش میکنند. اما خبر خوب این ماجرا کجاست؟
خبر خوب اینجاست که درک چرایی پیچیدگی بینایی ماشین میتواند به کاهش این پیچیدگی کمک کند. در ادامه به دلایل این مسئله خواهیم پرداخت.
استفاده از بینایی ماشین به محاسبات سنگینی نیاز دارد
هوش مصنوعی در بسیاری از زمینههای زندگی مورد استفاده قرار گرفته و میتواند پیشرفتهای زیادی را در زمینهی شناسایی اطلاعات، برقرار ارتباطات یا انتقال از نقطهی الف به نقطهی ب به وجود بیاورد. پذیرش هوش مصنوعی نه تنها از سوی مصرفکنندگان و در کاربردهایی همانند دستیارهای دیجیتال و وسایل نقلیهی خودران رو به افزایش است، بلکه در صنایع مختلف و مدلهای کسبوکار نیز به شکلی روزافزون مورد استفاده قرار میگیرد. به این ترتیب فرصتهای جدیدی برای ایجاد منابع نوین و با ارزش به وجود میآید.
کاربرد هوش مصنوعی در سطوح انسانی و با توجه به پیشرفتهای سریعی که در حوزهی یادگیری ماشین وجود دارد میتواند با تمرکز بر بینایی ماشین افزایش بیشتری نیز پیدا کند. در چشمانداز کلی هوش مصنوعی میتوان تکنیکهایی را مد نظر قرار که در صنعت پردازش تصویر و برای حل طیف وسیعی از مشکلات حل نشدنی پیشین و با کمک بینایی ماشین و یادگیری عمیق مورد استفاده قرار میگیرند. در عین حال این نوآوری با چالشهای زیادی هم روبهرو خواهد بود.
هوش مصنوعی در فرایند استنتاج، به ویژه برای برنامههای کاربردی فشرده و در زمان واقعی، نیازمند حجم قابل توجهی قدرت پردازشی است. در عین حال میتوان راهکارهای هوش مصنوعی را در محیطهای ابری (Amazon AWS، Google GCP، Microsoft Azure) به کار گرفت تا امکان استفاده و مدیریت سادهتر داراییهای محاسباتی فراهم شود. با این وجود و در اغلب موارد، محیط ابری برای استقرار هوش مصنوعی چندان مناسب نیست.
- اگر راهکار شما نیازمند اجرا در زمان واقعی و پاسخگویی سریع باشد چه خواهد شد؟
- چگونه میتوان سیستمی را که قرار است ماموریت مهمی را به انجام برساند و در خارج از شبکه اجرا میشود مدیریت کرد؟
- چگونه میتوان هزینههای بالای عملیاتی تجزیه و تحلیل دادههای عظیم در محیط ابری را کنترل کرد؟
- در صورت نیاز به ارسال و ذخیرهسازی تصاویر ویدیویی در فضای ابری، چگونه میتوان حریم خصوصی دادهها را رعایت کرد؟
به این ترتیب راهکارهای بینایی ماشین بایستی در اغلب مواقع در نقاط پایانی محاسبات لبه مورد استفاده قرار گیرد تا دادهها در همان نقطهی ضبط پردازش شده و نتایج جهت تجزیه و تحلیل بیشتر به ابر ارسال شوند.
بینایی ماشین و یادگیری عمیق
پیادهسازی بینایی ماشین به دلیل محدودیت سختافزاری با دشواری زیادی روبهرو است. استفاده از این مفهوم در دنیای واقعی نیازمند سختافزار جهت اجرا، دوربینهای مختلف برای ارائهی ورودی تصویری و همچنین سختافزار محاسباتی هوش مصنوعی خواهد بود.
هنگامی که وظایف و ماموریتهای مربوطه اهمیت بالایی داشته و به تحلیل ویدیویی در زمان واقعی وابسته باشند، استقرار راهکارهای هوش مصنوعی در تجهیزات محاسبات لبه (Edge AI) تنها راه برای غلبه بر محدودیتهای مختلف محاسبهی ابری متمرکز به شمار میآید.
مثال مناسب در این زمینه، سیستم تجزیه و تحلیلی است که در دامداری و برای نظارت بر حیوانات مورد استفاده قرار میگیرد. این سیستم با اهمیت تلقی میشود چرا که هرگونه وقفه میتواند تاثیرات نامطلوبی را بر حیوانات بگذارد. ضمنا حجم تصاویر بسیار بالا است. چرا که باید ۳۰ تصویر در ثانیه ضبط و مورد تحلیل قرار بگیرد.
اگر بطور متوسط ۱۰۰ دوربین مورد استفاده باشد، چیزی حدود ۲۵۹.۲ میلیون تصویر در روز دریافت میشود و اگر از محاسبات لبه بهره نگیریم، باید تمامی این دادهها را به محیط ابری ارسال کنیم که این مسئله مشکلات زیادی از جمله افزایش شدید هزینهها را در پی خواهد داشت.
به این ترتیب بهترین گزینه، استفاده از هوش مصنوعی در زمان واقعی و در قسمت لبه خواهد بود: یعنی تحلیل دادهها در مکانی که ایجاد میشوند! در این راستا تنها باید دادههای کلیدی را به منظور تجزیه و تحلیل بیشتر به فضای ابری پشتیبان منتقل کرد.
از این رو قدرتمندترین روش برای ارائهی برنامههای کاربردی بینایی ماشین از طریق هوش مصنوعی، استفاده از به روزترین سختافزارها و شتابدهندههایی است که به منظور بهرهگیری از هوش مصنوعی بهینهسازی شدهاند. این تکنولوژی مبتنی بر تحلیل جریانهای ویدیویی در زمان واقعی با کمک مدلهای آموزش یافته مستقر در تجهیزات متصل به دوربین است.
با توجه به رشد سریع قابلیتها و کاربردهای هوش مصنوعی در پلتفرمها و سختافزارهای Edge AI (Intel NUC، Intel NCS، Nvidia Jetson، ARM Ethos)، انتقال الزامات پردازشی از فضای ابری به لبه گزینهی مطلوبی برای طیف وسیعی از کسبوکار به شمار میآید.
پیچیدگی بینایی ماشین در مقیاسدهی سیستمها
حتی با وجود پشتیبانی قدرتمند سختافزاری برای محاسبات لبه، توسعهی راهکارهای تصویری هوش مصنوعی با پیچیدگیهای زیادی روبهرو است.
در رویکرد متعارف از بلوکهای سازندهی متفاوتی برای توسعهی راهکارهایی در مقیاسهای مختلف استفاده میشود. هفت عامل مهم که موجب پیچیدگی و دشواری پیادهسازی بینایی ماشین میشوند از این قرارند:
- جمعآوری دادههای ورودی مربوط به مسئله
- تخصص کافی در زمینهی کار با چارچوبهای یادگیری عمیق همانند TensorFlow، PyTorch، Keras، Caffe، MXnet که برای آموزش و ارزیابی مدلهای یادگیری عمیق مورد استفاده قرار میگیرند.
- انتخاب سختافزار مناسب (به عنوان مثال Intel، NVIDIA، ARM) و پلتفرمهای نرمافزاری (همانند Linus، Windows، Docker، Kubernetes) و همچنین بهینهسازی مدلهای یادگیری عمیق مورد استفاده در محیط مربوطه.
- مدیریت استقرار هزاران تجهیزات لبه در فضای ابری.
- سازماندهی و بهروز رسانی نقاط پایانی محاسبات لبه.
- نظارت بر شاخصهای مختلف و تحلیل دادهها در زمان واقعی.
- آگاهی کافی نسبت به حریم خصوصی و بهترین رویکردهای امنیتی.
به این ترتیب استفاده از این رویکرد با ریسکهای زیادی روبهرو خواهد بود. به ویژه وقتی به مسائلی همچون زمان استقرار، تخصص کافی و دشواری در توسعهی زیرساختها نگاه میکنیم.
۵ روش برای غلبه بر پیچیدگی اجرای بینایی ماشین
ما در یوآیدی از یک پلتفرم ابری پیوسته استفاده میکنیم که در کاربردهای مختلف بینایی ماشین مورد استفاده قرار میگیرد و در آن بر سادگی استفاده، عملکرد بالا و مقیاسپذیری تمرکز صورت گرفته است.
پلتفرم احراز هویت یوآیدی با تجهیزات مختلفی سازگار بوده و ابزارهای مختلفی جهت یادگیری عمیق و بینایی کامپیوتر، استقرار و استفاده از برنامههای یادگیری عمیق در محیطهایی با کد پایین فراهم میکند.
این پلتفرم ویژگیهای مختلفی را به منظور کاهش پیچیدگی در اجرای بینایی کامپیوتر در مراحل مختلف چرخهی توسعه در اختیار کاربران قرار میدهد. ۵ روش مختلفی که این پلتفرم برای غلبه بر چالشهای موجود به کار میگیردُ به شرح زیر است:
- برنامهنویسی تصویری :
استفاده از یک رویکرد تصویری جهت رفع پیچیدگیهای بینایی کامپیوتر و یادیگری عمیق.
رویکرد برنامهنویسی تصویری میتواند زمان توسعه را بیش از ۹۰% کاهش دهد. علاوه بر این، تلاش برای کد نویسی از همان ابتدا نیز به میزان قابل توجهی کاهش یافته و امکان بررسی عملکرد نیز به خوبی میسر میشود. - مدیریت تجهیزات :
صرف نظر از نوع و معماری این تجهیزات امکان افزودن و مدیریت بر هزاران تجهیزات لبه و سختافزار هوش مصنوعی وجود خواهد داشت. به این ترتیب میتوان نظارت بر شاخصهای مختلف سلامت، آنلاین بودن و عملکرد تجهیزات را بدون نیاز به حتی یک خط کدنویسی به انجام رساند.
این پلتفرم از جمله جدیدترین تراشهها و شتابدهندهی هوش مصنوعی است که جهت کاربردهای مختلف هوش مصنوعی و بینایی کامپیوتر بهینهسازی شده است: Google Coral TPU، Intel Neural Compute Stick 2، NVIDIA Jetson و … از جمله آنها هستند. - مدیریت استقرار :
امکان استفاده از یک سیستم یکپارچه جهت مدیریت تجهیزات مستقر در نقطهی پایانی وجود دارد. به این ترتیب میتوان با کلیک روی یک دکمه، تمامی برنامههای هوش مصنوعی را در تجهیزات مختلف لبه پیادهسازی کرد. ضمنا با تمرکز بر توسعهی الگوریتم، امکان استقرار، نسخهبندی و مدیریت تجهیزات وجود خواهد داشت. - رویکرد ماژولار :
بهرهگیری از ماژولهای نرمافزاری از پیش تعیین شده برای ایجاد موارد مختلف در این بخش قرار دارد. Viso Suite امکان بهرهگیری از پرکاربردترین چارچوبهای یادگیری عمیق برای تشخیص اشیاء، طبقهبندی تصاویر، تقسیمبندی تصاویر و تشخیص نقاط کلیدی به وجود میآورد. بدین ترتیب میتوان مناسبترین مدل را انتخاب کرده و برنامههای کاربردی مطلوب را با کمک هزاران ماژول منطقی آمادهی مصرف به وجود آورد. - انعطافپذیری در صورت نیاز :
با کمک این پلتفرم میتوان الگوریتمها و کدهای مورد نیاز را به راهکارهای اختصاصی بینایی کامپیوتر اضافه کرد. در این راستا تنها باید کدی را که هنوز وجود ندارد ایجاد کرده و بدین ترتیب با سرعتی ۱۰ برابری و با حداقل ریسک به فعالیت پرداخت.