ທິດສະດີ Machine Learning: Reducing Loss [ Machine Learning Crash Course ]
ມີເນື້ອຫາເວົ້າເຖິງວິທີການຫຼຸດຜ່ອນຄ່າຜິດດ່ຽງ ( Loss ) ເຊິ່ງມີຫົວຂໍ້ຍ່່ອຍເຊັ່ນ: An iterative approach, Gradient Descent, Learning Rate, Optimizing Learning rate, ແລະ Stochastic gradient descent
An iterative Approach: ການກ້າວເຂົ້າຫາແບບວົນຊ້ຳ
ແປຖາມໂຕແມ່ນ ວິທີກ້າວເຂົ້າຫາແບບຊ້ຳໆ, ມັນເວົ້າເຖິງຄຳນວນແບບຊ້ຳ ເພື່ອກ້າວຈົນໄປໄດ້ Model ທີ່ດີທີ່ສຸດ ເຊິ່ງມີຂັ້ນຕອນດັ່ງຮູບ:

- ເຮົາໃສ່ Feature ເຂົ້າໄປໃນ Model (Prediction Function): ທີ່ມີ Function ໄວ້ Predict ຕົວຢ່າງ: ເຮົາໃຊ້ Linear Regression ກໍຈະມີຮູບຮ່າງ y’ = x1w1+b (ຮູບແບບທີ່ມີ Feature ດຽວ) ເຮົາຈະກຳນົດຄ່າ weight & bias ຕາມໃຈ.
- ຂັ້ນຕອນການພະຍາກອນ Inference: Make Prediction ເຊິ່ງ Model ຂອງເຮົາກໍຢູ່ໃນຮູບຮ່າງນີ້ y’ = w1x1+b ທີ່ມີຄ່າ w1 & b ໄປພະຍາກອນຄ່າ y’.
- Compute Loss: ແມ່ນຂັ້ນຕອນການຄຳນວນຄ່າ Loss ໂດຍການໂຍນ Label = y ເຂົ້າໄປຄິດໄລ່ກັບຄ່າທີ່ຜ່ານການພະຍາກອນແລ້ວ prediction(x1) = y’. ການຄຳນວນດັ່ງກ່າວ ເຮົາອາດຈະໃຊ້ Squared Loss ຫຼື Mean Squared Error ກໍໄດ້.
- Compute Parameter Update: ຮອດຕອນນີ້ ຖ້າຫາກຄ່າ Loss ຍັງຫຼາຍຢູ່, ML ຈະທຳການກວດເບິ່ງຄ່າຕ່າງໆຂອງຕົວຢ່າງ ແລະ Generate ຄ່າ weight ແລະ bias ແລ້ວກັບຂັ້ນຕອນ 2 ແລະ 3 ຄືນໃຫມ່.
ສະຫຼຸບງ່າຍໆ, ໃນ Iterative Approach ມັນເວົ້າເຖິງວິທີການຮຽນຮູ້ຂອງ ML ກໍຄືວິທີການຫຼຸດຄ່າ Loss ໂດຍໃສ່ weight & bias ແລ້ວໄປ predict ຕົວຢ່າງ ແລະທຳການປ່ຽນແປງຄ່າ ຈົນໄດ້ຄ່າ weight & biasໃຫມ່ ທີ່ເກີດຄ່າ Loss ໜ້ອຍທີ່ສຸດ.
Gradient Descent: ການເຄື່ອນລົງຕາມເສັ້ນໂຄ້ງ
ແປຕາມໂຕແມ່ນ ການເຄື່ອນລົງຕາມເນີນ…????? ມັນແມ່ນຫຍັງລະ? ເປັນຫຍັງຄືເນີນ? ເຮົາມາເບິ່ງຮູບຮ່າງຂອງມັນ.

ເຮົາມີ ແກນຕັ້ງຄື Loss , ແກນນອນ ແມ່ນ Weight ແລະເສັ້ນໂຄ້ງຄືຮູບ ປາຣາໂບລ ເຊິ່ງ Gradient Descent ຄືການກ້າວເຂົ້າໄປລົງໄປຕາມຄ້ອຍທີ່ໄດ້ຄ່າ weight ທີ່ຢູ່ລຸ່ມສຸດຂອງເສັ້ນໂຄ້ງ ( ເຮົາຈະບໍ່ຮູ້ວ່າ weight ລຸ່ມສຸດມີຄ່າເທົ່າໃດ) ໂດຍທຳອິດເຮົາກໍທຳການໃສ່ຄ່າ weight ໄປເຊິ່ງເປັນຈຸດເລີ່ມຕາມໃຈ.

ເຊິ່ງເມັດ Starting Point ເປັນເມັດເລີ່ມ, ເມື່ອທຳການຮຽນຮູ້ ມັນກໍຈະມີ Gradient ທີ່ເປັນ Vector(ເສັ້ນສີແດງ )ທີ່ມີ ທິດທາງແລະລວງຍາວ, Negative ໝາຍເຖິງທິດທາງລົບທີ່ອອກຈາກເສັ້ນໂຄ້ງ.

