بخشی از مقاله
چکیده
یادگیری عمیق به تازگی نتایج بسیار مثبتی در طیف گسترده ای از بخش ها مانند بینایی کامپیوتر، تشخیص صوت ، تشخیص اشیاء و پردازش زبان طبیعی و ... به دست آورده است . هدف از آن، یادگیری نمایش سلسله مراتبی داده ها با استفاده از مدل های معماری عمیق است . شهر هوشمند با هدف استفاده از فناوریهای دیجیتالی یا فناوری اطلاعات و ارتباطات، به بهبود کیفیت و عملکرد خدمات شهری میپردازد. تجزیه و تحلیل داده نقش مهمی در شهرهای هوشمند دارد. بسیاری از سنسورها در یک شهر هوشمند نصب شدهاند تا حجم زیادی از دادهها نظیر ویدیوهای نظارت، محیط زیست و دادههای حمل و نقل را ضبط کنند.
برای جمع آوری اطلاعات مفید از چنین دادههای بزرگی، اغلب از الگوریتمهای یادگیری ماشین استفاده میشود و نتایج بسیار مثبتی در طیف وسیعی از برنامههای کاربردی به دست میآید. بنابراین، استفاده از ابزارهای یادگیری ماشین میتواند توسعه شهر هوشمند را تسهیل کند. در این مقاله از الگوریتم های یادگیری عمیق برای تجزیه و تحلیل داده های ویدئویی شهر هوشمند در جهت استفاده در موضوعات مختلفی مانند تشخیص شئ ، تشخیص صوت ، دسته بندی اشیاء و صدا های محیط در هر فریم ویدیو ، مورد استفاده قرار می گیرد. در نهایت تلاش شده از ترکیب خروجی های صدا و تصویر ، به مدیریت بهینه در شهر هوشمند بپردازیم .
مقدمه
شهر هوشمند با هدف استفاده از فناوری های دیجیتالی یا فناوری اطلاعات و ارتباطات، به بهبود کیفیت و عملکرد خدمات شهری می پردازد. تجزیه و تحلیل داده نقش مهمی در شهرهای هوشمند دارد. بسیاری از سنسورها در یک شهر هوشمند نصب شده اند تا حجم زیادی از داده ها نظیر ویدیوهای نظارت ، محیط زیست و داده های حمل و نقل را ضبط کنند.
برای جمع آوری اطلاعات مفید از چنین داده های بزرگی، اغلب از الگوریتم های یادگیری ماشینٌ استفاده می شود و نتایج بسیار مثبتی در طیف وسیعی از برنامه های کاربردی به دست می آید ، به عنوان مثال تجزیه و تحلیل ویدئو های دریافتی از دوربین های نظارتی در شهر هوشمند . بنابراین، استفاده از ابزارهای یادگیری ماشین می تواند توسعه شهر هوشمند را تسهیل کند. هدف از یادگیری ماشین توسعه الگوریتم های کامپیوتری است که بتوانند از نمونه های ورودی یاد بگیرند تا بر روی داده های آزمایشی ناشناخته پیش بینی انجام دهند .
چنین الگوریتم هایی را می توان به دو دسته تقسیم کرد: یادگیری با سرپرستیٍ Hardt, Price, & Srebro, 2016 - - - و یادگیری بدون سرپرستیَ . - Serb et al., 2016 - - با توجه به جفت های ورودی و خروجی داده شده،هدف از یادگیری با سرپرستی یافتن یک قانون برای پیش بینی خروجی از ورودی های ناشناخته است.
در مقابل، یادگیری بدون سرپرستی بر بررسی ویژگی های درونی ورودی تمرکز می کند. یادگیری با سرپرستی و یادگیری بدون سرپرستی مکمل یکدیگرند. از آنجایی که یادگیری با سرپرستی ،از ورودی هایی که برای انسان معنی دار است، استفاده می کند، این نوع الگوریتم های یادگیری حل مسائل طبقه بندی الگوها و رگرسیون داده ها را آسان می کند. با این حال، یادگیری تحت نظارت بر داده های نشانه گذاری شده متمرکز است که می تواند هزینه زیادی را در بر داشته باشد . علاوه بر این، عدم اطمینان و ابهام در برچسب ها وجود دارد. به عبارت دیگر، برچسب یک شیء منحصر به فرد نیست. برای مقابله با این مشکلات می توان از یادگیری بدون سرپرستی استفاده کرد زیرا نیاز به برچسب گذاری داده ها ندارد.
در دهه های گذشته، روش های یادگیری ماشین برای طیف وسیعی از برنامه های کاربردی مانند بیوانفورماتیک، بینایی کامپیوتریُ، تشخیص پزشکی، پردازش زبان طبیعی، رباتیک، تحلیل احساسات، تشخیص گفتار و تحلیل بازار سهام و غیره استفاده شده است. در این مقاله از الگوریتم های یادگیری عمیق ِ برای تجزیه و تحلیل داده های ویدئویی شهر هوشمند در جهت استفاده در موضوعات مختلفی مانند تشخیص شئ ، تشخیص صوت ، دسته بندی اشیاء و صدا های محیط در هر فریم ویدیو ، استفاده می کنیم.
در نهایت تلاش شده از ترکیب خروجی های صدا و تصویر ، به مدیریت بهینه تری در شهر هوشمند بپردازیم.در مقایسه با الگوریتم های یادگیری کم عمق ، هدف اصلی یادگیری عمیق این است که از طریق مدل های معماری عمیق با لایه های چندگانه از تغییرات غیر خطی، نمایه های سلسله مراتبی از داده های بزرگ - مانند تصاویر و فیلم ها - استخراج کند .
با استفاده از چنین بازنمودهایی از ویژگی های یاد شده، دستیابی به کارایی بهتر ، نسبت به استفاده از مقادیر پیکسل خام یا ویژگی های دست ساز، راحت تر می شود. داستان اصلی پشت این موفقیت این است که یادگیری عمیق می تواند سطوح مختلف انتزاعی را که در داده های مشاهده شده قرار دارد جدا کند که این کار را با استفاده از طراحی دقیق عمق و عرض لایه و انتخاب درست ویژگی هایی که برای یادگیری مفید هستند انجام می دهد .
در واقع، تاریخ یادگیری عمیق حداقل از سال 1980 شروع می شود، زمانی که نئوکونیترون توسط فوکوشیما پیشنهاد شده است. در سال LeCun 1989پیشنهاد می کند اعمال بازگشتی به یک شبکه عصبی عمیق برای شناسایی کد پستی دست نوشته شود . با این حال، زمان آموزش در شبکه برای استفاده عملی خیلی طولانی بود.
همچنین شبکه های عصبی عمیقّ در سال های اخیر در تشخیص گفتار مورد مطالعه قرار گرفته اند اما به سختی می توانند از مدل های نسبی کم عمق بهتر عمل کنند . دلیل این امر این واقعیت است که معماری های یادگیری عمیق نیاز به اطلاعات آموزشی زیادی دارند که در آن روزهای اولیه کمیاب بود. هینتون و همکاران Hinton et al., 2012 - - - این مشکلات را بررسی کرده و ادعای خود را برای حل این مسائل با استفاده از یادگیری عمیق بیان می کند ، از آنجایی که هینتون پیشرفت هایی در آموزش شبکه های عصبی چند لایه با پیش آموزش یک لایه در یک زمان به عنوان یک دستگاه Boltzmann محدود بدون سرپرست و سپس با استفاده از بازپرداخت تحت نظارت برای تنظیم دقیق - supervised backpropagation for fine-tuning - به دست آورد. پیشرفت یادگیری عمیق، در کنار بسیاری از زمینه های تحقیقاتی دیگر علاوه بر تشخیص گفتار نیز کاربرد دارد.
معماری های یادگیری عمیق دارای انواع مختلفی از قبیل شبکه های باور عمیقْ - DBN - - Diao et al ., 2016 - ، شبکه های عصبی کانولوشن - CNN - - Ketkar, 2017 - ، ماشین های Boltzmann عمیقَ - Leng, Zhang, Yao, & Xiong, 2015 - - DBM - و غیره می باشد. جذاب ترین مدل شبکه های عصبی Convolutional است که نتایج بسیار مثبتی در بین بینایی کامپیوتر و تشخیص گفتار به دست آورده است.
یک CNN معمولا شامل لایه های کانولاسیون، لایه های جمع آوری شده و لایه های کاملا متصل است. با استفاده از لایه های از دست رفته در بالای CNN، کل شبکه را می توان با استفاده از الگوریتم backpropagation به طور کامل آموزش داد.
در مقایسه با دیگر شبکه های عصبی عمیق feed-forward ، آموزش یک CNN راحت تر است زیرا پارامترهای کمتری برای تخمین زدن دارد. به عنوان یک نتیجه، CNN طیف گسترده ای از برنامه های کاربردی مانند طبقه بندی تصویر - Zuo, Wang, Shuai, Zhao, & Yang, 2015 - - ، تشخیص چهره - Chen, Patel, & Chellappa, 2016 - - ، ردیابی شی - Nam & Han, 2016 - ، تشخیص عابر پیاده - - Yang, Nguyen, San, Li, & Krishnaswamy, 2015 - ، پیش بینی ویژگی - Abdulnabi, Wang, Lu, & Jia, 2015 - ، برچسب زدن صحنه - - Shuai, Wang, Zuo, Wang, & Zhao, 2015 ، شناسایی افراد - - Cheng, Gong, Zhou, Wang, & Zheng, 2016 - شناسایی شی - Wang, Lu, Cai, Cham, & Wang, 2015 - , ، برچسب زدن تصویر - Shuai, Zuo, & Wang, 2015 - ، طبقه بندی تصویر صحنه - - Zuo et al., 2015 ، تشخیص گفتار - Huang, Li, & Gong, 2015 - و پردازش زبان طبیعی - Zhang, Quan, & Ren, 2016 - و غیره را در بر می گیرد .
یادگیری عمیق نه تنها مورد توجه دانشگاه ها بلکه در صنعت نیز مورد توجه قرار گرفته است . به عنوان مثال، جف هینتون و لی دینگ همکاری های خود را از سال 2009 در استفاده از یادگیری عمیق برای تشخیص گفتار در مقیاس بزرگ آغاز کردند. که در آن عملکرد با استفاده از داده های آموزشی بزرگ و شبکه های عصبی عمیق طراحی شده به طور قابل توجهی در برابر مدل های تولید شده سنتی بهبود یافته است .
شهر هوشمند به اصطلاح "هوشمند" نامیده می شود زیرا توانایی محاسبه و تجزیه و تحلیل داده های شهری ازجمله سیستم های نظارت، دفاتر دولتی، شرکت های تجاری و وب سایت های شبکه های اجتماعی را دارد . از آنجا که یادگیری عمیق برای رسیدگی به داده های مقیاس بزرگ مناسب است، می توان آن را برای پردازش و تجزیه و تحلیل میلیون ها داده ی ویدئویی گرفته شده از سنسورهای توزیع شده در یک شهر هوشمند استفاده کرد. با توجه به این داده ها، بسیاری از موضوعات فعال پژوهشی مانند تشخیص شی، ردیابی شی، تشخیص چهره، تشخیص صوت ، طبقه بندی تصویر و برچسب زدن صحنه ها وجود دارد. در ادامه ما به بررسی الگوریتم CNN ، که در حوزه شهر هوشمند کاربردی است می پردازیم .
یادگیری عمیق
الگوریتم های یادگیری عمیق زیرمجموعه ای از الگوریتم های یادگیری ماشین هستند ، که هدف آن ها استخراج ویژگی ها به صورت هوشمند در طول چند مرحله عملیات یادگیری و در نهایت رسیدن به سطوح نمایشی از داده های ورودی می باشد . DL متشکل از تکنیک های یادگیری باسرپرستی و بدون سرپرستی بر اساس لایه های بسیاری از شبکه های عصبی مصنوعی است که قادر به ارائه یادگیری سلسله مراتبی در معماری های عمیق هستند. معماری DL شامل چندین لایه پردازش است. هر لایه قادر به تولید پاسخ های غیر خطی بر اساس داده های لایه ی ورودی است - DL . - Wang et al., 2015 از مکانیسم نورون و مغز انسان برای پردازش سیگنال تقلید می کند .
شبکه های عصبی پیچیدهُ - CNNs -
شبکه های عصبی عمیق به خاطر داشتن یک اتصال متراکم بین لایه ها آموزش در آنها دشوار است و به خوبی اندازه گیری نمی شوند . یک دلیل مهم ویژگی انتقال بدون تغییردر چنین مدلهایی است. بنابراین، این شبکه ها ویژگیهایی که ممکن است در تصویر تغییر کند - از جمله چرخش دست در تشخیص زانو - را یاد نمیگیرند. شبکه های عصبی پیچیده با حمایت از محاسبات انتقال هم واریانس، این مشکل را حل کرده اند. یک شبکه های عصبی پیچیده CNN ورودی دو بعدی را دریافت می کند - مثلا یک سیگنال تصویر یا گفتار - و ویژگی های سطح بالا را از طریق یک سری لایه های پنهان استخراج می کند.
لایه های پنهان شامل لایه های کانولوشن و همچنین لایه های کاملا متصل در انتها هستند. لایه ی پیچیده در مرکز یک شبکه عصبی پیچیده قرار دارد و شامل مجموعه ای از پارامترهای قابل یادگیری به نام فیلترها است ، که شکل آن همان شکل ورودی است اما با ابعاد کوچکتر. در روند آموزش، فیلتر هر لایه کانولوشن بروی ورودی ها اعمال می شود - به عنوان مثال، در یک تصویر، آن را در طول و عرض تصویر می چرخاند - و محصول داخلی ورودی و فیلتر را محاسبه می کند. این محاسبات بروی ورودی باعث ایجاد یک نقشه ویژگی از فیلتر می شود.
یکی دیگر از بلوک های ساختمان CNN ، لایه های pooling است که بر روی نقشه های ویژگی کار می کنند. هدف از داشتن لایه های pooling کاهش ابعاد، به منظور کاهش تعداد پارامترها و زمان محاسبه و همچنین کاهش احتمال overfitting است Maxpooling یک رویکرد رایج است که فضای ورودی را به مناطق غیر همپوشانی تقسیم می کند Hoo-Chang et al., 2016 - - - و حداکثر مقدار را برای هر ناحیه در نظر می گیرد. آخرین بخش مهم در CNN واحدهای خطی اصلاح شده - ReLU - است که شامل نورون هایی با تابع فعال در فرم f - x - = max - 0; x - است. معرفی این تابع فعال در CNN موجب افزایش زمان آموزش بدون تأثیرمنفی بر تعمیم شبکه می شود.