مجله هوش مصنوعی

آخرین اخبار و تکنولوژی های هوش مصنوعی را در اینجا بخوانید.

مجله هوش مصنوعی

آخرین اخبار و تکنولوژی های هوش مصنوعی را در اینجا بخوانید.

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


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

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

یادگیری بانظارت معمولاً در زمینه دسته‌بندی به کار گرفته می‌شود. وقتی بخواهیم ورودی را در برچسب‌های گسسته خروجی یا خروجی پیوسته نگاشت دهیم، این نوع یادگیری به کارمان می‌آید. از جمله الگوریتم‌های متداول در یادگیری بانظارت می‌توان به رگرسیون لجستیک ،بیزی ساده ، ماشین‌های بردار پشتیبان(SVM)، شبکه‌های عصبی مصنوعیو غیره اشاره کرد. در رگرسیونو دسته‌بندی، هدف این است که در ابتدا ساختارها یا روابط خاص در داده‌ها را پیدا کنیم. این کار می‌تواند نقش موثری در تولید داده‌های خروجی صحیح داشته باشد. توجه داشته باشید که خروجی صحیح به طور کلی از داده‌های آموزشی به دست می‌آید؛ پس گرچه این پیش‌فرض وجود دارد که مدل‌مان به درستی عمل می‌کند، اما نمی‌توان مدعی شد که برچسب‌ داده‌ها همیشه و در هر شرایطی درست و بی‌نقص هستند. برچسب‌های داده‌ای نویزدار یا نادرست می‌توانند از تاثیرگذاری مدل کاسته و کارآیی را پایین آورند.
پیچیدگی مدلو مصالحه بایاس-واریانساز جمله نکات مهمی هستند که در هنگام بکارگیری روش یادگیری بانظارت مستلزم توجه هستند. پیچیدگی مدل اشاره به سطح پیچیدگیِ تابعی دارد که خواهان یادگیری آن هستید. ماهیت داده‌های آموزشی یک عامل تعیین‌کننده در سطح پیچیدگی مدل برشمرده می‌شود. اگر میزان داده اندکی در اختیار دارید یا اگر داده‌هایتان در سناریوهای احتمالیِ مختلف به طور یکنواخت توزیع نشده است، باید سراغ مدلی بروید که سطح پیچیدگی کمتری دارد. زیرا اگر مدل بسیار پیچیده‌ای در تعداد اندکی از نقاط داده مورد استفاده قرار گیرد، مدل دچار بیش‌برازش خواهد شد. بیش‌برازش به یادگیری تابعی اشاره می‌کند که مطابقت بالایی با داده‌های آموزشی دارد و امکان تعمیم آن به سایر نقاط داده وجود ندارد. به عبارت دیگر، مدل سعی می‌کند داده‌های آموزشی خود را بدون خطا بازتولید کند در حالی که ساختار یا روندی حقیقی در داده‌ها را یاد نگرفته است. فرض کنید می‌خواهید یک منحنی را بین دو نقطه برازش کنید. از دید نظری، می‌توانید از تابعی با درجه دلخواه استفاده کنید؛ اما از دید عمَلی، ترجیح می‌دهید که تابع خطی را بر‌گزینید.

رابطه بایاس-واریانس

رابطه بایاس-واریانس به تعمیم مدل اشاره می‌کند. در همه مدل‌ها، تعادلی میان بایاس (عبارت خطای ثابت) و واریانس (مقدار خطایی که می‌تواند در مجموعه‌های آموزشی مختلف متغیر باشد) برقرار است. بنابراین، بایاس زیاد و واریانس کم می‌تواند مدلی باشد که ۲۰ درصد مواقع دچار اشتباه می‌شود. اما مدل بایاس کم و واریانس زیاد می‌تواند بسته به داده‌های استفاده شده برای آموزش مدل، ۵ اِلی ۵۰ درصد مواقع اشتباه کند. به این مسئله توجه داشته باشید که بایاس و واریانس در جهت مخالف یکدیگر حرکت می‌کنند؛ افزایش بایاس معمولاً واریانس کمتر را در پی دارد، و بالعکس.

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

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

