พื้นฐาน AI 🤖: EP 1 Agent
หัวข้อใน ep นี้ได้แก่
1. Agent และ Environment

agent คือสิ่งที่สามารถรับรู้ (percept) สภาพแวดล้อม (environment) ผ่านตัวรับรู้ (sensor) และกระทำบางอย่าง (action) ต่อสภาพแวดล้อมนั้นโดยผ่านเครื่องมือตอบสนอง (actuator)
มนุษย์เราก็ถือเป็น agent เหมือนกัน โดย
sensor: เช่น ตา, หู, จมูก, ลิ้น, ผิวหนัง
actuator: เช่น มือ, ขา, กล่องเสียง
ประเภทของ environment
สามารถใช้เกณฑ์ที่แตกต่างกันในการแบ่งได้แก่
1. Fully or partially observable
ทุกๆ time step สามารถรับข้อมูลสถานะของสภาพแวดล้อมได้ครบถ้วนหรือไม่
Fully observable: เช่น หมากรุก
Partially observable: เช่น รถขับเคลื่อนอัตโนมัติ


2. Single-agent or multi-agent
พฤติกรรมของ agent B พยายามช่วย agent A เพื่อให้เกิดประสิทธิภาพสูงสุดหรือไม่
Single-agent: เช่น หุ่นยนต์หาทางออกเขาวงกต, หุ่นยนต์เดินตามเส้น
Multi-agent: เช่น หุ่นยนต์แข่งฟุตบอล

3. Deterministic or stochastic
สถานะ (state) ต่อไปของสภาพแวดล้อมล้วนเป็นผลมาจากสถานะปัจจุบัน และการกระทำของ agent หรือไม่ (ไม่มีความน่าจะเป็นมาเกี่ยวข้องกับผลลัพธ์)
Deterministic: เช่น หมากล้อม
Stochastic: เช่น เกมเศรษฐี


4. Episodic or sequential
ผลของการตัดสินใจ ณ ปัจจุบัน ส่งผลต่อการตัดสินใจในภายหลังหรือไม่
Episodic: เช่น เครื่องปั๊มพระเครื่อง (ปั๊มแล้ว เสร็จเป็นองค์ๆไป)
Sequential: เช่น ไพ่นกกระจอก

5. Static or dynamic
สภาพแวดล้อมเปลี่ยนระหว่างที่ agent กำลังตัดสินใจหรือไม่
Static: เช่น เกมอักษรไขว้
Dynamic: เช่น ระบบป้องกันภัยทางอากาศ


6. Discrete or continuous
สถานะของสภาพแวดล้อมเปลี่ยนแบบต่อเนื่อง หรือไม่ต่อเนื่อง
Discrete: เกม UNO
Continuous: เกม ROV


7. Known or unknown
agent รู้สถานะของสภาพแวดล้อม (ข้อมูลทางฟิสิกส์) หรือไม่
Known: เช่น หุ่นยนต์สุนัขนำทาง
Unknown: เช่น แขนกลทำอาหาร (มักใช้ใน reinforcement learning)

จากประเภทของ environment สามารถนำมาคำนึงถึงการออกแบบ agent ได้ดังนี้
- Partially observable -> agent ควรมี memory module
- Multi-agent -> agent ควรมีบางพฤติกรรมที่เป็นการสุ่ม
- Stochastic -> agent ควรมีการรับมือเหตุการณ์ที่ไม่คาดคิด
- Static -> agent ควรมีเวลาเพียงพอในการตัดสินใจได้อย่างถูกต้อง
- Continuous -> agent ต้องมีการควบคุมอย่างต่อเนื่อง
- Unknown -> agent ควรเรียนรู้โดยการ search
2. แนวคิดเรื่อง Rationality
rationality คือการตัดสินใจจากตัวเลือกเพื่อให้ได้ผลประโยชน์สูงสุด โดย rationality ไม่ได้หมายความว่าต้องทำได้ perfect
agent ที่มี rationality ควรเลือกการระทำมีค่าคาดหวังสูงสุด (expectation-maximization) จากข้อมูลทั้งหมดที่ได้จากการรับรู้และความรู้เดิม (prior knowledge)
3. ธรรมชาติของ Environment
มีองค์ประกอบทั้งหมด 4 อย่าง เรียกว่า “PEAS”
- Performance measure: ใช้วัดความสำเร็จของ agent โดยเกณฑ์การวัดจะแตกต่างออกไปขึ้นกับงานที่ได้รับมอบหมาย (task)
- Environment: สิ่งที่อยู่รอบ agent ถือว่าเป็น prior knowledge
3. Actuators: สิ่งที่ agent ใช้ส่งการกระทำไปยังสภาพแวดล้อม
4. Sensors: สิ่งที่ agent ใช้รับ input
ตัวอย่าง PEAS ของแต่ละ agent
Pac-Man
Performance measure
- -1 ทุกๆ step
- +10 เมื่อกินอาหาร
- +500 ถ้าชนะ
- -500 ถ้าตาย
Environment
แผนที่เขาวงกตในเกม รวมถึงพฤติกรรมของผี
Actuators
บน, ล่าง, ซ้าย, ขวา
Sensors
สถานะของแผนที่ เช่นตำแหน่ง, อาหาร
รถบัสไร้คนขับ

