تفاوتهای بین سه مفهوم هوش مصنوعی، یادگیری ماشین و یادگیری عمیق
هوش مصنوعی، یادگیری ماشین و یادکیری عمیق سه مبحث مرتبط با یکدیگر هستند که برخی آنها را با هم اشتباه میگیرند. نمودار زیر تفاوت این سه مفهوم را به خوبی نشان میدهد.
امیدواریم که این نمودار بتواند هر گونه شک و شبهه و درک اشتباهی را رفع کند و به خوبی تفاوت این سه مفهوم و تواناییهای هر کدام را به شما بگوید.
فرآیندهای یادگیری ماشین
در ادامه میخواهیم فرآیندهای یادگیری ماشین را تجزیه و تحلیل کنیم تا بتوانیم جزئیات آن را درک کنیم.
جمع آوری و تهیه داده
اولین قدن در فرآیند یادگیری ماشین این است که ما دانش و داده مورد نیاز را برای یک ماشین تهیه کنیم. این دادهها به دو گروه تقسیم میشوند و یک گروه برای آموزش سیستم استفاده میشوند و گروه دیگر برای آزمایش سیستم. توجه داشته باشید که ما برای مثال میخواهیم نرمافزاری بسازیم که بتواند یک فرد را به به محض اینکه در تصویر دید شناسایی کند. برای این کار در ابتدا با جمع آوری دادهها یعنی بعنوان مثال عکسهای افراد، شروع میکنیم.
علاوه بر آن باید به این مسئله توجه داشته باشیم که دادههای انتخابی نماینده کل جمعیت باشند، بعنی در همان مثال تصویر اگر عکسهایی که برای آموزش انتخاب میکنیم افراد بین 20 تا 40 سال هستند، سیستم فقط توانایی شناخت افرادی با این میزان سن را دارد و اگر تصویری از کودکی به او نشان داده شود دچار مشکل میشود. دادهها معمولا به میزان 80/20 و یا 70/30 تقسیم میشوند تا اطمینان حاصل شود که مدل پس از آموزش کافی میتواند بعدا آزمایش شود.
انتخاب و آموزش یک مدل
دومین مرحله و قدم بعدی در اصول یادگیری ماشین انتخاب یک مدل و آموزش آن است. ما انواع مختلفی از الگوریتمها و مدلهای یادگیری ماشین داریم که قبلا ایجاد و اصلاح شدهاند تا بتوانند نوع خاصی از مسئله و یا مشکل را حل کنند. بنابراین، بسته به نیاز و مناسب بودن مدل برای حل مسئله مورد نظر، مدلی را انتخاب کنیم و آموزش دهیم.
ارزیابی یک مدل
یک ماشین الگوها و خصوصیات مختلفی را از دادههایی که به آن آموزش داده شده است یاد میگیرد و خود را برای تصمیمگیریهایی در زمینههای مختلف مانند شناسایی، طبقه بندی یا پیش بینی دادههای جدید آموزش میدهد. برای بررسی دقیق اینکه ماشین چگونه قادر به اتخاذ این تصمیمات است، پیش بینیها را بر روی دادههای آموزش داده شده، آزمایش میکنند.
برای این کار ابتدا بر روی دادههای آموزش داده شده کار میکنیم و پس از آموزش مدل به اندازه کافی، از آن برای آزمایش بر اساس دادهها استفاده میکنیم تا بفهمیم برای مثال سیستم چه مقدار در تشخیص چهره موفق عمل میکند و چه میزان دقت دارد.
تنظیم و پیشبینی ابر پارامترها
در اصطلاحات مربوط به یادگیری ماشین، هایپر پارامترها، پارامترهایی هستند که توسط خود مدل نمیتوانند تخمین زده شوند، اما ما هنوز نیاز داریم تا آنها را بررسی کنیم، زیرا که نقش بسیار مهمی در افزایش عملکرد مدل دارند.
اگر بخواهیم تعریفی سنتی ارائه دهیم، هایپر پارامترها در یادگیری ماشین، پارامترهایی هستند که باید توسط کاربر برای اجرای الگوریتم، مشخص شوند. پارامترهای کلاسیک به وسیله دادهها آموزش داده میشوند، در حالی که هایپر پارامترها ممکن است از دادهها یاد بگیرند یا نه. به عنوان مثال در یک درخت تصمیم گیری که در تصویر زیر نشان داده شده است، هایپر پارامترها عبارتند از:
- تعداد گرههای برگ
- عمق درخت
- حداقل نمونه مورد نیاز برای تقسیم گره
یک مدل میتواند تعداد زیادی هایپر پارامتر داشته باشد و فرآیند انتخاب بهترین ترکیب ممکن از بین هایپر پارامترها تنظیم (یا tuning) هایپر پارامتر نام دارد. برخی از روشهای اساسی برای تنظیم هایپر پارامترها شامل جستجوی شبکه، جستجو تصادفی یا بهینه سازی مبتنی بر گرادیان است. اگر بخواهیم بیش از این روی اصول اولیه یادگیری ماشین تمرکز کنیم ممکن است اصل مطلب از دست برود و مبحث از موضوع اصلی خارج شود اما برای درک کلی فرآیند یادگیری ماشین تا همین میزان کافی است.
پس از اتمام فرآیند بهینه سازیهایپر پارامترها، می توان گفت که مدل یادگیری ماشین ساخته شده است و بسته به میزان موفقیت آن یا به طور دقیق، توانایی پیش بینی آن، می توانیم آن را در دنیای واقعی اجرا و پیاده سازی کنیم. بنابراین، با کمک روشهایی که گفته شد، می توانیم یک الگوریتم یادگیری ماشین بسازیم.
زبان برنامه نویسی برای هوش مصنوعی
برای برنامهنویسی در هوش مصنوعی و یادگیری ماشین یکی از مسائل مهم انتخاب زبان برنامه نویسی است. برای کسانی که میخواهند تازه وارد دنیای هوش مصنوعی شوند، انتخاب زبان برنامهنویسی چالشی است که یقینا با آن رو به رو خواهند شد. این چالش از آن جایی که هوش مصنوعی علمی کامپیوتری است و زبان برنامه نویسی در کامپیوتر اهمیت بسیاری دارد تا حدی قابل درک است. اما باید به این امر توجه کرد که مسئله اصلی در هوش مصنوعی ریاضی و توانایی حل مسئله میباشد. قدرت ریاضی شما در هوش مصنوعی و یادگیری ماشین تا حد زیادی تعیین کننده است و باید برای آن بیشتر وقت بگذارید و نگران باشید و تعیین نوع زبان برنامه نویسی اولویتهای بعدی شما خواهد بود. اما به طور کلی معروفترین و محبوبترین زبانهای برنامه نویسی برای هوش مصنوعی و یادگیری ماشین پایتون، C++، Java، LISP، Prolog میباشد.
کاربردهای یادگیری ماشین
ما تا به اینجای مقاله بیشتر راجع به چیستی و اصول یادگیری ماشین فرآیندها و مفاهیم آن صحبت کردیم. حالا میخواهیم به کاربردهای هوش مصنوعی و حوزههای مختلفی که از هوش مصنوعی در آن استفاده میشود بپردازیم.
شناسایی و پردازش تصاویر
یکی از کاربردهای رایج یادگیری ماشین شناسایی تصویر است. موقعیتهای بسیاری برای دستهبندی اشیاء در تصاویر دیجیتالی وجود دارد و برای این کار میتوان از یادگیری ماشین استفاده کرد. برای مثال در تصاویر سیاه و سفید هر پیکسل به عنوان یک واحد اندازه گیری استفاده میشود. در تصاویر رنگی نیز هر پیکسل یک واحد اندازه گیری برای شدت سه رنگ قرمز، سبز و آبی استفاده میشود.
از یادگیری ماشین نیز میتوان در شناسایی چهره در پردازش تصویر نیز استفاده کرد. در یک دیتابیس برای هر فرد یک دسته بندی جدا جود دارد و الگوریتمهای یادگیری ماشین با توجه به این تصاویر به تشخیص هویت میپردازند. از یادگیری ماشین هم چنین در تشخیص دست خط در نوشته های معمولی یا نسخ خطی چاپ شده نیز استفاده میشود.
شناسایی گفتار
یکی دیگر از کاربردهای یادگیری ماشین تبدیل گفتار به متن میباشد. این مسئله به شناسایی گفتار کامپیوتری با شناسایی گفتار اتوماتیک نیز معروف است. به کمک شناسایی گفتار یک نرم افزار میتواند کلمات موجود در یک گفتار را تشخیص دهد و آن را به یک فایل متنی تبدیل کند. واحد اندازه گیری در اینجا میتواند زنجیره ای از اعداد باشد که نماد سیگنالهای گفتار میباشند. همچنین می توانیم سیگنال گفتار را با شدت در باندهای مختلف فرکانس زمانی تقسیم کنیم. شناسایی گفتار میتواند در برنامههایی کاربرد داشته باشد که رابط تعاملی صوتی دارند و یا قابلیت جستجی صوتی و… دارند.
تشخیص بیماری
از یادگیری ماشین میتوان در تکنیکها و ابزارهایی که برای تشخیص بیماریها کاربرد دارند استفاده کرد. از این تکنولوژی میتوان برای تجزیه و تحلیل پارامترهای بالینی و ترکیب آنها برای پیشبینی آگاهی از پیشرفت بیماری، استخراج اطلاعات پزشکی، تحقیقات برای رسیدن به نتیجه، برنامه ریزی درمانی و نظارت بر بیمار استفاده کرد. این موارد از کاربردهای موفق استفاده از متدهای یادگیری ماشین میباشد. استفاده از الگوریتمهای یادگیری ماشین همچنین میتواند به ادغام سیستمهای کامپیوتری و بخشهای مراقبت بهداشتی نیز کمک کند.
تحلیل آماری
در امور اقتصادی یکی از مسائل مهم بدست آوردن استراتژیهای کوتاه مدت برای خرید و فروش اوراق بهادار میباشد. برای بدست آوردن این استراتژیها کاربر از الگوریتمهای معاملاتی برای خرید و فروش اوراق بهادار بر اساس عواملی مانند همبستگی های تاریخی و متغیرهای عمومی اقتصادی متمرکز استفاده میکند. یادگیری ماشین میتواند برای بدست آوردن این الگوریتمهای استراتژی کوتاه مدت بسیار کاربردی باشد.
انجمنهای یادگیری
منظور از انجمنهای یادگیری روند توسعه بینش بین محصولات مختلف میباشد. یعنی به عنوان مثال اینکه بفهمیم چگونه محصولات غیر مرتبط میتوانند با یکدیگر مرتبط باشند. یکی از کاربردهای یادگیری ماشین، مطالعه ارتباط بین کالاهایی است که مردم خریداری میکنند. اگر شخصی محصولی را خریداری کند، به او محصولات مشابه نشان داده میشود زیرا بین این دو محصول رابطه وجود دارد. زمانی که محصول جدیدی در بازار عرضه میشود، برای افزایش فروش میتواند از این طریق با محصولات قدیمی همراه می شود.
دسته بندی
منظور از دسته بندی قرار دادن هر فرد، شیء و… در دستههای مختلف تحت مطالعه میباشد. دسته بندی به تجزیه و تحلیل اندازه گیریهای یک شی کمک می کند تا دسته ای را که به آن تعلق دارد را شناسایی کنیم. برای ایجاد یک رابطه کارآمد، تحلیلگران از دادهها استفاده می کنند. به عنوان مثال، قبل از اینکه یک بانک تصمیم به توزیع وام بگیرد، مشتریان دارای توانایی بازپرداخت وام را ارزیابی میکند. بانک در حقیقت با در نظر گرفتن عواملی مانند درآمد مشتری، پس انداز و سابقه مالی و… این کار را انجام میدهد. این اطلاعات از تجزیه و تحلیل و دسته بندی دادههای گذشته در مورد وام بدست میآید.
پیش بینی
یادگیری ماشین میتواند در سیستمهای پیشبینی کاربرد داشته باشد. برای مثال با توجه به چیزی که در بالا برای ارائه وام در بانک گفته شد، برای محاسبه احتمال خطای سیستم نیاز به طبقه بندی دادههای موجود در گروههای مختلف دارد. این مجموعه به کمک قوانین تعیین شده توسط تحلیلگران تعریف میشود. پس از طبقه بندی، میتوان احتمال خطا را باز هم به کمک یادگیری ماشین محاسبه کرد. این محاسبات میتواند در همه بخشها برای اهداف متنوع استفاده شود. پیش بینی یکی از بهترین کاربردهای یادگیری ماشین است.
استخراج
یکی از کاربردهای بسیار خوب یادگیری ماشین استخراج اطلاعات میباشد. در این جا یادگیری ماشین به فرآیند استخراج اطلاعات ساختاری از داده های بدون ساختار کمک میکند. به عنوان مثال یادگیری ماشین به استخراج اطلاعات مورد نظر در بین صفحات وب، مقالات، وبلاگها، گزارش های تجاری و ایمیل میپردازد. بانک اطلاعاتی یا همان دیتابیس رابطهی خروجی تولید شده را با استخراج اطلاعات حفظ میکند. فرآیند استخراج توسط یادگیری ماشین مجموعه ای از اسناد را به عنوان ورودی می گیرد و دادههای ساختارمند را از آن بیرون میکشد.
رگرسیون
میتوان از یادگیری ماشین هم چنین برای رگرسیون نیز استفاده کرد. در رگرسیون می توان از اصل یادگیری ماشین برای بهینه سازی پارامترها استفاده کرد. همچنین میتوان برای کاهش خطای تقریبی و محاسبه نزدیکترین نتیجه ممکن از یادگیری ماشین استفاده کرد. همچنین میتوان برای بهینه سازی عملکرد نیز از یادگیری ماشین استفاده کنیم و می توان برای تغییر ورودیها تا رسیدن به نزدیکترین نتیجه ممکن یادگیری ماشین را به کار گرفت.
سرویسهای مالی
یادگیری ماشین ظرفیتهای زیادی برای به کارگیری در حوزه مالی و بانکی دارد. با استفاده از یادگیری ماشین و هوش مصنوعی میتوان خدمات مالی محبوبی را ارائه داد. یادگیری ماشین میتواند به بانکها و موسسات مالی کمک کند تا تصمیمات دقیقتری بگیرند، به ارائه خدمات مالی کمک کند تا بسته شدن یک حساب را قبل از وقوع تشخیص دهند، الگوی هزینه مشتریان را پیگیری کنند، تجزیه و تحلیل بازار را انجام دهند، ردیابی الگوهای هزینه را به ماشینهای هوشمند آموزش دهند و در نهایت الگوریتمهای یادگیری ماشین می توانند گرایشها و ترندهای پیش رو را به راحتی شناسایی کنند و در زمان واقعی واکنش نشان دهند.
برخی از کاربردهای جالب یادگیری ماشین که شما را شگفت زده خواهد کرد!
حالا میخواهیم به برخی از کاربردهای شگفت انگیز یادگیری ماشین بپردازیم که باعث تعجب شما خواهند شد و برای آنها مثالهای عینی بیاوریم.
ایجاد الگوریتم هایی که می توانند آثار هنری را تجزیه و تحلیل کنند
محققان آزمایشگاه هنر و هوش مصنوعی در دانشگاه راتگرز می خواستند ببینند كه آیا الگوریتم رایانه ای می تواند نقاشیها را براساس سبک، ژانر و هنرمندان آن آثار به آسانی تشخیص بدهد و آنها را طبقه بندی كند. این محققان کار را با شناسایی و آموش ویژگیهای بصری برای طبقه بندی سبک نقاشی به هوش مصنوعی کردند. الگوریتم های توسعه یافته یادگیری ماشین و هوش مصنوعی آنها سبکهای نقاشی را در بانک اطلاعاتی با دقت 60٪ طبقه بندی کرده و از انسانهای معمولی غیر متخصص نیز در تشخیص و دسته بندی آثار فراتر رفت و بهتر عمل کرد.
محققان فرض كردند كه از ويژگيهاي بصري براي طبقه بندي سبك (یعنی يك مسئله با يادگيري نظارت شده) نيز مي توان براي تعيين تأثيرات هنري هم استفاده كرد (يك مسئله یادگیری بدون نظارت). آنها در ادامه برای شناسایی اشیاء خاصی از الگوریتم های طبقه بندی شده و آموزش داده شده بر روی تصاویری که در Google بود، استفاده کردند. آنها این الگوریتم ها را روی بیش از 1700 نقاشی از 66 هنرمند مختلف که بیش از 550 سال کار می کردند، آزمایش کردند. این الگوریتمها به راحتی آثار مربوط به هم را شناسایی کردند، از جمله تأثیر “پرتره پاپ Innocent X” اثر دیگو دیولاسکوئز در اثر فرانسیس بیکن به نام “مطالعه پس از پرتره Velazquez از Papa Innocent X.”
بهینه سازی مصرف انرژی HVAC در ساختمانهای بزرگ
سیستمهای گرمایشی، تهویه و تهویه مطبوع (HVAC) در ساختمانهای اداری، بیمارستانها و سایر ساختمانهای تجاری بزرگ معمولاً ناکارآمد هستند زیرا تغییر الگوهای آب و هوا، هزینههای متغیر انرژی یا خصوصیات حرارتی ساختمان را در نظر نمی گیرند.
پلتفرم نرم افزاری مبتنی بر ابر BuildingIQ میتواند به راحتی این مشکل را برطرف کند. این پلتفرم از الگوریتم های پیشرفته و متدهای یادگیری ماشین برای پردازش مداوم مقدار گیگابایتهای زیادی از اطلاعاتی مانند دادههای کنتور برق، دماسنج و سنسورهای فشار HVAC و همچنین هزینه هوا و انرژی را دریافت و پردازش کند. به طور خاص، از یادگیری ماشین برای تقسیم داده ها و تعیین سهم نسبی انرژی گاز، برق، بخار و انرژی خورشیدی در فرآیندهای گرمایش و سرمایش استفاده می شود. پلتفرم BuildingIQ در طی زمان عادی میزان مصرف انرژی HVAC را در ساختمانهای تجاری در مقیاسهای بزرگ بین 10تا 25٪ کاهش می دهد.