سلام من تو این مطلب سعی کردم؛خلاصه ای هرچیزی که برای ورود به علم داده و یادگیری ماشین نیاز هست رو ذکر کنم. به نظرم بدنیست درگام اول به سرگذشت و فلسفه هوش مصنوعی بپردازیم؛ که باهم ببینیم چه بوده و چه خواهد شد؟
سرگذشت هوش مصنوعی:
یونانیان باستان براین عقیده بودند که این امکان وجوددارد که مغزی ساختگی را داخل یک بدنه مکانیکی قرارداد.یکی از افسانه های یونانیان یک غول آهنی با مغز مکانیکی به نام تالوس بود که از جانب زئوس خدای خدایان برای محافظت از مردم به آن ها هدیه داده شده بود.واضح است که هوش مصنوعی با آرزویی کهن برای جعل خدایان شکل گرفته است؛اما آثار به جا مانده از یونانیان، نشان از پیشرفتی فراتر از افسانه را در این حوزه داشته است.
در طول تاریخ اقدامات زیادی در جهت پرورش هوش مصنوعی انجام پذیرفته است اما دو مورد آنها نقاط عطف هوش مصنوعی بوده اند،که به آنها اشاره خواهد شد:
1) مقاله آلن تورینگ در اواسط قرن بیستم و تست چالش برانگیز تورینگ که خیلی ها آن را تولد هوش مصنوعی می دانند نخستین نقطه عطف این حوزه بود.
2) باخت کاسپاروف، قهرمان شطرنج جهان، از سیستم deep blue دومین نقطه عطفی بود که باعث شد تا هوش مصنوعی در کانون توجه قرار گیرد.
فلسفه هوش مصنوعی:
در کتاب معروف «هوش مصنوعی، یک رویکرد مدرن » دیدگاههای مختلف از دو بعد مورد بررسی قرار گرفتهاند. از منظر اول هوشمندی یا در رفتار است یا در تفکر و از منظر دوم هوشمندی در انسانگونه بودن یا در منطقی بودن (rationality) است. اگر همه حالات را در نظر بگیریم به چهار تعریف میرسیم. هوش مصنوعی چیزی است که منطقی فکرکند، منطقی رفتارکند، مانند انسان فکرکند، مانند انسان رفتارکند.
فرض کنید هوشمندی مورد نظر خود را انتخاب کردیم. قدم بعدی ساخت عامل هوشمند (intelligent agent) است. عامل میتواند سختافزاری یا نرمافزاری باشد و بر حسب محیطی که عامل قرار است در آن مورد استفاده قرار گیرد، میتواند دارای اجزای مختلفی باشد. برای مثال، عاملی که با انسان در ارتباط است باید توانایی دریافت و درک زبان طبیعی را داشته باشد و عامل فیزیکی ممکن است نیازمند بازوهای حرکتی برای انجام اعمال انتخابی باشد.
رابطهٔ هوش مصنوعی و یادگیری ماشین:
خب تا اینجا از اصطلاحات هوش مصنوعی و یادگیری ماشین به کرار استفاده شده است،اما سوال اینجاست آیا این دو به یک معنی هستند؟ جواب قطعا خیر است؛ یادگیری ماشین بعد از هوش مصنوعی موضوعیت پیدا کرد و آن را میتوان زیر مجموعه ی هوش مصنوعی در نظر گرفت. در ادامه با مطالعه این مقاله تفاوت این دو، بیشتر برایتان مشهود خواهد شد.
مصاحبه با دکتر فروغمند:
تا اینجای این نوشته فک کنم تقریبا به جواب سوال هوش مصنوعی چه بوده و هست رسیدیم اما در ادامه برای جواب سوال دوم یعنی "چه خواهد شد؟" بهتره به سخنان دکتر فروغمند، عضو هیئت علمی دانشگاه صنعتی شریف، در این خصوص اشاره کنیم: به گفته ایشان در آینده انسان به طور مداوم تا نقطه خاصی در تلاش برای پیشرفته هوش مصنوعی خواهدبود؛ از آن نقطه به بعد هوش مصنوعی باعث پیشرفت خود خواهد شد و تاجایی که در یک سری مسائل از انسان هم پیش خواهد افتاد و حتی امکان تضاد منافع هم وجود خواهد داشت؛البته از منظر ایشان درهنگام پیشروی این اتفاقات یک سری مسائل دیگر خواهد بود که از قدرت هوش مصنوعی می کاهند؛ و خودقدرت می گیرند! شما چطور فکر می کنید؟
در فصل قبل با هوش مصنوعی و شاخههای آن آشنا شدیم. حال وقت آن است که وارد جامعهٔ برنامهنویسان حوزهٔ هوش مصنوعی شده و به بررسی کاربردها و مشاغل این حوزه بپردازیم.
تشخیص ایمل های SPAM واتومبیل های خودران و پیشبینی بازار و... مشهودترین کاربردهایی هستند که می توان به آنها اشاره کرد. به دلیل اهمیت استفاده از الگوهای داده در تصمیمگیری شرکتها، شغلهای مرتبط با داده به یکی از جذابترین شغلهای حاضر تبدیل شدهاند.
موقعیتهای شغلی مرتبط با یادگیری ماشین:
نیاز جامعه به بررسی آمار و داده ها سبب به وجود آمدن انواع تخصص هایی در این زمینه شده که در این مطلب فقط به نام و حدود حقوق مهم ترین های آنها بسنده میکنیم:
تحلیل گر داده،
دانشمند داده ،
مهندس داده،
مهندس یادگیری ماشین.
معمولا حقوق دانشمند داده از تحلیلگر داده بیشتر است و مهندس یادگیری ماشین و مهندس داده از دوتای قبلی بیشتر.
یادگیری ماشین در صنعت معدن:
در معدن و صنایع معدنی نیز همچون سایر صنایع دیگر، یادگیری ماشین بسیار کاربردی است، صنایع معدنی با توجه به عدم قطعیت بالا و حجم بسیار زیاد اطلاعات جزو صنایع پیچیده به حساب می آید. لذا یادگیری ماشین و هوش مصنوعی در این صنایع با پیشرفت تکنولوژی بیش از پیش مورد استفاده قرار گرفته است.اگر بخوایم به تمامی کاربردهای یادگیری ماشین در معدن و صنایع معدنی بپردازیم به لیست بلند بالایی خواهیم رسید؛ اما در ادامه کاربردهای رایج را ذکر خواهیم نمود:
1)پردازش تصاویر ماهواره ای
2)پیشبینی متغیرهای ژئومتالورژیکی
3)آنالیز تصاویر مربوط به جعبه مغزهها
4) پردازش تصاویر گرفتهشده از پهپاد برای شناسایی هدفهای از پیش تعیین شده
مصاحبه با مهندس ستوده:
اگه بخوایم به کاربردهای هوش مصنوعی در فیلد های مختلف بپردازیم، تقریبا می توان گفت که هوش مصنوعی در هر رشته ای می تواند کاربرد داشته باشدولی نباید از پیش نیاز ها به سادگی گذشت.بد نیست در اینجا به سخنان مهندس هادی ستوده متخصصی که در حوزه آنالیز داده ی فوتبالی فعالیت داشتند اشاره ای بکنیم.در مصاحبه ای که باهاشون داشتیم؛ مهندس ستوده به افرادی که قصد ورود به حوزه یادگیری ماشین داشتند، توصیه نمودند که حتما قبل از ورود، در رشته ای که قصد فعالیت دارند،دانش مناسبی را کسب کرده و بعد ورود نمایند.این دانش سبب می شود که علاوه بر هوش مصنوعی به کاررفته در الگوریتم ها از منطق رشته یا کسب و کار مورد نظر غافل نشد.
مفهوم یادگیری ماشین:
حال که با هوش مصنوعی و کاربردها و مشاغل آن آشنا شدیم میتوانیم به مفهوم یادگیری ماشین و نحوهی آموزش مدل و بررسی دقت آن بپردازیم. یادگیری ماشین در اکثر کاربردهای فعلی، یک برنامه کامپیوتری است که به داده دسترسی پیدا میکند و از آن برای آموزش خود استفاده میکند.
داده و انواع آن:
دادهها محور اصلی یادگیری ماشین هستند و ماشینها از دادهها یاد میگیرند، به این صورت که ما دادهها را به عنوان ورودی به الگوریتم میدهیم تا خروجی مورد نیازمان را دریافت کنیم. اما داده چیست؟ داده، در نتیجه مشاهدات و اندازهگیریها شکل میگیرد و توصیف این وضعیت مشاهده شده به شمار میآید. داده ها انواع مختلفی دارند که در ادامه به آن ها و مثالی از هر کدام اشاره خواهیم نمود:
1)تصویر: این نوع داده ها در حوزه بینایی کامپیوتراستفاده می شوند.مانند تشخیص پلاک ماشین توسط دوربین های نظارتی راهنمایی و رانندگی.
2)کلمات:کلمات و عبارات تولید شده توسط انسان هستندکه می توانند به صورت متن یا صوت در اختیار الگوریتم های کامپیوتری قرار بگیرند.از کاربرد های این داده هامی توان به تشخیص گفتار(جستجوی صوتی)،دسته بندی نوشته ها یا نظرات(دیجی کالا از این تکنیک برای جمع آوری نقاط ضعف و قدرت یک محصول استفاده میکند)، پاسخ دادن به سوالات: چیزی که گاهی هنگام جستجو در گوگل با آن مواجه میشویم. یعنی گوگل پاسخ سؤالی که سرچ شده را از متنها استخراج کرده و بالاتر از نتایج جستجو سریع به ما نشان میدهد.
3)جداول:این نوع داده هارا تقریبا می توان معادل جداول موجود در پایگاه داده ها در نظرگرفت. ما از طریق جداول اطلاعات رو به الگوریتم های کامپیوتری میدهیم تا در حل مسائل و تصمیم گیری ها به ما کمک کنند.سیستم های بانکی برای تصمیم گیری در خصوص تایید یا عدم تایید وام افراد از این نوع داده ها بهره میبرند.
4)سری زمانی: در مورد بعضی از انواع داده، تغییرات آن و در نتیجه مقدار آن در طول زمان اهمیت ویژهای دارد. برای مثال اگر ارزش یک سهم در بازار بورس را در یک بازه زمانی در نظر بگیریم، اطلاعات بیشتری داریم که الگوی تغییرات آن را نیز در بر میگیرد.برای مثال اگر ارزش یک سهم در بازار بورس را در یک بازه زمانی در نظر بگیریم، اطلاعات بیشتری داریم که الگوی تغییرات آن را نیز در بر میگیرد. از نمونههای دیگر این نوع داده، نوار قلبی است. انواع مختلف داده ممکن است صورت یک سری زمانی را به خود بگیرند.
ماشین چگونه یاد میگیرد؟
در یادگیری ماشین، ما صرفا مدلی را طراحی میکنیم که این مدل خود قادر به یادگیری و پیدا کردن الگوها به طور اتوماتیک است. در حالاتی که مساله مورد نظر پیچیده میشود، پیدا کردن این الگوها برای انسان اغلب دشوار یا حتی غیر ممکن میشود اما برای ماشینها به دلیل قدرت پردازشی بالا این کار بسیار سادهتر است و این موضوع دلیل اصلی شهرت یادگیری ماشین میباشد. به طور کلی رویکرد انجام یادگیری ماشین، دارای ۴ عنصر اساسی است: 1)الگوریتم برای تصمیم گیری
۲ )معیاری برای برای امتیازدهی اینکه عملکرد مدل چقدر خوب بوده است
۳ )برسی خودکار کیفیت مدل براساس امتیاز
۴ )روش خودکار برای بهبود امتیاز بر اساس ایجاد تغییرات در مدل
انواع یادگیری ماشین:
در ادامه مفاهیم یادگیری ماشین به انواع آن می پردازیم.
1)یادگیری نظارت شده: در این نوع از یادگیری، نمونههایی که برای آموزش الگوریتم استفاده میشوند، دارای برچسب هستند.مثلا اگر بخواهیم کامپیوتر جنسیت یک فرد رو با داده های تصویری ورودی تشخیص دهد؛در ابتدا داده ورودی همراه برچسپ(زن یا مرد بودن) به کامپیوترداده میشود. به دلیل اینکه الگوریتم مورد نظر ما با استفاده از دادههایی که دارای برچسب مشخصی هستند الگوهای لازم را پیدا میکند، به این دسته، یادگیری نظارتشده میگویند. الگوریتمهای یادگیری نظارتشده، به دو دسته طبقهبندی (classification) و رگرسیون (regression) دستهبندی میشوند. در طبقهبندی، هدف ما پیدا کردن برچسب یا دسته مناسب برای نمونههای بدون برچسب(مقدارگسسته) میباشد. در رگرسیون، هدف ما تخمین مقدار یک ویژگی (این بار مقداری پیوسته) برای یک نمونه میباشد.
2) یادگیری بینظارت: تفاوت این نوع از یادگیری با یادگیری نظارتشده، تنها در نبودن برچسبها است. به عبارت دیگر، هیچ برچسبی به کامپیوتر نمیگوید که چه زمانی درست پیشبینی کرده است و چه زمانی مرتکب اشتباه شده است. در این روش یادگیری، مدل به تنهایی و بدون کمک برچسبهایی که در روش نظارتشده دیدیم، باید الگوهای پنهان را پیدا کند.یادگیری بی نظارت به طور کلی به سه دسته خوشهبندی (clustering)، کاهش ابعاد (dimensionality reduction) و استخراج قانون وابستگی (association rule mining) تقسیمبندی میشود.
3)یادگیری تقویتی: در این مدل براساس امتیاز دهی مدل را آموزش می دهیم.برای لمس این موضوع شمارا به سالهای دور کودکی خواهم برد که با کار اشتباه تنبیه شده وسبب میشد دیگر آن کار را تکرار نکنید؛ و اگر کار خوبی انجام میدادید (مثلا نمره خوب) تشویق میشدید و برای انجام مجدد آن و تشویق شدن تلاش میکردید.
شکل زیر نشان میدهد که یک ربات چگونه یاد میگیرد که به آتش نزدیک نشود.
سنجش یادگیری:
در بخشهای قبلی، با انواع روشهای یادگیری بانظارت آشنا شدیم، اما چطور مطمئن باشیم که مدل روی دادگان جدید نیز نتیجه مناسبی را ارائه میدهد؟
جز تست کردن آن هیچ راهی برای اطمینان از مدل طراحی شده وجود ندارد؛ بنابراین قبل از طراحی مدل داده هارا به دو دسته تقسیم میکنیم. دسته ای برای آموزش مدل(داده train) و دسته ی دیگر برای ارزیابی مدل(داده test).
مصاحبه با مهندس یامی
همانطور که در این مطلب که فقط مقدمات رو شامل شده مشخص است هوش و مصنوعی و یادگیری ماشین یه رشته چالش برانگیز و در عین حال سخت می باشد.چندی پیش ما مصاحبه ای با مهندس هادی یامی که دانشمند کاربردی در شرکت مایکروسافت هستند،داشتیم. ایشان در این جلسه تاکید داشتند که به مرور زمان هوش مصنوعی هم جذاب تر و هم حادوحادتر خواهد شد؛ پس حالا که در ابتدای راه هستید باید بدانید؛ این راه را حتما باید با علاقه پیمود.
ابزار های پیشنهادی برای علم داده:
در این بخش،قصد داریم تعدادی از ابزارهای کاربردی در حوزه علم داده را معرفی کنیم.
زبان برنامه نویسی پایتون:شاید پیش خودتان فکر کنید،چرا این زبان!؟ در ادامه دلایل انتخاب این زبان اشاره خواهیم نمود.الف) پایتون کتابخانهها و ابزارهایی قوی و متعددی دارد.ب) کد های پایتون قابل فهم و نسبت به زبان های دیگر ساده تر است.ج)جامعه ی توسعه دهندگان پایتون بسیار گسترده است؛ بنابراین بیشتر مواقع برای رسیدن به جواب مشکلی که با کدتان دارید، با جست و جو در گوگل یا سایتهایی نظیر stackoverflow مسئله حل خواهد شد.فکر کنم دلایل ذکر شده برتری پایتون را برایتان قابل لمس نمود.بنابراین بهتر است بپردازیم به معرفی تعدادی از کتابخانه های مهم این زبان جذاب برنامه نویسی.
چرا از یادگیریماشین استفاده میکنیم؟
یادگیری ماشین به این دلیل مهم است که کارهایی که قبلا تنها توسط انسان ها امکان پذیر بود را با سرعت بیشتر و دقت بیشتر انجام دهد حتی برای حل مشکالت بزرگتر مثل پیش بینی وقایع طبیعی. همان طور که آموختیم، یادگیریماشین زیرمجموعه هوشمصنوعی است، که به رایانهها میآموزد؛ به روشی مشابه انسان، یعنی یادگیری از طریق تجربههای گذشته، فکر کنند. تقریباً هر کاری که بتواند با الگویی تعریف شده از دادهها یا مجموعهای از قوانین انجام شود، میتواند با یادگیریماشین به طور خودکار انجام شود.در ادامه قصد داریم شمارا با چالشهای مربوط به داده و چالشهای الگوریتمی آشنا کنیم.
چالشهای مربوط به داده
پایه و اساس یادگیری یک مدل داده ها هستند. هیچ مدلی نمی تواند با داده بد کارایی خوبی داشته باشد.در ادامه راه سه چالشی که داده ها با آنها رو به رو هستند را ذکر خواهیم نمود:
1)تعداد ناکافی داده
2) داده بیکیفیت
3) ویژگی های مناسب برای حل مسئله.
چالش های الگوریتمی:
پس از آنکه توانستیم چالشهای مربوط به داده را مدیریت کنیم، سراغ الگوریتم و مدل میرویم. بیشبرازش (Overfitting)، کمبرازش (Underfitting) و زمان نمونهای از چالشهای مربوط به مدلها و الگوریتمهای هوشمصنوعی و یادگیریماشین هستند.
بیش برازش: این مشکل زمانی رخ می دهد که مدل بیش از حد از داده های آموزش یادگرفته است.
کم برازش: این مشکل وقتی بهوجود میآید که مدل نتواند به خوبی از دادگان آموزش، یاد بگیرد. این مسئله میتواند به دلایل مختلفی پیش بیاید. داده نامناسب یکی از چندین دلیل کمبرازش است.
مسئله زمان: فرایند آموزش مدل به زمانبر بودن معروف است. الگوریتمها برای یادگیری زمان زیادی مصرف میکنند؛ بنابراین باید مدلی انتخاب کنیم که پیچیدگی زمانی خوبی داشته باشد. الگوریتمهایی هستند که پس از پایان آموزش معمولا به دقت خوبی میرسند ولی چون فرایند یادگیری زمانبری دارند در عمل از آنها زیاد استفاده نمیشود!
مصاحبه با مهندس رسولی:
در مصاحبه ای که با مهندس سینا رسولی، دانشمند و رهبر داده در کافه بازارداشتیم؛تاکید داشتند که با آمارو احتمال،جبر خطی و یادگیری ماشین آشنایی پیدا کنید به طور کلی هر مسیری میروید تلاش کنید و درکنار توانایی های مختلف کارهای عملی یاد بگیرید.
مراحل یک پروژه یادگیری ماشین:
برای حل مسئله حوزه یادگیری ماشین این گام ها باید طی شود:
۱)دریافت و بررسی داده
۲ )آماده سازی داده
۳)انتخاب و آموزش مدل مناسب
۴)تست و ارزیابی.
مصاحبه با مهندس بهجتی
مهندس علی بهجتی، مهندس داده در شرکت بوکینگ در صحبتی که باهم داشتیم؛ ذکر کردند که زیرساخت های مناسبی برای دیتا در ایران وجود ندارد و شرکت ها در این زمینه جای کار دارند و نیاز اساسی به مهندس داده دارندتا بتوانند پیشرفتی حاصل کنند.پیش تر مهندس هادی ستوده نیز به صورت سربسته در خصوص داده های فوتبالی و مشکلات زیرساخت ها(تجهیز استادیوم ها) در فدارسیون کشورمون به مواردی اشاره نمودند.
بیشتر بدانید:
تا به اینجای دوره با مبانی یادگیری ماشین، کاربردها ، چالشهای آن و مقدمات استفاده از آن در عمل، آشنا شدهاید. در ادامه به موضوعاتی تکمیلی میپردازیم که آشنایی با آنها میتواند سرنخهایی برای تحقیق و مطالعه ی بیشتر درباره ی هوش مصنوعی و یادگیری ماشین در اختیارتان قرار دهد.
چرخه تب تکنولوژی:
چرخه تب تکنولوژی که توسط موسسه گارتنر مطرح شده نمودار رشد تکنولوژیهای مختلف را در طی زمان نشان می دهد. با وجود اینکه هر تکنولوژی لازم است این چرخه را طی کند اما سرعت حرکت آنها متفاوت است. برای مثال استفاده از پردازنده گرافیکی در هوش مصنوعی تقریباً به محدوده پایانی رشد خود رسیده و اغلب تکنولوژیهای دیگر از آن استفاده می کنند. همچنین به موقعیت قرارگیری پردازش تصویر (computer vision) در نمودارچرخه تب هوش مصنوعی دقت کنید. با آنکه به نظر میرسد این تکنولوژی شهرت خود را از دست داده است اما زمان به اوج رسیدن آن چیزی حدود ۲ تا ۵ سال تخمین زده شده است که نشانگر زمان مناسبی برای سرمایهگذاری و یا شروع به یادگیری این موضوع است.
هوش مصنوعی عمومی:
هوش مصنوعی که تا به الان به آن اشاراتی داشتیم،هوش مصنوعی محدود می باشد.محدود به این معنی که مدل های طراحی شده ما فقط در یک مسئله خاص هوشمند شده اند.در مقابل هوش مصنوعی عمومی را داریم که عبارت است از ساختن عامل هوشمندی که مانند انسان از هوش عمومی برخوردار باشد و توانایی آموختن در مواجهه با هر مساله جدیدی را داشته باشد و محدود به یک زمینه خاص نباشد. جالب است بدانید که در حال حاضر یک رشته ی دانشگاهی نسبتا جوان وجود دارد به نام علوم شناختی که مسئله ی شناخت را محور تحقیقات خود قرار داده است
تکینگی فناوری:
در ادامه روند رشد و پیشرفت هوش مصنوعی به نقطه ای اشاره شده است که در این نقطه پیشرفت تکنولوژی به نقطه غیر قابل کنترل و برگشت ناپذیری می رسد. چنین اتفاقی می تواند سبب پیدایش یک عامل فراهوشمند شود؛ که هوش تمام بشریت را پشت سر بگذارد.در اینجا بهتر است به سخنان دکتر فروغمند رجوع کنیم که عقیده داشتند که در مسیر رسیدن به این تکینگی یه سری مسائل دیگر قدرت را به دست میگیرند و از رسیدن به این تکینگی و قدرت هوش مصنوعی می کاهند.
در ادامه بد نیست با شرکت های پیشرو در زمینه هوش مصنوعی و در پایان چند کتاب مفید در این عرصه شمارا آشنا کنیم.شرکتهای پیشرو در زمینه هوش مصنوعی و یادگیری ماشین عبارت اند از: شرکت DeepMind، شرکت OpenAI، گروه AI شرکت Facebook وگروه AI شرکت Google.و کتابهای جذاب و معروفی که می توان به آن ها اشاره نمودم را می توانید با کلیک بر روی لینک پایین صفحه حالت بهتری از معرفی کتاب هارا در منبع این ببینید.
منبع:
https://quera.ir/college/land/college/8522/