از جمله متداول‌ترین کارهایی که می‌توان با یادگیری بدون نظارت انجام داد، می‌توان به خوشه‌بندی ، یادگیری ارائه و تخمین چگالی اشاره کرد. در همه این موارد، به دنبال یادگیری ساختار ذاتی داده‌ها بدون استفاده از برچسب‌ داده¬های هستیم. برخی از الگوریتم‌های رایج عبارتند از خوشه بندی k-means، تحلیل مولفه اصلی ، خود رمزگذار. چون هیچ برچسبی ارائه نشده، هیچ روش مشخصی برای مقایسه عملکرد مدل در اکثر روش‌های یادگیری بدون نظارت موجود نیست. روش‌های یادگیری بدون نظارت در تحلیل‌های اکتشافی و کاهش بُعد نیز مورد استفاده قرار می‌گیرند. روش‌های یادگیری بدون نظارت در تجزیه و تحلیل‌های اکتشافی خیلی مفید هستند زیرا قادرند ساختار را به طور خودکار در داده شناسایی کنند. برای نمونه، اگر تحلیلگری بخواهد مصرف‌کنندگان را تفکیک کند، روش‌های یادگیری بدون نظارت می‌تواند شروع بسیار خوبی برای تحلیل باشد. در مواردی که بررسی روندهای موجود در داده‌ها برای انسان امکان‌ناپذیر است، روش‌های یادگیری بدون نظارت می‌توانند بینش مناسبی فراهم کرده و برای آزمودن تک‌تکِ فرضیه‌ها به کار برده شوند. کاهش بُعد به روش‌هایی اطلاق می‌شود که داده‌ها را با استفاده از ویژگی‌ها یا ستون‌های کمتری به نمایش می‌گذارند. روش‌های یادگیری بدون نظارت در اجرای این روش «کاهش بعد» کاربرد دارد. در یادگیری ارائه، یادگیری روابط میان ویژگی‌های فردی در دستور کار قرار می‌گیرد. لذا این فرصت برایمان ایجاد می‌شود تا داده‌های خود را با استفاده از ویژگی‌های پنهان ارائه کنیم. این ساختارهای پنهان معمولا با تعداد ویژگی های کمتری نسبت به ویژگی های اولیه نمایش داده می‌شوند، همین مسئله به ما اجازه می‌دهد که پردازش بیشتری با حساسیت کمتری بر روی داده ها داشته باشیم، همچنین از این طریق ویژگی های اضافی حذف می‌گردند.

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

تفاوت یادگیری بانظارت و بدون نظارت: دسته‌بندی الگوریتم‌های یادگیری ماشین

منبع: hooshio.com

استفاده آسان از مدل ‌های یادگیری عمیق


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

 

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

مدل ‌های یادگیری عمیق

مدل ‌های یادگیری عمیق

دو چالش عمده در ساخت مدل‌ های یادگیری عمیق

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

پس چه کار می‌توان کرد؟ بیایید ببینیم چگونه می‌توان از نرم‌افزاری مثل سرور استنتاجTensorRT برای رویارویی با این چالش‌ها استفاده کرد. امکان دانلود سرور استنتاج TensorRT از NVIDIA NGC registry یا به عنوان کد منبع باز از GitHub وجود دارد.

TENSORRT INFERENCE SERVER

سرور استنتاج TensorRT با بهره‌گیری از ویژگی‌های زیر، استفاده از شبکه‌های عصبی آموزش‌دیده را آسان می‌کند:

پشتیبانی از چند چارچوب مدل: می‌توان چالش اول را با استفاده از منبع مدل سرور استنتاجTensorRT بررسی کرد که نوعی محل ذخیره به شمار می‌آید. بنابراین، امکان توسعه مدل‌ از چارچوب‌هایی مثل تنسورفلو، TensorRT، ONNX، PyTorch، Caffe، Chainer، MXNet و غیره وجود دارد. سِرور می‌تواند مدل‌های ساخته شده در همه این چارچوب‌ها را به کار گیرد. با اجرای inference server container در سرور CPU یا GPU، همه مدل‌ها از منبع در حافظه بارگذاری می‌شود. نرم‌افزار از یک API استفاده می‌کند تا سرور inference را برای اجرای عملیات استنتاج بر روی مدل فراخوانی کند. اگر تعداد مدل‌هایی که نمی‌توانند در حافظه جای گیرند زیاد باشد، این امکان وجود دارد که منبع را به چند منبع کوچکتر تقسیم کنیم و نمونه‌های مختلفی از سرور استنتاج TensorRT را به اجرا در آوریم. می‌توان مدل‌ها را به راحتی با تغییر منبع مدل به‌روزرسانی، اضافه یا حذف کرد؛ حتی زمانی که سرور inference و نرم‌افزارمان در حال اجرا باشند.

