AI Beyond Machine Learning (Machine learning ထက် ကျယ်တဲ့ AI)
None of its own. This is a stretch page, and nothing on it is examined. It connects to A4.1.1 by showing what machine learning is not, and by explaining two applications that A4.1.1 names, robotics navigation and object detection. It also connects to A4.4.1 (explainability), A4.1.2 (why computing resources matter) and A4.3.10 (how to reason about choosing a method, HL). SL and HL students are both welcome.
မြန်မာလို: ဒီစာမျက်နှာအတွက် သီးသန့် သင်ရိုး အချက် မရှိပါဘူး။ ဒါက stretch page (သင်ရိုးထက် ကျော်ပြီး ထပ်ဆောင်း လေ့လာရတဲ့ စာမျက်နှာ) ဖြစ်ပြီး ဒီထဲက ဘာမှ စာမေးပွဲမှာ မမေးပါဘူး။ Machine learning (ဒေတာကနေ သင်ယူတဲ့ စနစ်) က ဘာ မဟုတ်လဲ ဆိုတာကို ပြပြီး A4.1.1 က ဖော်ပြထားတဲ့ အသုံးချမှု နှစ်ခု ဖြစ်တဲ့ robotics navigation (စက်ရုပ် လမ်းကြောင်း ရှာပြီး သွားလာခြင်း) နဲ့ object detection (ပုံထဲက အရာဝတ္ထုတွေကို ရှာပြီး နေရာ သတ်မှတ်ခြင်း) ကို ရှင်းပြတာမို့ A4.1.1 နဲ့ ဆက်စပ်ပါတယ်။ A4.4.1 (explainability: စနစ် တစ်ခုရဲ့ ဆုံးဖြတ်ချက်ကို ရှင်းပြနိုင်မှု)၊ A4.1.2 (တွက်ချက်ဖို့ လိုတဲ့ အရင်းအမြစ်တွေ ဘာကြောင့် အရေးကြီးလဲ) နဲ့ A4.3.10 (နည်းလမ်း တစ်ခုကို ရွေးတဲ့အခါ ဘယ်လို ဆင်ခြင်ရမလဲ၊ HL) တို့နဲ့လည်း ဆက်စပ်ပါတယ်။ SL နဲ့ HL ကျောင်းသား နှစ်မျိုးလုံး လေ့လာလို့ ရပါတယ်။ A4.1.1 စတာတွေက IB Computer Science (နိုင်ငံတကာ ကျောင်းတွေမှာ သင်တဲ့ ကွန်ပျူတာသိပ္ပံ သင်ရိုး) ရဲ့ သင်ရိုးထဲက အပိုင်း နံပါတ်တွေပါ။ SL (Standard Level: IB သင်တန်းရဲ့ အခြေခံ အဆင့်) နဲ့ HL (Higher Level: IB သင်တန်းမှာ ပိုနက်နက်ရှိုင်းရှိုင်း လေ့လာရတဲ့ အဆင့်) က IB သင်တန်းရဲ့ အဆင့် နှစ်ဆင့်ပါ။
“Artificial intelligence” (ဉာဏ်ရည်တု) နဲ့ “machine learning” ကို အဓိပ္ပာယ် တူတူလို သုံးလေ့ ရှိကြပေမယ့် machine learning က AI ရဲ့ အစိတ်အပိုင်း တစ်ခုပဲ ဖြစ်ပါတယ်။ ဒီနယ်ပယ်ရဲ့ သမိုင်း အများစုမှာ AI ကို training data (model သင်ယူဖို့ ပေးတဲ့ ဒေတာ) လုံးဝ မသုံးဘဲ symbol (သင်္ကေတ) တွေ၊ logic (ယုတ္တိဗေဒ)၊ search (ရှာဖွေခြင်း) နဲ့ ဂျီဩမေတြီကနေ တည်ဆောက်ခဲ့ကြပြီး အဲဒီ နည်းလမ်းတွေကို ဂိမ်းတွေ၊ လမ်းကြောင်း ရှာပေးတဲ့ စနစ်တွေနဲ့ စက်ရုပ်တွေမှာ ဒီနေ့အထိ သုံးနေကြဆဲပါ။ ဒီစာမျက်နှာက ဖတ်ရင်း ကိုယ်တိုင် စစ်ကြည့်လို့ ရတဲ့ အဆို တစ်ခုကို တင်ပြပါတယ်: စနစ်ထဲမှာ သင်ယူခြင်း အနည်းငယ်ပဲ ပါရင်တောင် စက်ရုပ် တစ်ရုပ်က အဆောက်အအုံ တစ်ခုကို ဖြတ်ပြီး သွားနိုင်ပါတယ်။ စာမျက်နှာရဲ့ အဆုံးမှာ ဖော်ပြထားတဲ့ စက်ရုပ်မှာ သင်ယူခြင်းက အပိုင်း တစ်ခုတည်းမှာပဲ ပါပါတယ်၊ အဲဒါက ကင်မရာကို ဖတ်တဲ့ အပိုင်းပါ။ ကျန်တာတွေကို မြေပုံတွေ၊ search၊ ဂျီဩမေတြီနဲ့ probability (ဖြစ်နိုင်ခြေ) က လုပ်ပေးပါတယ်။ ချဉ်းကပ်ပုံ နှစ်မျိုးကို ဘေးချင်းယှဉ် ကြည့်လိုက်ရင် machine learning က ဘာကို အစားထိုးခဲ့လဲ၊ ဘာကို အစားမထိုးခဲ့လဲ ဆိုတာ မြင်ရပါတယ်။ (2019 ကနေ 2026 အထိ ရက်စွဲပါတဲ့ ရင်းမြစ်တွေကို အခြေခံပြီး 2026 ဇူလိုင်လမှာ ရေးထားပါတယ်။)
မာတိကာ
- ခြုံငုံ သုံးသပ်ချက်
- အသိပညာနဲ့ ဆင်ခြင်ခြင်း
- Game Search (ဂိမ်းတွေမှာ ရှာဖွေခြင်း)
- လမ်းကြောင်း ရှာခြင်းနဲ့ စက်ရုပ် ရွေ့လျားမှု
- ဒီစာမျက်နှာမှာ မပါတဲ့ အကြောင်းအရာများ
- ဆက်စပ် ခေါင်းစဉ်များ
ခြုံငုံ သုံးသပ်ချက်
ဒီစာမျက်နှာမှာ အပိုင်း သုံးပိုင်း ပါပါတယ်။ နောက်ဆုံး အပိုင်း နှစ်ပိုင်းက search အကြောင်း ဖြစ်ကြပြီး သူတို့ကြား ကွာခြားချက်က ကိုယ့်ကို ဆန့်ကျင်ပြီး လုပ်ဆောင်နေတဲ့ အရာ တစ်ခုခု ရှိသလား မရှိဘူးလား ဆိုတာပါ:
- အသိပညာနဲ့ ဆင်ခြင်ခြင်း: အချက်တွေကို symbol တွေနဲ့ ချရေးထားပြီး logic နဲ့ အချက် အသစ်တွေကို ဆင်ခြင် ထုတ်ယူပါတယ်။
- Game search (ဂိမ်းတွေမှာ ရှာဖွေခြင်း): ပြိုင်ဘက်က ကိုယ့်ကို ဆန့်ကျင်ပြီး ကစားနေချိန်မှာ ရွှေ့ကွက်တွေကို ရွေးတာ ဖြစ်လို့ ကိုယ် စဉ်းစားတဲ့ ရွှေ့ကွက် တိုင်းက ပြိုင်ဘက်ရဲ့ အကောင်းဆုံး တုံ့ပြန်မှုနဲ့ ရင်ဆိုင်ရပါတယ်။
- လမ်းကြောင်း ရှာခြင်းနဲ့ စက်ရုပ် ရွေ့လျားမှု: ကိုယ် ဘာလုပ်လုပ် မတုံ့ပြန်ဘဲ ဒီအတိုင်း ရှိနေရုံသာ ဖြစ်တဲ့ အတားအဆီးတွေကို ရှောင်ပြီး လမ်းကြောင်း ရှာတာ၊ ပြီးရင် စက်ရုပ် တစ်ရုပ်က အဲဒီ လမ်းကြောင်းအတိုင်း လိုက်သွားနိုင်မလား စစ်ဆေးတာပါ။
ဂိမ်းတွေက AI သုတေသန စတင် ကိုင်တွယ်ခဲ့တဲ့ ပထမဆုံး ပြဿနာတွေထဲမှာ ပါပါတယ်: စစ်တုရင်နဲ့ ကျား (draughts) ကစားတဲ့ program တွေက ကွန်ပျူတာ နယ်ပယ်ရဲ့ အစောဆုံး project တွေထဲမှာ ပါခဲ့ပါတယ် (18 ရာစုက နာမည်ကြီး စစ်တုရင် “စက်” တစ်ခုက အထဲမှာ လူ တစ်ယောက် ပုန်းနေတဲ့ လှည့်စားမှု ဖြစ်နေခဲ့တာကို နောက်မှ သိခဲ့ကြပါတယ်)။ ဂိမ်းတွေမှာ နယ်နိမိတ် သတ်မှတ်ထားတဲ့ ကမ္ဘာ၊ ပုံသေ စည်းမျဉ်းတွေ၊ ရှင်းလင်းတဲ့ ရမှတ်နဲ့ အကန့်အသတ်မရှိ လေ့ကျင့်နိုင်မှု ရှိလို့ သုတေသနအတွက် သင့်တော်ပါတယ်။ ဒီစာမျက်နှာက search ကို လမ်းကြောင်း ရှာခြင်းမှာ အသုံးမချခင် အောက်က ဂိမ်း ဥပမာတွေနဲ့ အရင် မိတ်ဆက်ပေးပါတယ်။
အသိပညာနဲ့ ဆင်ခြင်ခြင်း
Stretch အပိုင်း။ Rule-based (လူက ရေးထားတဲ့ စည်းမျဉ်းတွေပေါ် အခြေခံတဲ့) နည်းလမ်းတွေနဲ့ သင်ယူထားတဲ့ နည်းလမ်းတွေကြား ကွာခြားချက်ကနေ A4.1.1 နဲ့ ဆက်စပ်ပြီး explainability ကနေ A4.4.1 နဲ့ ဆက်စပ်ပါတယ်။
Symbolic AI (symbol တွေနဲ့ logic ကို အခြေခံတဲ့ AI၊ တခါတလေ good old-fashioned AI လို့လည်း ခေါ်ပါတယ်) က အသိပညာကို ထင်ထင်ရှားရှား ရေးသား ဖော်ပြပြီး အဲဒီ အသိပညာပေါ်မှာ logic စည်းမျဉ်းတွေကို အသုံးချပါတယ်။ Symbol တစ်ခုက အရာ တစ်ခုခုကို နာမည်ပေးပါတယ်။ Relation (ဆက်နွယ်ချက်) တစ်ခုက အဲဒီအရာကို ဖော်ပြတာ ဒါမှမဟုတ် တခြားအရာ တစ်ခုနဲ့ ချိတ်ဆက်ပေးတာပါ။ ဥပမာ teaches(Ms Rivera, Physics) က ဘာသာရပ် တစ်ခုကို ဘယ်သူ သင်လဲ ဆိုတာ ဖော်ပြပါတယ် (Ms Rivera က Physics ကို သင်တယ်)။ တခြား stretch စာမျက်နှာတွေမှာ ပါတဲ့ vector (ကိန်းဂဏန်း စာရင်း) တွေနဲ့ မတူဘဲ ဒါကို ဖတ်လို့ ရပါတယ်: လူ တစ်ယောက်က ကြည့်ပြီး မှန်လား မှားလား ပြောနိုင်ပါတယ်။
တူညီတဲ့ အချက်အလက်ကို ထင်ရှားတဲ့ ဖော်ပြချက် တစ်ခုအဖြစ်နဲ့ ကိန်းဂဏန်း vector တစ်ခုအဖြစ် ဖော်ပြထားပါတယ်။
ပုံထဲမှာ ဘယ်ဘက်က “a person can read this and check it” က “လူက ဒါကို ဖတ်ပြီး စစ်ဆေးနိုင်တယ်” လို့ ဆိုလိုပြီး ညာဘက်က “a person cannot; it must be trusted or tested” က “လူက ဖတ်ပြီး မစစ်ဆေးနိုင်ဘူး၊ ယုံကြည်ရမယ် ဒါမှမဟုတ် စမ်းသပ်ကြည့်ရမယ်” လို့ ဆိုလိုပါတယ်။
Knowledge base (အသိပညာ သိုလှောင်ရာ) ဆိုတာ စနစ်က မှန်တယ်လို့ ယူဆထားတဲ့ ဖော်ပြချက်တွေ စုထားတဲ့ အစုပါ။ လူတွေက အဲဒီ ဖော်ပြချက်တွေကို ချရေးပြီး တည်ဆောက်ကြတာမို့ ဒါက model ကို train လုပ်တာ မဟုတ်ဘဲ ဒီဇိုင်း အလုပ် တစ်ခုပါ။ Logic က လိုအပ်တဲ့ ကိရိယာတွေကို ပေးပါတယ်: proposition တွေ (မှန်တာ ဒါမှမဟုတ် မှားတာ ဖြစ်တဲ့ ဖော်ပြချက်တွေ)၊ connective (ဖော်ပြချက်တွေကို ဆက်ပေးတဲ့ စကားလုံး) တွေ ဖြစ်တဲ့ AND၊ OR နဲ့ NOT၊ ပြီးတော့ ရလဒ်တွေကို တွက်ထုတ်ဖို့ truth table (input အားလုံးနဲ့ output ကို ပြတဲ့ ဇယား) တွေပါ။ အသုံးအများဆုံး အပိုင်းက implication ပါ၊ ဆိုလိုတာက if/then (… ဆိုရင် … ဖြစ်တယ်) စည်းမျဉ်းပါ။ သူ့ရဲ့ အလုပ်လုပ်ပုံကို သတိထားရပါတယ်: “if it is raining, the match is cancelled” (မိုးရွာရင် ပွဲကို ဖျက်တယ်) ဆိုတဲ့ စည်းမျဉ်းက မိုးရွာနေပြီး ပွဲကို မဖျက်တဲ့ အခြေအနေ တစ်ခုတည်းမှာပဲ မှားပါတယ်။ Rule-based system တွေကို အများအားဖြင့် ဒီ if/then ပုံစံ စည်းမျဉ်းတွေနဲ့ တည်ဆောက်ကြပါတယ်။
Inference (သိပြီးသား အချက်တွေကနေ ကောက်ချက် ဆွဲခြင်း) က knowledge base ထဲက အချက်တွေနဲ့ စည်းမျဉ်းတွေကနေ ကောက်ချက် အသစ်တွေကို ထုတ်ယူပါတယ်။ Knowledge base ကို database (ဒေတာ သိမ်းဆည်းတဲ့ စနစ်) ထက် ပိုစေတာက ဒါပါပဲ: စနစ်က ရိုက်မထည့်ထားတဲ့ ဖော်ပြချက်တွေကို ကိုယ်တိုင် တွက်ထုတ်နိုင်ပါတယ်။
ကောက်ချက် တစ်ခုက ပေးထားတဲ့ အချက်တွေနဲ့ စည်းမျဉ်းတွေပေါ် မူတည်ပါတယ်။ Inference လုပ်ငန်းစဉ်က စည်းမျဉ်းကို မှန်မှန်ကန်ကန် လိုက်နာရင်တောင် စည်းမျဉ်း မှားနေရင် ကောက်ချက် မှားထွက်လာနိုင်ပါတယ်၊ ဒါကြောင့် ထုတ်ယူထားတဲ့ ကောက်ချက် တစ်ခုကို သဘောတူသလား ဆိုတာကလည်း ဆွေးနွေးစရာ ဖြစ်ပါတယ်။ (ရင်းမြစ် lecture (သင်ခန်းစာ) တစ်ခုက ဒီနည်းနဲ့ hot dog က sandwich တစ်မျိုး ဖြစ်တယ်လို့ ကောက်ချက် ဆွဲပြပါတယ်၊ ကိုယ်ပိုင် ဥပမာတွေ တည်ဆောက်ပြီး အဲဒါတွေအကြောင်း ငြင်းခုံ ဆွေးနွေးကြည့်ပါ။)
ပုံထဲမှာ “fact: the graphic novel has a story and a spine” က “အချက်: graphic novel (ရုပ်ပြ ဝတ္ထု) မှာ ဇာတ်လမ်း ရှိပြီး စာအုပ်ကျော ရှိတယ်”၊ “rule: IF it has a story and a spine THEN it is a book” က “စည်းမျဉ်း: ဇာတ်လမ်းနဲ့ စာအုပ်ကျော ရှိရင် အဲဒါ စာအုပ် ဖြစ်တယ်”၊ “derived: the graphic novel is a book” က “ထုတ်ယူရရှိချက်: graphic novel က စာအုပ် ဖြစ်တယ်” လို့ ဆိုလိုပြီး “nobody typed this line” က ဒီစာကြောင်းကို ဘယ်သူမှ ရိုက်မထည့်ခဲ့ဘူး ဆိုတာပါ။
ကိုယ်တိုင် စမ်းကြည့်ပါ: ဘယ်သူမှ ချမရေးခဲ့တဲ့ အချက်တွေကို ထုတ်ယူပါ။ ကျောင်း စာကြည့်တိုက် စနစ် တစ်ခုမှာ ဖော်ပြချက် လေးခု ရှိပါတယ်။ စည်းမျဉ်းတွေ: ဇာတ်လမ်းနဲ့ စာအုပ်ကျော ရှိတဲ့ ပစ္စည်း မှန်သမျှက စာအုပ် ဖြစ်တယ်၊ reserve shelf (စာကြည့်တိုက်ထဲမှာပဲ ဖတ်ရမယ့် စာအုပ်စင်) ပေါ်က စာအုပ် မှန်သမျှကို စာကြည့်တိုက် အပြင် ယူသွားခွင့် မရှိဘူး။ အချက်တွေ: graphic novel မှာ ဇာတ်လမ်းနဲ့ စာအုပ်ကျော ရှိတယ်၊ atlas (မြေပုံ စာအုပ်) က reserve shelf ပေါ်မှာ ရှိတယ်။ စနစ်က ဘာတွေကို ထုတ်ယူနိုင်မလဲ၊ ကိုယ့်ကို အံ့ဩစေနိုင်လောက်တဲ့ ဘာကိုတော့ ထုတ်ယူလို့ မရနိုင်ဘူးလဲ။
ထုတ်ယူချက်တွေ ကြည့်ရန်
စနစ်က graphic novel က စာအုပ် ဖြစ်တယ်လို့ ထုတ်ယူပါတယ်။ နောက်ပိုင်း အဲဒီ graphic novel ကို reserve shelf ပေါ် တင်လိုက်ရင် စနစ်က အဲဒါကို အပြင် ယူသွားခွင့် မရှိဘူးလို့ ထုတ်ယူနိုင်ပါတယ်။ Atlas အတွက်တော့ အဲဒီ ကန့်သတ်ချက်ကို ထုတ်ယူလို့ မရပါဘူး၊ ဘာကြောင့်လဲဆိုတော့ atlas က စာအုပ် ဖြစ်တယ်လို့ ပေးထားတဲ့ အချက် ဒါမှမဟုတ် စည်းမျဉ်း တစ်ခုမှ မပြထားလို့ပါ (atlas မှာ စာအုပ်ကျော ရှိပေမယ့် ဇာတ်လမ်း မရှိဘူးလို့ ဆိုနိုင်ပြီး စနစ်က သူ့ကို ပြောပြထားတာကိုပဲ သိပါတယ်)။ ဒီဥပမာက အချက် နှစ်ချက်ကို ပြပါတယ်: inference က စည်းမျဉ်းတွေကနေ တိုက်ရိုက် ထွက်လာတာကိုပဲ အတိအကျ ပေးပြီး အဲဒီထက် ပိုမပေးပါဘူး၊ ပြီးတော့ “ဇာတ်လမ်း ရှိတယ်” ဆိုတာက စာအုပ် ဟုတ်မဟုတ် စစ်ဖို့ မှန်ကန်တဲ့ စစ်ဆေးချက်လား ဆိုတာက လူ တစ်ယောက်က ချခဲ့ပြီး တာဝန်ယူရမယ့် ဒီဇိုင်း ဆုံးဖြတ်ချက် တစ်ခုပါ။
Expert system (ကျွမ်းကျင်သူ တစ်ယောက်ရဲ့ အလုပ်ကို စည်းမျဉ်းတွေနဲ့ လုပ်ပေးတဲ့ စနစ်) တွေက ဒါကို လက်တွေ့ အသုံးချပါတယ်: ဒါတွေက နယ်ပယ် ကျဉ်းကျဉ်း တစ်ခုမှာ ကျွမ်းကျင်သူ တစ်ယောက်ရဲ့ အလုပ် တစ်စိတ်တစ်ပိုင်းကို လုပ်ဖို့ ရေးထားတဲ့ if/then စည်းမျဉ်း အစု ကြီးကြီး တစ်ခုပါ။ Expert system တစ်ခုက သူ့ဆုံးဖြတ်ချက်တွေကို ရှင်းပြနိုင်ပါတယ်။ လျှောက်လွှာ တစ်ခုကို ဘာကြောင့် ငြင်းပယ်လဲ လို့ မေးရင် မအောင်တဲ့ စည်းမျဉ်းနဲ့ အဲဒါကို ဖြစ်စေခဲ့တဲ့ တန်ဖိုးကို ပြောပြနိုင်ပါတယ်။ Train လုပ်ထားတဲ့ neural network (အလွှာလိုက် စီထားတဲ့ neuron အတု network) မှာတော့ အဲဒီလို ခြေရာခံလို့ရတဲ့ မှတ်တမ်း မရှိပါဘူး: သူ့ဆုံးဖြတ်ချက်က ကိန်းဂဏန်း တွက်ချက်မှု အများကြီးကနေ လာတာ ဖြစ်ပြီး အဲဒါတွေကို ရှင်းပြချက် တစ်ခုအဖြစ် ပြောင်းဖို့ အများကြီး ပိုခက်ပါတယ်။
Explainability မှာ အပေးအယူ (trade-off) ရှိပါတယ်: rule-based system က သူ့ဆုံးဖြတ်ချက်ကို ရှင်းပြနိုင်ပေမယ့် rule-based system တွေက ပုံတွေလို ရှုပ်ထွေးတဲ့ input တွေနဲ့ ရုန်းကန်ရပါတယ်၊ အဲဒီနေရာမှာ train လုပ်ထားတဲ့ network တွေက ကောင်းကောင်း လုပ်နိုင်ပါတယ်။ ဒါက A4.4.1 ရဲ့ accountability (တာဝန်ခံမှု) ဆိုင်ရာ မေးခွန်းတွေထဲက “black box” (အထဲကို မမြင်ရတဲ့ သေတ္တာ) ပြဿနာရဲ့ လက်တွေ့ ပုံစံပါ။ အမြန် လေ့ကျင့်ခန်း: စနစ် တစ်ခုစီက လျှောက်ထားသူဆီ ပို့နိုင်မယ့် ငြင်းပယ်စာကို ရေးကြည့်ပြီး စာ တစ်စောင်စီက အကြောင်းပြချက်အကြောင်း ဘာတွေ ပြောနိုင်လဲ နှိုင်းယှဉ်ပါ။
ပုံထဲမှာ ဘယ်ဘက် “rule-based system” အောက်က “Application refused.” က “လျှောက်လွှာကို ငြင်းပယ်လိုက်ပြီ” လို့ ဆိုလိုပါတယ်။ အမှန်ခြစ် ပါတဲ့ “submitted before the deadline” က နောက်ဆုံးရက် မတိုင်ခင် တင်ခဲ့တယ်၊ “age requirement met” က အသက် သတ်မှတ်ချက် ပြည့်တယ် ဆိုတာပါ။ အနီရောင် “portfolio missing (Rule 7 failed)” ကတော့ portfolio (ကိုယ့်လက်ရာ နမူနာတွေ စုစည်းထားတာ) မပါလို့ စည်းမျဉ်း 7 မအောင်ဘူး ဆိုတာပါ။ “it can point at the exact rule” က သူက စည်းမျဉ်း အတိအကျကို ညွှန်ပြနိုင်တယ် ဆိုတာပါ။ ညာဘက် “trained network” အောက်က “why? there is no trace to point at” က “ဘာကြောင့်လဲ။ ညွှန်ပြစရာ မှတ်တမ်း မရှိဘူး” လို့ ဆိုလိုပါတယ်။
Symbolic စည်းမျဉ်းတွေရဲ့ ကန့်သတ်ချက်များ။ လက်နဲ့ ရေးထားတဲ့ “7” ကို မှတ်သိနိုင်တဲ့ logic စည်းမျဉ်းတွေ ရေးကြည့်ပါ: ကြိုးစားတိုင်း ခြွင်းချက်တွေ (ပုံသဏ္ဌာန်၊ စောင်းပုံနဲ့ လက်ရေး ကွာခြားချက်တွေ) နဲ့ ကြုံရပါလိမ့်မယ်၊ ဘာကြောင့်လဲဆိုတော့ ပုံတွေကို မှတ်သိတာက မှန်/မှား ဖော်ပြချက်တွေအဖြစ် သပ်သပ်ရပ်ရပ် ခွဲချလို့ မရလို့ပါ။ ရှုပ်ထွေးတဲ့ input နဲ့ ပြောင်းလဲနေတဲ့ ကမ္ဘာက symbolic ချဉ်းကပ်ပုံ ရုန်းကန်ရတဲ့ နေရာတွေ ဖြစ်ပြီး machine learning ဝင်လာတာလည်း အဲဒီ နေရာမှာပါ: ကွဲပြားမှု တစ်ခုချင်းကို လက်နဲ့ သတ်မှတ်မယ့်အစား label (အဖြေ အမှတ်အသား) တပ်ထားတဲ့ ဥပမာတွေကနေ ပုံစံတွေကို သင်ယူပါတယ်။
Web အရွယ်အစားမှာ အလားတူ အယူအဆ
အချက် တိုင်းကို လက်နဲ့ ရေးတာက အရေအတွက် အလွန်များလာရင် မနိုင်တော့တာမို့ web ကို ဖတ်ပြီး အသိပညာကို စုဆောင်းလို့လည်း ရပါတယ်။ Crawler (website တွေကို အလိုအလျောက် လှည့်ဖတ်တဲ့ program) တစ်ခုက web page တွေကို စုဆောင်းဖို့ စတင်တဲ့ page တစ်ခုကနေ link တွေကို အပြင်ဘက်ကို လိုက်သွားပါတယ်။ Inverted index (စကားလုံး တစ်လုံးစီ ဘယ် page တွေမှာ ပါလဲ မှတ်ထားတဲ့ စာရင်း) က စကားလုံး တိုင်းအတွက် အဲဒီ စကားလုံး ပါတဲ့ page တွေကို မှတ်ထားတာမို့ ရှာတဲ့အချိန်မှာ page တွေကို ဖတ်မယ့်အစား အဲဒီ စာရင်းတွေကို ပေါင်းစပ်ပြီး query (ရှာဖွေတဲ့ မေးခွန်း) တစ်ခုကို ဖြေနိုင်ပါတယ် (ဥပမာ query ထဲက စကားလုံး တိုင်းရဲ့ စာရင်းမှာ ပါတဲ့ page တွေကို ရှာတာမျိုး)။ ရလဒ်တွေကို အဆင့်စီတဲ့ နေရာမှာ သင်ယူခြင်း ပြန်ဝင်လာပြီး အသုံးပြုသူတွေက training signal (model ကို သင်ပေးတဲ့ အချက်ပြမှု) ကို ပေးပါတယ်: ရလဒ် page ကို မြန်မြန် ပြန်လာတာက အဖြေ မကောင်းဘူးလို့ အရိပ်အမြွက် ပြပြီး click လုပ်ပြီး ကြာကြာ နေတာက အဖြေ ကောင်းတယ်လို့ အရိပ်အမြွက် ပြပါတယ်။ ဒီလို အချက်ပြမှုတွေက ပြည့်စုံမှု မရှိပါဘူး: page မှာ ကြာကြာ နေတာက အဲဒီ page က မေးခွန်းကို ဖြေပေးခဲ့တယ်လို့ အမြဲ မဆိုလိုပါဘူး။
Knowledge base တစ်ခုက bootstrapping (အချက် နည်းနည်းကနေ စပြီး ကိုယ့်ဘာသာ တဖြည်းဖြည်း ချဲ့ထွင်ခြင်း) နဲ့ ကိုယ့်ဘာသာ ကြီးထွားလာနိုင်ပါသေးတယ်: လက်နဲ့ ရေးထားတဲ့ အချက် အနည်းငယ်ကနေ စပြီး သိပြီးသား ဆက်နွယ်ချက်တွေကို သုံးကာ အရာဝတ္ထု အသစ်တွေ ရှာ၊ အဲဒီ အရာဝတ္ထုတွေကို သုံးကာ ဆက်နွယ်ချက် အသစ်တွေ ရှာ၊ ပြီးရင် ထပ်ခါထပ်ခါ လုပ်ပါတယ်။ ယုံကြည်မှုက ထပ်ခါထပ်ခါ တွေ့ရတာကနေ လာပါတယ်: သီးခြား ရင်းမြစ် အများကြီးမှာ တွေ့တဲ့ အချက်ကို တစ်ခါပဲ တွေ့တဲ့ အချက်ထက် ပိုယုံကြည်ပြီး တစ်ခါပဲ တွေ့တဲ့ အချက်ကိုတော့ ဖြစ်နိုင်ခြေ ရှိတာလောက်ပဲ ယူဆပါတယ်။ အမှားတွေလည်း ထပ်ခါထပ်ခါ ပြန့်ပွားနိုင်တာမို့ ရင်းမြစ်တွေက တစ်ခုနဲ့ တစ်ခု သီးခြား ဖြစ်ဖို့ အရေးကြီးပါတယ်။
2:19 မှာ symbol တွေနဲ့ relation (ဆက်နွယ်ချက်) တွေ၊ 3:44 မှာ knowledge base တွေ၊ 4:30 မှာ truth table တွေ၊ 7:15 မှာ implication၊ 9:44 မှာ inference၊ 10:52 မှာ expert system တွေ၊ 11:45 မှာ explainability ကို နှိုင်းယှဉ်ပြတာနဲ့ 12:04 မှာ symbolic AI ရဲ့ ကန့်သတ်ချက်တွေ ပါပါတယ်။ 2019 က video ပါ၊ ဒီ အယူအဆတွေက မကြာသေးခင်က တိုးတက်မှုတွေပေါ် မမူတည်ပါဘူး။
ကြည့်ရန်: search engine (ရှာဖွေရေး စနစ်) တွေနဲ့ web အရွယ်အစား အသိပညာ (Crash Course AI၊ 11 မိနစ်)
3:02 မှာ crawler နဲ့ သူ စတင်တဲ့ page တွေ၊ 3:41 မှာ query တစ်ခုကို inverted index က ဖြေပေးပုံ၊ 4:55 မှာ ranking (ရလဒ်တွေကို အဆင့် စီခြင်း) နဲ့ အသုံးပြုသူတွေရဲ့ တုံ့ပြန်ချက် (feedback)၊ 6:32 မှာ အရွယ်အစား ကြီးမားတဲ့ knowledge base တွေနဲ့ 7:00 မှာ လက်နဲ့ ရေးထားတဲ့ အချက် သုံးချက်ကနေ ကြီးထွားလာတဲ့ knowledge base တစ်ခု ပါပါတယ်။ 2019 က video ဖြစ်လို့ သူ ဖော်ပြတဲ့ စနစ်တွေကို အဲဒီ အချိန်က ဥပမာတွေအဖြစ် ယူပါ၊ အလုပ်လုပ်ပုံတွေကတော့ အခုထိ မှန်ပါတယ်။
Game Search (ဂိမ်းတွေမှာ ရှာဖွေခြင်း)
Stretch အပိုင်း။ Reinforcement learning (ဆုနဲ့ ဒဏ်ကနေ သင်ယူခြင်း) မှာ exploration versus exploitation (အသစ်ကို စမ်းကြည့်မလား၊ အကောင်းဆုံးလို့ သိပြီးသားကို သုံးမလား ရွေးရခြင်း) ပေါ်လာတဲ့ A4.3.6 (HL) နဲ့ ဆက်စပ်ပြီး search အတွက် လိုအပ်တဲ့ တွက်ချက်မှု အရင်းအမြစ်တွေကနေ A4.1.2 နဲ့ ဆက်စပ်ပါတယ်။
“Decision tree” ရဲ့ အဓိပ္ပာယ် နှစ်မျိုး။ ဒီအပိုင်းရဲ့ ရင်းမြစ် တစ်ခု ဖြစ်တဲ့ အောက်မှာ ထည့်ထားတဲ့ CS50 lecture က ရွှေ့ကွက် ရွေးဖို့ လက်နဲ့ ရေးထားတဲ့ မေးခွန်း flowchart (လုပ်ငန်းစဉ်ကို သင်္ကေတတွေနဲ့ ဆွဲပြတဲ့ ပုံ) ကို “decision tree” လို့ ခေါ်ပါတယ်။ သင်ရိုး (A4.3.2) ကတော့ အဲဒီ စကားလုံး နှစ်လုံးတည်းကို တခြား အရာ တစ်ခုအတွက် သုံးပါတယ်: label တပ်ထားတဲ့ ဒေတာကနေ ဒေတာကို ဘယ်လို ခွဲရမလဲ ဆိုတာကို သင်ယူတဲ့ classifier (ဒေတာကို အမျိုးအစား ခွဲပေးတဲ့ model) တစ်ခုပါ။ ဖြစ်နိုင်တဲ့ ဂိမ်း ရွှေ့ကွက်တွေကို သစ်ပင်ပုံ ဆွဲထားတဲ့ tree (game tree) ကတော့ နောက်ထပ် မတူတဲ့ အရာ တစ်ခုပါ။ အဓိပ္ပာယ်တွေကို သီးခြားစီ မှတ်ထားပြီး ဒီနည်းလမ်းတွေအကြောင်း ဖတ်တဲ့အခါ ဘယ်အဓိပ္ပာယ်ကို သုံးနေလဲ စစ်ကြည့်ပါ။
လက်နဲ့ ရေးထားတဲ့ စည်းမျဉ်းတွေနဲ့ စပါ။ ရိုးရှင်းတဲ့ ဂိမ်း တစ်ခုအတွက် နည်းဗျူဟာကို မေးခွန်းတွေအဖြစ် ရေးလို့ ရပါတယ်: ဒီရွှေ့ကွက်နဲ့ ကိုယ် နိုင်နိုင်သလား။ မနိုင်ရင် ပြိုင်ဘက်က နောက် ရွှေ့ကွက်မှာ နိုင်နိုင်လို့ ကိုယ် ပိတ်ဆို့ရမလား။ Flowchart အဖြစ် ဆွဲလိုက်ရင် ဒါက ခဏတော့ အလုပ်ဖြစ်ပါတယ်။ “နှစ်ခုလုံး မဖြစ်ရင်ကော” လို့ ဆက်မေးနေရင် စည်းမျဉ်းတွေက မကြာခင် ကုန်သွားပါတယ်: စနစ်က ဖြစ်နိုင်တဲ့ ရွှေ့ကွက်တွေကို နှိုင်းယှဉ်ဖို့ နောက်ထပ် နည်းလမ်း တစ်ခု လိုလာပြီး အဲဒါကို အောက်က နည်းလမ်းတွေက ပေးပါတယ်။
Minimax (ပြိုင်ဘက်က အကောင်းဆုံး ပြန်ကစားမယ်လို့ ယူဆပြီး ရွှေ့ကွက် ရွေးတဲ့ နည်း) က ကစားသူ နှစ်ယောက်လုံးရဲ့ ရွေးချယ်မှုတွေကို စဉ်းစားပြီး ရွှေ့ကွက်တွေကို အကဲဖြတ်ပါတယ်။ ဂိမ်း အဆုံးသတ်တွေကို ရမှတ် ပေးပါ: နိုင်ရင် +1၊ သရေ ဆိုရင် 0၊ ရှုံးရင် -1။ မပြီးသေးတဲ့ အနေအထား တစ်ခုကို အကဲဖြတ်ဖို့ သူ့ရဲ့ branch (tree ရဲ့ အကိုင်း) တွေကို လိုက်ပြီး ရမှတ်တွေကို အပေါ်ကို ပြန်ပို့ပါ။ ကိုယ့်အလှည့်တွေမှာ အမြင့်ဆုံး ရမှတ်ကို ရွေးပြီး ပြိုင်ဘက်ရဲ့ အလှည့်တွေမှာ သူက ကိုယ့်အတွက် အနိမ့်ဆုံး ရမှတ်ကို ရွေးမယ်လို့ ယူဆပါ။
အဆုံးသတ်တွေကနေ နောက်ပြန် တွက်ကြည့်ရင် ပြိုင်ဘက်ရဲ့ ဘယ်ဘက် branch က ရမှတ် 0 ပေးတာမို့ ကိုယ်က သရေကို ယူပါတယ်။ ညာဘက် branch မှာ ပြိုင်ဘက်က ကိုယ့်ကို -1 ဖြစ်စေမယ့် ရွေးချယ်မှု ရှိနေတာမို့ အဲဒီ branch က ကိုယ့်အတွက် ရှုံးတာထက် ပိုမကောင်းနိုင်ပါဘူး။ Alpha-beta pruning (ရွေးမှာ မဟုတ်တာ သေချာတဲ့ branch တွေကို ဖြတ်ကျော်ခြင်း) က ကိုယ့်ရွေးချယ်မှုကို မပြောင်းစေနိုင်တဲ့အတွက် အဲဒီ branch ရဲ့ ကျန်တဲ့ အဆုံးသတ်တွေကို ကျော်သွားပါတယ်။ Pruning က အလုပ်ကို သက်သာစေပေမယ့် နောက် စာပိုဒ်တွေမှာ ပြမယ့်အတိုင်း ပိုကြီးတဲ့ ဂိမ်းတွေအတွက် သူ တစ်ခုတည်းနဲ့ မလုံလောက်ပါဘူး။
ပုံထဲမှာ အပေါ်ဆုံးက “your move: take the max” က “ကိုယ့်အလှည့်: အမြင့်ဆုံးကို ယူ”၊ “result: 0, the draw is secured” က “ရလဒ်: 0၊ သရေကို သေချာပေါက် ရတယ်” လို့ ဆိုလိုပါတယ်။ “opponent: takes the min” က “ပြိုင်ဘက်: အနိမ့်ဆုံးကို ယူတယ်”၊ “first ending is -1 already” က “ပထမ အဆုံးသတ်က -1 ဖြစ်နေပြီ”၊ “never examined” က “ဘယ်တော့မှ မစစ်ဆေးခဲ့ဘူး” လို့ ဆိုလိုပါတယ်။
ကိုယ်တိုင် စမ်းကြည့်ပါ: minimax ကို လက်နဲ့ တွက်ပြီး သူ့ယူဆချက် မမှန်တော့တဲ့ အခြေအနေကို ရှာကြည့်ပါ။ ကိုယ်သိတဲ့ ဂိမ်း တစ်ခုထဲက အဆုံးသတ်ဖို့ ရွှေ့ကွက် နှစ်ကွက်ပဲ လိုတော့တဲ့ ဘယ်အနေအထားကိုမဆို ဆွဲပါ၊ အဆုံးသတ်တွေကို +1၊ 0၊ -1 ရမှတ် ပေးပြီး တန်ဖိုးတွေကို အပေါ်ကို ပြန်ပို့ပါ။
ပြီးရင် ပိုထက်တဲ့ မေးခွန်းကို မေးပါ
ပြိုင်ဘက်က ညံ့ညံ့ ကစားရင် ဘာပြောင်းမလဲ။ Minimax က ပြိုင်ဘက်က ကိုယ့်အတွက် အဆိုးဆုံး ရလဒ်ရှိတဲ့ ရွှေ့ကွက်ကို ရွေးမယ်လို့ ယူဆပါတယ်။ အားနည်းတဲ့ ဒါမှမဟုတ် ကျပန်း ကစားတဲ့ ပြိုင်ဘက်နဲ့ဆိုရင် “ဘေးကင်းတဲ့” branch က လက်တွေ့မှာ အကောင်းဆုံး ရွေးချယ်မှု ဖြစ်ချင်မှ ဖြစ်ပါမယ်။ Minimax က ပြိုင်ဘက်ရဲ့ အကောင်းဆုံး ပြန်ကစားမှုအတွက် ပြင်ဆင်ထားတဲ့ မူဝါဒ (policy) တစ်ခုပါ၊ အားနည်းတဲ့ ပြိုင်ဘက်နဲ့ဆိုရင် တခြား နည်းဗျူဟာ တစ်ခုက ပိုကောင်းနိုင်ပါတယ်။
Search က အလှည့် တိုင်းမှာ မြန်မြန် ကြီးထွားလာပါတယ်။ ဂိမ်း နှစ်ခုကို ဘေးချင်းယှဉ် ကြည့်ပါ။ ပထမ ဂိမ်းမှာ ဖြစ်နိုင်တဲ့ ပထမ ရွှေ့ကွက် 9 ကွက်နဲ့ ပြန်ကစားမှု 8 မျိုးကြောင့် ရွှေ့ကွက် နှစ်ကွက် အစဉ် 72 မျိုး ရပါတယ်၊ ဒုတိယ ဂိမ်းမှာ ပထမ ရွှေ့ကွက် 20 နဲ့ ပြန်ကစားမှု 20 ကြောင့် 400 မျိုး ရပါတယ်။ အဆုံးထိ ကစားကြည့်ရင် ဂိမ်း အသေးက နည်းလမ်း 260,000 လောက်နဲ့ ဖြစ်နိုင်ပြီး ကွန်ပျူတာ တစ်လုံးက ဒါကို ချက်ချင်းနီးပါး စစ်နိုင်ပါတယ်။ ဂိမ်း အကြီးကတော့ အလှည့် 9 ကြိမ်အတွင်း ရွှေ့ကွက် အစဉ် ဘီလီယံ ဆယ်ဂဏန်းနဲ့ချီ ကျော်သွားပြီး ပိုကြီးတဲ့ ဂိမ်းတွေမှာ ပိုဆိုးပါတယ်၊ အဲဒီ ဂိမ်းတွေမှာ ဖြစ်နိုင်တဲ့ အနေအထား အရေအတွက်က မြင်နိုင်တဲ့ စကြဝဠာထဲက အက်တမ် အရေအတွက်ထက်တောင် ပိုများပါတယ်။ Search က ပိုနက်လာလေ ဆက်ဖြစ်နိုင်တဲ့ အခြေအနေ အရေအတွက်က program တစ်ခု သူ့အချိန် ကန့်သတ်ချက်အတွင်း စစ်နိုင်တာထက် မကြာခင် ကျော်သွားလေပါပဲ။
Search က နက်လာလေ ဆက်ဖြစ်နိုင်တဲ့ အခြေအနေ အရေအတွက် မြန်မြန် တိုးလာလေ ဖြစ်တာမို့ ရနိုင်တဲ့ အချိန်နဲ့ hardware က program တစ်ခု ဘယ်လောက် နက်နက် ရှာနိုင်လဲ ဆိုတာကို ကန့်သတ်ပါတယ်။ ဒီအချက်က ဂိမ်းတွေထက် အများကြီး ကျယ်ကျယ် သက်ဆိုင်ပါတယ်: အချိန် အကန့်အသတ်မရှိ ပေးရင် အလုပ်ဖြစ်မယ့် နည်းလမ်း တစ်ခုက မလုံလောက်ပါဘူး၊ ဘာကြောင့်လဲဆိုတော့ efficiency (ထိရောက်မှု) က အပိုဆောင်း အချက် မဟုတ်ဘဲ ပြဿနာရဲ့ အစိတ်အပိုင်း တစ်ခု ဖြစ်လို့ပါ။ ဒါက A4.1.2 နဲ့ ကွန်ပျူတာ ပြဿနာတွေ လိုအပ်တဲ့ hardware ကိုလည်း ဆက်စပ်ပေးပါတယ်။
ပုံထဲမှာ “turns played” က ကစားပြီးတဲ့ အလှည့် အရေအတွက်၊ “positions to examine (not to scale)” က စစ်ဆေးရမယ့် အနေအထား အရေအတွက် (အချိုးအစား အတိအကျ မဟုတ်ပါ) ဖြစ်ပြီး မျဉ်းပြတ် “what a fast computer checks in about a second” က မြန်တဲ့ ကွန်ပျူတာ တစ်လုံး တစ်စက္ကန့်လောက်မှာ စစ်နိုင်တဲ့ ပမာဏပါ။ “the 9-opening game: about 260,000 ways in total” က ပထမ ရွှေ့ကွက် 9 ကွက် ရှိတဲ့ ဂိမ်းမှာ စုစုပေါင်း နည်းလမ်း 260,000 လောက် ရှိတယ်၊ “the 20-opening game: trillions within nine turns” က ပထမ ရွှေ့ကွက် 20 ရှိတဲ့ ဂိမ်းမှာ အလှည့် 9 ကြိမ်အတွင်း trillion (သန်းပေါင်း တစ်သန်း) နဲ့ချီ ရှိတယ် ဆိုတာပါ။ “9 vs 20 openings” က ပထမ ရွှေ့ကွက် 9 နဲ့ 20၊ “72 vs 400 after two turns” က အလှည့် နှစ်ကြိမ်အပြီး 72 နဲ့ 400 ဆိုတာပါ။
ကိုယ်တိုင် စမ်းကြည့်ပါ: branch တွေကို ကိုယ်တိုင် ရေတွက်ပါ။ ပထမ အလှည့် လေးကြိမ်ကို မြှောက်ပါ: 9 × 8 × 7 × 6 နဲ့ 20 × 19 × 18 × 17 ကို နှိုင်းယှဉ်ပါ။
ကိုယ့်တွက်ချက်မှုကို စစ်ပြီး စဉ်းစားချက်ကို အဆုံးသတ်ပါ
မြှောက်လဒ် နှစ်ခုက အလှည့် လေးကြိမ်ပဲ ရှိသေးချိန်မှာ 3,024 နဲ့ 116,280 ပါ။ တစ်စက္ကန့်ကို အနေအထား တစ်သန်း စစ်နိုင်ရင် နှစ်ခုလုံး ချက်ချင်း ပြီးပါတယ်၊ ဒါကြောင့် ဒီပြဿနာကို လျှော့တွက်မိဖို့ လွယ်တာပါ။ အလှည့် 9 ကြိမ် ဒါမှမဟုတ် 10 ကြိမ်အထိ ဆက်တွက်ပါ: ဒုတိယ စုစုပေါင်းက စစ်ဖို့ နာရီပေါင်း ဒါမှမဟုတ် ရက်ပေါင်း ကြာတဲ့အထိ ကြီးလာပြီး ပထမ စုစုပေါင်းကတော့ ဂိမ်း အသေးက ရွှေ့ကွက် 9 ကွက်ပြီးရင် ဆုံးသွားလို့ ဆက်မကြီးတော့ပါဘူး။ အရေးကြီးတာက အရေအတွက်ရဲ့ လက်ရှိ အရွယ်အစား မဟုတ်ဘဲ ဘယ်လောက် မြန်မြန် ကြီးလာလဲ ဆိုတာပါ။
Search ရဲ့ အနက်ကို ကန့်သတ်ခြင်း။ Depth limit (ကြိုတွေးမယ့် ရွှေ့ကွက် အရေအတွက် ကန့်သတ်ချက်) က သတ်မှတ်ထားတဲ့ ရွှေ့ကွက် အရေအတွက် ပြီးရင် ကြိုတွေးတာကို ရပ်ပါတယ်၊ ဒါက ပြဿနာ အသစ် တစ်ခုကို ဖြစ်စေပါတယ်: မပြီးသေးတဲ့ အနေအထား တစ်ခုမှာ နောက်ဆုံး ရမှတ် မရှိပါဘူး။ Evaluation function (မပြီးသေးတဲ့ အနေအထားရဲ့ ရမှတ်ကို ခန့်မှန်းပေးတဲ့ function) က ရမှတ် တစ်ခုကို ခန့်မှန်းပေးပါတယ်။ လက်နဲ့ တည်ဆောက်ထားတဲ့ evaluation တွေက မခိုင်မာပါဘူး: ရုပ်တွေကို ရေတွက်တာက အနေအထား တစ်ခုမှာ ဘယ်ဘက်က နိုင်နေလဲ မှန်မှန်ကန်ကန် ပြနိုင်ပေမယ့် ရုပ် ဘယ်နှရုပ် ရှိလဲ ဆိုတာထက် ရုပ်တွေရဲ့ နေရာက ပိုအရေးကြီးတဲ့ နောက် အနေအထား တစ်ခုမှာတော့ မှားနိုင်ပါတယ်။ Evaluation ကို လက်နဲ့ ရေးမယ့်အစား ဒေတာကနေ သင်ယူတာက machine learning က game search နဲ့ ပြန်ဆက်စပ်တဲ့ နေရာ တစ်ခုပါ။
Monte Carlo tree search (ကျပန်း ဆက်ကစားကြည့်မှုတွေနဲ့ ရွှေ့ကွက်ကို အကဲဖြတ်တဲ့ နည်း) က တခြား လမ်းကြောင်း တစ်ခုကို သုံးပါတယ်: ကျန်တဲ့ ဂိမ်းကို အကြိမ်များစွာ အတုလုပ် ကစားကြည့်ပြီး (ရိုးရှင်းတဲ့ ပုံစံမှာ ကျပန်း ရွှေ့ကွက်တွေနဲ့) နိုင်တဲ့ အကြိမ်တွေကို ရေတွက်ကာ ရွှေ့ကွက် တစ်ခုကို အကဲဖြတ်ပါတယ်။ ရွေးချယ်စရာ ရွှေ့ကွက် နှစ်ခုကို ကျပန်း playout (ဂိမ်းအဆုံးထိ ဆက်ကစားကြည့်ခြင်း) 100 စီ လုပ်ကြည့်တယ် ဆိုပါစို့: တစ်ခုက 41 ကြိမ် နိုင်ပြီး နောက်တစ်ခုက 78 ကြိမ် နိုင်ပါတယ်။ ဒီနည်းက ဒုတိယ ရွှေ့ကွက် ဘာကြောင့် ပိုကောင်းလဲ ဆိုတဲ့ အကြောင်းပြချက် မပေးပေမယ့် အဲဒီ ရွှေ့ကွက်ကို ယူပါ။ Playout ဘယ်နှခု လုပ်ရင် လုံလောက်မလဲ။ အဖြေ မပြောင်းတော့တဲ့အထိ အရေအတွက်ကို တိုးပါ၊ playout တိုင်းက အချိန် ကုန်တယ် ဆိုတာကိုလည်း လက်ခံပါ။ ဒီနည်းထဲမှာ သင်ရိုးထဲက နာမည်ရှိတဲ့ အပေးအယူ တစ်ခု ပါပါတယ်၊ အဲဒါက exploration versus exploitation ပါ (A4.3.6၊ သင်ရိုးထဲမှာ HL အတွက် ပါပါတယ်): စမ်းတာ နည်းသေးပြီး ရလဒ် မကောင်းခဲ့တဲ့ branch တစ်ခုက အကြိမ်ကြိမ် စမ်းပြီးသား အကြိုက်ဆုံး branch ထက် ပိုကောင်းနေနိုင်သေးပြီး အဲဒါကို ဘယ်လောက် မကြာခဏ ပြန်စမ်းမလဲ ဆုံးဖြတ်တာက reinforcement learning နဲ့ သင်ယူတဲ့ စနစ် တစ်ခု ရင်ဆိုင်ရတဲ့ အပေးအယူ အတူတူပါပဲ။
မေးခွန်းတွေအဖြစ် ရေးထားတဲ့ နည်းဗျူဟာ တစ်ခု၊ ဂိမ်းအဆုံးတွေကနေ နောက်ပြန် တွက်သွားတဲ့ minimax နဲ့ ဂိမ်းကို ကစားလို့ရတဲ့ နည်းလမ်း ဘယ်နှမျိုး ရှိလဲ ဆိုတဲ့ အတိအကျ အရေအတွက်တွေ ပါပါတယ်။ ဒီအပိုင်းက 28:59 မှာ ပြီးပါတယ်။ အပေါ်က သတိပေးချက်ကို ပြန်သတိရပါ: ဒီ lecture က ‘decision tree’ လို့ ပြောရင် လက်နဲ့ ရေးထားတဲ့ flowchart ကို ဆိုလိုတာပါ၊ A4.3.2 က classifier ကို ဆိုလိုတာ မဟုတ်ပါဘူး။
ကြည့်ရန်: သမိုင်းကြောင်းနဲ့ ပိုလွယ်တဲ့ ရှင်းပြချက် (Crash Course AI၊ 11 မိနစ်)
2:18 ကနေ ဂိမ်းကစားတဲ့ စနစ်တွေရဲ့ သမိုင်းကြောင်း ပါပါတယ်၊ အထဲမှာ လူ တစ်ယောက် ပုန်းနေခဲ့တဲ့ စစ်တုရင် စက် လှည့်စားမှုလည်း ပါပါတယ်။ ပြီးရင် 4:28 ကနေ game tree တွေ၊ minimax နဲ့ ကျပန်း playout တွေ၊ 9:55 မှာ အခုထိ ခက်နေသေးတဲ့ အရာတွေ ပါပါတယ်။ 2019 က video ပါ။
လမ်းကြောင်း ရှာခြင်းနဲ့ စက်ရုပ် ရွေ့လျားမှု
Stretch အပိုင်း။ Robotics navigation နဲ့ object detection ကို machine learning ရဲ့ အသုံးချမှုတွေအဖြစ် ဖော်ပြထားတဲ့ A4.1.1 နဲ့ ဆက်စပ်ပါတယ်။ ဒီအပိုင်းက စက်ရုပ် တစ်ရုပ် သုံးနိုင်တဲ့ planning (ကြိုတင် စီစဉ်ခြင်း) နည်းလမ်းတွေကို သင်ယူထားတဲ့ perception (ကင်မရာ စတဲ့ ကိရိယာတွေကနေ ပတ်ဝန်းကျင်ကို နားလည်ခြင်း) နည်းလမ်းတွေနဲ့ ခွဲခြားပြပါတယ်။
Game search က ကိုယ့်ကို တက်တက်ကြွကြွ ဆန့်ကျင်နေတဲ့ ပြိုင်ဘက် တစ်ယောက်နဲ့ ရင်ဆိုင်ရပါတယ်။ Route search (လမ်းကြောင်း ရှာဖွေခြင်း) ကတော့ ဒီအတိုင်း ရှိနေရုံသာ ဖြစ်တဲ့ အတားအဆီးတွေနဲ့ ရင်ဆိုင်ရပါတယ်: နံရံတွေက ကိုယ့်ရွှေ့ကွက်တွေကို မတုံ့ပြန်ပါဘူး။ နှစ်မျိုးလုံးက မလုပ်ဆောင်ခင် ဖြစ်နိုင်ခြေတွေကို စူးစမ်း ရှာဖွေကြပြီး ကိုယ့်ကို ဆန့်ကျင်နေတဲ့ အရာ ရှိသလား မရှိဘူးလား ဆိုတာပေါ် မူတည်ပြီး မိသားစု နှစ်စု ဖြစ်လာပါတယ်။ Route search က အတားအဆီးတွေနဲ့ ရွေ့လျားရတဲ့ ကုန်ကျစရိတ်တွေကို ထည့်စဉ်းစားပြီး မြေပုံ တစ်ခုပေါ်မှာ လမ်းကြောင်း တစ်ခုကို ရှာပါတယ်။
အယူအဆ တစ်ခု၊ မိသားစု နှစ်စု။ အပေါ်က game search အပိုင်းက ဘယ်ဘက်ခြမ်း ဖြစ်ပြီး အောက်က အားလုံးက ညာဘက်ခြမ်းပါ။
ပုံထဲမှာ ဘယ်ဘက် “something pushes back: every move meets a reply” က “တစ်ခုခုက ပြန်တွန်းလှန်တယ်: ရွှေ့ကွက် တိုင်းက တုံ့ပြန်မှု တစ်ခုနဲ့ ကြုံရတယ်” လို့ ဆိုလိုပြီး ညာဘက် “the world is indifferent: the walls never move to block you” က “ပတ်ဝန်းကျင်က ကိုယ့်ကို ဂရုမစိုက်ဘူး: နံရံတွေက ကိုယ့်ကို ပိတ်ဆို့ဖို့ ဘယ်တော့မှ မရွေ့ဘူး” လို့ ဆိုလိုပါတယ်။ S က အစ (start) နဲ့ G က ပန်းတိုင် (goal) ပါ။
ဒီအပိုင်းက ရိုးရှင်းအောင် လုပ်ထားတဲ့ ယူဆချက်တွေနဲ့ စပြီး တစ်ခုချင်း ဖယ်ရှားသွားပါတယ်: ပထမ စက်ရုပ်ကို grid (ဇယားကွက်) ပေါ်က အစက် တစ်စက်အဖြစ် ယူဆတာ၊ ပြီးရင် ရွေ့လျားရတဲ့ ကုန်ကျစရိတ်တွေ၊ ပြီးရင် စက်ရုပ်ရဲ့ အရွယ်အစား၊ နောက်ဆုံးမှာ သူ့နေရာအကြောင်း မသေချာမှုပါ။
လမ်းကြောင်း ရှာခြင်း
စက်ရုပ်၊ အစ နေရာနဲ့ ပန်းတိုင် ပါတဲ့ grid တစ်ခုနဲ့ စပါ။ Depth first search (လမ်းကြောင်း တစ်ခုကို ဆုံးတဲ့အထိ လိုက်ပြီး မရတော့မှ နောက်ပြန်လှည့်တဲ့ ရှာနည်း) က လမ်းကြောင်း တစ်ခုကို လိုက်သွားပြီး ဆက်မသွားနိုင်တော့ရင် နောက်ပြန် ဆုတ်ကာ တခြား branch တွေကို စမ်းပါတယ်။ လမ်းကြောင်း တစ်ခုကို ရှာတွေ့နိုင်ပေမယ့် အတိုဆုံး လမ်းကြောင်း ဖြစ်မယ်လို့ အာမ မခံပါဘူး။
Breadth first search (အနီးဆုံး နေရာတွေကနေ အဆင့်လိုက် ပြန့်ထွက်ပြီး ရှာတဲ့ နည်း) က တစ်လှမ်း အကွာ နေရာတွေ၊ ပြီးရင် နှစ်လှမ်း အကွာ၊ ပြီးရင် သုံးလှမ်း အကွာ နေရာတွေကို ရှာပါတယ်။ အပြင်ဘက်ကို ညီညီမျှမျှ ပြန့်ထွက်သွားတာမို့ လှမ်း တိုင်းရဲ့ ကုန်ကျစရိတ် တူညီရင် ပန်းတိုင်ကို ပထမဆုံး တွေ့တဲ့ လမ်းကြောင်းမှာ အလှမ်း အနည်းဆုံး ဖြစ်ပါတယ်။ အဲဒီ အာမခံချက်က အပို လိမ္မာပါးနပ်မှု တစ်ခုခုကနေ မဟုတ်ဘဲ သူ ရှာတဲ့ အစဉ်ကနေ လာတာပါ။
ဒီ ဝင်္ကပါမှာ search နှစ်မျိုးလုံးက နံရံ မဟုတ်တဲ့ အကွက် 24 ကွက်ထဲက 21 ကွက်ကို စစ်ဆေးခဲ့တာမို့ ဒီမှာ ကွာခြားချက်က သက်သာသွားတဲ့ အလုပ် မဟုတ်ဘဲ အာမခံချက်ပါ။ လှမ်း တိုင်းရဲ့ ကုန်ကျစရိတ် တူရင် breadth first search က အတိုဆုံး လမ်းကြောင်း တစ်ခုကို အာမခံပါတယ်၊ depth first search ကတော့ အာမ မခံပါဘူး။ တခြား ဝင်္ကပါ တစ်ခုပေါ်မှာ နှစ်မျိုးလုံးကို တစ်ဆင့်ချင်း လိုက်ကြည့်ပြီး သူတို့ရဲ့ လမ်းကြောင်းတွေနဲ့ စစ်ဆေးခဲ့တဲ့ အကွက် အရေအတွက်ကို နှိုင်းယှဉ်ကြည့်ပါ။
ပုံထဲမှာ ဘယ်ဘက် “depth first: follow, dead-end, back up” က “depth first: လိုက်သွား၊ လမ်းပိတ် ကြုံ၊ နောက်ပြန် ဆုတ်” လို့ ဆိုလိုပြီး အောက်က စာက “တွေ့တဲ့ လမ်းကြောင်း: 14 လှမ်း (အစက်တွေက သူ ရှာကြည့်ပြီး စွန့်ခဲ့တဲ့ လမ်းပိတ်ကို ပြတယ်)၊ စစ်ဆေးခဲ့တဲ့ အကွက် 21 ကွက်” လို့ ဆိုလိုပါတယ်။ ညာဘက် “breadth first: one step out, then two, then three” က “breadth first: တစ်လှမ်း၊ ပြီးရင် နှစ်လှမ်း၊ ပြီးရင် သုံးလှမ်း ပြန့်ထွက်” လို့ ဆိုလိုပြီး အောက်က စာက “တွေ့တဲ့ လမ်းကြောင်း: 10 လှမ်း၊ အတိုဆုံး ဖြစ်တာ သေချာတယ် (အရိပ်ထိုးထားတာက စစ်ဆေးခဲ့တဲ့ အကွက်တွေ: ဒီမှာလည်း 21 ကွက်)” လို့ ဆိုလိုပါတယ်။
Grid ကို graph အဖြစ် ချဲ့ကြည့်ပါ (graph ဆိုတာ နေရာတွေကို node တွေအဖြစ်၊ သွားလို့ရတဲ့ ချိတ်ဆက်မှုတွေကို edge တွေအဖြစ် ထားတဲ့ ဖွဲ့စည်းပုံပါ)၊ search နှစ်မျိုးလုံးက မပြောင်းလဲဘဲ အလုပ်လုပ်ပါတယ်: အခု ကမ္ဘာက အကွက်တွေ အစား ခရီးထွက်တဲ့ လမ်းပေါ်က မြို့တွေ ဖြစ်နိုင်ပါပြီ။
ချိတ်ဆက်မှုတွေမှာ ကုန်ကျစရိတ် မတူနိုင်ပါဘူး။ လမ်းတွေကို အချိန်၊ လမ်းကြေး ဒါမှမဟုတ် ဆီ ကုန်ကျမှုနဲ့ ကုန်ကျစရိတ် သတ်မှတ်ထားရင် breadth first search က အဖြေ မှားပေးနိုင်ပါတယ်၊ ဘာကြောင့်လဲဆိုတော့ edge အနည်းဆုံး ပါတဲ့ လမ်းကြောင်းက အသက်သာဆုံး ဖြစ်ချင်မှ ဖြစ်လို့ပါ။ Dijkstra’s algorithm (Dijkstra ရဲ့ algorithm၊ algorithm ဆိုတာ ပြဿနာကို အဆင့်ဆင့် ဖြေရှင်းတဲ့ နည်းလမ်းပါ) က အာမခံချက်ကို ပြန်ရစေပါတယ်: edge ကုန်ကျစရိတ်တွေ အနုတ် မဟုတ်ရင် အစကနေ သိထားသလောက် ကုန်ကျစရိတ် အနည်းဆုံး ဖြစ်တဲ့ မရောက်ရသေးတဲ့ node ကို ထပ်ခါထပ်ခါ ချဲ့ကြည့်ပြီး ကုန်ကျစရိတ် အနည်းဆုံး လမ်းကြောင်း တစ်ခုကို ရှာပေးပါတယ်၊ အဲဒီ လမ်းကြောင်းမှာ edge ဘယ်နှခု ပါပါ ရှာပေးပါတယ်။
ကိုယ်တိုင် စမ်းကြည့်ပါ: အသက်သာဆုံးက အတိုဆုံး မဟုတ်ပါဘူး။ မြို့ ငါးမြို့ ဆွဲပါ: တိုက်ရိုက် သွားသလို ထင်ရတဲ့ လမ်းကြောင်းမှာ စုစုပေါင်း 13 မိနစ် ကြာတဲ့ လမ်းတို လေးလမ်း ပါပြီး ပိုရှည်ပုံရတဲ့ လမ်းကြောင်းရဲ့ ကုန်ကျစရိတ်က 9 ပဲ ရှိပါတယ်။ လမ်းညွှန် app တစ်ခုကနေ ဘယ်လမ်းကြောင်းကို လိုချင်မလဲ။
ပြီးရင် နောက်တစ်ဆင့် ထပ်တိုးကြည့်ပါ
ကုန်ကျစရိတ်တွေကို မိနစ်ကနေ လမ်းကြေးအဖြစ် ပြောင်းပြီး ရွေးထားတဲ့ လမ်းကြောင်း ပြောင်းသွားလား စစ်ကြည့်ပါ။ မကြာခဏ ပြောင်းပါတယ်: ကုန်ကျစရိတ် အနည်းဆုံး လမ်းကြောင်းက edge တစ်ခုစီရဲ့ ကုန်ကျစရိတ်က ဘာကို ကိုယ်စားပြုလဲ ဆိုတာပေါ် မူတည်ပါတယ်။ ကိုယ် ဂရုစိုက်တဲ့ အရာပေါ် မူတည်ပြီး နည်းလမ်း ရွေးတာက HL မှာ A4.3.10 မေးတဲ့ ဆင်ခြင်ပုံ အမျိုးအစား အတူတူပါပဲ။ ဒါပေမယ့် ဒါတွေက machine learning model တွေ မဟုတ်ဘဲ search algorithm တွေ ဖြစ်လို့ A4.3.10 အဖြေတွေမှာ ဒီဥပမာတွေကို မသုံးဘဲ ဆင်ခြင်ပုံ ပုံစံကိုပဲ သုံးပါ။
ပန်းတိုင်ရဲ့ တည်နေရာကို အသုံးချခြင်း။ Dijkstra’s algorithm က ရှာဖွေတဲ့ အစဉ်ကို အစကနေ ကုန်ကျစရိတ်နဲ့ပဲ စီတာမို့ မလိုအပ်တဲ့ အလုပ် အများကြီး လုပ်မိနိုင်ပါတယ်။ အပေါ်က ဝင်္ကပါမှာ breadth first search စစ်ဆေးခဲ့တဲ့ အကွက်တွေကို ကြည့်ပါ: ပန်းတိုင်နဲ့ တိုက်ရိုက် ဆန့်ကျင်ဘက်ကို ညွှန်နေတဲ့ လမ်းပိတ် အကွက်စု တစ်ခုလုံး ပါနေပါတယ်။ Heuristic (ပန်းတိုင်အထိ ကျန်တဲ့ ကုန်ကျစရိတ်ကို ခန့်မှန်းချက်) တစ်ခုက search ကို ပန်းတိုင်ဘက် ဦးတည်အောင် လမ်းညွှန်ပေးနိုင်ပါတယ်။
အရိပ်ထိုးထားတဲ့ အကွက်တွေက heuristic တစ်ခု သက်သာစေနိုင်တဲ့ အလုပ်ကို ပြပါတယ်။ ပန်းတိုင်နဲ့ အနီးဆုံးလို့ ထင်ရတဲ့ နေရာကို ဘာလို့ တန်း မခုန်သွားတာလဲ။ ဘာကြောင့်လဲဆိုတော့ ရောက်ဖို့ 15 လှမ်း ကြာခဲ့တဲ့ နေရာ တစ်ခုက 2 လှမ်းပဲ ကြာခဲ့ပြီး ပန်းတိုင်ကနေ နည်းနည်း ပိုဝေးပုံရတဲ့ နေရာ တစ်ခုထက် ပိုဆိုးနိုင်လို့ပါ။ A star search (ပန်းတိုင်ဆီ ဦးတည်ပြီး အတိုဆုံး လမ်းကြောင်း ရှာတဲ့ နည်း) က ရောက်ခဲ့ပြီးသား ကုန်ကျစရိတ်နဲ့ ကျန်နေသေးတဲ့ ခန့်မှန်း ကုန်ကျစရိတ်ကို ချိန်ညှိပါတယ်။ Heuristic က ဘယ်နေရာတွေကို ရှာဖွေမလဲ ဆိုတာကို သက်ရောက်ပါတယ်၊ ခန့်မှန်းချက် ညံ့ရင် search ကို ထိရောက်မှု နည်းစေနိုင်ပြီး ကုန်ကျစရိတ်ကို အမှန်ထက် ပိုခန့်မှန်းမိရင် အတိုဆုံး လမ်းကြောင်း အာမခံချက် ပျောက်သွားနိုင်ပါတယ်။ နောက်ဆုံးအနေနဲ့ replanning (သွားနေရင်း လမ်းကြောင်း ပြန်စီစဉ်ခြင်း) က စက်ရုပ် ရွေ့နေတုန်း အတားအဆီးတွေ ပေါ်လာတာ ဒါမှမဟုတ် ရှင်းသွားတာ ဖြစ်ရင် လမ်းကြောင်းကို update လုပ်ပါတယ်၊ အကောင်းဆုံးကတော့ ပြောင်းသွားတဲ့ အပိုင်းတွေကိုပဲ ပြန်တွက်တာပါ။
ပုံထဲမှာ ဘယ်ဘက်က အနီရောင် စာ “all of this effort points away from the goal; no person would look here” က “ဒီ အလုပ် အားလုံးက ပန်းတိုင်နဲ့ ဆန့်ကျင်ဘက်ကို ညွှန်နေတယ်၊ ဘယ်လူမှ ဒီမှာ ရှာမှာ မဟုတ်ဘူး” လို့ ဆိုလိုပါတယ်။ အောက်က စာကြောင်း နှစ်ကြောင်းက “လူက အဲဒီအစား ပန်းတိုင်ဘက်ကို အကြမ်းဖျင်း ဦးတည်သွားတယ်၊ အဲဒါက heuristic တစ်ခုပါ: ပန်းတိုင် ဘယ်လောက် ဝေးသေးလဲ ဆိုတာကို အကြမ်းဖျင်း၊ လွယ်လွယ်ကူကူ ခန့်မှန်းတာပါ။ အဲဒီလို ခန့်မှန်းချက် သုံးတာကို informed search (ပန်းတိုင်အကြောင်း အချက်အလက်ကို သုံးပြီး ရှာခြင်း) လို့ ခေါ်တယ်” လို့ ဆိုလိုပါတယ်။
စက်ရုပ်က အစက် တစ်စက် မဟုတ်ပါဘူး
အခုအထိ စက်ရုပ်ကို အစက် တစ်စက်အဖြစ် ယူဆခဲ့ပါတယ်။ အဲဒီ ယူဆချက်ကို ဖယ်လိုက်တာက path planning (လမ်းကြောင်း ရှိသလား) နဲ့ motion planning (ဒီ စက်ရုပ်က အဲဒီ လမ်းကြောင်းအတိုင်း တကယ် သွားနိုင်သလား) ကြား ကွာခြားချက်ပါ။ ဥပမာ ကား တစ်စီးက ဘေးက ကားရပ်တဲ့ နေရာထဲကို ဘေးတိုက် လျှောဝင်လို့ မရပါဘူး၊ လှည့်ဖို့ နေရာ လိုပါတယ်။ လမ်းကြောင်း ရှိတယ်လို့ သိတာနဲ့ အဲဒီ လမ်းကြောင်းအတိုင်း ရွေ့လျားနိုင်တာက မတူပါဘူး။
စက်ရုပ် တစ်ရုပ်ရဲ့ configuration (ဖွဲ့စည်းထားပုံ အခြေအနေ) ဆိုတာ သူ့နေရာ တစ်ခုတည်း မဟုတ်ဘဲ သူ့ရဲ့ ရုပ်ပိုင်းဆိုင်ရာ အခြေအနေ အပြည့်အစုံပါ: ကား တစ်စီးမှာ ဦးတည်ရာ (heading) လည်း ရှိပြီး အဆစ် လေးခုပါတဲ့ စက်ရုပ်လက်တံ တစ်ခုကို သူ့လက်ဖျား ရောက်နေတဲ့ နေရာနဲ့ မဟုတ်ဘဲ အဆစ် လေးခုရဲ့ ထောင့်တွေနဲ့ ဖော်ပြပါတယ်။ ပုံသဏ္ဌာန် ထူးဆန်းတဲ့ အရာ တစ်ခုကို အဆင့် တိုင်းမှာ အတားအဆီးတွေနဲ့ ထိမထိ စစ်ရတာ ခက်တာမို့ အင်ဂျင်နီယာတွေက bounding shape (အရာ တစ်ခုလုံး အပြည့် ဝင်ဆံ့တဲ့ ရိုးရှင်းတဲ့ ပုံ) ကို သုံးပါတယ်: စက်ရုပ်ကို သူ ဝင်ဆံ့လောက်အောင် ကြီးတဲ့ စက်ဝိုင်း တစ်ခုနဲ့ ဝိုင်းထားပါ။ ဒီ စည်းမျဉ်းက ဘေးကင်းဘက်ကို ယိမ်းပါတယ်: စက်ရုပ်ရဲ့ အမှတ် တိုင်းက စက်ဝိုင်းထဲမှာ ရှိရင် စက်ဝိုင်းအတွက် နေရာ လုံလောက်တဲ့ ဘယ်လမ်းကြောင်းမဆိုမှာ စက်ရုပ်အတွက်လည်း နေရာ လုံလောက်ပါတယ်။ ပိုသေးတဲ့ စက်ဝိုင်း အများကြီး သုံးရင် ပိုကွက်တိ ဖြစ်ပါတယ်။
စက်ဝိုင်းပုံ စက်ရုပ် တစ်ရုပ်အတွက် အတားအဆီး တစ်ခုစီကို စက်ရုပ်ရဲ့ အချင်းဝက် (radius) စာ ချဲ့ပါ၊ ပြီးရင် စက်ရုပ်ရဲ့ ဗဟိုချက်ရဲ့ လမ်းကြောင်းကို အစက် တစ်စက်အဖြစ် စီစဉ်ပါ။
နံရံတွေကို ထူအောင် လုပ်ပြီး စက်ရုပ်ကို အစက် တစ်စက်အထိ ချုံ့လိုက်ပါ: ပုံသဏ္ဌာန် တစ်ခုအတွက် လမ်းကြောင်း ရှာတာက အစက် တစ်စက်အတွက် လမ်းကြောင်း ရှာတာ ဖြစ်သွားပါတယ်။ မီးခိုးရောင် နယ်စပ်တွေက စက်ရုပ်ရဲ့ ဗဟိုချက် မသွားရတဲ့ နေရာကို ပြပြီး အဲဒီ နယ်စပ်တွေ အပြင်ဘက်က ဘယ်လမ်းကြောင်းမဆိုမှာ စက်ဝိုင်းပုံ စက်ရုပ်အတွက် နေရာ ကျန်ပါတယ်။
ပုံထဲမှာ အပေါ်ဆုံးက “same doorway, three drawings: the third answers the question instantly” က “တံခါးပေါက် တစ်ခုတည်း၊ ပုံ သုံးပုံ: တတိယ ပုံက မေးခွန်းကို ချက်ချင်း ဖြေပေးတယ်” လို့ ဆိုလိုပါတယ်။ ပထမ ပုံအောက်က “Does the shape fit through? Hard to say at a glance.” က “ဒီပုံသဏ္ဌာန်က ဖြတ်ဝင်နိုင်မလား။ တစ်ချက်ကြည့်ရုံနဲ့ ပြောရခက်တယ်”၊ ဒုတိယ ပုံအောက်က “Wrap it in a circle that contains the whole shape.” က “ပုံသဏ္ဌာန် တစ်ခုလုံး ဝင်ဆံ့တဲ့ စက်ဝိုင်း တစ်ခုနဲ့ ဝိုင်းပါ”၊ တတိယ ပုံအောက်က “Grow every wall by the radius. Now plan for a single point. It fits, just, at a glance.” က “နံရံ တိုင်းကို အချင်းဝက်စာ ချဲ့ပါ။ အခု အစက် တစ်စက်အတွက်ပဲ စီစဉ်ပါ။ တစ်ချက်ကြည့်ရုံနဲ့ ကပ်ကပ်လေး ဝင်တာ မြင်ရတယ်” လို့ ဆိုလိုပါတယ်။
ကိုယ်တိုင် စမ်းကြည့်ပါ: ထူအောင် ချဲ့ထားတဲ့ နံရံတွေကို စက္ကူပေါ်မှာ ဆွဲပါ။ တံခါးပေါက် တစ်ခုပါတဲ့ အခန်း အပြင်အဆင် ပုံ (floor plan) တစ်ခုနဲ့ စကေးအတိုင်း စက်ဝိုင်းအဖြစ် ဆွဲထားတဲ့ စက်ရုပ် တစ်ရုပ်ကို ဆွဲပါ။ ပထမ ဖြတ်ဝင်နိုင်မလား မျက်လုံးနဲ့ ကြည့်ပြီး ဆုံးဖြတ်ပါ။ ပြီးရင် နံရံ တိုင်းကို စက်ဝိုင်းရဲ့ အချင်းဝက်စာ ထူအောင် ချဲ့ပြီး စက်ရုပ်ကို အစက် တစ်စက်အဖြစ် ထားကာ ပုံကို ပြန်ဆွဲပါ။
သတိပြုမိသင့်တဲ့ အချက်
ဒုတိယ ပုံက မေးခွန်းကို တစ်ချက်ကြည့်ရုံနဲ့ ဖြေပေးပါတယ်: ထူအောင် ချဲ့ထားတဲ့ နံရံ မရောက်တဲ့ နေရာ ကျန်နေသမျှ ဘယ်နေရာမှာမဆို အစက်က ဝင်ဆံ့ပါတယ်။ ထူအောင် ချဲ့ထားတဲ့ နံရံတွေက တံခါးပေါက်ကို ဖြတ်ပြီး ထိကပ်သွားရင် ဘယ်လမ်းကြောင်း ရှာနည်းကို သုံးသုံး စက်ဝိုင်းပုံ စက်ရုပ်က အဲဒီ တံခါးပေါက်ကို ဖြတ်ဝင်လို့ မရပါဘူး။ ကိုယ်က ဂျီဩမေတြီ ပြဿနာ တစ်ခုကို ရှာနည်း သိပြီးသား ဝင်္ကပါ ပြဿနာ အဖြစ် ပြောင်းလိုက်တာပါ။
စဉ်ဆက်မပြတ်တဲ့ နေရာကို ရှာရ ပိုလွယ်အောင် လုပ်ပေးတဲ့ နည်းလမ်း နှစ်ခု ရှိပြီး သူတို့ရဲ့ ကန့်သတ်ချက်တွေ ကွဲပြားပါတယ်:
- တကယ့် နေရာက စဉ်ဆက်မပြတ်ပါ၊ ဒါကြောင့် စဉ်းစားရမယ့် နေရာ အရေအတွက်က အဆုံးမရှိပါဘူး။ Sampling-based planning (ကျပန်း အမှတ်တွေ ချပြီး လမ်းကြောင်း ရှာတဲ့ စီစဉ်နည်း) က ကျပန်း ရွေးချယ်စရာ အမှတ်တွေကို ဖြန့်ချပြီး အတားအဆီး ဒါမှမဟုတ် သူ့ရဲ့ ချဲ့ထားတဲ့ နယ်စပ်ထဲ ကျတဲ့ အမှတ်တွေကို ဖယ်ပစ်ကာ ကျန်တဲ့ အမှတ်တွေကို ရှာပါတယ်။ ကုန်ကျစရိတ် နှစ်ခု ရှိပါတယ်: တွေ့တဲ့ လမ်းကြောင်းက အကောင်းဆုံး ဖြစ်ချင်မှ ဖြစ်မယ်၊ ကံမကောင်းတဲ့ ဖြန့်ချမှု တစ်ခုက လမ်းကြောင်း ရှိနေရက်နဲ့ တစ်ခုတည်းသော ဖြတ်လမ်းကို လွတ်သွားနိုင်တယ်။
- တကယ့် အတားအဆီးတွေမှာ ပုံသဏ္ဌာန် မမှန်ပါဘူး။ Cell decomposition (မြေပုံကို အကွက်တွေ ခွဲပြီး ပိတ်/ပွင့် မှတ်တဲ့ နည်း) က မြေပုံကို cell (အကွက်) တွေ ခွဲပြီး အတားအဆီး ထိတဲ့ cell မှန်သမျှကို ပိတ်ထားတယ်လို့ မှတ်ပါတယ်။ အကွက်ကြီးတဲ့ grid တစ်ခုက ပိတ်ထားတဲ့ cell တစ်ခုက တစ်စိတ်တစ်ပိုင်းပဲ ဖုံးထားတဲ့ ကြားပေါက် ကျဉ်းကျဉ်းကို မှားပြီး ပိတ်ပစ်နိုင်ပါတယ်။ ပြင်နည်းက ပိတ်ထားတဲ့ cell တစ်ခုစီကို ပိုသေးတဲ့ cell လေးခု ခွဲပြီး ပြန်စစ်တာပါ၊ ဖြတ်လမ်း ပေါ်လာတဲ့အထိ ထပ်ခါထပ်ခါ လုပ်ပါတယ်။ ရလဒ်က grid ဘယ်လောက် သေးငယ်လာလဲ ဆိုတာပေါ် မူတည်နေဆဲပါ။
Sampling က ကျဉ်းမြောင်းတဲ့ ဖြတ်လမ်း တစ်ခုကို လွတ်သွားနိုင်ပါတယ်။ အကွက်ကြီးတဲ့ grid က အဲဒါကို ပိတ်ထားတယ်လို့ မှတ်နိုင်ပါတယ်။ အမှတ် ပိုများများ ချတာ ဒါမှမဟုတ် ပိုသေးတဲ့ grid သုံးတာက ကူညီနိုင်ပေမယ့် တွက်ချက်မှု ပိုလိုပါတယ်။ ကုန်ကျစရိတ် နှစ်ခုလုံးက နေရာ အရေအတွက် အဆုံးမရှိတဲ့ စဉ်ဆက်မပြတ် နေရာကို ရှာလို့ရတဲ့ အရေအတွက် ကန့်သတ်ထားတဲ့ အစု တစ်ခုအဖြစ် ပြောင်းတာကနေ လာပါတယ်။
ပုံထဲမှာ ဘယ်ဘက် “coarse cells: the gap vanishes” က “အကွက်ကြီးတွေ: ကြားပေါက် ပျောက်သွားတယ်” လို့ ဆိုလိုပြီး အောက်က “every touched cell closes; left-to-bottom-right is sealed” က “ထိတဲ့ အကွက် တိုင်း ပိတ်သွားတယ်၊ ဘယ်ဘက်ကနေ ညာဘက်အောက်ထောင့်ကို သွားတဲ့ လမ်း ပိတ်သွားတယ်” လို့ ဆိုလိုပါတယ်။ ညာဘက် “subdivide the blocked cells: it opens” က “ပိတ်ထားတဲ့ အကွက်တွေကို ထပ်ခွဲပါ: လမ်း ပွင့်လာတယ်” လို့ ဆိုလိုပြီး အောက်က “only truly-touched quarters close; a route threads the gap” က “အတားအဆီးနဲ့ တကယ် ထိတဲ့ လေးပုံတစ်ပုံ အကွက်တွေပဲ ပိတ်တယ်၊ လမ်းကြောင်း တစ်ခုက ကြားပေါက်ကို ဖြတ်သွားတယ်” လို့ ဆိုလိုပါတယ်။
အမှန်တကယ် ဘယ်နေရာမှာ ရှိနေလဲ
ဖယ်ရှားရမယ့် နောက်ဆုံး ယူဆချက်က စက်ရုပ်က သူ ဘယ်မှာ ရှိလဲ အတိအကျ သိတယ် ဆိုတာပါ။ Sensor (ပတ်ဝန်းကျင် အပြောင်းအလဲကို ထောက်လှမ်းတဲ့ ကိရိယာ) ဖတ်ချက်တွေနဲ့ ရွေ့လျားမှု တိုင်းတာချက်တွေမှာ မသေချာမှု ပါတာမို့ စက်ရုပ်က သေချာတဲ့ အစက် တစ်စက် အစား ဖြစ်နိုင်တဲ့ နေရာတွေရဲ့ ပြန့်နှံ့မှု (probability distribution: နေရာ တစ်ခုစီမှာ ရှိနိုင်ခြေကို ဖြန့်ပြထားတာ) ကို ထိန်းထားပါတယ်။ Sensor ဖတ်ချက် တစ်ခု ရောက်လာရင် ပြန့်နှံ့မှု ကျဉ်းသွားပြီး စက်ရုပ် ရွေ့လိုက်ရင် ပြန်ကျယ်သွားပါတယ်၊ ဘာကြောင့်လဲဆိုတော့ သူ တကယ် ဘယ်လောက် သွားခဲ့လဲ ဆိုတာကလည်း ခန့်မှန်းချက် တစ်ခုပဲ ဖြစ်လို့ပါ။ ဒီနည်းနဲ့ နေရာကို ခန့်မှန်းတာကို localisation (ကိုယ့်တည်နေရာကို ခန့်မှန်းခြင်း) လို့ ခေါ်ပါတယ်။ ကိုယ့်နေရာကို ခန့်မှန်းဖို့ သုံးနေတဲ့ မြေပုံကိုပါ တစ်ပြိုင်နက် တည်ဆောက်ရင်း နေရာ ခန့်မှန်းတာကို SLAM (simultaneous localisation and mapping: မြေပုံ ဆွဲရင်း တစ်ပြိုင်နက် ကိုယ့်နေရာကို ခန့်မှန်းခြင်း) လို့ ခေါ်ပါတယ်။
အရိပ်ထိုးထားတဲ့ ဧရိယာက နေရာအကြောင်း မသေချာမှုကို ကိုယ်စားပြုပါတယ်။ HL ကျောင်းသားတွေအတွက် သတိပေးချက်: အမှား အနည်းငယ် ရောနေတဲ့ ဖတ်ချက်တွေကို ပေါင်းစပ်တာက A4.2.1 ထဲက data cleaning (train မလုပ်ခင် ဒေတာကို သန့်ရှင်းအောင် ပြင်ခြင်း) နဲ့ တူပုံရပေမယ့် မတူတဲ့ အလုပ်ပါ။ Training မလုပ်ခင် dataset (ဒေတာ အစုအဝေး) ကို ပြင်ဆင်တာနဲ့ ယာဉ် တစ်စီးက ကိုယ့်နေရာကို အချိန်နဲ့ တပြေးညီ ခန့်မှန်းတာ (state estimation) က သီးခြား လုပ်ဆောင်ချက်တွေပါ။
ပုံထဲမှာ ပထမ “where it might be: a spread, not a point” က “ရှိနိုင်တဲ့ နေရာ: အစက် တစ်စက် မဟုတ်ဘဲ ပြန့်နှံ့မှု တစ်ခု”၊ ဒုတိယ “a sensor reading arrives” က “sensor ဖတ်ချက် တစ်ခု ရောက်လာတယ်” နဲ့ “the spread tightens” က “ပြန့်နှံ့မှု ကျဉ်းသွားတယ်”၊ တတိယ “…then it moves, and loosens again: distance travelled is also an estimate” က “…ပြီးတော့ ရွေ့လိုက်တာနဲ့ ပြန်ကျယ်သွားတယ်: သွားခဲ့တဲ့ အကွာအဝေးကလည်း ခန့်မှန်းချက် တစ်ခုပဲ” လို့ ဆိုလိုပါတယ်။
ပတ်ဝန်းကျင်ကို သိရှိခြင်း မှာ အားသာချက် ဆန့်ကျင်ဘက် ရှိတဲ့ ကိရိယာ နှစ်ခုကို တွဲသုံးပါတယ်: ကင်မရာတွေက ပုံပန်းသဏ္ဌာန်ကို ပေးပြီး LiDAR (laser အလင်းနဲ့ အကွာအဝေးတွေကို တိုင်းတဲ့ sensor) က ဂျီဩမေတြီ (ပုံသဏ္ဌာန်နဲ့ အကွာအဝေး) ကို ပေးပါတယ်၊ သူက အလင်း ခဏလေး ထုတ်လွှတ်ပြီး ထောင့် အများကြီးကနေ ပြန်လာချိန်ကို တိုင်းပါတယ်။ ကင်မရာ အလုပ်မလုပ်တဲ့ အမှောင်ထဲမှာ LiDAR က အလုပ်လုပ်နေဆဲပါ၊ LiDAR က ပြားချပ်ချပ် ထောင့်မှန်စတုဂံ တစ်ခုလိုပဲ မြင်တဲ့ လမ်းဆိုင်းဘုတ် တစ်ခုကို ကင်မရာက ဖတ်နိုင်ပါတယ်။ နှစ်ခုကို ပေါင်းသုံးရင် တစ်ခုစီက တစ်ခုရဲ့ အားနည်းချက်ကို ဖုံးပေးနိုင်ပါတယ်။
2:04 မှာ robotics ရဲ့ အဓိက ပြဿနာ သုံးခု၊ 2:24 မှာ မရင်းနှီးတဲ့ အဆောက်အအုံ တစ်ခုထဲ လမ်းရှာတာနဲ့ နှိုင်းယှဉ်ပြချက်၊ 2:52 ကနေ sensing (sensor တွေနဲ့ ပတ်ဝန်းကျင်ကို သိရှိခြင်း) နဲ့ SLAM (မြေပုံ ဆွဲရင်း အဲဒီ မြေပုံထဲက ကိုယ့်နေရာကို တစ်ပြိုင်နက် ရှာခြင်း)၊ 5:05 မှာ အဆင့်တွေနဲ့ အခြေအနေတွေ ပါတဲ့ လုပ်ဆောင်ချက်တွေအဖြစ် planning လုပ်ပုံနဲ့ 6:24 ကနေ control (ရုပ်ပိုင်းဆိုင်ရာ စက် တစ်ခုကို သူ့ စီစဉ်ချက်အတိုင်း ဆက်သွားအောင် ထိန်းခြင်း) ပါပါတယ်၊ control ကို ဒီ စာမျက်နှာမှာ မဖော်ပြထားပါဘူး။ 2019 က video ပါ။
သင်ယူခြင်း ပြန်ဝင်လာတဲ့ နေရာ
ဒီနေရာမှာ AI ရဲ့ ချဉ်းကပ်ပုံ နှစ်မျိုး ဆုံပါတယ်။ သင်ရိုးထဲမှာ: object detection က A4.1.1 မှာ ဖော်ပြထားတဲ့ အသုံးချမှု တစ်ခုပါ။ သူက ပုံ တစ်ပုံရဲ့ အထဲမှာ ရှိတဲ့ အရာဝတ္ထုတွေကို ရှာပါတယ်: ပုံ တစ်ပုံလုံးကို label တပ်မယ့်အစား လမ်းလျှောက်သူ တစ်ယောက်ချင်းနဲ့ စက်ဘီးစီးသူ တစ်ယောက်ချင်းလို အရာဝတ္ထု တစ်ခုစီကို ဘောင် တစ်ခု ဆွဲပေးပါတယ်။ ချဉ်းကပ်ပုံ တစ်ခုက ဖြစ်နိုင်တဲ့ region (ပုံထဲက အပိုင်း) အများကြီးကို မြန်မြန် အဆိုပြုပြီး အများစု မှားမယ် ဆိုတာ လက်ခံထားကာ train လုပ်ထားတဲ့ network တစ်ခုနဲ့ region တစ်ခုစီကို classify (အမျိုးအစား ခွဲ) လုပ်ပါတယ်၊ region ထဲမှာ ဘာမှ မပါဘူးလို့ ဆုံးဖြတ်တာလည်း ပါပါတယ်။ Frame (video ထဲက ပုံ တစ်ပုံ) တိုင်းအတွက် region ထောင်ချီကို သီးခြားစီ တွက်တာက ရွေ့နေတဲ့ ယာဉ် တစ်စီးအတွက် နှေးလွန်းတာမို့ detection စနစ်တွေက region တွေကြား တွက်ချက်မှုတွေကို မျှဝေ သုံးကြတာ ဒါမှမဟုတ် တည်နေရာနဲ့ အမျိုးအစားကို တစ်ပြိုင်နက် ခန့်မှန်းကြတာ လုပ်ပါတယ် (2010 ပြည့်လွန်နှစ်များ အလယ်ပိုင်းကစပြီး စံ အလေ့အထ ဖြစ်ပါတယ်)။
ဒါကြောင့် ပြီးပြည့်စုံတဲ့ စက်ရုပ်က နည်းလမ်း အမျိုးမျိုးကို ပေါင်းသုံးပါတယ်: မြေပုံတွေနဲ့ search က ဘယ်ကို သွားမလဲ ဆုံးဖြတ်တယ် (သင်ယူခြင်း မပါ)၊ ချဲ့ထားတဲ့ အတားအဆီးတွေနဲ့ sampling က ဘယ်လို ရွေ့မလဲ ဆုံးဖြတ်တယ် (သင်ယူခြင်း မပါ)၊ probability distribution က သူ ဘယ်မှာ ရှိလဲ ခြေရာခံတယ် (သင်ယူခြင်း မပါ)၊ train လုပ်ထားတဲ့ network က ကင်မရာကို ဖတ်တယ် (သင်ယူခြင်း ပါ၊ symbolic စည်းမျဉ်းတွေ ရုန်းကန်ခဲ့ရတဲ့ perception အတွက် သုံးတယ်)။ ဒီလို အလုပ်ခွဲဝေပုံက AI နဲ့ machine learning ကို အတူတူလို့ ယူဆတာထက် AI ရဲ့ ပိုမှန်ကန်တဲ့ ပုံ တစ်ခုပါ။
ဒီစာမျက်နှာမှာ မပါတဲ့ အကြောင်းအရာများ
ဒီစာမျက်နှာက အောက်က ခေါင်းစဉ်တွေကို မဖော်ပြထားပါဘူး:
- Constraint satisfaction problems (ကန့်သတ်ချက် အားလုံးကို ကိုက်ညီတဲ့ အဖြေ ရှာရတဲ့ ပြဿနာများ၊ ဥပမာ အချိန်ဇယား ဆွဲခြင်း၊ မြေပုံ အရောင်ခြယ်ခြင်း၊ sudoku): ဒီစာမျက်နှာက အယူအဆတွေကိုပဲ ကောင်းကောင်း သင်ပေးနိုင်တဲ့ ရိုးရာ AI ရဲ့ အဓိက နယ်ပယ် တစ်ခုပါ။
- Inference ကို လုပ်ငန်းစဉ် တစ်ခုအဖြစ် တကယ် ဘယ်လို လုပ်ဆောင်လဲ ဆိုတာနဲ့ ရိုးရှင်းတဲ့ မှန်/မှား proposition တွေထက် ကျော်တဲ့ logic၊ ဆိုလိုတာက တခြားနေရာတွေမှာ တွေ့ရနိုင်တဲ့ variable တွေ (x လို အရာ တစ်ခုခုကို ကိုယ်စားပြုတဲ့ စာလုံးတွေ) နဲ့ quantifier တွေ (“အားလုံး”၊ “အနည်းဆုံး တစ်ခု” လို ပမာဏ ပြတဲ့ သင်္ကေတတွေ) ပါတဲ့ ရေးနည်း။
- Probabilistic reasoning (ဖြစ်နိုင်ခြေကို သုံးပြီး ဆင်ခြင်ခြင်း): localisation အတွက် သုံးတဲ့ နည်းလမ်းတွေ အပါအဝင်။
- 1980 ပြည့်လွန်နှစ်များမှာ expert system တွေ ထွန်းကားလာပုံနဲ့ ကျဆင်းသွားပုံ: သူတို့ရဲ့ အသုံးပြုမှုတွေနဲ့ ကန့်သတ်ချက်တွေ အပါအဝင်။
- Pruning ရဲ့ မှတ်တမ်းထိန်းပုံ အသေးစိတ်၊ နာမည်ရှိတဲ့ A star အာမခံချက်တွေနဲ့ search တွေရဲ့ အောက်ခံမှာ ရှိတဲ့ data structure (ဒေတာ သိမ်းဆည်းပုံ) တွေ၊ ဥပမာ priority queue (ဦးစားပေး အဆင့် မြင့်တာ အရင်ထွက်တဲ့ queue) နဲ့ frontier (နောက်ထပ် ရှာရဦးမယ့် နေရာတွေ စာရင်း): ဒီစာမျက်နှာက နည်းလမ်းတွေကို သူတို့ရဲ့ အပြုအမူနဲ့ပဲ ဖော်ပြထားပါတယ်။
- နာမည်ရှိတဲ့ sampling-based planner တွေနဲ့ SLAM နဲ့ planning language (စီစဉ်ချက်တွေကို ရေးဖော်ပြတဲ့ ဘာသာစကား) တွေရဲ့ တရားဝင် ရှင်းလင်းချက်တွေ။
- Multi-agent system နဲ့ swarm system တွေ (ကိုယ်တိုင် ဆောင်ရွက်တဲ့ AI စနစ် အများအပြား ဒါမှမဟုတ် ပျားအုံလို စက်ရုပ် အများကြီး အတူတကွ လုပ်ဆောင်တဲ့ စနစ်တွေ)။
- Autonomous system (ကိုယ်တိုင် ဆုံးဖြတ်ပြီး လုပ်ဆောင်တဲ့ စနစ်) တွေအကြောင်း ကျင့်ဝတ်ဆိုင်ရာ မေးခွန်းများ၊ ဥပမာ ကိုယ်တိုင်မောင်း ယာဉ် တစ်စီးက ထိခိုက်မှု ဖြစ်စေရင် ဘယ်သူ တာဝန်ယူရမလဲ ဆိုတာမျိုး၊ ဒါက A4.4.1 ဆွေးနွေးမှုအတွက် ကောင်းတဲ့ ခေါင်းစဉ် တစ်ခုပါ။ Explainability နှိုင်းယှဉ်ချက် က accountability အကြောင်း ဆွေးနွေးဖို့ စမှတ် တစ်ခု ပေးပါတယ်။
ဆက်စပ် ခေါင်းစဉ်များ
- သင်ရိုးထဲမှာ: What Machine Learning Is (A4.1.1: ဒီစာမျက်နှာက machine learning က ဘာ မဟုတ်လဲ ဆိုတာ ပြပြီး နာမည် ဖော်ပြထားတဲ့ အသုံးချမှု နှစ်ခု ဖြစ်တဲ့ robotics navigation နဲ့ object detection ကို ရှင်းပြပါတယ်၊ A4.1.2: game search မြန်မြန် ကြီးထွားလာတာက hardware နဲ့ လက်တွေ့ လုပ်နိုင်ခြေ (feasibility) အရေးကြီးရတဲ့ အကြောင်းရင်း တစ်ခုပါ)။
- သင်ရိုးထဲမှာ (HL): ဒေတာကနေ သင်ယူတဲ့ decision tree classifier တွေ (A4.3.2) နဲ့ reward (ဆု) တွေနဲ့အတူ exploration versus exploitation ပြန်ပေါ်လာတဲ့ reinforcement learning (A4.3.6) အတွက် Types of Learning၊ model နှိုင်းယှဉ်ခြင်း (A4.3.10၊ ဆင်ခြင်ပုံ ပုံစံ သက်သက်ပဲ) နဲ့ CNN (ပုံတွေအတွက် deep network) တွေ (A4.3.9၊ object detection ထဲမှာ သုံးတဲ့ network အမျိုးအစား) အတွက် Training and Evaluating a Model။
- သင်ရိုးထဲမှာ: explainability နဲ့ accountability အတွက် Ethics of Machine Learning (A4.4.1)။
- Stretch: How Large Language Models Work နဲ့ How AI Image Generation Works က စာသားနဲ့ ပုံ ဖန်တီးခြင်းအတွက် သင်ယူထားတဲ့ ချဉ်းကပ်ပုံတွေကို ဖော်ပြပါတယ်။
- EduCS ရဲ့ တခြားနေရာတွေမှာ: ဒီက search အယူအဆတွေက Searching Algorithms (B2.4.2) နဲ့ ဆက်စပ်ပြီး graph တွေက Data Structures နဲ့ ဆက်စပ်ပါတယ်၊ အဲဒီ စာမျက်နှာတွေက စာမေးပွဲမှာ မေးတဲ့ အကြောင်းအရာတွေ ဖြစ်ပြီး ဒီစာမျက်နှာကတော့ မဟုတ်ပါဘူး။
ဒီစာမျက်နှာရဲ့ ရင်းမြစ်တွေနဲ့ ရက်စွဲများ
2026 ဇူလိုင်လမှာ ရေးထားပြီး အောက်က ရင်းမြစ်တွေကို အခြေခံပါတယ်: Symbolic AI၊ Web Search၊ Robotics နဲ့ AI Playing Games အကြောင်း Crash Course AI episode တွေ (2019)၊ CS50x 2026 “Artificial Intelligence” (2026)၊ CS50 ရဲ့ “Fundamentals of AI” lecture တွေ ဖြစ်တဲ့ Playing နဲ့ Moving (2026)၊ အဲဒါတွေက ရှည်လျားတဲ့ live recording (တိုက်ရိုက် ရိုက်ကူးထားတဲ့ သင်ခန်းစာ) တွေ ဖြစ်လို့ page ထဲမှာ ထည့်မပြဘဲ link ပေးထားပါတယ်။ ဒီစာမျက်နှာက ဥပမာတွေ၊ ဝင်္ကပါတွေနဲ့ ပုံတွေ အားလုံးကို ကိုယ်တိုင် ဖန်တီးထားတာပါ။