Apple CreateML vs Kaggle

ໃນລະຫວ່າງບໍ່ດົນມານີ້ WWDC Apple ໄດ້ ນຳ ສະ ເໜີ ເຄື່ອງມື ໃໝ່ ຂອງພວກເຂົາທີ່ມີຊື່ວ່າ CreateML. ໃນຖານະເປັນຜູ້ທີ່ມີຄວາມກະຕືລືລົ້ນ ML ຂ້ອຍຮູ້ສຶກປະທັບໃຈຫລາຍກັບສິ່ງທີ່ຂ້ອຍໄດ້ເຫັນໃນກອງປະຊຸມທີ່ອຸທິດຕົນ (703), ສະນັ້ນຂ້ອຍຄິດວ່າມັນຈະຄຸ້ມຄ່າທີ່ຈະສືບສວນວ່າມັນມີປະສິດທິພາບສູງປານໃດ.

1. ສ້າງແບບສ້າງຄວາມລ້າສຸດ (ທ່ານສາມາດຂ້າມຖ້າທ່ານເບິ່ງການສະແດງຂອງ WWDC).

ສ້າງ ML ແມ່ນກອບ ໃໝ່ ທີ່ຖືກອອກແບບມາເພື່ອຊ່ວຍໃຫ້ນັກພັດທະນາສ້າງແບບຮຽນຮູ້ເຄື່ອງຈັກໄດ້ຢ່າງງ່າຍດາຍໂດຍໄວໂດຍໃຊ້ Swift ແລະ Xcode. ໃນປະຈຸບັນມັນສາມາດເຮັດວຽກກັບ 3 ປະເພດຂໍ້ມູນ: ຮູບພາບ, ຂໍ້ຄວາມແລະຂໍ້ມູນຕາຕະລາງ. ຂະບວນການເຮັດວຽກແມ່ນງ່າຍດາຍແທ້ໆ, ທ່ານພຽງແຕ່ຕ້ອງການສົ່ງຂໍ້ມູນການຝຶກອົບຮົມ, ຂຽນລະຫັດສອງສາມເສັ້ນແລະເວດມົນເກີດຂື້ນ, ຮູບແບບ CoreML ຂະ ໜາດ ນ້ອຍແມ່ນກຽມພ້ອມທີ່ຈະ ນຳ ໃຊ້ໃນແອັບຂອງທ່ານ. Apple ສັນຍາວ່າຈະຫຼຸດຜ່ອນເວລາການຝຶກອົບຮົມຢ່າງຫຼວງຫຼາຍ, ເຊິ່ງໃນກໍລະນີທີ່ມີຮູບພາບ 10,000 ຄວນຈະຖືກນັບໃນນາທີ (ເທົ່າທີ່ Apple ຫລີກລ່ຽງການໃຫ້ລາຍລະອຽດ). ການຝຶກອົບຮົມແມ່ນໄວຫຼາຍ, ເພາະວ່າ (ໃນກໍລະນີຜູ້ຈັດຮູບພາບ) Apple ໃຊ້ Transfer Learning. ພວກເຮົາບໍ່ຮູ້ວ່າເຄືອຂ່າຍ Neural ແມ່ນຫຍັງແຕ່ວ່າໃນໄລຍະການ ນຳ ສະ ເໜີ Inception-v3 ໄດ້ຖືກກ່າວເຖິງເປັນຕົວຢ່າງຂອງການແກ້ໄຂສິນລະປະ ສຳ ລັບການຈັດແບ່ງປະເພດຮູບພາບ.

2. ການ ນຳ ສະ ເໜີ Demo ຂອງ WWDC ຢ່າງລະອຽດ (ທ່ານສາມາດຂ້າມຖ້າທ່ານເບິ່ງການ ນຳ ສະ ເໜີ ຂອງ WWDC).

ໃນລະຫວ່າງ WWDC, ຜູ້ ນຳ ສະ ເໜີ ໄດ້ສະແດງໃຫ້ເຫັນວ່າພວກເຮົາສາມາດສ້າງແບບ ຈຳ ລອງທີ່ແຕກຕ່າງກັນໄດ້ຢ່າງງ່າຍດາຍ, ທຳ ອິດແມ່ນຜູ້ຈັດຮູບພາບ, ສ້າງໂດຍໃຊ້ພຽງແຕ່ລະຫັດຄູ່:

ຕົວຢ່າງທີສອງແມ່ນຄ້າຍຄືກັນຫຼາຍ, Text Classifier ຕັດສິນໃຈວ່າຂໍ້ຄວາມຈະເປັນບວກຫລືລົບ, ເຊັ່ນດຽວກັບກໍລະນີຮູບພາບ, ມີພຽງສອງສາມເສັ້ນຂອງລະຫັດພຽງພໍທີ່ຈະຝຶກມັນ:

ສຳ ລັບຂ້ອຍ, ການສາທິດທີ່ ໜ້າ ສົນໃຈທີ່ສຸດແມ່ນຮູບແບບສຸດທ້າຍ, ນຳ ສະ ເໜີ ຜົນງານກັບຂໍ້ມູນຕາຕະລາງ. ໃນກໍລະນີນີ້, CreateML ກຳ ລັງໃຊ້ຮູບແບບຂໍ້ມູນ ໃໝ່, ເຊິ່ງເອີ້ນວ່າ MLDataTable, ຕອນ ທຳ ອິດເບິ່ງມັນເປັນພຽງຫໍ່ ສຳ ລັບມາຕຣິກເບື້ອງຂໍ້ມູນ ທຳ ມະດາ, ໂຊກດີທີ່ມີຕົວເຊື່ອມຕໍ່ CSV ແລະ JSON.

ໃນກໍລະນີຂອງຂໍ້ມູນຕາຕະລາງ CreateML ສະ ເໜີ 2 ເສັ້ນທາງ: ງ່າຍດາຍແລະຊັບຊ້ອນເລັກນ້ອຍ. ທຳ ອິດລອງເບິ່ງວິທີທີ່ງ່າຍທີ່ສຸດໃນການຊອກຫາສູດລາຄາເຮືອນ, ມັນມີລັກສະນະເກືອບຄືກັນກັບທັງສອງຕົວຢ່າງທີ່ຜ່ານມາ:

ບັນຫາຂໍ້ມູນຕາຕະລາງອາດຈະຖືກແກ້ໄຂ (ຂື້ນກັບກໍລະນີ) ໂດຍໃຊ້ທັງ MLRegressor ສຳ ລັບບັນຫາການເກີດ ໃໝ່ ແລະ MLClassifier ສຳ ລັບການຈັດປະເພດ. ແຕ່ມັນບໍ່ແມ່ນສິ່ງທີ່ ໜ້າ ສົນໃຈແທ້ໆ, ໃນຂະນະທີ່ເຮັດວຽກກ່ຽວກັບຂໍ້ມູນຕາຕະລາງ, ທ່ານສາມາດຕັດສິນໃຈດ້ວຍຕົນເອງວ່າວິທີການຈັດປະເພດ / ການຈັດປະເພດແບບໃດຈະຖືກ ນຳ ໃຊ້, ເພາະວ່າຄູ່ຜົວເມຍ CreateML ສະ ໜັບ ສະ ໜູນ ທີ່ໃຊ້ທົ່ວໄປໃນອຸດສະຫະ ກຳ:

3. CreateML ໃນບັນຫາຊີວິດຈິງ

