Deep learning world



برای اکثریت ما، مفاهیمی مانند یادگیری عمیق و هوش مصنوعی هنوز واژه هایی بیگانه هستند. بیشتر افرادی که برای اولین بار با این اصطلاحات مواجه شده اند با احساساتی ترکیب از تردید و ارعاب واکنش نشان می دهند. چگونه می توان به ماشین ها آموزش داد و آن ها را وادار به انجام کارهای انسانی کرد؟ چه چیزی رفتار انسان گونه ماشین ها را توجیه می کند؟ 
این ها سوالاتی مهم و بحث برانگیز در زمینه دیپ لرنینگ هستند. اما انسان همچنان قادر به پاسخ گویی و برطرف کردن تمامی تردیدهاست. به شرط آن که مایل به بررسی کاربردهای یادگیری عمیق و هوش مصنوعی در زندگی روزمره خود باشید. در این مقاله، ما ده کاربرد جالب دیپ لرنینگ و هوش مصنوعی را در زندگی روزانه بررسی می کنیم.

نگاهی کوتاه به مفهوم یادگیری عمیق

یادگیری ماشین و یادگیری عمیق هر دو زیر مجموعه هوش مصنوعی هستند. اما یادگیری عمیق مرحله تکامل یافته و پیشرفته یادگیری ماشین است. در یادگیری ماشین، برنامه نویسان انسانی الگوریتم هایی را ایجاد می کنند که با استفاده از داده ها، تجزیه و تحلیل می کنند.
یادگیری عمیق با یادگیری ماشین متفاوت است زیرا در یک شبکه عصبی مصنوعی کار می کند که از مغز انسان الگو گرفته است. چنین ماشین هایی با ظرفیت یادگیری عمیق نیازی به پیروی ازدستورالعمل برنامه نویسان انسانی ندارند. در واقع دیپ لرنینگ از طریق حجم عظیم داده هایی که ما روزانه ایجاد می کنیم فعالیت می کند.
مدل های یادگیری عمیق در برخی جهات از هوش مصنوعی برتری دارند. برای مثال در بحث تشخیص تصویر، الگوریتم یادگیری عمیق دو برابر موثرتر از هر الگوریتم دیگر عمل می کنند.
فرض کنید یک مدل هوش مصنوعی به دقت ۵٠ درصد برسد. در این صورت این دستگاه برای استفاده مناسب نخواهد بود. برای مثال یک اتومبیل را در نظر بگیرید. یک فرد به اتومبیلی که ترمزش در ۵٠ درصد مواقع کار می کند اعتماد نمی کند. در حالی که اگر دقت مدل هوش مصنوعی سیستم به حدود ٩۵ درصد برسد برای استفاده عملی بسیار مطمئن تر خواهد بود. این سطح از دقت فقط با الگوریتم های یادگیری عمیق حاصل می شوند.

٩ کاربرد یادگیری عمیق در زندگی روزانه

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

١. دید رایانه ای (دید کامپیوتری)

دیپ لرنینگ و یادگیری عمیق و هوش مصنوعی

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

٢. ربات های مبتنی بر دیپ لرنینگ

دیپ لرنینگ و یادگیری عمیق و هوش مصنوعی

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

٣. ترجمه خودکار

ترجمه های خودکار قبل از ظهور یادگیری عمیق نیز وجود داشته اند. اما یادگیری عمیق به ماشینها کمک می کند تا ترجمه ها را با دقت بالایی ارائه دهند؛ دقتی که در گذشته وجود نداشت. بعلاوه، یادگیری عمیق همچنین در ترجمه به دست آمده از تصاویر نیز کارآمد بوده است؛ فرایندی کاملاا جدید که با استفاده از تفسیر سنتی مبتنی بر متن امکان پذیر نبود.

۴. تجربه مشتری

دیپ لرنینگ و یادگیری عمیق و تجربه مشتری و هوش مصنوعی

بسیاری از مشاغل قبلا از یادگیری ماشین در زمینه تجربه مشتری استفاده کرده اند. به عنوان مثال می توان از پلتفرم های سلف سرویس آنلاین نام برد. بعلاوه، بسیاری از سازمان ها اکنون به یادگیری عمیق برای ایجاد گردش کار قابل اعتماد وابسته هستند. بیشتر ما قبلا با ربات های چت ( Chatbots) که توسط سازمان ها مورد استفاده قرار گرفته اند آشنا هستیم.
برای بهبود تجربه مشتری می توان از یادگیری عمیق برای تشخیص گفتار استفاده کرد. فناوری تشخیص گفتار مدت مدیدی است که وجود دارد ، اما تا رسیدن مدل های یادگیری عمیق ، تبدیل به یک محصول قابل فروش نمی شود.
نسل جدید کاربران مایلند با دستگاه و وسایل ارتباط برقرار کنند. به عنوان مثال siri اپل را در نظر بگیرید، که امکان فرمان صوتی و تشخیص صدا را نیز فراهم می کند. برقراری ارتباط با siri شبیه به تعامل با یک انسان است.

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

۵. اتومبیل های خودران

دیپ لرنینگ و یادگیری عمیق و اتومبیل های خودران و هوش مصنوعی

اگر به اندازه کافی خوش شانس بودید تا یک اتومبیل بدون راننده در حال حرکت را ببینید؛ بدانید که چندین مدل هوش مصنوعی به طور همزمان در آن در حال فعالیت هستند. بعضی مدل ها در شناسایی علائم رانندگی و بعضی در تشخیص عابرین پیاده مهارت دارند. بسیاری بر این عقیده هستند که اتومبیل های خودران ایمن تر از اتومبیل های دارای راننده عمل خواهند کرد.

۶. رنگ آمیزی

در گذشته اضافه کردن رنگ به فیلم های سیاه و سفید یکی از وقت گیرترین شغل ها در تولید رسانه بود. اما به لطف مدل های یادگیری عمیق و هوش مصنوعی افزودن رنگ به عکسها و فیلمهای B/W، اکنون از همیشه راحت تر است.

٧. تجزیه و تحلیل تصویر و تولید زیرنویس

دیپ لرنینگ و یادگیری عمیق و تجزیه و تحلیل تصویر و هوش مصنوعی

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

٨. تولید متن

ماشین ها اکنون توانایی تولید متن جدید از ابتدا را دارند. آن ها می توانند نگارش، گرامر و سبک یک متن را یاد بگیرند و اخبار مؤثر را بنویسند. روبات های رومه نگاران که بر مدلهای یادگیری عمیق سوار شده اند؛ حداقل بیش از سه سال است که گزارش های دقیقی از مسابقات ارائه می دهند. و این مهارت منحصرا محدود به نوشتن گزارش نیست.
تولید متن مبتنی بر هوش مصنوعی تا حدی مجهز است که قادر به تحلیل بخش نظرات نیز می باشد. تا به امروز تولید متن در زمینه های مختلف، از مباحث مربوط به کودکان تا مقالات علمی، بسیار کارآمد بوده است.

٩. شناسایی زبان

دیپ لرنینگ و یادگیری عمیق و شناسایی زبان و هوش مصنوعی

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

این موارد تنها چند نمونه از کاربردهای یادگیری عمیق بودند که تاکنون وجود دارند. یادگیری عمیق راهی را برای شرکت ها فراهم می کند تا ماژول های یادگیری را توسعه دهند. وقتی الگوریتم های پیچیده تر و غنی تری ایجاد شوند، شرکت ها قادر خواهند بود به رشد فزاینده دست یابند.

آموزش دیپ لرنینگ آکادمی آمانج


Deep learning world

