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

دانلود Create a Neural Network in Java

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

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

  • ساخت یک شبکه عصبی از پایه در جاوا
  • درک نحوه استفاده از شبکه‌های عصبی برای تشخیص ارقام دست‌نویس
  • پیاده‌سازی الگوریتم پس‌انتشار (Backpropagation)
  • به‌کارگیری شبکه‌های عصبی برای دسته‌بندی داده‌ها

پیش‌نیازها: درک اولیه از برنامه‌نویسی جاوا

نحوه ساخت و استفاده از شبکه‌های عصبی در برنامه‌های جاوا را بیاموزید. این دوره آموزشی نه تنها چگونگی پیاده‌سازی هوش مصنوعی (AI) و یادگیری ماشین (Machine Learning) را با شبکه‌های عصبی مصنوعی (ANNs) خودتان به شما می‌آموزد، بلکه اصول عملکرد این شبکه‌ها را نیز به گونه‌ای توضیح می‌دهد که بتوانید شبکه‌های اختصاصی خود را پیاده‌سازی کنید.

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

از جمله مواردی که پوشش خواهیم داد:

  • شبکه‌های عصبی مصنوعی چیستند و چگونه آن‌ها را خودتان پیاده‌سازی کنید.

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

  • اصول اولیه حساب دیفرانسیل و انتگرال مورد نیاز برای آموزش شبکه‌های شما.

  • نوشتن و سازماندهی کد شبکه عصبی سریع، کارآمد و چندرشته‌ای (Multithreaded).

  • مفاهیم اساسی نظریه اطلاعات که ما را قادر می‌سازد عملکرد شبکه عصبی خود را ارزیابی کنیم.

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

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

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

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


سرفصل ها و درس ها

مقدمه و پرسپترون Introduction and Perceptron

  • مقدمه Introduction

  • چرا یک شبکه عصبی بنویسیم؟ Why Write a Neural Network?

  • حداکثر استفاده از این دوره Getting the Most Out of This Course

  • جاوا در مقابل پایتون Java vs Python

  • نورون‌ها Neurons

  • پرسپترون Perceptron

  • پروژه‌ای با پشتیبانی JUnit A Project With JUnit Support

  • کدنویسی پرسپترون Coding Perceptron

  • محل یافتن کد منبع Where to Find the Source Code

  • فرمت‌کننده‌های Eclipse Eclipse Formatters

  • گیت‌های منطقی Logic Gates

  • پرسپترون AND Perceptron AND

  • OR، NOR، NAND OR, NOR, NAND

  • XOR و XNOR XOR and XNOR

  • جداسازی خطی Linear Separability

  • برخی اصطلاحات لایه Some Layer Terminology

  • برچسب‌گذاری وزن‌ها Labelling Weights

  • ماتریس‌ها Matrices

  • برخی اصطلاحات ریاضی Some Mathematical Terminology

ریاضیات ماتریس Matrix Mathematics

  • یک کلاس ماتریس A Matrix Class

  • مقداردهی اولیه ماتریس Initialising the Matrix

  • متد toString ماتریس Matrix toString Method

  • آزمایش متد toString Testing the toString Method

  • اصلاح ماتریس‌ها Modifying Matrices

  • ضرب ماتریس‌ها در یک مقدار Multiplying Matrices By a Value

  • مقایسه ماتریس‌ها Comparing Matrices

  • استفاده از متد Equals Using the Equals Method

  • جمع ماتریس‌ها Adding Matrices

  • انگیزه برای ضرب ماتریس Motivation for Matrix Multiplication

  • ضرب جداول Multiplying the Tables

  • ضرب ماتریس Matrix Multiplication

  • قاعده ضرب ماتریس Matrix Multiplication Rule

  • خلاصه ضرب ماتریس Matrix Multiplication Summary

  • مثال‌های ضرب ماتریس Matrix Multiplication Examples

  • تاییدها Assertions

  • از 2D به 1D 2D to 1D

  • پیمایش روی ردیف‌های عامل ضرب Iterating Over Multiplicand Rows

  • تکمیل پیاده‌سازی ضرب Completing the Multiplication Implementation

  • زمان‌بندی ضرب ماتریس Timing Matrix Multiplication

  • بهینه‌سازی ضرب ماتریس Optimising Matrix Multiplication

