برای کار در حوزهی هوش مصنوعی دو موضوعی که با آنها سروکار دارید یادگیری عمیق (Deep Learning) و یادگیری ماشین (Machine Learning) است. هر کدام از این مفاهیم بسیار گسترده است و به ساعتها مطالعه و تحقیق نیاز دارد. ما در این مقالهی لیموناد قصد داریم به صورت مختصر توضیح دهیم که یادگیری عمیق چیست ؟ – Deep Learning به زبان ساده یعنی چه؟ دیپ لرنینگ چه کاربردهایی دارد و چگونه کار میکند؟
فهرست عناوین مقاله
- 1 یادگیری عمیق یا Deep Learning به زبان ساده
- 2 یادگیری عمیق Deep Learning چیست؟
- 3
- 4 تاریخچهی یادگیری عمیق یا Deep Learning
- 5 10 کاربرد یادگیری عمیق یا Deep Learning
- 5.1 یادگیری عمیق در پزشکی و سلامت
- 5.2
- 5.3 ساخت پهپادها و خودروهای خودران با یادگیری عمیق
- 5.4
- 5.5 کاربرد یادگیری عمیق در کشف تقلب یا Fraud detection
- 5.6 تشخیص چهره توسط موبایل و سایر دستگاههای الکترونیکی با یادگیری عمیق
- 5.7
- 5.8 تولید متن جدید با استفاده از یادگیری عمیق در ماشینها
- 5.9 یادگیری عمیق و آهنگسازی
- 5.10
- 5.11 ترجمهی متون از هر زبانی به زبان دلخواه
- 5.12 دستیارهای مجازی با قابلیت یادگیری عمیق هوشمندتر میشوند
- 5.13
- 5.14 بهبود عملکرد چتباتها با یادگیری عمیق
- 5.15 کاربرد یادگیری عمیق در صنعت
- 6
- 7 تفاوت یادگیری عمیق یا Deep Learning با یادگیری ماشین
- 8 محدودیتها و معایب یادگیری عمیق
- 9 بازار کار یادگیری عمیق
یادگیری عمیق یا Deep Learning به زبان ساده
برای درک بهتر مفهوم یادگیری عمیق یا Deep Learning تصور کنید یک مغز کامپیوتری خالی از هرگونه اطلاعات در اختیار دارید. شما مختارید به این مغز هر نوع اطلاعاتی را آموزش دهید اما فراموش نکنید که این مغز کامپیوتری است و با مغز انسان تفاوتهای بسیاری دارد. برای آموزش این مغز باید از الگوریتمهای خاصی به نام شبکههای عصبی مصنوعی (Artificial Neural Network) پیروی کنید و مراحل نسبتاً پیچیدهای را طی کنید.
الگوریتمهای شبکههای عصبی مصنوعی (Artificial Neural Network)
این الگوریتمها به نوعی از شبکهی عصبی مغز انسان تقلید میکند و دادهها را دریافت و پردازش میکنند. به این صورت که همانطور که نورونهای مغز پس از دریافت اطلاعات (از طریق حواس لامسه، بینایی، چشایی…) آنها را پردازش و به نورون بعدی میفرستند، در مغز کامپیوتری نیز اطلاعات که در قالب بردارهای عددی هستند در یک لایه پردازش و به لایهی بعدی فرستاده میشوند. گاهی ممکن است تعداد این لایهها به 150 عدد برسد؛ میتوان گفت دلیل نامگذاری این مفهوم به یادگیری “عمیق” همین پردازش در لایههای متعدد است.
ساخت مدلهای قابل فهم برای مغز کامپیوتری
همچنین باید دادههای زیادی را جمعآوری کنید و بر اساس این دادهها و آمارها، مدلهای مناسب که برای مغز کامپیوتری قابل فهم باشند، طراحی کنید. به عنوان مثال فرض کنید قرار است به مغز کامپیوتری یاد بدهید که یک “گیاه” چیست تا پس از آن هر گیاهی را دید شناسایی کند. ابتدا باید تمام ویژگیهایی که بین گیاهان مشترک است جمعآوری کنید و سپس این اطلاعات را به مغز کامپیوتری انتقال دهید. ویژگیهای کلی گیاهان از این قرار است:
- موجود زندهای است که قابلیت رشد دارد؛
- از نور و آب و املاح موجود در خاک تغذیه میکند؛
- معمولا برگهایی به رنگ سبز دارد؛
- و … .
آموزش این موارد به مغز کامپیوتری درواقع مانند این است که به او یک شابلون دادهاید تا از این به بعد برای بررسی اشیاء از آن استفاده کند و هرچیزی که با آن متفاوت بود را به عنوان یک گیاه نپذیرد. جالب است بدانید که مغز کامپیوتری میتواند با آزمون و خطا آموزشهایش را تکمیل کند! به این صورت که در مثال گیاه ممکن است با دیدن یک شیء سبز از شما بپرسد که “آیا این یک گیاه است؟” و شما میتوانید با پاسخ “بله” یا “خیر” به همراه پاسخهای تکمیلی اطلاعات بیشتری به او بدهید و در تشخیص گیاه به او کمک کنید. گاهی هم دادنِ این اطلاعاتِ بیشتر باعث ایجاد یک شابلون جدید برای او میشود.
تصورمان این است که تا اینجای مطالب نسبتاً با مفهوم یادگیری عمیق (Deep Learning) آشنا شدهاید. در ادامهی مقاله این موضوع را به صورت تخصصیتر بررسی میکنیم، تعدادی از مهمترین کاربردهای دیپ لرنینگ را به شما معرفی خواهیم کرد و همچنین معایب آن را برمیشمریم.
یادگیری عمیق Deep Learning چیست؟
همانطور که در “هوش مصنوعی چیست و چه کاربردهایی دارد؟” گفتیم، دانشمندان سعی دارند هوش انسان را برای کامپیوترها و ماشینها شبیهسازی کنند و یکی از این راههای شبیهسازی “یادگیری عمیق یا Deep Learning” است. Deep Learning از دادهها و آمارهایی که دانشمندان علوم داده جمعآوری و تحلیل کردهاند برای مدل سازی (مانند مثال شابلون) استفاده میکند. در نهایت با دریافت ورودیهای مختلف (مانند صوت، تصویر، متن و…) در میان دادهها و مدلهایی که در اختیار دارد به دنبال مدلی میگردد که با آن بتواند موضوع مطرح شده را پردازش کرده و سپس خروجی تولید کند.
اگر خروجی تولید شده با خروجی مورد انتظار انسان متفاوت باشد خطا ایجاد میشود و در یادگیری عمیق از این خطاها به منظور بهبود عملکرد و ایجاد مدلهای جدید استفاده میشود. هنگام کار با هوش مصنوعی به تمامی فعالیتهایی که روی دادهها و آمارها انجام میشود تا اطلاعاتی دریافت و پردازش شده و خروجی مورد انتظار تولید شود، یادگیری عمیق میگویند.
نکته: ورودی و خروجی یادگیری عمیق به صورت آنالوگ است.
تاریخچهی یادگیری عمیق یا Deep Learning
در پاسخ به سوال “یادگیری عمیق چیست ؟ – Deep Learning به زبان ساده یعنی چه؟” بد نیست که تا حدودی با پیشینهی این دانش نیز آشنا شویم. پیدایش Deep Learning به سال 1940 برمیگردد که با توجه به میزان پایین پیشرفت علم و فناوری در آن زمان نسبت به زمان حال، مدلهای یادگیری عمیق در همهی زمینهها کامل و قابل استفاده نبودند و اشکالات زیادی داشتند. به همین دلیل دیپ لرنینگ به اندازهی امروز مورد توجه قرار نگرفت و تا اوایل سال 2000 تحقیقات زیادی در این حوزه انجام نشد. اما با این حال از سال 2006 تحقیقات و مدل سازیهای یادگیری عمیق از سر گرفته شد.
10 کاربرد یادگیری عمیق یا Deep Learning
از آنجا که یادگیری عمیق از زیرمجموعههای هوش مصنوعی است و هوش مصنوعی در زندگی انسان بسیار پرکاربرد شده است، کاربردهای یادگیری عمیق نیز هر روز بیشتر از قبل میشود و پیشرفتهای زیادی میکند. در ادامه برخی از مهمترین کاربردهای یادگیری عمیق را در زمینههای مختلف مانند صنعت، پزشکی، سرگرمی، تبلیغات و… با هم بررسی خواهیم کرد.
یادگیری عمیق در پزشکی و سلامت
در بررسی کاربردهای یادگیری عمیق در ابتدا به سراغ کاربرد آن در حوزهی پزشکی میرویم. این تکنولوژی خدمات بسیار زیادی را برای تشخیص و درمان بیماریهای خطرناکی همچون بیماریهای قلبی، سرطان یا HIV به انسان ارائه دادهاست. یادگیری عمیق در تشخیص غدههای سرطانی با استفاده از آنالیز تصاویر MRI، سیتیاسکن، نوار قلب و… بسیار قویتر از انسان عمل میکند. همچنین با تجزیه و تحلیل دقیق آمارها و دادهها کمک بسیاری در انتخاب روند درمان و تجویز دارو به پزشکان میکند. کمک به انجام جراحی، پیشبینی سلامت نوزادان، ساخت اندامهای مصنوعی، تشخیص اختلال در رشد، تشخیص اوتیسم، تشخیص آلزایمر در مراحل اولیه، پاتولوژی (آسیبشناسی)، داروسازی و… دیگر زمینههای پزشکی هستند که یادگیری عمیق در آنها کاربرد دارد.
ساخت پهپادها و خودروهای خودران با یادگیری عمیق
با استفاده از سنسورها، رادارها و اسکنرهای لیزری و به کارگیری یادگیری عمیق دانشمندان موفق به تولید پهپادها و خودروهایی شدهاند که بدون نیاز به هدایت کننده و راننده قادر به حرکت بوده و با موانع برخورد نمیکنند. پیشتر برای راهاندازی این خودروهای خودران فقط از نقشهها استفاده میشد که متاسفانه مسیرهای مناسب با آن خودروها درهمه جای دنیا وجود ندارد و همچنین خودرو برای عبور از موانع به درستی عمل نمیکرد. مشکل دیگری که این نوع از مسیریابی داشت این بود که نقشهها در فواصل زمانی مناسبی بروزرسانی نمیشدند و خودرو متوجه تغییر جادهها و وجود ساختمانهای جدید نمیشد.
اما اکنون با وجود تجهیزات و سنسورها و رادارها، خودروها و پهپادها قادر به تشخیص موانع جاندار یا بیجان هستند و توانایی کنترل سرعت و تغییر مسیر بر اساس موانع را دارند. کاربرد یادگیری عمیق در همین تشخیص موانع و انتخاب مسیر حرکت بر اساس موقعیت قرارگیری آن موانع است. پیش بینی میشود در آینده از پهپادهای خودران به جای پستچیهای معمولی استفاده شود.
کاربرد یادگیری عمیق در کشف تقلب یا Fraud detection
از کاربردهای مهم یادگیری عمیق کشف تقلب (Fraud detection) در مباحث مالی و بانکی با دیجیتالی شدن معاملات پول است. به این صورت که با بررسی الگوی تراکنشها و معاملات و به خاطر سپردن آن توسط الگوریتمهای یادگیری عمیق، معاملات غیرمعمول و دور از انتظار مانند پولشویی و سایر فعالیتهای مجرمانه به سرعت شناسایی میشوند.
تشخیص چهره توسط موبایل و سایر دستگاههای الکترونیکی با یادگیری عمیق
یکی از ویژگیهای دوست داشتنی موبایلهای هوشمند امروزی قابلیت تشخیص چهره است. یک بار دوربین موبایل را رو به روی صورت خود قرار میدهید و موبایل با الگوریتمهای یادگیری عمیق آن را تجزیه و تحلیل میکند و حتی جزئیات تصویر چهرهی شما را به خاطر میسپارد. در دفعات بعدی استفاده از موبایل کافی است چهرهی خود را به دوربین نشان دهید تا قفل موبایل بدون نیاز به وارد کردن رمز یا الگوهای قدیمی و یا اثر انگشت باز شود. کاربرد دیپ لرنینگ در این تجزیه و تحلیل به صورتی است که حتی با تغییر مدل مو، استفاده از عینک، میزان نور محیط یا تغییرات دیگر باز هم توانایی تشخیص چهرهی شما را دارد. سیستم تشخیص چهره در مکانهای امنیتی، کارخانهها و مراکز دیگر برای کنترل ورود و خروج اشخاص و تعیین دسترسی برای کارکنان نیز استفاده میشود.
تولید متن جدید با استفاده از یادگیری عمیق در ماشینها
با ارائهی یک متن به ماشین مجهز به یادگیری عمیق، دستور زبان، استایل و املای آن متن را به ماشین میآموزیم و پس از آن ماشین توانایی تولید یک متن جدید با همان استایل و املا و دستور زبان را خواهد داشت. این روزها این کاربرد یادگیری عمیق کمک بسیاری به نویسندگان برای تولید محتوا در زمینههای مختلف میکند.
یادگیری عمیق و آهنگسازی
ماشینها با قابلیت دیپ لرنینگ میتوانند نتها و الگوهای نواختن سازها را بیاموزند و سپس با استفاده از مدلهای مختلف شروع به تولید یک موسیقی جدید کنند. همچنین برخی از زبانهای برنامهنویسی ابزارهایی برای موسیقی شناسی کامپیوترها ارائه میدهند؛ مانند Music21 Python.
ترجمهی متون از هر زبانی به زبان دلخواه
این روزها به لطف هوش مصنوعی و یادگیری عمیق دیگر در برقراری ارتباط انسانها با زبانهای مختلف محدودیتی وجود ندارد. مترجمی مانند مترجم گوگل (google translate) با در اختیار داشتن الگوی بیش از 100 زبان زندهی دنیا میتواند آنها را به هم ترجمه کند. قابلیت جدید این مترجم که چند سال پیش به آن اضافه شدهاست ترجمهی متون موجود در تصاویر است. با این قابلیت حتی نیاز به تایپ متن ندارید و کافی است فقط یک عکس از متن مورد نظرتان به آن بدهید و در چند ثانیه ترجمهی آن را مشاهده کنید. همچنین این مترجم به صورت خودکار زبان مبدأ را تشخیص میدهد و اگر متنی پیدا کردید که زبان آن برایتان نامفهوم بود میتوانید آن را با مترجم گوگل به راحتی به هر زبانی که میخواهید، ترجمه کنید.
دستیارهای مجازی با قابلیت یادگیری عمیق هوشمندتر میشوند
دستیارهای مجازی مانند الکسا (دستیار مجازی شرکت آمازون)، سیری (دستیار مجازی شرکت اپل) و دستیار مجازی گوگل از هر تعاملی برای کشف و یادگیری علایق شما استفاده میکنند. مانند سبک موسیقی مورد علاقه، مکانهایی که برای صرف غذا دوست دارید، کارهایی که دوست دارید در اوغات فراغت انجام دهید و… . آنها تمام این اطلاعات را از طریق یادگیری عمیق به دست میآورند.
بهبود عملکرد چتباتها با یادگیری عمیق
چتباتها نیز مانند دستیارهای مجازی با استفاده از یادگیری عمیق نحوهی پاسخگویی به مشتریان (یا بیماران در سیستمهای حوزهی سلامت) را بهبود میبخشند. به این صورت که هنگام مواجهه با مسئله یا سوال جدید، آن سوال جدید و پاسخ آن را در حافظهی خود نگه میدارند و هنگامی که فرد دیگری آن سوال را مطرح کرد به صورت خودکار از پاسخ آمادهی آن استفاده میکنند.
کاربرد یادگیری عمیق در صنعت
از یادگیری عمیق برای اتوماسیون صنایع، تشخیص قطعات، بستهبندی و کنترل کیفیت محصولات تولیدی استفاده میشود. همچنین یادگیری عمیق یا دیپ لرنینگ برای افزایش ایمنی محیط کار کاربرد دارد. به این صورت که متوجه نزدیکی بیش از حد یک شیء یا فرد به یک دستگاه بهخصوص میشود.
همانطور که مشاهده کردید دیپ لرنینگ کاربردهای بسیاری در زندگی انسان امروزی دارد. سایر کاربردهای آن عبارتند از: جمعیت شناسی و پیش بینی انتخابات، توصیف تصاویر، افزایش وضوح تصاویر با بازسازی پیکسلها، تولید خودکار دست خط، افزودن صدا به فیلمهای صامت، رنگی کردن تصاویر سیاه و سفید، شخصی سازی حسابها در پلتفرمهای مختلف، سرگرمی، کشف اخبار جعلی، پردازش زبان طبیعی و… .
تفاوت یادگیری عمیق یا Deep Learning با یادگیری ماشین
یادگیری عمیق (Deep Learning) و یادگیری ماشین (Machine Learning) هر دو از زیر مجموعههای هوش مصنوعی هستند و برای برنامهنویسی و تنظیم ماشینها برای انجام کارها کاربرد دارند اما تفاوتهایی نیز با هم دارند. مهمترین تفاوت آنها این است که یادگیری ماشین از الگوریتمها و الگوهای ثابت ایجادشده توسط برنامه نویسان استفاده میکند تا ماشینها بتوانند کارهای مشخصی را بدون دخالت انسان انجام دهند. در حالی که یادگیری عمیق از تکنیکهای یادگیری بدون نظارت استفاده میکند که باعث میشود سیستم به صورت خودکار با گذشت زمان هوشمندتر شود. در واقع یادگیری عمیق قابلیت آموزش دیدن ماشینها با شبکهای عصبی شبیه مغز انسان است.
بر همین اساس یکی دیگر از تفاوتهای دیپ لرنینگ و یادگیری ماشین مقیاس دادهها و منابعی است که با آن سروکار دارند. به دلیل اینکه یادگیری ماشین حوزهی فعالیت محدودی دارد طبیعتاً به دادههای کمتر و تجهیزات سختافزاری سادهتری نیاز دارد. برعکس آن یادگیری عمیق نیازمند حجم انبوهی از دادهها و سختافزارهای قدرتمندتر است. همچنین دادههای مورد استفاده در یادگیری ماشین دادههای ساختار یافتهاند اما در یادگیری عمیق عموماً از دادههای غیرساختاریافته استفاده میشود.
از طریق لینکهای زیر در لیموناد به آموزشهای ارزشمند دو زیرمجموعهی مهم هوش مصنوعی یعنی یادگیری ماشین و یادگیری عمیق دسترسی خواهید داشت. در این آموزشها با انواع مدلهای یادگیری و ایجاد مدل برای تجزیه و تحلیل احساسات، نحوهی استفاده از کتابخانههای موجود برای این دو حوزه، توابع مهم، برنامههای نرخ یادگیری و بسیاری مباحث دیگر آشنا خواهید شد.
محدودیتها و معایب یادگیری عمیق
در بخشهای قبلی با مزایا و کاربردهای بیشمار یادگیری عمیق (Deep Learning) و تأثیر بینظیر آن بر زندگی انسان آشنا شدیم. اما بد نیست بدانید که دیپ لرنینگ با وجود تمام پیشرفتها و کاربردهایش همچنان دارای معایب و محدودیتهایی است که نمیتوان آنها را نادیده گرفت. در ادامه تعدادی از این محدودیتها را با هم بررسی میکنیم:
- مدلهای یادگیری عمیق کوچکترین جزئیات را تشخیص میدهند و متوجه تفاوتهای کوچک میشوند. اما اگر برنامه نویس این تفاوتها را نداند ممکن است نحوهی عملکرد ماشین تحت تأثیر قرار بگیرد. اگر یک مدل با استفاده از دادههای موضعگیرانه آموزش ببیند عملکرد آن نیز موضعگیرانه خواهد بود. به عنوان مثال یک مدل تشخیص چهره ممکن است پیشبینیهای اشتباهی دربارهی رفتار و شخصیت افراد با نژادها و جنسیتهای متفاوت داشته باشد؛
- مدلهای دیپ لرنینگ بر اساس مشاهدات خود و نیز بر اساس دادههای اولیه آموزش میبینند. بنابراین باید باید دادههای اولیهی زیادی برای آموزش در اختیار داشته باشیم یا دادهها نمایندهی کلیت جامعهی آماری باشند. در غیر این صورت مدلها قابل تعمیم و آموزش بیشتر نخواهند بود؛
- نرخ یادگیری بالا و همچنین نرخ یادگیری پایین در عملکرد یادگیری عمیق اختلال ایجاد میکند و نتیجهی هر دو عدم دسترسی به یک راهکار بهینه خواهد بود؛
- از آنجا که یادگیری عمیق با حجم انبوهی از اطلاعات سروکار دارد برای افزایش بازدهی و افزایش سرعت تولید خروجی مورد نظر، سختافزارهای گرانقیمت و با مصرف انرژی بالا لازم است. مانند هارد دیسک با حافظهی بالا، هارد SSD، واحد پردازش گرافیکی (GPU) چندهستهای قدرتمند و… .
یکی از مباحثی که هنگام کار در حوزهی هوش مصنوعی باید تا حدودی به آن مسلط باشید، علوم داده یا Data Science است. Data Science از جذابترین موضوعات امروز دنیای ماست. با این علم ارتباط و الگوهای پنهان بین عوامل مختلف در هر صنعت و کسب و کاری قابل تشخیص است. ما در لیموناد مجموعهی ارزشمندی از آموزشهای Data Science را برای شما عزیزان فراهم کردهایم که از طریق لینکهای زیر قابل دسترس خواهند بود:
بازار کار یادگیری عمیق
به عنوان سخن آخر در این مقاله به صورت خلاصه به بررسی بازار کار این رشتهی جذاب میپردازیم. همانطور که میدانید هوش مصنوعی در دنیا روز به روز در حال پیشرفت است و هر روز در حوزهی جدیدی راه پیدا میکند. در کشور خودمان نیز هر روز شاهد افزایش اهمیت این رشته و کاربردهای بسیار آن در شرکتهای تجاری و صنایع مختلف هستیم. هوش مصنوعی فناوری نسبتاً جدیدی است که ظرفیت زیادی برای ورود افراد متخصص و فعالیت در زمینهی هر یک از کاربردهایی که پیشتر بررسی کردیم دارد. بر اساس گزارشهایی که از شبکهی اجتماعی لینکدین منتشر شدهاست مشاغلی که با هوش مصنوعی و دیتا ساینس ارتباط دارند نسبت به سال 2012 بیشترین میزان رشد (حدود 10 درصد) را نسبت به سایر مشاغل داشتهاند. در لیست زیر تعدادی از پرتقاضاترین مشاغل در حوزهی هوش مصنوعی در ایران را مشاهده میکنید:
- مهندس یادگیری ماشین و یادگیری عمیق (machine learning and deeo learning engineer)؛
- متخصص علوم داده (data scientist)؛
- متخصص تحقیق و پژوهش (research scientist)؛
- مهندس تحقیق و توسعه (R&D engineer)؛
- توسعهدهندهی هوش تجاری (BI developer)؛
- مهندس بینایی ماشین (computer vision engineer).