دهه گذشته شاهد پیشرفت فزاینده ای در فناوری اتومبیل های خودران بوده ایم که عمدتاً از پیشرفت در زمینه دیپ لرنینگ و هوش مصنوعی ناشی می شد. در آینده ای نه چندان دور اتومبیل های خودران  ایمن ترین وسایل نقلیه در جاده ها خواهند بود. اگرچه امروزه بسیاری از وسایل نقلیه از ” سیستم های کمک راننده ” استفاده می کنند؛ اما همچنان اتومبیل ها نیازمند انسان ها هستند. صنعت خودروسازی با استفاده از مجموعه ای بسیار قوی تر از داده های حسگر و امکان پردازش سریع این داده ها؛ در پی ایجاد یک اتومبیل کاملا مستقل است.
ظهور اتومبیل های خودران در زندگی انسان ها باعث کاهش تصادفات جاده ای، کاهش ترافیک و تسهیل رفت و آمد در شهرهای پر ازدحام خواهد شد.

 

 

نقش دیپ لرنینگ در پیشرفت اتومبیل های بدون راننده

در طی یک دهه گذشته، یادگیری عمیق و هوش مصنوعی به اصلی ترین فناوری ها در پیشرفت بسیاری از تکنولوژی ها از قبیل روباتیک، پردازش زبان طبیعی، سیستم های ضد ی و اتومبیل های بدون راننده تبدیل شدند.
در این راستا، هوش مصنوعی، دیپ لرنینگ و شبکه های عصبی می توانند در این سه زمینه موثر باشند:
• استفاده از داده های حسگر به منظور طراحی صحنه
• تشخیص علائم و قوانین رانندگی
• یادگیری مداوم به منظور بهبود ایمنی و عملکرد
در حال حاضر، سیستم های کمک راننده، عملکردهای رانندگی نظیر: مسیریابی، کنترل حرکت بین خطوط، جلوگیری از تصادف و پارک کردن را کنترل می کنند. اما آن ها قادر به رانندگی بدون حضور انسان نیستند. حال آنکه هوش مصنوعی و فناوری های یادگیری عمیق، با استفاده از حسگرهای پیشرفته و نقشه برداری مسیر، کمک می کنند تا اتومبیل ها کاملاً خودمختار و ایمن تر از خودروهای رانده شده توسط انسان حرکت کنند.
مسیر پیشرفت اتومبیل های خودران دارای چندین سطح است:
• سطح ٠: اتومبیل به طور کامل توسط انسان هدایت می شود.
 سطح ١: فرمان، ترمز، شتاب، پارکینگ و سایر کارکردها می توانند به صورت اتوماتیک توسط اتومبیل انجام شوند، اما راننده همیشه آماده است تا کنترل اتومبیل را به دست بگیرد.
• سطح ٢: حداقل یک سیستم کمک به راننده کاملا خودکار وجود دارد (مانند کنترل سرعت و مسیر حرکت) اما راننده هوشیار است تا در صورت عدم موفقیت سیستم، حوادث یا اشیاء را تشخیص داده و عکس العمل نشان دهد.
• سطح ٣: رانندگان می توانند هنگامی که شرایط محیطی و ترافیکی را مناسب دیدند، عملکردهای اصلی را به طور کامل به وسیله نقلیه واگذار کنند. در این سطح، برخلاف سطوح قبلی، نیازی به نظارت دائمی توسط راننده وجود ندارد.
• سطح ۴: وسیله نقلیه کاملاً خودمختار بوده و قادر به انجام کلیه عملکردهای مهم رانندگی در ایمنی و نظارت بر شرایط جاده برای یک سفر کامل است.
• سطح ۵: وسیله نقلیه کاملا خودمختار عمل می کند؛ و به اثبات می رسد که بهتر از یک انسان رانندگی می کند.
امروزه بیشتر اتومبیل های موجود در جاده ها در سطح صفر قرار دارند؛ در حالی که بسیاری از وسایل نقلیه تولید شده در چند سال گذشته دارای استقلال سطح ١یا ٢ هستند. سطوح بالاتر نیازمند هوش مصنوعی هستند. سطح ۴ و ۵ با استفاده از فناوریهای پیشرفته یادگیری عمیق ساخته خواهد شد.

نیازهای عملکردی در رانندگی بدون راننده

رانندگی بدون راننده نیاز به مجموعه ای پیچیده از عملکردهای پیشرفته برای سنجش آنچه اتفاق می افتد دارد. نقشه برداری از مسیر، ایجاد ت های رانندگی برای مقابله با موقعیت های قابل پیش بینی و غیرقابل پیش بینی نمونه هایی از آن هستند.

حسگر:

بیشتر اتومبیل های هوشمند برای درک محیط رانندگی از: LiDAR (روشی که از نور لیزر برای اندازه گیری فاصله استفاده می کند)، رادار (برای تشخیص اشیاء) و دوربین های دیجیتال استفاده می کنند. آن ها شرایط را بررسی کرده و تحلیل می کنند:
• اشیاء ساکن مانند محدوده جاده، گارد ریل ها و خطوط مخصوص دوچرخه
• اشیاء متحرک از جمله سایر وسایل نقلیه ، عابرین و دوچرخه ها
• داده ها و علائم مانند خطوط، مناطق پارکینگ، علائم راهنمایی و رانندگی و چراغ ها

سنجش دقیق در اتومبیل های بدون راننده :
اتومبیل های خودران و اتومبیل های بدون راننده و رانندگی بدون راننده و دیپ لرنینگ و شبکه های عصبی
شکل ١: سنسورهای چندگانه ، وسایل نقلیه خودمختار را قادر می سازند تا هم اشیاء متحرک و هم ایستا را با دقت تشخیص دهند. این سنسورها صحنه را در کل حاشیه خودرو چندین بار در ثانیه ردیابی و طبقه بندی می کند.

 

مسیریاب:

اتومبیل های هوشمند از داده های GPS برای رسیدن باز نقطه A به نقطه B استفاده می کنند. اما همچنان به ترجیحات راننده نیز نیاز دارند تا نقشه برداری از مسیر را تا حد امکان کارآمدتر کنند.

 

ت رانندگی:

سیستم های خودکار باید بدانند چه زمانی خطوط را عوض کرده یا سرعت را تغییر دهند. رانندگان انسانی مجموعه ای از ت ها را متناسب با سبک رانندگی و شرایط رانندگی خود ایجاد می کنند. اتومبیل های بدون راننده نیز برای اتخاذ تصمیمات ایمن، به مجموعه ای از ت های جامع نیاز دارند.
سیستم عامل های اتوموبیل های خودران باید:
o به طور پیوسته اجرا شوند
o قادر به فعالیت ایمن در شرایط سخت ( هوای بد یا ترافیک سنگین) و شب باشند
o به رفتار غیر قابل پیش بینی سایر وسایل نقلیه، عابرین، تعمیرات جاده ای و غیره بدون درصد خطا واکنش نشان دهند.
هر یک از این نیازها بیانگر چندین چالش در فناوری است. یکی از مهمترین اامات که به درستی توسط یادگیری عمیق پوشش داده می شود؛ توانایی درک کل تصویر در لحظه است (که توسط چندین سنسور شکل می گیرد).

شبکه های عصبی صحنه را ترسیم می کنند

سخت افزار سنسور داخلی ساخته شده توسط تسلا: شامل ٨ دوربین فراگیر، ١٢ سنسور فراصوت به علاوه رادار روبرو است. همه این سنسورها چندین بار در ثانیه داده ها را جمع آوری می کنند.
اگر سنسورها را چشم یک وسیله نقلیه در نظر بگیریم، شبکه های عصبی مصنوعی به عنوان قشر مغز عمل کرده و داده های حسگر را به یک تصویر قابل استفاده از فضای جاده تبدیل می کند. شبکه های عصبی صحنه اطراف اتومبیل در حال حرکت را نقاشی می کنند، حد مجاز سرعت ارسال شده را خوانده و از آن پیروی می کنند. علامت توقف و چراغ سبز را تشخیص می دهد؛ افراد، مشاغل و حتی زباله های موجود در جاده را شناسایی می کنند.