مدل ‌های یادگیری عمیق

مدل ‌های یادگیری عمیق

افزایش حداکثریِ استفاده از کارت گرافیک: اکنون که با موفقیت سرور inference و نرم‌افزار را به اجرا در آورده‌ایم، می‌توانیم چالش دوم را نیز از پیش رو برداریم. استفاده از کارت گرافیک غالباً یکی از شاخص‌های عملکردی بسیار مهم برای مدیران زیرساخت است. TensorRT Inference Server می‌تواند به طور همزمان چندین مدل را روی GPU زمان‌بندی کند. این سرور به طور خودکار استفاده از GPU را به صورت حداکثری افزایش می‌دهد. بنابراین، ما به عنوان افراد توسعه‌دهنده نیازی به اجرای روش‌های خاص نداریم. به جای اینکه یک مدل در هر سرور به کار برده شود، عملیات IT، کانتینر یکسان سرور استنتاجTensorRT را در همه سرورها اجرا می‌کند. از آنجایی که مدل‌های متعددی در این عملیات مورد پشتیبانی قرار می‌گیرند، GPU استفاده شده و سرورها تعادل بیشتری در مقایسه با تنها یک مدل در هر سناریوی سرور خواهند داشت.

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

استنتاج در CPU و GPU و دستۀ غیرهمگن: بسیاری از سازمان‌ها از GPU عمدتاً برای آموزش استفاده می‌کنند. استنتاج در سرورهای عادی CPU اجرا می‌شود. هرچند اجرای عملیات استنتاج در GPU باعث افزایش قابل توجه سرعت کار می‌شود اما اینکار نیاز به انعطاف‌پذیری بالای مدل دارد. سرور استنتاج TensorRT هر دو استنتاج CPU و GPU را پشتیبانی میکند. بگذارید این موضوع را بررسی کنیم که چطور می‌توان از استنتاج CPU به GPU تغییر مسیر داد:

۱. دستۀ فعلی‌مان فقط مجموعه‌ای از سرورهای CPU است که همگی سرور استنتاجTensorRT اجرا می‌کنند.
۲. سرورهای GPU را به دسته معرفی می‌کنیم و نرم‌افزار سرور استنتاجTensorRT را در این سرورها اجرا کنیم.
۳. مدل‌های شتاب دهنده GPU را به منبع مدل اضافه می‌کنیم.
۴. با استفاده از فایل پیکربندی، ما سرور استنتاج TensorRT را بر روی این سرورها ایجاد میکنیم تا از GPU برای عملیات استنتاج استفاده کند.
۵. می‌توانیم سرورهای CPU را دسته کنار بگذاریم یا هر دو را در حالت غیرهمگن به کار ببریم.
۶. هیچ تغییر کدی در نرم‌افزار برای فراخوانی سرور استنتاج TensorRT مورد نیاز نیست.

