آرش کشت کار
آرش کشت کار
خواندن ۷ دقیقه·۳ سال پیش

یادگیری ماشین و کاربردهای آن

تاریخچه هوش مصنوعی

ایده هوش مصنوعی به عقیده و افسانه‌های یونانیان باستان برمی‌گردد که در آن زمان به مغز مکانیکی معروف بود. ایده یک غول آهنی که مغزی مکانیکی داشته باشد به وجود آمد. البته آثاری هم در مورد ساخت آدم‌آهنی به‌دست‌آمده ولیکن میزان دستاوردهای یونانیان به این مهم خودش جای سؤال است!

تالوس اثر Ed Kwong
تالوس اثر Ed Kwong

دهه ها گذشت تا بالاخره تعریف هوش مصنوعی از مکانیکی به منطقی توسط دانشمندانی چون رنه دکارت و گوتفرید لایبنیتس تغیر کند. البته این دانشمندان سعی داشتند فرایند تفکر انسان با استفاده از علائم ریاضی منطقی کنند. درنهایت تعریف هوش مصنوعی برمی‌گردد به مقاله تأثیرگذار آلن تورینگ (Alan Turing) در سال 1950 میلادی که تولد هوش مصنوعی خوانده می‌شود.

آلن تورینگ (Alan Turing)
آلن تورینگ (Alan Turing)

رابطه هوش مصنوعی با یادگیری ماشین

خیلی‌ها بر این باورند که هوش مصنوعی و یادگیری ماشین یک تعریف هستند ولی دسته دیگری یادگیری ماشین زیرمجموعه هوش مصنوعی می‌دانند که این تعریف درست آن است.

سلسه مراتب هوش مصنوعی
سلسه مراتب هوش مصنوعی

اگر بخواهیم دقیق‌تر بگیم امروزه هر برنامه ساخته شود که به نحوی رفتار انسان را تقلید کند می‌توان به آن هوش مصنوعی گفت. ولی یادگیری ماشین یک تفاوت عمده دارد آن‌هم این است که یادگیری آن با استفاده از داده و بدون استفاده از دستورات مستقیم انجام می‌گیرد.

مفاهیم پایه

پیدایش یادگیری ماشین ریشه در تحقیقات و توسعه هوش مصنوعی به وجود آمد. توسعه یادگیری ماشین به سال‌ها قبل بازمی‌گردد زمانی در خانه هرکسی کامپیوتر وجود نداشت این علم به‌صورت مخفی توسط دانشمندان توسعه می‌یافت. اگر به خواهیم به اولین تعریف یادگیری ماشین به پردازیم، در دهه پنجاه میلادی یکی از مهندسان شرکت IBM آقای آرتور ساموئل برای اولین بار «یادگیری ماشین را زمینه تحقیقاتی که به کامپیوترها توانایی یادگیری بدون برنامه‌نویسی صریح را می‌دهد» بیان کرد.

آرتور ساموئل (Arthur Samuel)
آرتور ساموئل (Arthur Samuel)

الگوریتم‌های یادگیری ماشین به‌خودی‌خود وابسته به داده‌های های ورودی هستند و بر اساس آن‌ها یاد می‌گیرند. ازجمله داده‌های آن‌ها می‌توان به کلمات متن‌ها، تصاویر، جداول و داده‌های وابسته به سری زمانی مثل فریم‌ های یک فیلم که مجموعه‌ای از تصاویر وابسته به زمان است یا موج‌های مربوط به نوار قلب اشاره کرد.

تا اینجا با یادگیری ماشین آشنا شدیم ولی سؤال اصلی باقی ماند «ماشین چگونه یاد می‌گیرد»؟

طبق تعاریف موجود در منابع یادگیری ماشین در کتاب یادگیری ماشین آقای تام میشل (Tom Mitchell) به این اشاره‌شده است که « اگر کارایی برنامه در انجام تکلیف T که با سنجه P ارزیابی می‌شود، باتجربه E افزایش یابد، می‌گوییم که برنامه یاد گرفته است از تجربه E با توجه به تکلیف T و سنجه P استفاده کند»

خب یکم سخت شد!

نحوه عملیات یادگیری ماشین
نحوه عملیات یادگیری ماشین

تکلیف T: همان مسئله و مشکل ما هست که قرار با یادگیری ماشین حل کنیم مثلاً بانکی می‌خواهد تصمیم بگیرد که به مشتری وام بدهد یا نه.

·تجربه E: برای انجام فرآیند یادگیری ما نیازمند تعدادی نمونه هستیم که برای مثال بالا سوابق گیرندگان وام می‌توانیم استفاده کنیم.

سنجه P: به‌هرحال هر مدل یادگیری که ارائه شود نمی‌تواند به نتیجه درست و مناسب 100 درصدی برسد بنابراین معیاری را برای بررسی و اندازه‌گیری میزان دقت مدل یادگیری و الگوریتم آن استفاده کنیم تا در صورت نامناسب بودن دقت، با تغیر در پارامترهای الگوریتم بتوانیم به‌دقت بالاتر برسیم.

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