ເມື່ອເລີ່ມການຮຽນຮູ້ແລ້ວ ເມັດ Starting Point ທີ່ມີຄ່າ weight ໃດໜຶ່ງນັ້ນ ມັນຈະທຳການເຄື່ອນລົງມາຕາມເສັ້ນໂຄ້ງໄປຫາ Next Point ເຮົາກໍໄດ້ຄ່າ weight ໃຫມ່ທີ່ມີຄ່າ Loss ໜ້ອຍລົງ.
- Key Term:
Gradient Descent: ການກ້າວລົງ ຫຼື ການຍັບລົງຕາມເສັ້ນໂຄ້ງເພື່ອໃຫ້ໄດ້ຄ່າ weight ທີ່ເໝາະສົມ ແລະໄດ້ຄ່າ loss ໜ້ອຍທີ່ສຸດ.
Step: ແມ່ນກ້າວແຕ່ລະກ້າວ ຂອງການຍັບລົງຕາມເສັ້ນໂຄ້ງ
Learning Rate: ອັດຕາການຮຽນຮູ້
Learning Rate ແມ່ນ Step Size ແປວ່າ ຂະໜາດຂອງກ້າວ, ກ້າວດັ່ງກ່າວ ແມ່ນກ້າວທີ່ເປັນໄລຍະຈາກ Starting Point ໄປຫາ Next Point ( ເສັ້ນສີຟ້າ )ໃນຮູບ.

ໃນການ Training ເຮົາສາມາດກຳນົດຄ່າບາງຄ່າໄດ້, ຄ່າທີ່ໄດ້ຈາກການກຳນົດຂອງຜູ້ Train ຫຼື Programmer ເພິ່ນເອີ້ນວ່າ Hyperparameter. Learning rate ກໍສາມາດປັບຄ່າໄດ້ ເຊິ່ງກໍໄດ້ຈາກ Hyperparameter. ເຊິ່ງສະຫຼຸບການກຳນົດຄ່າ Learning ໄວ້ 3 ຢ່າງຄື:
- Learning Rate ມີຄ່າໜ້ອຍເກີນໄປ: ການ Train ກໍຈະບໍ່ໄປໃສ

2. Learning Rate ມີຄ່າຫຼາຍເກີນໄປ: ເຮັດໃຫ້ Step Size ໃຫຍ່ຫຼາຍ ຈຶ່ງເກີດການໂດດກາຍຈົນບໍ່ໄດ້ຄ່າ weight ທີ່ດີສຸດ

3. Learning Rate ມີຄ່າເໝາະສົມ: ເຮັດໃຫ້ການກ້າວສາມາດຍັບລົງໄປຫາ weight ໄດ້ຢ່າງເໝາະສົມໂດຍບໍ່ເກີດການເຕັ້ນຂ້າມ ຫຼື ໂດດຂ້າມ.

Key Term:
Hyperparameter: ແມ່ນ Parameter ທີ່ Programmer ຄິດຄ່າຂຶ້ນເພື່ອໄປກຳນົດຄ່າຕ່າງໆ ຢ່າງ Learning Rate.
Learning Rate: ແມ່ນອັດຕາການຮຽນຮູ້ຂອງ ML, ບາງຄັ້ງເພິ່ນກໍເອີ້ນວ່າ: Step Size
Step Size: ແມ່ນຂະໜາດຂອງກ້າວໃນການເຄື່ອນ
Stochastic Gradient Descent:
ດັ່ງທີ່ເຮົາຮູ້ວ່າ Gradient Descent ແມ່ນການເຄື່ອນລົງຕາມເສັ້ນໂຄ້ງເພື່ອໃຫ້ໄດ້ weight ທີ່ເໝາະ, ເຮົາກໍຈະໄດ້ Model ທີ່ດີ. ແຕ່ການຄຳນວນແຕ່ລະເທື່ອ ຈະໃຊ້ຊຸດຂອງຕົວຢ່າງ ( batch )ມະຫາສານ ແລະຕ້ອງໃຊ້ເວລາດົນ. ສະນັ້ນ, ເພື່ອຫຼຸດຜ່ອນເວລາລົງ ເຮົາຈຶ່ງທຳການສຸມກຸ່ມຕົວຢ່າງ ໂດຍໃຊ້ Stochastic Gradient Descent(SDG)
SDG ເຮັດວຽກໂດຍການໃຊ້ ຕົວຢ່າງດຽວ ຕໍ່ການວົນຊ້ຳໜຶ່ງຄັ້ງ ໂດຍການສຸ່ມເອົາ. ເຊິ່ງໃຫ້ມັນວົນຊ້ຳຈົນໄດ້ຄ່າທີ່ຕ້ອງການ ແຕ່ມັນກໍເກີດ ຄ່າ Noise. ແຕ່ກໍມີວິທີການທີ່ດີກວ່າ SDG ກໍຄື
- Mini-Stochastic Gradient Descent: ເປັນການເຄື່ອນລົງຕາມເສັ້ນໂຄ້ງແບບຍ່ອຍ, ເປັນໂຕຂັ້ນລະຫວ່າງ Full Batch( ຂໍ້ມູນເຕັມ ອາດຈະເປັນລ້ານໆຕົວຢ່າງກະເປັນໄດ້ ) ແລະ SDG ທີ່ສຸ່ມຕົວຢ່າງ. Mini-batch ຈະມີ ຕົວຢ່າງປະມານ 10 - 10000. Mini-SDG ບໍ່ເກີດ Noise ຫຼາຍເທົ່າ SDG ແລະບັງມີປະສິດທິພາບຫຼາຍກວ່າ Full Batch ອີກດ້ວຍ
Key Term:
batch : ຊຸດຕົວຢ່າງ
batch size : ຂະໜາດຂອງຊຸດຕົວຢ່າງ
Mini-batch : ຊຸດຕົວຢ່າງຍ່ອຍ, ໃຊ້ກັບ Mini-SDG
Stochastic Gradient Descent : ການຍັງລົງຕາມຄ້ອຍໂດຍການເລືືອກສຸ່ມເລືອກຕົວຢ່າງ
