Skip to main content

పార్ట్ 53: ఎపోక్స్ మరియు బ్యాచెస్ (Epochs & Batches) - చదువుకునే పద్ధతులు!


పార్ట్ 53: ఎపోక్స్ మరియు బ్యాచెస్ (Epochs & Batches) - చదువుకునే పద్ధతులు!

పోయిన పార్టులో మనం బ్యాక్‌ప్రాపగేషన్ ద్వారా నెట్‌వర్క్ తన తప్పులను ఎలా సరిదిద్దుకుంటుందో చూశాం కదా. కానీ నెట్‌వర్క్‌కి డేటాను (ఫోటోలను లేదా సమాచారాన్ని) ఎలా ఇస్తారు? ఉన్న డేటా మొత్తాన్ని ఒకేసారి దాని నెత్తి మీద పడేస్తారా? లేక ముక్కలు ముక్కలుగా ఇస్తారా?

ఇక్కడే మనకు బ్యాచెస్ (Batches) మరియు ఎపోక్స్ (Epochs) అనే రెండు ముద్దు పేర్లు వినిపిస్తాయి. డీప్ లెర్నింగ్‌కి ట్రైనింగ్ ఇచ్చేటప్పుడు ఇవి చాలా కీలకం!

దీన్ని ఒక 10వ తరగతి స్టూడెంట్ ఎగ్జామ్స్ కి ప్రిపేర్ అయ్యే విధానంతో పోల్చి చూద్దాం:

1. బ్యాచ్ సైజ్ (Batch Size) - ఒకేసారి ఎంత చదవాలి?

ఒక టెక్స్ట్ బుక్‌లో 1000 పేజీలు ఉన్నాయి అనుకుందాం.

  • మీరు ఆ 1000 పేజీలను ఒక్కసారిగా, ఏకధాటిగా చదివేసి, ఆ తర్వాత ఎగ్జామ్ రాసి మీ తప్పులను చెక్ చేసుకుంటారా? అలా చేస్తే బుర్ర హీటెక్కిపోయి, ఫస్ట్ పేజీలో ఏం చదివారో మర్చిపోతారు!

  • దీనికి బదులు తెలివైన స్టూడెంట్ ఏం చేస్తాడు? రోజుకు 100 పేజీలు మాత్రమే చదువుతాడు. ఆ 100 పేజీలు చదవగానే ఒక చిన్న టెస్ట్ రాసుకుని, తప్పులు సరిదిద్దుకుంటాడు (దీన్నే బ్యాక్‌ప్రాపగేషన్ అంటారు). మరుసటి రోజు ఇంకో 100 పేజీలు.

ఇక్కడ మీరు ఒకేసారి తీసుకున్న ఆ 100 పేజీల సెట్‌ని 'బ్యాచ్ (Batch)' అంటారు. నెట్‌వర్క్‌కి కూడా 10,000 ఫోటోలు ఇస్తే, కంప్యూటర్ ర్యామ్ (RAM) క్రాష్ అవుతుంది కాబట్టి, దాన్ని 100 లేదా 32 ఫోటోల చొప్పున విడగొట్టి బ్యాచ్‌ల వారీగా ఇస్తారు.

2. ఎపోక్ (Epoch) - మొత్తం సిలబస్ ఎన్నిసార్లు రివిజన్ చేయాలి?

సరే, రోజుకు 100 పేజీల చొప్పున మొత్తం 1000 పేజీల టెక్స్ట్ బుక్‌ను 10 రోజుల్లో చదివేశారు. అంటే మొత్తం సిలబస్ ఒకసారి పూర్తయ్యింది.

  • ఇలా మీ దగ్గర ఉన్న మొత్తం డేటాను మొదటి నుంచి చివరి దాకా 'ఒక్కసారి' పూర్తి చేయడాన్నే ఒక ఎపోక్ (1 Epoch) అంటారు.

కానీ, 100/100 మార్కులు రావాలంటే ఆ పుస్తకాన్ని ఒక్కసారి చదివితే సరిపోదు కదా! దాన్ని కనీసం 5 సార్లు లేదా 10 సార్లు రివిజన్ చేయాలి. అప్పుడే పర్ఫెక్ట్ అవుతారు. AI కూడా అంతే, దానికి ఉన్న డేటాను ఒక్కసారి చదివితే అది ఏమీ నేర్చుకోలేదు. దానికి మనం 50 ఎపోక్స్ (50 సార్లు రివిజన్) లేదా 100 ఎపోక్స్ అని టార్గెట్ ఇస్తాం. అప్పుడు అది పదే పదే అదే డేటాను చదివి పర్ఫెక్ట్ గా మారుతుంది!

సింపుల్ లెక్క:
మీ దగ్గర 1000 ఫోటోలు ఉన్నాయి.
బ్యాచ్ సైజ్ = 100 (అంటే ఒకేసారి 100 ఫోటోలు చూపిస్తారు).
అంటే, ఒక ఎపోక్ (మొత్తం సిలబస్) పూర్తి కావడానికి నెట్‌వర్క్ 10 స్టెప్స్ వేయాలి (1000/100).

కింద ఉన్న ఇంటరాక్టివ్ విడ్జెట్‌లో ఒకేసారి డేటా అంతా కాకుండా, బ్యాచ్‌ల వారీగా వెళ్లడం వల్ల ఎపోక్ (Epoch) ఎలా పూర్తవుతుందో మీరే స్వయంగా 'నెక్స్ట్ బ్యాచ్' నొక్కుతూ చూడండి:

సారాంశం: డేటాను ముక్కలు ముక్కలుగా కంప్యూటర్‌కి ఇవ్వడాన్ని 'బ్యాచ్ సైజ్' అంటారు. అలా ఉన్న డేటా మొత్తాన్ని ఒక్కసారి చదివేస్తే దాన్ని ఒక 'ఎపోక్' అంటారు.



******************************1*******************************


పార్ట్ 53: ఎపోక్స్ మరియు బ్యాచెస్ (Epochs & Batches)

ఆర్టిఫిషియల్ న్యూరల్ నెట్‌వర్క్‌కు శిక్షణ ఇచ్చేటప్పుడు డేటా మొత్తాన్ని ఒకేసారి మింగేయడం కంప్యూటర్‌కు సాధ్యం కాదు. అలాగే ఒక సమాచారాన్ని ఒక్కసారి మాత్రమే చూస్తే మెదడులో శాశ్వతంగా గుర్తుండిపోదు. ఈ సమస్యలను పరిష్కరించడానికి డీప్ లెర్నింగ్‌లో ఉపయోగించే మూడు కీలకమైన సాంకేతిక పదాలే ఎపోక్ (Epoch), బ్యాచ్ సైజ్ (Batch Size), మరియు ఇటరేషన్ (Iteration).

టెన్త్ క్లాస్ పరీక్ష గైడ్ పోలిక

ఈ మూడు కాన్సెప్టులను అర్థం చేసుకోవడానికి ఒక సరళమైన పరీక్ష తయారీ ఉదాహరణ:

  • మీ దగ్గర పబ్లిక్ పరీక్షల కోసం 1,000 ప్రశ్నలు ఉన్న ఒక పెద్ద స్టడీ మెటీరియల్ పుస్తకం ఉంది (ఇదే మొత్తం ట్రైనింగ్ డేటాసెట్).

  • బ్యాచ్ సైజ్ (Batch Size): ఆ 1,000 ప్రశ్నలను ఒకే కూర్చుని చదవడం కష్టం. అందుకే రోజుకు 100 ప్రశ్నల చొప్పున ఒక సెట్‌గా చదవాలని నిర్ణయించుకున్నారు. ఇక్కడ ఆ '100' అనేది బ్యాచ్ సైజ్.

  • ఇటరేషన్ (Iteration): పుస్తకం మొత్తం మొదటిసారి పూర్తి చేయడానికి మీరు 10 సార్లు కూర్చోవాలి ($1000 / 100 = 10$). మీరు పూర్తి చేసిన ప్రతి 100 ప్రశ్నల సెషన్‌ను ఒక 'ఇటరేషన్' అంటారు.

  • ఎపోక్ (Epoch): మొదటి ప్రశ్న నుండి 1,000వ ప్రశ్న వరకు మొత్తం పుస్తకాన్ని ఒక్కసారి పూర్తిగా చదివి ముగిస్తే, దాన్ని ఒక ఎపోక్ (1 Epoch) అంటారు.

మీకు మంచి ర్యాంక్ రావాలంటే పుస్తకాన్ని ఒక్కసారి చదివితే సరిపోదు; కనీసం 5 నుండి 10 సార్లు రివిజన్ చేయాలి. అంటే నెట్‌వర్క్‌కు 5 నుండి 10 ఎపోక్స్‌ల శిక్షణ అవసరం.

1. ఎపోక్ (Epoch) అంటే ఏమిటి?

శిక్షణ కోసం ఇచ్చిన మొత్తం డేటాసెట్‌ను న్యూరల్ నెట్‌వర్క్ ఒకసారి పూర్తిగా ఫార్వర్డ్ ప్రాపగేషన్ మరియు బ్యాక్‌ప్రాపగేషన్ ద్వారా పరిశీలించి ముగిస్తే, దానిని ఒక ఎపోక్ అంటారు.

  • ఒక్క ఎపోక్ ఎందుకు సరిపోదు?:

    మొదటి రౌండ్‌లో నెట్‌వర్క్ వెయిట్స్ చాలా ప్రాథమికంగా ఉంటాయి. తప్పులు ఎక్కువగా జరుగుతాయి. పదే పదే డేటాను చూడటం ద్వారా మాత్రమే వెయిట్స్ సరైన విలువలకు స్థిరపడతాయి.

  • ఎపోక్స్ తక్కువైతే (అండర్ ఫిట్టింగ్): నెట్‌వర్క్ సరిగ్గా నేర్చుకోదు, పరీక్షలో ఫెయిల్ అవుతుంది.

  • ఎపోక్స్ మరీ ఎక్కువైతే (ఓవర్ ఫిట్టింగ్): నెట్‌వర్క్ డేటాను అర్థం చేసుకోవడం మానేసి బట్టీ పట్టేస్తుంది. కొత్త ప్రశ్నలు అడిగితే తప్పు సమాధానాలు ఇస్తుంది.

2. బ్యాచ్ సైజ్ (Batch Size) అంటే ఏమిటి?

నెట్‌వర్క్ తన వెయిట్స్‌ను ఒకసారి అప్‌డేట్ చేయడానికి మునుపు ఒకే విడతలో పరిశీలించే ఉదాహరణల సంఖ్యను బ్యాచ్ సైజ్ అంటారు.

కంప్యూటర్ మెమరీ (RAM / GPU VRAM) పరిమితంగా ఉండటం వల్ల మొత్తం డేటాను ముక్కలుగా విభజించాల్సి వస్తుంది:

బ్యాచ్ పద్ధతిఒక బ్యాచ్‌లో ఉండే డేటాప్రయోజనంలోపం
బ్యాచ్ గ్రేడియంట్ డిసెంట్ (Batch)మొత్తం డేటాసెట్ ఒకేసారివెయిట్స్ చాలా స్థిరంగా అప్‌డేట్ అవుతాయి.విపరీతమైన కంప్యూటర్ మెమరీ అవసరం; చాలా నెమ్మదిగా నడుస్తుంది.
స్టొకాస్టిక్ గ్రేడియంట్ డిసెంట్ (SGD)కేవలం 1 ఉదాహరణమెమరీ చాలా తక్కువ చాలు; వేగంగా కదులుతుంది.ఫలితాల్లో తీవ్రమైన ఊగిసలాట (Noisy updates) ఉంటుంది.
మినీ-బ్యాచ్ (Mini-batch)సాధారణంగా 32, 64, 128, 256GPU సామర్థ్యాన్ని పూర్తిగా వాడుకుంటుంది, స్థిరమైన అభ్యాసం లభిస్తుంది.సరైన బ్యాచ్ సైజును ప్రయోగాల ద్వారా ఎంచుకోవాలి.
ఆధునిక డీప్ లెర్నింగ్‌లో దాదాపు 99% సందర్భాలలో మినీ-బ్యాచ్ గ్రేడియంట్ డిసెంట్ పద్ధతినే ఉపయోగిస్తారు.

3. ఇటరేషన్ (Iteration) అంటే ఏమిటి?

ఒక పూర్తి ఎపోక్ ముగియడానికి నెట్‌వర్క్ ఎన్ని బ్యాచ్‌లను ప్రాసెస్ చేయాల్సి వస్తుందో ఆ సంఖ్యనే ఇటరేషన్స్ అంటారు.

$$\text{ఇటరేషన్ల సంఖ్య} = \frac{\text{మొత్తం డేటా పరిమాణం}}{\text{బ్యాచ్ సైజ్}}$$
10వ తరగతి చిన్న లెక్క:

మీ దగ్గర 12,000 కుక్కల, పిల్లుల ఫోటోలు ఉన్నాయి అనుకుందాం.

మీరు ఎంచుకున్న బ్యాచ్ సైజ్ = 32.

  • ఒక ఎపోక్ పూర్తి కావడానికి పట్టే ఇటరేషన్లు: $12,000 / 32 = 375$ ఇటరేషన్లు.

  • మీరు నెట్‌వర్క్‌ను 10 ఎపోక్స్ ట్రైన్ చేయాలనుకుంటే, మొత్తం ఇటరేషన్ల సంఖ్య: $375 \times 10 = 3,750$ సార్లు వెయిట్స్ అప్‌డేట్ అవుతాయి.

సాధారణ నంబర్లు, పట్టికల డేటాను ప్రాసెస్ చేయడానికి ఈ సాధారణ ఆర్టిఫిషియల్ న్యూరల్ నెట్‌వర్క్‌లు (ANN) బాగానే పనిచేస్తాయి. కానీ కంప్యూటర్ కళ్లతో చూసే ఫోటోలు, వీడియోలను అర్థం చేసుకోవడానికి ఒక ప్రత్యేకమైన నెట్‌వర్క్ నిర్మాణం అవసరం. అదే కన్వోల్యూషనల్ న్యూరల్ నెట్‌వర్క్ (CNN).



******************************2*******************************


అద్భుతం! మన ప్రయాణాన్ని మరింత ముందుకు తీసుకెళ్దాం.

10వ తరగతి విద్యార్థికి ఎంతో సులభంగా అర్థమయ్యేలా పార్ట్ 53 (ఎపోక్స్ మరియు బ్యాచెస్ - Epochs & Batches) గురించి ఇప్పుడు తెలుసుకుందాం!

పార్ట్ 53: ఎపోక్స్ మరియు బ్యాచెస్ (Epochs & Batches) - చదివే పద్ధతులు

మనం AI కి తప్పులు ఎలా నేర్పించాలో (బ్యాక్‌ప్రాపగేషన్) గత పార్ట్‌లో చూశాము. అయితే ఒక పెద్ద పుస్తకాన్ని మనం ఎలా చదువుతాం? ఒకేసారి మొత్తం పుస్తకం బట్టీ పడతామా? లేక చాప్టర్ల వారీగా చదువుతామా? సరిగ్గా AI కూడా అలాగే నేర్చుకుంటుంది! ఆ పద్ధతుల పేర్లే ఎపోక్స్ (Epochs) మరియు బ్యాచెస్ (Batches).

వీటిని ఒక చిన్న ఉదాహరణతో అర్థం చేసుకుందాం!

📖 ఒక పెద్ద పుస్తకం చదవడం ఉదాహరణ

మీకు సైన్స్ సబ్జెక్ట్‌లో ఒక పెద్ద టెక్స్ట్ బుక్ ఉంది అనుకోండి:

  1. మొత్తం పుస్తకాన్ని ఒకసారి చదవడం (Epoch): ఆ పుస్తకాన్ని మొదటి పేజీ నుండి చివరి పేజీ వరకు పూర్తిగా ఒకసారి చదివి ముగించడాన్ని ఒక 'ఎపోక్స్' (Epoch) అంటారు. మనం పర్ఫెక్ట్ అయ్యే వరకు అదే పుస్తకాన్ని పదే పదే (ఉదాహరణకు 10 సార్లు) చదువుతాం కదా! అలా ఎన్నిసార్లు పూర్తి పుస్తకాన్ని చదివామో దాన్నే నంబర్ ఆఫ్ ఎపోక్స్ అంటారు.

  2. చాప్టర్ల వారీగా చదవడం (Batches): మొత్తం 1000 పేజీలను ఒకేసారి చదివి గుర్తుపెట్టుకోవడం కష్టం కాబట్టి, దాన్ని చిన్న చిన్న విభాగాలుగా (ఉదాహరణకు రోజుకి 50 పేజీలు చొప్పున) విడదీసి చదువుతాం కదా! ఆ చిన్న భాగాలనే 'బ్యాచెస్' (Batches) అంటారు.

