แสดงบทความที่มีป้ายกำกับ Algorithms แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Algorithms แสดงบทความทั้งหมด

วันศุกร์ที่ 8 พฤศจิกายน พ.ศ. 2562

Hello World: Being Human in the Age of Algorithms : Back to basics

กลับไปสู่พื้นฐาน
ก่อนที่เราจะไปถึงจุดนั้นบางทีอาจจะเป็นการดีที่จะหยุดคำถามสั้น ๆ ว่า 'อัลกอริทึม' นั้นหมายถึงอะไร เป็นคำที่แม้ว่าจะใช้บ่อย ๆ แต่ก็ล้มเหลวในการถ่ายทอดข้อมูลจริงมาก ส่วนหนึ่งเป็นเพราะคำว่าตัวเองค่อนข้างคลุมเครือ อย่างเป็นทางการมันถูกกำหนดไว้ดังนี้:

algorithm (noun): A step-by-step procedure for solving a problem or accomplishing some end especially by a computer.

แค่นั้นแหละ. อัลกอริทึมเป็นเพียงชุดของคำแนะนำเชิงตรรกะที่แสดงตั้งแต่ต้นจนจบวิธีการทำงานให้สำเร็จ จากคำจำกัดความที่กว้างนี้สูตรเค้กนับเป็นอัลกอริทึม รายการเส้นทางที่คุณอาจให้กับคนแปลกหน้าหายไป คู่มือ IKEA วิดีโอการแก้ไขปัญหาของ YouTube แม้กระทั่งการช่วยเหลือตนเองหนังสือ - ในทางทฤษฎีรายการคำสั่งใด ๆ ที่มีอยู่ในตัวเองเพื่อให้บรรลุวัตถุประสงค์เฉพาะที่กำหนดไว้สามารถอธิบายเป็นอัลกอริทึม แต่นั่นไม่ใช่วิธีการใช้คำศัพท์ โดยปกติอัลกอริทึมจะอ้างถึงบางสิ่งที่เฉพาะเจาะจงมากขึ้น พวกเขายังคงต้มลงในรายการคำแนะนำทีละขั้นตอน แต่อัลกอริทึมเหล่านี้เป็นวัตถุทางคณิตศาสตร์เกือบทุกครั้ง พวกเขาใช้ลำดับของการดำเนินการทางคณิตศาสตร์ - โดยใช้สมการคณิตศาสตร์พีชคณิตแคลคูลัสตรรกศาสตร์และความน่าจะเป็น - และแปลเป็นรหัสคอมพิวเตอร์ พวกเขาจะถูกป้อนด้วยข้อมูลจากโลกแห่งความเป็นจริงกำหนดวัตถุประสงค์และกำหนดให้ทำงานผ่านการคำนวณเพื่อให้บรรลุเป้าหมาย พวกเขาเป็นสิ่งที่ทำให้วิทยาศาสตร์คอมพิวเตอร์เป็นวิทยาศาสตร์ที่แท้จริงและในกระบวนการนี้ได้เติมพลังให้กับความสำเร็จอันน่าอัศจรรย์ที่เกิดจากเครื่องจักร มีอัลกอริทึมที่แตกต่างกันจำนวนเกือบจะนับไม่ได้ แต่ละคนมีเป้าหมายของตัวเอง นิสัยแปลก ๆ ของตัวเอง นิสัยใจคอและข้อเสียที่ฉลาดของมันและไม่มีความเห็นพ้องกันว่าจะจัดกลุ่มพวกเขาให้ดีที่สุดได้อย่างไร แต่การพูดในวงกว้างก็สามารถ มีประโยชน์ในการคิดงานในโลกแห่งความจริงที่พวกเขาดำเนินการในสี่หมวดหลัก:

- Prioritization: making an ordered list จัดลำดับความสำคัญ: การสร้างรายการคำสั่ง
- Classification: picking a category การจัดหมวดหมู่: เลือกหมวดหมู่
- Association: finding links การเชื่อมโยง: การค้นหาลิงก์
- Filtering: isolating what’s important การกรอง: แยกสิ่งที่สำคัญ