یکپارچه‌سازی با زیرساخت DevOps: نکته آخر بیشتر می‌تواند به درد تیم‌های فناوری اطلاعات بخورد. آیا سازمانِ شما از DevOps تبعیت می‌کند؟ آن دسته از افرادی که با این عبارت آشنایی ندارند، بدانند که DevOps به مجموعه‌ای از فرایندها و فعالیت‌ها اطلاق می‌شود که چرخه توسعه و بکارگیریِ نرم‌افزار را کاهش می‌دهد. سازمان‌هایی که به استفاده از DevOps روی می‌آورند، از کانتینرها برای بسته‌بندی نرم‌افزارهایشان استفاده می‌کنند. سرورTensorRT یک کانتینر Docker است. تیم فناوری اطلاعات می‌تواند از Kubernetes برای مدیریت و مقیاس‌دهی استفاده کند. این امکان نیز وجود دارد که سرور استنتاج را به بخشی از خطوط لوله Kubeflow به منظور دستیابی به یک گردشکار هوش مصنوعی انتها به انتها تبدیل کنیم.
بسیار آسان است که سرور استنتاج TensorRT را بوسیله تنظیم فایل پیکربندی و تجمیع کتابخانه‌ها، با برنامه‌مان تجمیع کنیم.
بکارگیریِ شبکه‌های عصبیِ آموزش‌دیده می‌تواند چالش‌هایی را به همراه داشته باشد اما هدف‌مان در مقاله حاضر این بود که نکات و سرنخ‌هایی به کاربران دهیم تا فرایند بکارگیری این شبکه‌ها به آسانی انجام شود و استفاده از مدل ‌های یادگیری عمیق به سهولت انجام گیرد. لطفا نظرات و پیشنهادات خود را در بخش زیر وارد کنید. به ما بگویید که با چه چالش‌هایی در هنگام اجرای عملیات استنتاج روبرو شدید و چگونه این چالش‌ها را از پیش رو برداشتید.

منبع: hooshio.com

چگونه دیتاست ‌های نامتوازن را در یادگیری عمیق مدیریت کنیم؟


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

 

چرا ما بیشتر تمایل داریم تا داده‌های متوازن داشته باشیم؟

پیش از آنکه زمان زیادی برای انجام پروژه‌های طولانی یادگیری عمیق اختصاص دهید، باید بدانید که هدف از انجام این کار چیست. کسب این دانش باید آن‌قدر با اهمیت باشد و بیارزد که ارزش وقت گذاشتن را داشته باشد. روش‌های متوازن‌کردن دسته‌های دیتاست تنها زمانی ضروری هستند که دسته‌های اقلیت را مورد توجه قرار دهیم. برای نمونه، فرض کنید می‌خواهیم بدانیم که آیا خرید مسکن با توجه به شرایط فعلی بازار، خصوصیات مسکن و توان مالی‌مان منطقی است یا خیر. اگر مدل، عدم خرید خانه را به ما توصیه کند، فرق چندانی نخواهد کرد. در این مورد، اگر در خرید مسکن موفق شویم، گام مهمی برداشته‌ایم چرا که سرمایه‌گذاری عظیمی به شمار می‌آید. اگر در خرید مسکن دلخواه‌مان موفق نشویم، این فرصت را داریم که دنبال موارد دیگر باشیم. در صورتی که به اشتباه روی چنین دارایی بزرگی سرمایه‌گذاری کنیم، یقیناً باید منتظر پیامدهای کارمان بمانیم.
در این مثال، نیاز داریم که دسته “خرید” که در اقلیت هستند بسیار بسیار دقیق تعیین شده باشند، اما برای دسته «عدم خرید» این مورد اهمیت چندانی ندارد (چون به اندازه کافی داده در این دسته وجود دارد). از آنجا که «خرید» در داده‌های ما نادر است، مدل‌مان در یادگیری دستۀ «عدم خرید» سوگیری خواهد داشت زیرا بیشترین داده را دارد و احتمال می‌رود عملکرد ضعیفی در دسته «خرید» بر جای بگذارد. به همین منظور، لازم است داده‌های خود را متوازن کنیم. اگر دسته‌های اقلیت را مورد بی‌توجهی قرار دهیم، چه اتفاقی رخ می‌دهد؟ برای مثال، فرض کنید در حال دسته‌بندی تصاویر هستیم و توزیع دسته به شکل زیر در آمده است:

دیتاست ‌های نامتوازن

دیتاست ‌های نامتوازن

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

روش «متوازن‌ کردن وزن » 

