AI, กราฟ และเครือข่ายประสาทเทียม
| English | ไทย |
|---|---|
| machine learning/məˈʃiːn ˈlɜːnɪŋ/ | การเรียนรู้ของเครื่อง |
| deep learning/diːp ˈlɜːnɪŋ/ | การเรียนรู้ลึก |
| graph/ɡræf/ | กราฟ |
| neural networks/ˈnjuːrəl ˈnetwɜːks/ | เครือข่ายประสาทเทียม |
| nodes/nəʊdz/ | โหนด |
| edges/ˈedʒɪz/ | edges |
| minimax/ˈmɪnɪmæks/ | minimax algorithm |
| weight/weɪt/ | น้ำหนัก |
| activation function/ˌæktɪˈveɪʃn ˈfʌŋkʃn/ | ฟังก์ชันกระตุ้น |
| hidden layers/ˈhɪdn ˈleɪəz/ | ชั้นซ่อนเร้น |
โปรแกรมที่เรียนรู้ที่จะมองเห็นโดยไม่被告知ว่าต้องมองหาอะไร
- ในปี 2012 ทีมหนึ่งเข้าร่วมการแข่งขันการจดจำภาพด้วยโปรแกรมที่ไม่เคยได้รับกฎใด ๆ ว่าแมวหน้าตาเป็นอย่างไร มันถูกแสดงภาพถ่ายที่มีฉลากหนึ่งล้านภาพ และมันหากฎขึ้นมาเอง
- มันลดอัตราความผิดพลาดของทุกการเข้าแข่งขันที่เขียนกฎเองลงครึ่งหนึ่ง ภายในสามปี entire field ได้ละทิ้งการเขียนกฎ
- การเปลี่ยนแปลงนี้คือหัวข้อของการเรียนรู้นี้: ไม่ใช่ "เราจะบอกคอมพิวเตอร์ว่าแมวคืออะไรได้อย่างไร" แต่ "คอมพิวเตอร์ทำงานนั้นจากตัวอย่างได้อย่างไร"
- บทเรียนนี้คือความหมายของ machine learning และ deep learning วิธีที่ graph เปลี่ยนปัญหา AI เป็น search และ artificial neural network คำนวณอะไรจริง ๆ
AI, machine learning และ deep learning
- Artificial intelligence คือเป้าหมายกว้าง: ระบบที่ทำหน้าที่ที่ปกติต้องใช้ปัญญามนุษย์ เช่น การมองเห็น เสียง การแปล และการขับรถ
- Machine learning คือแนวทางที่ครอบงำ: algorithms ที่ เรียนรู้ pattern จากข้อมูล แทนที่จะถูกเขียนโปรแกรมทีละขั้น
- Deep learning คือ machine learning ที่ใช้ neural networks ที่มีหลายชั้น มันนำ field มาตั้งแต่ทศวรรษ 2010 เพราะมันเรียนรู้ตรงจาก raw data, pixels หรือเสียงหรือข้อความ โดยไม่มี features ที่ออกแบบเอง
- มีการซ้อนทับกัน: Deep learning เป็นส่วนหนึ่งของ Machine learning ซึ่งเป็นส่วนหนึ่งของ AI