تشخیص خطر اتومبیل:
اتومبیل های خودران و اتومبیل های بدون راننده و رانندگی بدون راننده و دیپ لرنینگ و شبکه های عصبی
شکل ٢: اتومبیل ها با قابلیت انتقال هشدارهای ایمنی، می توانند حضور موانع پیش رو را به اتومبیل های پشت سر خود اطلاع دهند تا از بروز حوادث جلوگیری کنند.
مهندسی نرم افزار فعلی و ابزارهای مبتنی بر قوانین، به اندازه کافی قدرتمند نیستند تا مشکلات پیچیده ای مانند تفسیر داده های سنسور و رانندگی مستقل را حل کنند. متغیرهای بسیار زیادی وجود دارد. مسائل پیش بینی نشده بسیاری وجود دارد که انسان باید آن ها را پیش بینی کرده و برایشان برنامه ریزی کند.
اساسی ترین تکنولوژی های یادگیری عمیق استفاده شده در اتومبیل های بدون راننده عبارتند از: شبکه های عصبی پیچشی، شبکه های عصبی بازگشتی و شبکه های عصبی تقویتی.

شبکه های عصبی پیچشی (CNN):

شبکه های عصبی پیچشی عمدتا برای پردازش اطلاعات مکانی مانند تصاویر مورد استفاده قرار می گیرند؛ و می توان آنها را به عنوان استخراج کننده ویژگی های تصویر مورد استفاده قرار داد. قبل از ظهور یادگیری عمیق سیستم های بینایی رایانه ای بر اساس ویژگی های دستی به کار گرفته می شدند. شبکه های عصبی پیچشی را با تقریبی می توان با قسمتهای مختلف قشر بینایی داران مقایسه کرد.

شبکه های عصبی بازگشتی(RNN):

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

شبکه های عصبی تقویتی (DRL):

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

جمع بندی:

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

منبع:

https://amanjacademy.com/how-self-driving-cars_become-to-reality/


Deep learning world

مقدمه:
این روزها بحث های گوناگونی درباره وظایف انسان که می تواند توسط ماشین ها جایگزین شود وجود دارد. در حالی که فناوری به سرعت و همراه با ترس و هیجان در حال پیشرفت است؛ عباراتی مانند هوش مصنوعی، ماشین لرنینگ و دیپ لرنینگ ممکن است شما را دچار اضطراب کنند.
هوش مصنوعی به طور ساده به معنی انجام وظایف انسانی توسط ماشین های هوشمند می باشد. دیپ لرنینگ ( یادگیری عمیق ) زیر مجموعه ماشین لرنینگ است؛ که توسط هوش مصنوعی و با تقلید از عملکرد مغز انسان، قادر به پیش بینی خروجی ها و ایجاد الگوهای تصمیم گیری است. دیپ لرنینگ به شبکه های عصبی مصنوعی اشاره دارد که از چندین لایه یادگیری تشکیل شده اند. همچنین از بسیاری از DNN ها به منظور یادگیری سطح انتزاع استفاده می کند.

فهرست:

١. یادگیری عمیق چگونه کار می کند؟
٢. دیپ لرنینگ یک “یادگیری ویژگی” دارای سلسله مراتب است
٣. انواع الگوریتم ماشین لرنینگ
۴. یادگیری عمیق در ماشین لرنینگ
۵. جمع بندی

١. یادگیری عمیق و شبکه های عصبی چگونه کار می کنند؟

دیپ لرنینگ در دوره دیجیتال تکامل یافته است. که باعث پدید آمدن داده هایی به نام داده های بزرگ ( Big Data ) شده است. این داده ها از وب سایت های رسانه های اجتماعی، موتورهای جستجو و سیستم عامل های تجارت الکترونیکی گردآوری جمع آوری شده اند. این داده های بزرگ قابل دسترس بوده و از طریق ابر رایانه ها به اشتراگ گذاشته می شوند.
ایده دیپ لرنینگ را می توان به این شکل توصیف کرد:

دیپ لرنینگ و یادگیری عمیق و شبکه های عصبی و ماشین لرنینگ و هوش مصنوعی

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

٢. دیپ لرنینگ یک “یادگیری ویژگی” دارای سلسله مراتب است

یادگیری ویژگی چیست؟
یادگیری ویژگی به مجموعه ای از تکنینک ها اطلاق می شود که امکان یادگیری یک ویژگی را داراست. برای مثال طبقه بندی داده های خام. یادگیری ویژگی در قالب سلسله مراتب هوش مصنوعی کار می کند.
علاوه بر مقیاس پذیری، دیپ لرنینگ به ما امکان یادگیری ویژگی را نیز می دهد. به طور کلی، یادگیری مراحل پیچیده را برای ماشین ها آسان می کند. یادگیری عمیق به استفاده از ساختارهای ناشناخته در داده های ورودی کمک می کند. در لایه های بالاتر، ویژگی های دیپ لرنینگ به چند لایه تقسیم می شوند. ویژگی های یادگیری در چندین سطح به ماشین ها برای درک سیستم های پیچیده یادگیری عمیق کمک می کنند.

٣. انواع الگوریتم ماشین لرنینگ

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

ب: الگوریتم یادگیری بدون نظارت
در این الگوریتم، کامپیوترها با داده های بدون برچسب آموزش داده می شوند. الگوریتم های یادگیری بدون نظارت تلاش می کنند تا با استفاده از تکنینک هایی بر روی داده های ورودی، الگوها را تشخیص دهند، داده ها را خلاصه و گروه بندی کنند و به ارائه پیشنهادی معنا دار کمک کنند. در این الگوریتم هم نیازمند داده های دارای برچسب هستیم؛ اما خروجی هدف وجود ندارد.

ج: الگوریتم یادگیری نیمه نظارتی
این الگوریتم بین دو حالت قبلی قرا می گیرد. در بسیاری از شرایط، هزینه برچسب دار کردن داده ها زیاد است. زیرا نیازمند متخصصان ماهر است. بنابراین، در مواجهه با این موارد، الگوریتم های یادگیری نیمه نظارتی بهترین انتخاب برای ساخت مدل هستند. این الگوریتم بر این ایده است که اگرچه گروه داده های بدون برچسب نامشخص است؛ اما این داده ها اطلاعات ارزشمندی درباره پارامترهای گروه را دارا هستند.

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

۴. یادگیری عمیق در ماشین لرنینگ

یکی از رایج ترین تکنیک های مبتنی بر هوش مصنوعی برای پردازش داده های بزرگ، ماشین لرنینگ است. الگوریتم خود-سازگار به طور مداوم بر اساس الگوها، بهتر شده و خود را آموزش می دهد. یادگیری عمیق به ماشین ها اجازه می دهد حتی در هنگام استفاده از مجموعه داده ای که بسیار متنوع ، بدون ساختار و به هم پیوسته است ، مشکلات پیچیده را حل کنند. هرچه الگوریتم های یادگیری، عمیق تر یاد بگیرند ، عملکرد بهتری خواهند داشت.
بیایید با یک مثال جلو برویم:
اگر یک شرکت پرداخت دیجیتال در صدد تشخیص وقوع ی در سیستم پرداخت خود باشد، می تواند از ابزارهای یادگیری ماشین استفاده کند. الگوریتم محاسباتی که در درون سیستم ساخته شده است، قادر به بررسی تمام معاملات انجام شده است. بنابراین، طبق مجموعه داده های مختلف می توان الگوی ناهنجاری های رخ داده در سیستم را مشاهده کرد. این ابزارها، کار را به صورت خودکار انجام داده و از دسترسی غیر مجاز سیستم ها جلوگیری می کنند. دیپ لرنینگ، زیر مجموعه شبکه ماشین لرنینگ است که از شبکه عصبی مصنوعی (ANN ) در جهت انجام فرایندها استفاده می کند.

دیپ لرنینگ و یادگیری عمیق و شبکه های عصبی و ماشین لرنینگ و هوش مصنوعی

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

