پیاده سازی و برنامه نویسی MATLAB یادگیری عمیق

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

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

یادگیری عمیق در متلب یک ابزار مناسب برای طراحی و پیاده سازی شبکه های عصبی عمیق با الگوریتم ها و مدلهای از پیش آموزش یافته برای شما فراهم می کند. شما می توانید از شبکه های عصبی کانولوشن (ConvNet , CNN) و حافظه ترم-کوتاه بلند long short-term memory (LSTM) برای دسته بندی و رگرسیون روی تصویر و سریهای زمانی و داده های متنی استفاده کنید.

شما می توانید ساختارهای شبکه مانند شبکه های مخالف مولد generative adversarial networks (GANs) و شبکه های سیامی Siamese networks با استفاده از تفاضل گیری اتوماتیک و حلقه های آموزش سفارشی و وزنهای تقسیم شده ایجاد کنید.
با ابزار طراحی کننده شبکه عمیق شما می توانید بدون کدنویسی شبکه های عصبی عمیق را به صورت اتوماتیک طراحی و آنالیز و آموزش دهید.
با استفاده از ابزار مدیریت تجارب (Experiment Manager app) شما می توانید چندین تجارب یادگیری عمیق را مدیریت کنید و پارامترهای آموزش را در هر تجربه دنبال کنید و نتایج را آنالیز کنید و کدهای تولید را با هم مقایسه کنید و بهترین مدل را انتخاب کنید. این ابزار به کاربران قابلیت بسیار خوبی می دهد که یک کار کنترل نسخه version control را انجام بدهند. در یک کار واقعی یادگیری عمیق ، پیداکردن پارامترهای مناسب یک مدل بسیار زمانبر است و نیاز هست که پارامترهای هر بار اجرای کد ذخیره شد تا در نهایت با مقایسه اجراهای مختلف بهترین پارامتر پیدا شود. با کمک ابزار مدیریت تجارب به راحتی شما می توانید این کار را انجام دهید.
با ابزار یادگیری عمیق شما می توانید مدل یادگیری عمیق را مشاهد کنید و لایه های مختلف و توابع تبدیل هر لایه را ببینید. بنابراین شما به راحتی می توانید ساختار مدل خود را مشاهده کنید و درک خوبی از مدل یادگیری عمیق پیدا کنید.
شما می توانید با ابزار یادگیری عمیق متلب بین دیگر ابزارهای برنامه نویسی یادگیری عمیق مثل TensorFlow™ و PyTorch با متلب ارتباط برقرار کنید. آموزش TensorFlow ایران متلب را می توانید در این لینک مشاهده کنید. اکنون برنامه نویسان پایتون از TensorFlow™ و PyTorch استفاده می کنند، لذا شما می توانید مدلهایی که در این کتابخانه ها ساخته می شود را وارد متلب کنید و به عنوان یک مدل متلب استفاده کنید. فرمت ارتباطی از نوع ONNX™ می باشد که می تواند مدلهایی از TensorFlow-Keras و Caffe را وارد متلب کنید.

این تولباکس یادگیری انتقال (Transfer Learning) را با DarkNet-53 و ResNet-50 و NASNet و SqueezeNet و مدلهای پیش آموزش یافته دیگری پشتیبانی می کند. همانطور که در فیلم آموزش یادگیری عمیق ایران متلب گفته می شود، این قابلیت باعث می شود که شما چرخ را از اول اختراع نکنید و به راحتی مدلهای پیشرفته ایجاد کنید و به راندمان های بسیار بالایی برسید.

با استفاده از یادگیری عمیق در متلب شما می توانید فرایند آموزش مدل خود را روی یک GPU یا چندین GPU انجام دهید و سرعت را افزایش دهید. این قابلیت به کمک جعبه ابزار پردازش موازی متلب انجام می شود. همچنین شما می توانید از فضای ابری (cloud) شامل NVIDIA® GPU Cloud و Amazon EC2® GPU نیز استفاده کنید. این قابلیت با جعبه ابزار سرور موازی MATLAB (MATLAB® Parallel Server™)انجام می شود.

 

 

 

سرفصل ها :

شبکه های از پیش آموزش یافته
ابزار Add-On Explorer
نصب یک شبکه یادگیری عمیق در متلب
فراخوانی AlexNet در متلب
مقایسه شبکه های یادگیری عمیق از پیش آموزش یافته از نظر سرعت و حجم محاسبات و دقت
نکات مهم در انتخاب مدل یادگیری عمیق
شروع به برنامه نویسی با یک کد ساده
پارامتر Layers
چاپ ساختار یک شبکه
محاسبه اندازه مناسب تصویر ورودی
تغییر اندازه تصویر ورودی
اسم لایه های مختلف شبکه
پارامترهای هر لایه شبکه
استخراج پارامترهای لایه اول
استخراج پارامترهای لایه های بعدی
FilterSize و NumChannels و Stride
پارامتر های Learnable Parameters
پارامترهای لایه Pooling
کلاس maxPooling2dLayer
لایه FullyConnectedLayer
عمق و اندازه و تعداد پارامترها و اندازه تصویر ورودی شبکه های squeezenet و googlenet و inceptionv3 و densenet201 و mobilenetv2 و resnet18 و resnet50 و resnet101 و xception وinceptionresnetv2 و shufflenet و nasnetmobile و nasnetlarge و darknet19 و darknet53 و alexnet و vgg16 وvgg19