อัลกอริธึมส่วนใหญ่จะถูกสร้างขึ้นเพื่อทำการรวมกันของข้างต้น นั่นคือสิ่งที่อัลกอริทึมสามารถทำได้ ตอนนี้พวกเขาจะทำอย่างไร ในขณะที่ความเป็นไปได้ไม่มีที่สิ้นสุดจริงมีวิธีการกลั่นสิ่งต่าง ๆ คุณสามารถคิดถึงวิธีที่ใช้โดยอัลกอริทึมเป็นวงกว้าง ปรับให้เหมาะกับกระบวนทัศน์สำคัญสองประการซึ่งทั้งสองอย่าง :

- Rule-based algorithms ระเภทแรกเป็นไปตามกฎ คำแนะนำของพวกเขาถูกสร้างขึ้นโดยมนุษย์และมีความชัดเจนและตรงไปตรงมา คุณสามารถจินตนาการอัลกอริทึมเหล่านี้ตามตรรกะของสูตรเค้ก ขั้นตอนที่หนึ่ง: ทำสิ่งนี้ขั้นตอนที่สอง: ถ้าเป็นเช่นนั้น นั่นไม่ได้หมายความว่าอัลกอริทึมเหล่านี้เรียบง่ายมีพื้นที่มากมายสำหรับสร้างโปรแกรมที่ทรงพลังภายในกระบวนทัศน์นี้
- Machine-learning algorithms อัลกอริธึมการเรียนรู้ด้วยเครื่องจักรประเภทที่สองได้รับแรงบันดาลใจจากการเรียนรู้สิ่งมีชีวิต เพื่อให้การเปรียบเทียบคุณคิดว่าคุณจะสอนสุนัขให้คุณได้อย่างไร คุณไม่จำเป็นต้องสร้างรายการคำสั่งที่แม่นยำและสื่อสารกับสุนัข ในฐานะผู้ฝึกสอนสิ่งที่คุณต้องการคือเป้าหมายที่ชัดเจนในใจของคุณว่าคุณต้องการให้สุนัขทำอะไรและทำอย่างไร ให้รางวัลแก่เธอเมื่อเธอทำสิ่งที่ถูกต้อง เป็นเพียงการเสริมสร้างพฤติกรรมที่ดีไม่สนใจสิ่งที่ไม่ดีและให้เธอฝึกฝนอย่างเพียงพอที่จะทำสิ่งที่ควรทำเพื่อตัวเอง เทียบเท่าอัลกอริทึมเป็นที่รู้จักกันเป็นอัลกอริทึมการเรียนรู้เครื่องซึ่งอยู่ภายใต้ร่มของปัญญาประดิษฐ์หรือ AI คุณให้ข้อมูลเครื่องเป้าหมายและข้อเสนอแนะเมื่ออยู่ในเส้นทางที่ถูกต้องและปล่อยให้มันเป็นวิธีที่ดีที่สุดในการบรรลุเป้าหมาย

ทั้งสองประเภทมีข้อดีข้อเสีย เนื่องจากอัลกอริทึมตามกฎมีคำแนะนำที่เขียนโดยมนุษย์จึงง่ายต่อการเข้าใจ ในทางทฤษฎีทุกคนสามารถเปิดพวกเขาและติดตามตรรกะของสิ่งที่เกิดขึ้นภายใน