روش «متوازن‌ کردن وزن» با تغییر وزن‌های هر نمونه آموزشی سعی در متوازن کردنِ داده‌ها دارد. در حالت عادی، هر نمونه و دسته در تابع زیان وزن یکسانی خواهد داشت. اما اگر برخی دسته‌ها یا نمونه‌های آموزشی اهمیت بیشتری داشته باشند، وزن بیشتری خواهند داشت. بگذارید یک بار دیگر به مثال فوق در رابطه با خرید مسکن اشاره کنیم. به دلیل اینکه دقتِ دستۀ «خرید» برایمان اهمیت دارد، انتظار می‌رود نمونه‌های آموزشیِ آن دسته تاثیر بسزایی بر تابع زیان داشته باشند.
با ضرب زیان هر نمونه به ضریبی معین (بسته به دسته‌ها)، می‌توان به دسته‌ها وزن داد. می‌توان در Keras اقدام به چنین کاری کرد:

 

۱

۲

۳

۴

import keras

class_weight = {"buy": ۰.۷۵,

"don't buy": ۰.۲۵}

model.fit(X_train, https://hooshio.com/%da%۸۶%da%af%d9%۸۸%d9%۸۶%d9%۸۷-%d8%af%db%۸c%d8%aa%d8%a7%d8%b3%d8%aa-%d9%۸۷%d8%a7%db%۸c-%d9%۸۶%d8%a7%d9%۸۵%d8%aa%d9%۸۸%d8%a7%d8%b2%d9%۸۶-%d8%b1%d8%a7-%d8%af%d8%b1-%db%۸c%d8%a7%d8%af%da%af%db%۸c%d8%b1/Y_train, epochs=۱۰, batch_size=۳۲, class_weight=class_weight)

در کد بالا در متغیری که تحت عنوان class_weight تعریف کردیم ، دستۀ «خرید» باید ۷۵ درصد از وزنِ تابع زیان را داشته باشد چرا که اهمیت بیشتری دارد. دستۀ «عدم خرید» نیز باید ۲۵ درصد باقی‌مانده را به خود اختصاص دهد. البته امکان دست‌کاری و تغییر این مقادیر برای ایجاد مناسب‌ترین شرایط وجود دارد. اگر یکی از دسته‌هایمان نمونه‌های بیشتری از دیگری داشته باشد، می‌توانیم از این روش متوازن‌سازی استفاده کنیم. به جای اینکه زمان و منابع خود را به جمع‌آوری بیشتر دسته‌های اقلیت اختصاص دهیم، می‌توانیم شرایطی را رقم بزنیم که طی آن، روش متوازن‌سازی وزن همه دسته‌ها را وادار کند به میزان یکسان در تابع زیان نقش داشته باشند.
یکی دیگر از روش‌ها برای متوازن کردن وزن نمونه‌های آموزشی، «زیان کانونی» نام دارد. بیایید جزئیات کار را با هم بررسی کنیم: ما در دیتاست‌مان چند نمونه آموزشی داریم که دسته‌بندی راحت‌تری در مقایسه با بقیه دارند. در طی فرایند آموزش، این نمونه‌ها با ۹۹ درصد دقت دسته‌بندی خواهند شد، اما شاید نمونه‌های دیگر عملکرد بسیار ضعیفی داشته باشند. مشکل این است که آن دسته از نمونه‌های آموزشی که به راحتی دسته‌بندی شده‌اند، کماکان در تابع زیان به ایفای نقش می‌پردازند. اگر داده‌های چالش‌برانگیز بسیاری وجود دارد که در صورت دسته‌بندی درست می‌توانند دقت کار را تا حد زیادی بالا ببرند، چرا باید وزن برابری به آنها بدهیم؟

دیتاست ‌های نامتوازن

«زیان کانونی» دقیقاً برای حل چنین مسئله‌ای در نظر گرفته شده است. زیان کانونی به جای اینکه وزن برابری به همه نمونه‌های آموزشی دهد، وزن نمونه‌های دسته‌بندی شده با دقت بالا (داده هایی که دسته بندی شان به راحتی برای شبکه امکان پذیر است) را کاهش می‌دهد. پس داده‌هایی که دسته‌بندی آنها به سختی انجام می‌شود، مورد تاکید قرار می‌گیرند. در عمل، وقتی با عدم توازن داده‌ها روبرو هستیم، دسته اکثریت‌مان به سرعت دسته‌بندی می‌شود زیرا داده‌های زیادی برای آن داریم. بنابراین، برای اینکه مطمئن شویم دقت بالایی در دسته اقلیت حاصل می‌آید، می‌توانیم از تابع زیان استفاده کنیم تا وزن بیشتری به نمونه دسته‌های اقلیت داده شود. تابع زیان می‌تواند به راحتی در Keras به اجرا درآید.

 

۱

۲

۳

۴

۵

۶

۷

۸

۹

۱۰

۱۱

۱۲

import keras

from keras import backend as K

import tensorflow as tf

# Define our custom loss function

def focal_loss(y_true, y_pred):

gamma = ۲.۰, alpha = ۰.۲۵https://hooshio.com/%da%۸۶%da%af%d9%۸۸%d9%۸۶%d9%۸۷-%d8%af%db%۸c%d8%aa%d8%a7%d8%b3%d8%aa-%d9%۸۷%d8%a7%db%۸c-%d9%۸۶%d8%a7%d9%۸۵%d8%aa%d9%۸۸%d8%a7%d8%b2%d9%۸۶-%d8%b1%d8%a7-%d8%af%d8%b1-%db%۸c%d8%a7%d8%af%da%af%db%۸c%d8%b1/

pt_1 = tf.where(tf.equal(y_true, ۱), y_pred, tf.ones_like(y_pred))

pt_0 = tf.where(tf.equal(y_true, ۰), y_pred, tf.zeros_like(y_pred))

return -K.sum(alpha * K.pow(۱. - pt_1, gamma) * K.log(pt_1))-K.sum((۱-alpha) * K.pow( pt_0, gamma) * K.log(۱. - pt_0))

# Compile our model

adam = Adam(lr=۰.۰۰۰۱)

model.compile(loss=[focal_loss], metrics=["accuracy"], optimizer=adam)

 

 

روش‌های نمونه‌گیری OVER-SAMPLING و UNDER-SAMPLING

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

Under and and Over Sampling

در سمت چپ و راست تصویر فوق، دسته آبی نمونه‌های بیشتری نسبت به دسته نارنجی دارد. در این مورد، دو گزینه پیش‌پردازش وجود دارد که می‌‍‌تواند به آموزش مدل‌های یادگیری ماشین کمک کند. روش Under-sampling بدین معناست که تنها بخشی از داده‌ها را از دسته اکثریت انتخاب می‌کنیم. این گزینش باید برای حفظ توزیع احتمال دسته انجام شود. چقدر راحت! نمونه‌های کمتر باعث می‌شود دیتاست متوازن گردد. روش Oversampling هم به این معناست که نسخه‌هایی از دسته اقلیت ایجاد خواهد شد. هدف از این کار، ایجاد تساویِ تعداد نمونه دسته‌های اقلیت با اکثریت است. ما موفق شدیم دیتاست ‌های نامتوازن را بدون کسب داده‌های بیشتر متوازن کنیم!

منبع: hooshio.com

هوش مصنوعی در کسب و کار ؛ فرصت‌ها و چالش‌ها


بررسی چالش‌ها و فرصت های هوش مصنوعی در کسب و کار را با چند سوال آغاز می‌کنیم:

• کسب و کارها برای اجرای هوش مصنوعی با چه فرصت‌ها و چالش‌هایی روبرو هستند؟
• آیا از بکارگیری فناوری‌های هوش مصنوعی در کسب و کار خودتان تردید دارید؟
• هوش مصنوعی چه تاثیری روی رشد و سودآوری کسب و کار شما گذاشته است؟امروزه حتی انسان‌های عادی نیز به درک قابلیت‌های هوش مصنوعی رغبت نشان می‌دهند. دلیل چنین تمایلی را می‌توان در این امر جستجو کرد که هوش مصنوعی تمامی جنبه‌های زندگی ما را تحت‌الشعاع قرار داده است. ظاهراً این فناوری توانسته اشتیاق و تردید را به طور همزمان در انسان‌ها برانگیزد. البته معیارهای مختلفی در آن دخیل است! حال بیایید آمار و حقایق مربوط به هوش مصنوعی را بررسی کنیم:• فناوری هوش مصنوعی می‌تواند بهره‌وری کسب و کار را تا ۴۰ درصد افزایش دهد (منبع: Accenture).
• تعداد استارت‌آپ‌های هوش مصنوعی از سال ۲۰۰۰ به میزان چهارده برابر افزایش یافته است (Forbes).
• هوش مصنوعی باعث خواهد شد ۱۶ درصد از مشاغل در آمریکا توسط ماشین‌ها انجام شود (Forrester).
• ۱۵ درصد کسب‌ و کارها از هوش مصنوعی استفاده می‌کنند. ۳۱ درصد از کسب و کارها اعلام کرده‌اند که بکارگیری هوش مصنوعی تا ۱۲ ماه آینده در دستور کارشان قرار دارد (Adobe).کاملاً مبرهن است که هوش مصنوعی فقط به آزمایشگاه‌های نوآوری محدود نمی‌شود. این فناوری به دلیل قابلیت بالایی که در متحول ساختنِ کسب و کارها دارد، تحسین همگان را برانگیخته است. با این حال، کسب و کارها پیش از آنکه از ظرفیت‌های واقعی این فناوری در کسب و کارهایشان بهره گیرند، باید خود را آماده رویارویی با چند چالش نمایند.

 

بکارگیری هوش مصنوعی در کسب و کار با چالش‌های بسیاری همراه است.

۱. محاسبه یا رایانش چندان پیشرفته نیست!

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

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

۲. حمایت مردمیِ ناچیز

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

۳. اعتمادسازی

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

۴. تفکر یک‌بعدی

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

۵. قابلیت اثبات

سازمان‌هایی که محصولات هوش مصنوعی را در دستور کارشان قرار داده‌اند، نمی‌توانند به روشنی درباره چشم‌اندازها و دستاوردهایشان به کمک روش‌های هوش مصنوعی سخن بگویند. افراد کماکان درباره چگونگی اتخاذ تصمیم توسط این فناوری با دیدۀ تردید می‌نگرند؛ این مسئله در اذهان عمومی هست که آیا تصمیمات هوش مصنوعی همگی بی‌عیب و نقص است یا خیر. سازمان‌ها در حال حاضر با آغوش باز به استقبال پیش‌بینی‌های هوش مصنوعی نمی‌روند و جانب احتیاط را در این خصوص رعایت می‌کنند. سازمان‌ها با اِثبات این قضیه مشکل دارند که فرایند تصمیم‌گیری سیستم‌های هوش مصنوعی بی هیچ عیب و نقصی پیش می‌رود. باید هوش مصنوعی قابل تبیین، قابل اثبات و شفاف باشد. سازمان‌ها باید آن دسته از سیستم‌های هوش مصنوعی را به کار گیرند که قابل تبیین باشد.

۶. امنیت و حریم خصوصی داده‌ها

سیستم‌های هوش مصنوعی عمدتاً به حجم قابل ملاحظه‌ای داده برای یادگیری و اتخاذ تصمیم‌های هوشمندانه نیاز دارند. سیستم‌های یادگیری ماشین به داده وابسته‌اند؛ داده نیز غالبا! ماهیت حساس و فردی دارد. این سیستم‌ها از روی داده اقدام به یادگیری کرده و خود را ارتقاء می‌بخشند. به دلیل این نوع یادگیری سیستماتیک، این سیستم‌های یادگیری ماشین در معرض سرقت هویت و نقض داده قرار می‌گیرند. اتحادیه اروپا قانونی تحت عنوان «قانون عمومی محافظت از اطلاعات» تصویب کرده تا از محافظت کامل از داده‌های فردی اطمینان حاصل کند. این اقدام بلافاصله پس از افزایش آگاهی افراد درباره طیف فزایندۀ تصمیمات ماشین به انجام رسید. علاوه بر این، روش منحصربفردی موسوم به یادگیری فدراسیونی وجود دارد که سعی در مختل کردن پارادایم هوش مصنوعی دارد. یادگیری فدراسیونی دانشمندان داده را ترغیب می‌کند تا سیستم‌های هوش مصنوعی را بدون تحت تاثیر قرار دادنِ امنیت داده کاربران بسازند.

۷. سوگیری الگوریتم

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

۸. امنیت داده

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

فرصت‌ های هوش مصنوعی در حوزه کسب و کار

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

۱. هوش مصنوعی در بازاریابی

همه کسب و کارهای کوچک رویایِ کاهش بودجه بازاریابی و تمرکز بر روی راهبردهای کارآمدِ بازاریابی را در سر می‌پرورانند. علاوه بر این، شرکت‌ها راغب هستند بدانند کدام فعالیت‌های بازاریابی بیشترین سودآوری را به همراه دارد. اما تجزیه و تحلیل داده‌ها در میان همه کانال‌های رسانه‌ای کار دشواری است و زمان بسیاری را می‌طلبد. اینجاست که هوش مصنوعی به ارائه راه‌حل‌های بازاریابی می‌پردازد! پلتفرم‌های هوش مصنوعی از قبیل Acquisio نقش بسیار مهمی در مدیریت عملیات بازاریابی دارند؛ به ویژه در کانال‌های گوناگونی نظیر Google Adwords، فیس‌بوک و Bing.

۲. استفاده از روش‌های هوش مصنوعی برای ردیابی رقبا

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

۳. بررسی سریع کلان داده‌ها

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

۴. راه‌حل‌های حمایت از مشتری بر پایه هوش مصنوعی

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

۵. هوش مصنوعی در حوزه «مدیریت روابط مشتریان»

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

{“type”:”block”,”srcIndex”:1,”srcClientId”:”da42a25a-25da-44bb-a5c7-df86f727b6b9″,”srcRootClientId”:””}

نتیجه‌گیری

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

منبع: hooshio.com

گام بعدی هوش مصنوعی: استدلال عمیق


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

 

چرا یادگیری عمیق کافی نیست؟

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

استدلال عمیق

استدلال عمیق به حوزه‌ای اطلاق می‌شود که در آن، ماشین‌ها قابلیت درک روابط تلویحی میان مفاهیم مختلف را به دست می‌‍‌آورند. این مثال را در نظر بگیرید: «همه حیوانات آب می‌نوشند. گربه‌ها حیوان هستند.» در این مثال، رابطه تلویحی این است که همه گربه‌ها آب می‌نوشند، اما این برداشت به‌طور صریح ذکر نشده است. انسان‌ها این نوع استدلال منطقی و ارتباط چیزهای مختلف با یکدیگر را به خوبی درک می‌کنند، اما رایانه‌ها که بر اساس قوانین سخت و صریح عمل می‌کنند، به این سادگی این نوع روابط را درک نمی‌کنند.

پس چطور می‌توان رایانه‌ها را به قوه استدلال مجهز کرد؟

در این مقاله، محققان شرکت DeepMind توضیح می‌دهند که چطور توانستند یک مدل یادگیری عمیق را مجاب به پاسخ‌گویی به برخی پرسش‌های دشوار کنند. این مدل توانست با میزان دقت ۹۶ درصد به پرسش‌ها جواب دهد. اقدامات زیر با استفاده از سه شبکه به انجام رسید:

• ۱. یک شبکه حافظه طولانی_کوتاه مدت برای پردازش پرسش
• ۲. شبکه عصبی پیچشیبرای پردازش تصاویر
• ۳. شبکه رابطه برای درک ارتباط میان اشیای مختلف

اکنون می‌خواهیم نقش هر کدام از اجزای فوق را در حل مسئله بررسی کنیم.

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

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

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

 

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

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

کاربردها

اکنون به برخی از کاربردهای بالقوه مدل‌های یادگیری عمیق در صورت انجامِ استدلال توجه کنید:

۱. اگر عامل‌ها بتوانند نحوه ارتباط بخش‌های مختلف محیط را درک کنند، آنها قادر خواهند بود به شکل هوشمندانه‌تری رفتار کنند.

۲. مدل‌سازی شبکه‌های اجتماعی

۳. حل مسائل انتزاعی

کلام آخر

• استدلال عمیق این فرصت را به هوش مصنوعی می‌دهد تا روابط انتزاعی میان چیزهای مختلف را درک کند.
• امکان تعبیۀ یک ماژول شبکه RN در مدل یادگیری عمیق نیز وجود دارد. با این کار، مدل می‌تواند قابلیت استدلال رابطه‌ای داشته باشد.
• استدلال عمیق ما را یک گام به هوش مصنوعی عمومی نزدیک‌تر می‌کند.

منبع: hooshio.com