شبکه عصبی بعنوان ابزار اصلی در زمینه یادگیری عمیق مورد توجه بسیاری از برنامهنویسان میباشد. کتابخانههای متنوعی برای استفاده از شبکههای عصبی در متلب، پایتون و دیگر زبانهای محاسبات علمی ارائه شده است. با اینحال برای کاربردهای عملیتر به پیادهسازی شبکه عصبی در زبانهای سطح میانی نیاز میباشد. یکی از کتابخانههایی که استفاده از شبکههای عصبی را با کارایی و سرعت بالا در زبان ++C فراهم کرده است، OpenNN میباشد. در این نوشته به معرفی این کتابخانه پرداخته میشود.
کتابخانههای محاسباتی که در زبان برنامهنویسی پایتون فراهم آورده شدهاند، این زبان را به یکی از زبانهای پرطرفدار در مبحث محاسبات علمی تبدیل کرده اند. یکی از ملزومات محاسبات علمی توانایی نمایش دادهها و نتایج حاصل از کار بر روی دادهها به شکل نمودارهای مناسب است. در زبان برنامهنویسی پایتون اینکار توسط کتابخانه matplotlib قابل انجام است. این کتابخانه طیف وسیعی از قابلیتها را برای رسم نمودارها در اختیار کاربر قرار میدهد. در این نوشته به دنبال رسم نمودارهای پراکندگی هستیم.
ابتدای مسیر توسعه کامپیوترها، رابط گرافیکی مفهومی نداشت و تمامی وظایف در محیط رابط متنی خیلی ساده انجام میگرفت. با پیشرفت قدرت پردازشی کامپیوترها و همزمان پیدایش تکنولوژیهای جدید صفحات نمایش که هزینه این ادوات را کاهش میداد، رابطهای گرافیکی به دنیای کامپیوتر معرفی شدند. روند توسعه گرافیکی با ورود به قرن بیست و یکم سرعت بیشتری پیدا کرد و گرافیک سه بعدی مورد اقبال کاربران قرار گرفت. بستههای نرم افزاری مختلفی برای کارهای گرافیکی و شتاب بخشی به آنها که رابط بین کدهای نوشته شده توسط کاربر و سخت افزار پردازشگر گرافیکی میباشند نیز شروع به توسعه پیدا کردند. یکی از این رابطهای برنامهنویسی نرمافزارهای کاربردی OpenGL میباشد. اولین انتشار این رابط در سال ۱۹۹۲ اتفاق افتاد و تا امروز یکی از رابطهای برنامهنویسی گرافیکی دو بعدی و سه بعدی محبوب میباشد. در این نوشته به نحوه استفاده از این رابط با استفاده از زبان برنامهنویسی پایتون پرداخته خواهد شد.
یکی از روشهای نوین و پرکاربرد در زمینه یادگیری ماشین و هوش مصنوعی شبکههای عصبی میباشد. این روش که بعد از فراز و نشیبهایی در تاریخچهاش امروزه به مقبولیت قابل ملاحظهای بین محققین رسیده است برگرفته از ساختار عصبی مغز انسان میباشد. هر شبکه عصبی از لایههای مختلفی تشکیل شده است که این لایهها از اجزای کوچکتری به نام نورون بوجود آمده اند.
یکی از الگوریتمهای فرا ابتکاری شناخته شده در زمینه بهینهسازی الگوریتم کرم شبتاب (Firefly algorithm) میباشد. در این نوشته با کلیات این الگوریتم و مراحل آن آشنا خواهیم گشت. همچنین نحوه استفاده از کتابخانه PyFFA برای حل مسائل بهینهسازی با یک مثال کوچک توضیح داده خواهد شد.
روشهای بهینهسازی هوشمند مختلفی برای حل طیف وسیعی از مسائل مهندسی مورد استفاده قرار میگیرند. از جمله روشهای پایهای که ویرایشهای مختلف و روشهای ارتقا یافته متعددی بر مبنای آنها توسعه داده شده است، الگوریتم بهینهسازی ژنتیک میباشد. در این نوشته آشنایی کلی با این الگوریتم خواهیم داشت.
الگوریتم بهینهسازی ازدحام ذرات (PSO) یکی از الگوریتمهای شاخص در زمینه بهینهسازی میباشد. در این نوشته به دنبال آشنایی با کاربردهای این الگوریتم میباشیم.