Models Train பண்றது எப்படி? — தமிழ்

</>Coding Tamilan.← AI course மற்றும் பாடத்திட்டம்

AI · பாடம் 10 / 25 · தமிழ்

Models Train பண்றது எப்படி?

தவறை அளந்து, கொஞ்சம் கொஞ்சமாக மாற்றிப் பார்ப்போம்.

எளிய விளக்கங்கள்AI method + உதாரணம்பயிற்சி + விடை

உள்ளடக்கம் சரிபார்த்த நாள்: 22 அக்டோபர் 2026 · Read in English ↗

01 / கருத்து

எளிமையாப் புரிஞ்சுக்கலாம்

Prediction-ல் வரும் தவறை ஒரு number-ஆக அளப்பது loss function. Parameters-ஐ மாற்றும் முறை optimizer. எவ்வளவு அளவு மாற்றணும் என்பதை learning rate பாதிக்கும். Training loss குறைவது, validation result நல்லா இருப்பது, நிஜ வேலையில் உதவுவது—மூன்றும் ஒன்றல்ல. பழகிய data-வில் loss குறைந்ததாலே புதிய data-விலும் நல்லா இருக்கும் என்று சொல்ல முடியாது.

இந்த AI approach எப்படி வேலை செய்கிறது?

Training என்பது objective தெளிவாக உள்ள ஒரு experiment. Model தேர்வு செய்து parameters initialize செய்வோம். Prediction செய்து loss கணக்கிடுவோம். Gradients கண்டுபிடித்து parameters update செய்வோம். Training set முழுவதையும் ஒரு முறை பார்ப்பது epoch. ஒரு update-க்கு பயன்படுத்தும் subset batch. Mini-batch gradient முழு data gradient-ஓட estimate என்பதால் ஒவ்வொரு step-லும் loss கண்டிப்பாகக் குறைய வேண்டியதில்லை.

Regression-ல் squared error பயன்படுத்தினால் பெரிய residual-க்கு பெரிய penalty கிடைக்கும். Classification, next-token prediction போன்றவற்றில் cross-entropy பொதுவாகப் பயன்படும். Output representation-க்கும் task-க்கும் loss பொருந்தணும். Next-token loss குறைந்தால் அந்த prediction objective மேம்பட்டுள்ளது. அதனால் மட்டும் உண்மை பேசுவது, பயனுள்ள பதில் தருவது, tools சரியாக இயக்குவது நிரூபிக்கப்படாது.

Gradient descent update θ ← θ − η∇L. Gradient loss அதிகரிக்கும் local direction-ஐக் காட்டும். அதைச் சரியான அளவில் கழித்தால் loss குறைய முயற்சி செய்கிறோம். η என்பது learning rate. மிக அதிகமாக இருந்தால் overshoot அல்லது divergence வரலாம். மிகக் குறைவாக இருந்தால் learning மெதுவாக இருக்கும். SGD, Adam updates கணக்கிடும் முறையில் வேறுபடும்; validation தேவை இரண்டிற்கும் உண்டு.

Training, validation curves பதிவு செய்து, validation அடிப்படையில் நல்ல checkpoint சேமிங்க. Data version, random seed, configuration எல்லாம் பதிவு செய்யுங்க. Final test-ஐ tuning-க்கு பயன்படுத்தாதீங்க. பெரிய run தொடங்குவதற்கு முன் shapes, labels, input scales சரியா, சின்ன batch-ஐ model fit செய்ய முடியுதா என்று பாருங்க.

02 / படிப்படியாக

ஒவ்வொரு படியாகப் பார்க்கலாம்

  1. முதலில் prediction செய்து loss கணக்கிடலாம்.
  2. Gradient மூலம் எந்த திசையில் மாற்றணும் என்று பார்த்து parameters update செய்யலாம்.
  3. தனியாக வைத்த data-வில் result-ஐக் கவனித்து, run-ஐ மீண்டும் செய்ய தேவையான settings-ஐ பதிவு செய்யலாம்.

உதாரணம்: task-உடன் approach-ஐ இணைக்கலாம்

Training pairs x = 1, 2, 3; y = 2, 4, 6 என்று எடுத்துக்கலாம். ŷ = wx, mean squared loss என்றால் w = 0-ல் loss 56/3, அதாவது சுமார் 18.67. Gradient என்பது 2x(wx−y)-ஓட mean; இங்கே −56/3. Learning rate 0.1 வைத்தால் முதல் update-க்குப் பிறகு w சுமார் 1.867 ஆகும்; 2-க்கு அருகில் வந்துவிட்டது.

கீழே code இந்த update-ஐத் தொடர்ந்து செய்து training-ல் இல்லாத x = 4-க்கு predict செய்யும். இது சுத்தமான synthetic relationship மூலம் fitting, held-out prediction காட்டுகிறது. நிஜ data-க்கு noise, சரியான splits, baseline comparison எல்லாம் தேவை.

Algorithm பயிற்சி: கணிச்சு, மாற்றி, விளக்கலாம்

மூன்று data pairs-லிருந்து actual loss gradient வைத்து regression weight fit செய்கிறோம். Learning rate 0.3 வைத்து instability பாருங்க. Held-out synthetic point விளக்கத்துக்கு மட்டும்; நிஜ forecasting benchmark இல்லை.

main.py · கருத்துக்கான பயிற்சிPYTHON
data = [(1.0, 2.0), (2.0, 4.0), (3.0, 6.0)]
w, learning_rate = 0.0, 0.1
for epoch in range(20):
    loss = sum((w*x-y)**2 for x, y in data) / len(data)
    gradient = sum(2*x*(w*x-y) for x, y in data) / len(data)
    if epoch in (0, 1, 19):
        print("epoch:", epoch, "weight:", round(w, 4),
              "loss:", round(loss, 4))
    w -= learning_rate * gradient
print("held-out x=4 prediction:", round(w * 4, 4))
முதலில் கணிங்க; பிறகு output பாருங்க
epoch: 0 weight: 0.0 loss: 18.6667
epoch: 1 weight: 1.8667 loss: 0.083
epoch: 19 weight: 2.0 loss: 0.0
held-out x=4 prediction: 8.0
04 / முயற்சி

ஒரு விஷயத்தை மாற்றி இயக்கிப் பாருங்க.

இந்தப் பயிற்சிக்கு standard Python போதும். Package install அல்லது paid API தேவையில்லை. மேலே சொன்ன variable-ஐ மாற்றி, method-ல் என்ன விளைவு வருகிறது என்று விளக்கிப் பாருங்க. பிறகுதான் real data-க்கு எடுத்துச் செல்லலாம்.

Python editor-ஐத் திறக்கலாம் ↗

Editor முழுவதும் load ஆனதும் code-ஐ ஏற்றி Run அழுத்துங்க.

இந்த இலவச editor, OneCompiler என்ற வெளிப்புறச் சேவையைப் பயன்படுத்தும். Run செய்யும் code அங்கு அனுப்பப்படும். Passwords, API keys, மாணவர்களின் private data போன்றவற்றைப் போடாதீங்க. Code வரவில்லை என்றால் editor தயாரானதும் மறுபடியும் ஏற்றுங்க.

கருத்தைப் பயன்படுத்தலாம்: உங்க புரிதலைச் சோதிங்க

விடை பார்க்கும் முன் யோசிங்க

Final test score பார்த்து நல்ல epoch தேர்வு செய்யக்கூடாதது ஏன்?

விடையும் காரணமும் பார்க்கலாம்

அப்படிச் செய்தால் test-மும் tuning set ஆகிவிடும்; final estimate பக்கச்சார்பாகலாம். Validation வைத்து checkpoint தேர்வு செய்து, test-ஐ இறுதி மதிப்பீட்டுக்கு மட்டும் பயன்படுத்தணும்.

கவனிக்க வேண்டிய தவறு: Final test set result-ஐப் பார்த்துப் பார்த்து settings மாற்றாதீங்க. அது கடைசி நேர்மையான சோதனையாக இருக்கணும்.

அடுத்த பாடத்துக்கு முன்னாடி

  • Technical பெயரை மட்டும் சொல்லாமல், கருத்தை உங்க வார்த்தைகளில் விளக்கிப் பாருங்க.
  • Approach என்ன, அதன் assumptions என்ன, result-ஐ நம்ப என்ன evidence வேண்டும் என்று சொல்லிப் பாருங்க.
  • பயிற்சியை முயற்சி செய்துவிட்டு, உங்க காரணத்தை விடையோடு ஒப்பிட்டுப் பாருங்க.

ஆதாரங்கள்: இன்னும் தெரிஞ்சுக்கலாம்

இந்தப் புதுப்பிப்பில் original research papers மற்றும் official documentation பயன்படுத்தப்பட்டுள்ளன. கீழே உள்ள கூடுதல் links ஆங்கிலத்தில் இருக்கும். அவற்றை முதலில் படிக்காமலேயே இந்தப் பாடத்தைப் புரிஞ்சுக்கலாம். Product versions, availability மாறலாம்.

Coding Tamilan · கருத்தைப் புரிஞ்சுக்கலாம். சோதித்துப் பார்க்கலாம். பொறுப்புடன் உருவாக்கலாம்.