What Machine Learning Is (Machine learning ဆိုတာ ဘာလဲ)
A4.1.1: Describe the types of machine learning and their applications in the real world (supervised, unsupervised, reinforcement, deep and transfer learning). A4.1.2: Describe the hardware requirements for various scenarios where machine learning is deployed (from standard laptops to advanced infrastructure: ASICs, edge devices, FPGAs, GPUs, TPUs, cloud-based platforms and HPC centres). SL and HL. A4.3.8 (HL): Outline the structure and function of ANNs and how multi-layer networks are used to model complex patterns in data sets (single perceptron, multi-layer perceptron), covered in the perceptron section below.
မြန်မာလို: A4.1.1: machine learning (ဒေတာကနေ သင်ယူတဲ့ စနစ်) ရဲ့ အမျိုးအစားတွေနဲ့ လက်တွေ့ ကမ္ဘာမှာ သူတို့ကို ဘယ်လို အသုံးချလဲ ဆိုတာကို ဖော်ပြရှင်းပြနိုင်ရပါမယ် (supervised၊ unsupervised၊ reinforcement၊ deep နဲ့ transfer learning)။ A4.1.2: machine learning ကို လက်တွေ့ သုံးတဲ့ အခြေအနေ အမျိုးမျိုးအတွက် လိုအပ်တဲ့ hardware တွေကို ဖော်ပြရှင်းပြနိုင်ရပါမယ် (ရိုးရိုး laptop တွေကနေ အဆင့်မြင့် infrastructure (hardware၊ network စတဲ့ အခြေခံ အဆောက်အအုံ) အထိ: ASIC (အလုပ်တစ်မျိုးအတွက် သီးသန့် chip)၊ edge device (ဒေတာ ထွက်တဲ့ နေရာမှာပဲ model ကို run တဲ့ စက်)၊ FPGA (ထုတ်ပြီးမှ circuit ပြန်ပြင်လို့ရတဲ့ chip)၊ GPU (ဂရပ်ဖစ် processor)၊ TPU (neural network တွက်ဖို့ Google ရဲ့ chip)၊ cloud platform (အင်တာနက်ကနေ ငှားသုံးတဲ့ ကွန်ပျူတာ resource) နဲ့ HPC (စွမ်းဆောင်ရည်မြင့် ကွန်ပျူတာ စနစ်) centre များ)။ ဒီ နှစ်ခုကို SL ရော HL ပါ လေ့လာရပါတယ်။ A4.3.8 (HL): ANN (artificial neural network: အလွှာလိုက် စီထားတဲ့ neuron အတု network) တွေရဲ့ ဖွဲ့စည်းပုံနဲ့ လုပ်ဆောင်ချက်၊ data set တွေထဲက ရှုပ်ထွေးတဲ့ ပုံစံတွေကို model လုပ်ဖို့ အလွှာ အများပါတဲ့ network တွေကို ဘယ်လို သုံးလဲ ဆိုတာကို အကျဉ်းချုပ် ဖော်ပြနိုင်ရပါမယ် (single perceptron၊ multi-layer perceptron)။ အောက်က perceptron အပိုင်းမှာ လေ့လာပါမယ်။ ဒါတွေက IB Computer Science (နိုင်ငံတကာ ကျောင်းတွေမှာ သင်တဲ့ ကွန်ပျူတာသိပ္ပံ သင်ရိုး) ရဲ့ syllabus (IB သင်ရိုး) ထဲက အပိုင်း နံပါတ်တွေပါ။ SL (Standard Level) နဲ့ HL (Higher Level) ဆိုတာ IB သင်တန်းရဲ့ အဆင့်နှစ်ဆင့်ဖြစ်ပြီး HL အပိုင်းတွေက ပိုနက်နက်ရှိုင်းရှိုင်း လေ့လာရတဲ့ အပိုင်းတွေပါ။
မာတိကာ
- ခြုံငုံ မိတ်ဆက်
- ဒေတာကနေ သင်ယူခြင်း: အဓိက အယူအဆ
- Machine learning အမျိုးအစား ငါးမျိုး
- Supervised learning (label တပ်ထားတဲ့ ဥပမာတွေကနေ သင်ယူခြင်း)
- Unsupervised learning (label မပါတဲ့ ဒေတာကနေ သင်ယူခြင်း)
- Reinforcement learning (ဆုနဲ့ ဒဏ်ကနေ သင်ယူခြင်း)
- Deep learning (အလွှာ အများပါတဲ့ neural network နဲ့ သင်ယူခြင်း)
- Transfer learning (train ပြီးသား model ကို ပြန်သုံးခြင်း)
- လက်တွေ့ ကမ္ဘာက အသုံးချပုံများ
- Model တစ်ခု တကယ် ဘယ်လို သင်ယူလဲ: Perceptron (အရိုးရှင်းဆုံး neuron အတု) (HL)
- Machine learning ကို run တဲ့ hardware
- နောက်ထပ် ဘာ ဆက်လေ့လာမလဲ
- Quick Check (အမြန် စစ်ဆေးမေးခွန်း)
- သင်ယူပုံ အမျိုးအစားကို ဖော်ထုတ်ပါ
- Practice Exercises (လေ့ကျင့်ခန်းများ)
- ဆက်စပ် ခေါင်းစဉ်များ
ခြုံငုံ မိတ်ဆက်
Computing သမိုင်း အများစုမှာ ကွန်ပျူတာကို တစ်ခုခု လုပ်ခိုင်းချင်ရင် စည်းမျဉ်းတွေကို ရေးပေးရပါတယ်: ဒါဖြစ်ရင် ဒါလုပ် (if this, then that) ဆိုတာကို အဆင့်ဆင့် အသေးစိတ် ချရေးရပါတယ်။ စည်းမျဉ်းတွေကို ပြောပြနိုင်တဲ့အခါ ဒီနည်းက ကောင်းကောင်း အလုပ်ဖြစ်ပါတယ်၊ ဒါပေမယ့် စည်းမျဉ်းတွေကို ပြောပြဖို့ ခက်လွန်းတဲ့အခါ မအောင်မြင်ပါဘူး။ ကြောင် ဓာတ်ပုံကို ခွေး ဓာတ်ပုံကနေ ခွဲခြားပေးမယ့်၊ ဒါမှမဟုတ် spam email (မလိုလားအပ်တဲ့ အမှိုက် email) ကို တကယ့် email ကနေ ခွဲခြားပေးမယ့် တိကျတဲ့ စည်းမျဉ်းတွေကို ရေးကြည့်ပါ: ပုံစံ (pattern) တွေ ရှိပါတယ်၊ ဒါပေမယ့် programmer တစ်ယောက်က စည်းမျဉ်းအဖြစ် ချရေးဖို့ သိမ်မွေ့လွန်းပြီး များလွန်းပါတယ်။
Machine learning က မတူတဲ့ နည်းကို သုံးပါတယ်။ စည်းမျဉ်းတွေကို ရေးမယ့်အစား ကွန်ပျူတာကို ဥပမာ အများကြီး ပေးပြီး စည်းမျဉ်းတွေကို သူ့ဘာသာ ရှာထုတ်ခိုင်းပါတယ်။ ရလာတဲ့ စည်းမျဉ်းတွေက train (ဒေတာနဲ့ လေ့ကျင့်ပေးခြင်း) လုပ်ထားတဲ့ model (ဒေတာကနေ သင်ယူထားပြီး ခန့်မှန်းပေးတဲ့ အရာ) ပုံစံနဲ့ ရှိပြီး အဲဒီ model က ခန့်မှန်းချက်တွေ ထုတ်ပေးတာ ဒါမှမဟုတ် ပုံစံတွေကို ရှာဖော်ပေးတာ လုပ်ပါတယ်။ စည်းမျဉ်းတွေကို program ရေးပေးခြင်း ကနေ ဒေတာကနေ စည်းမျဉ်းတွေကို သင်ယူခြင်း ဆီ ပြောင်းသွားတဲ့ ဒီ အပြောင်းအလဲက ဒီ topic ရဲ့ အဓိက အကြောင်းအရာပါ။ စကားပြော အသံကို မှတ်သိခြင်း (speech recognition)၊ spam စစ်ထုတ်ခြင်းနဲ့ ဆေးပညာ ပုံရိပ်တွေကို ခွဲခြမ်းစိတ်ဖြာခြင်း လို application (လက်တွေ့ အသုံးချပုံ) တွေရဲ့ နောက်ကွယ်မှာလည်း ဒီ အပြောင်းအလဲ ရှိပါတယ်။
ကိုယ်တိုင် စမ်းကြည့်ပါ: machine learning simulator တွေ (simulator: တကယ့် ဖြစ်စဉ်ကို ကွန်ပျူတာနဲ့ အတုလုပ်ပြတဲ့ tool) နဲ့ model အစစ်တွေကို ကိုယ့် browser ထဲမှာ train လုပ်ပြီး သူတို့ သင်ယူနေတာကို ကြည့်နိုင်ပါတယ်။ ဒီ topic ထဲက အပိုင်း အများအပြားမှာ simulator တစ်ခုခုကို link ချိတ်ထားပြီး သုံးဖို့ account ဖွင့်စရာ မလိုပါဘူး။
ဒေတာကနေ သင်ယူခြင်း: အဓိက အယူအဆ
ရိုးရိုး programming မှာ လူက စည်းမျဉ်းတွေကို ရေးပြီး ကွန်ပျူတာက အဲဒီ စည်းမျဉ်းတွေကို လိုက်လုပ်ပါတယ်။ Machine learning က ဒါကို ပြောင်းပြန် လုပ်ပါတယ်: လူက ဥပမာ တွေကို ပေးပြီး ကွန်ပျူတာက အဲဒီ ဥပမာတွေထဲက ပုံစံတွေကို ရှာပြီး စည်းမျဉ်းတွေကို (model ပုံစံနဲ့) ထုတ်ပေးပါတယ်။
Classical programming (ရိုးရိုး programming) မှာ စည်းမျဉ်းတွေကို လူက ကြိုတင် ပေးရပါတယ်။ Supervised machine learning (label တပ်ထားတဲ့ ဥပမာတွေကနေ သင်ယူတဲ့ machine learning) က လမ်းကြောင်းကို ပြောင်းပြန် လှည့်ပါတယ်: ဥပမာတွေနဲ့ သူတို့ရဲ့ အဖြေတွေ ဝင်သွားပြီး စည်းမျဉ်းတွေက model အဖြစ် ထွက်လာပါတယ်။ အောက်မှာ ဖော်ပြထားတဲ့ တခြား သင်ယူပုံ အမျိုးအစားတွေကတော့ အဖြေ မပါတဲ့ ဒေတာကနေ ဒါမှမဟုတ် ဆု (reward) တွေကနေ သင်ယူပါတယ်။
ပုံထဲက စာတွေရဲ့ အဓိပ္ပာယ်: Rules (စည်းမျဉ်းများ)၊ Data (ဒေတာ)၊ Program၊ Answers (အဖြေများ)၊ Examples (ဥပမာများ)၊ Training (train လုပ်ခြင်း)၊ Learned rules (the model) (သင်ယူထားတဲ့ စည်းမျဉ်းများ၊ ဆိုလိုတာက model)။
Spam filter (spam email တွေကို စစ်ထုတ်ပေးတဲ့ program) တစ်ခုက ကွာခြားချက်ကို ပြပါတယ်။ စည်းမျဉ်းအခြေခံ filter တစ်ခုက ခေါင်းစဉ်မှာ “free money” (အလကား ပိုက်ဆံ) ပါတဲ့ email တွေကို spam လို့ အမှတ်အသား ပြနိုင်ပါတယ်၊ ဒါပေမယ့် spam ပို့သူတွေက စကားလုံး ပြောင်းသုံးပြီး ပုံသေ စည်းမျဉ်းကို ရှောင်နိုင်ပါတယ်။ Machine learning filter ကတော့ “spam” ဒါမှမဟုတ် “not spam” (spam မဟုတ်) လို့ label (ဥပမာ တစ်ခုစီမှာ တွဲပေးထားတဲ့ အဖြေမှန်) တပ်ပြီးသား email အများကြီးနဲ့ train လုပ်ပါတယ်။ Feature တွေ (email တစ်စောင်ချင်းစီမှာ သူ ကြည့်တဲ့ အသေးစိတ်တွေ၊ ဥပမာ စကားလုံး ပုံစံတွေနဲ့ link တွေ) ကို သုံးပြီး နှစ်မျိုးကို ခွဲခြားပေးတဲ့ ပုံစံတွေကို သင်ယူပါတယ်။ Email အသစ် ရောက်လာတဲ့အခါ model က အဲဒီ email ဘယ် အမျိုးအစားထဲ ပါလဲ ခန့်မှန်းပါတယ်။ သူ သုံးတဲ့ စည်းမျဉ်းကို programmer က ရေးထားတာ မဟုတ်ဘဲ ဒေတာကနေ သင်ယူထားတာပါ။
သိထားရမယ့် ဝေါဟာရများ
ဒီ စကားလုံးတွေကို ဒီ topic တစ်လျှောက်လုံး သုံးမှာမို့ တစ်ခုချင်းရဲ့ အဓိပ္ပာယ်ကို တိတိကျကျ မှတ်ထားပါ။
| ဝေါဟာရ | အဓိပ္ပာယ် | Spam ဥပမာမှာ |
|---|---|---|
| Data / dataset | စနစ်က သင်ယူတဲ့ ဥပမာတွေ | အရင်က email တွေကို စုထားတာ |
| Feature | Model က ကြည့်တဲ့၊ တိုင်းတာလို့ရတဲ့ input (program ထဲ ထည့်ပေးတဲ့ ဒေတာ) တစ်ခု | သုံးထားတဲ့ စကားလုံးတွေ၊ ပို့သူ၊ link အရေအတွက် |
| Label | Training ဥပမာ တစ်ခုမှာ တွဲထားတဲ့ အဖြေမှန် | “spam” ဒါမှမဟုတ် “not spam” |
| Model | ပုံစံကို သင်ယူပြီးသားဖြစ်ပြီး ခန့်မှန်းချက်တွေ ထုတ်ပေးတဲ့ အရာ | Train လုပ်ပြီးသား spam filter |
| Training | ဒေတာကို သုံးပြီး model ကို ချိန်ညှိပေးတဲ့ လုပ်ငန်းစဉ် | Label တပ်ထားတဲ့ email တွေကနေ သင်ယူခြင်း |
| Prediction | မမြင်ဖူးသေးတဲ့ input အသစ် တစ်ခုအတွက် model ရဲ့ output (program က ထုတ်ပြတဲ့ ရလဒ်) | “ဒီ email အသစ်က spam ပါ” |
Training data (model သင်ယူဖို့ ပေးတဲ့ ဒေတာ) မှာ feature တွေ ပါပြီး supervised learning (အောက်မှာ ရှင်းပြထားပါတယ်) အတွက်ဆိုရင် label တွေလည်း ပါပါတယ်။ Training က အဲဒီ ဒေတာကို သုံးပြီး model တစ်ခုကို တည်ဆောက်ပါတယ်၊ အဲဒီ model က input အသစ်တွေအပေါ် prediction တွေ ထုတ်ပေးပါတယ်။ ဒီ topic ရဲ့ ကျန်တဲ့ အပိုင်းတွေက ဒီ အစဉ်ပေါ်မှာ ဆက်တည်ဆောက်ထားပါတယ်။
Artificial intelligence (ဉာဏ်ရည်တု) နဲ့ machine learning ကို မိတ်ဆက်ပေးပါတယ်၊ ဒီ စာမျက်နှာ ဖော်ပြတဲ့ အပြောင်းအလဲ တစ်ခုတည်းကို ဗဟိုပြုထားပါတယ်: programmer တွေ ရေးတဲ့ စည်းမျဉ်းတွေကနေ ဥပမာတွေကနေ သင်ယူတဲ့ စနစ်တွေဆီ ပြောင်းလာတာပါ။ ပုံ မှတ်သိခြင်း (image recognition) နဲ့ natural language processing (ကွန်ပျူတာက လူ့ ဘာသာစကားနဲ့ အလုပ်လုပ်ခြင်း) ဥပမာတွေ ပါပါတယ်၊ ဒါတွေက ဒီ topic ထဲက အသုံးချမှု နှစ်ခုပါ။
Machine learning အမျိုးအစား ငါးမျိုး
Syllabus မှာ အမျိုးအစား ငါးမျိုးကို ဖော်ပြထားပါတယ်။ ပထမ သုံးမျိုးက စနစ်တစ်ခု ဘယ်လို သင်ယူသလဲ ဆိုတာကို ဖော်ပြပြီး နောက်ဆုံး နှစ်မျိုးက ပထမ သုံးမျိုးထဲက ဘယ် အမျိုးအစားနဲ့မဆို တွဲသုံးနိုင်တဲ့ နည်းလမ်း (approach) တွေကို ဖော်ပြပါတယ်။ သူတို့ကြား ကွာခြားချက်ကို သိပြီး တစ်ခုစီရဲ့ လက်တွေ့ အသုံးချပုံ တစ်ခုစီကို ပြောနိုင်ဖို့က A4.1.1 က တောင်းဆိုတဲ့ အချက်ပါ။
အကွက် သုံးကွက်က စနစ်တစ်ခု သင်ယူနိုင်တဲ့ နည်းလမ်းတွေပါ။ အောက်က ဘား နှစ်ခုက သုံးမျိုးလုံးနဲ့ သက်ဆိုင်ပါတယ်: deep learning က model ကိုယ်တိုင်ကို တည်ဆောက်တဲ့ နည်းလမ်း တစ်ခုဖြစ်ပြီး transfer learning က train ပြီးသား model တစ်ခု သင်ယူထားတာကို ပြန်သုံးပါတယ်။
ပုံထဲက စာတွေရဲ့ အဓိပ္ပာယ်: Three ways a system can learn (စနစ်တစ်ခု သင်ယူနိုင်တဲ့ နည်း သုံးမျိုး)၊ learns from labelled examples (label တပ်ထားတဲ့ ဥပမာတွေကနေ သင်ယူတယ်)၊ finds structure in unlabelled data (label မပါတဲ့ ဒေတာထဲက ဖွဲ့စည်းပုံကို ရှာတယ်)၊ learns from reward and penalty (ဆုနဲ့ ဒဏ်ကနေ သင်ယူတယ်)၊ Approaches that apply to all three (သုံးမျိုးလုံးနဲ့ တွဲသုံးနိုင်တဲ့ နည်းလမ်းများ)၊ many-layered neural networks, a way of building the model (အလွှာ အများပါတဲ့ neural network တွေ၊ model ကို တည်ဆောက်တဲ့ နည်းလမ်း တစ်ခု)၊ reuse what a model learned on a related task (ဆက်စပ်တဲ့ အလုပ် တစ်ခုမှာ model သင်ယူထားတာကို ပြန်သုံးခြင်း)။
Supervised learning (label တပ်ထားတဲ့ ဥပမာတွေကနေ သင်ယူခြင်း)
Supervised learning မှာ စနစ်က အဖြေမှန်နဲ့ label တပ်ထားတဲ့ ဥပမာတွေကနေ သင်ယူပါတယ်။ Input အများကြီးကို သူတို့ရဲ့ မှန်ကန်တဲ့ output နဲ့ တွဲပြီး မြင်ရလို့ input အသစ်တွေအတွက် output ကို ခန့်မှန်းတတ်လာပါတယ်။ အဓိက ပုံစံ နှစ်မျိုး ရှိပါတယ်: classification (အမျိုးအစား တစ်ခုကို ခန့်မှန်းခြင်း၊ ဥပမာ spam လား spam မဟုတ်လား) နဲ့ regression (ကိန်းဂဏန်း တစ်ခုကို ခန့်မှန်းခြင်း၊ ဥပမာ အိမ်ဈေး)။
အသုံးချပုံများ: ဆရာဝန်တွေ label တပ်ထားတဲ့ ဆေးပညာ scan ပုံတွေကနေ ရောဂါ ရှာဖွေ စစ်ဆေးခြင်း၊ spam စစ်ထုတ်ခြင်း၊ ဈေးနှုန်း ခန့်မှန်းခြင်း။
Unsupervised learning (label မပါတဲ့ ဒေတာကနေ သင်ယူခြင်း)
စနစ်က label မပါတဲ့ ဒေတာကနေ သင်ယူပါတယ်။ ဘယ်သူကမှ အဖြေမှန်ကို မပြောပြပါဘူး၊ သူ့ အလုပ်က ဒေတာထဲက ဖွဲ့စည်းပုံ (အုပ်စုတွေနဲ့ ပုံစံတွေ) ကို သူ့ဘာသာ ရှာဖို့ပါ။ အများအားဖြင့် clustering (ဆင်တူတဲ့ အရာတွေကို အုပ်စုတွေအဖြစ် စုခြင်း) နဲ့ ဒါမှမဟုတ် ကျန်တာတွေနဲ့ မတူတဲ့ အရာတွေကို ရှာဖော်ခြင်းနဲ့ ဒါကို လုပ်ပါတယ်။
အသုံးချပုံများ: marketing အတွက် ဈေးဝယ် အလေ့အထ ဆင်တူတဲ့ customer တွေကို အုပ်စုဖွဲ့ခြင်း၊ တိုက်ခိုက်မှု ဖြစ်နိုင်တဲ့ ပုံမှန်မဟုတ်တဲ့ network traffic (network (ကွန်ရက်) ပေါ်မှာ သွားလာနေတဲ့ ဒေတာ) ကို ရှာဖော်ခြင်း၊ document အများကြီး စုထားတာထဲက အဓိက ခေါင်းစဉ်တွေကို ရှာခြင်း။
Reinforcement learning (ဆုနဲ့ ဒဏ်ကနေ သင်ယူခြင်း)
စနစ်က စမ်းလိုက် မှားလိုက် (trial and error) နည်းနဲ့ သင်ယူပါတယ်: environment (ပတ်ဝန်းကျင်) တစ်ခု (ဂိမ်း၊ simulation ဒါမှမဟုတ် တကယ့် ကမ္ဘာ) ထဲမှာ action (လုပ်ဆောင်ချက်) တွေ လုပ်ပြီး အဲဒီ action တွေအတွက် ဆု (reward) ဒါမှမဟုတ် ဒဏ် (penalty) ကို ရပါတယ်။ အကြိမ်ကြိမ် စမ်းရင်း ဆု အများဆုံး ရစေတဲ့ strategy (နည်းဗျူဟာ) ကို သင်ယူပါတယ်။ ဘယ်သူကမှ မှန်ကန်တဲ့ ရွေ့ကွက်ကို မပြပါဘူး၊ ဘယ် ရွေ့ကွက်တွေက ဆု ရစေလဲ ဆိုတာကို သူ့ဘာသာ ရှာဖွေ သိရှိပါတယ်။
အသုံးချပုံများ: လူ ချန်ပီယံတွေကို အနိုင်ယူတဲ့ ဂိမ်းကစား program တွေ၊ လမ်းလျှောက်တတ်အောင် သင်ယူနေတဲ့ စက်ရုပ်တွေ၊ chatbot (လူနဲ့ စာနဲ့ စကားပြောတဲ့ program) တွေကို train လုပ်တဲ့ နောက်ပိုင်း အဆင့်တွေ။ နောက်ဆုံး ဥပမာမှာ ဘယ်အဖြေက ပိုအသုံးဝင်လဲ ဆိုတာကို လူတွေ အမှတ်ပေးတာကနေ ဆု ရပါတယ် (reinforcement learning from human feedback: လူတွေရဲ့ တုံ့ပြန်ချက်ကနေ reinforcement learning လုပ်ခြင်း)။
Deep learning (အလွှာ အများပါတဲ့ neural network နဲ့ သင်ယူခြင်း)
Deep learning က machine learning ရဲ့ subset (အစိတ်အပိုင်း တစ်ခု) ပါ: အလွှာ အများကြီး ပါတဲ့ artificial neural network တွေကို သုံးတဲ့ နည်းလမ်း အုပ်စုပါ။ Neural network ဆိုတာ ဦးနှောက် ဆဲလ်တွေကို အကြမ်းဖျင်း အခြေခံထားပြီး အလွှာတွေအဖြစ် စီထားတဲ့၊ အချင်းချင်း ချိတ်ဆက်ထားတဲ့ ယူနစ် သေးသေးလေးတွေ အများကြီးနဲ့ တည်ဆောက်ထားတဲ့ model တစ်ခုပါ။ အလွှာတွေကြောင့် raw data (ကောက်ယူထားတဲ့ အတိုင်း ရှိနေသေးပြီး ဘယ်သူမှ feature တွေ ရွေးမထုတ်ရသေးတဲ့ ဒေတာ) ကနေ တိုက်ရိုက် အလွန် ရှုပ်ထွေးတဲ့ ပုံစံတွေကို သင်ယူနိုင်ပါတယ်၊ ဥပမာ ပုံတွေရဲ့ pixel (ပုံထဲက အစက် တစ်စက်) တွေ၊ အသံ မှတ်တမ်းတွေနဲ့ စာသားတွေ။ များသောအားဖြင့် ဒေတာ အများကြီးနဲ့ တွက်ချက်နိုင်စွမ်း (computing power) အများကြီး လိုပါတယ်။
အသုံးချပုံများ: ပုံနဲ့ မျက်နှာ မှတ်သိခြင်း (image and face recognition)၊ စကားပြော အသံကို စာအဖြစ် ပြောင်းခြင်း (speech-to-text)၊ chatbot တွေနဲ့ တခြား generative AI (စာသား ဒါမှမဟုတ် ပုံ အသစ်တွေ ဖန်တီးပေးတဲ့ ဉာဏ်ရည်တု) တွေရဲ့ နောက်ကွယ်က large language model (စာသား အများကြီးနဲ့ train ထားတဲ့ ဘာသာစကား model) တွေ။
ပုံကို ဖတ်ပုံ: အပေါ်က ပုံမှာ deep learning က အကွက် သုံးကွက်လုံးရဲ့ အောက်က ဘား တစ်ခု ဖြစ်နေတာက သူတို့နဲ့ မတူတဲ့ မေးခွန်းကို ဖြေလို့ပါ။ အကွက်တွေက စနစ်တစ်ခု ဘာကနေ သင်ယူလဲ ဆိုတာကို ပြောပါတယ်: label တပ်ထားတဲ့ ဥပမာတွေ၊ label မပါတဲ့ ဒေတာ ဒါမှမဟုတ် ဆုတွေ။ Deep learning ကတော့ ဘယ်လို model မျိုးက သင်ယူတာလဲ ဆိုတာကို ပြောပါတယ်: အလွှာ အများကြီး ပါတဲ့ neural network။ ဒါကြောင့် project တစ်ခုက supervised ဖြစ်ပြီး deep လည်း ဖြစ်နိုင်ပါတယ်: အင်ဂျင်တွေရဲ့ အသံ မှတ်တမ်းတွေနဲ့ (တစ်ခုစီကို “healthy” (ကောင်းတယ်) ဒါမှမဟုတ် “faulty” (ချို့ယွင်းနေတယ်) လို့ label တပ်ထားပါတယ်) train လုပ်ထားတဲ့ အလွှာ အများပါ network တစ်ခုပါ။ နောက် project တစ်ခုက deep မဖြစ်ဘဲ supervised ဖြစ်နိုင်ပါတယ်: အရင်က ဘတ်စ်ကား ခရီးစဉ်တွေရဲ့ ဇယား တစ်ခုနဲ့ (ခရီးစဉ် တစ်ခုစီကို ကား နောက်ကျပြီး ရောက်လား မရောက်လား label တပ်ထားပါတယ်) train လုပ်ထားတဲ့ decision tree (ဒေတာအကြောင်း ဟုတ်/မဟုတ် မေးခွန်းတွေ အစဉ်လိုက် မေးတဲ့ model) တစ်ခုပါ။
Transfer learning (train ပြီးသား model ကို ပြန်သုံးခြင်း)
Transfer learning က အလုပ် တစ်ခုမှာ model သင်ယူထားတာကို ဆက်စပ်တဲ့ အလုပ် တစ်ခုအတွက် ပြန်သုံးပါတယ်၊ ဒါမှမဟုတ် အလုပ် တစ်ခုတည်းကို မတူတဲ့ အခြေအနေမှာ လုပ်ဖို့ ပြန်သုံးပါတယ် (ဥပမာ နေ့ခင်း ဓာတ်ပုံတွေနဲ့ train ပြီးနောက် ညဘက် ဓာတ်ပုံတွေထဲက အရာဝတ္ထု တူတူကို မှတ်သိခြင်း)။ အသုံးများတဲ့ နည်း တစ်ခု (ဒီ စာမျက်နှာမှာ ပြထားတဲ့ နည်း) က train ပြီးသား model ကို အစမှတ်အဖြစ် ယူပြီး အလုပ်အသစ်အတွက် ဒေတာ အနည်းငယ်နဲ့ ထပ် train တာပါ (ဒါကို fine-tuning လို့ ခေါ်ပါတယ်)။ ဒီလို model ကို ပြင်ဆင်ယူတာက model အသစ် တစ်ခုကို from scratch (ဘာမှ မသင်ယူရသေးတဲ့ model ကနေ စတာ) train လုပ်တာထက် ဒေတာနဲ့ computing power နည်းနည်းပဲ လိုနိုင်ပါတယ်။
အသုံးချပုံ: ယေဘုယျ ဓာတ်ပုံ သန်းပေါင်းများစွာနဲ့ train ထားတဲ့ ကြီးမားတဲ့ ပုံ model တစ်ခုကို ယူပြီး ဥပမာ ရာဂဏန်းလောက်နဲ့ပဲ သီးနှံရောဂါ တစ်မျိုးကို မှတ်သိအောင် ပြင်ဆင်ခြင်း။
မကြာခဏ ရောထွေးတတ်တဲ့ အချက်: train ပြီးသား model တစ်ခုကို သူ့ကို train ထားတဲ့ အလုပ်အတွက်ပဲ သုံးတာက ပုံ အသစ်တွေပေါ်မှာ သုံးရင်တောင် transfer learning မဟုတ်ပါဘူး။ နေ့စဉ် ဓာတ်ပုံ သန်းပေါင်းများစွာနဲ့ train ထားတဲ့ model တစ်ခု ရှိတဲ့ တောရိုင်း တိရစ္ဆာန် လေ့လာရေး အဖွဲ့ တစ်ဖွဲ့ကို စိတ်ကူးကြည့်ပါ။ အဲဒီ model ကို ဘာမှ မပြောင်းဘဲ အဖွဲ့ရဲ့ camera-trap ပုံတွေ (တိရစ္ဆာန်တွေ ဖြတ်သွားတဲ့အခါ အလိုအလျောက် ရိုက်တဲ့ ကင်မရာတွေက ရိုက်ထားတဲ့ ဓာတ်ပုံတွေ) ပေါ်မှာ run ရင် “dog” (ခွေး) ဒါမှမဟုတ် “cat” (ကြောင်) လို label တွေ ထွက်လာပါတယ်: အဖွဲ့က model ကို သူ့ မူလ အလုပ်အတွက်ပဲ သုံးနေတာပါ။ သူတို့ရဲ့ ထိန်းသိမ်းရေး နယ်မြေထဲမှာ တွေ့ရတဲ့ မျိုးစိတ် 12 မျိုးကို နာမည်ပေးနိုင်အောင် (ဆက်စပ်ပေမယ့် အသစ်ဖြစ်တဲ့ အလုပ်) လုပ်ဖို့ model ရဲ့ နောက်ဆုံး layer (အလွှာ) ကို output 12 ခု ပါတဲ့ layer တစ်ခုနဲ့ အစားထိုးပြီး label တပ်ထားတဲ့ camera-trap ပုံ 400 နဲ့ train လုပ်ပါတယ်။ အရင် layer တွေနဲ့ ပုံတွေအကြောင်း အဲဒီ layer တွေ သင်ယူထားတာတွေကိုတော့ ဆက်ထားပါတယ်။ Model သင်ယူထားတာကို အဲဒီ အလုပ်အသစ်အတွက် ပြန်သုံးတာ (ဒီမှာတော့ ထပ် train ပြီး ပြန်သုံးတာ) က transfer learning ပါ။
လက်တွေ့ ကမ္ဘာက အသုံးချပုံများ
Syllabus မှာ ဥပမာအဖြစ် application ခြောက်ခုကို ဖော်ပြထားပါတယ်။ အများစုက သင်ယူပုံ အမျိုးအစား တစ်ခုထက် ပိုပြီး ပေါင်းသုံးပါတယ်။
| Application | ဘာလုပ်လဲ | များသောအားဖြင့် နောက်ကွယ်က သင်ယူပုံ အမျိုးအစားများ |
|---|---|---|
| Market basket analysis (အတူ ဝယ်လေ့ရှိတဲ့ ပစ္စည်းတွေကို ရှာဖွေ လေ့လာခြင်း) | အတူတူ ဝယ်လေ့ရှိတဲ့ ပစ္စည်းတွေကို ရှာပါတယ်၊ ဥပမာ ဖုန်းကာဗာနဲ့ screen protector (ဖုန်း မျက်နှာပြင် ကာ) | Unsupervised: ဘယ် ပစ္စည်းတွေ အတူ သွားလဲ ဆိုတာ ကြိုပြီး ဘယ်သူမှ မပြောထားပါဘူး၊ program က order (မှာယူမှု) အများကြီးမှာ အတူတူ ပါလာတဲ့ ပစ္စည်းတွေကို ရှာပါတယ် (association rule (X ဝယ်ရင် Y ပါ ဝယ်တတ်တယ်ဆိုတဲ့ ပုံစံ) များ) |
| Medical imaging diagnostics (ဆေးပညာ ပုံရိပ်တွေကနေ ရောဂါ ရှာဖွေ စစ်ဆေးခြင်း) | X-ray၊ scan ပုံတွေနဲ့ အဏုကြည့်မှန်ပြောင်း ပုံတွေထဲမှာ ရောဂါ လက္ခဏာတွေကို ရှာဖော်ပါတယ် | Supervised နဲ့ deep learning၊ အထူးကု ကျွမ်းကျင်သူတွေ label တပ်ထားတဲ့ ပုံတွေနဲ့ train လုပ်ထားပါတယ်။ Label တပ်ထားတဲ့ ဆေးပညာ ပုံတွေ ရှားလို့ transfer learning ကိုလည်း မကြာခဏ သုံးပါတယ် |
| Natural language processing (လူ့ ဘာသာစကားကို ကွန်ပျူတာနဲ့ ကိုင်တွယ်ခြင်း) | လူ့ ဘာသာစကားနဲ့ အလုပ်လုပ်ပါတယ်: ဘာသာပြန်ခြင်း၊ အကျဉ်းချုပ်ခြင်း၊ chatbot | အလွန် များပြားတဲ့ စာသားတွေပေါ်မှာ deep learning၊ large language model တွေကို ယေဘုယျ စာသားတွေနဲ့ အရင် train ပြီးမှ သီးခြား အလုပ်တွေအတွက် ပြင်ဆင်ပါတယ် (transfer learning) |
| Object detection and classification (ပုံထဲက အရာဝတ္ထုတွေကို ရှာပြီး အမည်တပ်ခြင်း) | ပုံ တစ်ပုံထဲက အရာဝတ္ထု တစ်ခုချင်းစီကို ရှာပြီး အမည်တပ်ပါတယ်၊ ဥပမာ လမ်း ဓာတ်ပုံ တစ်ပုံထဲက ကားတွေ၊ စက်ဘီး စီးသူတွေနဲ့ လမ်းဆိုင်းဘုတ်တွေ | Supervised deep learning၊ အရာဝတ္ထု တစ်ခုချင်းနဲ့ သူ့ နေရာကို လူတွေ အမှတ်အသား လုပ်ထားတဲ့ ပုံတွေနဲ့ train လုပ်ထားပါတယ် |
| Robotics navigation (စက်ရုပ် လမ်းကြောင်း ရှာပြီး သွားလာခြင်း) | စက်ရုပ် တစ်ရုပ်ကို နေရာ တစ်ခုထဲမှာ ဘေးကင်းကင်း ရွှေ့သွားစေပါတယ်၊ ဥပမာ ဂိုဒေါင် ကြမ်းပြင် | ရွေ့လျားမှုတွေ ရွေးဖို့ reinforcement learning (မကြာခဏ simulation ထဲမှာ အရင် လေ့ကျင့်ပါတယ်)၊ ကင်မရာ ပုံတွေထဲက အတားအဆီးတွေကို မှတ်သိဖို့ supervised deep learning |
| Sentiment analysis (စာသားရဲ့ ခံစားချက်ကို ခွဲခြမ်းစိတ်ဖြာခြင်း) | Review (သုံးသပ်ချက်) ဒါမှမဟုတ် comment တစ်ခုက အပြုသဘော၊ အပျက်သဘော ဒါမှမဟုတ် ကြားနေ ဖြစ်လား ဆုံးဖြတ်ပါတယ် | ခံစားချက်နဲ့ label တပ်ထားတဲ့ စာသားတွေပေါ်မှာ supervised learning၊ ယေဘုယျ စာသားနဲ့ train ပြီးသား language model တစ်ခုကနေ မကြာခဏ စပါတယ် (transfer learning) |
Model တစ်ခု တကယ် ဘယ်လို သင်ယူလဲ: Perceptron (အရိုးရှင်းဆုံး neuron အတု) (HL)
Perceptron နဲ့ multi-layer perceptron က HL အကြောင်းအရာ (A4.3.8) ဖြစ်ပြီး သင်ယူမှု ဘယ်လို ဖြစ်လဲ ဆိုတာကို ပထမဆုံး ကြည့်ဖို့ ဒီမှာ ထည့်ထားတာပါ။ SL ကျောင်းသားတွေက hardware အပိုင်းအထိ ကျော်သွားနိုင်ပါတယ်။
Model တစ်ခု “သင်ယူတယ်” လို့ ပြောတဲ့အခါ တကယ်တော့ ဘာ ပြောင်းသွားတာလဲ။ Perceptron က အဖြေကို အရိုးရှင်းဆုံး ပုံစံနဲ့ ပြပါတယ်။ သူက binary classification (input တွေကို class နှစ်ခုထဲက တစ်ခုထဲ ခွဲထည့်ခြင်း) အတွက် model သေးသေးလေး တစ်ခုဖြစ်ပြီး ဦးနှောက် ဆဲလ် (neuron) တစ်ခုကို အကြမ်းဖျင်း အခြေခံထားပါတယ်။ Training က prediction တစ်ခုချင်းစီ လုပ်ဖို့ သူ သုံးတဲ့ ကိန်းဂဏန်းတွေကို ပြောင်းလဲပေးပါတယ်။
Perceptron မှာ အပိုင်း ငါးပိုင်း ပါပါတယ်။ သူ့ရဲ့ input တွေက သူ့ကို ပေးတဲ့ ကိန်းဂဏန်းတွေပါ။ Input တစ်ခုစီမှာ weight (model သင်ယူထားတဲ့ ကိန်းဂဏန်း တန်ဖိုး) တစ်ခုစီ ရှိပြီး အဲဒီ input က ဘယ်လောက် အရေးပါလဲ ဆိုတာကို weight က သတ်မှတ်ပါတယ်။ Perceptron က input တစ်ခုစီကို သူ့ weight နဲ့ မြှောက်၊ ရလဒ်တွေကို ပေါင်းပြီး နောက်ထပ် ကိန်းဂဏန်း တစ်ခု ဖြစ်တဲ့ bias ကို ထပ်ပေါင်းပါတယ်။ ပြီးရင် ဒီ စုစုပေါင်းကို activation function ထဲ ဖြတ်သွားစေပြီး အဲဒီ function က စုစုပေါင်းကို output အဖြစ် ပြောင်းပေးပါတယ်။ အရိုးရှင်းဆုံး perceptron မှာ activation function က step (လှေကားထစ်) တစ်ခုပါ: စုစုပေါင်းက 0 ထက် ကြီးရင် output က 1 ဖြစ်ပြီး မဟုတ်ရင် 0 ဖြစ်ပါတယ်။ Weight တွေက class နှစ်ခုကြားက boundary (နယ်နိမိတ်) ရဲ့ ဦးတည်ရာကို သတ်မှတ်ပါတယ်၊ အဲဒီ boundary က 1 ရတဲ့ input တွေကို 0 ရတဲ့ input တွေကနေ ခွဲပေးပါတယ်။ Input နှစ်ခု ရှိရင် boundary က မျဉ်းဖြောင့် တစ်ကြောင်း ဖြစ်ပြီး သုံးခု ရှိရင် ပြားချပ်တဲ့ မျက်နှာပြင် (plane) တစ်ခု ဖြစ်ပါတယ်။ Bias က boundary ကို မလှည့်ဘဲ ရွှေ့ပေးတာမို့ input အားလုံး 0 ဖြစ်တဲ့ အမှတ်ကို boundary က ဖြတ်သွားစရာ မလိုပါဘူး။
သင်ယူတယ် ဆိုတာ weight တွေနဲ့ bias ကို ချိန်ညှိတာပါ: perceptron က training ဥပမာ တစ်ခုကို မှားပြီး ခွဲခြားလိုက်တိုင်း နောက်တစ်ကြိမ်မှာ အဲဒီ ဥပမာကို မှန်ဖို့ ပိုများအောင် weight နဲ့ bias ကို နည်းနည်းစီ ရွှေ့ပါတယ်။ Class နှစ်ခုကို ဒီလို boundary မျိုး (input နှစ်ခုအတွက်ဆိုရင် မျဉ်းဖြောင့်) နဲ့ ခွဲလို့ရရင် ထပ်ခါထပ်ခါ ချိန်ညှိခြင်းက အဲဒီလို boundary တစ်ခုကို ရှာတွေ့နိုင်ပါတယ်။ အမှားတွေ လျော့သွားအောင် model ရဲ့ ကိန်းဂဏန်းတွေကို တစ်ဆင့်ချင်း ချိန်ညှိတာက ဒီ topic ရဲ့ နောက်ပိုင်းက ပိုကြီးတဲ့ neural network တွေကို train လုပ်တဲ့ အခြေခံ အယူအဆလည်း ဖြစ်ပါတယ်။
Input နှစ်ခု ရှိရင် single perceptron တစ်ခုက class တွေကို မျဉ်းဖြောင့် တစ်ကြောင်းတည်းနဲ့ ခွဲတာမို့ XOR (exclusive OR: input နှစ်ခုထဲက တစ်ခုတည်း အတိအကျ 1 ဖြစ်မှ 1 ထုတ်ပေးတာ) လို ပြဿနာတွေကို မဖြေရှင်းနိုင်ပါဘူး: XOR ရဲ့ 1 တွေကို 0 တွေကနေ ခွဲပေးနိုင်တဲ့ မျဉ်းဖြောင့် မရှိပါဘူး။ Perceptron တွေကို layer တွေအဖြစ် ထပ်စီလိုက်ရင် အဲဒီ ကန့်သတ်ချက် ပျောက်သွားပါတယ်။ Multi-layer perceptron (MLP) (အလွှာ အများပါတဲ့ perceptron network) မှာ input layer (ဒေတာ ဝင်တဲ့ အလွှာ) က ဒေတာကို လက်ခံပါတယ်၊ hidden layer (input နဲ့ output ကြားက အလွှာ) တစ်ခု ဒါမှမဟုတ် တစ်ခုထက်ပိုတာတွေက ဒေတာကို ပေါင်းစပ်ပြီး ပုံစံ ပြောင်းပါတယ်၊ output layer (ရလဒ် ထုတ်ပေးတဲ့ အလွှာ) က ရလဒ်ကို ပေးပါတယ်။ Neuron တိုင်းက သူ့ output ကို နောက် layer ဆီ ရှေ့ဆက် ပို့ပါတယ်။ Hidden neuron တစ်ခုစီက ဒေတာရဲ့ feature တစ်ခုကို တုံ့ပြန်ပြီး နောက် layer က အဲဒီ feature တွေကို ပေါင်းစပ်တာမို့ network က မျဉ်း ဒါမှမဟုတ် မျဉ်းကွေး အများအပြားနဲ့ ဖွဲ့ထားတဲ့ boundary တွေကို ဆွဲနိုင်ပြီး မျဉ်းဖြောင့် boundary တစ်ကြောင်းတည်းနဲ့ မရနိုင်တဲ့ ပုံစံတွေကို model လုပ်နိုင်ပါတယ်။ ဒီလို network တွေကို classification (input တစ်ခုက ဘယ် class ထဲ ပါလဲ)၊ regression (ကိန်းဂဏန်း တစ်ခုကို ခန့်မှန်းခြင်း၊ ဥပမာ မနက်ဖြန် လျှပ်စစ် သုံးစွဲမှု ပမာဏ) နဲ့ pattern recognition (raw data ထဲက ပုံစံတွေကို ရှာခြင်း၊ ဥပမာ စကားပြော အသံ မှတ်တမ်း တစ်ခုထဲက စကားလုံးတွေ) အတွက် သုံးပါတယ်။ Hidden layer တွေရဲ့ weight တွေကို သင်ယူတဲ့ network တွေက step ထက် ပိုချောမွေ့တဲ့ activation function တွေကို သုံးပါတယ်၊ ဘာလို့လဲဆိုတော့ သူတို့ရဲ့ training နည်းလမ်းက weight တစ်ခုကို နည်းနည်း ပြောင်းရင် output ဘယ်လောက် ပြောင်းလဲ ဆိုတာကို သိဖို့ လိုလို့ပါ။ ဒီ layer လိုက် ဖွဲ့စည်းပုံက deep learning ရဲ့ အုတ်မြစ်ဖြစ်ပြီး training and evaluating စာမျက်နှာက အဲဒီအပေါ်မှာ ဆက်တည်ဆောက်ထားပါတယ်။
ဘယ်ဘက်: single perceptron တစ်ခုက input တစ်ခုစီကို သူ့ weight နဲ့ မြှောက်၊ ရလဒ်တွေနဲ့ bias ကို ပေါင်းပြီး output ကို ဆုံးဖြတ်ဖို့ စုစုပေါင်းကို activation function (ဒီမှာ step) ထဲ ဖြတ်သွားစေပါတယ်။ ညာဘက်: ဒီလို ယူနစ်တွေကို layer တွေအဖြစ် ထပ်စီထားတာပါ။ Node (neuron) တစ်ခုစီက သူ့ output ကို နောက် layer ထဲက node တိုင်းဆီ ပို့ပြီး သင်ယူခြင်းက ချိတ်ဆက်မှု တိုင်းပေါ်က weight နဲ့ hidden node၊ output node တိုင်းရဲ့ bias ကို ချိန်ညှိပါတယ်။
ပုံထဲက စာတွေရဲ့ အဓိပ္ပာယ်: Single perceptron (perceptron တစ်ခုတည်း)၊ x1, x2, x3 (input တွေ)၊ w1, w2, w3 (weight တွေ)၊ b နဲ့ bias၊ Σ နဲ့ weighted sum (weight နဲ့ မြှောက်ထားတဲ့ input တွေရဲ့ ပေါင်းလဒ်)၊ activation function (step)၊ output၊ Multi-layer perceptron၊ input layer၊ hidden layer၊ output layer။
Network တစ်ခုရဲ့ hidden layer တွေက အရင် layer တွေက ရိုးရှင်းတဲ့ feature တွေကို ပိုရှုပ်ထွေးတဲ့ feature တွေအဖြစ် ဘယ်လို ပေါင်းစပ်သွားလဲ ပြပါတယ်၊ ဒီလို ဆက်သွားပြီး နောက်ဆုံးမှာ output layer က ဆုံးဖြတ်ချက် ချနိုင်လာပါတယ်။ Deep learning ကို deep (နက်) လို့ ဘာကြောင့် ခေါ်လဲ ဆိုတာလည်း ရှင်းပြပါတယ်: အဲဒီ စကားလုံးက input နဲ့ output ကြားက hidden layer အများကြီးကို ဆိုလိုတာပါ။
ဒီ ဖွဲ့စည်းပုံကိုပဲ ပိုနက်နက် ကြည့်ချင်ရင် 3Blue1Brown ရဲ့ But what is a neural network? (18 မိနစ်) video က input၊ hidden နဲ့ output layer တွေ တကယ့် လက်ရေး ဂဏန်းတွေပေါ်မှာ အလုပ်လုပ်ပုံကို ပုံဆွဲ ပြထားပါတယ်။
ကိုယ်တိုင် စမ်းကြည့်ပါ: perceptron simulator က neuron တစ်ခုတည်းကို logic gate (input bit တွေကနေ output bit တစ်ခု ထုတ်ပေးတဲ့ circuit အစိတ်အပိုင်း) တွေနဲ့ train လုပ်ပါတယ်။ AND ကို သင်ယူနေစဉ် သူ့ boundary line လှည့်သွားတာကို ကြည့်ပါ၊ ပြီးရင် XOR အတွက် boundary တစ်ခုမှာ အခြေမကျ ရပ်မသွားတာနဲ့ hidden layer တစ်ခုက ဒါကို ဘယ်လို ဖြေရှင်းလဲ ဆိုတာကို ကြည့်ပါ။
Machine learning ကို run တဲ့ hardware
Model တွေကို train လုပ်တာနဲ့ run တာက တွက်ချက်မှု အများကြီး လိုပြီး hardware ရွေးချယ်တာက မြန်နှုန်း၊ ကုန်ကျစရိတ်နဲ့ စွမ်းအင် သုံးစွဲမှုကို သက်ရောက်တဲ့ အင်ဂျင်နီယာဆိုင်ရာ ဆုံးဖြတ်ချက် တစ်ခုပါ (A4.1.2)။ အဓိက အယူအဆက machine learning ရဲ့ အလုပ် အများစုဟာ တစ်ပြိုင်နက် လုပ်လို့ရတဲ့ ရိုးရှင်းတဲ့ တွက်ချက်မှု (အများအားဖြင့် ကိန်းဂဏန်းတွေကို မြှောက်တာနဲ့ ပေါင်းတာ) အလွန် အများကြီး ဖြစ်တာပါ၊ ဒါကြောင့် တွက်ချက်မှု အများကြီးကို parallel (တစ်ပြိုင်နက်) run တဲ့ hardware က အလွန် သင့်တော်ပါတယ်။
Model ကို train လုပ်ခြင်းနဲ့ သုံးခြင်း
Model တစ်ခုကို အဆင့် နှစ်ဆင့်နဲ့ သုံးပြီး အဲဒီ အဆင့်တွေရဲ့ hardware လိုအပ်ချက်တွေက အများကြီး ကွာနိုင်ပါတယ်။ Training က model ကို တည်ဆောက်ပါတယ်။ ဥပမာ neural network တစ်ခုကို train လုပ်တယ် ဆိုတာ dataset တစ်ခုလုံးကို အကြိမ်ကြိမ် ဖြတ်သွားပြီး တစ်ကြိမ်တိုင်း model ရဲ့ ကိန်းဂဏန်းတွေကို ချိန်ညှိတာပါ: တစ်ကြိမ်ပဲ ဒါမှမဟုတ် ရံဖန်ရံခါ လုပ်ရတဲ့၊ မကြာခဏ အားကောင်းတဲ့ hardware ပေါ်မှာ လုပ်ရတဲ့ အလွန် များပြားတဲ့ တွက်ချက်မှုပါ။ Inference (train ပြီးသား model နဲ့ ခန့်မှန်းချက် ထုတ်ခြင်း) ဆိုတာ train ပြီးသား model ကို prediction တွေ လုပ်ဖို့ သုံးတာပါ။ Neural network တစ်ခုအတွက် prediction တစ်ခုစီက training တုန်းကထက် တွက်ချက်မှု အများကြီး နည်းပေမယ့် တစ်ရက်ကို prediction သန်းပေါင်းများစွာ ရှိနိုင်ပြီး မြန်နှုန်း၊ battery သက်တမ်းနဲ့ privacy (ကိုယ်ရေးကိုယ်တာ လုံခြုံမှု) အရေးကြီးတဲ့ စက်ငယ်လေးတွေပေါ်မှာ မကြာခဏ လုပ်ရပါတယ်။ ဒါကြောင့် model ကြီး တစ်ခုကို data centre (ချိတ်ဆက်ထားတဲ့ ကွန်ပျူတာတွေ အပြည့်ရှိတဲ့ အဆောက်အအုံ) မှာ train လုပ်ပြီး ဖုန်းပေါ်မှာ run နိုင်ပါတယ်၊ model သေးသေး တစ်ခုကိုတော့ laptop တစ်လုံးတည်းပေါ်မှာ train လည်း လုပ်၊ သုံးလည်း သုံးနိုင်ပါတယ်။
Laptop ကနေ အဆင့်မြင့် infrastructure အထိ
| Hardware | ဘာလဲ | ဘယ်နေရာမှာ သင့်တော်လဲ |
|---|---|---|
| Standard laptop (CPU) | CPU (ကွန်ပျူတာရဲ့ အဓိက processor) ပါတဲ့၊ အလုပ် အမျိုးမျိုး လုပ်နိုင်တဲ့ ယေဘုယျ ကွန်ပျူတာ၊ မကြာသေးခင်က ထုတ်တဲ့ laptop အများအပြားမှာ graphics processor (ဂရပ်ဖစ် processor) သေးသေး တစ်ခု ဒါမှမဟုတ် neural network သင်္ချာ တွက်ဖို့ chip တစ်ခုလည်း ပါပါတယ် | လေ့လာခြင်း၊ dataset အသေးတွေ၊ hardware ပိုကြီးကြီးပေါ်မှာ မ train ခင် model ကို တည်ဆောက်ပြီး စမ်းသပ်ခြင်း၊ model ကြီးတွေကို train ဖို့တော့ နှေးလွန်းပါတယ် |
| GPU | Core (ညွှန်ကြားချက်တွေကို သီးခြား run နိုင်တဲ့ processor ထဲက processing unit) ထောင်ပေါင်းများစွာနဲ့ သင်္ချာ တွက်ချက်မှုတွေကို parallel လုပ်တဲ့ graphics processor | Training အတွက် အသုံးအများဆုံး ရွေးချယ်မှု၊ တွက်ချက်မှု အများကြီးကို တစ်ပြိုင်နက် run လို့ရတဲ့ အလုပ်နဲ့ သင့်တော်ပါတယ် |
| TPU | Tensor Processing Unit: neural network သင်္ချာ (tensor လို့ ခေါ်တဲ့ ကိန်းဂဏန်း ဇယားကွက် ကြီးတွေပေါ်က တွက်ချက်မှု) အတွက် သီးသန့် Google က ဒီဇိုင်းလုပ်ထားတဲ့ chip | Google ရဲ့ cloud ကနေ ငှားသုံးရတဲ့ Cloud TPU တွေကို deep-learning model ကြီးတွေ train လုပ်ဖို့နဲ့ run ဖို့ တည်ဆောက်ထားပါတယ်၊ ပိုသေးတဲ့ Edge TPU တွေက train ပြီးသား model တွေကို စက်တွေထဲမှာ run ပါတယ်။ တစ်ခုစီက သူ့ software က ထောက်ပံ့တဲ့ model တွေကိုပဲ run ပါတယ် |
| ASIC | Application-Specific Integrated Circuit: အလုပ် တစ်မျိုးအတွက် circuit တွေကို ဒီဇိုင်းလုပ်ထားပြီး ထုတ်လုပ်ချိန်မှာတင် ပုံသေ သတ်မှတ်လိုက်တဲ့ chip။ Neural network တွေအတွက် တည်ဆောက်ထားတဲ့ ASIC က သူ့ ဒီဇိုင်းအရ ထောက်ပံ့နိုင်တဲ့ ကန့်သတ်ချက်အတွင်းမှာ မတူတဲ့ neural network အများကြီးကို run နိုင်ပါသေးတယ် (TPU က ဒီလို ASIC မျိုး တစ်ခုပါ) | အလွန် အရေအတွက် များများ ထုတ်တဲ့ စက်တွေ ဒါမှမဟုတ် အလွန် ကြီးတဲ့ အလုပ်တွေ၊ မြန်နှုန်းနဲ့ စွမ်းအင် သုံးစွဲမှုက အရေးအကြီးဆုံး ဖြစ်တဲ့ နေရာတွေ၊ ဥပမာ ဖုန်း သန်းပေါင်းများစွာထဲက neural-network chip |
| FPGA | Field-Programmable Gate Array: ထုတ်လုပ်ပြီးနောက်မှာ circuit တွေကို ပြန်ပြင်ဆင် သတ်မှတ်လို့ရတဲ့ chip | အလုပ်အတွက် သီးသန့် ဒီဇိုင်းလုပ်ထားတဲ့ circuit တွေရဲ့ မြန်နှုန်း လိုသလို အဲဒီ circuit တွေကို ပြောင်းလို့ရဖို့လည်း လိုတဲ့အခါ |
| Edge devices | Data centre ထဲမှာ မဟုတ်ဘဲ network ရဲ့ အစွန်း (edge) မှာ၊ ဒေတာ ထွက်လာတဲ့ နေရာမှာပဲ train ပြီးသား model ကို run တဲ့ ဖုန်းတွေ၊ smart ကင်မရာတွေ၊ ကားတွေနဲ့ sensor (အာရုံခံ ကိရိယာ) တွေ | အဖြေ မြန်မြန် ရခြင်း။ App ကို ဘယ်လို ဒီဇိုင်းလုပ်ထားလဲ ပေါ်မူတည်ပြီး စက်ပေါ်က model က network ချိတ်ဆက်မှု မရှိဘဲ အလုပ်လုပ်နိုင်ပြီး raw data ကို စက်ပေါ်မှာပဲ ထားနိုင်ပါတယ်။ Model တွေက စက်ရဲ့ memory (မှတ်ဉာဏ်) နဲ့ battery အတွက် လုံလောက်အောင် သေးရပါမယ် |
| Cloud platforms | အင်တာနက်ကနေ ငှားသုံးပြီး သုံးသလောက် ပေးရတဲ့ processor တွေ (CPU၊ GPU နဲ့ provider တချို့ဆီက TPU) နဲ့ storage (ဒေတာကို ရေရှည် သိမ်းထားတဲ့ နေရာ) | အားကောင်းတဲ့ hardware ကို မဝယ်ဘဲ ရယူခြင်း၊ အလုပ် ပြောင်းလဲသလို ပိုများများ ဒါမှမဟုတ် ပိုနည်းနည်း ငှားခြင်း |
| HPC centres | High-performance computing: supercomputer (အလွန် စွမ်းအားမြင့်တဲ့ ကွန်ပျူတာ) တစ်လုံးအဖြစ် ချိတ်ဆက်ထားတဲ့ စက် အများကြီး | အကြီးဆုံး model တွေကို train လုပ်ခြင်းနဲ့ စက် တစ်လုံးတည်းဆိုရင် အရမ်း နှေးလွန်းမယ့် သိပ္ပံ သုတေသန |
Hardware ရွေးချယ်ခြင်း
ဘယ် အခြေအနေအတွက်မဆို အချက် သုံးချက်ကို ချိန်ဆပါ:
- Processing (တွက်ချက် လုပ်ဆောင်ခြင်း): အလုပ်က တွက်ချက်မှု ဘယ်လောက် လိုလဲ၊ အဖြေတွေကို ဘယ်လောက် မြန်မြန် လိုလဲ။
- Storage (သိမ်းဆည်းခြင်း): dataset က ဘယ်လောက် ကြီးလဲ (ပုံ၊ အသံနဲ့ video တွေက ကိန်းဂဏန်း ဇယားတွေထက် နေရာ အများကြီး ပိုယူပါတယ်)၊ model က သူ့ကို run မယ့် စက်ရဲ့ memory ထဲ ဆံ့လား။
- Scalability (ဒေတာ များလာတဲ့အခါမှာလည်း ကောင်းကောင်း ဆက်အလုပ်လုပ်နိုင်မှု): ဒေတာ ပိုများလာတာ၊ model ပိုကြီးလာတာ ဒါမှမဟုတ် သုံးသူ ပိုများလာတာနဲ့အမျှ hardware ကို တိုးချဲ့နိုင်လား၊ ဥပမာ cloud စက်တွေ ပိုငှားခြင်း၊ cluster (အတူ အလုပ်လုပ်တဲ့၊ ချိတ်ဆက်ထားတဲ့ ကွန်ပျူတာ အုပ်စု) ထဲ ကွန်ပျူတာတွေ ထပ်ထည့်ခြင်း ဒါမှမဟုတ် ကိုယ့်အလုပ် ကိုယ်လုပ်တဲ့ စက်တွေကို ပိုရောင်းခြင်း။
အကြမ်းဖျင်း ရွေးနည်း: လေ့လာဖို့နဲ့ project အသေးလေးတွေအတွက် standard laptop၊ ယေဘုယျ training အတွက် GPU၊ အလုပ်က chip ရဲ့ ဒီဇိုင်းနဲ့ ကိုက်ညီတဲ့အခါ အလွန် ကြီးတဲ့ အလုပ်တွေ ဒါမှမဟုတ် အရေအတွက် များများ ထုတ်တဲ့ စက်တွေအတွက် TPU ဒါမှမဟုတ် တခြား ASIC၊ မြန်နှုန်း လိုပေမယ့် circuit တွေကို ပြောင်းနိုင်တဲ့ လွတ်လပ်မှုလည်း လိုတဲ့အခါ FPGA၊ အဖြေ မြန်ရမယ် ဒါမှမဟုတ် ဒေတာကို ကောက်ယူတဲ့ နေရာမှာပဲ ထားရမယ် ဆိုရင် edge device၊ ကိုယ်ပိုင်တဲ့ hardware ထက် အားပိုလိုရင် cloud ဒါမှမဟုတ် HPC။ ဒီ chip တွေကြားက trade-off (တစ်ခု ရဖို့ တစ်ခု အလျှော့ပေးရတာ) က specialisation versus flexibility (သီးသန့်ဖြစ်မှု နဲ့ ပြောင်းလွယ်ပြင်လွယ် ရှိမှု) ပါ: အလုပ် တစ်မျိုးအတွက် တည်ဆောက်ထားတဲ့ chip က သူ့ ဒီဇိုင်းနဲ့ ကိုက်တဲ့ အလုပ်မှာ ပိုမြန်ပြီး စွမ်းအင် ပိုနည်းနည်း သုံးနိုင်ပေမယ့် တခြား အလုပ် အမျိုးအစားတွေကို လုပ်နိုင်စွမ်း နည်းပါတယ်။ Cloud platform တွေနဲ့ HPC centre တွေအတွက်တော့ trade-off တွေက ကုန်ကျစရိတ်၊ ထိန်းချုပ်နိုင်မှုနဲ့ ဒေတာ ဘယ်ကို သွားရမလဲ ဆိုတာပါ။
နောက်ထပ် ဘာ ဆက်လေ့လာမလဲ
ဒီ စာမျက်နှာမှာ machine learning ဆိုတာ ဘာလဲ၊ အမျိုးအစား ငါးမျိုးနဲ့ machine learning ကို run တဲ့ hardware တို့ကို လေ့လာခဲ့ပါတယ်။ နောက် စာမျက်နှာ နှစ်ခုက အများအားဖြင့် HL အဆင့်မှာ ပိုနက်နက် ဆက်သွားပါတယ်:
- Types of Learning (သင်ယူမှု အမျိုးအစားများ) က supervised၊ unsupervised နဲ့ reinforcement learning ရဲ့ နောက်ကွယ်က algorithm (အယ်လ်ဂိုရီသမ်၊ ပြဿနာကို အဆင့်ဆင့် ဖြေရှင်းတဲ့ နည်းလမ်း) တွေကို ရှင်းပြပါတယ်။
- Training and Evaluating a Model (Model ကို train လုပ်ခြင်းနဲ့ အကဲဖြတ်ခြင်း) က ဒေတာကနေ model တွေကို ဘယ်လို တည်ဆောက်လဲ၊ model တစ်ခု ဘယ်လောက် ကောင်းကောင်း အလုပ်လုပ်လဲ ဘယ်လို အကဲဖြတ်မလဲ ဆိုတာကို လေ့လာပါတယ်။
Ethics of Machine Learning (machine learning ရဲ့ ကျင့်ဝတ်ဆိုင်ရာ အချက်များ) က ဒီ စာမျက်နှာ အားလုံးနဲ့ တွဲလျက် ဖြစ်ပါတယ်: ဒီမှာ ဖော်ပြထားတဲ့ application တစ်ခုစီကို လူ အစစ်တွေပေါ်မှာ သုံးလိုက်တာနဲ့ bias (ဘက်လိုက်မှု)၊ privacy၊ သူ့ ဆုံးဖြတ်ချက်တွေကို ရှင်းပြနိုင်လား၊ အဲဒီ ဆုံးဖြတ်ချက်တွေအတွက် ဘယ်သူ တာဝန်ရှိလဲ ဆိုတဲ့ မေးခွန်းတွေ ပေါ်လာပါတယ်။
ထပ်ဆင့် လေ့လာရန်: မဖတ်မနေရ မဟုတ်တဲ့ stretch (စာမေးပွဲ မမေးတဲ့ ထပ်ဆင့် လေ့လာစရာ) စာမျက်နှာ သုံးခုက အပေါ်က application တချို့ ဘယ်လို အလုပ်လုပ်လဲ ဆိုတာကို ရှင်းပြပါတယ်။ အဲဒီ စာမျက်နှာတွေထဲက ဘာကိုမှ စာမေးပွဲမှာ မမေးပါဘူး။ How Large Language Models Work (Large Language Model တွေ အလုပ်လုပ်ပုံ) က chatbot တွေ နောက်ကွယ်က နည်းပညာ ဖြစ်တဲ့ natural language processing ကို ရှင်းပြပါတယ်။ How AI Image Generation Works (AI က ပုံတွေကို ဘယ်လို ဖန်တီးလဲ) က generative AI အတွက် အလားတူ ရှင်းပြပြီး ပုံ ဖန်တီးတဲ့ နည်း သုံးမျိုးကို နှိုင်းယှဉ်ပါတယ်။ AI Beyond Machine Learning (Machine learning ထက် ကျယ်တဲ့ AI) က သင်ယူခြင်း အစား စည်းမျဉ်းတွေနဲ့ ရှာဖွေခြင်း (search) ကို သုံးတဲ့ AI ရဲ့ အပိုင်းတွေကို လေ့လာပါတယ်၊ ဥပမာ အတားအဆီးတွေကို မှတ်သိခြင်း လို သင်ယူထားတဲ့ ကျွမ်းကျင်မှုတွေနဲ့ စက်ရုပ်တွေ ပေါင်းသုံးတဲ့ လမ်းကြောင်း စီစဉ်ခြင်း (route planning)။ ဒီ ကွာခြားချက်က machine learning ကို ဘာ အတွက် သုံးလဲ ဆိုတာ ပြပါတယ်။
Quick Check (အမြန် စစ်ဆေးမေးခွန်း)
Q1. Machine learning ကို ရိုးရိုး programming ကနေ အရှင်းဆုံး ခွဲခြားပေးတဲ့ အချက်က ဘာလဲ။
Q2. ဘာသာစကား သင်တဲ့ ကျောင်း တစ်ကျောင်းမှာ essay (စာစီစာကုံး) တို 8,000 ရှိပြီး တစ်ခုစီကို ဆရာ တစ်ယောက်က level ("beginner" (အစပြု)၊ "intermediate" (အလယ်အလတ်) ဒါမှမဟုတ် "advanced" (အဆင့်မြင့်)) သတ်မှတ်ပေးပြီးသား ဖြစ်ပါတယ်။ Essay အသစ်တွေအတွက် level ကို အကြံပြုပေးနိုင်အောင် အဲဒီ essay တွေနဲ့ စနစ် တစ်ခုကို train လုပ်ပါတယ်။ ဒါက ဘယ် သင်ယူပုံ အမျိုးအစားလဲ။
Q3. Deep learning က machine learning နဲ့ ဘယ်လို ဆက်စပ်သလဲ။
Q4. အမျိုးသား ဥယျာဉ် တစ်ခုမှာ လမ်းလျှောက်ခရီး 20,000 ရဲ့ GPS track (GPS နဲ့ မှတ်ထားတဲ့ သွားခဲ့တဲ့ လမ်းကြောင်း) တွေ ရှိပါတယ်၊ လမ်းကြောင်း နာမည်တွေ ဒါမှမဟုတ် တခြား label တွေ တွဲမပါပါဘူး။ လမ်းလျှောက်သူ အများအပြား လိုက်တဲ့ လမ်းကြောင်းတွေကို ရှာပေးမယ့် စနစ် တစ်ခုကို လိုချင်ပါတယ်။ ဘယ် သင်ယူပုံ အမျိုးအစားက ကိုက်ညီလဲ။
Q5. မြို့ တစ်မြို့ရဲ့ ဘတ်စ်ကား ကုမ္ပဏီက ယေဘုယျ စာသား အစုအဝေး အကြီးကြီးနဲ့ train ပြီးသား language model (ဘာသာစကားကို သင်ယူထားတဲ့ model) တစ်ခုကို ယူပါတယ်။ Complaint (တိုင်ကြားစာ) အသစ်တွေကို မှန်ကန်တဲ့ ဌာနဆီ ပို့ပေးနိုင်အောင် ကုမ္ပဏီရဲ့ ကိုယ်ပိုင် အရင်က complaint 2,000 နဲ့ model ကို ထပ် train ပါတယ်၊ complaint တစ်ခုစီမှာ အဲဒီ complaint ကို ကိုင်တွယ်ခဲ့တဲ့ ဌာနနဲ့ label တပ်ထားပါတယ်။ ဒါက:
Q6. Machine learning model တွေကို train လုပ်ဖို့ GPU တွေကို ဘာကြောင့် ဒီလောက် ကျယ်ကျယ်ပြန့်ပြန့် သုံးကြသလဲ။
သင်ယူပုံ အမျိုးအစားကို ဖော်ထုတ်ပါ
အခြေအနေ တစ်ခုစီက ဘယ် သင်ယူပုံ အမျိုးအစားကို သုံးလဲ ဆိုတာ ဖြည့်ပါ: supervised၊ unsupervised ဒါမှမဟုတ် reinforcement။ အဖြေတွေကို စစ်တဲ့ အဖြေမှန်က English လို ဖြစ်လို့ အဖြေကို English လို ရိုက်ထည့်ပါ။ ကွက်လပ်တွေ အပေါ်က comment တွေကလည်း English လို ဖြစ်လို့ အခြေအနေ လေးခုရဲ့ မြန်မာ အဓိပ္ပာယ်ကို ဒီမှာ ပေးထားပါတယ်:
- Model တစ်ခုက အရင်က food delivery (အစားအစာ ပို့ဆောင်မှု) တွေကနေ (တစ်ခုစီကို တကယ် ကြာခဲ့တဲ့ အချိန်နဲ့ မှတ်တမ်းတင်ထားပါတယ်) food delivery တစ်ခု ဘယ်လောက် ကြာမလဲ ခန့်မှန်းပါတယ်။
- Program တစ်ခုက ဒေသ တစ်ခုရဲ့ မြစ်တွေကို တစ်နှစ်ပတ်လုံး ရေစီးနှုန်း တက်လိုက် ကျလိုက် ဖြစ်ပုံအလိုက် အုပ်စုဖွဲ့ပါတယ်၊ အုပ်စု နာမည်တွေကို ကြိုတင် မပေးထားပါဘူး။
- Program တစ်ခုက driving simulator ထဲမှာ ကားရပ်နည်းကို သင်ယူပါတယ်၊ ကားရပ်ကွက်ထဲမှာ ရပ်နိုင်ရင် အမှတ် ရပြီး တစ်ခုခုနဲ့ ဝင်တိုက်မိတိုင်း အမှတ် လျော့ပါတယ်။
- Model တစ်ခုက စိုက်ပျိုးသူတွေ ခွဲခြားပြီးသား သရက်သီးတွေရဲ့ တိုင်းတာချက်တွေကို သုံးပြီး မှည့်တဲ့ သရက်သီးနဲ့ မမှည့်သေးတဲ့ သရက်သီးကို ခွဲခြားတတ်အောင် သင်ယူပါတယ်။
ကွက်လပ်တွေကို ဖြည့်ပါ။
// A model predicts how long a food delivery will take, from past deliveries
// each recorded with the time it actually took
// Type:
// A program groups a region's rivers by how their water flow rises and falls
// through the year, with no groups named in advance
// Type:
// A program learns to park a car in a driving simulator, gaining points for
// stopping inside the bay and losing points for each bump
// Type:
// A model learns to tell ripe mangoes from unripe ones, using measurements
// of mangoes that growers have already sorted
// Type: Practice Exercises (လေ့ကျင့်ခန်းများ)
IB CS သင်တန်း တက်နေသူတွေအတွက် မှတ်ချက်: A4.1 ရဲ့ learning statement (သင်ယူပြီးရင် လုပ်နိုင်ရမယ့် အချက်) တွေမှာ Describe (ဖော်ပြရှင်းပြပါ) ဆိုတဲ့ command term (မေးခွန်းမှာ ဘာလုပ်ရမလဲ ပြတဲ့ ညွှန်ကြားချက် စကားလုံး) ကို သုံးပြီး A4.3.8 (HL) မှာ Outline (အကျဉ်းချုပ် ဖော်ပြပါ) ကို သုံးပါတယ်။ အောက်က လေ့ကျင့်ခန်းတွေက ဒီ command term တွေကို လေ့ကျင့်ပေးပြီး အယူအဆတွေကို အခြေအနေ အသစ်တွေမှာ အသုံးချတာကိုလည်း လေ့ကျင့်ပေးပါတယ်။
(6 marks) လို mark allocation (မေးခွန်း တစ်ခုစီအတွက် ပေးတဲ့ အမှတ်) တွေက IB Computer Science စာမေးပွဲ ပုံစံအတိုင်း ပေးထားတာပါ၊ ဥပမာ (6 marks) ဆိုတာ 6 မှတ်ပါ။ လေ့ကျင့်ခန်း 7 ထဲက [5] နဲ့ [3] က အပိုင်း တစ်ခုစီရဲ့ အမှတ်ပါ။ IB သင်တန်း မတက်တဲ့သူတွေကတော့ အဖြေ ဘယ်လောက် အသေးစိတ် ရေးရမလဲ ချိန်ကြည့်ဖို့ လမ်းညွှန်အဖြစ် သုံးနိုင်ပါတယ်။
Core (အခြေခံ အဆင့်)
-
Describe (6 marks): Machine learning အမျိုးအစား ငါးမျိုးထဲက သုံးမျိုးကို ဖော်ပြရှင်းပြပါ၊ တစ်မျိုးစီအတွက် ဒီ စာမျက်နှာမှာ မပါတဲ့ လက်တွေ့ အသုံးချပုံ တစ်ခုစီ ပေးပါ။
-
Distinguish (အရာ နှစ်ခု ဒါမှမဟုတ် ပိုများတဲ့ အရာတွေကြားက ကွာခြားချက်ကို ရှင်းရှင်းလင်းလင်း ပြပါ) (4 marks): label ဆိုတဲ့ အယူအဆကို သုံးပြီး supervised learning နဲ့ unsupervised learning ကြားက ကွာခြားချက်ကို ရှင်းရှင်းလင်းလင်း ပြပါ။
-
Describe (4 marks): Machine learning အတွက် သုံးတဲ့ hardware နှစ်မျိုးကို ဖော်ပြရှင်းပြပြီး တစ်မျိုးစီကို ဘာက သင့်တော်စေလဲ ရှင်းပြပါ။
Extension (တိုးချဲ့ အဆင့်)
-
Explain (ရှင်းပြပါ) (4 marks): သတင်း ဆောင်းပါး တစ်ပုဒ်က ဓာတ်ပုံ မျှဝေတဲ့ ကုမ္ပဏီ တစ်ခုဟာ သုံးစွဲသူတွေရဲ့ ဓာတ်ပုံတွေကို စီစဉ်ဖို့ “stopped using machine learning and switched to deep learning” (machine learning ကို သုံးတာ ရပ်ပြီး deep learning ကို ပြောင်းသုံးခဲ့တယ်) လို့ ရေးထားပါတယ်။ ဒီ ဖော်ပြချက်မှာ ဘာ မှားနေလဲ၊ ကုမ္ပဏီက ဘာကို ပြောင်းလဲခဲ့ဖို့ များလဲ ဆိုတာ ရှင်းပြပါ။
-
Identify (ဖြစ်နိုင်တဲ့ အဖြေတွေထဲက ရွေးပြီး ဖော်ပြပါ) (6 marks): အခြေအနေ တစ်ခုစီအတွက် supervised၊ unsupervised ဒါမှမဟုတ် reinforcement learning ထဲက ဘယ်ဟာ ကိုက်ညီလဲ ရွေးပြီး ကိုယ့် ရွေးချယ်မှုကို justify (ဘာကြောင့် ရွေးတာလဲ အကြောင်းပြချက်နဲ့ ပြပါ) လုပ်ပါ: (a) ဘဏ်ရဲ့ အရင်က ငွေပေးချေမှုတွေထဲက တစ်ခုမှ fraud (လိမ်လည်မှု) လား အစစ်လား အမှတ်အသား မလုပ်ထားတဲ့အခါ customer တစ်ယောက်အတွက် ပုံမှန် မဟုတ်တဲ့ credit card ငွေပေးချေမှုတွေကို ရှာပြီး အမှတ်အသား ပြခြင်း၊ (b) မတူတဲ့ လှုပ်ရှားမှုတွေကို စမ်းကြည့်ရင်း block တုံးတွေကို ထပ်စီတတ်အောင် သင်ယူတဲ့ စက်ရုပ် လက်တံ (block တွေ စီထားတဲ့အတိုင်း ရှိနေရင် အမှတ် ရပြီး ပြိုကျရင် အမှတ် လျော့ပါတယ်)၊ (c) လူတွေ ခွဲခြားပြီးသား ဓာတ်ပုံ ထောင်ပေါင်းများစွာကို သုံးပြီး ဓာတ်ပုံတွေကို “contains a face” (မျက်နှာ ပါတယ်) နဲ့ “does not” (မပါဘူး) ဆိုပြီး ခွဲခြားခြင်း။
Challenge (စိန်ခေါ်မှု အဆင့်)
-
Discuss (အမြင် အမျိုးမျိုးကို ချိန်ဆပြီး ဆွေးနွေးပါ) (8 marks): Start-up (စတင်ခါစ ကုမ္ပဏီငယ်) တစ်ခုမှာ သီးသန့် ပုံ အလုပ် တစ်ခုအတွက် label တပ်ထားတဲ့ ဒေတာ နည်းနည်းပဲ ရှိပြီး hardware အတွက် ငွေ နည်းနည်းပဲ ရှိပါတယ်။ Transfer learning နဲ့ (cloud အပါအဝင်) သင့်တော်တဲ့ hardware ရွေးချယ်မှုက သူ့ project ကို ဘယ်လို ဖြစ်နိုင်ချေ ရှိလာစေနိုင်လဲ Discuss လုပ်ပါ။ (Code မပါဘဲ စာပိုဒ်နဲ့ ရေးပါ။)
-
Sketch (အဓိက အစိတ်အပိုင်းတွေ ပါတဲ့ ပုံကြမ်း ဆွဲပါ) (8 marks) (HL): Smartwatch (ကွန်ပျူတာ ပါတဲ့ လက်ပတ်နာရီ) တစ်ခုက input သုံးခုကနေ “time to stand up” (မတ်တပ်ရပ်ဖို့ အချိန်ရောက်ပြီ) သတိပေးချက်ကို ပြမလား ဆုံးဖြတ်ပါတယ်: ဝတ်ဆင်သူ နောက်ဆုံး မတ်တပ်ရပ်ခဲ့ပြီးကတည်းက ကြာခဲ့တဲ့ မိနစ်၊ လွန်ခဲ့တဲ့ တစ်နာရီအတွင်း လှမ်းခဲ့တဲ့ ခြေလှမ်း အရေအတွက်နဲ့ ဝတ်ဆင်သူရဲ့ နှလုံးခုန်နှုန်း။ (a) ဒီ ဆုံးဖြတ်ချက်ကို ချတဲ့ single perceptron တစ်ခုကို sketch ဆွဲပြီး input တွေ၊ weight တွေ၊ bias၊ activation function နဲ့ output ကို ပုံပေါ်မှာ နာမည် ရေးပြပါ။ [5] (b) နာရီ ထုတ်လုပ်သူက စတုတ္ထ input ဖြစ်တဲ့ အခန်း အပူချိန်နဲ့ ဒုတိယ ဆုံးဖြတ်ချက် ဖြစ်တဲ့ “drink some water” (ရေ သောက်ပါ) သတိပေးချက်ကို ထပ်ထည့်ပါတယ်။ Input လေးခုကို ယူပြီး output နှစ်ခုလုံးကို ပေးတဲ့၊ neuron သုံးခု ပါတဲ့ hidden layer တစ်ခု ရှိတဲ့ multi-layer perceptron တစ်ခုကို sketch ဆွဲပြီး သူ့ layer တွေကို နာမည် ရေးပြပါ။ [3] (စာရွက်ပေါ်မှာ ဆွဲပါ။)
ဆက်စပ် ခေါင်းစဉ်များ
- နောက်ထပ် လေ့လာမယ့် ခေါင်းစဉ်: Types of Learning (သင်ယူမှု အမျိုးအစားများ): အမျိုးအစား တစ်ခုစီရဲ့ နောက်ကွယ်က algorithm တွေ (HL အဆင့် အသေးစိတ်)
- နောက်ထပ် လေ့လာမယ့် ခေါင်းစဉ်: Training and Evaluating a Model (Model ကို train လုပ်ခြင်းနဲ့ အကဲဖြတ်ခြင်း): model တွေကို ဘယ်လို တည်ဆောက်ပြီး အကဲဖြတ်လဲ (HL)
- ဆက်စပ် ခေါင်းစဉ်: Ethics of Machine Learning (machine learning ရဲ့ ကျင့်ဝတ်ဆိုင်ရာ အချက်များ): ဒီ စွမ်းရည်တွေနဲ့ အတူ ပါလာတဲ့ တာဝန်တွေ
- ဆက်စပ် ခေါင်းစဉ်: Computational Thinking Concepts (computational thinking ရဲ့ အခြေခံ သဘောတရားများ): abstraction (မလိုတဲ့ အသေးစိတ်ကို ဖယ်ပြီး အဓိကကိုပဲ ကြည့်ခြင်း) နဲ့ pattern recognition (တူညီတဲ့ ပုံစံတွေကို ရှာဖွေခြင်း)၊ model တွေ နောက်ကွယ်က စဉ်းစားပုံ
- Stretch (စာမေးပွဲ မမေးပါ): How Large Language Models Work၊ How AI Image Generation Works၊ AI Beyond Machine Learning