۵.جمع بندی:
یادگیری عمیق از انسان تقلید کرده و از طریق الگوریتم شبکه عصبی مصنوعی تصمیم گیری می کند. داده های بدون ساختار و بدون برچسب را می توان با دیپ لرنینگ پردازش کرد. همچنین از یادگیری عمیق می توان برای شناسایی پولشویی در سیستم ها استفاده کرد.
الگوهای دیپ لرنینگ فقط برای تنها برای ثبت الگوهای معاملاتی ایجاد نمی شوند؛ بلکه به منظور هشدار در صورت بروز فعالیت های انه نیز کاربرد دارند. لایه های آخر، به یک تحلیل گر هشدار می دهد؛ تحلیل گر، حساب کاربر را مسدود کرده و تمام معاملات آن را متوقف می سازد.
یادگیری عمیق در تمام صنایع مورد استفاده قرار می گیرد. مثلا می توان از دیپ لرنینگ در تحقیق پزشکی به عنوان یک ابزار برای تشخیص امکان استفاده مجدد از داروها بهره برد. یا گوگل در نتایج تحقیقات خود یک واقعیت افزوده را منتشر کرده که مبتنی بر ماشین لرنینگ است. همچینین از یادگیری عمیق در اپلیکیشن های مصرف کنندگان و برنامه های تجاری که از تشخیص تصویر استفاده می کنند، کمک گرفته می شود. نکته اصلی این است که لایه های شبکه عصبی یادگیری عمیق توسط مهندسین انسانی طراحی و سخته نمی شوند؛ بلکه توسط مجموعه داده ها و با استفاده از فرایند یادگیری چند منظوره ایجاد می شوند.

منبع:

https://amanjacademy.com/important-tips-about-deep-learning/


Deep learning world

اگر ایده ای خلاقانه دارید و به دنبال ساخت اپلیکیشن برای اندروید هستید، این مقاله می تواند شما را یاری کند.
مطمئنا ترس از کدنویسی می تواند شما را در ساخت اپلیکیشن شخصی دو دل کرده و یا شما را وادار کند تا به دنبال بهترین نرم افزار ساخت اپلیکیشن باشید. خبر خوب این است که ورود به بازار اپلیکیشن های تلفن همراه آسان تر است ( بدون نیاز به تجربه کدنویسی). خواه برای کسب و کار، وبلاگ، محصول، خدمات یا موارد دیگر باشد، گزینه های ایجاد اپلیکیشن برا ی اندروید بسیار فراوان بوده و به سادگی یافت می شوند. با صرف اندکی زمان و تمایل به یادگیری، می توانید اپلیکیشن تلفن همراه خود را با استفاده از یکی از سیستم عامل های ساخت برنامه ذکر شده در زیر ایجاد و مدیریت کنید. (تعدادی از این برنامه ها در سیستم عامل هایی به جز اندروید هم کاربرد دارند).

آنچه در این نوشته خواهیم داشت

  • ١. Appery
  • ٢. Mobile Roadie
  • ٣. TheAppBuilder
  • ۴. Good Barber
  • ۵. AppMachine
  • ۶. GameSalad
  • ٧. ShoutEm

١. Appery

اپلیکیشن اندروید و طراحی اپلیکیشن و ساخت اپلیکیشن

Appery یک سازنده برنامه تلفن همراه مبتنی بر ابر (Cloud) است که می توانید از آن برای ایجاد اپلیکیشن در اندروید استفاده کنید؛ و شاملApache Cordova (Phone Gap) ، Ionic و jQuery Mobile با دسترسی به اجزای داخلی آن است. از آنجایی که سازنده در ابر اجرا می شود ، هیچ نصب یا دانلودی لازم نیست و به راحتی می توان کار را شروع کرد.
Appery شامل یک ویرایشگر بصری است که از اجزای کشیدن و رها کردن (drag and drop) برای ساخت UI استفاده می کند. Appery به طور خودکار برای هر مؤلفه کد ایجاد می کند. می توانید به هر REST API (رابط برنامه‌نویسی کاربردی) متصل شده و در برنامه خود از آن استفاده کنید؛ و در صورت نیاز به ذخیره داده، سریعا یک پایگاه داده ابری اضافه کنید. همچنین با استفاده از Appery می توانید عملکردهای قدرتمندی را اضافه کرده و یا افزونه های شخصی و دلخواه خود را ایجاد کنید. اگر به صورت گروهی فعالیت می کنید، می توانید به طور همزمان پروژه خود را با افراد گروه به اشتراک بگذارید.

٢. Mobile Roadie

اپلیکیشن اندروید و طراحی اپلیکیشن و ساخت اپلیکیشن

Mobile Roadie یک سازنده اپلیکیشن است که به هر کسی امکان می دهد تا اپلیکشن اندروید خود را ایجاد و مدیریت کند. نکته مثبت این است که فرایند ساختن به شکل بصری اتفاق می افتد. این پلتفرم انواع رسانه ها را پشتیبانی کرده و کیفیت و مناسب بودن محتواها را بررسی می کند. همچنین می توانید برنامه خود را از طریق Mobile Roadie’s back end پیش نمایش دهید. به علاوه این سازنده اپلیکیشن گزینه ارسال پوش نوتیفیکیشن (Push Notification) را به شما می دهد. و این می تواند از سایت خود شما یا از طریق خود پلتفرم محتوا باشد. این پلتفرم به طور کلی زبان agnostic است ، بنابراین می توانید داده ها را در قالب های مختلفی از جمله XML ، JSON ، PHP ، CSV و HTML قرار دهید. در شروع کار چندین گزینه طرح بندی به شما ارائه می شود؛ اما می توانید هر یک از آنها را به دلخواه خود تنظیم کنید. Mobile Roadie برای برندها و سرویس ها مناسب تر از کالاها است.

٣. TheAppBuilder

اپلیکیشن اندروید و طراحی اپلیکیشن و ساخت اپلیکیشن

TheAppBuilder مجموعه ای از برنامه های مناسب برای کارمندان، مشتریان، رویدادها و بروشورها را با دو رویکرد متفاوت فراهم می کند. اگر می خواهید یک اپلیکیشن اندروید را به صورت اینترانت برای یک شرکت طراحی کنید، این یک پلتفرم مناسب خواهد بود.
با استفاده از AppLibrary اختصاصی می توانید پنجره ای را در چندین برنامه در اختیار کاربران خود قرار دهید و حتی آن را با برند شخصی خود اختصاصی کنید. شما می توانید برنامه عمومی و خصوصی را با نام کاربری و رمزعبور محافظت کنید و آنها را از طریق فروشگاه اپلیکیشن توزیع کنید. بروزرسانی ساختار و محتوای اپلیکیشن های شما آسان است، زیرا می توانید بروزرسانی های نامحدودی انجام داده و تنها با چند کلیلک آن را بر روی سیستم عامل های تلفن همراه منتشر کنید.

۴. Good Barber

اپلیکیشن اندروید و طراحی اپلیکیشن و ساخت اپلیکیشن

Good Barber یک بستر برای ساخت اپلیکیشن های اندروید به همراه برنامه های وب بهینه ارائه می دهد. برای هر یک از سیستم عامل ها، بدون کدنویسی می توانید تمام جزئیات اپلیکیشن را کنترل کنید. چندین قالب قابل تنظیم، با آی های زیبا و با دسترسی به فونت های گوگل برای شروع کار وجود دارند. این اپلیکیشن ها می توانند به صورت تئوری جایگزین وب سایت فعلی شما شوند؛ زیرا می توانند برای دسک تاپ ، موبایل و تبلت بهینه شوند. به علاوه می توانید اپلیکیشن خود را سازماندهی کرده و بخش هایی از فیلم، عکس، صدا و موارد دیگر را اضافه کنید.

۵. AppMachine

اپلیکیشن اندروید و طراحی اپلیکیشن و ساخت اپلیکیشن

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

۶. GameSalad

اپلیکیشن اندروید و طراحی اپلیکیشن و ساخت اپلیکیشن

