ماشین لرنینگ

مشاوره و آموزش در حوزه مهارت ها

شنبه ۲۲ دی ۰۳

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

۱۰۶ بازديد

یادگیری ماشین یا ماشین لرنینگ به طور عمده به سه دسته شناخته شده تقسیم میشود: یادگیری نظارت شده ، یادگیری بدون نظارت و یادگیری تقویتی.

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

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

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

یادگیری نظارت شده محبوب ترین روش برای یادگیری ماشین است. به دلیل ساده ترین درک و ساده ترین اجرا… این نوع یادگیری بسیار شبیه آموزش کودک با استفاده از فلش کارت است.

یادگیری نظارت شده ماشین

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

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

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

 

موارد استفاده از یادگیری تحت نظارت :

محبوبیت تبلیغات:

انتخاب آگهی هایی که عملکرد خوبی داشته باشند ، اغلب  کار یادگیری تحت نظارت است. بسیاری از تبلیغاتی که هنگام مرور اینترنت مشاهده می کنید توسط ماشین لرنینگ  قرار می گیرند زیرا یک الگوریتم یادگیری گفته است که کدام یک از آگهی ها محبوبیت معقول و منطقی دارند ( قابلیت کلیک کردن).

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

طبقه بندی هرزنامه:

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

تشخیص چهره:

آیا از Facebook استفاده می کنید؟ به احتمال زیاد چهره شما به عنوان داده در یک الگوریتم یادگیری نظارت شده استفاده شده است و سیستم استفاده شده در فیسبوک برای تشخیص چهره شما آموزش دیده است.این سیستم ، چهره ها را پیدا می کند ، و حدس می زند چه کسی در عکس است و کاربران را شناسایی میکند (نشان برچسب را نشان می دهد) این عمل یک فرایند تحت نظارت است.

یادگیری نظارت شده

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

یادگیری بدون نظارت کاملاً بر خلاف یادگیری نظارت شده است. این نوع یادگیری فاقد برچسب است. در عوض ، به الگوریتم ما داده های زیادی داده می شود و  همینطور به آن ابزاری برای درک ویژگی های داده داده می شود.

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

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

یادگیری ماشین نظارت شده

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

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

نمونه هایی از کارایی یادگیری بدون نظارت :

سیستم های پیشنهادی:

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

 عادات خرید مشتریان :

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

گروه بندی سوابق کاربران:

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

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

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

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

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

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

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

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

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

یادگیری ماشین تقویت شده

کاربرد یادگیری تقویتی در دنیای واقعی :

بازی های ویدئویی:

یکی از رایج ترین مکان ها برای یادگیری تقویتی ، یادگیری بازی کردن است. همانند برنامه یادگیری تقویتی Google ، AlphaZero و AlphaGo

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

شبیه سازی صنعتی:

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

مدیریت منابع:

یادگیری تقویتی برای پیمایش در محیطهای پیچیده مناسب است. این نوع یادگیری می تواند نیاز به تعادل در برخی از شرایط را برطرف کند. به عنوان مثال ، مراکز داده Google : آنها از یادگیری تقویتی برای برآورده کردن نیازهای انرژی و حفظ تعادل استفاده می کنند و هزینه های اصلی را کاهش می دهند. این مسئله چه تاثیری در کار ما و افراد معمولی دارد؟ ارزان تر کردن ذخیره سازی داده ها برای ما و همچنین تأثیر کمتر بر محیطی که همه ما در آن قرار گرفته ایم

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

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

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

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

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

آموزش دیپ لرنینگ چگونه می توان با استفاده از دیپ لرنینگ در پایتون ، FaceID را در آیفون X اجرا کرد؟

۱۱۵ بازديد

مقدمه:

یکی از ویژگی های بحث برانگیز آیفون X روش باز کردن قفل با استفاده از تشخیص چهره ( FaceID ) است که جایگزین TouchID شده است. اپل پس از ساخت تلفن بدون حاشیه، مجبور شد روش جدیدی را برای باز کردن قفل گوشی به شکلی آسان و سریع ایجاد کند. در حالی که برخی از رقبا به قرار دادن سنسور اثر انگشت در موقعیتی جدید بسنده کردند، اپل تصمیم گرفت در شیوه باز کردن تلفن روشی نوآورانه و انقلابی را ایجاد کند؛ یعنی نگاه کردن به صفحه نمایش گوشی! به لطف بهره گیری از یک دوربین جلوی پیشرفته و بسیار کوچک، آیفون X قادر به ایجاد نقشه سه بعدی از چهره کاربر است. علاوه بر این، تصویری از چهره کاربر با استفاده از یک دوربین مادون قرمز ضبط می شود که نسبت به تغییرات در نور و رنگ محیط پایداری بیشتری دارد. با استفاده از دیپ لرنینگ ، تلفن های هوشمند قادر هستند با جزئیات کامل تری چهره کاربر را ضبط کنند، بنابراین هر بار که تلفن توسط صاحب آن برداشته می شود او را تشخیص می دهند. در کمال تعجب، اپل اظهار داشته است که این روش حتی از TouchID نیز ایمن تر بوده و میزان خطای برجسته آن ١:١٠٠٠٠٠٠ است.
ما به نحوه ایجاد این فرآیند با استفاده از دیپ لرنینگ و چگونگی بهینه سازی هر مرحله تمرکز کردیم. در این مقاله، نشان می دهیم که چگونه الگوریتم شبیه به FaceID را می توان با استفاده از Keras پیاده سازی کرد. آزمایش های نهایی با استفاده از Kinect، یک دوربین RGB بسیار محبوب، که دارای خروجی بسیار مشابه دوربین های جلوی آیفون X است، انجام شده اند.

مفهوم FaceID:

اجرای FaceID در Keras و دیپ لرنینگ و دیپ لرنینگ در پایتون و شبکه های عصبی و iphone x

فرآیند تنظیم FaceID

شبکه های عصبی FaceID عملکرد پیچیده ای دارند. اولین قدم، تجزیه و تحلیل دقیق نحوه عملکرد FaceID در آیفون X است. در TouchID، کاربر مجبور است ابتدا با لمس مکرر حسگر، اثر انگشت خود را ثبت کند. پس از حدود ١۵ نمونه گیری مختلف، تلفن هوشمند فرایند ثبت را تکمیل کرده و TouchID آماده فعالیت خواهد بود. به طور مشابه در FaceID نیز کاربر باید صورت خود را ثبت کند. فرایند بسیار ساده است: کاربر فقط به گوشی نگاه می کند و سپس به آرامی سرش را به دنبال یک دایره می چرخاند. بنابراین صورت در حالت های مختلف ثبت می شود. حالا قفل صفحه نمایش آماده فعالیت است. این روش ثبت سریع  و شگفت آور می تواند در مورد الگوریتم های یادگیری اساسی چیزهای زیادی به ما بگوید. به عنوان مثال، شبکه های عصبی در FaceID تنها عمل طبقه بندی را انجام نمی دهند. انجام طبقه بندی برای یک شبکه عصبی به معنای یادگیری این است که آیا شخصی که به آیفون نگاه می کند کاربر واقعی آن است یا خیر. بنابراین باید از برخی داده های آموزشی جهت پیش بینی “درست” یا “نادرست” استفاده کند. اما علی رغم موارد متعدد استفاده از دیپ لرنینگ ، در اینجا این رویکرد مؤثر نیست. ابتدا شبکه عصبی باید با استفاده از داده های جدید به دست آمده از چهره کاربر، آموزش ببیند. این امر نیازمند زمان، انرژی و داده های آموزشی از چهره های مختلف برای تشخیص تصویر است. بعلاوه، این روش امکان آموزش اپل در حالت آفلاین را فراهم نمی کند. اما FaceID با شبکه عصبی پیچشی Siamese (توضیح در بخش بعد) طراحی شده که در حالت آفلاین توسط اپل برای ثبت چهره آموزش می بیند.

چهره ها و اعداد در شبکه های عصبی ( شبکه عصبی Siamese )

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

اجرای FaceID در Keras و دیپ لرنینگ و دیپ لرنینگ در پایتون و شبکه های عصبی و iphone x

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

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

مزیت نهایی استفاده از دیپ لرنینگ در تشخیص تصویر

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

اجرای FaceID در Keras و دیپ لرنینگ و دیپ لرنینگ در پایتون و شبکه های عصبی و iphone x