ກິດສາທິດແມ່ນງ່າຍດາຍເທົ່າທີ່ຈະເຮັດໄດ້, ມັນເຮັດໃຫ້ພວກເຂົາເຂົ້າໃຈງ່າຍແລະບໍ່ເປັນຫຍັງ. ເຖິງຢ່າງໃດກໍ່ຕາມໃນກໍລະນີຂອງ Machine Learning, ຄວາມຈິງທີ່ວ່າບາງສິ່ງບາງຢ່າງ ກຳ ລັງເຮັດວຽກກັບຕົວຢ່າງທີ່ງ່າຍດາຍ, ບໍ່ໄດ້ ໝາຍ ຄວາມວ່າມັນຈະເຮັດວຽກກັບສິ່ງທີ່ຊັບຊ້ອນກວ່າເກົ່າ. ຜູ້ໃຊ້ເປົ້າ ໝາຍ ຂອງ CreateML ແມ່ນນັກພັດທະນາ, ບໍ່ແມ່ນຜູ້ຊ່ຽວຊານດ້ານ ML ຫຼືນັກວິທະຍາສາດຂໍ້ມູນ, ສະນັ້ນຂ້ອຍຕັດສິນໃຈປະພຶດຕົວຄືກັບຄົນ ໃໝ່ ML ໂດຍສະເລ່ຍ, ຢ່າວິເຄາະຂໍ້ມູນຢ່າງເລິກເຊິ່ງ, ພຽງແຕ່ເອົາຊຸດເຂົ້າໄປໃນ CreateML ແລະປ່ອຍໃຫ້ມັນເຮັດໄດ້ດີ. ຂ້ອຍໄດ້ຕັດສິນໃຈໃຊ້ການແຂ່ງຂັນ Kaggle ເປັນເກນມາດຕະຖານ, ແລະຈາກນັ້ນປຽບທຽບຄຸນະພາບຂອງຕົວແບບກັບສິ່ງທີ່ Kagglers ບັນລຸໄດ້, ຂ້ອຍຍັງຕ້ອງການກວດເບິ່ງວ່າການສ້າງແບບເຄື່ອນໄຫວແບບໄວທີ່ສຸດຂອງ MD. ໃນຫລາຍໆກໍລະນີ, ກຸນແຈ ສຳ ຄັນຂອງຮູບແບບ sucessfull ແມ່ນການເຂົ້າໃຈຂໍ້ມູນແລະການ ດຳ ເນີນການ, ຖ້ານັກພັດທະນາພຽງແຕ່ ນຳ ເຂົ້າ CSV ແລະແລ່ນ MLRegressor ຄາດວ່າຜົນໄດ້ຮັບທີ່ມີຄຸນນະພາບສູງ ສຳ ລັບບັນຫາທີ່ຊັບຊ້ອນ…ລາວອາດຈະຜິດຫວັງກັບຜົນກະທົບ. ຍ້ອນສິ່ງນັ້ນຂ້ອຍໄດ້ຕັດສິນໃຈເລືອກຕົວຢ່າງ, ເຊິ່ງໃກ້ຊິດກັບບັນຫາຊີວິດຈິງແຕ່ບໍ່ສັບສົນຫຼາຍ, ເພາະມັນຈະບໍ່ມີຄວາມ ໝາຍ ຫຍັງເລີຍຖ້າບໍ່ມີຂໍ້ມູນກ່ອນ.

ການຕັ້ງຄ່າ Macbook Pro ຂອງຂ້ອຍເປັນເອກະສານອ້າງອີງ:

