AI ရဲ႕နည္းပညာနယ္ပယ္ ၅ ခုၿဖစ္တဲ႔ Neural network, Genetic Algorithm, Fuzzy System, rough set ႏွင္႔ chaos တို႕ကို philosophical differences အရ deductive/inductive reasoning နဲ႔ numeric/ descriptive ဆိုၿပီး method ေတြခြဲၿခားထားပါတယ္။ (ပံု(၁)ကိုၾကည္႔ပါ)deductive reasoning ကို top-down approach လို႔လဲ ေခၚပါေသးတယ္။ ဦးစြာ theory ေပၚမွာအေၿခခ်ပါတယ္။ ၿပီးေနာက္ hypothesis, observation စသည္တို႔ကို ၿပဳလုပ္ၿပီး ေနာက္ဆံုး အတည္ၿပဳ confirmation လုပ္ေဆာင္ပါတယ္။(ပံု(၂)ကို ၾကည္႔ပါ) deductive reasoning ဟာေယ်ဘုယ် က်တဲ႔ေဖာ္ၿပခ်က္(general statement)မွအစၿပဳေလ႔လာပါ တယ္။ ထို႔ေနာက္ၿဖစ္ႏိုင္ေၿခရွိသမွ် ကိုဆင္ၿခင္ထုတ္ ယူၿပီး အနီးစပ္ဆံုးယုတၱိက်ႏိုင္တဲ႔ ေကာက္ခ်က္(logical conclusion)ၿဖင္႔အဆံုး သတ္ပါတယ္။ တကယ္လို႔ theory သာမွန္မယ္ဆိုရင္ စမ္းစစ္မွဳ observation ဟာဒီလို ၿဖစ္သင္႔တယ္ဆိုၿပီး ေကာက္ခ်က္ၿပဳဆြဲယူတာပါ။ Syllogism ဟာ deductive reasoning ဥပမာပါပဲ။(Syllogis m ဆိုတာေယဘုယ်အဆိုႏွစ္ခုမွတဆင္႔ ဆင္ၿခင္ၿပီး ယုတၱိက်ေကာက္ခ်က္ဆြဲယူတာပဲၿဖစ္ပါတယ္။) ဥပမာ ပထ မေဖာ္ၿပခ်က္မွာ 'လူေတြအားလံုးဟာ ေသမ်ိဳးေတြၿဖစ္တယ္' ၊ ဒုတိယေဖာ္ၿပခ်က္က 'ေမာင္မ်ိဳးသည္ လူတစ္ ေယာက္ၿဖစ္တယ္' ဒါေၾကာင္႔ 'ေမာင္မ်ိဳး ဟာ ေသမ်ိဳးၿဖစ္တယ္' ဆိုၿပီးေကာက္ခ်က္ဆြဲယူႏိုင္ပါတယ္။ deductive reasoning ဟာ ေယဘုယ်အဆိုေပၚမွာ သာအေၿခၿပဳပါတယ္။ ေယဘုယ်အဆိုဟာ မွန္ကန္မယ္ ဆိုရင္ထိုအ ဆိုေပၚမွာအေၿခ ၿပဳၿပီး ရရွိလာတဲ႔ ေကာက္ခ်က္မ်ားဟာမွန္ကန္မွာၿဖစ္ပါတယ္။ deductive reasoning ဟာ ယုတၱိက်(logical) ၿပီးမွန္ကန္(true)မွသာ လက္ခံပါတယ္။ အခ်ိဳ႕ Sollogism ေတြဟာ ယုတၱိ က်ေပမယ္႔ မွန္ ကန္မွဳမရွိတာေတြလဲ ရွိပါတယ္။ ဥပမာ 'အမ်ိဳးသမီးတို႔သည္ ဆံပင္အရွည္ထားၾက၏' 'ကိုၿမင္႔ သည္ဆံပင္အ ရွည္ထား၏' ထို႔ေၾကာင္႔ 'ကိုၿမင္႔သည္ အမ်ိဳးသမီး ၿဖစ္၏' စသည္႔ Sollogism ရဲ႕ေဖာ္ၿပခ်က္ဟာ ယုတၱိေတာ႔ရွိ ေပမယ္႔ မွန္ကန္မွဳမရွိ (untrue)ပါဘူး။ ေယဘုယ် ေဖာ္ၿပခ်က္ၿဖစ္တဲ႔ ' အမ်ိဳးသမီးတို႔သည္ ဆံပင္ အရွည္ထား ၾက၏' သည္ၿပည္႔စံုတဲ႔ ေယဘုယ် ေဖာ္ၿပခ်က္မဟုတ္တဲ႔အတြက္ ထပ္ဆင္႔ ႏွိဳင္းယွဥ္ေဖာ္ၿပခ်က္ၿဖင္႔ ေကာက္ ခ်က္ဆြဲယူမွဳ ဟာမွားယြင္းသြားပါတယ္။
*
Inductive reasoning ကေတာ႔ deductive နဲ႔ေၿပာင္းၿပန္ၿဖစ္ပါတယ္။ စမ္းစစ္မွဳ observation ကိုအရင္ လုပ္ေဆာင္ပါတယ္။ ၿဖစ္စဥ္တို႔ရဲ႕ pattern ေတြရွာေဖြၿပီး ခန္႔မွန္းမွဳ(tentative hypothesis) မွတဆင္႔ ေယဘု ယ်က်တဲ႔အဆို(သို႔) theory ကိုတည္ေဆာက္ပါတယ္။ inductive reasoning ကို bottom up approach လုိ႔ လည္းေခၚပါတယ္။ (ပံု(၃)ကိုၾကည္႔ပါ။) observation မ်ားမွ data ကိုအရင္စုေဆာင္းပါတယ္။ ရရွိလာတဲ႔ data ေတြအေပၚမူတည္ၿပီး ေကာက္ခ်က္(conclusion)ဆြဲယူပါတယ္။ ဥပမာ
--
'ေမာင္ထင္ဟာ ေရကူးကြ်မ္းက်င္သူၿဖစ္ တယ္။' 'သူ႔အိမ္မွာလဲ ေရကူးကန္ရွိတယ္။' 'ဒီေတာ႔ ေမာင္ထင္ တို႔အိမ္က လူေတြဟာလည္းေရကူးကြ်မ္းက်င္သူေတြၿဖစ္ရမယ္။'
--
'အိတ္ထဲကိုႏွိုက္လိုက္တာ ပထမထုတ္လိုက္တာ ၅၀တန္ရတယ္။ ဒုတိယအၾကိမ္လဲ ၅၀တန္ပဲထြက္ လာတယ္။ တတိယ အၾကိမ္လဲ၅၀တန္ပဲရတယ္။ ဒါဆုိ ဒါ ၅၀တန္ေတြခ်ည္းထည္႔ထားတဲ႔ အိတ္ ၿဖစ္မယ္။'
*
deductive ဟာ theory ေပၚအေၿခၿပဳၿပီး inductive က စမ္းစစ္မွဳ observation မွာအေၿခၿပဳပါတယ္။ Scientist ေတြဟာ inductive reasoning ကို hypothesis ေတြ theory ေတြကိုရွာေဖြဖို႔အတြက္အသံုးၿပဳၿပီး ထို theory မ်ားကို အေၿခအေနတစ္ခုမွာအသံုးခ်ဖို႔ရာ deductive reasoning ကိုအသံုးၿပဳပါတယ္။
*
deductive system မွာ ၿဖစ္လာႏိုင္တဲ႔ input ေတြကိုတြက္ခ်က္ၿပီးသင္႔ေလ်ာ္တဲ႔ output ထြက္လာႏိုင္ ေအာင္ ထိန္းေက်ာင္းေပးမယ္႔ rule ေတြကို ကြ်မ္းက်င္သူ(expert)ေတြကသတ္မွတ္ေပးပါတယ္။ inductive system မွာေတာ႔ rule ေတြကိုသတ္မွတ္ဖို႔ expert ေတြမလုိေတာ႔ပဲ system ကသာသူ႔ဟာသူအလိုအေလ်ာက္ ေလ႔လာ ေကာက္ခ်က္ဆြဲၿပီးသတ္မွတ္ပါတယ္။ Microscopic, primarily numeric ဆိုတာ primary input, output နဲ႔ internal dataမ်ားဟာကိန္းဂဏန္း(numeric)မ်ားၿဖင္႔သာကိုယ္စားၿပဳၿခင္းၿဖစ္ပါတယ္။Microscopic , descriptive and numeric ဆိုတာကေတာ႔ ဥပမာ ကားတစ္စီးဟာ "အလြန္လ်င္ၿမန္" တယ္ဆို တဲ႔အၾကမ္းဖ်င္း ႏွိဳင္းယွဥ္ေဖာ္ၿပခ်က္(description) ဆိုတဲ႔ data ကိုလက္ခံႏိုင္သလို အၿမန္ႏွုန္း 100km/hr ဆို တဲ႔ကိန္းဂဏန္း ေဖာ္ၿပခ်က္ (numeric) ကိုလဲလက္ခံႏိုင္တယ္လို႔ဆိုလိုတာပါ။ (ပံု(၁)ကိုညႊန္းသည္)
*
Neural Network
-------------
Neural Network(NN) ဆိုတာလူ႔ဦးေႏွာက္ကိုတုပထားတဲ႔ computer model ပဲၿဖစ္ပါတယ္။ လူ႔ဦး ေႏွာက္မွာ neuron အေရအတြက္ 10^11 (10 power 11) ခန္႔ရွိပါတယ္။ ထိုneuron ေတြဟာအခ်င္းခ်င္း ဆက္သြယ္ခ်ိတ္ဆက္ေနပါတယ္။ ခ်ိတ္ဆက္မွဳ(link) ေပါင္း 10^15(10 power 15) ခန္႔အၾကမ္းဖ်င္းရွိပါတယ္။ neuron ေတြရဲ႕ခ်ိတ္ဆက္မွဳကြန္ယက္ကို neural network လို႔ေခၚတာပါ။ ဦးေႏွာက္မွာရွိတဲ႔ neural network ဟာ စဥ္းစားဆင္ၿခင္ရာအသိဥာဏ္(intelligence)ရဲ႕လုပ္ေဆာင္ခ်က္ေတြၿဖစ္တဲ႔ ရွဳေထာင္႔အၿမင္(perception)၊ သိရွိမွဳ(congnition)၊ ေလ႔လာၿခင္း(learning) စတာေတြၿဖစ္ေပၚရာ အေၿခခံရင္းၿမစ္ပဲၿဖစ္ပါတယ္။
*
AI မွာေတာ႔ Neural Network(NN) ကို Artificial Neural Network(ANN), Parallel Distributed Processing model(PDP model), connectionist model, adaptive system စသၿဖင္႔ ေခၚေ၀ၚၾကပါေသး တယ္။
*
Neuron
-------
*
ဦးေႏွာက္ရဲ႕ အေၿခခံအစိတ္အပိုင္းကို neuron လို႔ေခၚသလို AI neural network ရဲ႕အေၿခခံ element ကို aritificial neuron လို႔ေခၚပါတယ္။ သဘာ၀(natural) neuron ကိုပံုစံတူၿပဳထားလို႔ ပဲၿဖစ္ပါတယ္။ ေနာက္ ပိုင္းေတာ႔ artificial neuron ေနရာမွာ neuron ဆိုၿပီးအလ်ဥ္းသင္႔သလိုဖလွယ္သံုးစြဲသြားမွာၿဖစ္ပါတယ္။
*
ပံု(၄)မွာေဖာ္ၿပထားတဲ႔အတိုင္း neuron ဆီကို၀င္လာေနတဲ႔ x1, x2,… xm စတဲ႔ input ေတြကိုေတြ႔ရမွာ ပါ။ natural neuron မွာေတာ႔ ဒီ input ေတြဟာ အၿခားneuron ေတြမွလာတဲ႔လွံဳေဆာ္မွဳအဆင္႔(stimulation level)ေတြပဲၿဖစ္ပါတယ္။ input x တစ္ခုစီဟာ သက္ဆိုင္ရာ wieght w တစ္ခုစီနဲ႔ ေၿမာက္(multiply) ၿပီးရရွိလာ တဲ႔ product xw ကို neuron body အတြင္းသို႔၀င္ေရာက္ေစပါတယ္။ weight ဆိုတာ neuron ႏွစ္ခုၾကားဇီ၀ ၿဖစ္စဥ္အေနနဲ႔အၿပန္ အလွန္ခ်ိန္ၿငိွေနတဲ႔ဆက္သြယ္မွဳအား(synaptic strength) မ်ားပဲၿဖစ္ပါတယ္။ neuron ဟာ၀င္ေရာက္လာသမွ် ေၿမွာက္လဒ္(product)မ်ားအားလံုးကိုေပါင္းလိုက္ပါတယ္။ ထို product မ်ားအားလံုး ေပါင္းလဒ္ကို neural network မွာ net ဆုိၿပီးေခၚပါတယ္။ neuron မွထုတ္လုပ္ေပးတာကေတာ႔ net = x1w1 + x2w2+ … + xmwm ပဲၿဖစ္ပါတယ္။ ဒါေၾကာင္႔ net ဆိုတာ x ႏွင္႔ သက္ဆိုင္ရာ w တို႔ေၿမွာက္လဒ္မ်ား၏ ေပါင္းၿခင္း ၿဖစ္ပါတယ္။ mathematical term အရဆိုရင္ x ႏွင္႔ w တို႔ဟာ vector မ်ားၿဖစ္ပါတယ္။ net က ေတာ႔ထို vector ၂ ခုတို႔မွ ထြက္ရွိလာေသာ scalar ပဲၿဖစ္ပါတယ္။( vector ႏွင္႔ scalar တို႔အားသိလိုလွ်င္ googling လုပ္ေဆာင္ ၾကပါရန္)တနည္းဆိုရေသာ္ neuron ဟာ output y ကို net ၏function အားၿဖင္႔တြက္ ခ်က္ထုတ္လုပ္ေပး တယ္လို႔ဆိုႏိုင္ပါတယ္။ mathematical အားၿဖင္႔ဆိုေသာ္ y = f(net) ပဲၿဖစ္ပါတယ္။ ဒီ function ကို activation (သို႔) transfer function လို႔ေခၚပါတယ္။ neuron ကို black box တစ္ခုအေနနဲ႔ ရွဳ႕ၿမင္ၾကည္႔မယ္ဆို ရင္ vector x ကို input အေနနဲ႔လက္ခံၿပီး scalar output y အေနနဲ႔ထုတ္လုပ္ေပးတယ္လို႔ ၿမင္ႏိုင္ပါတယ္။
*
natural biological neuron ေတြဘယ္လိုခ်ိတ္ဆက္ေနတယ္ဆိုတာကိုေလ႔လာၾကည္႔ပါမယ္။ ပံု(၅)ကို ၾကည္႔ပါ။ natural neuron တစ္ခုမွာ CELL BODY ပါပါမယ္။ AXON ဆိုတဲ႔လက္တံတစ္ခုပါပါမယ္။ DENDRITE ဆိုတဲ႔ လက္တံမ်ားပါ၀င္ပါမယ္။ DENDRITE လက္တံမ်ားကို DENDRITE TREE လို႔ေခၚပါတယ္။ AXON လက္ တံမွ အၿခားneuron တစ္ခုရဲ႕ DENDRITE လက္တံကိုခ်ိတ္ဆက္ထားပါတယ္။ DENDRITE ေတြဟာ neurotransmitter လို႔ေခၚတဲ႔ chemical မ်ားပါရွိတဲ႔ signal မ်ားကိုအၿခားneuron မွလက္ခံရရွိပါတယ္။ ထို DENDRITE လက္ တံမ်ားမွရရွိတဲ႔ signal မ်ားကို CELL BODY ( CELL BODY ကိုSOMA လို႔ေခၚပါတယ္။)မွ interpret လုပ္ေဆာင္ပါတယ္။ (CELL BODY အတြင္းမွာ nucleus ရွိပါတယ္။ ထို nucleus အတြင္းမွာ cell ရဲ႕ DNA(သို႔) genetic material ပါရွိပါတယ္။) ထို႔ေနာက္ CELL BODY မွ interpret လုပ္ထားေသာ signal မွာ AXON လက္တံမွတဆင္႔ AXON TERMINAL ဆီသို႔ေရာက္ပါတယ္။ AXON TERMINAL မွတဆင္႔ အၿခား neuron ရဲ႕ DENDRITE ဆီသို႔ neurotransmitter ပစ္လႊတ္မွဳလုပ္ေဆာင္ပါတယ္။ AXON နဲ႔ DENDRITE တို႔ဟာတိုက္ရိုက္ခ်ိတ္ဆက္ထားၿခင္းမဟုတ္ပဲ SYNAPSE GAP ဆိုတဲ႔ေနရာလြတ္ရွိပါတယ္။ neurotransmitter ပစ္လႊတ္မွဳၿဖစ္ေပၚရာေနရာပဲၿဖစ္ပါတယ္။
*
neuron ေတြဟာသူတို႔မွာရွိတဲ႔ threshold value ထက္ input value ဟာၾကီးသြားမယ္ဆိုရင္ေလာင္ ကြ်မ္း(fire)ၾကပါတယ္။ ပံု(၆)မွာ neuron ၃ခုခ်ိတ္ဆက္ထားပံုကိုၿပထားပါတယ္။ input neuron ၂ခုနဲ႔ output neuron ၁ခုပဲ ၿဖစ္ပါတယ္။ input neuron ၂ခုစလံုး ေလာင္ကြ်မ္း(fire)မယ္ဆိုရင္ output neuron ပါေလာင္ ကြ်မ္းပါတယ္။ output neuron မွာthreshold value(T) 1.5 ဆိုရင္ တကယ္လို႔ input neuron တစ္ခုပဲ fire ၿဖစ္ရင္ပဲၿဖစ္ၿဖစ္ ႏွစ္ခုစလံုး fire မၿဖစ္ရင္ပဲၿဖစ္ၿဖစ္ output neuron ဆီကို၀င္တဲ႔ total input ဟာ threshold value 1.5 ထက္ နည္းၿပီး output neuron ဟာ fire ၿဖစ္မွာမဟုတ္ပါဘူး။ input neuron ႏွစ္ခုစလံုး fire ၿဖစ္ မယ္ဆိုရင္ေတာ႔ total input ဟာ 1+1=2 ၿဖစ္ၿပီး output neuron ရဲ႕ threshold value 1.5 ထက္ၾကီးသြားမွာ ၿဖစ္တဲ႔အတြက္ output neuron ဟာ fire ၿဖစ္ပါမယ္။ပံုမွာပါတဲ႔ neuron ေတြၾကားရဲ႕ connection မွာေဖာ္ၿပ ထားတဲ႔ (1) ဆိုတဲ႔ value ဟာ connection ရဲ႕ weight ပဲၿဖစ္ပါတယ္။ natural neuron ရဲ႕ synaptic strength သေဘာပဲၿဖစ္ပါတယ္။
*
အနည္းငယ္ complex ၿဖစ္တဲ႔ network ကိုစဥ္းစားၾကည္႔ပါမယ္။ ပံု(၇)မွာၿပထားတဲ႔အတိုင္း threshold value ေတြကို neuron ေတြမွာၿပထားပါတယ္။ weight ေတြကိုေတာ႔ connection ေတြေပၚမွာၿပထားပါတယ္။ input နဲ႔ output neuron ေတြၾကားမွာ hidden neuron ေတြထပ္ပါလာတာကိုေတြ႔ရမွာပါ။ ပံု(၇) အရဆိုရင္ input neuron တစ္ခု fire ၿဖစ္တာနဲ႔ output neuron ဟာ fireၿဖစ္မွာပါ။ output neuron ရဲ႕ threshold ဟာ 0.5 သာၿဖစ္ၿပီး input neruon ၁ခုတည္းရဲ႕value က 1 ၿဖစ္ေနတဲ႔အတြက္ output neuron threshold ထက္ ၾကီးသြားတာေၾကာင္႔ၿဖစ္ပါတယ္။ ဒီလိုခ်ိန္မွာ hidden neuron ကေတာ႔ fire ၿဖစ္မွာမဟုတ္ပါဘူး threshold 1.5 ၿဖစ္ေနတဲ႔အတြက္ပါ။ တကယ္လို႔ input neuron ၂ခုစလံုးသာ fireၿဖစ္မယ္ဆိုရင္ေတာ႔ hidden neuron လဲ threshold ကိုေက်ာ္သြားတဲ႔အတြက္ fireၿဖစ္ပါမယ္။ ဒီေတာ႔ output neuron အတြက္ total input က 1 + 1 – 2 = 0 ၿဖစ္ပါမယ္။ total input value 0 ဟာ output neuron ရဲ႕ threshold 0.5 ထက္ငယ္တဲ႔အတြက္ output neuron ဟာ fire ၿဖစ္မွာမဟုတ္ပါဘူး။
*
အထက္ပါဥပမာေတြမွာ thresholds, weights, inputs ႏွင္႔ outputs တို႔ရဲ႕ဆက္ႏြယ္မွဳ relationship ကိုအၾကမ္းဖ်င္းေဖာ္ၿပေပးထားတာပဲၿဖစ္ပါတယ္။ ဒါေပမယ္႔ neural network မွာ input neurons, output neurons နဲ႔ hidden neurons တို႔ဟာအလြန္ပဲမ်ားၿပားလြန္းပါတယ္။ ဒါေၾကာင္႔ weights နဲ႔ threshold value တို႔ကိုလိုခ်င္သလိုသတ္မွတ္ေပးဖို႔ဆိုတာ တကယ္႔လက္ေတြ႔မွာမၿဖစ္ႏိုင္ပါဘူး။ computer model အတြက္မွာ ေတာ႔ weights နဲ႔ threshold level တို႔ကိုခ်ိန္ညွိသတ္မွတ္ႏုိင္ဖို႔အတြက္ network ကိုေလ႔က်င္႔(train)ေပးႏိုင္ဖို႔ ကိုသာ ရည္မွန္းၾကပါတယ္။
*
computer neural network model ေတြမွာေတာ႔ connection ေတြရဲ႕တည္ေဆာက္ပံု pattern (architecture) နဲ႔ weights ကိုသတ္မွတ္ၿခင္း rule ေတြနဲ႔ train လုပ္ထားသည္႔ နည္းလမ္းတို႔အေပၚမူတည္ၿပီး ခြဲၿခားထားပါတယ္။ Perceptrons & Backpropagation, Competitive Learning, Attractor Networks , Hopfield Network, Deep Neural Networks, Feed-forward neural networks, Recurrent neural network စသၿဖင္႔ အမ်ိဳးမ်ဳိးရိွပါတယ္။ ဒါ႔အၿပင္ Pattern Recognition, Machine Learning(ML), Deep Learning စသၿဖင္႔လည္း ေယဘုယ်ခြဲၿခားေခၚေ၀ၚၾကတာလဲ ရွိၾကပါေသးတယ္။
*
ဆက္လက္ေဖာ္ၿပပါမည္...
ညီညီေဇာ္....
https://www.facebook.com/mathcorner.myanmar/
No comments:
Post a Comment