هنگامی که ظاهر شما تغییر می کند، FaceID سازگار می شود

 

اجرای FaceID در Keras

در مورد همه پروژه های دیپ لرنینگ اولین چیزی که ما نیاز داریم داده است. ایجاد مجموعه داده های ما به زمان و همکاری بسیاری از افراد نیاز دارد و این می تواند بسیار چالش برانگیز باشد. به همین دلیل از مجموعه داده های چهره RGB-D موجود در اینترنت کمک گرفتیم. در این مجموعه داده، افراد با اشکال مختلف و جهات مختلف وجود دارند. همان طور که در هنگام استفاده از آیفون اتفاق می افتد.
در ابتدا یک شبکه عصبی پیچشی بر اساس معماری SqueezeNet ایجاد کردیم. شبکه عصبی به شکلی آموزش داده می شود که فاصله بین تصاویر یک شخص را به حداقل رسانده و فاصله بین تصاویر اشخاص مختلف را به حداکثر برساند. پس از آموزش ، شبکه قادر است چهره ها را در آرایه های ١٢٨ بعدی ترسیم کند. به گونه ای که تصاویر یک شخص در کنار هم طبقه بندی شده و از تصاویر افراد دیگر فاصله دارد. این بدان معنی است که برای باز کردن قفل، شبکه فقط باید فاصله بین تصاویر ذخیره شده در مرحله ثبت چهره و تصویری که در هنگام باز کردن قفل دریافت می کند، محاسبه کند. اگر فاصله زیر یک آستانه مشخص باشد، (هرچه کمتر باشد از امنیت بیشتری برخوردار است) قفل دستگاه باز می شود.

آزمایش شبیه سازی FaceID

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

اجرای FaceID در Keras و دیپ لرنینگ و دیپ لرنینگ در پایتون و شبکه های عصبی و iphone x

مرحله ثبت تصویر برای یک کاربر جدید با الهام از روند FaceID

 

حال ببینیم چه اتفاقی می افتد اگر همان کاربر سعی کند با حالت های مختلف چهره قفل دستگاه را باز کند.

اجرای FaceID در Keras و دیپ لرنینگ و دیپ لرنینگ در پایتون و شبکه های عصبی و iphone x

فاصله صورت در فضای تعبیه شده برای همان کاربر

 

از طرف دیگر ، تصاویر RGBD از افراد مختلف به طور متوسط فاصله ١/١ را ایجاد می کند.

اجرای FaceID در Keras و دیپ لرنینگ و دیپ لرنینگ در پایتون و شبکه های عصبی و iphone x

فاصله های چهره در فضای تعبیه شده برای کاربران مختلف

بنابراین، آستانه ای در حدود ۴/٠ باید برای جلوگیری از باز کردن قفل دستگاه توسط دیگران کافی باشد.

آموزش دیپ لرنینگ را در آکادمی آمانج تجربه کنید.

بررسی مهمترین تفاوت های هوش مصنوعی و یادگیری ماشین

۱۱۸ بازديد

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

به طور کلی، می توانیم هوش مصنوعی و ماشین لرنینگ  را به صورت زیر تفکیک کنیم:

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



هوش مصنوعی چیست؟

هوش مصنوعی

هوش مصنوعی زمینه ای از علم رایانه است که یک سیستم رایانه ای را ایجاد کرده  که می تواند از هوش انسان تقلید کند. هوش مصنوعی از دو کلمه “مصنوعی” و “هوش” تشکیل شده است ، که به معنای “قدرت تفکر انسانی”میباشد . از این رو می توانیم آن را به این صورت تعریف کنیم:

هوش مصنوعی یک فناوری پیشرفته است که با استفاده از آن می توانیم سیستمهای هوشمند ایجاد کنیم که بتوانند هوش انسانی را شبیه سازی کنند.
سیستم هوش مصنوعی نیازی به پیش برنامه ریزی ندارد ، در عوض از  الگوریتم هایی استفاده می کنند که می توانند  با هوش خود کار کنند. شامل الگوریتم های یادگیری ماشینی ازجمله  الگوریتم یادگیری تقویتی و شبکه های عصبی یادگیری عمیق .از جمله کاربردهای هوش مصنوعی به  Siri ، Google’s Alpha ، Go، بازی هایی مانند شطرنج و غیره میتوان اشاره کرد .

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

