AI සඳහා ගණිතය: මූලික සංකල්ප | AWS AI Math Sinhala Guide

AI සඳහා ගණිතය: මූලික සංකල්ප | AWS AI Math Sinhala Guide

හලෝ යාළුවනේ! කොහොමද ඔයාලට? අද අපි කතා කරන්න යන්නේ ගොඩක් දෙනෙක්ට පොඩ්ඩක් සංකීර්ණයි කියලා හිතෙන, හැබැයි Artificial Intelligence (AI) සහ Machine Learning (ML) කියන මේ ලෝකේ ඉදිරියට යන්න අත්‍යවශ්‍යම මාතෘකාවක් ගැන. ඒ තමයි AI එකට අවශ්‍ය ගණිතය (Mathematics for AI).

ඔයාලා හිතනවා ඇති, "අපිට මොකටද මේවා? අපි කෝඩ් ලියන එකනේ කරන්නේ." කියලා. හැබැයි ඇත්තටම AI මොඩල්ස් (models) වැඩ කරන විදිය, ඒවා ටියුන් (tune) කරන්නේ කොහොමද, ඒ වගේම අලුත් ඇල්ගොරිතම් (algorithms) හදන්නේ කොහොමද කියලා තේරුම් ගන්න නම් මේ ගණිතමය මූලිකාංග ගැන පොඩි හරි දැනුමක් තියෙන එක ගොඩක් වැදගත්. ඒ වගේම, AWS වගේ cloud platforms වල තියෙන AI සේවාවන් (services) වල සීමාවන් සහ හැකියාවන් අවබෝධ කරගන්නත් මේ දැනුම උදව් වෙනවා.

අද අපි ගණිතයේ ගැඹුරටම කිමිදෙන්නේ නැහැ. අපේ අරමුණ තමයි AI/ML වලට අත්‍යවශ්‍යම Linear Algebra, Calculus, Probability Theory, සහ Statistics කියන සංකල්ප ටික සරලව, තේරුම් ගන්න පුළුවන් විදියට ඔයාලට කියලා දෙන එක. මේක ඔයාලගේ AI ගමනට හොඳ අත්තිවාරමක් වෙයි කියලා මට විශ්වාසයි. එහෙනම්, අපි පටන් ගමුද?

1. Linear Algebra Essentials (රේඛීය වීජ ගණිතයේ මූලිකාංග)

Linear Algebra කියන්නේ AI වලට තියෙන කොඳු නාරටිය වගේ. අපි පරිගණකයකට දෙන දත්ත (data) ගොඩක් වෙලාවට නිරූපණය කරන්නේ (represent) vectors සහ matrices විදියට. ඒ වගේම AI ඇල්ගොරිතම් වලට අවශ්‍ය හැසිරවීම් (manipulations) ගොඩක් කෙරෙන්නේ මේ vectors සහ matrices මත තමයි.

Vectors (දෛශික)

සරලව කිව්වොත්, vector එකක් කියන්නේ අංක එකතුවක් (a sequence of numbers). මේ අංක වලට යම්කිසි අනුපිළිවෙලක් තියෙනවා. අපි හිතමු ඔයාට ශිෂ්‍යයෙක්ගේ විභාග ලකුණු ටිකක් තියෙනවා කියලා: [85, 92, 78, 60]. මේක vector එකක්. මෙතන 85 කියන්නේ පළමු විෂයයේ ලකුණු, 92 දෙවැනි විෂයයේ ලකුණු වගේ. AI වලදී, feature vector එකක් විදියට අපි දත්ත නිරූපණය කරනවා.

උදාහරණයක් විදියට, Machine Learning model එකකට අපි යම්කිසි පින්තූරයක් (image) දුන්නොත්, ඒ පින්තූරයේ තියෙන pixels වල දීප්තිය (brightness) වගේ දේවල් vectors විදියට නිරූපණය කරන්න පුළුවන්.

Matrices (මාතෘකා)

Matrix එකක් කියන්නේ vectors කිහිපයක් පේළි (rows) සහ තීරු (columns) විදියට පිළිවෙලකට තියෙන එකක්. සරලව කිව්වොත්, අංක වලින් පිරිලා තියෙන හතරැස් මේසයක් වගේ දෙයක්. Matrices කියන්නේ AI වලදී දත්ත ගබඩා කරන්න, ඒ වගේම විවිධ පරිවර්තන (transformations) කරන්න ගොඩක් ප්‍රයෝජනවත් වෙන දෙයක්.

අපි හිතමු ඔයාට ශිෂ්‍යයෝ තුන් දෙනෙක්ගේ, විෂයයන් හතරක ලකුණු තියෙනවා කියලා:


[[85, 92, 78, 60],
 [70, 88, 95, 75],
 [65, 72, 80, 88]]

මේක matrix එකක්. මෙතන පළමු පේළිය පළමු ශිෂ්‍යයාගේ ලකුණු, දෙවැනි පේළිය දෙවැනි ශිෂ්‍යයාගේ ලකුණු වගේ. AI වලදී, පින්තූර (images) matrices විදියට නිරූපණය වෙනවා (pixel values array එකක් විදියට). ඒ වගේම Neural Networks වල තියෙන weights (බර) matrices විදියට තමයි ගබඩා වෙන්නේ.

Vector සහ Matrix Operations (හැසිරවීම්)

Linear Algebra වල vectors සහ matrices එකතු කිරීම (addition), අඩු කිරීම (subtraction), ගුණ කිරීම (multiplication) වගේ දේවල් තියෙනවා. මේ operations තමයි AI ඇල්ගොරිතම් වල හරය වෙන්නේ. අපි පොඩි Python code snippet එකක් බලමු NumPy library එක පාවිච්චි කරලා මේවා කොහොමද කරන්නේ කියලා:

import numpy as np

# Vectors නිර්මාණය කිරීම
vec1 = np.array([1, 2, 3])
vec2 = np.array([4, 5, 6])

print("Vector 1:", vec1)
print("Vector 2:", vec2)

# Vectors එකතු කිරීම (Addition)
vec_sum = vec1 + vec2
print("Vector එකතුව:", vec_sum)

# Dot Product (දෛශික ගුණිතය) - AI වල ගොඩක් වැදගත්
dot_product = np.dot(vec1, vec2)
print("Dot Product:", dot_product)

# Matrices නිර්මාණය කිරීම
mat1 = np.array([[1, 2],
                 [3, 4]])
mat2 = np.array([[5, 6],
                 [7, 8]])

print("\nMatrix 1:\n", mat1)
print("Matrix 2:\n", mat2)

# Matrices එකතු කිරීම
mat_sum = mat1 + mat2
print("Matrix එකතුව:\n", mat_sum)

# Matrix Multiplication (AI වල හරය)
mat_product = np.dot(mat1, mat2)
print("Matrix ගුණිතය:\n", mat_product)

මේ code එකෙන් අපිට තේරෙනවා vectors සහ matrices එක්ක වැඩ කරන එක කොච්චර සරලද කියලා NumPy පාවිච්චි කරනකොට. AI වලදී, Neural Networks වලදී මේ Matrix Multiplication එක තමයි layers අතර දත්ත ගමන් කරන විදිය තීරණය කරන්නේ. ඒ වගේම Image Processing, Natural Language Processing (NLP) වගේ ගොඩක් තැන් වල Linear Algebra බහුලව පාවිච්චි වෙනවා.

2. Calculus Basics (කැල්කියුලස් වල මූලිකාංග)

Calculus කියන්නේ AI, විශේෂයෙන්ම Machine Learning වල, models optimize (ප්‍රශස්තකරණය) කරන්න අත්‍යවශ්‍යම දෙයක්. අපි හිතමු අපේ model එකක් පුරුදු කරනවා (training) කියලා. එතකොට ඒ model එකේ වැරදි අඩු කරලා හොඳම ප්‍රතිඵල ගන්න ඕනේ. මේකට තමයි Calculus උදව් වෙන්නේ.

Derivatives (අවකලනය)

Derivative එකක් කියන්නේ යම්කිසි ශ්‍රිතයක (function) වෙනස් වීමේ වේගය (rate of change) මනින එකක්. සරලව කිව්වොත්, යම්කිසි වක්‍රයක (curve) ඕනෑම ලක්ෂ්‍යයක ආනතිය (slope) හොයන එක. අපි වාහනයක වේගය ගැන හිතමු. දුර වෙනස් වන වේගය (displacement over time) තමයි වේගය. මේ වගේම, අපේ model එකේ වැරැද්ද (error) යම්කිසි parameter එකක් වෙනස් කරනකොට කොච්චර වේගයකින් වෙනස් වෙනවද කියලා Derivative එකකින් අපිට හොයාගන්න පුළුවන්.

උදාහරණයක් විදියට, අපි y = x^2 කියන function එක ගමු. මේකේ derivative එක dy/dx = 2x. මේකෙන් කියන්නේ x වෙනස් වෙනකොට y කොච්චර වේගයකින් වෙනස් වෙනවද කියන එක. AI වලදී, මේ Derivative එක අපේ model එකේ cost function (අපේ model එක කොච්චර වැරදිද කියලා පෙන්නන function එකක්) එකේ අඩුම අගය හොයාගන්න උදව් වෙනවා.

Gradients (ප්‍රවණතාව)

Gradient එකක් කියන්නේ derivatives වල බහු-මාන (multi-dimensional) සංකල්පය. අපි හිතමු අපේ cost function එකට parameters ගොඩක් තියෙනවා කියලා (සාමාන්‍යයෙන් AI models වලට parameters මිලියන ගණන් තියෙන්න පුළුවන්). එතකොට මේ හැම parameter එකක් සම්බන්ධයෙනම cost function එක වෙනස් වෙන වේගය (partial derivative) එකතුවක් විදියට පෙන්නන vector එකක් තමයි Gradient එක.

සරලව තේරුම් ගන්න, ඔයාලා කන්දක් උඩ ඉන්නවා කියලා හිතන්න. ඔයාලට ඕනේ කන්දේ පහළම තැනට යන්න. හැබැයි ඔයාලට පේන්නේ ඔයාලා ඉන්න තැන විතරයි. එතකොට ඔයාලා මොකද කරන්නේ? වැඩිම බෑවුම තියෙන පැත්තට (වැඩිම වේගයකින් පහළට යන පැත්තට) ටික ටික පියවර තියනවා නේද? මේ වැඩිම බෑවුම තියෙන පැත්ත තමයි Gradient එකෙන් පෙන්නන්නේ. හැබැයි අපි යන්නේ Gradient එකට විරුද්ධ පැත්තට, මොකද අපිට ඕනේ වැරැද්ද අඩු කරන්න (minimize the cost) මිසක් වැඩි කරන්න නෙවෙයි.

මේ ක්‍රියාවලියට කියන්නේ Gradient Descent කියලා. AI models පුරුදු කරනකොට, cost function එක අඩු කරන්න parameters ටික ටික වෙනස් කරන්න මේ Gradient Descent එක පාවිච්චි කරනවා. මේක තමයි Deep Learning වල හරය.

3. Probability Theory (සම්භාවිතා සිද්ධාන්තය)

Probability Theory කියන්නේ AI වල තීරණ ගැනීමේදී (decision making) සහ අවිනිශ්චිතතාවය (uncertainty) හසුරුවනකොට අත්‍යවශ්‍යම දෙයක්. අපි හැමදාම ජීවිතේදී අවිනිශ්චිතතාවයන් එක්ක වැඩ කරනවා. AI models වලටත් ඒ දේම කරන්න සිද්ධ වෙනවා.

Distributions (ව්‍යාප්ති)

Probability Distribution එකකින් පෙන්නන්නේ යම්කිසි සිදුවීමක විවිධ ප්‍රතිඵල (outcomes) ලැබීමේ සම්භාවිතාවන් (probabilities) කොහොමද කියලා. ගොඩක් වෙලාවට AI වලදී පාවිච්චි කරන distributions දෙකක් තමයි:

  • Normal Distribution (සාමාන්‍ය ව්‍යාප්තිය): මේක "bell curve" එක කියලාත් හඳුන්වනවා. ගොඩක් ස්වභාවික සංසිද්ධි (උස, බර වගේ) මේ විදියට තමයි බෙදී යන්නේ. මේකේදී වැඩිම දත්ත ප්‍රමාණයක් සාමාන්‍ය අගය (mean) වටේට එකතු වෙනවා.
  • Uniform Distribution (ඒකාකාර ව්‍යාප්තිය): මේකේදී හැම ප්‍රතිඵලයකටම ලැබීමේ සම්භාවිතාව සමානයි. උදාහරණයක් විදියට දාදු කැටයක් දැමීමකදී 1, 2, 3, 4, 5, 6 කියන අගයන් ලැබීමේ සම්භාවිතාව සමානයි.

AI models දත්ත තේරුම් ගන්නකොට, මේ distributions ගැන දැනගෙන ඉන්න එක ගොඩක් වැදගත්. උදාහරණයක් විදියට, යම්කිසි දත්ත සමූහයක් (dataset) Normal Distribution එකකට අනුව බෙදී යනවා නම්, ඒ දත්ත එක්ක වැඩ කරනකොට මොඩල් එකේ කාර්යසාධනය (performance) වැඩි දියුණු කරන්න පුළුවන් strategies අපිට පාවිච්චි කරන්න පුළුවන්.

Bayes' Theorem (බේයිස්ගේ ප්‍රමේයය)

Bayes' Theorem කියන්නේ අපිට අලුතෙන් ලැබෙන තොරතුරු (new evidence) මත යම්කිසි සිදුවීමක සම්භාවිතාව (probability) update කරන විදිය කියලා දෙන සූත්‍රයක්. මේක AI වලදී, විශේෂයෙන්ම Classification Problems (වර්ගීකරණ ගැටළු) වලදී බහුලව පාවිච්චි වෙනවා.

සරල උදාහරණයක් ගමු: spam email detection (spam email හඳුනා ගැනීම).

  • අපිට දැනගන්න ඕනේ ඊමේල් එකක් spam එකක්ද (S) නැද්ද කියන එක, ඒ ඊමේල් එකේ "free" කියන වචනය (W) තියෙනවා නම්.
  • සූත්‍රය මෙහෙමයි: P(S|W) = [P(W|S) * P(S)] / P(W)

මෙතනදී:

  • P(S|W): "free" කියන වචනය තිබ්බොත් ඒ ඊමේල් එක spam වෙන්න තියෙන සම්භාවිතාව (මේක තමයි අපිට හොයන්න ඕනේ).
  • P(W|S): ඊමේල් එක spam එකක් නම්, ඒකේ "free" කියන වචනය තියෙන්න තියෙන සම්භාවිතාව.
  • P(S): සාමාන්‍යයෙන් ඊමේල් එකක් spam වෙන්න තියෙන සම්භාවිතාව (අපිට කලින් තිබ්බ දැනුම).
  • P(W): සාමාන්‍යයෙන් ඊමේල් එකක "free" කියන වචනය තියෙන්න තියෙන සම්භාවිතාව.

මේ Theorem එක පාවිච්චි කරලා, අලුත් ඊමේල් එකක් ආවම, ඒකේ තියෙන වචන අනුව (evidence) ඒක spam එකක් වෙන්න තියෙන සම්භාවිතාව ගණනය කරන්න පුළුවන්. AWS Lambda functions, Amazon Comprehend වගේ සේවාවන් වල text classification වගේ දේවලට මේ වගේ probabilistic models පදනම් වෙන්න පුළුවන්.

4. Statistical Concepts (සංඛ්‍යාන සංකල්ප)

Statistics කියන්නේ දත්ත වලින් තොරතුරු උකහා ගන්න (extract insights) සහ තීරණ ගන්න (make decisions) උදව් වෙන විෂය ක්ෂේත්‍රයක්. AI වලට දත්ත අත්‍යවශ්‍යයි. ඉතින් ඒ දත්ත තේරුම් ගන්න Statistics නැතුව බෑ.

Measures of Central Tendency (මධ්‍ය ප්‍රවණතා මිනුම්)

මේවායෙන් දත්ත සමූහයක මධ්‍යයේ තියෙන අගය මොකක්ද කියලා අපිට පෙන්නනවා:

  • Mean (මධ්‍යන්‍යය): හැම අගයක්ම එකතු කරලා, අගයන් ගානෙන් බෙදුවම එන සාමාන්‍ය අගය. ගොඩක් වෙලාවට පාවිච්චි වෙනවා.
  • Median (මධ්‍යස්ථය): දත්ත ටික අනුපිළිවෙලට තියලා මැදටම එන අගය. Outliers (ඉතා විශාල හෝ කුඩා අගයන්) වලින් බලපෑමක් වෙන්නේ නැති නිසා සමහර වෙලාවට Mean එකට වඩා හොඳයි.
  • Mode (බහුලත්වය): දත්ත සමූහයක වැඩිපුරම තියෙන අගය.

උදාහරණයක් විදියට, අපේ පන්තියේ ළමයින්ගේ උස අගයන් තියෙනවා නම්, ඒවායේ Mean, Median, Mode හොයලා පන්තියේ සාමාන්‍ය උස ගැන අදහසක් ගන්න පුළුවන්.

Measures of Variability (විචල්‍යතාවයේ මිනුම්)

මේවායෙන් පෙන්නන්නේ දත්ත කොච්චර පැතිරෙලාද (spread out) කියන එක:

  • Variance (විචලනය): දත්ත, Mean එකෙන් කොච්චර දුරට පැතිරිලාද කියලා මනිනවා. මේක වැඩි වෙන්න වැඩි වෙන්න දත්ත වැඩිපුර පැතිරිලා.
  • Standard Deviation (සම්මත අපගමනය): Variance එකේ වර්ගමූලය. මේකත් දත්ත පැතිරීම මනිනවා, හැබැයි මුල් ඒකක වලින්ම අගය ලැබෙන නිසා තේරුම් ගන්න ලේසියි.

AI model එකක් train කරනකොට, input data එකේ variance එක වැඩි නම්, model එකට pattern ඉගෙන ගන්න අමාරු වෙන්න පුළුවන්. ඒ වගේම model එකේ output එකේ variance එක අඩු නම් ඒක ස්ථාවරයි (stable) කියලා අපිට කියන්න පුළුවන්.

Correlation (සම්බන්ධතාවය)

Correlation එකකින් පෙන්නන්නේ විචල්‍යයන් දෙකක් (two variables) අතර තියෙන සම්බන්ධතාවයේ ශක්තිමත්භාවය (strength) සහ දිශාව (direction). උදාහරණයක් විදියට, කෙනෙක්ගේ උස සහ බර අතර සම්බන්ධයක් තියෙනවා නේද? උස වැඩි වෙනකොට බරත් වැඩි වෙන්න පුළුවන් (positive correlation).

  • Positive Correlation: එකක් වැඩි වෙනකොට අනිත් එකත් වැඩි වෙනවා (උස වැඩි වෙද්දී බර වැඩි වෙනවා වගේ).
  • Negative Correlation: එකක් වැඩි වෙනකොට අනිත් එක අඩු වෙනවා (අයිස් ක්‍රීම් විකිණීම වැඩි වෙනකොට උණ රෝගීන් ගාන අඩු වෙනවා වගේ - මේක බොරු සම්බන්ධයක් වෙන්නත් පුළුවන්! 😅).
  • No Correlation: විචල්‍යයන් දෙකක් අතර සම්බන්ධයක් නැහැ.

AI වලදී, input features අතර තියෙන correlation එක හඳුනාගන්න එක ගොඩක් වැදගත්. Features දෙකක් අතර අධික correlation එකක් තියෙනවා නම් (highly correlated), සමහර වෙලාවට ඒ features දෙකෙන් එකක් model එකෙන් අයින් කරන්න පුළුවන්, මොකද දෙකෙන්ම කියන්නේ එකම තොරතුරක් වගේ දෙයක් නිසා.

Conclusion (නිගමනය)

ඉතින් යාළුවනේ, අපි මේ ලිපියෙන් AI සහ Machine Learning වලට අත්‍යවශ්‍යම ගණිත මූලිකාංග ටිකක් සරලව තේරුම් ගත්තා. Linear Algebra වලින් දත්ත නිරූපණය කරන හැටිත්, Calculus වලින් models optimize කරන හැටිත්, Probability Theory වලින් අවිනිශ්චිතතාවයන් හසුරුවන හැටිත්, Statistics වලින් දත්ත විශ්ලේෂණය කරන හැටිත් අපි කතා කළා.

මේවා ගණිතයේ මූලිකාංග විතරයි. හැබැයි මේවා තේරුම් ගන්න එක ඔයාලට AI ලෝකයේ ඉදිරියට යන්න ගොඩක් උදව් වෙයි. ඔයාලට දැන් පුළුවන් මේ සංකල්ප තවදුරටත් අධ්‍යයනය කරන්න, Python වල NumPy, SciPy, Pandas වගේ libraries පාවිච්චි කරලා අත්හදා බලන්න. AWS Sagemaker වගේ platforms වලදීත් මේවා කොහොමද යටින් වැඩ කරන්නේ කියලා හොයලා බලන්න.

මතක තියාගන්න, AI කියන්නේ මැජික් එකක් නෙවෙයි. ඒක පිටිපස්සේ තියෙන්නේ අපේ මේ ගණිතමය මූලධර්ම සහ දත්ත තමයි. මේ දැනුමෙන් සන්නද්ධ වෙලා AI ලෝකය ජය ගන්න ඔයාලට සුබ පැතුම්!

ඔයාලගේ අදහස්, ප්‍රශ්න, අත්දැකීම් පහලින් කමෙන්ට් එකක් දාගෙන යන්න අමතක කරන්න එපා!