GameSalad به شما امکان می دهد بازی هایی را برای انواع مختلف سیستم عامل مانند اندروید ایجاد و منتشر کنید. رابط کشیدن و رها کردن آن به شما امکان می دهد تا بدون نیاز به دانش برنامه نویسی به سرعت شروع به کار کنید. به علاوه به شما این امکان را می دهد تا علوم کامپیوتر را از طریق فرآیند ساختن یاد بگیرید.
سازنده اپلیکیشن بازی دارای ویرایشگر صحنه و ویرایشگر بازیگر (کاراکتر) است. شما بیشتر وقت خود در ساخت بازی را صرف تنظیم کاراکترها در صحنه، تنظیم ویژگی ها، تصاویر، صداها و پیمایش بین بازیگران می کنید.
GameSalad دو پلن ارائه می دهد؛ یکی برای مربیان و دیگری برای توسعه دهندگان. اما هر دو به شما امکان می دهند بدون کدنویسی، یک بازی ایجاد کنید.

٧. ShoutEm

اپلیکیشن اندروید و طراحی اپلیکیشن و ساخت اپلیکیشن

ShoutEm یک سازنده اپلیکیشن با مدیریت کامل محتوا، ابزارهای قدرتمند جذب کاربر و گزینه های کسب درآمد همراه با یک فرآیند انتشار یکپارچه است. سازنده رابط گزینه های سفارشی سازی زیادی را ارائه می دهد و هر برنامه را می توان با منابع محتوا موجود مانند WordPress، Facebook ، Twitter ، و موارد دیگر کاملا یکپارچه کرد. گزینه های کسب درآمد متعدد بدان معنی است که شما می توانید به سرعت یک جریان درآمد از اپلیکیشن خود ایجاد کنید.
می توانید برنامه های خود را تحت حساب توسعه دهنده خود در Google Play منتشر کرده و برنامه یا محتوای خود را به طور همزمان به روز کنید. ShoutEm همچنین برای اطمینان از هماهنگ بودن اپلیکیشن با نسخه نهایی اندروید، بروزرسانی خودکار را ارائه می دهد.


Deep learning world

در این مقاله به نحوه تشخیص چراغ راهنمایی توسط دیپ لرنینگ می پردازیم،مدل ها را معرفی کرده و مشکلات را بررسی می کنیم.

آنچه در این نوشته خواهیم داشت

  • چالش:
  • نرم افزار و سخت افزار
  • طبقه بندی نهایی
  • یادگیری انتقال
  • SqueezeNet
  • چرخش تصاویر
  • برش نمونه ها
  • آموزش اضافی با میزان یادگیری پایین
  • داده های آموزشی تکمیلی
  • رفع اشتباه در داده های آموزش
  • نقص های مدل دیپ لرنینگ
    • متعادل کردن داده ها:
    • جداسازی روز و شب
    • آموزش طبقه بندی گر برای موارد سخت
  • نمونه هایی از اشتباهات مدل در تشخیص چراغ راهنمایی

چالش:

هدف از این چالش تشخیص چراغ راهنمایی در تصاویر گرفته شده توسط رانندگان با استفاده از اپلیکیشن Nexar بود. در هر تصویر داده شده، لازم بود “طبقه بندی گر” چراغ راهنمایی را تشخیص داده و قرمز یا سبز بودن آن را مشخص کند. به طور خاص، فقط می بایست چراغ راهنمایی را در جهت رانندگی شناسایی کرد.

این چالش بر اساس شبکه های عصبی پیچشی است، روشی بسیار رایج که در تشخیص تصویر با شبکه های عصبی عمیق مورد استفاده قرار می گیرد. مدل های کوچکتر نمرات بالاتری کسب کردند. علاوه بر این، حداقل دقت لازم برای پیروزی ٩۵ درصد بود.
Nexar تعداد ١٨۶۵٩ تصویر دارای برچسب را به عنوان داده های آموزشی ارائه می داد. هر تصویر با یکی از سه کلاس: بدون چراغ راهنمایی، چراغ قرمز و چراغ سبز برچسب گذاری شده است.

نرم افزار و سخت افزار

برای آموزش مدل ها از Caffe استفاده کردم. دلیل اصلی که Caffe انتخاب شد به دلیل تنوع زیاد مدل های از قبل آموزش دیده آن بود.
برای تجزیه و تحلیل نتایج، بررسی داده ها از Python ، NumPy و Jupyter notebook استفاده شد.
از نمونه های GPU آمازون برای آموزش مدل ها استفاده شد.

طبقه بندی نهایی

طبقه بندی نهایی در مجموعه آزمون Nexar با اندازه مدل ٨۴/٧ مگابایت به دقت ٩۵/٩۴ درصد دست یافت.
فرایند دستیابی به دقت بالاتر شامل تعداد زیادی آزمون و خطاست. در پشت برخی از آن ها منطقی وجود داشت و بعضی دیگر فقط بر اساس حدس و گمان جلو رفتند.

یادگیری انتقال

با تلاش برای تنظیم دقیق (fine-tuning) مدلی که در ImageNet با معماری GoogLeNet از قبل آموزش داده شده بود، شروع کردیم. خیلی به دقت بالای ٩٠ درصد دست یافتیم!

SqueezeNet

اخیرا بیشتر شبکه های منتشر شده بسیار عمیق بوده و پارامترهای زیادی دارند. به نظر می رسید که SqueezeNet بسیار مناسب بوده و همچنین دارای یک مدل از قبل آموزش دیده شده در ImageNet بود.
دیپ لرنینگ و تشخیص چراغ راهنمایی
شبکه عصبی با استفاده از فیلترهای پیچشی یک در یک و بعضا سه در سه و همچنین با کاهش تعداد کانال های ورودی به فیلترهای سه در سه، می تواند خود را فشرده سازد.
بعد از مقداری سعی و خطا در تنظیم میزان یادگیری توانستیم مدل از قبل آموزش داده شده را با دقت ٩٢ درصد تنظیم کنیم.

چرخش تصاویر

دیپ لرنینگ و تشخیص چراغ راهنمایی
بیشتر تصاویر مانند تصویر فوق افقی بودند، اما حدود ۴/٢ درصد عمودی بودند و بعضی از آن ها از بالا گرفته شده بودند.

دیپ لرنینگ و تشخیص چراغ راهنمایی

اگرچه این بخش بزرگی از مجموعه داده ها نیست، اما می خواستیم مدل، آن ها را به درستی طبقه بندی کند.
متأسفانه ، هیچ داده ای در تصاویر jpeg که جهت گیری را مشخص می کند، وجود نداشت. به منظور تکمیل تصاویر از آموزش مدل در “میانگین پیش بینی ها” در چرخش های ٠⁰ ، ٩٠⁰ ، ١٨٠⁰ و ٢٧٠⁰ استفاده کردیم. منظور از میانگین پیش بینی ها، میانگین احتمالات تولید شده توسط مدل در هر یک از این چرخش هاست.

برش نمونه ها

در طول آموزش، شبکه SqueezeNet برای اولین بار به طور پیش فرض برش تصادفی تصاویر ورودی را انجام داد و ما آن را تغییر ندادیم. این نوع تقویت داده باعث می شود که شبکه بهتر تعمیم پیدا کند. به طور مشابه، هنگام تولید پیش بینی، چندین برش روی تصویر ورودی ایجاد کرده و میانگین نتایج را به دست آوردیم. از ۵ برش استفاده کردیم. ۴ برش از گوشه و ١ برش از مرکز ( با استفاده از کد Caffe).
چرخش و برش تصاویر پیشرفت بسیار کمی را نشان داد. از ٩٢ درصد به ۴۶/٩٢ درصد.

آموزش اضافی با میزان یادگیری پایین

همه مدل ها بعد از یک نقطه خاص شروع به بیش برازش (overfit) کردند. این امر از طریق مشاهده صعود “تنظیم اعتبار” در برخی نقاط قابل دستیابی است.

در این مرحله آموزش را متوقف می کنیم زیرا احتمالا مدل دیگر تعمیم نمی یابد. سعی کردیم آموزش را در نقطه ای که مدل شروع به بیش برازش با نرخ یادگیری ١٠ بار کمتر از سطح اصلی می کند، از سر بگیریم. این امر معمولا دقت را تا ۵/٠ درصد بهبود می بخشد.

داده های آموزشی تکمیلی