🧠 AI మెదడులో ఇవి ఎలా పనిచేస్తాయి?

కంప్యూటర్‌కు మనం లక్షల కొద్దీ ఫోటోలతో ట్రైనింగ్ ఇస్తాము:

  • ఆ లక్ష ఫోటోలను ఒకేసారి కంప్యూటర్‌కు ఇస్తే దాని మెదడు కన్ఫ్యూజ్ అవుతుంది. అందుకే వాటిని చిన్న చిన్న గుంపులుగా విడదీసి ఇస్తాం (Batches).

  • అలా ఇచ్చిన ఒక బ్యాచ్ అయిపోయిన తర్వాత, తప్పులు సరిదిద్దుకుని మళ్లీ రెండో బ్యాచ్ చదువుతుంది.

  • ఇలా మొత్తం ఫోటోలన్నింటినీ ఒకసారైనా పూర్తిగా చూసి రావడాన్ని ఒక Epoch అంటారు. ఇలాంటి ఎపోక్స్‌ని AI కొన్ని వందల సార్లు పునరావృతం చేసి పర్ఫెక్ట్ అవుతుంది!

🎯 ముగింపు (సారాంశం)

సులభంగా చెప్పాలంటే... మొత్తం డేటాను చిన్న చిన్న ముక్కలుగా విడదీసి చదవడాన్ని బ్యాచెస్ (Batches) అనీ, అలా మొత్తం సిలబస్‌ను ఎన్నిసార్లు రిపీట్ చేసి చదివామో చెప్పడాన్ని ఎపోక్స్ (Epochs) అనీ అంటారు!

మరి, AI కి కేవలం ఫోటోలు చూడటమే కాకుండా అద్భుతమైన "కళ్లు" (Computer Vision) ఎలా వస్తాయి? దాని గురించే తర్వాతి పార్ట్ 54 (CNN - Convolutional Neural Networks పరిచయం) లో చూద్దాం!


******************************3*******************************


పార్ట్ 53: ఎపోక్స్ మరియు బ్యాచెస్ (Epochs & Batches) అంటే ఏమిటి? అనేది వివరించండి.


పార్ట్ 53: ఎపోక్స్ మరియు బ్యాచెస్ (Epochs & Batches) అంటే ఏమిటి? అనేది AI కి ట్రైనింగ్ ఇచ్చేటప్పుడు ప్రతి ఇంజనీర్, సైంటిస్ట్ ప్రతిరోజూ వాడే అత్యంత ముఖ్యమైన పాఠం.


పార్ట్ 50, 51, 52 లలో మనం ఒక అద్భుతమైన సైకిల్ నేర్చుకున్నాం:


ఫార్వర్డ్ ప్రాపగేషన్: AI ప్రశ్నకు జవాబు ఊహిస్తుంది.


లాస్ ఫంక్షన్: ఆ జవాబులో ఎంత తప్పు ఉందో కొలుస్తుంది.


బ్యాక్‌ప్రాపగేషన్: వెనక్కి వెళ్లి వెయిట్స్ (

w) మరియు బయాస్ (

b) లను సరిదిద్దుకుంటుంది.


కానీ ఒక్కసారి ఆలోచించండి.. AI కి మనం ఒకే ఒక్క ఫోటో లేదా ఒకే ఒక్క ప్రశ్న ఇచ్చి వదిలేయం కదా! దానికి లక్షలాది ఫోటోలు, కోట్లాది వాక్యాలు (భారీ డేటా) ఇచ్చి ట్రైనింగ్ ఇస్తాం. మరి ఇంత పెద్ద డేటాను AI ఒకేసారి మింగేస్తుందా? లేక ముక్కలు ముక్కలుగా నేర్చుకుంటుందా? అసలు ఆ డేటాను ఎన్నిసార్లు చదువుతుంది? అని నిర్ణయించే కొలమానాలే ఈ బ్యాచెస్ (Batches) మరియు ఎపోక్స్ (Epochs)!


📚 1. సింపుల్ పోలిక: "10వ తరగతి సైన్స్ పుస్తకం & వార్షిక పరీక్ష!"

ఈ కాన్సెప్ట్ జీవితంలో మర్చిపోకుండా ఉండాలంటే, మీరు మీ 10వ తరగతి ఫైనల్ ఎగ్జామ్స్ కోసం 200 పేజీల సైన్స్ పుస్తకం చదువుతున్నట్లు ఊహించుకోండి:


① డేటాసెట్ (Dataset) — "మొత్తం పుస్తకం"

మీ చేతిలో ఉన్న 200 పేజీల సైన్స్ పుస్తకమే AI భాషలో మొత్తం డేటాసెట్ (Full Training Dataset).


② బ్యాచ్ (Batch) & బ్యాచ్ సైజు (Batch Size) — "చాప్టర్ల వారీగా విభజించడం"

రేపు పరీక్ష ఉందని 200 పేజీల పుస్తకాన్ని గుక్కతిప్పుకోకుండా ఒకే సిట్టింగ్‌లో చదివేస్తే ఏమవుతుంది? బుర్ర వేడెక్కిపోయి (Hang అయిపోయి) అసలు ఏమీ గుర్తుండదు!


