Rectangular Training: رویکردی کارآمد برای بهبود عملکرد شبکه‌های عصبی

آموزش مستطیلی به یک استراتژی گفته می‌شود که در آن تصاویر ورودی قبل از وارد شدن به شبکه عصبی برای آموزش، به نسبت ابعاد ثابت تغییر اندازه یا برش داده می‌شوند. نسبت ابعاد این تصاویر معمولاً با نسبت ابعاد تصاویر اصلی در مجموعه داده متفاوت است.

Rectangular Training
Rectangular Training

آموزش مستطیلی به یک استراتژی گفته می‌شود که در آن تصاویر ورودی قبل از وارد شدن به شبکه عصبی برای آموزش، به نسبت ابعاد ثابت تغییر اندازه یا برش داده می‌شوند. نسبت ابعاد این تصاویر معمولاً با نسبت ابعاد تصاویر اصلی در مجموعه داده متفاوت است.

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

نحوه کار آموزش مستطیلی

تغییر اندازه یا برش  : (Resize or Crop) در آموزش مستطیلی، تصاویر ورودی به نسبت ابعاد ثابت تغییر اندازه یا برش داده می‌شوند. این نسبت ابعاد معمولاً بر اساس ملاحظات عملی یا محدودیت‌های معماری مدل شبکه عصبی انتخاب می‌شود. این فرآیند ممکن است شامل اضافه کردن فضای خالی یا برش دادن تصاویر ورودی برای تناسب با نسبت ابعاد مورد نظر باشد.

اضافه کردن فضای خالی یا برش دادن تصاویر ورودی برای تناسب با نسبت ابعاد مورد نظر
اضافه کردن فضای خالی یا برش دادن تصاویر ورودی برای تناسب با نسبت ابعاد مورد نظر

نرمال‌سازی :(Normalization)پس از تغییر اندازه یا برش، تصاویر ورودی معمولاً نرمال‌سازی می‌شوند تا ثبات در مقادیر پیکسلی بین تصاویر مختلف حفظ شود. این مرحله نرمال‌سازی به بهبود پایداری و همگرایی فرآیند آموزش کمک می‌کند.

آموزش : (Training) تصاویر تغییر اندازه داده شده یا برش داده شده، سپس به شبکه عصبی وارد می‌شوند تا فرآیند آموزش آغاز شود. در طول آموزش، شبکه عصبی یاد می‌گیرد که ویژگی‌ها را استخراج کرده و پیش‌بینی‌هایی بر اساس تصاویر ورودی مستطیلی انجام دهد.

 

پیش‌بینی‌ها بر اساس تصاویر ورودی مستطیلی انجام می شود.
پیش‌بینی‌ها بر اساس تصاویر ورودی مستطیلی انجام می شود.

مزایای آموزش مستطیلی

بهبود تعمیم‌دهی (Improved Generalization): آموزش مدل بر روی تصاویر ورودی با نسبت ابعاد ثابت می‌تواند به بهبود عملکرد تعمیم‌دهی مدل کمک کند، به‌ویژه زمانی که نسبت ابعاد تصاویر اصلی در مجموعه داده به طور گسترده‌ای متفاوت باشد.

سادگی در پیاده‌سازی (Simplified Implementation): آموزش مستطیلی تضمین می‌کند که همه تصاویر ورودی دارای نسبت ابعاد یکسانی باشند، که این کار طراحی و آموزش معماری مدل را ساده‌تر می‌کند.

استفاده بهینه از حافظه (Efficient Memory Usage): تغییر اندازه یا برش تصاویر ورودی به نسبت ابعاد ثابت می‌تواند بهینه‌سازی استفاده از حافظه در طول آموزش کمک کند، به‌خصوص زمانی که با منابع محاسباتی محدود مانند حافظه GPU کار می‌کنید.

پیاده سازی پارامتر Rectangular Training به زبان پایتون

 برای اعمال پارامترهای آموزش مستطیلی در فرآیند آموزش شبکه عصبی، می‌توان از کتابخانه‌هایی مانند PyTorch استفاده کرد. در ادامه نمونه کد به زبان Python ارائه شده است که نحوه تغییر اندازه، برش و نرمال‌سازی تصاویر ورودی را نشان می‌دهد:

اضافه کردن کتابخانه های مورد نیاز برای پیداه سازی پارامتر یادگیری مستطیلی به زبان پایتون
اضافه کردن کتابخانه های مورد نیاز برای پیداه سازی پارامتر یادگیری مستطیلی به زبان پایتون
تعریف کلاس دیتاست سفارشی
تعریف کلاس دیتاست سفارشی
تعریف پارامترهای تغییر اندازه و نرمال سازی
تعریف پارامترهای تغییر اندازه و نرمال سازی
تعریف یک مدل شبکه عصبی
تعریف یک مدل شبکه عصبی
ادامه تعریف مدل شبکه عصبی
ادامه تعریف مدل شبکه عصبی

این کد شامل موارد زیر است:

·   تعریف کلاس دیتاست سفارشی که تصاویر را از دایرکتوری بارگذاری می‌کند.

·  تعریف پارامترهای تغییر اندازه و نرمال‌سازی با استفاده از توابع موجود در کتابخانه "torchvision.transforms"

·  ایجاد دیتاست و DataLoader برای آماده‌سازی داده‌ها برای آموزش.

·  تعریف یک مدل ساده شبکه عصبی با استفاده از  PyTorch   

· حلقه برای آموزش که شامل فرآیند جلو و عقب‌روی(forward و backward) و به‌روزرسانی وزن‌های مدل است.

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

نتیجه‌گیری

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


پی نوشت:

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

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

بینا اکسپرتز

مرکز داده‌ها (ویترین)

مرکز داده‌ها

با کاوش در مجموعه‌ای گسترده از داده‌ها، پروژه‌ها و تحقیقات خود را ارتقاء دهید.

پلتفرم بینایی ماشین بینااکسپرتز

ورود به برنامه ثبت نام در برنامه