ຂ້ອຍເລີ່ມຕົ້ນດ້ວຍການທົດສອບ Classifier Classifier, ສຳ ລັບການທົດສອບຂ້ອຍໃຊ້ "ການຈັດປະເພດເບ້ຍຂອງພືດ" (https://www.kaggle.com/c/plant-seedlings-classification), ເຊິ່ງເປົ້າ ໝາຍ ແມ່ນເພື່ອ ກຳ ນົດຊະນິດຂອງເບ້ຍຈາກຮູບພາບ. ຖານຂໍ້ມູນມີຂະ ໜາດ ໃຫຍ່ກ່ວາຮູບທີ່ຖືກ ນຳ ສະ ເໜີ ໃນການສາທິດ, ມັນມີຫລາຍກວ່າ 4300 ຮູບ, ຂ້ອຍ ດຳ ເນີນການລະຫັດໂດຍໃຊ້ພຽງ 2 ເສັ້ນຂອງລະຫັດ, ຜົນໄດ້ຮັບຈະເຫັນຢູ່ດ້ານລຸ່ມ:

ຂ້າພະເຈົ້າມີຄວາມປະທັບໃຈຫລາຍກັບຜົນໄດ້ຮັບ, ມັນໃຊ້ເວລາ 5 ນາທີໃນຄອມພິວເຕີ້ພັດທະນາປົກກະຕິເພື່ອຝຶກຮູບແບບທີ່ດີ, ໂດຍໃຊ້ຂໍ້ມູນການຝຶກອົບຮົມ 1.7GB. ມີວິທີໃດດີກວ່າທີ່ຈະສ້າງແບບ Proof of Concept ແລະເອົາເຂົ້າໃນ app iOS / macOS ທີ່ເຮັດວຽກເພື່ອກວດສອບຄວາມຄິດ? ຂ້ອຍບໍ່ຄິດແນວນັ້ນ. Apple, ເຈົ້າໄດ້ເຮັດວຽກທີ່ດີເລີດແທ້ໆ. ສິ່ງທີ່ ໜ້າ ສົນໃຈໃນການສັງເກດ, ແມ່ນວ່າ CreateML ກຳ ລັງສ້າງຊຸດທີ່ຖືກຕ້ອງໂດຍອັດຕະໂນມັດຈາກຊຸດທີ່ສະ ໜອງ ໃຫ້ເປັນການຝຶກອົບຮົມ, ສະນັ້ນນັກພັດທະນາບໍ່ ຈຳ ເປັນຕ້ອງແບ່ງປັນຂໍ້ມູນນີ້ດ້ວຍຕົນເອງ, ເປັນບາດກ້າວນ້ອຍໆເພື່ອເຮັດໃຫ້ຂັ້ນຕອນງ່າຍດາຍ.

Ok, ບໍ່ແມ່ນທຸກຄົນຈະສ້າງແອັບ“ "ບໍ່ Hotdog", ສະນັ້ນລອງເບິ່ງອີກກໍລະນີ ໜຶ່ງ ທີ່ພົບເລື້ອຍໃນການຮຽນຮູ້ເຄື່ອງຈັກ, "Tabular Data" ແລະບັນຫາການຈັດປະເພດ / ການຈັດປະເພດ. ໃນກໍລະນີນີ້ຂ້ອຍເລີ່ມຕົ້ນດ້ວຍ "ການເລີ່ມຕົ້ນການລອດຊີວິດຂອງ ກຳ ປັ່ນ Titanic" (https://www.kaggle.com/c/titanic), ເປົ້າ ໝາຍ ຂອງການແຂ່ງຂັນນີ້ແມ່ນເພື່ອ ກຳ ນົດວ່າຜູ້ໂດຍສານສະເພາະໃດ ໜຶ່ງ ຈະລອດຊີວິດຈາກການປະທະກັນກັບນ້ ຳ ກ້ອນໂດຍອີງຕາມຂໍ້ມູນເຊັ່ນ: ອາຍຸ, ເພດ , ປະເພດຕົ,ວ, ສຽງ, ແລະອື່ນໆ.

ຂ້ອຍດາວໂຫລດເອກະສານ CSV, ສ້າງ MLClassifier, ກົດຫຼີ້ນແລະ…

Ok, ມັນບໍ່ໄດ້ເຮັດວຽກ, CreateML ຕ້ອງການຂໍ້ມູນທີ່ສະອາດຢ່າງສົມບູນ. ນັ້ນບໍ່ແມ່ນບັນຫາໃຫຍ່, ຂ້ອຍສາມາດຖອດແຖວອອກດ້ວຍຖັນເປົ່າໂດຍໃຊ້ສາຍຄູ່ຂອງ Python, ແຕ່ວ່າການຫຼຸດຜ່ອນ ຈຳ ນວນຂໍ້ມູນການຝຶກອົບຮົມຈາກ 891 ຕົວຢ່າງລົງເຫຼືອພຽງ 183 ຕົວຢ່າງ, ແຕ່ຢ່າງ ໜ້ອຍ ມັນກໍ່ເຮັດວຽກຢູ່. ໃນລະຫວ່າງການ ດຳ ເນີນງານຕໍ່ໄປ xCode ໄດ້ແຈ້ງໃຫ້ຂ້ອຍຮູ້ວ່າ: "ຄຸນນະສົມບັດ \ 'ປີ້ \' ບໍ່ແມ່ນປະເພດ (ຕົວເລກ, ສາຍ, ແຖວ, ຫຼືວັດຈະນານຸກົມ). \ n" ສະນັ້ນຂ້ອຍໄດ້ຖີ້ມຖັນນີ້ແລະສຸດທ້າຍຂ້ອຍກໍ່ໄດ້ເຮັດວຽກແບບ:

ອີກເທື່ອ ໜຶ່ງ, ຂ້າພະເຈົ້າຮູ້ສຶກປະທັບໃຈກັບຜົນໄດ້ຮັບ, ຂໍ້ມູນແມ່ນຂ້ອນຂ້າງງ່າຍດາຍ, ແຕ່ວ່າມັນໃກ້ກັບສິ່ງທີ່ນັກພັດທະນາຫຼາຍຄົນອາດຈະປະເຊີນ ​​ໜ້າ ກັບແອັບ in ທົ່ວໄປ. CreateML ກຳ ລັງເຮັດວຽກຢູ່, ມັນໄວແລະມີປະສິດທິພາບ.

ຄວາມພະຍາຍາມຄັ້ງທີສອງແມ່ນການແຂ່ງຂັນ“ ການຄາດຄະເນລາຍໄດ້ຂອງຮ້ານອາຫານ” (https://www.kaggle.com/c/restaurant-revenue-prediction/data), ເຊິ່ງເປົ້າ ໝາຍ ແມ່ນເພື່ອຄາດຄະເນລາຍໄດ້ຂອງຮ້ານອາຫານໃນປີທີ່ໄດ້ຮັບ, ໂດຍໃຊ້ວັນທີເປີດ, ເມືອງ, ປະເພດຮ້ານອາຫານແລະອື່ນໆ. ເຊັ່ນດຽວກັນກັບໃນກໍລະນີຂອງກໍາປັ່ນ Titanic, ຂ້າພະເຈົ້າພຽງແຕ່ດາວໂຫລດຂໍ້ມູນແລະເປີດບ່ອນຫຼີ້ນ:

ໃນກໍລະນີນີ້ CreateML ຕັດສິນໃຈໃຊ້ Boosted Tree Regressor ແລະເປັນຜົນໃຫ້ MSE ກໍ່ຍັງຕໍ່າກ່ວາຜູ້ທີ່ໄດ້ຮັບການແຂ່ງຂັນ 3 ປີກ່ອນ. ແນ່ນອນເຫດຜົນທີ່ອາດຈະແມ່ນຄວາມຈິງທີ່ວ່າກະດານຈັດອັນດັບຖືກສ້າງຂື້ນໂດຍອີງໃສ່ຂໍ້ມູນທີ່ບໍ່ແມ່ນສາທາລະນະ, ແຕ່ຍັງ, CreateML ສາມາດສ້າງໄດ້ດີຫຼາຍ, ອາດຈະປຽບທຽບກັບຮູບແບບທີ່ຊະນະໃນສອງວິນາທີ. ນີ້ແມ່ນສິ່ງທີ່ນັກພັດທະນາສ່ວນໃຫຍ່ຕ້ອງການ.

4. ຂໍ້ດີແລະຂໍ້ເສຍປຽບຂອງ CreateML

Pros:

  • ປະຈຸບັນມັນເປັນວິທີທີ່ງ່າຍທີ່ສຸດທີ່ຈະສ້າງແບບ ML ສຳ ລັບ iOS / macOS, ໂດຍສະເພາະ ສຳ ລັບໂປແກຼມ Proof Of Concept, ຫຼືຜູ້ທີ່ເຮັດວຽກກັບຂໍ້ມູນທີ່ຂ້ອນຂ້າງງ່າຍດາຍ
  • CreateML ເປີດໂລກ ML ໃຫ້ກັບນັກພັດທະນາ iOS / macOS ຫລາຍພັນຄົນ
  • ແມ່ນມີປະສິດທິພາບແລະໃຊ້ງ່າຍ

Cons:

  • ມີສອງສາມວິທີທີ່ຈະປບັແລະແກ້ຕົວແບບສຸດທ້າຍ
  • ບໍ່ມີຄວາມຮູ້ສາທາລະນະວ່າຮູບແບບໃດທີ່ໃຊ້ໃນການຈັດປະເພດຮູບພາບ
  • ບໍ່ມີເຄື່ອງມືການປຸງແຕ່ງຂໍ້ມູນ (ແຕ່ວ່າມັນຈະແຈ້ງ, ເປົ້າ ໝາຍ ຂອງ Apple ບໍ່ແມ່ນນັກວິທະຍາສາດຂໍ້ມູນ, ແຕ່ແມ່ນນັກພັດທະນາຊອບແວ)

5. ຄວາມຄິດເຫັນຂອງຂ້ອຍ

ເບິ່ງຄືວ່າ CreateML ແມ່ນເຄື່ອງມືທີ່ດີແທ້ໆ, ໂດຍສະເພາະ ສຳ ລັບນັກພັດທະນາ, ຜູ້ທີ່ບໍ່ໄດ້ເຮັດວຽກກັບ Machine Learning ເລີຍ, ມັນໄວ, ມີປະສິດທິພາບແລະງ່າຍທີ່ສຸດໃນການເລີ່ມຕົ້ນ. ຖ້າທ່ານເປັນນັກພັດທະນາລະບົບ iOS / macOS, ພຽງແຕ່ທົດລອງໃຊ້.

6. ເປີດ ຄຳ ຖາມ

ບັນຫາຂອງຕົວແບບ ML ໃຫຍ່ ສຳ ລັບການຈັດປະເພດຮູບພາບແມ່ນຖືກປິດບັງໂດຍຄວາມຈິງທີ່ວ່ານ້ ຳ ໜັກ ທັງ ໝົດ ຖືກເກັບຢູ່ພາຍໃນລະບົບ iOS / macOS ແລະ CreateML ສ້າງແບບ ຈຳ ລອງ CoreML ທີ່ບັນຈຸມີນ້ ຳ ໜັກ ພຽງແຕ່ ສຳ ລັບຊັ້ນສຸດທ້າຍຂອງ (Inception-V3)?