در ابتدا داده های خود را به سه مجموعه تقسیم کردم: آموزش (۶۴٪) ، اعتبارسنجی (١۶٪) و آزمون (٢٠٪). بعد از گذشت چند روز به این نتیجه رسیدیم که صرف نظر کردن از ٣۶٪ از داده ها ممکن است خیلی زیاد باشد. در نتیجه مجموعه های آموزشی و اعتبار سنجی را با هم ادغام شده و از مجموعه آزمون برای بررسی نتایج استفاده شد.

رفع اشتباه در داده های آموزش

هنگام تجزیه و تحلیل اشتباهات طبقه بندی گر در اعتبارسنجی ، متوجه اشتباهات فاحشی شدیم. به عنوان مثال، مدل با اطمینان می گفت چراغ سبز است در حالی که داده های آموزش می گفتند چراغ قرمز است. تصمیم گرفتیم این خطاها را در مجموعه آموزش برطرف کنیم. استدلال این بود که این اشتباهات باعث سردرگمی مدل می شوند و تعمیم آن را سخت تر می کنند. حتی اگر مجموعه آزمایش نهایی در پاسخ خود دارای خطای باشد، یک مدل عمومی تر شانس بیشتری برای دستیابی به دقت بالا در بین تصاویر دارد. در یکی از مدل های دارای اشتباه، ٧٠٩ تصویر را برچسب گذاری کردیم. این کار با Python script حدود یک ساعت زمان برد و تعداد خطاها را به ٣٣٧ عدد کاهش داد.

نقص های مدل دیپ لرنینگ

متعادل کردن داده ها:

داده ها متعادل نبودند. ١٩ درصد از تصاویر بدون چراغ راهنمایی، ۵٣ درصد در چراغ قرمز و ٢٨ درصد در چراغ سبز بودند. ما سعی کردیم با بیش نمونه گیری ( oversampling) داده های کمتر متداول، مجموعه داده ها را متعادل کنیم؛ اما پیشرفتی حاصل نشد.

جداسازی روز و شب

دریافتیم که تشخیص چراغ راهنمایی در روز و شب بسیار متفاوت است. فکر کردیم که شاید با جداسازی تصاویر روز و شب بتوانیم به مدل کمک کنیم. با در نظر گرفتن میانگین شدت پیکسل ها، جداسازی تصاویر روز و شب بسیار ساده بود. ما دو رویکرد را امتحان کردم که هیچ یک نتیجه بخش نبود:
آموزش دو مدل جداگانه برای تصاویر روز و تصاویر شب
آموزش شبکه برای پیش بینی ۶ کلاس به جای ٣ کلاس، با پیش بینی اینکه آیا روز است یا شب

آموزش طبقه بندی گر برای موارد سخت

٣٠ در صد از تصاویری که طبقه بندی گر برای آن ها از اطمینانی کمتر از ٩٧ درصد برخوردار بود انتخاب کردیم. سپس سعی کردیم طبقه بندی گر را فقط بر روی این تصاویر آموزش دهیم. اما بهبودی حاصل نشد.

نمونه هایی از اشتباهات مدل در تشخیص چراغ راهنمایی

دیپ لرنینگ و تشخیص چراغ راهنمایی

احتمالاً وجود نقطه سبز در نخل که توسط تابش تشعشع بهوجود آمده باعث کی شود مدل به اشتباه چراغ سبز را پیش بینی کند.

 

دیپ لرنینگ و تشخیص چراغ راهنماییاین مدل به جای چراغ سبز، چراغ قرمز را پیش بینی کرد. (وقتی بیش از یک چراغ راهنمایی در صحنه وجود دارد).

 

دیپ لرنینگ و تشخیص چراغ راهنمایی
این مدل هیچ چراغ راهنمایی را تشخیص نداد در حالی که یک چراغ راهنمایی سبز در تصویر دیده می شود.


Deep learning world

آنچه در این نوشته خواهیم داشت

  • مقدمه:
  • مفهوم FaceID:
  • چهره ها و اعداد در شبکه های عصبی ( شبکه عصبی Siamese )
  • مزیت نهایی استفاده از دیپ لرنینگ در تشخیص تصویر
  • اجرای FaceID در Keras
  • آزمایش شبیه سازی FaceID

مقدمه:

یکی از ویژگی های بحث برانگیز آیفون X روش باز کردن قفل با استفاده از تشخیص چهره ( FaceID ) است که جایگزین TouchID شده است. اپل پس از ساخت تلفن بدون حاشیه، مجبور شد روش جدیدی را برای باز کردن قفل گوشی به شکلی آسان و سریع ایجاد کند. در حالی که برخی از رقبا به قرار دادن سنسور اثر انگشت در موقعیتی جدید بسنده کردند، اپل تصمیم گرفت در شیوه باز کردن تلفن روشی نوآورانه و انقلابی را ایجاد کند؛ یعنی نگاه کردن به صفحه نمایش گوشی! به لطف بهره گیری از یک دوربین جلوی پیشرفته و بسیار کوچک، آیفون X قادر به ایجاد نقشه سه بعدی از چهره کاربر است. علاوه بر این، تصویری از چهره کاربر با استفاده از یک دوربین مادون قرمز ضبط می شود که نسبت به تغییرات در نور و رنگ محیط پایداری بیشتری دارد. با استفاده از دیپ لرنینگ ، تلفن های هوشمند قادر هستند با جزئیات کامل تری چهره کاربر را ضبط کنند، بنابراین هر بار که تلفن توسط صاحب آن برداشته می شود او را تشخیص می دهند. در کمال تعجب، اپل اظهار داشته است که این روش حتی از TouchID نیز ایمن تر بوده و میزان خطای برجسته آن ١:١٠٠٠٠٠٠ است.
ما به نحوه ایجاد این فرآیند با استفاده از دیپ لرنینگ و چگونگی بهینه سازی هر مرحله تمرکز کردیم. در این مقاله، نشان می دهیم که چگونه الگوریتم شبیه به FaceID را می توان با استفاده از Keras پیاده سازی کرد. آزمایش های نهایی با استفاده از Kinect، یک دوربین RGB بسیار محبوب، که دارای خروجی بسیار مشابه دوربین های جلوی آیفون X است، انجام شده اند.

مفهوم FaceID:

اجرای FaceID در Keras و دیپ لرنینگ و دیپ لرنینگ در پایتون و شبکه های عصبی و iphone x

فرآیند تنظیم FaceID

شبکه های عصبی FaceID عملکرد پیچیده ای دارند. اولین قدم، تجزیه و تحلیل دقیق نحوه عملکرد FaceID در آیفون X است. در TouchID، کاربر مجبور است ابتدا با لمس مکرر حسگر، اثر انگشت خود را ثبت کند. پس از حدود ١۵ نمونه گیری مختلف، تلفن هوشمند فرایند ثبت را تکمیل کرده و TouchID آماده فعالیت خواهد بود. به طور مشابه در FaceID نیز کاربر باید صورت خود را ثبت کند. فرایند بسیار ساده است: کاربر فقط به گوشی نگاه می کند و سپس به آرامی سرش را به دنبال یک دایره می چرخاند. بنابراین صورت در حالت های مختلف ثبت می شود. حالا قفل صفحه نمایش آماده فعالیت است. این روش ثبت سریع  و شگفت آور می تواند در مورد الگوریتم های یادگیری اساسی چیزهای زیادی به ما بگوید. به عنوان مثال، شبکه های عصبی در FaceID تنها عمل طبقه بندی را انجام نمی دهند. انجام طبقه بندی برای یک شبکه عصبی به معنای یادگیری این است که آیا شخصی که به آیفون نگاه می کند کاربر واقعی آن است یا خیر. بنابراین باید از برخی داده های آموزشی جهت پیش بینی “درست” یا “نادرست” استفاده کند. اما علی رغم موارد متعدد استفاده از دیپ لرنینگ ، در اینجا این رویکرد مؤثر نیست. ابتدا شبکه عصبی باید با استفاده از داده های جدید به دست آمده از چهره کاربر، آموزش ببیند. این امر نیازمند زمان، انرژی و داده های آموزشی از چهره های مختلف برای تشخیص تصویر است. بعلاوه، این روش امکان آموزش اپل در حالت آفلاین را فراهم نمی کند. اما FaceID با شبکه عصبی پیچشی Siamese (توضیح در بخش بعد) طراحی شده که در حالت آفلاین توسط اپل برای ثبت چهره آموزش می بیند.