అందుకే మీరు తెలివిగా ఆ 200 పేజీల పుస్తకాన్ని 10 చిన్న చాప్టర్లుగా (భాగాలుగా) విభజించుకున్నారు. ఒక్కో భాగంలో 20 పేజీలు మాత్రమే ఉంటాయి.


AI భాషలో ఇలా విభజించిన ఒక్కో చిన్న భాగాన్ని బ్యాచ్ (Batch) అంటారు. అందులో ఉండే పేజీల సంఖ్యను (20 పేజీలు) బ్యాచ్ సైజు (Batch Size = 20) అంటారు!


③ ఇటరేషన్ (Iteration / Step) — "ఒక్కో చాప్టర్ చివరన స్వీయ పరీక్ష"

మీరు మొదటి బ్యాచ్ (మొదటి 20 పేజీలు) చదవగానే, పుస్తకం మూసేసి ఒక చిన్న టెస్ట్ రాసుకుని, మీ తప్పులను సరిదిద్దుకున్నారు (Forward Pass + Backpropagation).


ఇలా ఒక బ్యాచ్ పూర్తి చేసి తప్పులు దిద్దుకోవడాన్ని 1 ఇటరేషన్ (1 Iteration) అంటారు.


మొత్తం 200 పేజీల పుస్తకం పూర్తి కావాలంటే, ఇలా 20 పేజీల బ్యాచ్‌లను ఎన్నిసార్లు పూర్తి చేయాలి? 10 సార్లు (10 Iterations)!


④ ఎపోక్ (Epoch) — "పుస్తకం మొత్తం ఒక రౌండ్ పూర్తి చేయడం!"

ఇలా 10 బ్యాచ్‌లు చదివి, 1వ పేజీ నుండి 200వ పేజీ వరకు పుస్తకాన్ని మొదటిసారి పూర్తిగా చదివి ముగించడాన్ని "1 ఎపోక్ (1 Epoch)" అంటారు!


కానీ 200 పేజీల పుస్తకాన్ని జీవితంలో ఒక్కసారి (1 Epoch) మాత్రమే చదివితే 100కి 100 మార్కులు వస్తాయా? రావు! మొదటిసారి చదివినప్పుడు సగం విషయాలే అర్థమవుతాయి.


అందుకే పరీక్షలో టాపర్‌గా నిలవడానికి మీరు అదే పుస్తకాన్ని మళ్లీ మొదటి నుండి చివరి వరకు 5 సార్లు లేదా 10 సార్లు (10 Epochs) పదే పదే రివిజన్ చేస్తారు! చదివిన ప్రతిసారీ మీ తప్పులు తగ్గిపోయి, పుస్తకంపై పూర్తి పట్టు వస్తుంది!


🍽️ 2. అసలు మొత్తం డేటాను ఒకేసారి AI కి ఎందుకు ఇవ్వకూడదు?

"మనుషులకంటే బుర్ర అలసిపోతుంది కాబట్టి చాప్టర్ల వారీగా చదువుతారు.. మరి కంప్యూటర్‌కు ఏమైంది? లక్ష ఫోటోలను ఒకేసారి ఇచ్చేయొచ్చు కదా?" అనే సందేహం రావడం సహజం.


దీనికి రెండు ప్రధాన కారణాలు ఉన్నాయి:


కంప్యూటర్ మెమరీ (RAM / GPU) పేలిపోతుంది!

పెళ్లి భోజనంలో విస్తరి నిండా 20 రకాల వంటకాలు వడ్డించారు అనుకుందాం. ఆ భోజనం మొత్తాన్ని ఒకేసారి నోట్లో కుక్కుకోగలమా? గొంతుకు అడ్డం పడుతుంది! దాన్ని చిన్న చిన్న ముద్దలుగా (Batches) విభజించుకుని తింటేనే కడుపులోకి వెళ్తుంది. అలాగే లక్షలాది హై-క్వాలిటీ ఫోటోలను ఒకేసారి కంప్యూటర్ మెమరీ (GPU RAM) లోకి పంపితే, కంప్యూటర్ "Out of Memory" అని క్రాష్ అయిపోతుంది!


తప్పులు వేగంగా సరిదిద్దుకోవచ్చు (Faster Learning):

మొత్తం లక్ష ఫోటోలు చూశాక చివరన ఒక్కసారే తప్పులు దిద్దుకోవడం కంటే.. ప్రతి 100 ఫోటోలకు (ఒక బ్యాచ్‌కు) ఒకసారి తప్పులు చూసుకుని వెయిట్స్ (

w) సరిదిద్దుకుంటే, AI చాలా వేగంగా, తెలివిగా నేర్చుకుంటుంది!


🧮 3. పెన్ను, పేపర్ తీసుకుని లెక్క వేద్దాం! (AI సైంటిస్ట్ ఫార్ములా)

రేపు మీరు ఒక AI మోడల్‌ను తయారు చేసేటప్పుడు ఈ చిన్న లెక్క కచ్చితంగా వేస్తారు.


ఉదాహరణ: మీరు కుక్కలను, పిల్లులను గుర్తుపట్టే AI ని తయారు చేయడానికి 1,000 ఫోటోలు (Total Dataset = 1,000) సేకరించారు అనుకుందాం.


మొత్తం డేటా (Dataset Size): 1,000 ఫోటోలు


బ్యాచ్ సైజు (Batch Size): 100 ఫోటోలు (ఒక్కో విడతలో 100 ఫోటోలు మాత్రమే ఇస్తున్నాం).