توابع فعال‌سازی Activation Functions

  • کلاس تست شبکه عصبی Neural Net Test Class

  • اصلاح ماتریس‌ها Modifying Matrices

  • افزودن بایاس Adding Bias

  • ستون‌های ورودی متعدد Multiple Columns of Input

  • رلو ReLu

  • یک تست رلو A ReLu Test

  • forEach ماتریس Matrix forEach

  • پیاده‌سازی رلو Implementing ReLu

  • معرفی Softmax Introducing Softmax

  • مثال حل شده Softmax Softmax Worked Example

  • جمع ستون‌ها Summing Columns

  • پیاده‌سازی Softmax Implementing Softmax

  • آزمایش Softmax Testing Softmax

  • موتور The Engine

  • تعیین اندازه‌های ماتریس وزن Deciding Weight Matrix Sizes

  • یک شبکه آموزش‌ندیده An Untrained Network

  • پیکربندی لایه‌های متراکم Configuring Dense Layers

  • افزودن لایه‌های متعدد Adding Multiple Layers

  • اجرای موتور Running the Engine

نظریه اطلاعات و آنتروپی متقابل Information Theory and Cross Entropy

  • زیان میانگین مربعات Mean Squares Loss

  • اطلاعات چیست؟ What is Information?

  • فضاهای نمادی Symbol Spaces

  • آنتروپی Entropy

  • یک استراتژی رمزگذاری بهینه An Optimal Encoding Strategy

  • نمادهای با احتمال نامساوی Unequally Probable Symbols

  • محاسبه اطلاعات مرتبط با یک نماد Calculating the Information Assoicated With a Symbol

  • آنتروپی برای نمادهای با احتمال نامساوی Entropy for Unequally Probable Symbols

  • معرفی آنتروپی متقابل Introducing Cross Entropy

  • مثال آنتروپی متقابل Cross Entropy Example

  • آنتروپی متقابل به عنوان تابع زیان Cross Entropy as a Loss Function

  • پیاده‌سازی آنتروپی متقابل Implementing Cross Entropy

  • یک تست آنتروپی متقابل A Cross Entropy Test

  • پیاده‌سازی تست آنتروپی متقابل Implementing the Cross Entropy Test

حساب دیفرانسیل و انتگرال و بازگشت خطا Calculus and Backpropagation

  • آموزش شبکه Training the Network

  • گرادیان کاهشی Gradient Descent

  • گرادیان‌ها و شبکه‌های عصبی Gradients and Neural Networks

  • یک کلاس حساب دیفرانسیل و انتگرال A Calculus Class

  • پیاده‌سازی مشتق‌گیری Implementing Differentiation

  • نمادگذاری پایه ریاضی Basic Mathematical Notation

  • مشتقات جزئی Partial Derivatives

  • نمای کلی یک شبکه ۳ لایه Overview of a 3 Layer Network

  • شبکه به عنوان یک تبدیل The Network as a Transform

  • تقریب‌زننده Approximator

  • داده‌های مورد انتظار ساختگی Mock Expected Data

  • پیاده‌سازی تبدیل Implementing the Transform

  • بررسی زیان Examining Loss

  • یک متد AddIncrement An AddIncrement Method

  • تکمیل تقریب‌زننده Completing the Approximator

  • مرور و لگاریتم‌های طبیعی Recap and Natural Logarithms

  • اتمام تست تقریب‌زننده Finishing the Approximator Test

  • بازگشت خطا Backpropagation

  • بدست آوردن گرادیان آنتروپی متقابل Softmax Obtaining Softmax Cross Entropy Gradient

  • بازگشت خطا از طریق مجموع‌های وزنی Backpropagating Errors Through Weighted Sums

  • معرفی قاعده زنجیره‌ای Introducing the Chain Rule

  • برنامه‌نویسی قاعده زنجیره‌ای Programming the Chain Rule

  • قاعده زنجیره‌ای برای توابع چند متغیره Chain Rule for Functions of Multiple Variables

  • برنامه‌نویسی قاعده زنجیره‌ای چند متغیره Programming Multi Variable Chain Rule

  • اصطلاحات بیشتر ریاضی More Mathematical Terminology

  • ترانهاده ماتریس Matrix Transpose

  • پیاده‌سازی ترانهاده Implementing Transpose

  • بازگشت خطا از طریق وزن‌ها Backpropagation Through Weights

  • محاسبه تبدیل بازگشت خطا برای وزن‌ها Calculating the Backpropagation Transform for Weights

  • ایجاد یک تست برای بازگشت خطای وزن‌ها Creating a Test for Weights Backprop

  • ایجاد وزن‌ها و بایاس‌ها Creating Weights and Biases

  • تکمیل تست بازگشت خطای وزن‌ها Completing the Weights Backprop Test

  • بهبود تست بازگشت خطای وزن Improving the Weight Backprop Test

  • بازگشت خطا از طریق رلو Backpropagating Through ReLu

  • پیاده‌سازی بازگشت خطا از طریق رلو Implementing Backpropagation Through ReLu