چهره ها و اعداد در شبکه های عصبی ( شبکه عصبی Siamese )

یک شبکه عصبی Siamese اساسا از دو شبکه عصبی یکسان تشکیل شده است که تمامی وزن ها را نیز به اشتراک می گذارد. این معماری می تواند محاسبه فاصله بین نوع خاصی از داده ها مانند تصاویر را بیاموزد. به این صورت که داده از طریق شبکه Siamese منتقل شده و شبکه عصبی آن ها را در یک فضای n بعدی ترسیم می کند. سپس به شبکه آموزش داده می شود تا این ترسیم را تا زمانی که نقاط مختلف داده ها در طبقه بندی های مختلف تا حد ممکن به یکدیگر نزدیک شوند، ادامه دهد. در دراز مدت، شبکه یاد می گیرد که مهمترین ویژگی ها را از داده ها استخراج کرده و آن ها را در یک آرایه فشرده سازی کرده و یک ترسیم معنی دار ایجاد کند. برای درک درست این موضوع تصور کنید که چگونه نژادهای مختلف سگ ها را با استفاده از یک نمودار کوچک توصیف می کنید؟ به این صورت که سگ های مشابه، نمودارهای نزدیک تری دارند. احتمالا برای رمزگذاری رنگ سگ از یک عدد استفاده می کنید، برای مشخص کردن اندازه سگ از عددی دیگر، برای شکل گوش ها از عددی دیگر و غیره. به این ترتیب، سگ هایی که به یکدیگر شباهت دارند، نمودارهایی مشابه یکدیگر خواهند داشت. یک شبکه عصبی Siamese می تواند یاد بگیرد که این کار را برای شما انجام دهد، مشابه کاری که یک کدگذار خودکار انجام می دهد.

اجرای FaceID در Keras و دیپ لرنینگ و دیپ لرنینگ در پایتون و شبکه های عصبی و iphone x

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

با استفاده از این تکنیک می توان از تعداد زیادی چهره برای آموزش استفاده کرد تا تشخیص دهد که کدام چهره بیشترین شباهت را دارد. با داشتن بودجه کافی و قدرت محاسباتی (همانند اپل )، می توانید از مثال های سخت تری نیز استفاده کنید تا شبکه عصبی به مواردی همچون دوقلوها ، حملات خصمانه (ماسک) و غیره واکنش نشان دهد.

مزیت نهایی استفاده از دیپ لرنینگ در تشخیص تصویر

اینکه شبکه می تواند کاربران مختلف را بدون هیچ آموزش دیگری تشخیص داده و محاسبه کند که چهره کاربر، پس از گرفتن چند عکس در هنگام تنظیم اولیه، در نقشه نهفته چهره ها قرار دارد یا خیر. علاوه بر این ، FaceID قادر است با تغییرات در ظاهری شما سازگار شود : هم تغییرات ناگهانی (به عنوان مثال ، عینک ، کلاه ، آرایش) و هم تغییرات جزئی (مانند موهای صورت). این کار با اضافه کردن بردارهای چهره مرجع در این نقشه انجام می شود ، که بر اساس ظاهر جدید شما محاسبه می شود.

اجرای FaceID در Keras و دیپ لرنینگ و دیپ لرنینگ در پایتون و شبکه های عصبی و iphone x

هنگامی که ظاهر شما تغییر می کند، FaceID سازگار می شود

 

اجرای FaceID در Keras

در مورد همه پروژه های دیپ لرنینگ اولین چیزی که ما نیاز داریم داده است. ایجاد مجموعه داده های ما به زمان و همکاری بسیاری از افراد نیاز دارد و این می تواند بسیار چالش برانگیز باشد. به همین دلیل از مجموعه داده های چهره RGB-D موجود در اینترنت کمک گرفتیم. در این مجموعه داده، افراد با اشکال مختلف و جهات مختلف وجود دارند. همان طور که در هنگام استفاده از آیفون اتفاق می افتد.
در ابتدا یک شبکه عصبی پیچشی بر اساس معماری SqueezeNet ایجاد کردیم. شبکه عصبی به شکلی آموزش داده می شود که فاصله بین تصاویر یک شخص را به حداقل رسانده و فاصله بین تصاویر اشخاص مختلف را به حداکثر برساند. پس از آموزش ، شبکه قادر است چهره ها را در آرایه های ١٢٨ بعدی ترسیم کند. به گونه ای که تصاویر یک شخص در کنار هم طبقه بندی شده و از تصاویر افراد دیگر فاصله دارد. این بدان معنی است که برای باز کردن قفل، شبکه فقط باید فاصله بین تصاویر ذخیره شده در مرحله ثبت چهره و تصویری که در هنگام باز کردن قفل دریافت می کند، محاسبه کند. اگر فاصله زیر یک آستانه مشخص باشد، (هرچه کمتر باشد از امنیت بیشتری برخوردار است) قفل دستگاه باز می شود.

آزمایش شبیه سازی FaceID

حال نحوه عمل این مدل را بررسی می کنیم. با شبیه سازی یک چرخه معمول FaceID. ابتدا ثبت چهره کاربر. سپس مرحله باز کردن قفل چه توسط کاربر (که باید موفقیت آمیز باشد) یا توسط افراد دیگرکه نباید قادر به باز کردن دستگاه باشند.
با ثبت چهره شروع می کنیم: یک سری عکس از یک شخص را از مجموعه داده گرفته و مرحله ثبت چهره را شبیه سازی می کنیم.

اجرای FaceID در Keras و دیپ لرنینگ و دیپ لرنینگ در پایتون و شبکه های عصبی و iphone x

مرحله ثبت تصویر برای یک کاربر جدید با الهام از روند FaceID

 

حال ببینیم چه اتفاقی می افتد اگر همان کاربر سعی کند با حالت های مختلف چهره قفل دستگاه را باز کند.

اجرای FaceID در Keras و دیپ لرنینگ و دیپ لرنینگ در پایتون و شبکه های عصبی و iphone x

فاصله صورت در فضای تعبیه شده برای همان کاربر

 

از طرف دیگر ، تصاویر RGBD از افراد مختلف به طور متوسط فاصله ١/١ را ایجاد می کند.

اجرای FaceID در Keras و دیپ لرنینگ و دیپ لرنینگ در پایتون و شبکه های عصبی و iphone x

فاصله های چهره در فضای تعبیه شده برای کاربران مختلف

بنابراین، آستانه ای در حدود ۴/٠ باید برای جلوگیری از باز کردن قفل دستگاه توسط دیگران کافی باشد.

آموزش دیپ لرنینگ در پایتون را در آکادمی آمانج تجربه کنید.


Deep learning world

نچه در این نوشته خواهیم داشت

  • مقدمه
  • مقایسه چهره رونالدو 
  • پاسخ به این سوال با استفاده از بازی FIFA  
  • جمع آوری داده
  • معماری و آموزش مدل
  • استفاده از مدل های آموزش دیده برای تعویض چهره
  • آیا می توانیم از این الگوریتم برای قرار دادن تصویر خود در بازی استفاده کنیم؟
  • جمع بندی

مقدمه