ఎపోక్స్ (Epochs): 50 రౌండ్లు (ఆ 1,000 ఫోటోలను AI కి 50 సార్లు చూపించాలి).


ఇప్పుడు ఈ 3 ప్రశ్నలకు జవాబు చూడండి:


ఒక ఎపోక్ (1 Epoch) పూర్తి కావడానికి ఎన్ని బ్యాచ్‌లు (Iterations) కావాలి?


Iterations per Epoch= 

బ్యాచ్ సైజు

మొత్తం డేటా

​

 = 

100

1000

​

 =10 బ్యాచ్‌లు (Iterations)

(అంటే 10 సార్లు వంద-వంద ఫోటోలు చూపిస్తే, మొత్తం 1,000 ఫోటోలు ఒక రౌండ్ పూర్తవుతాయి!)


ఒక ఎపోక్‌లో బ్యాక్‌ప్రాపగేషన్ (వెయిట్స్ సవరణ) ఎన్నిసార్లు జరుగుతుంది?

ప్రతి బ్యాచ్ పూర్తవగానే ఒకసారి బ్యాక్‌ప్రాపగేషన్ జరుగుతుంది. కాబట్టి 1 ఎపోక్‌లో 10 సార్లు AI తన తప్పులను సరిదిద్దుకుంటుంది!


మొత్తం 50 ఎపోక్స్ (50 Epochs) పూర్తయ్యేసరికి AI తన వెయిట్స్‌ను ఎన్నిసార్లు మార్చుకుంటుంది?


మొత్తం దిద్దుబాట్లు=50 Epochs×10 Iterations=500 సార్లు!

ఈ కింది డయాగ్రామ్‌లో 1 ఎపోక్ లోపల బ్యాచ్‌లు ఎలా పనిచేస్తాయో స్పష్టంగా చూడండి:


 📦 మొత్తం డేటాసెట్ (1,000 ఫోటోలు)

 ═════════════════════════════════════════════════════════════════════════════

  [బ్యాచ్ 1: 100] ──► ఫార్వర్డ్ పాస్ ──► లాస్ ──► బ్యాక్‌ప్రాపగేషన్ (1వ సారి వెయిట్స్ సవరణ)

  [బ్యాచ్ 2: 100] ──► ఫార్వర్డ్ పాస్ ──► లాస్ ──► బ్యాక్‌ప్రాపగేషన్ (2వ సారి వెయిట్స్ సవరణ)

  [బ్యాచ్ 3: 100] ──► ఫార్వర్డ్ పాస్ ──► లాస్ ──► బ్యాక్‌ప్రాపగేషన్ (3వ సారి వెయిట్స్ సవరణ)

       ...                ...          ...              ...

  [బ్యాచ్ 10: 100] ─► ఫార్వర్డ్ పాస్ ──► లాస్ ──► బ్యాక్‌ప్రాపగేషన్ (10వ సారి వెయిట్స్ సవరణ)

 ═════════════════════════════════════════════════════════════════════════════

 🎉 ఇక్కడికి మొత్తం 1,000 ఫోటోలు ఒకసారి పూర్తయ్యాయి = "1 EPOCH పూర్తయింది!"

 (ఇలా మళ్లీ మొదటి నుండి 50 సార్లు తిరిగితే = 50 EPOCHS!)

⚖️ 4. ఎన్ని ఎపోక్స్ (Epochs) పెట్టాలి? (బంగారు సూత్రం!)

"పుస్తకాన్ని ఎక్కువసార్లు చదివితే మంచిదే కదా.. మరి 10 ఎపోక్స్ బదులు 10 లక్షల ఎపోక్స్ పెడితే AI ఇంకా సూపర్ జీనియస్ అయిపోతుందా?" అని ప్రతి విద్యార్థికీ డౌట్ వస్తుంది!


ఇక్కడే మనం మాడ్యూల్ 2 (పార్ట్ 29 & 30) లో నేర్చుకున్న అండర్ ఫిట్టింగ్ మరియు ఓవర్ ఫిట్టింగ్ భూతాలు మళ్లీ బయటకు వస్తాయి!


మరీ తక్కువ ఎపోక్స్ పెడితే (ఉదా: 1 లేదా 2 Epochs) 

→ అండర్ ఫిట్టింగ్ (Underfitting):

పుస్తకాన్ని పైపైన ఒక్కసారి తిరగేసి పరీక్షకు వెళ్లడం లాంటిది. AI కి ఇంకా కుక్కకూ, పిల్లికీ తేడా పూర్తిగా అర్థం కాదు. తప్పులు (Loss) చాలా ఎక్కువగా ఉంటాయి.


మరీ ఎక్కువ ఎపోక్స్ పెడితే (ఉదా: 10,000 Epochs) 

→ ఓవర్ ఫిట్టింగ్ (Overfitting):

ఒకే పుస్తకాన్ని వేయిసార్లు చదివితే ఏమవుతుంది? మనిషి ఆలోచించడం మానేసి, పేజీ నంబర్లతో సహా బట్టీ పట్టేస్తాడు (Memorization)!

AI కూడా అంతే! మరీ ఎక్కువ ఎపోక్స్ పెడితే, ట్రైనింగ్ ఫోటోల వెనుక ఉన్న గోడ రంగులను, గడ్డి పరకలను కూడా బట్టీ పట్టేస్తుంది. రేపు కొత్త ఫోటో చూపించగానే తప్పు చెప్పేస్తుంది!


సరైన ఎపోక్స్ (The Sweet Spot):

