(function (s, e, n, d, er) { s['Sender'] = er; s[er] = s[er] || function () { (s[er].q = s[er].q || []).push(arguments) }, s[er].l = 1 * new Date(); var a = e.createElement(n), m = e.getElementsByTagName(n)[0]; a.async = 1; a.src = d; m.parentNode.insertBefore(a, m) })(window, document, 'script', 'https://cdn.sender.net/accounts_resources/universal.js', 'sender'); sender('986212f6399684')
معرفی کتابخانه keras (کرس) در زبان برنامه نویسی پایتون و یادگیری ماشین یا ماشین لرنینگ و دیپ لرنینگ

  این مقاله را میتوانید در مدت زمان 5 دقیقه مطالعه کنید   منتشر شده در تاریخ: آذر ۲۸ام, ۱۴۰۱   آخرین بروزرسانی: آذر ۲۹ام, ۱۴۰۱


دیپ لرنینگ یا یادگیری عمیق یکی از زیرشاخه‌های جذاب و هیجان‌انگیز مرتبط با یادگیری ماشین و هوش مصنوعی است. یادگیری عمیق منجر به پیشرفت‌های بزرگ در فناوری مانند بینایی رایانه‌ای (Computer Vision)، پردازش صدا (Audio Processing) و یا حتی اتومبیل‌های خودران شده است. دیپ لرنینگ با مفهومی به نام شبکه‌های عصبی کار می‌کند. برای پیاده‌سازی شبکه عصبی، کتابخانه‌های مختلفی در زبان برنامه‌نویسی پایتون از جمله Tensorflow و Theano وجود دارد. اما به عقیده بسیاری از متخصصان، کتابخانه Keras برای طراحی و ساخت مدل شبکه‌های عصبی محبوب‌ترین کتابخانه است.
در این مقاله می‌خواهیم بیشتر با کتابخانه keras آشنا شویم.

 

 

دیپ لرنینگ و شبکه‌های عصبی

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

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

 

 

Keras چیست؟

کرس یکی از فریمورک‌های اوپن سورس دیپ لرنینگ به زبان برنامه‌نویسی پایتون است. Francois Chollet محقق هوش مصنوعی گوگل در سال ۲۰۱۵ کرس را برای اولین بار معرفی کرد. امروزه کمپانی‌های بزرگ دنیا از جمله گوگل، نتفلیکس، هواوی و اوبر از کرس استفاده می‌کنند.

Keras را بیشتر با دو کتابخانه Theano و TensorFlow مقایسه می‌کنند. کرس بر روی کتابخانه‌های دیگر مثل تنسرفلو و تیانو و Cognitive Toolkit ساخته شده است. به عبارت دیگر TensorFlow، تیانو و CNTK مانند زبان بک اند هستند و Keras فرانت اند.

CNTK فریمورک دیپ لرنینگ است که کمپانی مایکروسافت آن را ساخته است. این فریمورک از کتابخانه‌های زبان‌های برنامه‌نویسی مثل پایتون، #C و ++C یا ابزارهای ماشین لرنینگ استفاده می‌کند.

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

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

 

 

مزایای استفاده از Keras

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

 

Keras برای انسان طراحی شده، نه برای ماشین‌ها.

 

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

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

 

 

نحوه نصب Keras

همانطور که گفته شد، Keras همراه با کتابخانه TensorFlow یا Theano پیاده‌سازی می‌شود. برای نصب این دو کتابخانه می‌توانید از روش‌ زیر استفاده کنید.

راحت‌ترین روش نصب هر کتابخانه‌ای در زبان پایتون، از جمله Keras و TensorFlow، آناکوندا است. برای نصب کتابخانه TensorFlow و Keras با آناکوندا، در قسمت Environment، گزینه Not installed را انتخاب کنید. سپس در باکس جستجو، Tensorflow را تایپ کنید. هر دو کتابخانه Keras و TensorFlow برای نصب نمایش داده می‌شوند.

 

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

 

برای اینکه مطمئن شوید نصب به درستی انجام شده است یا خیر،می‌توانید دستور زیر را در Command Line اجرا کنید:

 

$ python -c "import keras; print( keras.__version__ )" Using TensorFlow backend. 2.3.1

 

 

مدل‌های مختلف معماری لایه‌ها در Keras

شبکه عصبی ساختاری لایه لایه دارد. معمولا در طراحی مدل شبکه‌های عصبی با Keras از دو معماری مختلف استفاده می‌شود:

  • مدل ترتیبی (Sequential Model)
  • مدل API عملکردی (Functional API Models)

مدل ترتیبی، ساده‌ترین مدل معماری در Keras است. زمانی که در کتابخانه Keras از کتابخانه Sequential استفاده کنید، لایه‌ها بر اساس نوع پروژه تا جایی که نیاز باشد، اضافه می‌شوند. البته استفاده از لایه‌های اشتراکی و یا انشعاب لایه‌ها مجاز نیست.

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

 

 

مراحل ساخت مدل شبکه عصبی با Keras

برای ساخت یک مدل با کراس مراحل زیر را طی کنید:

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

۲. کامپایل: کامپایل کردن کد، یعنی تبدیل کد به زبانی که برای ماشین قابل درک باشد. در کرس دستور ()model.compile این کار را انجام می‌دهد. علاوه بر این در مرحله کامپایل، تابع دیگری تحت عنوان تابع ضرر (Loss Function) نیز تعریف می‌شود.
تابع ضرر در یادگیری ماشین و به ویژه در دیپ لرنینگ برای نشان دادن میزان خطای ریاضی بین خروجی شبکه عصبی و داده‌های واقعی استفاده می‌شود.

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

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

۵. اجرا: این مرحله، مرحله اجرایی است که پس از تمام ارزیابی‌ها از مدل ساخته شده استفاده می‌کنیم.

 

 

جمع‌بندی

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

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

آیا این مطلب برای شما مفید بود؟

امتیازشو ثبت کنید

میانگین / 5. تعداد رای

اولین نفر شما امتیاز دهید

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

در یک دوره آموزشی متخصص یادگیری ماشین شوید.

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

شاید به این مطالب نیز علاقه مند باشید.

آیا یادگیری ماشین دشوار است؟

آیا یادگیری ماشین دشوار است؟

این مقاله به روایت از دکتر Sridhar Mahadevan ، دکترای کامپیوتر از دانشگاه روتگرز (1990) ، استاد دانشگاه ماساچوست و مدیر آزمایشگاه علوم داده در San Jose میباشد. کتاب اول…

آموزش دیپ لرنینگ

شبکه عصبی کانولوشن چیست؟

یکی از داغ ترین و مهم ترین بحث های حال حاضر در هوش مصنوعی و یادگیری ماشین، "شبکه عصبی کانولوشن" هست. واژه شبکه عصبی در سال ۲۰۱۲ به شهرت رسید.…

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

انواع یادگیری ماشین همراه با مثال

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

0 0 رای
امتیازدهی به مقاله
دنبال کردن
با خبر کردن از
guest
0 دیدگاه
بازخورد داخلی
دیدن همه نظرات

تاییدیه ها

تهران - ستارخان، خیابان کوثر دوم، پلاک ۱۰، واحد ۳

آیا این مطلب برای شما مفید بود؟

امتیازشو ثبت کنید

میانگین / 5. تعداد رای

اولین نفر شما امتیاز دهید

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

در یک دوره آموزشی متخصص یادگیری ماشین شوید.

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