در بازی های ویدئویی از کاربردهای مختلف هوش مصنوعی به روش های مختلف استفاده شده است. شروع استفاده از هوش مصنوعی در بازی های ویدئویی با آتاری آغاز شد؛ که یک نمونه کاملا ابتدایی در زمینه بازی های کامپیوتری محسوب می شود. اما امروزه شبکه های عصبی به سیستم های هوش مصنوعی اجازه می دهند تا هوشمندانه تر عمل کنند. بازی های ویدیویی فقط جنبه سرگرمی ندارند. آنها بستری را برای شبکه های عصبی فراهم می کنند تا یاد بگیرند که چگونه با محیط های پویا ارتباط برقرار کرده و مشکلات پیچیده را درست مثل زندگی واقعی حل کنند. بازی های ویدئویی طی چندین دهه برای ارزیابی عملکرد هوش مصنوعی مورد استفاده قرار گرفته اند.
استودیوهای ساخت بازی، میلیون ها دلار و هزاران ساعت را صرف توسعه طراحی گرافیک بازی ها می کنند که تا حد ممکن آن ها را به واقعیت نزدیک کنند. در حالی در چند سال گذشته، که این گرافیک ها به طرز شگفت آوری واقعی به نظر می رسند، اما همچنان تفکیک آنها از دنیای واقعی بسیار آسان است. با این حال، با پیشرفت های گسترده ای که در زمینه پردازش تصویر با استفاده از شبکه های عصبی عمیق صورت گرفته است، آیا زمان آن نرسیده که بتوانیم از این فناوری برای بهبود گرافیک استفاده کرده و همزمان نیاز انسانی برای ایجاد آنها را کاهش دهیم؟

مقایسه چهره رونالدو 

دیپ لرنینگ و یادگیری عمیق و فیفا و فیفا  و هوش مصنوعی و بازی های کامپیوتری

مقایسه چهره کریستیانو رونالدو، تصویر سمت چپ از  FIFA و تصویر سمت راست تولید شده توسط یک شبکه عصبی عمیق.

 

پاسخ به این سوال با استفاده از بازی FIFA  

برای اینکه دریابیم که آیا تحولات اخیر در یادگیری عمیق می تواند به سوال ما پاسخ دهد، با استفاده از الگوریتم معروف deepfakes ، روی بهبود چهره بازیکن ها در FIFA تمرکز می کنیم. Deepfakes یک شبکه عصبی عمیق است که می تواند برای تشخیص و تولید چهره های انسانی بسیار واقع بینانه آموزش ببیند. تمرکز ما در این پروژه بازآفرینی چهره بازیکن از درون بازی و بهبود آن هاست تا آنها را دقیقا مثل بازیکنان واقعی جلوه دهد. در اینجا توضیحی عالی در مورد چگونگی عملکرد الگوریتم deepfakes ارائه شده است. با استفاده از رمزگشای خودکار و شبکه های عصبی پیچشی، می توان چهره هر کسی را در یک فیلم با چهره افراد دیگر جابجا کرد.

جمع آوری داده

اجازه دهید با نگاهی به یکی از بهترین چهره های طراحی شده در FIFA ، یعنی کریستیانو رونالدو، شروع کنیم و ببینیم آیا می توانیم آن را بهبود بخشیم؟ برای جمع آوری داده های مورد نیاز برای الگوریتم deepfakes، به سادگی چهره بازیکن را از گزینه پخش مجدد در بازی ضبط کردیم. حال می خواهیم این چهره را با چهره واقعی رونالدو جایگزین کنیم. به همین منظور، تعدادی از تصاویر رونالدو را از زوایای مختلف از گوگل دانلود کردیم. بر خلاف روش های استفاده شده توسط توسعه دهندگان بازی، در این روش می توان تمام داده های مورد نیاز را از جستجوی گوگل جمع آوری کرد؛ بدون اینکه لازم باشد رونالدو لباس مخصوص ضبط کردن تصاویر را به تن کند.

دیپ لرنینگ و یادگیری عمیق و فیفا و فیفا  و هوش مصنوعی و بازی های کامپیوتری

معماری و آموزش مدل

این الگوریتم شامل آموزش شبکه های عصبی عمیق به نام اتوکودرها است. این شبکه ها برای یادگیری بدون نظارت مورد استفاده قرار می گیرند و دارای یک رمزگذار هستند که می توانند با استفاده از یک رمزگذار، یک ورودی را رمزگذاری کنند. پس از آن، از یک رمزگشا برای بازسازی ورودی اصلی استفاده می کنند. برای تصویری مانند نمونه ما، از یک شبکه کانولوشن (پیچشی) به عنوان رمزگذار و یک شبکه دکانولوشن به عنوان رمزگشا استفاده می کنیم. این معماری به منظور به حداقل رساندن خطای بازسازی آموزش داده شده است. برای مورد ما، دو شبکه را به طور همزمان آموزش می دهیم. یک شبکه می آموزد چهره رونالدو را از گرافیک بازی FIFA بازآفرینی کند؛ و شبکه دیگر یاد می گیرد که چهره را از تصاویر واقعی رونالدو بازآفرینی کند. در deepfakes، هر دو شبکه، یک رمزگذار مشترک و دو رمزگشای مختلف استفاده می کنند. بنابراین، ما اکنون دو شبکه داریم که یاد گرفته اند که رونالدو در بازی و در زندگی واقعی چگونه به نظر می رسد.

دیپ لرنینگ و یادگیری عمیق و فیفا و فیفا  و هوش مصنوعی و بازی های کامپیوتری

 

دیپ لرنینگ و یادگیری عمیق و فیفا و فیفا  و هوش مصنوعی و بازی های کامپیوتری

استفاده از مدل های آموزش دیده برای تعویض چهره

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

دیپ لرنینگ و یادگیری عمیق و فیفا و فیفا  و هوش مصنوعی و بازی های کامپیوتری

گیف زیر پیش نمایشی از نتایج حاصل از اجرای این الگوریتم را در چهره بازیکنان نشان می دهد.

دیپ لرنینگ و یادگیری عمیق و فیفا و فیفا  و هوش مصنوعی و بازی های کامپیوتریچهره های  FIFA در مقایسه با تصاویر شبکه عصبی عمیق از رونالدو ، موراتا و اوزیل

آیا می توانیم از این الگوریتم برای قرار دادن تصویر خود در بازی استفاده کنیم؟

چه احساسی داشتید اگر می توانستید به جای الکس هانتر بازی کنید؟ تمام کاری که شما باید انجام دهید اینست که یک ویدیوی طولانی از خودتان بارگذاری کنید و مدل آموزش دیده را طی چند ساعت بارگیری کنید.

 

جمع بندی

بزرگترین مزیت این روش، ایجاد چهره های شگفت انگیزی است که تفکیک آن ها از واقعیت دشوار است. همه این ها تنها با چند ساعت آموزش قابل دستیابی است. در حالی که طراحان بازی سال ها برای رسیدن به آن وقت صرف کرده اند. این بدان معناست که ناشران بازی می توانند بازی های جدید را بسیار سریعتر انتشار دهند. همچنین استودیوها می توانند میلیون ها دلار پس انداز کرده و موجودی خود را برای استخدام داستان نویس ماهر به کار گیرند. اما محدودیت بارز این است که این چهره ها در این روش مانند تصاویر تولید شده توسط رایانه برای فیلم ها (CGI) تولید می شوند، در حالی که بازی ها نیاز به تولید تصویر بی وقفه و در لحظه دارند. همچنین زمان مورد نیاز جهت تولید تصویر خروجی نیز در این روش زمان بر است.
با این وجود، یکی از مزایای بزرگ استفاده از دیپ لرنینگ در بازی های کامپیوتری در این است که پس از آموزش یک مدل، دیگر نیازی به مداخله انسانی برای ایجاد نتایج وجود ندارد.
در نتیجه اگر شخصی بدون داشتن تخصص گرافیکی بتواند تنها طی چند ساعت آموزش چنین فرایندی را عملی کند؛ قطعا توسعه دهندگان بازی ها می توانند با سرمایه گذاری در این راستا و به کارگیری افراد متخصص صنعت بازی ها کامپیوتری را متحول سازند.


Deep learning world

آخرین جستجو ها

بخش ووشو رزمی کده تخفیفان فروشندهه asgs30lfca کولر گازی اجنرال 30000 مدل chinagardendecoration اشپزی خدمات زیبایی و جوانسازی فناوری سقز شرکت تبلیغاتی ماکان همبرگر زن امگا