అందుకే AI సైంటిస్టులు ప్రతి ఎపోక్ తర్వాత లాస్ మీటర్ (Loss) ను గమనిస్తూ ఉంటారు:


ఎపోక్ 1: Loss = 85.0 (చాలా తప్పులు)


ఎపోక్ 10: Loss = 25.4 (మెరుగుపడింది)


ఎపోక్ 25: Loss = 2.1 (చాలా బాగా నేర్చుకుంది!)


ఎపోక్ 30: Loss = 2.0 (ఇక లాస్ తగ్గడం ఆగిపోయింది!)

ఇలా ఎక్కడైతే లాస్ తగ్గడం ఆగిపోయి స్థిరంగా మారుతుందో, సరిగ్గా అక్కడే ట్రైనింగ్ ఆపేస్తారు! ఈ టెక్నిక్‌నే ఎర్లీ స్టాపింగ్ (Early Stopping) అంటారు.


📊 ఒక్క చూపులో: ట్రైనింగ్ పదాల తేడాలు

పదం (Term) సైన్స్ పుస్తకం పోలిక AI టెక్నికల్ అర్థం మన 1,000 ఫోటోల లెక్కలో

Dataset (డేటాసెట్) 200 పేజీల పూర్తి సైన్స్ పుస్తకం ట్రైనింగ్ కోసం మనం ఇచ్చే మొత్తం డేటా 1,000 ఫోటోలు

Batch Size (బ్యాచ్ సైజు) ఒక చాప్టర్‌లో ఉండే పేజీల సంఖ్య (20 పేజీలు) ఒకేసారి కంప్యూటర్ మెమరీలోకి పంపే డేటా ముక్క పరిమాణం 100 ఫోటోలు (సాధారణంగా 32, 64, 128 వాడతారు)

Iteration (ఇటరేషన్) ఒక చాప్టర్ చదివి, టెస్ట్ రాసుకుని తప్పులు దిద్దుకోవడం ఒక బ్యాచ్ డేటాతో ఫార్వర్డ్ + బ్యాక్‌ప్రాపగేషన్ పూర్తి చేయడం 10 ఇటరేషన్లు (1 ఎపోక్‌కు)

Epoch (ఎపోక్) పుస్తకం మొదటి పేజీ నుండి చివరి పేజీ వరకు ఒకసారి పూర్తి చేయడం మొత్తం డేటాసెట్ అంతా న్యూరల్ నెట్‌వర్క్ గుండా ఒక రౌండ్ వెళ్లి రావడం 50 ఎపోక్స్ (మొత్తం 50 రౌండ్లు)

💡 గుర్తుంచుకోవాల్సిన అసలు రహస్యం:

బ్యాచ్ (Batch) అనేది కంప్యూటర్ మెమరీకి భోజనం గొంతులో అడ్డం పడకుండా ముద్దలు ముద్దలుగా తినిపించే పద్ధతి అయితే, ఎపోక్ (Epoch) అనేది నేర్చుకున్న విద్య మర్చిపోకుండా అదే పుస్తకాన్ని పదే పదే రివిజన్ చేసే రౌండ్ల సంఖ్య!


ఇప్పటివరకు మనం సాధారణ న్యూరల్ నెట్‌వర్క్ (ANN) ఎలా నిర్మించబడుతుందో, ఎలా ఆలోచిస్తుందో, తప్పులు ఎలా దిద్దుకుంటుందో, ఎలా రివిజన్ చేస్తుందో (పార్ట్ 41 నుండి 53 వరకు) అణువణువూ నేర్చుకున్నాం!


ఇక ఇప్పుడు డీప్ లెర్నింగ్‌లో అత్యంత అద్భుతమైన విభాగంలోకి అడుగుపెట్టబోతున్నాం: అసలు కంప్యూటర్‌కు 'కళ్లు' ఎలా వస్తాయి? ఒక ఫోటోను లేదా వీడియోను మనిషి కన్నులాగా చూసి గుర్తుపట్టే ఆ ప్రత్యేకమైన న్యూరల్ నెట్‌వర్క్ ఏమిటి?


ఇప్పుడు పార్ట్ 54: CNN (Convolutional Neural Networks) - కంప్యూటర్ దృష్టి గురించి తెలుసుకుందామా


******************************4*******************************




******************************5*******************************




Comments

Popular posts from this blog

**పార్ట్ 51: లాస్ ఫంక్షన్ (Loss Function) - తప్పు…

 పార్ట్ 51: లాస్ ఫంక్షన్ (Loss Function) - తప్పులను కొలిచే మీటర్! ఫార్వర్డ్ ప్రాపగేషన్ ద్వారా నెట్‌వర్క్ ఒక జవాబు అయితే ఇచ్చేసింది. కానీ ఆ జవాబు కరెక్టో కాదో దానికి ఎలా తెలుస్తుంది? ఇక్కడే మనకు 'లాస్ ఫంక్షన్' (Loss Function) అవసరం అవుతుంది. లాస్ (Loss) అంటే నష్టం లేదా తప్పు. కంప్యూటర్ (AI) తను ఇచ్చిన జవాబుకి, నిజమైన జవాబుకి మధ్య ఎంత తేడా ఉందో కొలవడానికి వాడే ఒక 'తప్పుల మీటరే' ఈ లాస్ ఫంక్షన్. రియల్ లైఫ్ ఉదాహరణతో చూద్దాం: ఉదాహరణ 1: డార్ట్ బోర్డ్ (Dartboard) మీరు ఒక టార్గెట్ బోర్డ్ (Dartboard) కు బాణాలు విసురుతున్నారు అనుకుందాం. మధ్యలో ఉన్న రెడ్ సర్కిల్ (Bullseye) అనేది 'నిజమైన జవాబు'. మీరు బాణం విసిరారు (అదే ఫార్వర్డ్ ప్రాపగేషన్). కానీ ఆ బాణం మధ్యలో తగలకుండా పక్కన ఎక్కడో తగిలింది (అది నెట్‌వర్క్ ఇచ్చిన జవాబు). ఇప్పుడు మీరు ఒక టేప్ తీసుకుని, "రెడ్ సర్కిల్ కి, నా బాణానికి మధ్య ఎంత దూరం ఉంది?" అని కొలుస్తారు చూశారా... ఆ కొలిచే విధానమే లాస్ ఫంక్షన్. ఆ దూరం ఎంత ఎక్కువ ఉంటే, మీ తప్పు (Loss) అంత ఎక్కువ ఉన్నట్లు! ఉదాహరణ 2: ఎగ్జామ్ ఆన్సర్ కీ మీరు ఎగ్జామ్ రాసి వచ్...

