توضیحات
این فیلم آموزشی قسمت دوم بسته آموزشی جامع یادگیری عمیق می باشد. این قسمت اختصاص به پیاده سازی و برنامه نویسی مدلهای یادگیری عمیق در متلب 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
تست چند شبکه یادگیری عمیق با هم
مرتب کردن نتایج حاصل از مدیریت تجربه
مدت زمان : 269 دقیقه
پیش نمایش
این فیلم آموزشی قسمت دوم از بسته آموزشی یادگیری عمیق میباشد. برای تهیه به بسته آموزشی جامع یادگیری عمیق بر روی تصویر زیر کلیک کنید:
فاطمه –
سلام
من نسخه 2018a متلب رو داشتم و الان خواستم یادگیری عمیق کار کنم و همونطور که توی آموزش گفته بودید متلب 2020 امکاناتش برای یادگیری عمیق بیشتر هست. من متلب b2020 رو نصب کردم اما نمیتونم شبکه هایی مثل googlenet و … رو نصب کنم. همه ی مراحل رو میتونم انجام بدم فقط وقتی install رو میزنم هیچ کاری نمیکنه یا وقتی می خواهم sign in بشم با اینکه یه پنجره بازمی کنه اما باز هم کاری انجام نمیده.
لطفا راهنماییم کنید
ایران متلب –
سلام
از قندشکن استفاده کنید. در برخی اوقات آی پی ایران مسدود شده است.
سهرابی –
باعرض سلام
بنده باتوجه به نیازی که به آموزش یادگیری عمیق داشتم از سایت معروف شما به پیشنهاد دوستان یک آموزش خریداری نمودم اما باتوجه به اینکه نیاز بنده در حوزه یادگیری عمیق مربوط به داد های عددی بود یعنی ی آموزش یا کد میخواستم برای پیش بینی لرزش زمین با یادگیری عمیق اما آموزشی که شما فرستادین مربوط به تصاوری هستش یعنی ورودی ما باید یک تصویر باشد لذا خواهشمند است درصورت داشتن کد یا آاموزشی مربوط به داده های عددی در مطلب بنده رو راهنمایی بفرمایید.
درپایان از همکاری شما بسیار ممنونم
پرویز سهرابی
ایران متلب –
سلام
شما می توانید به آموزش زیر مراجعه کنید
پیش بینی سریهای زمانی با یادگیری عمیق
م –
باسلام وقت بخیر
اینکه گفته شده روش یادگیری عمیق در پزشکی کاربرد داره میخواستم بدونم در علوم محیطی برای مخاطرات طبیعی مثل سیل و امثال ایناها کاربرد داره؟ اگر داره به چه داده هایی غیر از تصویر نیاز هست (مثلا برای همین سیل)؟آیا دوره شما چنین حوزه کاری رو پوشش میده، لطفا راهنمایی کنید که چه دوره ای مناسب هست.ممنون
ایران متلب –
سلام
من در زمینه علوم محیطی تخصص ندارم ولی حدس می زنم برای داده های مخاطرات طبیعی مثل سیل و … اگر به صورت سری زمانی باشند شما باید به آموزش دیگر ما مراجعه کنید که داده های تک بعدی را در یادگیری عمیق آموزش می دهیم.
پیش بینی سری های زمانی با یادگیری عمیق
مجتبی –
با سلام. موضوع کاری بنده تایید هویت گوینده با استفاده از سیگنال گفتار است و می خواهم از شبکه های عصبی عمیق در کارم استفاده کنم. چون از نرم افزار متلب استفاده می کنم حالا میخواستم ببینم آیا این فیلم خواهد توانست به پیاده سازی های نرم افزاری در موضوع کاری بنده کمک کند؟
ایران متلب –
سلام! موضوع کاری شما بسیار جالب به نظر میرسد. استفاده از شبکههای عصبی عمیق (Deep Neural Networks) برای تایید هویت گوینده با استفاده از سیگنال گفتار میتواند بسیار مؤثر باشد. متلب (TensorFlow) یکی از بهترین نرمافزارهای موجود برای این کار است.
متلب به شما این امکان را میدهد که با استفاده از مدلهای عصبی عمیق، سیگنالهای گفتاری را تحلیل کرده و هویت گوینده را تایید کنید. این نرمافزار ابزارهای مختلفی برای تعیین و تنظیم مدلها، تحلیل دادهها و اجرای مدلها در دسترس دارد.