یادگیری ماشین

گزارش مطالب یادگیری ماشین در سایت کوئرا?در بخش مقدمه که شامل 6 قسمت است ابتدا در پیش گفتار به خلاصه ای از موارد که بنا است در طول این دوره آموخته شود می پردازد. در قسمت نقشه راه گام هایی که قرار است برای دستیابی به اصول یادگیری ماشین طی شود گفته شده است که شامل: آشنایی با مفاهیم، یادگیری ابزارها برای آماده‌سازی و تحلیل داده، یادگیری ماشین مقدماتی و یادگیری ماشین پیشرفته است. در بخش سرگذشت هوش مصنوعی با اشاره به اینکه از زمان های قدیم دانشمندان سعی بر تحقیق و جستوجو در عملکرد مغز انسان داشته اند توانسته اند اقداماتی در این راستا انجام دهند. از جمله ساخت آدم آهنی توسط یونانیان است که بتوانند با مدل کردن مغز انسان با قطعات مکانیکی عملکرد آن را توجیه کنند. همچنین آزمون تورینگ از اقدامات اولیه در دهه 50 میلادی در حوزه هوش مصنوعی است که به ارزیابی هوشمندی ماشین پرداخته است.?آزمون تورینگ(ارزیابی عملکرد هوش مصنوعی در مقابل انسان)در فلسفه هوش مصنوعی 4 تعریف اساسی در راستای دو اصل هوشمندی در انسان بودن و منطقی بودن و هوشمندی در تفکر و رفتار وجود دارد: منطقی فکر کند-منطقی رفتار کند- مانند انسان فکر کند- مانند انسان رفتار کند. هر چند در جزییات تعاریف بالا نیز ابهاماتی وجود دارد. پس از انتخاب نوع هوشمندی ذکر شده انتخاب عمل هوشمند نیز حائز اهمیت است که می تواند در قالب سخت افزار یا نرم افزار باشد. در سال های اخیر توجه محققان به موضوعات هوش مصنوعی جلب شده است و در سال های گذشته سعی به عملیاتی سازی مبانی تئوری هوش مصنوعی شده است که تا حد بسیاری توانسته انقلابی در تکنولوژی ایجاد کند. باتوجه به اینکه قصد داریم یادگیری ماشین را بررسی کنیم نیاز است به ارتباط بین یادگیری ماشین و هوش مصنوعی بپردازیم. یادگیری ماشین را می توان زیر مجموعه ای از هوش مصنوعی دانست مبتنی بر داده است و با استفاده از داده می تواند به گونه ای عمل کند که بتواند عملیات های متفاوت مانند classification و detectionو ..... را انجام دهد.?جایگاه یادگیری ماشین نسبت به هوش مصنوعیهمچنین یادگیری ماشین به گونه ای است که بتواند مانند انسان با دیدن داده های جدید خود را پیشرفت دهد. دیدگاه دکتر فروغمند، عضو هیئت علمی دانشگاه صنعتی شریف در ارتباط با هوش مصنوعی به این صورت است که در وهله اول مسائل مرتبط با صنعت و دانشگاه را بسیار پر اهمیت دانسته اند و معتقد اند که هر چند این پیوند دارای دشواری های بسیاری است اما بسیار حائز اهمیت بوده به گونه ای که اگر بتوان دانشجویان را از صرفا تئوری محور بودن به حوزه های عملیاتی سوق داد برای پیشرفت تکنولوژی گام بسیار بزرگی خواهد بود. در ادامه با بیان اینکه هوش مصنوعی در سال های اخیر توانسته پیشرفت های روز افزونی داشته باشد. دکتر فروغمند کار در حوزه هوش مصنوعی را به دو دسته تجربی و تئوری تقسیم می کنند در بخش تجربی به عنوان مثال تطبیق الگوریتم ژنتیک انسان و خصوصیات انواع سرطان ها است و در بخش تئوری می توان به بخش بررسی عمیق روش های موجود در هوش مصنوعی و به کارگیری هسته اصلی آن در کاربرد های دیگر است به عنوان مثال مرکز اصلی شبکه های کانولوشنال را بفهمیم و آن را در سایر روش های هوش مصنوعی به کارگیریم.?تشخیص نوع سرطان با استفاده از الگوریتم های ژنتیک با استفاده از هوش مصنوعی(دکتر فروغمند)در ارتباط با آینده هوش مصنوعی ایشان گفتند که سیستم ها به جایی خواهند رسید که برای پیشرفت و آپدیت دیگر نیازی به انسان ها نداند و خودشان خودشان را پیشرفت خواهند داد.بخش 2هدف از این بخش بررسی مشاغل حوزه هوش مصنوعی است. صنعت، دانشگاه، حوزه سلامت، اقتصاد و تجارت، کسب و کارها و بسیاری دیگر، از جمله جاهایی است که هوش مصنوعی و به طور اختصاصی یادگیری ماشین کاربرد بسیاری دارد. به علت اینکه هدف هوشمند سازی سیستم ها در حوزه های مختلف است علاقمندی به این مشاغل در سال های اخیر افزایش پیدا کرده است. از دیگر دلایل جذابیت این حوزه استقبال برنامه نویسانی است که صرفا با دانستن زبان های برنامه نویسی مرتبط با یادگیری ماشین مانند پایتون می توانند متناسب با پروژه از آن بهره مند شوند. از آنجایی که علوم مبتنی بر داده دارای نقش های بسیاری در انواع حوزه ها دارد علاقمندی به آن که یادگیری ماشین یکی از شاخه های آن است را افزایش داده است. از جمله مشاغل در حوزه آنالیز داده عبارت است از : تحلیل‌گر داده،دانشمند داده،مهندس داده،مهندس یادگیری ماشین می باشد.?مشاغل حوزه هوش مصنوعیمعمولا در این حوزه ها حقوق دانشمند داده از تحلیل‌گر داده بیشتر است و مهندس یادگیری ماشین و مهندس داده از دوتای قبلی بیشتر. از جمله دیگر مشاغلی که مرتبط هستند مشاغلی است که از این علوم در مباحث پیشرفت تکنولوژی استفاده می کنند.ازجمله کاربرد های یادگیری ماشین در صنعت معدن است که به منظور پردازش تصاویر ماهواره ای، پیش‌بینی متغیرهای ژئومتالورژیکی،آنالیز تصاویر مربوط به جعبه مغزه‌ها، پردازش تصاویر گرفته‌شده از پهپاد برای شناسایی هدف‌های از پیش تعیین شده استفاده می شود.در ادامه به مصاحبه با مهندس ستوده دانشمند داده در کوئرا است میپردازد. در دپارتمانی که ایشان مشغول به فعالیت هستند از جمله کار هایی که انجام می دهند جمع آری داده های مربوط به بازی فوتبال به منظور آنالیز بازی و حتی پیش بینی نتیجه بازی و حتی به آنالیز عملکرد بازیکنان با اتصال GPSو اندازه گیری شتاب و سرعت و... می پردازند. درنهایت سعی بر این است که داده ها به صورت خودکار به جای جمع آوری دستی از بازی مربوطه جمع آوری شود که به منظور صرفه جویی در زمان خواهد شد. پس از جمع آوری اطلاعات این داده ها به مربی ها در برنامه ریزی استراتژی کمک خواهد کرد. سپس یک مطلب کلی از موقعیت‌های یادگیری ماشین که در کوئرا ثبت شده‌اند ارائه می دهند.بخش 3در ابتدای این بخش به بررسی تاریخچه و سرگذشت یادگیری ماشین می پردازیم.?سرگذشت هوش مصنوعیدر دهه 50 میلادی ساموئل از مهندسان IBMو پیشگامان هوش مصنوعی و بازیهای کامپیوتری برای اولین بار از کلمه یادگیری ماشین استفاده کرد و تعریف زیر را برای آن ارائه داد:یادگیری ماشین زمینه‌ای از تحقیقات است که به کامپیوترها توانایی یادگیری بدون برنامه‌نویسی صریح را می‌دهد. منظور از برنامه نویسی صریح این است که بدون کد نویسی و صرفا با دادن مجموعه ای از ورودی و خروجی سیستم بتواند عملیات را انجام دهد و الگوریتم خود، نیازهای خود را تشخیص می‌دهد و خود را ارتقا می‌دهد(self learning).بنابراین در حوزه یادگیری ماشین داده ها حرف اول را می زنند و بدون داده در وافع سیستمی نخواهیم داشت. از جمله انواع داده پرکاربرد مورد استفاده در این حوزه: کلمات (زبان طبیعی)، تصویر، جداول، سری زمانی می باشد که انواع دیگری نیز وجود دارند. ساموئل چارچوبی برای یادگیری ماشین ارائه داده است که عبارت است از:1)مدل تصمیم گیری2)معیار ارزیابی3)روزیه خودکار محاسبه معیار ارزیابی4)رویه خودکار بهبود مدل است.?جزییات مراحل یادگیری ماشینبه طور کلی یادگیری ماشین به سه دسته کلی تقسیم‌بندی می شود.یادگیری بانظارت ،یادگیری بی‌نظارت، یادگیری تقویتی?انواع روش ها و متد های یادگیری ماشیندر یادگیری نظارت شده داده هایی که برای آموزش الگوریتم استفاده می‌شوند، دارای برچسب هستند. یعنی که مدل یادگیری‌ماشین با استفاده از داده‌هایی که از قبل برچسب مشخصی دارند یک متد موثر تا زمانی که به دقت مناسب برسد را دنبال می کند. این الگوریتم ها به دو دسته طبقه‌بندی (classification) و رگرسیون (regression) دسته‌بندی می‌شوند.?در دسته بندی یا طبقه بندی ابتدا مدل را با استفاده از داده های برچسب‌دار، آموزش داده و سپس برای نمونه‌های بدون برچسب دسته مناسب(متغییر گسسته) را تشخیص می دهد. در رگرسیون، با تخمین یک مقدار پیوسته برای ره داده مدل سازی را انجام می دهد. در یادگیری بدون نظارت بدون هیچ گونه برچسب به پیش بینی درمورد داده ها می پردازد و الگوی نهفته بین ورودی و خروجی را می یابد. خوشه‌بندی یکی از انواع یادگیری بدون نظارت است که به معنی دسته‌بندی خودکار داده‌ها است که با سنجش معیار فاصله بین داده ها انجام می شود(به عنوان مثال اقلیدسی). به این صورت که داده‌های هر خوشه، ویژگی‌های یکسانی را دارا باشند.?روش خوشه بندی در راست و دسته بندی در چپدر سومین نوع یادگیری که یادگیری تقویتی است این روش نزدیک‌ترین حالت به یادگیری انسان است که با آزمون و خطا و اختصاص دادن امتیاز کار می‌کند(پاداش یا تنبیه).?یادگیری تقویتی براساس پاداشدر روش های یادگیری ذکر شده 2نوع داده وجود دارد اول داده آموزش(train) است که از این داده به منظور آموزش سیستم برای رسیدن به هدف استفاده می شود پس از انجام یادگیری نیاز است عملکرد سیستم آموخته شده را بسنجیم که این مورد توسط داده آزمایش(test) قابل انجام است. در ادامه در مصاحبه با مهندس هادی یامی است که به عنوان applied scientist (به معنای اینکه مطالعه و بررسی دقیق مقالات و تحقیقات به روز و لبه علم و بررسی فواید و مضرات این نوع مقالات)در شرکت مایکروسافت فعالیت می کند.بخش 4در این بخش به ابزار و زبان برنامه نویسی مناسب می پردازیم. پایتون یک ابزار‌ متن بازِ(open source) زبان برنامه نویسی است که در راه اندازی وبسایت‌های معروفی مانند Dropbox , Google , Instagram , SpotifyوYoutube از پایتون استفاده شده است.?کتابخانه های پرکاربرد در پایتوندلایل استفاده از پایتون در علوم داده و یادگیری ماشین: 1)پایتون کتابخانه‌ها و ابزار‌هایی قوی و متعدد دارد2) کدهای پایتون قابل فهم است3) چند پارادایمی بودن است. از پرکاربرد ترین کتابخانه های پایتون عبارت است از: Numpy(ذخیره‌سازی و پردازش بهینهٔ آرایه‌های عددی)، Pandas(عملیات تحلیل و پاک‌سازی و آماده‌سازی داده را در پایتون می‌توان خیلی سریع و آسان انجام داد.)، Matplotlib(این کتابخانه بیشتر در ساخت نمودارهای ۲ بعدی کاربرد دارد و رابط کاربری آن بسیار شبیه به متلب است)، scikit-learn(دارای ابزارهای متنوعی برای یادگیری ماشین و مدل‌سازی آماری است).بخش5در این بخش به بررسی دلایل استفاده از یادگیری ماشین می پردازیم. با توجه به داده محور بودن بسیاری از مشاغل آنالیز داده توسط انسان دارای دقت و سرعت پایینی است برای افزایش دقت و سرعت روش های یادگیری ماشین از اهمیت زیادی برخوردارند. بنابراین به دلایل افزایش بی حد و حصر داده‌ها، ذخیره سازی مقرون به صرفه داده‌ها، افزایش قدرت پردازنده‌ها و کاهش هزینه‌های آن‌ها استفاده از یادگیری ماشین گزینه بهتری خواهد بود.باتوجه به داده محور بودن این روش ها هرگونه مشکلاتی از قبیل کمیت نامناسب داده، داده بی‌کیفیت و ویژگی‌های نامربوط می تواند در عملکرد سیستم ایجاد اختلال کند. به عنوان مثال اگر تعداد داده ما کافی نباشد سیستم با تعداد داده کم آموزش می بیند که در نتیجه در مواجهه با داده ای جدید نمیتواند به خوبی عملیات را انجام دهد یا اگر داده بی کیفیت باشد که یعنی آموزش سیستم نادرست انجام خواهد شد. درنهایت با فرض عبور از مشکلات احتمال در داده ها چالش های الگوریتمی نیز خواهیم داشت. بیش‌برازش (Overfitting)، کم‌برازش (Underfitting) و زمان نمونه‌ای از چالش‌های مربوط به مدل‌ها و الگوریتم‌های هوش‌مصنوعی و یاد‌گیری‌ماشین هستند.?کم برازش و بیش برازشدر بیش برازش مشکل این است که با توجه به داده های آموزشی نمیتواند داده های پیش رو را پیش بینی کند که به دلیل آموزش بیش از اندازه داده ها رخ می دهد. در کم برازش سیستم به خوبی نتواسته است یادبگیرد که معمولا به علت داده نامناسب این اتفاق رخ می دهد. در سومین عامل یعنی زمان در آموزش و آزمایش سیستم بسیار مهم است زیرا اگر مدت زمان آموزش بسیار باشد یعنی توسعه و پیشرفت آن زمان بر خواهد بود و اگر زمان آزمایش زیاد باشد زمان زیادی از کاربر خواهد گرفت که هدف این است که زمان را مینیمم کرد و از مدلی با پیچیدگی زمانی کمتر بهره برد.بخش 6در این بخش به بررسی جنبه عملی یادگیری ماشین می پردازیم. مراحلی که در انجام پروژه های یادگیری ماشین وجود دارند عبارت است از: دریافت و بررسی داده ، آماده‌سازی داده، انتخاب و آموزش مدل مناسب، تست و ارزیابی می باشد. در ادامه مثالی عملی از یادگیری ماشین بررسی می شود. در این مثال با داشتن قد و جنسیت می خواهیم وزن افراد را تخمین بزنیم. در بررسی این مثال باید توجه داشت از scikit learn برای مدل‌سازی، از pandasبرای خواندن و تغییر داده و از seaborn برای تبدیل به نمودار استفاده شده است. اطلاعات هر فرد که شامل قد، وزن و جنسیت یک نمونه به شمار می‌آید. تکلیف T پیش‌بینی وزن تجربه E اطلاعات هر یک از افراد سنجه P MAE(میانگین خطای مطلق) است.?مثال بالا از نوع یادگیری نظارت شده می باشد زیرا برچسب هایی مشخص برای داده ها تعیین شده است. دیتا ست این مثال نیز در اینترنت در قالب فایل نوت بوک قابل دسترس می باشد.حال به بررسی کد مثال می پردازیم. ابتدا 1)خواندن داده از فایل csv با دستور pd.read_csv2) تغییر واحد داده‌ها بادستور dataset.Height.apply3) مصورسازی داده sns.scatterplot4) ساختن دادگان آموزش و آزمایش train_test_split5) انتخاب مدل مناسب و آموزشXGBRegressor6) تخمین مقادیر تست و ارزیابی عملکرد مدلregressor.predict. با طی 6 مرحله ذکر شده در آزمایش مدل دقت به 90% میرسد.بخش 7در این بخش به بیان مطالبی که مقدمه تحقیقات و پژوهش های بیشتر برای علاقمندان است می پردازد.چرخه تب تکنولوژی (Technology Hype Cycle) در سال ۱۹۹۵ مطرح کرد که نشان دهنده نمودار رشد تکنولوژی‌­های مختلف است. طبق این هر تکنولوژی دارای ۵ مرحله اصلی است:1) معرفی و شروع به مشهور شدن 2)معروف شدن نام آن تکنولوژی (اوج مرحله) 3)شناخت محدودیت‌های این تکنولوژی (کاهش شهرت)4)فعالیت تعداد محدودی از آن عرصه 5) پختگی و ثبات نسبی .در چرخه تب تکنولوژی هوش مصنوعی در سال 2020 در استفاده از واحد پردازنده گرافیکی (GPU) در هوش مصنوعی تقریبا به محدوده‌ پایانی رشد خود رسیده .همچنین در موقعیت پردازش تصویر (computer vision) در این نمودار زمان به اوج رسیدن آن چیزی حدود ۲ تا ۵ سال تخمین‌ زده‌ شده است و خودروهای خودکار (autonomous vehicles) زمان پیشرفت آن چیزی حدود ۱۰ سال تخمین زده شده است.?چرخه تب تکنولوژی هوش مصنوعی در 2021امروزه با اینکه مواردی از زمینه هوش مصنوعی مانند تشخیص اشیا از روی تصویر و موارد دیگر پیشرفت زیادی کرده اما هوش مصنوعی عمومی (artificial general intelligence) یعنی ساختن سیستم هوشمندی که مانند انسان از هوشی عمومی برخوردار باشد که توانایی آموختن در مواجهه با هر مسئله جدیدی را داشته باشد را نتوانستیم به نتیجه دلخواه برسیم. پیش زمینه هوش مصنوعی عمومی این است که ابتدا هوش طبیعی یا همان مغز خودمان را بشناسیم. که لازمه آن مطالعه علومی مانند روان شناسی و علوم اعصاب است. از جمله مواردی که در آینده هوش مصنوعی رخ خواهد داد پدیده ای به نام تکینگی فناوری (technological singularity) است. زمانی که پیشرفت هوش مصنوعی به نقطه‌ای می رسد که نمیتوان آن را کنترل کرد و در تضاد با منافع انسانی خواهد بود. دانشمندان زمان این واقعه برای هوش مصنوعی را بین 2040 تا 2050 میلادی تخمین زده اند.منابع:https://quera.ir/college/land/college/8522/