పార్ట్ 55: CNN ఫోటోలను ఎలా ముక్కలు చేస్తుంది? (కళ్ల ముందు జరిగే మ్యాజిక్)

  పార్ట్ 55: CNN ఫోటోలను ఎలా ముక్కలు చేస్తుంది? (కళ్ల ముందు జరిగే మ్యాజిక్) పోయిన పార్టులో CNN అనే భూతద్దం (Filter) ఫోటోను ఎలా స్కాన్ చేస్తుందో చూశాం కదా. కానీ, ఆ భూతద్దం లోపల నెట్‌వర్క్‌కి అసలు ఏం కనిపిస్తుంది? ఒక మనిషి ముఖాన్ని అది ఒకేసారి గుర్తుపట్టేస్తుందా? లేదు! ఒక ఆర్టిస్ట్ పెన్సిల్ తో బొమ్మ గీసేటప్పుడు ముందు గీతలు గీసి, ఆ తర్వాత ఆకారాలు గీసి, ఫైనల్ గా పూర్తి బొమ్మను ఎలా వేస్తాడో... CNN కూడా ఫోటోను అలాగే స్టెప్-బై-స్టెప్ అర్థం చేసుకుంటుంది. దీనినే "ఫీచర్ ఎక్స్‌ట్రాక్షన్ (Feature Extraction)" అంటారు. మనిషి ముఖాన్ని CNN ఈ మూడు దశల్లో (Layers) విడగొట్టి చూస్తుంది: 1. మొదటి దశ (గీతలు మరియు అంచులు - Edges) నెట్‌వర్క్‌లోకి ఫోటో వెళ్లగానే, మొదటి కొన్ని లేయర్స్ దాన్ని చూస్తాయి. వాటికి అది మనిషి ముఖంలా అస్సలు కనిపించదు. వాటికి తెలిసింది కేవలం రెండు రంగుల మధ్య ఉన్న 'తేడా' (Contrast) మాత్రమే. ఇవి కేవలం నిలువు గీతలను (Vertical lines), అడ్డ గీతలను (Horizontal lines), మరియు వంపులను (Curves) మాత్రమే పసిగడతాయి. 2. రెండవ దశ (ఆకారాలు మరియు భాగాలు - Shapes & Part...

పార్ట్ 54: CNN (Convolutional Neural Networks) - కంప్యూటర్‌కు కళ్లు!

  పార్ట్ 54: CNN (Convolutional Neural Networks) - కంప్యూటర్‌కు కళ్లు! ఇప్పటివరకు నెట్‌వర్క్ డేటాను ఎలా తీసుకుని, దాన్ని ఎలా ప్రాసెస్ చేస్తుందో చూశాం. కానీ ఒక ఫోటోను చూసి అందులో ఏముందో కచ్చితంగా గుర్తుపట్టే అద్భుతమైన దృష్టి లోపం లేని 'కళ్లు' AI కి ఎలా వస్తాయి? ఆ మ్యాజిక్ చేసే టెక్నాలజీ పేరే CNN (Convolutional Neural Networks) . దీన్నే సైంటిస్టులు కంప్యూటర్ విజన్ (Computer Vision) అని కూడా అంటారు. మనం ఫోన్లో ఫేస్ అన్‌లాక్ వాడినా, గూగుల్ లెన్స్‌లో ఫోటో తీసి వెతికినా దాని వెనుక పనిచేసేది ఈ CNN టెక్నాలజీనే! పాత నెట్‌వర్క్‌తో ఉన్న ప్రాబ్లమ్ ఏంటి? మనం పార్ట్ 45 (ఇన్‌పుట్ లేయర్) లో ఒక విషయం చెప్పుకున్నాం: కంప్యూటర్‌కి ఫోటోలు ఇస్తే అది ఆ ఫోటోను (పిక్సెల్స్‌ను) ఒక 'పొడవైన అంకెల లైన్‌' లాగా లాగేస్తుంది (Flattening) అని. చిన్న ఫోటోలకు అలా చేయడం ఓకే! కానీ ఒక హై-క్వాలిటీ (HD) కుక్క ఫోటోను ఇస్తే ఏమవుతుంది? అందులో లక్షల పిక్సెల్స్ ఉంటాయి. వాటన్నింటినీ ఒకే లైన్‌గా లాగితే కంప్యూటర్ ర్యామ్ (RAM) నిండిపోయి సిస్టమ్ హ్యాంగ్ అవుతుంది. ఇంకా పెద్ద నష్టం ఏంటంటే... ఫోటోను ఒక లైన్‌గా ల...