موتور شبکه عصبی The Neural Network Engine

  • افزودن متد RunBackwards Adding a RunBackwards Method

  • یک کلاس داده آزمایشی A Test Data Class

  • یک کلاس نتیجه دسته‌ای A Batch Result Class

  • پیکربندی موتور Configuring the Engine

  • بررسی زیان و تبدیل نهایی Checking the Loss and Final Transform

  • ذخیره خطاها Storing Errors

  • آغاز بازگشت خطا Initiating Backpropagation

  • بررسی بازگشت خطای اولیه Checking Initial Backpropagation

  • بازگشت خطا از طریق وزن‌ها Backpropagation Through Weights

  • بازگشت خطا از طریق رلو Backpropagating Through ReLu

  • خاموش کردن بازگشت خطا به ورودی Turning Off Backpropagation to Input

آموزش شبکه عصبی Training the Neural Network

  • محاسبه گرادیان‌های وزن از خطا Calculating the Weight Gradients from the Error

  • محاسبه عملی گرادیان وزن از طریق کدنویسی Practical Weight Gradient Calculation via Coding

  • تکمیل تست گرادیان‌های وزن Completing the Weight Gradients Test

  • یک واقعیت مفید شامل ترانهاده ماتریس A Useful Fact Involving Matrix Transpose

  • آموزش آنلاین در مقابل آموزش دسته‌ای Online Training versus Batch Training

  • آموزش کامل شبکه Training the Network in Full

  • آزمایش میانگین ستون Testing Average Column

  • میانگین‌گیری از ستون‌ها Averaging Columns

  • ارزیابی میانگین زیان Evaluating Average Loss

  • بدست آوردن ورودی‌ها و خطاهای وزن Getting Weight Inputs and Errors

  • تولید داده‌های قابل آموزش Generating Trainable Data

  • پیکربندی تست موتور Configuring the Engine Test

  • اتمام متد Adjust Finishing the Adjust Method

  • بدست آوردن بزرگترین شماره‌های ردیف Getting Greatest Row Numbers

  • افزودن درصد صحیح Adding Percent Correct

  • آموزش تکراری Repeated Training

  • تولید توزیع‌های متقارن کروی Generating Spherically Symmetric Distributions

  • داده آموزش بهتر Better Training Data

  • امتحان داده‌های جدید Trying the New Data

  • یک کلاس میانگین‌های متحرک A Running Averages Class

  • استفاده از میانگین‌های متحرک Using Running Averages

  • نرخ‌های یادگیری متغیر Variable Learning Rates

  • آزمایش عملکرد موتور Testing Engine Performance