วงกลมสามวง ไม่ใช่สามคู่แข่ง
การเรียนรู้ของเครื่องหมายถึงอัลกอริทึมที่:
ML เรียนรู้จากข้อมูล; Deep Learning คือ ML ที่ใช้เครือข่ายประสาทเทียมหลายชั้น
AI, Machine Learning และ Deep Learning มีความสัมพันธ์กันอย่างไร?
AI คือเป้าหมาย, Machine Learning เป็นแนวทางหลักในการบรรลุเป้าหมายนี้, และ Deep Learning คือ Machine Learning ที่มีเครือข่ายหลายชั้น
Graphs, และทำไม AI如此之多ถึงเป็น search
- Graph คือชุดของ nodes ที่เชื่อมต่อกันด้วย edges Nodes คือสถานะ สถานที่ หรือแนวคิด; Edges คือการเคลื่อนไหว ทาง หรือความสัมพันธ์
- Pathfinding: เครือข่ายถนนเป็น graph และการหาเส้นทางคือการค้นหาใน graph โดยใช้ Dijkstra's algorithm หรือ A*
- Game playing: ทุกตำแหน่งบนกระดานเป็น node และทุกการเคลื่อนที่ที่เป็นไปได้เป็น edge ดังนั้นเกมเป็น tree ที่ minimax ค้นหา โดยสันนิษฐานว่าแต่ละผู้เล่นเลือกทางเลือกที่ดีที่สุด
- Knowledge representation: Semantic networkเก็บ concepts เป็น nodes และ relationships เป็น edges Breadth-first และ depth-first search เป็นเครื่องมือมาตรฐานสำหรับการสำรวจสิ่งเหล่านี้
ใน AI, กราฟประกอบด้วย:
กราฟจำลองสถานะ/สถานที่เป็นโหนด และการเคลื่อนไหว/ความสัมพันธ์เป็นเส้นเชื่อม — ใช้สำหรับการหาเส้นทาง, ต้นไม้เกม และความรู้
ตัวอย่างที่คำนวณแล้ว: สร้างโมเดลปัญหาเป็น graph
- บริษัทจัดส่งต้องการเส้นทางสั้นที่สุดระหว่างเมืองสองเมือง อธิบายว่าสิ่งนี้ถูกแทนที่ด้วย graph อย่างไร
- แต่ละ เมืองเป็น node; แต่ละ ถนนเป็น edge ที่เชื่อมต่อสอง nodes; Edge มี weight, ระยะทางหรือเวลาเดินทาง
- ปัญหาคือ "หาเส้นทางระหว่างโหนดสองจุดที่มีน้ำหนักรวมต่ำที่สุด" ซึ่งอัลกอริทึมของ Dijkstra แก้ไขได้
- บอกว่า nodes คืออะไร edges คืออะไร และ weights หมายความว่าอะไร คำตอบที่บอกแค่ว่า "มันเป็น graph" จะไม่ได้รับคะแนนเลย
เครือข่ายถนนถูกจำลองเป็นกราฟเพื่อหาค่าสั้นที่สุด ข้อความใดถูกต้อง? เลือก ทั้งหมด ที่ใช้
สถานที่เป็นโหนดและการเชื่อมต่อเป็นเส้นเชื่อม การระบุสิ่งที่น้ำหนักแทนคือจุดคะแนนที่สาม
Artificial neuron
- Artificial neuron รับ input หลายอย่าง มันคูณแต่ละ input ด้วย weight, บวกผลรวมเข้ากับ bias แล้วส่งค่ารวมผ่าน activation function แบบไม่เชิงเส้นเพื่อผลิต output
- น้ำหนักคือสิ่งที่เครือข่าย เรียนรู้ ส่วนฟังก์ชันการกระตุ้น (activation function) คือสิ่งที่ทำให้เครือข่ายสามารถแสดงรูปแบบที่ไม่ใช่เส้นตรงได้: หากไม่มีมัน จำนวนชั้นเท่าไหร่ก็จะถูกยุบรวมเป็นสมการเชิงเส้นเพียงรูปเดียว

คูณ, บวก, แล้วโค้ง
เรียงลำดับขั้นตอนภายในนิวรอนสังเคราะห์หนึ่งตัว
คูณ, รวม, กระตุ้น, ส่งต่อ หากไม่มีฟังก์ชันกระตุ้นที่ไม่เป็นเชิงเส้น ความลึกของเครือข่ายใดๆ จะยุบตัวลงเป็นสูตรเชิงเส้นเดียว
Layers, และคำว่า "deep" หมายความว่าอะไร
- Neurons จัดเรียงเป็น layers Input layer รับข้อมูล One or more hidden layers เรียนรู้ patterns ภายใน Output layer ผลิตคำตอบ เป็น class หรือตัวเลข
- เครือข่ายเรียกว่า deep เมื่อมี hidden layers จำนวนมาก และการฝึกฝนเครือข่ายประเภทนี้เรียกว่า deep learning
- ทำไมชั้นซ่อนจึงสำคัญ: ในเครือข่ายภาพ ชั้นแรกๆ จะเรียนรู้ขอบ ชั้นกลางจะเรียนรู้รูปร่าง และชั้นหลังจะเรียนรู้วัตถุ ไม่มีใครออกแบบลำดับชั้นนี้ไว้เลย มันคือผลลัพธ์จากการฝึกสอน