نصب googlenet
چک نسخه متلب
بررسی لایه های googlenet
نام کلاس های خروجی شبکه
معرفی مدلهای Caffe
معرفی App Network Designer
کار با یادگیری عمیق درمتلب بدون هیچ گونه برنامه نویسی
صفحه شروع ابزار طراحی شبکه
گزینه های Designer
معرفی Layer Library
Auto arrange
معرفی Analyze
یافتن خطا ها و هشدارهای طراحی
معرفی Export
رنگ های هر لایه
بارگذاری داده
داده های validation و داده های Training
Augmentation options
تغییر داده های آموزش
تعیین درصد داده های validation
یک مثال از یادگیری انتقالی
تنظیم لایه fully connected
تنظیم لایه Output
گزارش حاصل از چک شبکه
گزینه های تنظیمی آموزش
انتخاب تابع آموزش یا solver
معرفی قسمت های مختلف پنجره آموزش
Accuracy, Loss function
نمودارهای حاصل از آموزش
دلایل توقف آموزش
Training Cycle
Hardware resource
گزینه Export
تولید های کد متلب یک طراحی در ابزار ساخت شبکه
مثال
گرفتن خروجی از شبکه آموزش یافته
چه کارهایی می توانید با ابزار ساخت شبکه یادگیری عمیق در متلب انجام دهید؟
مقدار داده مورد نیاز در یادگیری انتقالی چقدر است؟
مزایای یادگیری انتقالی
مثالی از یادگیری انتقالی
گزینه NumFilters
ValidationFrequency
MaxEpochs
MiniBatchSize
تولید کد با پارامترهای اولیه
دستور predict
ساختار شبکه های یادگیری عمیق
نوع و تعداد لایه ها به چه پارامتری بستگی دارد؟
تفاوت لایه های دسته بندی و رگرسیون
لایه Softmax
شبکه کوچک یا بزرگ
مفهوم sequential
تعریف لایه های یک شبکه به صورت کدنویسی
لایه imageInputLayer
ساخت شبکه های پیچیده
مفهوم Directed Acyclic Graph (DAG)
دستور layerGraph
دستور addLayers
دستور connectLayers
مثال برنامه نویسی متلب
نمایش ساختار شبکه با plot
آموزش گزینه های آموزش در برنامه نویسی
انواع حل کننده در آموزش sgdm و adam و rmsprop
دستور trainNetwork
اجرای آموزش یک شبکه یادگیری عمیق
گزینه TrainingCycle
توقف فرایند آموزش
مفهوم Epoch
نقطه Final
استخراج وزن و بایاس از شبکه آموزش یافته
اعمال داده های تست
مثال دسته بندی با شبکه CNN
چگونه داده ها را وارد متلب کنیم؟
چگونه ساختار یک شبکه را تعریف کنیم؟
چگونه شبکه را آموزش دهیم؟
چگونه داده های تست را به شبکه اعمال کنیم؟
معرفی imageDataStore
مزایای imds
چگونه همه تصاویر یک فولدر را بدون خواندن همه تصویرها به متلب شناسایی کنیم؟
دستور fullfile
مثال از imageDataStore
استخراج یک تصویر از imds
دستور countEachLabel
دستور readimage
تقسیم داده ها به دو بخش آموزش و تست با دستورات متلب
ماتریس confusion
تشخیص خطاهای شبکه
کانال در لایه های شبکه
آموزش لایه کانولوشن
مفهوم فیلتر در لایه کانولوشن و filterSize
Stride در لایه کانولوشن
مفهوم downsampling
تعداد وزن ها در یک فیلتر
کانولوشن نوع Dilated
DilationFactor
مفهوم Feature Map
فرمول تعداد پارامترهای یک لایه کانولوشن
Zero Padding
فرمول تعداد نرونها
فرمول اندازه خروجی
لایه نرمالسازی دسته ای
مزیت های نرمالسازی در یادگیری عمیق
موقعیت بهینه لایه نرمالسازی
تئوری لایه ReLU
لایه های فعالسازی فعال
لایه leaky ReLU
لایه clipped ReLU
لایه نرمالسازی در طول کانال
آموزش Pooling ماکزیمم
آموزش pooling میانگین
مثال Pooling
وظیفه pooling
لایه Dropout
لایه Fully Connected
دلیل استفاده از Softmax در خروجی دسته بندی
آشنایی با لایه های یادگیری عمیق موجود در متلب 2020
لایه های ورودی
ورودی sequence
مفهوم ROI
لایه کانولوشن 2 بعدی
لایه کانالوشن 3 بعدی
لایه کانولوشن grouped
لایه کانالوشن transposed
لایه fullyconnected
لایه sequence
لایه LSTM و لایه bidirectional LSTM و لایه GRU
مفهوم flatten در یادگیری عمیق
لایه global pooling
لایه 2 بعدی unpooling
لایه های ترکیبی
لایه جمع کننده
لایه concatenation
لایه جمع کننده وزن دار
لایه های شناسایی شی
لایه GAN
لایه دسته بندی پیکسل
مثال عملی شناسایی شی جلوی دوربین وب کم متصل به کامپیوتر
شناسایی عینک آفتابی و خودکار و ماوس با یادگیری عمیق
مثال عملی یادگیری انتقالی Transfer Learning
تغییر کلاسهای خروجی شبکه یادگیری عمیق
مشخص کردن نام برای هر لایه
دستور imageDataAugmenter
دستور augmentedImageDataStore
مثال شناسایی چهره
مثال تشخیص بیماری کرونا
ابزار مدیریت تجربه
Experiment Manager
مقایسه مدلهای یادگیری عمیق
Version control در متلب
بهینه سازی پارامترهای یک مدل یادگیری عمیق
ایجاد experiment
قسمت Experiment Browser
تعیین پارامتر تغییر کننده
تعریف یک Experiment
Hyperparameter Table
Setup Function
تست چند شبکه یادگیری عمیق با هم
مرتب کردن نتایج حاصل از مدیریت تجربه

 

 

لینک سفارش

 

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

 

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *