น่าทึ่งที่หลายครั้งผลงานที่มนุษย์สร้างขึ้นก็สามารถทำอะไรได้มากกว่าที่ผู้สร้างเคยคิดไว้ ตัวอย่างหนึ่งดังเช่น อัลกอริทึมของ Google ที่ถูกพัฒนาขึ้นมาใช้งานกับระบบโฆษณา AdWords ได้ตรวจสอบพบแก๊งมิจฉาชีพต้มตุ๋นและกลุ่มโจรขโมยรถยนต์ในประเทศจีน
AdWords เป็นบริการที่ทำรายได้สำคัญให้แก่ Google โดยในแต่ละวันมีลูกค้าจำนวนมหาศาลที่ต้องการจะลงโฆษณาที่ยิงตรงสู่ผู้ใช้คอมพิวเตอร์ผ่านเว็บเบราว์เซอร์อันนี้ ด้วยเหตุดังกล่าว Google จึงต้องพัฒนาเครื่องมือที่จะช่วยคัดกรองเนื้อหาโฆษณาอันไม่พึงประสงค์ออกจากข้อมูลจำนวนมากเหล่านี้ จนเป็นที่มาของอัลกอริทึมที่ใช้ตรวจสอบหาโฆษณาขายสินค้าที่เป็นของทำปลอมหรือเลียนแบบ รวมทั้งตรวจสอบโฆษณาที่จะนำผู้ใช้งานอินเทอร์เน็ตไปสู่เว็บไซต์อันตราย และกรองสแปมต่างๆ ออกไปจากระบบ
แต่แล้ววันหนึ่งในปี 2010 วิศวกรของ Google ก็ต้องประหลาดใจเมื่อพบว่าอัลกอริทึมของ AdWords นี้ได้แจ้งเตือนให้ระวังโฆษณารถยนต์มือสองหลายรายการ ทั้งที่ดูไปแล้วรถยนต์เหล่านั้นไม่มีทางเป็นของทำปลอมหรือทำเลียนแบบ (ซึ่งมักจะพบในกลุ่มสินค้าไอที, เสื้อผ้า, เครื่องประดับ) อีกทั้งเว็บไซต์ปลายทางของโฆษณาก็มิได้มีปัญหาด้านความปลอดภัยของระบบเครือข่ายคอมพิวเตอร์ ทว่าเมื่อตรวจสอบลึกลงไป จึงพบได้ว่าข้อมูลโฆษณารถยนต์มือสองเหล่านั้นคือส่วนหนึ่งของเครือข่ายมิจฉาชีพขนาดใหญ่ในประเทศจีน
ขบวนการมิจฉาชีพนั้นทำงานโดยการหลอกลวงด้วยการโฆษณาขายรถยนต์มือสองผ่านทางอินเทอร์เน็ต โดยใช้ภาพถ่ายของรถยนต์ของประชาชนทั่วไปที่จอดอยู่ตามท้องถนนมาประกอบโฆษณา จนเมื่อมีผู้ตกหลุมเชื่อติดต่อเพื่อขอซื้อรถคันดังกล่าว ขบวนการมิจฉาชีพก็จะขโมยรถยนต์คันนั้นมาขายให้ กว่าเหยื่อจะรู้ตัวว่าซื้อของโจรมาก็โดนเชิดเงินหนีหายไปแล้ว
สาเหตุที่อัลกอริทึมของ Google สามารถตรวจพบโฆษณาเจ้าปัญหาอันนี้ได้ เป็นเพราะการตั้งค่าแจ้งเตือนเมื่อพบการทำธุรกรรมจำนวนมากโดยบัญชีผู้ใช้งาน AdWords ที่เพิ่งเปิดใช้งานใหม่ ประกอบกับรายละเอียดยิบย่อยที่ซับซ้อนอื่นๆ ที่สามารถบ่งชี้พฤติกรรมการหลอกขายสินค้าของปลอมหรือทำเลียนแบบ และโฆษณารถยนต์มือสองที่เป็นประเด็นก็เข้าข่ายการเตือนในลักษณะนี้
David Baker ผู้อำนวยการวิศวกรรมของ AdWords กล่าวว่าการตรวจพบโฆษณาไม่พึงประสงค์โดยอัลกอริทึมนั้นเป็นการตรวจสอบจากเงื่อนไขปัจจัยหลายอย่าง โดยใช้ข้อมูลจำนวนมาก และมีความซับซ้อนจนยากที่จะบอกได้ว่าโฆษณาอันหนึ่งอันใดถูกแจ้งเตือนว่ามีปัญหาได้นั้นเป็นเพราะสาเหตุใดกันแน่ และนั่นจะทำให้ผู้คิดร้ายรับมือกับระบบยากยิ่งขึ้น
ที่มา - The Verge
Comments
ขนาด ผอ. ยังตอบว่ามันซับซ้อนมาก แล้วคนทำสร้างได้ยังไง เก่งเวอร์
พัฒนาต่อมาเรื่อยๆ มันก้ซับซ้อนไปเองครับ
อารมณ์เดียวกับโค้ดโปรแกรมเก่าไปเรื่อยๆ จนกลับมาแก้ไม่ถูกสิน่ะครับ 555
เคยมีฝรั่ง (เจ้านายเก่า) บอกผมว่า
if it work don't fix
อยากได้อะไรให้เขียนเพิ่มเป็นโมดูลใหม่
สุดท้ายก็ต้องมา fix โมดูลเก่า หัวฟูทั้งเจ้านายและลูกน้อง
นึกกี่ทีก็ยังขำไม่หาย
+ล้านครับ แก้เมื่อไหร่หัวฟูตลอด
ทำไมผมขำกับประโยคในย่อหน้าสุดท้าย
"มีความซับซ้อนจนยากที่จะบอกได้ว่าโฆษณาอันหนึ่งอันใดถูกแจ้งเตือนว่ามีปัญหาได้นั้นเป็นเพราะสาเหตุใดกันแน่"
ขนาด Google ยังไม่รู้เลย 555
นั่นสิฮามาก คนสร้างยังไม่รู้เลยว่ามันเตือนเพราะเงื่อนไขไหนมา ><
อนาคตระบบประมวลผลข้อมูลมากๆ อาจจะทำให้เห็นผลลัพธ์อะไรที่น่าทึ่งอีกเยอะแฮะ
ผมตลกในทาง programming ด้วยว่า
การสร้าง condition ใดๆ ไม่ตัวแปลที่เป็น flag ว่าผ่าน filterไหนให้ตรวจสอบกลับได้
อย่างน้อยก็ไว้ debug ได้
ผมว่าก็คงพูดไปงั้นๆแหละ บริษัทระดับนี้จะเขียนโปรแกรมผ่านๆไม่มีให้debugเลยก็แย่
ผมเดาว่ามันใช้วิธี weight score แล้วมันอาจจะดูยากว่าจริง ๆ แล้ว score อันไหนทำให้ถูกตีว่าเป็น spam :P
+1 ครับ
พวกการตรวจสอบพฤติกรรมมันควรพัฒนาด้วย machine learning
ถ้านั่งเขียน if else โค้ดมันคงพันกันยุ่ง
ลองนึกอาชญากรรมที่เคยเห็นในทีวีนะครับ สมมุติว่ามันมีกล้องวงจรปิดในย่านนึงได้ข้อมูล(ทีมาจากการ recognition) ณ ขณะนึงมาว่า
- มีคนจำนวนมาก (สมมุติว่า 8 คน) กำลังเดินเข้าไปในธนาคารแห่งนึง
- มีหลายคนในนั้นพกปืน
- มี 2 คนใส่หมวกกันน้อก
- 4 คนมองเห็นหน้าไม่ชัด
- สงสัยว่ามีสารเคมีอันตราย
- มีรถสองคันจอดนิ่งอยู่ตรงหัวมุม โดยมีคนขับถือวิทยุสื่อสารในมือ
ถ้าแก้ไขตัวเลขในแต่ละ input การตัดสินใจก็จะเปลี่ยนไป
แค่ feature 6 อย่างตรงนี้ ผมว่าถ้านั่งไล่เขียน if else ให้ครอบคลุมความเป็นไปได้ทั้งหมดก็ตายแล้วครับ
ไม่รู้สิครับเพราะถ้าแนวนี้ผมก็มีthreshold ก่อน สมมติเกิน40%ของแต่ละfeatureค่อยเอาเข้ามา weight
ถ้าไม่ถึงก็ตกไป
ฉนั้นผมก็จะรู้ด้วยว่า ตกอันไหนไปบ้าง อันไหนผ่านบ้าง
จริงๆก็แล้วแต่กรณีแหละ
แต่ที่แจ้งเตือนมันมีปัญหาจริงๆ ชิมิ
ระบบการแบนของ Google เป็นอะไรที่ไร้เหตุผลมากครับ คือให้เหตุผลว่าคุณทำผิดข้อตกลง เช่นการโดนลบ blog ,adwords ,adsense อะไรก็แล้วแต่ ถ้าถามเหตุผลว่าโดนลบเพราะอะไร เจ้าหน้าที่จะแจ้งว่าคุณทำผิดข้อตกลงข้อหนึ่งข้อใดของ Google แต่ไม่สามารถเจาะจงได้
ถ้าบอกพวกมิจฉาชีพ ก็แก้ทางสิฮะ
เขาก็เฉลยแล้วว่า "โดยอัลกอริทึมนั้นเป็นการตรวจสอบจากเงื่อนไขปัจจัยหลายอย่าง โดยใช้ข้อมูลจำนวนมาก" ส่วนคำว่าซับซ้อนผมว่าไม่น่าจะใช่ อัลกอริทึม แต่น่าจะเป็นข้อมูลที่มันประมวลผลคงซับซ้อนมาก และเงื่อนไขก็มีปัจจัยเยอะ เคยดูเรื่อง Semantic Data แล้วก็มึนหัวตึ๊บไปหลายวันเหมือนกัน โครงสร้างข้อมูลมันเชื่อมโยงกันไปเรื่อยๆ เดาว่าอัลกอริทึมของ Google ก็คงไต่ไปตามโครงสร้าง โดยแต่ละโหนดข้อมูลก็มีเงื่อนไขปัจจัยประกอบเพื่อค้นหาต่อเนื่อง ซึ่งคำตอบมันคงมีหลากหลายมาก แต่มันก็ดึงมาเฉพาะคำตอบที่ต้องการตามที่ตั้งค่าไว้ มันก็เลยหาเส้นทางยาก เพราะเขาเองคงไม่ได้บันทึก Log ไว้แน่เพราต้องการ Speed ในการค้นหาที่สูง
สรุป
อัลกอริทึม (input เยอะ , ปัจจัยเยอะ ,โครงสร้างข้อมูลซับซ้อน, คำตอบที่ต้องการ) = 0
เพราะผมเองถึงจะรู้อัลกอริทึม แต่ถ้าสมการเป็นเชิงอนุพันธ์ย่อย โดยหาค่าใกล้เคียง 0 เพื่อคำนวณผลลัพธิ์ที่ใกล้เคียงค่าที่ต้องการ มันก็แกะยากมาก เพราะมันไม่ใช่รู้ x รู้ y แล้วได้ z แต่มันมากกว่านั้นเยอะ
ปรากฏว่าที่จริง google แอบเก็บเลขป้ายทะเบียนรถทั่วโลกที่ถ่ายจาก streetview มาประมวลผล...
:-)
นี้แหละของจริง 555+
มันคือ neural network รึเปล่า ?
เวลาทะเลาะกับแฟนก็บอกไม่ได้ว่าด้วย condition ไหน
เมื่อจนมุมด้วย Condition แฟนของเราก็ "ล้มโต๊ะ" ^__^
ไม่รักเขาแล้วใช่มั้ย
เราเลิกกันเถอะ
ถึงกับไปไม่ถูกเลยทีเดียว หรือไม่ก็ขุดความผิดเก่าๆ มาแทง - -*
ข้อมูลมหาศาลจนยากที่จะบอกได้ว่า output ที่ได้มาจากขั้นตอนใดบ้าง (=___=) มันเกินสมองมนุษย์แล้วเหรอนี่ คอมพิวเตอร์สมัยนี้น่ากลัวเหลือเกิน
อ่า...เหมือน Person of Interest เลย -_-a
Knowledge ที่ได้มาโดยบังเอิญจากการขุดเหมืองข้อมูล อิอิ