แต่คำอวยพรของพวกเขาก็เป็นคำสาปเช่นกัน อัลกอริทึมแบบอิงกฎจะทำงานเฉพาะกับปัญหาที่มนุษย์รู้วิธีการเขียนคำแนะนำเท่านั้น ในทางตรงกันข้ามอัลกอริทึมของการเรียนรู้ด้วยเครื่องจักรได้พิสูจน์ให้เห็นแล้วว่าเป็นปัญหาในการแก้ปัญหาซึ่งการเขียนรายการคำสั่งจะไม่ทำงาน พวกเขาสามารถรับรู้วัตถุในภาพเข้าใจคำที่เราพูดและแปลจากภาษาหนึ่งเป็นอีกภาษาหนึ่ง ข้อเสียคือถ้าคุณปล่อยให้เครื่องหาทางออกด้วยตัวเองเส้นทางที่ใช้ในการไปที่นั่นบ่อยครั้งจะไม่มีความหมายกับผู้สังเกตการณ์ของมนุษย์ อวัยวะภายในอาจเป็นปริศนาได้แม้กระทั่งโปรแกรมเมอร์ที่มีชีวิตที่สุด

* บางทีวันหนึ่งเราจะไปถึงจุดที่
ความฉลาดทางคอมพิวเตอร์เหนือกว่าความฉลาดของมนุษย์ แต่เรายังไม่ได้ใกล้กับมัน ตรงไปตรงมาเรายังค่อนข้างห่างไกลจากการสร้างปัญญาล้ำยุค จนถึงตอนนี้ยังไม่มีใครสามารถจัดการกับเวิร์มที่ผ่านมาได้

นอกจากนี้โฆษณาทั้งหมดที่เกี่ยวกับ AI เป็นสิ่งที่ทำให้ไขว้เขวจากความกังวลที่เร่งด่วนกว่าและฉันคิดว่าเป็นเรื่องราวที่น่าสนใจมากขึ้น ลืมเกี่ยวกับเครื่องจักรอัจฉริยะที่มีอำนาจทุกอย่างและรอคุณอยู่
ความคิดจากอนาคตอันไกลโพ้นถึงที่นี่และเดี๋ยวนี้ - เนื่องจากมีอัลกอริธึมพร้อมบังเหียนอิสระที่จะทำหน้าที่เป็นผู้มีอำนาจตัดสินใจอิสระ เพื่อตัดสินเงื่อนไขคุกการรักษาผู้ป่วยโรคมะเร็งและสิ่งที่ต้องทำในอุบัติเหตุรถชน พวกเขากำลังทำทางเลือกที่เปลี่ยนแปลงชีวิตในนามของเราทุกครั้ง
คำถามคือหากเรามอบพลังทั้งหมด - พวกเขาสมควรได้รับความไว้วางใจจากเราหรือไม่

นอกจากนี้ทุกประเภทของ AI ก็คือสิ่งที่ทำให้ไขว้เขวจากความกังวลที่เร่งด่วนกว่าและ - ฉันคิดว่า - เรื่องราวที่น่าสนใจมากขึ้น ลืมเกี่ยวกับเครื่องจักรอัจฉริยะที่มีอำนาจทุกอย่างและรอคุณอยู่ ความคิดจากอนาคตอันไกลโพ้นถึงที่นี่และเดี๋ยวนี้ - เนื่องจากมีอัลกอริธึมพร้อมควบคุมอย่างอิสระที่จะทำหน้าที่เป็นผู้มีอำนาจตัดสินใจอิสระ เพื่อตัดสินเงื่อนไขคุกการรักษาผู้ป่วยโรคมะเร็งและสิ่งที่ต้องทำในอุบัติเหตุรถชน พวกเขากำลังทำทางเลือกที่เปลี่ยนแปลงชีวิตในนามของเราทุกครั้ง

คำถามคือหากเรามอบพลังทั้งหมด - พวกเขาสมควรได้รับความไว้วางใจจากเราหรือไม่

วันพฤหัสบดีที่ 7 พฤศจิกายน พ.ศ. 2562

Hello World: Being Human in the Age of Algorithms บางส่วนจาก Introduction


Hello World How to be Human in the Age of the Machine by Hannah Fry

by Hannah Fry  

เช่นเดียวกับที่คุณจะพบในหน้าแรกของแทบทุกตำราวิทยาศาสตร์คอมพิวเตอร์เบื้องต้น เพราะมี
ประเพณีในกลุ่มคนที่เคยเรียนรู้ coding เกือบจะ งานแรกของคุณในฐานะมือใหม่คือการตั้งโปรแกรมให้คอมพิวเตอร์กะพริบวลีที่มีชื่อเสียงบนหน้าจอ:
‘HELLO WORLD’
เป็นประเพณีที่มีอายุย้อนไปถึงปี 1970 เมื่อ Brian Kernighan รวมไว้เป็นบทช่วยสอนในตำราการเขียนโปรแกรมยอดนิยมของเขา เช่นเดียวกับคอมพิวเตอร์ส่วนบุคคลที่เราคุ้นเคยกับหน้าจอคีย์บอร์ดและ
เคอร์เซอร์กะพริบ ‘Hello world’  มาพร้อมกันในช่วงเวลาแรกเมื่อมีการพูดคุยกันกับคอมพิวเตอร์ของคุณเป็นไปได้

หลายปีต่อมา Brian Kernighan บอกผู้สัมภาษณ์ของ Forbes เกี่ยวกับแรงบันดาลใจของเขาสำหรับวลีนี้ เขาเคยเห็นการ์ตูนที่แสดงไข่และลูกไก่ที่เพิ่งฟักใหม่ร้องคำว่า "Hello world!" เมื่อมันเกิดมาและมันติดอยู่ในใจของเขา ไม่ชัดเจนเลยว่าใครควรจะเป็นลูกเจี๊ยบในสถานการณ์นั้น: มนุษย์ที่เผชิญหน้ากับชัยชนะอย่างกล้าหาญประกาศถึงความกล้าหาญของพวกเขาในโลกแห่งการเขียนโปรแกรม? หรือคอมพิวเตอร์ตัวเองตื่นจากโลกของการหลับไหลสเปรดชีตและเอกสารข้อความพร้อมที่จะเชื่อมโยงจิตใจกับโลกแห่งความจริงแล้วทำการเสนอราคาของเจ้านายใหม่ อาจจะทั้งคู่ แต่แน่นอนว่าเป็นวลีที่รวมโปรแกรมเมอร์ทั้งหมดเข้าด้วยกันและเชื่อมต่อเข้ากับเครื่องทุกเครื่องที่เคยตั้งโปรแกรมไว้ มีอย่างอื่นที่ฉันชอบเกี่ยวกับวลี - สิ่งที่ไม่เคยมีความเกี่ยวข้องหรือสำคัญกว่าตอนนี้ เนื่องจากอัลกอริทึมของคอมพิวเตอร์ควบคุมและตัดสินใจอนาคตของเราได้มากขึ้น 'Hello world' เป็นเครื่องเตือนใจถึงช่วงเวลาแห่งการสนทนาระหว่างมนุษย์และเครื่องจักร ทันทีที่ขอบเขตระหว่างตัวควบคุมและตัวควบคุมนั้นแทบมองไม่เห็น มันนับเป็นจุดเริ่มต้นของการเป็นหุ้นส่วน - การเดินทางไปสู่ความเป็นไปได้ที่แบ่งปันกันโดยที่ไม่มีใครอยู่ได้ ในยุคของอัลกอริธึมนั่นคือความเชื่อมั่นที่มีค่าในใจ

อัลกอริทึม ชิ้นส่วนที่มองไม่เห็นของรหัสที่เกิดจากเฟืองและฟันเฟืองของยุคเครื่องจักรที่ทันสมัยอัลกอริธึมมอบทุกสิ่งในโลกตั้งแต่ฟีดโซเชียลมีเดียไปจนถึงเสิร์ชเอ็นจิ้น การนำทางผ่านดาวเทียมไปจนถึงระบบแนะนำเพลง อาคารและโรงงาน เคยเป็นพวกเขาอยู่ในโรงพยาบาลห้องพิจารณาคดีและรถยนต์ของเรา พวกมันถูกใช้โดยกองกำลังตำรวจซูเปอร์มาร์เก็ตและสตูดิโอภาพยนตร์ พวกเขาเรียนรู้สิ่งที่เราชอบและไม่ชอบ พวกเขาบอกเราว่าต้องดูอะไรอ่านอะไรและนัดไหน และทั้งหมดในขณะที่พวกเขามีพลังที่ซ่อนเร้นช้าและเปลี่ยนกฎอย่างละเอียดความหมายของการเป็นมนุษย์เราไป

อัลกอริทึมนั้นอาจจะแย่เอามาก ๆ  ดังที่คุณเห็นในหน้าเหล่านี้มีเหตุผลหลายประการที่จะเป็นแง่บวกและแง่ดีเกี่ยวกับสิ่งที่อยู่ข้างหน้า ไม่มีวัตถุหรืออัลกอริธึมที่ดีหรือชั่วร้ายในตัวมันเอง มันเป็นสิ่งที่พวกเขาใช้ จีพีเอสถูกคิดค้นเพื่อเปิดตัวขีปนาวุธนิวเคลียร์และตอนนี้ช่วยส่งพิซซ่า เพลงป๊อปเล่นซ้ำแล้วซ้ำอีกถูกนำไปใช้เป็นอุปกรณ์ทรมาน และอย่างไรก็ตามที่ทำมาลัยดอกไม้อย่างสวยงามอาจจะเป็นถ้าฉันอยากจะบีบคอคุณด้วย การสร้างความเห็นเกี่ยวกับอัลกอริทึมหมายถึงการเข้าใจความสัมพันธ์ระหว่างมนุษย์และเครื่องจักร 

แต่ละคนมีการเชื่อมต่ออย่างแยกไม่ออกกับคนที่สร้างและใช้งานซึ่งหมายความว่าในหัวใจของมันนี้เป็นหนังสือเกี่ยวกับมนุษย์ มันเกี่ยวกับว่าเราเป็นใครไปไหนสิ่งสำคัญสำหรับเราและสิ่งที่เปลี่ยนแปลงไปผ่านเทคโนโลยี มันเกี่ยวกับความสัมพันธ์ของเรากับอัลกอริธึมที่มีอยู่แล้ว สิ่งที่ทำงานเคียงข้างเราขยายความสามารถของเราแก้ไขข้อผิดพลาดแก้ปัญหาและสร้างสิ่งใหม่ ๆ ไปพร้อมกัน

มันเกี่ยวกับการถามว่าอัลกอริทึมนั้นมีประโยชน์จริงๆ ต่อสังคมหรือไม่ เกี่ยวกับเวลาที่คุณควรเชื่อถือเครื่องในการตัดสินใจของคุณและเมื่อคุณควรต้านทานสิ่งล่อใจที่จะทำให้เครื่องอยู่ในการควบคุม มันเกี่ยวกับการเปิดอัลกอริทึมและค้นหาข้อจำกัด และเกี่ยวกับการมองตัวเองอย่างหนักและการค้นหาของเราเอง เกี่ยวกับการแยกอันตรายจากความดีและตัดสินใจว่าโลกแบบไหนที่เราต้องการมีชีวิตอยู่เพราะอนาคตไม่ได้เกิดขึ้น เราสร้างมันขึ้นมา

เราจะเห็นว่าอัลกอริทึมพุ่งเข้าหาแทบทุกด้านของชีวิตสมัยใหม่ตั้งแต่สุขภาพและอาชญากรรมไปจนถึงการขนส่งและการเมือง ระหว่างทางเรามีวิธีจัดการที่จะไล่พวกเขาออกไปพร้อม ๆ กันข่มขู่โดยพวกเขาและด้วยความกลัวความสามารถของพวกเขา ผลลัพธ์สุดท้ายก็คือเราไม่มีความคิดเลยว่าเรากำลังถ่อมตัวลงหรือไม่ เราปล่อยให้สิ่งต่าง ๆ ไปไกลเกินไป

Algorithms to Live By: The Computer Science of Human Decisions

by Brian Christian and Tom Griffiths


อัลกอริทึมที่จะอยู่ด้วยนำคุณสู่การเดินทางของสิบเอ็ดความคิดจากวิทยาการคอมพิวเตอร์ที่เรารู้หรือไม่ว่าใช้ในชีวิตของเราทุกวัน

1. Optimal Stopping

2. Explore/Exploit

3. Sorting

4. Caching

5. Scheduling

6. Bayes’s Rule

7. Overfitting

8. Relaxation

9. Randomness

10. Networking

11. Game Theory

รียนรู้อัลกอริทึมและโครงสร้างข้อมูล | Commonlounge
หลักสูตร 26 ส่วนนี้ประกอบด้วยบทเรียนเกี่ยวกับอัลกอริทึมและโครงสร้างข้อมูล มันสลับระหว่างบทเรียนและ ...
…และถ้าคุณชอบแนวคิดในส่วนการเรียนรู้ของเครื่องจักรและต้องการดำดิ่งลึกลงไปให้ลองทำสิ่งนี้ดู :

All our lives are constrained by limited space and time, limits that give rise to a particular set of problems. What should we do, or leave undone, in a day or a lifetime? How much messiness should we accept? What balance of new activities and familiar favorites is the most fulfilling? These may seem like uniquely human quandaries, but they are not: computers, too, face the same constraints, so computer scientists have been grappling with their version of such issues for decades. And the solutions they've found have much to teach us.

ชีวิตเราทุกคนถูกจำกัดด้วยพื้นที่และเวลาอันจำกัด ขีดจำกัดที่ก่อให้เกิดปัญหาเฉพาะอย่าง เราควรทำอย่างไรหรือปล่อยทิ้งไว้ในหนึ่งวันหรือตลอดชีวิต? เราควรยอมรับความยุ่งเหยิงขนาดไหน? ความสมดุลของกิจกรรมใหม่ ๆ และรายการโปรดที่คุ้นเคยจะเติมเต็มได้มากที่สุด? สิ่งเหล่านี้อาจดูเหมือนเป็นปัญหาเฉพาะตัวของมนุษย์ แต่ไม่ใช่ เนื่องจากคอมพิวเตอร์เองก็เผชิญกับข้อจำกัดแบบเดียวกัน ดังนั้นนักวิทยาศาสตร์คอมพิวเตอร์จึงต่อสู้กับปัญหาดังกล่าวในเวอร์ชันของตนมานานหลายทศวรรษ และแนวทางแก้ไขที่พวกเขาพบยังสอนเราอีกมากมาย

In a dazzlingly interdisciplinary work, acclaimed author Brian Christian and cognitive scientist Tom Griffiths show how the algorithms used by computers can also untangle very human questions. They explain how to have better hunches and when to leave things to chance, how to deal with overwhelming choices and how best to connect with others. From finding a spouse to finding a parking spot, from organizing one's inbox to understanding the workings of memory, Algorithms to Live By transforms the wisdom of computer science into strategies for human living.

ในงานสหวิทยาการอันน่าทึ่ง Brian Christian นักเขียนชื่อดังและ Tom Griffiths นักวิทยาศาสตร์ด้านความรู้ความเข้าใจได้แสดงให้เห็นว่าอัลกอริทึมที่ใช้โดยคอมพิวเตอร์สามารถแก้ปัญหาของมนุษย์ได้อย่างไร พวกเขาอธิบายวิธีมีลางสังหรณ์ที่ดีขึ้น และเมื่อใดควรปล่อยให้สิ่งต่างๆ เป็นไปตามโอกาส วิธีจัดการกับตัวเลือกที่ท่วมท้น และวิธีที่ดีที่สุดในการเชื่อมต่อกับผู้อื่น ตั้งแต่การหาคู่ครองไปจนถึงการหาที่จอดรถ ตั้งแต่การจัดกล่องจดหมายไปจนถึงการทำความเข้าใจการทำงานของหน่วยความจำ Algorithms to Live By เปลี่ยนภูมิปัญญาของวิทยาการคอมพิวเตอร์ให้เป็นกลยุทธ์ในการดำรงชีวิตของมนุษย์