یادگیری پایتون

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

پنجشنبه ۲۶ شهریور ۰۵

۱۲ کارایی شگفت انگیز یادگیری پایتون

۱۱۶ بازديد

پایتون به عنوان زبان ارجح برای آموزش و یادگیری Ml (یادگیری ماشین) مورد استفاده قرار می گیرد . همچنین به عنوان یک زبان برنامه افزودنی برای برنامه هایی که به زبان های دیگر نوشته شده اند و نیاز به رابط های اسکریپت یا اتوماسیون آسان دارند ، قابل استفاده است. یادگیری ماشین با پایتون یک نقطه شروع خوب برای Ml  است و شما می توانید از آن برای استفاده از مدلهای موجود مانند رگرسیون خطی ، رگرسیون لجستیک و SVM استفاده کنید.ولی  اگر در مورد یادگیری ماشین جدی تر هستید بهتر است برخی از کتابهای ریاضیات را نیز درک کنید.  در این مقاله با 8 کارایی شگفت انگیز ماشین لرنینگ با پایتون آشنا خواهیم شد .

کارایی یادگیری ماشین با پایتون



1. سادگی خواندن و نوشتن در پایتون 

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

2. مجموعه عظیمی از کتابخانه های مرتبط  در پایتون

پایتون برای اهداف یادگیری ماشینی مجموعه گسترده ای از کتابخانه ها را در اختیار دارد. اینها شامل Python NumPy ، SciPy ، scikit-Learn و موارد دیگر است. که برای تمام کارهای ذاتی یادگیری ماشین کاربرد دارند..
scikit-Learn– برای داده کاوی ، تجزیه و تحلیل داده ها و یادگیری ماشین مناسب است.
pylearn– انعطاف پذیر تر از scikit-Learn میباشد.
کتابخانه ماژولار PyBrain با الگوریتم های یادگیری ماشین انعطاف پذیر ، آسان و قدرتمند و محیط های از پیش تعریف شده برای آزمایش و مقایسه الگوریتم ها مناسب است.
orange – کمک به تجسم و تجزیه و تحلیل داده ها با منبع باز ، دارای مؤلفه هایی برای یادگیری ماشین ، دارای پسوندهایی برای سنجش بیومتریک و استخراج متن، پشتیبانی از داده کاوی از طریق برنامه نویسی بصری یا برنامه نویسی پایتون است.
PyML– چارچوب تعاملی شی گرا برای یادگیری ماشین ، که در پایتون نوشته شده است.
Milk_ دارای SVM ، k-NN ، جنگلهای تصادفی ، درختان تصمیم گیری ، که انتخاب ویژگی را انجام می دهد.
Shogun– ابزار یادگیری ماشین ، متمرکز بر روش های کرنل بزرگ مقیاس و SVM ها میباشد.
Tensorflow_کتابخانه شبکه عصبی سطح بالا میباشد.

برنامه های کاربردی آموزش ماشین با پایتون

1. پیش بینی گزینه های موسیقی

ماشین لرنینگ با پایتون - دستیار صوتی

محصولاتی مانند Genius توسط Apple Music بر آنچه شما گوش می دهید نظارت می کند. بعداً ، می تواند لیستی از آهنگهایی را که احتمالاً ترجیح می دهید به شما پیشنهاد دهد. همچنین آهنگهایی را از لیست پخش شما انتخاب می کند تا کتابخانه هایی مشابه با یکدیگرایجاد شود.

2. کشف مواد مخدر و تشخیص بیماری با الگوریتم های ماشین لرنینگماشین لرنینگ با پایتون _تشخیص مواد مخدرمی توانیم کارهای زیر را به کمک یادگیری ماشین دراین زمینه انجام دهیم :

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

3. تشخیص چهره

تشخیص چهره-یادگیری ماشین با پایتون

امکاناتی مانند تشخیص چهره به کمک ماشین لرنینگ اغلب مواردی است که با Facebook می بینیم. وقتی می خواهیم یک عکس را برچسب گذاری کنیم ، فیس بوک به طور خودکار چند نام را به ما پیشنهاد می دهد و در اکثر اوقات ، نام او برای چهره ای که کشف کرده است به کمک یادگیری ماشینی دقیق است.

4. دستیاران شخصی مجازی 

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

 5. خدمات رسانه های اجتماعی

فیسبوک _یادگیری ماشین با پایتون
این برنامه از یادگیری ماشینی برای نظارت بر فعالیت شما استفاده می کند. چه پروفایل هایی را که بازدید می کنید ، چه افرادی را برای آن ها درخواست دوستی میفرستید یا افرادی که درخواست های آنها را می پذیرید وهمینطور افرادی که برچسب گذاری می کنید …
فیس بوک امیدوار است تجربه غنی تری را در پلتفرم خود به شما ارائه دهد ، بنابراین شما مرتباً از یادگیری ماشین با پایتون در آن استفاده خواهید کرد.

6. اتومبیل های خودران 

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

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

7. پشتیبانی آنلاین مشتری

پشتیبانی آنلاین مشتری با ماشین لرنینگ

وب سایتهای آموزشی و سیستم عاملهای خرید اغلب یک گپ زنده را برای کمک به سوالات خود ایجاد می کنند. بازدید کننده ای با کلی سؤال بی جواب ،احتمالاً خرید خود را ترک می کند.ولی برخی از وب سایتها از یک ********bot برای جلب اطلاعات به وب سایت استفاده می کنند و سعی می کنند به سؤالات مشتری بپردازند.

8. نظارت تصویری

نظارت تصویری

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

9. توصیه های محصول

پشتیبانی مشتری با کمک پایتون و یادگیری ماشین

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

10. برنامه های قیمت گذاری بیمه

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

11. ترجمه خودکار

یادگیری ماشین با پایتون

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

12. تشخیص کلاهبرداری های آنلاین


اگر با PayPal آشنا هستید ، PayPal از یادگیری ماشینی برای دفاع در برابر اقدامات غیرقانونی مانند پولشویی استفاده می کند. با مقایسه میلیون ها تراکنش می توان فهمید که کدام یک از آنها نامشروع است.

 

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

به غیر از مواردی که ذکر کردیم ، می توانیم از Machine Learning برای اهداف زیر استفاده کنیم :

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

 موارد ذکر شده همگی در مورد برنامه های کاربردی یادگیری ماشین با پایتون میباشد. امیدوارم توضیحات ما در این خصوص  برایتان مفید بوده باشد.

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

آموزش دیپ لرنینگ چگونه می توان با استفاده از دیپ لرنینگ در پایتون ، 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

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

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

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