یادگیری عمیق چیست؟
یادگیری عمیق به یک کلاس از تکنیکهای یادگیری ماشین اشاره دارد، که از لایههای متعددی برای استخراج ویژگیهای سطح بالاتر از دادههای خام استفاده میکند. برای مثال لایههای پایینتر در تحلیل تصویر، ممکن است لبهها را شناسایی کنند، درحالیکه لایههای بالاتر ممکن است مفاهیم مرتبط با انسان مانند اعداد، حروف یا چهرهها را شناسایی کنند.
برعکس یادگیری ماشین که از اصول سادهتری استفاده میکند، یادگیری عمیق از شبکههای عصبی مصنوعی استفاده میکند که قرار است چگونگی فکرکردن و یادگیری انسانها را شبیهسازی کند. تا همین اواخر، پیچیدگی شبکههای عصبی توسط ظرفیت پردازش محدود میشد. امروزه با تشکر از پیشرفتهایی در تجزیهوتحلیل دادههای بزرگ، شبکههای عصبی بزرگتر و قدرتمندتری به وجود آمدهاند و به کامپیوترها اجازه دادهاند تا نظارت کنند، یاد بگیرند و به اتفاقات پیچیده سریعتر از انسانها واکنش نشان بدهند. دستهبندی تصاویر، ترجمه زبانها و تشخیص گفتار همگی از یادگیری عمیق بهرهمند شدهاند. یادگیری عمیق میتواند بدون دخالت انسان، با هر مشکل تشخیص الگو مقابله و برخورد کند. برای آشنایی با یادگیری عمیق در ادامه با ما همراه باشید.
هم رویش منتشر کرده است:
آموزش شبکه عصبی مصنوعی — از صفر به زبان ساده
استفادههای یادگیری عمیق
ما تا همین چند سال پیش نمیتوانستیم پیشبینی کنیم که کاربردهای یادگیری عمیق قرار است ماشینهای خودران و دستیارهای مجازی مانند الکسا (Alexa)، سیری (Siri) و دستیار گوگل (Google Assistant) را برای ما به ارمغان بیاورند. بااینحال این اختراعات همین الان هم بخشی از زندگی روزمره ما هستند. یادگیری عمیق به شگفتزده کردن ما با کاربردهای تقریباً بینهایتش، از جمله تشخیص تقلب و بازیابی پیکسل ادامه خواهد داد. البته که در بسیاری از موارد (از جمله مواردی که در زیر به آنها اشاره شده است) کاربردهای فراوانی خواهد داشت. هنگام آشنایی با یادگیری عمیق به این موارد برخورد خواهید کرد:
- چتباتها
- دستیارهای مجازی
- سرگرمی
- مراقبتهای بهداشتی
- موزیک
- روباتیک
- تبلیغات
- تجربه مشتری
- بینایی کامپیوتر
- ترجمه زبان
در یک محیط کار واقعی و روزمره، دانش نظری بهتنهایی کافی نخواهد بود. در این مقاله، نگاهی خواهیم انداخت به چند ایده جالب برای پروژههای یادگیری عمیق که تازهواردان و همچنین افراد باتجربه میتوانند با استفاده از آنها تواناییهای خود را بسنجند. پروژههای مورد بحث در این مقاله به کسانی که میخواهند تجربه عملی با این تکنولوژی به دست بیاورند، کمک خواهد کرد. در کل 20 پروژه همراه با لینک سورس کد گیتهاب آنها در زیر فراهم شده است.
پروژههای یادگیری عمیق برای تازهکاران
1.طبقهبندی تصاویر با استفاده از دیتاست CIFAR-10
در این بخش از پروژههای Deep Learning، سیستم طبقهبندی ایجاد خواهید کرد که میتواند کلاس تصاویر را مشخص کند. برای این که طبقهبندی تصاویر در زمینه یادگیری عمیق بسیار مهم است، کارکردن روی این پروژه به شما کمک خواهد کرد تا موضوعات یادگیری عمیق را در تنوع بالایی یاد بگیرید.
لازم به ذکر است که کارکردن روی طبقهبندی تصاویر یکی از بهترین کارها برای شروع کار عملی در زمینه یادگیری عمیق برای دانشجویان و دانشآموزان است.
CIFAR-10 یک دیتاست بزرگ شامل تقریباً 60,000 تصویر رنگی (سایزهای 3232 )، تقسیم شده در 10 کلاس مجزا و هر یک دارای 6,000 تصویر است. 50,000 تصویر در ست آموزشی و 10,000 تصویر هم در ست تست آن قرار دارد. ست آموزشی بر پنج بخش تقسیم میشود که هر یک شامل 10,000 تصویر خواهد بود و به طور تصادفی مرتب خواهند شد. ست تست هم شامل 1000 تصویر خواهد بود که به طور تصادفی از هر یک از 10 کلاس انتخاب شدهاند.
2.شناسایی نژاد سگها
چند بار پیشآمده که به خودتان بیایید و ببینید در حال فکرکردن و تلاش برای شناسایی نژاد خاصی از سگ هستید؟ نژادهای متعددی از سگها وجود دارند و بسیاری از آنها هم شبیه به هم هستند. با استفاده از دیتاست نژاد سگها، میتوانیم مدلی ایجاد کنیم که میتواند با استفاده از یک عکس، سگها را بر اساس نژادشان طبقهبندی کند. دوستداران سگ از این پروژه لذت خواهند برد.
برای پیادهسازی این پروژه، شبکه عصبی کانولوشن یک راهحل واضح برای چالش تشخیص عکس است. متأسفانه، به دلیل محدودیت در نمونههای تمرینی، هر CNN (Convolutional Neural Network یا شبکه عصبی پیچشی) که فقط بر روی تصاویر آموزشی ارائه شده، آموزشدیده باشد، بسیار بیش برازش شده خواهد بود. برای غلبه بر این مشکل، توسعهدهنده از یادگیری انتقال Resnet 18 استفاده کرده تا به مدلمان یک برتری در شروع بدهد و به طور چشمگیری چالشهای آموزش را کاهش دهد.
3.تشخیص چهره انسان
تشخیص چهره، مشکلی در بینایی کامپیوتر است که مستلزم شناسایی افراد در تصاویر است. این مشکلی ساده و قابلحل برای افراد است و الگوریتمهای کلاسیک مبتنی بر ویژگی مانند کسکد کلسیفایر (the cascade classifier) کار خوبی در حل آن انجام دادهاند. در محکزنی معمولی دیتاستهای تشخیص چهره، الگوریتمهای یادگیری عمیق بهتازگی به نتایج پیشرفته و مناسب دستیافتهاند. ما میتوانیم مدلهایی را بسازیم که مرزهای صورت انسان را بادقت بسیار زیادی تشخیص میدهند. یکی از پروژههای Deep Learning که به شما یاد خواهد داد چگونه بهطورکلی هر شیء موجود در یک تصویر را شناسایی کنید و یا چگونه تشخیص اشیا را شروع کنید، در زیر فراهم شده است.
4.سیستم طبقهبندی ژانر موسیقی
این یکی دیگر از پروژههای Deep Learning مفهومی است. شما یک مدل یادگیری عمیق را خواهید ساخت که از شبکههای عصبی استفاده میکند تا به طور خودکار ژانرهای موسیقی را دستهبندی کند. این مدل طیفی از ریتمهای موسیقی را بهعنوان ورودی میگیرد و تصویر را با استفاده از شبکه عصبی پیچشی و ریکارنت (Convolutional Neural Network plus Recurrent Neural Network)، بررسی میکند. خروجی سیستم یک بردار از ژانر پیشبینیشده موسیقی است. این مدل قبل از تست روی دیتاست GTZAN، با نمونه کوچکی (30 عدد موسیقی برای هر ژانر) اصلاح و ایجاد شده و دقت 80% را نتیجه داده است.
پروژههای یادگیری عمیق برای حد متوسط
5.سیستم تشخیص راننده خوابآلود
یکی از دلایل اصلی تصادفات در رانندگی خوابآلودگی راننده است. برای رانندگانی که مسافت زیادی را رانندگی میکنند، طبیعی است که پشت فرمان خوابشان ببرد. رانندگان ممکن است به دلایل متعددی از جمله استرس و کمبود خواب، در هنگام رانندگی خسته شوند. با توسعه مأمور خوابآلودگی، مطالعات ما امیدوار است که بتواند از چنین تصادفاتی جلوگیری کند و آنها را کاهش دهد.
شما از پایتون (Python)، اوپنسیوی (OpenCV) و کراس (Keras) استفاده خواهید کرد تا سیستمی بسازید که میتواند چشمان بسته شده راننده را تشخیص دهد و درصورتیکه شخص پشت فرمان خوابش ببرد، به او هشدار بدهد. حتی اگر چشمان راننده برای چند ثانیه هم بسته شوند، به راننده هشدار میدهد تا از تصادفات بالقوه کشنده جادهای جلوگیری کند. ما در این پروژه از اوپنسیوی استفاده خواهیم کرد تا تصاویر را از دوربینی جمعآوری کنیم و آنها را به خورد یک مدل یادگیری عمیق بدهیم که باز یا بسته بودن چشمان راننده را مشخص خواهد کرد. برای آشنایی با یادگیری عمیق در این بخش، رویکردهای زیر را در پیش خواهیم گرفت:
قدم اول – عکسی را از دوربین، به عنوان ورودی میگیریم.
قدم دوم – یک منطقه مهم اطراف چهره، در تصویر ایجاد میکنیم (ROI).
قدم سوم – از ROI (قدم قبلی) استفاده میکنیم تا مکان چشمها را مشخص کنیم و آنها را به عنوان ورودی به طبقهبندیکننده میدهیم.
قدم چهارم – طبقهبندیکننده مشخص میکند که چشم ها باز هستند یا خیر.
قدم پنجم – امتیازی را محاسبه میکنیم که بفهمیم راننده خوابآلود است یا خیر.
هم رویش منتشر کرده است:
آموزش بینایی کامپیوتر با پایتون و OpenCV ___ بسته جامع
6.تشخیص سرطان سینه با استفاده از یادگیری عمیق
سرطان بیماریای بسیار سخت است که باید دراسرعوقت تشخیص داده شود. از عکسهای هیستوپاتولوژی میتوان برای تشخیص بدخیمی استفاده کرد. سلولهای سرطانی با سلولهای عادی تفاوت دارند، بنابراین، میتوانیم از یک الگوریتم طبقهبندی تصاویر استفاده کنیم تا بیماری را در سریعترین زمان ممکن شناسایی کنیم. مدلهای یادگیری عمیق در این زمینه بهدقت بالایی دستیافتهاند. البته دقت مدل به دیتاست تمرینیای که برایش فراهم شده است بستگی دارد.
سرطان سینه مکررترین سرطان بین خانمها و شایعترین نوع سرطان سینه، سرطان مجاری شیری (invasive ductal carcinoma) است. برای صرفهجویی در زمان و کاهش خطا در شناسایی و طبقهبندی زیرشاخههای سرطان سینه که یک فعالیت بالینی حیاتی است، روشهای خودکار را میتوان به کار برد.
7.تشخیص جنسیت با استفاده از صدا
ما میتوانیم با استفاده از گوشدادن به صدای شخصی، جنسیت او را دقیقاً مشخص کنیم. ماشینها و پروژههای Deep Learning هم میتوانند یاد بگیرند که بین صدای زن و مرد تبعیض قائل شوند. ما به کلیپهای صوتی با برچسب مرد یا زن نیاز خواهیم داشت. سپس این اطلاعات با استفاده از تکنیکهای استخراج اطلاعات به مدلهای دستهبندی کننده داده میشود. لینک سورس کد پروژه در زیر فراهم شده است. این پروژه را میتوان گسترش هم داد تا بتواند حالت و خلقوخو گوینده را تشخیص بدهد.
8.چتبات
ایجادکردن یک چتبات با استفاده از الگوریتمهای یادگیری عمیق یک پروژه فوقالعاده دیگر است. چتباتها میتوانند به روشهای متفاوتی اجرا شوند و یک چتبات هوشمند از یادگیری عمیق استفاده خواهد کرد تا محتویات سؤال کاربر را متوجه بشود و سپس پاسخ مناسبی را برای آن سؤال به شخص بدهد.
پروژهای که در زیر آمده است یک آموزش قدمبهقدم ساخت چتبات با استفاده از یادگیری عمیق، تنسورفلو (TensorFlow) و یک مدل انامتی دنباله در دنباله (NMT sequence-to-sequence model) برای تازهواردان است.
9.سیستم تشخیص رنگ
پروژه فراهم شده در زیر میتواند تا 11 کلاس رنگ متفاوت را بر اساس ورودی RGB که کاربران از لیست انتخاب کردهاند را مشخص کند. قرمز، سبز، آبی، زرد، نارنجی، صورتی، بنفش، قهوهای، خاکستری، سیاه و سفید، 11 کلاس مختلف گفته شده هستند. در “RGB” حرف R به معنای قرمز (Red)، G به معنای سبز (Green) و B به معنای آبی (Blue) است که هرکدام در واقع یک عدد صحیح بین 0 تا 255 هستند. این ترکیبهای قرمز، سبز و آبی برای تشکیل یک رنگ متمایز ثابت برای هر یک از پیکسلهای درون صفحه نمایش کامپیوتر، موبایل و یا هر صفحه نمایش الکترونیکی مورد استفاده قرار میگیرند. این جداکننده کلاس رنگ های ثابت را شناسایی میکند. همچنین دیتاست رنگها به صورت انسانی و غیرماشینی توسعه یافته است تا این مدل مصنوعی(جداکننده) را مجبور کند که انتخابهایش هرچه بیشتر انسانی باشند.
10.تشخیص بیماری محصولات زراعی
وقتی بحث به استفاده از تکنولوژی در محصولات کشاورزی میرسد، یکی از سردرگم کنندهترین مشکلات تشخیص بیماری گیاهان است. علیرغم این که تحقیقاتی برای مشخصکردن سالم یا بیمار بودن گیاه با استفاده از یادگیری عمیق و شبکههای عصبی انجام شده است، تکنولوژیهای جدید به طور مداوم درحالتوسعه هستند.
برای این پروژه، شما باید مدلی ایجاد کنید که با استفاده از تصاویر RGB، بیماریهای گیاهان را مشخص میکند. شبکههای عصبی پیچشی (CNN) برای ایجاد مدل تشخیص بیماری محصول استفاده میشوند. CNN از یک تصویر برای پیداکردن و تشخیص بیماری استفاده میکند. در شبکههای عصبی پیچشی چندین مرحله وجود دارد که به ترتیب عبارتاند از:
- Operation of Convolution
- Layer of ReLU
- Pooling
- Flattening
- Full connection
پروژههای پیشرفته یادگیری عمیق
11.OCR (کاراکتر خوان نوری) و استفاده از YOLO و Tesseract برای استخراج متن
استخراج اطلاعات از هر سند و مدرکی، عملیاتی بسیار دشوار است که به طبقهبندی و محلیسازی اشیا نیاز دارد. در بسیاری از زمینههای مالی، حسابداری و مالیاتی، نویسهخوان نوری دیجیتالی مشکل استخراج خودکار که نقش بسزایی در سرعتبخشیدن به عملیات اسناد فشرده و اتوماسیون اداری دارد را، برطرف میکند.
این نویسهخوان نوری سفارشیسازی شده، YOLO و Tesseract را ترکیب میکند تا بتواند محتویات یک گزارش آزمایشگاهی را بخواند و آن را به یک فرمت قابل دستکاری و ادیت تبدیل کند. در این مورد، توسعهدهنده از YOLO V3 که با یک دیتاست شخصی آموزشدیده را، استفاده کرده است. سپس مختصات اشیا پیدا شده برای برش و ذخیره کلمات یافت شده را در لیست دیگری قرار داده. در آخر برای دریافت خروجی موردنظر، این لیست به Tesseract داده میشود.
12.تصاویر متحرک (انیمیشن) لحظهای
این یک پروژه متنباز (open-source) بینایی کامپیوتر است. شما در این پروژه باید از OpenCV برای بهدستآوردن تصاویر انیمیشنی لحظهای و آنی استفاده کنید. این مدل، حالت تصویر را طوری تغییر میدهد که با حالت شخص روبه روی دوربین هماهنگ باشد.
با استفاده از این ریپازیتوری (repository) شما قادر خواهید بود با یک تصویر آنی دوربین از صورت یا یک وب کم، انیمیشنی آنی از صورت خود تهیه کنید و یا در حالتی که از قبل، از صورت خود ویدئویی دارید، میتوانید از آن نیز برای ساخت انیمیشنی از صورت استفاده کنید. اگر قصد دارید در صنایع مد، خردهفروشی و یا تبلیغات کار کنید، این پروژه بسیار ارزشمند است. کد این پروژه نیز در GitHub موجود است.
13.پیشبینی تقاضای اجناس در فروشگاه
ساختن یک مدل پیشبینیکننده برای تخمین اجناس مورد نیاز فروشگاه به دلیل عوامل متعدد خارجی مانند مکان فروشگاه، فصلی بودن، تغییر در محله یا موقعیت رقبای فروشگاه، اختلاف قابلتوجه در تعداد مصرفکنندگان، کالاها و غیره، دشوار است. با مقدار داده و اطلاعات به این گستردگی، هیچ برنامهریز انسانیای نمیتواند همه جوانب ممکن را بررسی کند. از طرف دیگر، یادگیری عمیق، با درنظرگرفتن این ویژگیها در گزارشی با سطح دقیقتر، کار را برای فروشگاههای شخصی یا fulfillment (استراتژی متمرکز)، آسانتر میکند.
14.پروژه تشخیص اخبار جعلی
در حال حاضر با تشکر از عصر دیجیتال اپلیکیشنهای موبایل، کاربران میتوانند بهراحتی به جدیدترین اخبار موجود دست یابند. اما چیزهایی که ما در این سایتها میخوانیم همیشه درست هستند؟ خیر، بههیچوجه اینگونه نیست. برای مثال، اپلیکیشن چت موردعلاقهمان، واتساپ (WhatsApp) را در نظر بگیرید. احتمالاً اعلانهای زیادی در رابطه با چگونگی درمان و پیشگیری ویروس کرونا دریافت کردهاید. این پیامها اغلب نادرستاند و جنبه وحشتناک آنها این است که بسیاری از مردم آنها را باور و به آنها عمل نیز میکنند که باعث عواقب بسیار خطرناکی شده است. بسیاری از کمپانیهای بزرگ مانند فیسبوک (Facebook)، گوگل (Google) و برخی دیگر، در حال استفاده از هوش مصنوعی و پروژههای Deep Learning برای پیداکردن و حذف اخبار جعلی از پلتفرمهای خود هستند.
برای رسیدن به این هدف رویکردهای مختلفی وجود دارد، اما هدف از این کار تشخیص موارد مشکوک صرفاً با نگاهکردن به متن است. خبری از گراف، تحلیل شبکههای مجازی و یا عکسها نیست. سه معماری یادگیری عمیق در این مقاله ارائه شده و سپس بر روی دو دیتاست آزمایش شدهاند (مجموعه اخبار جعلی و TI-CNN) و پیشرفتهترین نتایج را به دست آوردهاند.
- معماری مبتنی بر LSTM (Long Short Term Memory)
- معماری مبتنی بر CNN (Convolutional Neural Network)
- معماری مبتنی بر BERT (.Bidirectional Encoder Representations from transformers)
15.رنگآمیزی عکسهای سیاهوسفید قدیمی
رنگآمیزی خودکار عکسهای سیاهوسفید، به موضوع مهم و برجستهای در تحقیقات بینایی کامپیوتر و یادگیری عمیق تبدیل شده است. رنگآمیزی تصویر، یک عکس در مقیاس خاکستری (سیاهوسفید) را بهعنوان ورودی میگیرد و یک نسخه رنگی از یک تصویر فیلمی قدیمی را بهعنوان خروجی تحویل میدهد. تصویر رنگی شده خروجی باید نشاندهنده و هماهنگ با رنگهای معنایی و تنهای تصویر ورودی باشد.
این شبکه در چهار قسمت ساخته شده و بهتدریج پیچیدهتر میشود.
- شبکه آلفا به چگونگی تبدیل یک تصویر به مقدارهای RGB پیکسلی و سپس تبدیل به مقدارهای LAB پیکسلی و تغییر فاصله رنگها میپردازد. همچنین یک هسته شهودی برای چگونگی یادگیری شبکه میسازد.
- شبکه در قسمت بتا بسیار شبیه به قسمت آلفا است. تفاوت اینجاست که ما از بیش از یک تصویر برای آموزش شبکه استفاده میکنیم.
- نسخه کامل، اطلاعات را از یک طبقهبندیکننده از قبل آموزشدیده دریافت میکند. میتوانید به اطلاعات اینگونه نگاه کنید، 20% طبیعت، 30% انسان ها، 30% آسمان و 20% ساختمان های آجری. نسخه کامل سپس یاد میگیرد که این اطلاعات را با تصاویر سفید و سیاه ترکیب کند.
- نسخه GAN از شبکههای عصبی مولد استفاده میکند تا رنگآمیزی را سازگارتر و زندهتر کند.
16.تشخیص ژست انسان
انسانها موجوداتی بیانگر و گویا هستند. این پروژه با استفاده از مفهوم یادگیری عمیق ساخته شده و میتواند ژستی که در جلوی دوربین میگیرید را تشخیص دهد. چندین روش برای تشخیص ژست انسان ارائه شدهاند. این الگوریتمها اغلب با شناسایی بخشهای جزئی کار خود را شروع میکنند، سپس ارتباط بین آنها را میفهمند تا ژست موردنظر را حدس بزنند. تشخیص فعالیت، ضبط حرکت و واقعیت افزوده، رباتهای آموزشی، و ردیابی حرکت برای کنسولها در صنعت بازی فقط چند مورد از کاربردهای دانستن نوع جهتگیری و ژست فرد است.
17.مترجم زبان با استفاده از یادگیری عمیق
تابهحال به مکانی جدید سفر کردهاید تا هنگام برقراری ارتباط به زبان مادری آنجا به سختی بیافتید؟ مطمئنم حداقل یکبار سعی کردهاید با استفاده از مترجم گوگل (Google Translator) زبان محلی و لهجه آنها را تقلید کنید. ترجمه ماشین (MT) یک موضوع محبوب در زبانشناسی کامپیوتر است که بر روی ترجمه از زبانی به زبانی دیگر تمرکز میکند. همزمان که یادگیری عمیق محبوبیت و کاراییاش افزایشیافته، ترجمهٔ دستگاه عصبی (Neural Machine Translation) به کاراترین روش برای انجام این عمل تبدیل شده است. همه ما از مترجم گوگل که نمونه برتر ترجمه ماشینی این صنعت است، استفاده کردهایم. هدف اصلی یک NMT (ترجمهٔ دستگاه عصبی یا Neural Machine Translation) دریافت یک متن از هر زبانی بهعنوان ورودی و ترجمه آن به زبانی دیگر برای خروجی است.
توسعهدهنده این پروژه از یادگیری شبکههای عصبی توالی به توالی (RNN sequence-to-sequence learning) در کراس (Keras) استفاده کرده تا زبان انگلیسی را به زبان فرانسوی ترجمه کند.
18.دستیار تایپ
امروزه دستگاهها قادرند جملات ما را، قبل از آن که آنها را تایپ کنیم تکمیل کنند. دقیقاً زمانی که جمله “تکمیل و ایجاد خودکار متن با یادگ… ” را نوشتم گوگل به طور خودکار جمله مرا تکمیل و “یادگیری عمیق” را در این قسمت پیشبینی کرد.
پروژه زیر قابلیت تکمیل خودکار کلمات و پیشبینی کلمه بعدی را فراهم میکند و به شما قابلیت تایپ سریعتر، هوشمندانهتر و با زحمت کمتر را میدهد.
اصول بهکاررفته برای پیادهسازی این پروژه به شرح زیر است:
- شمارش کلمات در کورپوس زبانی: شمارش چیزها در NLP مبتنی بر کورپوس زبانی است. NLTK (Natural Language Toolkit) یک مجموعه گوناگون از کورپوسهای زبانی را ارائه میدهد.
- مدل N-Gram: مدلهای احتمالی برای محاسبه احتمال یک جمله کامل یا پیشبینی کلمه بعدی در یک دنباله استفاده میشوند. در این مدل، احتمال شرطی یک کلمه بر اساس کلمههای قبلی محاسبه میشود.
- مدل Bigram: در این مدل، ما احتمال تقریبی کلمهای را که تمام کلمات قبلیاش داده شده است، با احتمال شرطی کلمه قبل محاسبه میکنیم.
- مدل Trigram: یک مدل Trigram دقیقاً مانند یک مدل Bigram است، با این تفاوت که از دو کلمه قبلی استفاده میکنیم.
- حداقل فاصله ویرایش: حداقل فاصله ویرایش بین دو رشته یک مقیاس برای اندازهگیری شباهت دو رشته به همدیگر است.
19.سیستم تشخیص حرکت دست
فرض کنید میخواهید قابلیت جالبی برای تلویزیونهای هوشمند بسازید که میتواند پنج حرکت مختلف که توسط کاربر انجام شدهاند را شناسایی کند و به وی اجازه دهد بدون استفاده از کنترل تلویزیون، با آن کار کند.
وبکم قرار گرفته بر روی تلویزیون به طور مداوم بر روی حرکات نظارت میکند. هر حرکت با یک دستور متفاوت مرتبط است.
- افزایش صدای تلویزیون
- کاهش صدا
- 10 ثانیه عقب بردن فیلم با کشیدن دست به چپ
- 10 ثانیه جلو کشیدن فیلم با کشیدن دست به راست
- توقف: متوقف کردن فیلم
یکی از پروژههای Deep Learning که در زیر ارائه شده با استفاده از دادههای آموزشی متشکل از چند صد فیلم که در یکی از پنج کلاس طبقهبندی شدهاند، به این قابلیتها دست مییابد. هر ویدئو (معمولاً 2-3 ثانیهای) به مجموعهای از 30 فریم (تصویر) تقسیم شده است. این ویدئوها توسط افراد مختلفی که در حال انجام یکی از این پنج حرکت در جلو وبکم هستند، ضبط شدهاند. این وبکمها مشابه چیزی هستند که یک تلویزیون هوشمند استفاده میکند.
20.سیستم کمککننده و تشخیص لاین
تکنولوژی رانندگی خودکار در سالهای اخیر بهسرعت رشد کرده است. یکی از نگرانیهای اصلی در تولید ماشینهای خودران تشخیص لاین رانندگی است. پروژه زیر پیادهسازی مدل lanenet برای تشخیص آنی لاین با استفاده از مدل شبکه عصبی عمیق است. در این پروژه برای آشنایی با یادگیری عمیق شما یک شبکه عصبی عمیق را برای تشخیص آنی لاین، با استفاده از TensorFlow و بر اساس یک مقاله کنفرانسی IEEE IV، پیادهسازی خواهید کرد. برای عمل تشخیص آنی لاین، این مدل شامل یک مرحله انکودر – دیکودر (encoder-decoder)، یک مرحله بخشبندی معنایی باینری، و یک نمونه بخشبندی معنایی با استفاده از یک تابع متمایزسازی است.
نتیجهگیری
ما 20 تا از بهترین پروژههای Deep Learning را جمعآوری کردهایم تا بتوانید آنها را توسعه دهید، مهارت های خود را بهبود ببخشید، نمونهکارهای بهتری داشته باشید و در مسیر آشنایی با یادگیری عمیق بیشازپیش پیشرفت کنید. این تکنولوژی هنوز در دوران ابتدایی خود است و در همین لحظه که در حال خواندن این متن هستید، در حال رشد است. یادگیری عمیق پتانسیل عظیمی برای ایجاد ایدههای نوآورانه دارد که میتوانند به بشریت در حل برخی از حادترین مشکلات دنیا کمک کنند.
سؤالات متداول
چگونه یک پروژه یادگیری عمیق را شروع کنم؟
همیشه میتوانید برای آشنایی با یادگیری عمیق با پروژههای کوچک شروع کنید و وقتی بهاندازه کافی از خود مطمئن شدید سراغ پروژههای سختتر بروید. همچنین برای یادگیری مبانی یادگیری عمیق، میتوانید از این آموزش رایگان نیز استفاده کنید.
یادگیری عمیق CNN چیست؟
یک شبکه عصبی پیچشی (ConvNet/CNN) یک سیستم یادگیری عمیق است که میتواند یک تصویر ورودی را دریافت کند، ارتباطهایی (سوگیریهای قابلیادگیری) را به جنبهها و اشیا مختلف موجود در تصویر اختصاص دهد و بین آنها تمایز قائل شود.
Keras API چیست؟
کراس (Keras) یک API یادگیری عمیق مبتنی بر پایتون (Python-based) است که بر روی تنسورفلو (TensorFlow)، یک پلتفرم یادگیری ماشین، اجرا میشود. کراس با هدف امکان ایجاد آزمایش سریع به وجود آمده است.
کگل (Kaggle) برای چه چیزی استفاده میشود؟
کگل (Kaggle) وبسایتی است که در آن میتوانید ایدهها را به اشتراک بگذارید، الهام بگیرید، با سایر دانشمندان داده (data scientists) رقابت کنید، اطلاعات و روشهای جدید کد زدن را به دست آورید، کاربردهای علم داده در دنیای واقعی را کشف کنید و یا برای آشنایی با یادگیری عمیق و پروژههای Deep Learning از آن استفاده کنید.
کلیدواژگان
پروژههای یادگیری عمیق | پروژههای deep learning | انواع پروژههای یادگیری عمیق | یادگیری عمیق | Deep Learning | Deep Learning Projects | پروژههای دیپ لرنینگ | دیپلرنینگ | یادگیریعمیق | آشنایی با یادگیری عمیق | آشنایی با دیپ لرنینگ | آشنایی با Deep Learning | یادگیری Deep Learning | بهترین پروژه های یادگیری عمیق
2 دیدگاه برای “20 مورد از بهترین پروژههای یادگیری عمیق (Deep Learning) همراه با سورس کد ”
خیلی جذاب و عالی بود
بسیار عالی و مفید
متن ساده و استاندارد