اِپک‌ها، دسته‌ها و چند رشته‌ای Epochs, Batches and Multithreading

  • رابط MetaData The MetaData Interface

  • رابط BatchData The BatchData Interface

  • رابط Loader The Loader Interface

  • کلاس شبکه عصبی The Neural Network Class

  • مقداردهی اولیه ماتریس‌ها با آرایه‌های Double Initializing Matrixes with Double Arrays

  • تولید آرایه‌های آموزشی Generating Training Arrays

  • برخی کلاس‌های انتزاعی تسهیل‌گر Some Abstract Convenience Classes

  • ایجاد یک لودر تست Creating a Test Loader

  • تکمیل لودر تست Completing the Test Loader

  • آزمایش لودر تست Testing the Test Loader

  • جمع عناصر ماتریس Summing Matrix Elements

  • اتمام تست لودر Finishing the Loader Test

  • متد Fit The Fit Method

  • اجرا با لودر تست Running with the Test Loader

  • اجرای اِپک‌ها Running the Epochs

  • اجرای دسته‌ها Running the Batches

  • پیاده‌سازی RunBatch Implementing RunBatch

  • افزودن چند رشته‌ای Adding Multithreading

  • مصرف دسته‌ها Consuming the Batches

  • رفع خطای اجرا Fixing the Execution Exception

  • خروجی دادن متریک‌ها Outputting Metrics

  • جلوگیری از NaN Preventing NaN

  • بهبود toString Improving toString

  • ذخیره شبکه Saving the Network

  • افزودن متد Load Adding a Load Method

  • مدیریت قفل Dealing with the Lock

  • افزودن متد Predict Adding a Predict Method

بارگذاری تصاویر MNIST Loading MNIST Images

  • مجموعه داده MNIST The MNIST Dataset

  • آرگومان‌های خط فرمان Command Line Arguments

  • ایجاد لودر تصویر Creating the Image Loader

  • باز کردن فایل‌های MNIST Opening the MNIST files

  • فرمت فایل MNIST The MNIST File Format

  • خواندن متادیتای برچسب Reading Label Metadata

  • خواندن متادیتای تصویر Reading the Image MetaData

  • ذخیره متادیتا Storing the MetaData

  • ساختاربندی خواندن دسته‌ای Structuring Batch Reading

  • خواندن داده تصویر Reading Image Data

  • تبدیل بایت‌ها به Double Converting Bytes to Doubles

  • خواندن دسته‌ها Reading Batches

  • خواندن برچسب‌ها Reading the Labels

  • یک کلاس ImageWriter An ImageWriter Class

  • نوشتن تصاویر Writing Images

  • تعیین عرض Canvas Determining Canvas Width

  • محاسبه مکان پیکسل Calculating Pixel Location

  • نوشتن تصاویر مونتاژ Writing the Montage Images

  • تبدیل One Hot به Int Converting One Hot to Int

  • نوشتن برچسب‌ها Writing the Labels

کنار هم قرار دادن همه چیز Putting It All Together

  • کنار هم قرار دادن همه چیز Putting it All Together

  • رفع یک باگ بد Fixing a Nasty Bug

  • مقیاس‌بندی وزن‌های اولیه Scaling Initial Weights

  • بهبود تبدیل One Hot Improving One Hot Conversion

  • بدست آوردن پیش‌بینی‌ها Getting Predictions

  • رنگی کردن تصاویر Colorising the Images

نتیجه‌گیری Conclusion

  • نتیجه‌گیری Conclusion

نمایش نظرات

آموزش ساخت شبکه عصبی در جاوا
جزییات دوره
18 hours
196
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
942
4.7 از 5
دارد
دارد
دارد
John Purcell
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

John Purcell John Purcell

بعد از بیش از 14 سال کار به عنوان یک توسعه دهنده و پیمانکار نرم افزار برای مجموعه ای از شرکت ها از جمله CSC ، Proquest ، SPSS و AT&T در انگلستان و هلند ، تصمیم گرفتم تمام وقت به عنوان یک مربی خصوصی نرم افزار کار کنم. اکنون در شهر زیبای بوداپست ، مجارستان زندگی می کنم ، از آنجا وب سایت http://www.caveofprogramming.com را اداره می کنم.