یکی دیگر از خدمات شرکت پیاده سازی انواع سیستم های یادگیری ماشین جهت افزایش تدریجی بازدهی و دقت، می باشد. به عنوان یکی از شاخههای وسیع و پرکاربرد هوش مصنوعی، یادگیری ماشینی (Machine learning) به تنظیم و اکتشاف شیوهها و الگوریتمهایی میپردازد که بر اساس آنها رایانهها و سامانهها توانایی تعلٌم و یادگیری پیدا میکنند.
یادگیری ماشینی به بررسی روش هایی می پردازد که به رایانه ها امکان استفاده از داده ها و یادگیری از آنها برای بهبود عملکردهای مختلف را می دهد.
رشد فوق العاده ای كه اخیراً در حوزه هوش مصنوعی و كاربردهایش به وجود آمده به موازات توجه روزافزون به «یادگیری ماشین ها» به وقوع پیوسته است. حوزه «یادگیری ماشین» به توسعه نظریه های محاسباتی فرایندهای یادگیری و ساخت ماشین های یادگیری مربوط است. واضح است كه قابلیت یادگیری برای هر رفتار هوشمندانه ای ضروری است. اهمیت قایل شدن و هدف گذاری برای قدرت یادگیری ماشین در مركز برنامه های توسعه هوش مصنوعی قرار دارد.
طیف پژوهشهایی که در یادگیری ماشینی میشود گستردهاست. در سوی نظریی آن پژوهشگران بر آناند که روشهای یادگیری تازهای به وجود بیاورند و امکانپذیری و کیفیت یادگیری را برای روشهایشان مطالعه کنند و در سوی دیگر عدهای از پژوهشگران سعی میکنند روشهای یادگیری ماشینی را بر مسایل تازهای اعمال کنند. البته این طیف گسسته نیست و پژوهشهای انجامشده دارای مولفههایی از هر دو رویکرد هستند.
برای اصطلاح یادگیری ماشین تعریف های متعددی ارایه شده. از جمله این كه یادگیری ماشین، توانایی آن در یادگیری از تجربیات گذشته و یا و سوابق و انجام بهتر وظایف است. به عبارتی برای انجام بهتر كارها در آینده از گذشته تقلید می شود.بر اساس تعریفی دیگر ماشین ها چیزهایی یاد می گیرند و براساس آموخته ها رفتارشان را به نحوی تغییر می دهند كه باعث می شود در آینده وظایفشان را بهتر انجام دهند. اشیای اصلی كه در حوزه این مطالعه قرار دارند مصنوعی هستند. برنامه ریزی رایانه ای برای بهینه سازی یك عملكرد با استفاده از داده ها و تجربیات گذشته نیز از تعاریف یادگیری ماشین است.
ایجاد امکان یادگیری برای ماشین ها، همواره از پژوهش های اصلی در زمینه ی هوش مصنوعی بوده است. یادگیری بدون نظارت: قابلیت یادگیری الگو ها، از اطلاعات ورودی را فراهم میکند. یادگیری نظارت شده هم، می تواند هردو امکان: طبقه بندی و عبرت عددی را ایجاد کند. طبقه بندی این امکان را می دهد که کامپیوتر بتواند تشخیص دهد که چه چیز هایی را می توان در یک گروه خاص گنجاند. عبرت عددی (Regression takes) نیز به این صورت عمل می کند که بعد از دادن چیز هایی به عنوان ورودی به کامپیوتر و مشخص کردن خروجی دقیق آنها، کامپیوتر می تواند روابط بین ورودی و خروجی را کشف کرده و الگوریتم ها و توابع پیوسته ای را برای آنها تعیین کند. این روش برای به وجود آوردن الگوریتم های بسیار پیچیده، مفید خواهد بود. هدف یادگیری این است که کامپیوتر (در کلیترین مفهوم آن) بتواند به تدریج و با افزایش دادهها بازدهی بالاتری در وظیفه مورد نظر پیدا کند. گسترده این وظیفه میتواند از تشخیص خودکار چهره با دیدن چند نمونه از چهره مورد نظر تا فراگیری شیوه گامبرداری برای روباتهای دوپا با دریافت سیگنال پاداش و تنبیه باشد. اجازه دهید تا در این مورد مثالی بزنیم: وقتی در حال رانندگی هستید و به عابران پیاده نگاه می کنید، می توانید تا حد زیادی تشخیص دهید که آنها قصد چه کاری را دارند. مثلا می خواهند از خیابان رد شوند یا این که تاکسی بگیرند و یا این که فقط سر جای خود ایستاده اند. خب، این کار برای من و شما نسبتا ساده است اما اساسا برای نوشتن الگوریتم آن برای کامپیوتر، از دست یک انسان کاری ساخته نیست. با استفاده از روش عبرت عددی می توان با روش های خاص این مورد را با مثال های زیادی به کامپیوتر و برنامه ی مربوطه نشان داد و به تدریج الگوریتم مورد نیاز را تحویل گرفت. اما چیزی که باید هم اکنون به آن اشاره کرد، عملیات تقویت یادگیری است. این کار به این صورت انجام می پذیرد که تئوری تصمیم گیری کامپیوتر آنالیز شده و برداشت های سودمند آن تئوری، مورد تاکید قرار می گیرند. در واقع کار های درست با تشویق (به صورت اولویت دادن) و کار های غلط با تنبیه (به صورت امتیاز منفی) پاسخ داده می شوند و به همین خاطر یادگیری کامپیوتر به طور مرتب بهبود می یابد.
تقسیمبندی مسایل
یکی از تقسیمبندیهای متداول در یادگیری ماشینی، تقسیمبندی بر اساس نوع دادههای در اختیار عامل هوشمند است. به سناریوی زیر توجه کنید:
فرض کنید به تازگی رباتای سگنما خریدهاید که میتواند توسط دوربینای دنیای خارج را مشاهده کند، به کمک میکروفنهایاش صداها را بشنود، با بلندگوهایی با شما سخن بگوید (گیریم محدود) و چهارپایاش را حرکت دهد. همچنین در جعبهٔ این ربات دستگاه کنترل از راه دوری وجود دارد که میتوانید انواع مختلف دستورها را به ربات بدهید. در پاراگرافهای آینده با بعضی از نمونههای این دستورات آشنا خواهید شد.
اولین کاری که میخواهید بکنید این است که اگر ربات شما را دید خرناسه بکشد اما اگر غریبهای را مشاهده کرد با صدای بلند عوعو کند. فعلاً فرض میکنیم که ربات توانایی تولید آن صداها را دارد اما هنوز چهرهٔ شما را یاد نگرفتهاست. پس کاری که میکنید این است که جلوی چشمهایاش قرار میگیرید و به کمک کنترل از راه دورتان به او دستور میدهید که چهرهای که جلویاش میبیند را با خرناسهکشیدن مربوط کند. اینکار را برای چند زاویهٔ مختلف از صورتتان انجام میدهید تا مطمئن باشید که ربات در صورتی که شما را از مثلاً نیمرخ ببیند بهتان عوعو نکند. همچنین شما چند چهرهٔ غریبه نیز به او نشان میدهید و چهرهٔ غریبه را با دستور عوعوکردن مشخص میکنید. در این حالت شما به کامپیوتر ربات گفتهاید که چه ورودیای را به چه خروجیای مربوط کند. دقت کنید که هم ورودی و هم خروجی مشخص است و در اصطلاح خروجی برچسبدار است. به این شیوهٔ یادگیری، یادگیری بانظارت میگویند.
اینک حالت دیگری را فرض کنید. برخلاف دفعهٔ پیشین که به رباتتان میگفتید چه محرکای را به چه خروجیای ربط دهد، اینبار میخواهید ربات خودش چنین چیزی را یاد بگیرد. به این صورت که اگر شما را دید و خرناسه کشید به نحوی به او پاداش دهید (مثلاً به کمک همان کنترل از راه دورتان) و اگر به اشتباه به شما عوعو کرد، او را تنبیه کنید (باز هم با همان کنترل از راه دورتان). در این حالت به ربات نمیگویید به ازای هر شرایطی چه کاری مناسب است، بلکه اجازه میدهید ربات خود کاوش کند و تنها شما نتیجهٔ نهایی را تشویق یا تنبیه میکنید. به این شیوهٔ یادگیری، یادگیری تقویتی میگویند.
در دو حالت پیش قرار بود ربات ورودیای را به خروجیای مرتبط کند. اما گاهی وقتها تنها میخواهیم ربات بتواند تشخیص دهد که آنچه میبیند (یا میشنود و...) را به نوعی به آنچه پیشتر دیدهاست ربط دهد بدون اینکه به طور مشخص بداند آنچیزی که دیده شدهاست چه چیزی است یا اینکه چه کاری در موقع دیدناش باید انجام دهد. ربات هوشمند شما باید بتواند بین صندلی و انسان تفاوت قایل شود بیآنکه به او بگوییم این نمونهها صندلیاند و آن نمونههای دیگر انسان. در اینجا برخلاف یادگیری بانظارت هدف ارتباط ورودی و خروجی نیست، بلکه تنها دستهبندیی آنها است. این نوع یادگیری که به آن یادگیری بی نظارت میگویند بسیار مهم است چون دنیای ربات پر از ورودیهایی است که کسای برچسبای به آنها اختصاص نداده اما به وضوح جزیی از یک دسته هستند.
یادگیری بینظارت را میتوان به صورت عمل کاهش بعد در نظر گرفت.
از آنجا که شما سرتان شلوغ است، در نتیجه در روز فقط میتوانید مدت محدودی با رباتتان بازی کنید و به او چیزها را نشان دهید و نامشان را بگویید (برچسبگذاری کنید). اما ربات در طول روز روشن است و دادههای بسیاری را دریافت میکند. در اینجا ربات میتواند هم به خودیی خود و بدون نظارت یاد بگیرد و هم اینکه هنگامی که شما او را راهنمایی میکنید، سعی کند از آن تجارب شخصیاش استفاده کند و از آموزش شما بهرهٔ بیشتری ببرد. ترکیبای که عامل هوشمند هم از دادههای بدون برچسب و هم از دادههای با برچسب استفاده میکند به یادگیری نیمه نظارتی میگویند.
یادگیری بانظارت
یادگیری تحت نظارت، یک روش عمومی در یادگیری ماشین است که در آن به یک سیستم، مجموعهای از جفتهای ورودی – خروجی ارائه شده و سیستم تلاش میکند تا تابعی از ورودی به خروجی را فرا گیرد. یادگیری تحت نظارت نیازمند تعدادی داده ورودی به منظور آموزش سیستم است. با این حال ردهای از مسائل وجود دارند که خروجی مناسب که یک سیستم یادگیری تحت نظارت نیازمند آن است، برای آنها موجود نیست. این نوع از مسائل چندان قابل جوابگویی با استفاده از یادگیری تحت نظارت نیستند. یادگیری تقویتی مدلی برای مسائلی از این قبیل فراهم میآورد. در یادگیری تقویتی، سیستم تلاش میکند تا تقابلات خود با یک محیط پویا را از طریق آزمون و خطا بهینه نماید. یادگیری تقویتی مسئلهای است که یک عامل که میبایست رفتار خود را از طریق تعاملات آزمون و خطا با یک محیط پویا فرا گیرد، با آن مواجه است. در یادگیری تقویتی هیچ نوع زوج ورودی- خروجی ارائه نمیشود. به جای آن، پس از اتخاذ یک عمل، حالت بعدی و پاداش بلافصل به عامل ارائه میشود. هدف اولیه برنامهریزی عاملها با استفاده از تنبیه و تشویق است بدون آنکه ذکری از چگونگی انجام وظیفه آنها شود.
یادگیری ماشین زیر مجموعه ای از هوش مصنوعی است که موضوع آن الگوریتم های است که به رایانه ها اجازه یادگیری می دهد.
در اغلب موارد یک الگوریتم به همراه مجموعه ای از داده ها و اطلاعات استنباطی درباره ویژگیهای داده است. این اطلاعات اجازه می دهند درباره داده های که در آینده خواهیم دید پیشبینی هایی داشته باشیم. این کار به این دلیل چنین کاری قابل انجام است که اغلب داده های غیر تصادفی دارای الگوهایی هستند و این الگو ها به ماشین اجازه میدهند که مشاهدات خود را عمومیت ببخشد.
برای تعمیم دادن اطلاعات ماشین، یک مدل را با جنبه های مهم داده ها آموزش می دهد.
برای فهمیدن اینکه چطور مدل ها ایجاد می شوند، یک مثال ساده از موضوع پیچیده یعنی فیلتر کردن ایمیل ها را در نظر بگیرید.
در نظر بگیرید شما حجم زیادی هرزنامه دریافت می کند که دربردارنده کلمات "داروخانه آنلاین" می باشد.به عنوان یک انسان شما کاملا مجهز به سیستمی هستید که این الگو را درک کنید و به سرعت هر پیغام با این کلمات را بعنوان هرزنامه شناسایی کنید که باید مستقیما حذف و یا به سطل زباله منتقل شوند. این یک تعمیم است – شما در حقیقت یک مدل ذهنی از هرزنامه در ذهن خود ساخته اید. بعد از اینکه شما چند مورد از پیغام ها را گزارش می کنید، الگوریتم طراحی شده برای یادگیری ماشین باید توانایی ایجاد چنین تعمیم مشابهی برای سیستم بدهد.
الگوریتم های یادگیری ماشین متفاوتی وجود دارند. هرکدام دارای نقاط قوت خاص خود هستند و برای حل انواع مختلفی از مشکلات طراحی شده اند.
بعضی از آنها مانند درخت تصمیم واضح هستند، بنابراین مشاهده گر می تواند به صورت کامل مراحل نتیجه گیری توسط ماشین را بفهمد. بعضی مانند شبکه های عصبی مانند یک جعبه سیاه عمل می کنند، یعنی آنها یک پاسخ برمی گردانند، اما اغلب خیلی سخت می توان مراحل و دلایل انتخاب در پشت آن را باز تولید کرد.
بسیاری الگوریتم های یادگیری ماشین با تکیه بسیاری بر ریاضیات و آمار ایجاد شده اند. بر طبق تعریفی که پیشتر ارائه شد، شما حتی می توانید بگوید که یک تحلیل همبستگی و رگرسیون ساده هر دو شیوه های از یادگیری ماشین هستند. این کتاب فرض نمی کند که کاربر در سطح بالایی از دانش آمار قرار دارد، بنابراین من سعی کرده ام تا آمار استفاده شده را تا حد امکان به صورت سرراست توضیح دهم.
برخی از زمینه هایی که یادگیری ماشین در آن ها کاربرد دارد:
- روانشناسی
- فلسفه
- تئوری اطلاعات
- آمار و احتمالات
- تئوری کنترل
- کنترل روبات
- داده کاوی
- تشخیص گفتار
- شناسائی متن
- پردازش داده های اینترنتی
- بازی های کامپیوتری
برای درخواست پیش نمایش (Demo) تکنولوژی های پیاده شده موجود لطفا با شماره 021284282 بخش هوش مصنوعی تماس بگیرید
اطلاعات بیشتر : http://itresearches.com/en/ai-services
یکی دیگر از خدمات شرکت پیاده سازی انواع سیستم های یادگیری ماشین جهت افزایش تدریجی بازدهی و دقت، می باشد. به عنوان یکی از شاخههای وسیع و پرکاربرد هوش مصنوعی، یادگیری ماشینی (Machine learning) به تنظیم و اکتشاف شیوهها و الگوریتمهایی میپردازد که بر