در یادگیری ماشین و یادگیری ژرف، تنها زمانی به واژگانی مانند دوره ها (Epoch)، اندازه دسته (Batch Size)، تکرار (Iteration) نیاز داریم که، داده ها بسیار بزرگ است که این همیشه در یادگیری ماشین و یادگیری ژرف رخ می دهد و همچنین ما نمی توانیم همه داده ها را همزمان رایانه بفرستیم. در این نوشته مفاهیم Epoch و Batch Size و پیوستگی و پیوند آنها با گرادیان کاهشی آموزش داده می شوند.

مفهوم Epoch و Batch Size

این دو، مفاهیمی در یادگیری ماشین، شبکه عصبی و یادگیری ژرف هستند و برای اینکه آنها را بشناسید، باید با مفهوم Gradient و کاهش گرادیان آشنا باشد. در نوشته گام های ساخت مدل و یادگیری در شبکه عصبی تا اتدازه ای مفهوم گرادیان کاهشی (Descent Gradient) را برای بهینه سازی (Optimization) شبکه عصبی گفتیم. گرادیان کاهشی، الگوریتم بهینه سازی بر پایه تکرار (iterative) است که یافتن بهترین پاسخ، در یادگیری ماشین و یادگیری ژرف برای به کار گرفته می شود.

ایم مفهوم و دیگر مفاهیم هوش مصنوعی مانند نرمال سازی (Normalization) و تابع هزینه (Cost Function)، بسیاردر پیوند با مفاهیم ریاضی مانند حساب دیفرانسیل، جبر خطی و آمار و احتمال هستند و اکنون نمی خواهیم در نوشته های شبکه عصبی و یادگیری ژرف به آن ها بپردازیم. ولی در یک گفته ساده، می توانیم بگوییم که گرادیان کاهشی، برای کاهش خطا (Cost)، به دنبال کاهش شیب منحنی هستیم. در ریاضیات، شیب خط، میزان انحنا یا نرخ انحنای یک خط را مشخص می‌کند.(ویکی پدیا فارسی).

Iterative بودن الگوریتم گرادیان کاهشی نیز بدین معنی است که در چندین گام (تکرار)، پاسخ ها (نتیجه ها) و هزینه هر گام دریافت می شود، تا اینکه بهترین پاسخ برگزیده (انتخاب) شود. نمودار سمت چپ شکل زیر این را نشان می دهد و می بینید با هر تکرار بیشتر، خطا کاهش و از این رو پاسخ ها بهتر و مدل بهینه می شود. (منبع)

کاهش گرادیان، دارای یک پارامتر به نام نرخ یادگیری (Learning Rate) است که با توجه به شکل بالا (سوی چپ)، در آغاز، گام ها (Step) بزرگتر هستند بدین معنی که اندازه (میزان) یادگیری بالاتر است ولی با کوچک شدن گام ها، اندازه یادگیری نیز کوچکتر می شود. در اینجا گام ها همان کاهش گرادیان (شیب) هستند که با نقطه ها و خط مماس بر منحنی نشان داده می شوند. بنابراین با کاهش گرادیان، هزینه نیز کاهش پیدا می کند و از این رو، مدل بهینه می شود. شکل بالا، گرادیان کاهشی و بهینه سازی را برای رگرسیون خطی نشان می دهد. همانگونه که می بینید هر چه در گام ها پیش می رویم، هزینه کاهش پیدا کرده و خط راست درست تری کشیده می شود که پاسخ ها یا همان نقطه های نمودار بیشتری را پوشش می دهد.

الگوریتم رگرسیون خطی

الگوریتم رگرسیون خطی ساده

الگوریتم رگرسیون خطی چند متغیره

کمینه مجموع مربعات در رگرسیون خطی

مفهوم Epoch

یک Epoch (یا دوره) زمانی است که همگی (Entire) مجموعه داده، تنها یک بار بدست (از طریق) شبکه عصبی جلو (Forward) و عقب (Backward) فرستاده شوند. بنابراین می بینید که Epoch فرایندی بزرگ است، بنابراین بهتر است آن را به دسته های (Batch) کوچکتر بشکنیم. ولی به یاد داشته باشید که فرستادن همه داده ها، آن هم یک بار، بَس (کافی) نیست و باید چندین بار، همگی داده ها را به همان شبکه عصبی بفرستیم.

همانگونه که گفتیم، وزن ها در آغاز تصادفی برگزیده (انتخاب) می شوند و همچنین مقدارهای درست برای آنها، بر کارایی شبکه کارساز (تاثیر گذار) است. بنابراین هدف از این تکرارها و فرستادن چندین دوره ای همگی داده در ریختِ دسته های کوچکتر، برای بدست آوردن مقدار درست وزن ها است. مقدار درست Epoch چیست؟ شوربختانه به این پرسش نمی توان پاسخی درست و همه گیر داد. این پاسخ، به مجموعه داده شما و پیوستگی سر راست با چگونگی گوناگونی (تنوع) داده های شما دارد.

مفهوم Batch

Batch (یا دسته) شمارگان (تعداد) نمونه های آموزشی – یادگیری (Training Example) که در یک تک دسته هستند را نشان می دهد. همانگونه که گفتیم، همه مجموعه داده، به زیر دسته های کوچکتر شکسته می شوند و این مشخص می کند که در هر دسته چه شماری نمونه آموزشی باشد و این همان پارامتر batch_size از متد ()fit است. توجه کنید شمارگان دسته ها با شمارگان نمونه ها در هر تک دسته دو چیز ناهمسان (متفاوت) از یکدیگر هستند. بنابراین چون نمی توانیم در زمان یادگیری، همه مجموعه داده را به شکبه عصبی بفرستیم، پس باید آن را به دسته های کوچکتر بشکنیم.

مفهوم Iteration

تکرار یا Iteration شمارگان (تعداد) دسته هایی که برای به پایان و بفرجام رسیدن (تکیمل شدن) یک Epoch نیز است را نشان می دهد. شمارگان (تعداد) دسته ها برابر با شماگان تکرارها برای یک Epoch یا یک دوره است. گمان (فرض) کنید که مجموعه داده ای با 2000 نمونه دارید. ما می توانیم آن را به دسته های 500 نمونه ای بشکنیم، پس از این رو چهار تکرار نیاز است تا یک دوره (Epoch) که شامل همه 2000 نمونه است، پایان یابد.