هوش مصنوعی ضعیف
هوش مصنوعی عمومی
هوش مصنوعی قوی
در حال حاضر ، ما با هوش مصنوعی ضعیف و هوش مصنوعی عمومی کار می کنیم. آینده AI هوش مصنوعی قوی است که گفته می شود از انسان باهوش است..!

یادگیری ماشین چیست؟

آموزش یادگیری ماشین

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

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

یادگیری ماشینی یک سیستم رایانه را قادر می سازد بدون استفاده از داده های گذشته ی خود  ، پیش بینی کند و یا تصمیم گیری کند.

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

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

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

تفاوت های کلیدی بین هوش مصنوعی (AI) و یادگیری ماشین (ML):

هوش مصنوعی  (Artificial Intelligence)

  1. هدف هوش مصنوعی این است که یک سیستم کامپیوتری هوشمند مانند انسان برای حل مشکلات پیچیده ایجاد کند.
  2. هوش مصنوعی یک فناوری است که یک دستگاه را قادر می سازد تا رفتار انسان را شبیه سازی کند.
  3. در هوش مصنوعی ، ما سیستم های هوشمندی را برای انجام هر کاری همانند انسان طراحی میکنیم.
  4. یادگیری ماشین و یادگیری عمیق دو زیر مجموعه اصلی هوش مصنوعی هستند.
  5. هوش مصنوعی دامنه بسیار گسترده ای دارد.
  6. هوش مصنوعی در حال تلاش برای ایجاد یک سیستم هوشمند است که می تواند کارهای پیچیده مختلفی را انجام دهد.
  7. دغدغه سیستم هوش مصنوعی افزایش و به حداکثر رساندن شانس موفقیت میباشد.
  8.  نمونه کاربردهای هوش مصنوعی: Siri ، پشتیبانی مشتری ، سیستم Expert ، بازی های آنلاین نظیر شطرنج ، روبات های هوشمند  انسان نما و…
  9. براساس قابلیت ها ، هوش مصنوعی  را می توان به سه نوع تقسیم کرد:  Weak AI ، General AI و Strong AI.
  10. هوش مصنوعی شامل یادگیری ، استدلال و تصحیح خود می باشد.
  11. هوش مصنوعی با داده های ساختاری ، نیمه ساختار یافته و بدون ساختار سروکار دارد.

یادگیری ماشین (Machine learning)

  1. هدف ML این است که ماشین ها بتوانند از داده ها یاد بگیرند تا بتوانند بازده دقیقی داشته باشند.
  2. یادگیری ماشینی زیر مجموعه ای از هوش مصنوعی است که به یک ماشین امکان می دهد بطور خودکار از داده های گذشته و بدون برنامه نویسی صریح یاد بگیرد.
  3. در ML ، ما به ماشین آلات به کمک داده ها آموزش می دهیم که یک کار خاص را انجام دهند و نتیجه دقیقی بگیرند.
  4. یادگیری عمیق زیر مجموعه اصلی یادگیری ماشین است.
  5. یادگیری ماشین دامنه محدودی دارد.
  6. یادگیری ماشینی در تلاش است تا ماشینهایی بسازد که بتوانند تنها وظایف خاصی را که برای آنها آموزش دیده اند ، انجام دهند.
  7. دغدغه یادگیری ماشینی عمدتاً الگوهای یادگیری و دقت عمل در آن ها میباشد.
  8.  نمونه کاربردهای ماشین لرنینگ عبارتند از سیستم های توصیه گر آنلاین ، الگوریتم های جستجوی گوگل ، ربات های چت، دوست یابی در شبکات اجتماعی و غیره.
  9. یادگیری ماشینی به سه نوع تقسیم میشود که عبارتند از: یادگیری نظارت شده، یادگیری بدون نظارت و یادگیری تقویت شونده .
  10. ماشین لرنینگ شامل یادگیری و تصحیح خود با داده های جدید و قدیمی میباشد.
  11. یادگیری ماشین تنها با داده های ساختاری و نیمه ساختار یافته سروکار دارد.