یادگیری با نظارت
به این صورت است که ما ناظر بر یادگیری ماشین می‌شویم و داده‌های که به آن می‌دهیم برای آموزی دارای برچسب می‌باشند. برای مثال سیستم تشخیص جنسیت بر اساس تصاویر در نظر بگیرید ما تعدادی تصاویر خانم‌ها و آقایان را دسته‌بندی کرده و به سیستم آموزش می‌دهیم و سیستم با استفاده از ویژگی‌های استخراج‌شده در صورت ورود تصویر جدید آن را تشخیص می‌دهد. ازجمله مسائلی که با استفاده از یادگیری با نظارت حل می‌شود به دودسته طبقه‌بندی (classification) و رگرسیون (regression) دسته‌بندی می‌شوند.

یادگیری با نظارت
یادگیری با نظارت

یادگیری بدون نظارت
در این مدل یادگیری مدل بدون دخالت انسان و با به دست آوردن الگوهای پنهان‌بین داده‌ها عمل یادگیری انجام می‌دهد. به‌طورکلی به سه دسته خوشه‌بندی (clustering)، کاهش ابعاد (dimensionality reduction) و استخراج قانون وابستگی (association rule mining) تقسیم‌بندی می‌شود.

یادگیری بدون نظارت
یادگیری بدون نظارت

یادگیری تقویتی
فرض کنید شما بازی معمایی هزارتو را بازی می‌کنید و در هر مرحله که شما گام به سمت خروج برمی‌دارید به شما امتیاز مثبت داده می‌شود و در صورت اشتباه رفتن مسیر امتیاز منفی به شما داده می‌شود. به این صورت شما تلاش می‌کنید که خارج شوید و پس از آن یاد می‌گیرد که چه‌کارهایی انجام دهید که خارج شوید. مدل هم به همین شیوه عمل یادگیری را انجام می‌دهد. این مدل برخلاف یادگیری با نظارت و بدون نظارت وابسته با داده نیست بلکه وابسته به تعامل با محیط است.

یادگیری تقویتی
یادگیری تقویتی

کاربردهای یادگیری ماشین

ما تا به اینجا بیشتر راجع به تاریخچه و اصول یادگیری ماشین فرآیندها و مفاهیم آن صحبت کردیم. حالا می‌خواهیم به کاربردهای هوش مصنوعی و حوزه‌های مختلفی که از هوش مصنوعی در آن استفاده می‌شود بپردازیم.

کاربردهای یادگیری ماشین
کاربردهای یادگیری ماشین

شناسایی و پردازش تصاویر

یکی از کاربردهای رایج یادگیری ماشین شناسایی تصویر است. موقعیت‌های بسیاری برای دسته‌بندی اشیاء در تصاویر دیجیتالی وجود دارد و برای این کار می‌توان از یادگیری ماشین استفاده کرد. برای مثال در تصاویر سیاه و سفید هر پیکسل به عنوان یک واحد اندازه گیری استفاده می‌شود. در تصاویر رنگی نیز هر پیکسل یک واحد اندازه گیری برای شدت سه رنگ قرمز، سبز و آبی استفاده می‌شود.

از یادگیری ماشین نیز می‌توان در شناسایی چهره در پردازش تصویر نیز استفاده کرد. در یک دیتابیس برای هر فرد یک دسته بندی جدا جود دارد و الگوریتم‌های یادگیری ماشین با توجه به این تصاویر به تشخیص هویت می‌پردازند. از یادگیری ماشین هم چنین در تشخیص دست خط در نوشته های معمولی یا نسخ خطی چاپ شده نیز استفاده می‌شود.

پردازش تصاویر
پردازش تصاویر

شناسایی گفتار

یکی دیگر از کاربردهای یادگیری ماشین تبدیل گفتار به متن می‌باشد. این مسئله به شناسایی گفتار کامپیوتری با شناسایی گفتار اتوماتیک نیز معروف است. به کمک شناسایی گفتار یک نرم افزار می‌تواند کلمات موجود در یک گفتار را تشخیص دهد و آن را به یک فایل متنی تبدیل کند. واحد اندازه گیری در اینجا می‌تواند زنجیره ای از اعداد باشد که نماد سیگنال‌های گفتار می‌باشند. همچنین می توانیم سیگنال گفتار را با شدت در باندهای مختلف فرکانس زمانی تقسیم کنیم. شناسایی گفتار می‌تواند در برنامه‌هایی کاربرد داشته باشد که رابط تعاملی صوتی دارند و یا قابلیت جستجی صوتی و… دارند.

دستیار صوتی Google
دستیار صوتی Google

تشخیص بیماری