อินพุต, ซ่อน, เอาต์พุต และการเรียนรู้จะอยู่ในน้ำหนักระหว่างกัน
แตะส่วนประกอบต่างๆ ของเครือข่ายประสาทเทียม
สำรวจชั้นต่างๆ: ข้อมูลไหลจากซ้ายไปขวา ชั้นอินพุตรับคุณลักษณะ, ชั้นซ่อนเรียนรู้รูปแบบ, และชั้นเอาต์พุตให้คำตอบ — โดยทุกการเชื่อมต่อมีน้ำหนักที่การฝึกปรับแต่ง
จับคู่ส่วนประกอบต่างๆ ของเครือข่ายประสาทเทียมกับบทบาทของมัน
คุณลักษณะเข้าสู่ชั้นอินพุต, ชั้นซ่อนเรียนรู้รูปแบบ, ชั้นเอาต์พุตให้คำตอบ; การเรียนรู้ = การปรับน้ำหนัก
เครือข่ายประสาทเทียมเรียกว่า "ลึก" เมื่อ它有many hidden layers (it has many hidden layers) และแต่ละนิวรอนรับผลรวมถ่วงน้ำหนักของอินพุต (บวกกับค่าเบี่ยงเบน) ก่อนใช้ฟังก์ชันกระตุ้น
การซ้อนชั้นซ่อนหลายชั้นช่วยให้เครือข่ายเรียนรู้รูปแบบที่ซับซ้อนขึ้น — การฝึกเครือข่ายเช่นนี้คือ Deep Learning
เครือข่ายประสาทเทียมเรียกว่า "ลึก" เมื่อ它有:
ชั้นซ่อนหลายชั้นทำให้เป็นเครือข่ายประสาทเทียมแบบลึก; การฝึกมันคือ Deep Learning
ระหว่างการฝึก ค่าที่ถูกปรับภายในเครือข่ายประสาทเทียมคือ ____
สถาปัตยกรรมและฟังก์ชันกระตุ้นเลือกโดยผู้ออกแบบ; สิ่งที่เครือข่ายเรียนรู้จะถูกเก็บไว้ในน้ำหนัก
ตัวอย่างการคำนวณ: อธิบายวิธีที่ประสาทเทียมคำนวณ
- อธิบายสิ่งที่เกิดขึ้นภายในประสาทเทียมทางประดิษฐ์หนึ่งตัว [3]
- แต่ละอินพุตจะถูกคูณด้วย น้ำหนัก ของมันเอง แล้วนำผลคูณมารวมกันพร้อมทั้ง เบياس
- ผลรวมที่ได้จะถูกส่งผ่าน ฟังก์ชันกระตุ้น (activation function) ซึ่งเป็นแบบไม่เชิงเส้น
- ผลลัพธ์คือเอาต์พุตของประสาทเทียม ซึ่งกลายเป็นอินพุตสำหรับประสาทเทียมในเลเยอร์ถัดไป น้ำหนักและเบياسคือค่าที่ถูกปรับระหว่างการฝึกสอน
คะแนนที่หลุดหายไป
- การเรียนรู้ของเครื่องเรียนรู้ รูปแบบจากข้อมูล; มันไม่ได้ "ถูกเขียนโปรแกรมทีละขั้นตอน" และไม่ใช่เวทมนตร์ บอกสิ่งที่คุณเรียนรู้จาก
- คำว่า "ลึก" (Deep) หมายถึง มีหลายชั้นซ่อน ไม่ใช่ "ฉลาดมาก" หรือ "ใหญ่โตมาก"
- กราฟคือ โหนดและเส้นเชื่อม, และคำตอบเกี่ยวกับกราฟต้องบอกความหมายของแต่ละส่วนใน ปัญหา นี้
- น้ำหนัก คือสิ่งที่การฝึกสอนเปลี่ยนแปลง ฟังก์ชันกระตุ้นและสถาปัตยกรรมถูกเลือกโดยนักออกแบบ
คุณเข้าใจแล้ว
- AI คือเป้าหมาย, การเรียนรู้ของเครื่อง เรียนรู้รูปแบบจากข้อมูลแทนที่จะทำตามกฎที่เขียนไว้, และ การเรียนรู้เชิงลึก คือการเรียนรู้ของเครื่องที่มี เครือข่ายประสาทเทียม หลายชั้น
- กราฟ ของ โหนด และ เส้นเชื่อม เปลี่ยนการค้นหาเส้นทาง การเล่นเกม และการแสดงความรู้ให้เป็นการค้นหา โดยใช้ Dijkstra, A*, minimax, breadth-first และ depth-first
- ประสาทเทียมทางประดิษฐ์ คูณอินพุตด้วย น้ำหนัก, เพิ่มเบياس และใช้ ฟังก์ชันกระตุ้น แบบไม่เชิงเส้น
- เลเยอร์ทำงานตามลำดับ อินพุต, ซ่อน, เอาต์พุต; ลึก หมายถึงหลายเลเยอร์ซ่อน, และการเรียนรู้ resides ในน้ำหนัก