Performance measure
- ความปลอดภัย
- รายได้จากผู้โดยสาร
- ความพึงพอใจของผู้โดยสาร
Environment
- ถนน
- รถคันอื่น
- ผู้โดยสาร
- สภาพอากาศ
- สัญญาณจราจร
Actuators
- เครื่องยนต์
- ผ้าเบรก
- จอแสดงผล
Sensors
- กล้อง
- LiDAR
- GPS
ระบบการวินิจฉัยทางการแพทย์

Performance measure
- อาการที่แท้จริงของผู้ป่วย
- ต้นทุน
- ความนิยม
Environment
- คนไข้
- หมอ
- ห้องวินิจฉัย
Actuators
จอแสดงผล
Sensors
เมาส์, คีย์บอร์ด
4. โครงสร้างของ Agent
“Agent = Architecture + Agent Program”
Architecture: เช่น เครื่อง PC, รถยนต์, หุ่นยนต์
Agent Program: แบ่งออกเป็น
- Simple reflex agents
- Reflex agents with state
- Goal-based agents
- Utility-based agents
- Learning agents
1. Simple reflex agents

agent มีความเรียบง่าย แต่ความสามารถก็จะจำกัดเช่นกัน โดย agent ทำงานบนเงื่อนไขการกระทำ (condition-action rule) คือ ถ้า …, ก็จะ … เช่น ถ้ารถข้างหน้าเบรก ก็จะเบรกรถ

2. Reflex agents with state

ใช้ความเข้าใจของ agent ที่มีต่อสภาพแวดล้อมปัจจุบันมาช่วยในการตัดสินใจจากข้อมูลที่ได้รับจาก sensor เช่นรถที่กำลังจะแซงจะเข้าใกล้รถของเรามากขึ้นใน time step ถัดไป

3. Goal-based agents

ใช้การ searching, planning เพื่อสร้างลำดับการกระทำ โดยพิจารณาถึงสภาพแวดล้อมในอนาคต เพื่อให้ agent บรรลุเป้าหมายที่ต้องการ เช่นโปรแกรม GPS

4. Utility-based agents

คล้ายกับ goal-based agents แต่ agent คำนึงถึงอรรถประโยชน์ (utility) ที่จะได้จากสถานะถัดไป เช่นหุ่นยนต์ทำความสะอาดได้ utility จากห้องที่สะอาด ดังนั้นการเลือกเดินจะคำนึงถึงการทำให้ห้องสะอาด

5. Learning agents

โครงสร้างภายใน learning agent คือ critic (ผู้วิจารณ์) ส่ง feedback ว่า agent ทำออกมาได้ดีหรือไม่ เมื่อเทียบกับมาตรฐาน มาให้ learning element, learning element ไปปรับปรุง performance element เพื่อให้ agent ทำออกมาได้ดีขึ้นในอนาคต, performance element เลือกการกระทำของ agent และ problem generator ทำหน้าที่แนะนำการกระทำที่จะนำไปสู่ผลลัพธ์ใหม่ โดย agent ทุกประเภทข้างต้นสามารถเป็น learning agent ได้
อ้างอิง
หนังสือ Artificial Intelligence: A Modern Approach (4th edition)