از یادگیری ماشین می‌توان در تکنیک‌ها و ابزارهایی که برای تشخیص بیماری‌ها کاربرد دارند استفاده کرد. از این تکنولوژی می‌توان برای تجزیه و تحلیل پارامترهای بالینی و ترکیب آن‌ها برای پیش‌بینی آگاهی از پیشرفت بیماری، استخراج اطلاعات پزشکی، تحقیقات برای رسیدن به نتیجه، برنامه ریزی درمانی و نظارت بر بیمار استفاده کرد. این موارد از کاربردهای موفق استفاده از متدهای یادگیری ماشین می‌باشد. استفاده از الگوریتم‌های یادگیری ماشین همچنین می‌تواند به ادغام سیستم‌های کامپیوتری و بخش‌های مراقبت بهداشتی نیز کمک کند.

تشخیص بیماری COVID-19 توسط هوش مصنوعی
تشخیص بیماری COVID-19 توسط هوش مصنوعی

تحلیل آماری

در امور اقتصادی یکی از مسائل مهم بدست آوردن استراتژی‌های کوتاه مدت برای خرید و فروش اوراق بهادار می‌باشد. برای بدست آوردن این استراتژی‌ها کاربر از الگوریتم‌های معاملاتی برای خرید و فروش اوراق بهادار بر اساس عواملی مانند همبستگی های تاریخی و متغیرهای عمومی اقتصادی متمرکز استفاده می‌کند. یادگیری ماشین می‌تواند برای بدست آوردن این الگوریتم‌های استراتژی کوتاه مدت بسیار کاربردی باشد.

تحلیل مالی با کمک یادگیری ماشین
تحلیل مالی با کمک یادگیری ماشین

فرصت های شغلی

تحلیل‌گر داده (Data Analyst)
این شغل در عصر گسترش اطلاعات بسیار اهمیت بالایی ازنظر اینکه افراد متخصص این حوزه باید زیرساخت و معماری مناسب را برای جمع آور اطلاعات و پس‌ازآن آماده‌سازی و انتخاب قالب مناسب آن‌ها را در پایگاه داده طراحی‌شده برای تحلیل داده ذخیره کنند. سپس با بررسی زمینه فعالیت، نیازمندی و اهداف سازمان داده‌ها را موردبررسی قرار داده و اطلاعات مفید استخراج کنند. درنهایت نتایج خود را در قالب گزارش‌هایی به افراد مربوطه در سازمان ارائه و با آن‌ها تعامل داشته باشد.

تحلیل‌گر داده
تحلیل‌گر داده

دانشمند داده (Data Scientist)
علم داده با توجه به گستردگی که در آن وجود دارد به طبع این مهم را مطلبد که فعالین این حوزه دانش‌های سطح بالاتری را نسبت به تحلیل‌گر داده داشته باشند. به‌طوری‌که دانش آماری و ریاضیاتی و برنامه نویسی به‌شدت موردتوجه قرار می‌گیرد و علاوه بر آن باید به مفاهیم یادگیری ماشین واقف باشند تا بتوانند از ابزارهای این حوزه بهره‌وری بهتر و تحلیل عمیق‌تری ارائه دهند. اگر بخواهیم به حوزه‌های کاری آن اشاره‌کنیم ایجاد محصولاتی از قبیل سیستم‌های پیشنهاددهنده، پیش‌بینی، بهینه‌سازی، دسته‌بندی را می‌توان به آن اشاره کرد.

دانشمند داده
دانشمند داده

مهندس داده (Data Engineer)
با گسترش جمع‌آوری داده مفاهیم همچون کلان داده و انفجار داده مطرح شد. پس‌ازآن مسئله و مشکل مدیریت و ذخیره‌سازی داده مطرح شد. در پی همین مشکلات بود که تخصص جدید به‌عنوان مهندس داده به وجود آمد. بر همین اساس وظایف مهندس داده مرتبط با ایجاد زیرساختی برای مدیریت و ذخیره‌سازی کلان داده که دارای اهمیت بیشتری دارند را می‌توان معرفی کرد.

تیم مهندسی داده
تیم مهندسی داده

مهندس یادگیری ماشین (Machine Learning Engineer)
اغلب افراد عنوان مهندس یادگیری ماشین را با دانشمند داده اشتباه می‌گیرند. ولی مهندس یادگیری ماشین نقطه تلاقی مهندسی نرم‌افزار و علم داده است. او باید دانش کاملی از الگوریتم‌ها و یادگیری ماشین داشته باشد و ازجمله وظایف آن این است که رساندن داده به مدل و همچنین رساندن خروجی نهایی به کاربر می‌باشد. بسیاری از محصولات جذاب یادگیری ماشین مثل سیستم پیشنهاددهنده و دستیارهای صوتی توسط این مهندسان به مرحله عمل رسیده است.

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



منابع

https://quera.ir/college/land/college/8522/

https://amerandish.com/%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%DB%8C-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F-%D8%AA%D8%B9%D8%B1%DB%8C%D9%81-%D8%B3%D8%A7%D8%AF%D9%87/

یادگیری ماشینهوش مصنوعیدانشمند دادهمهندس داده
شاید از این پست‌ها خوشتان بیاید