INC 551 Artificial Intelligence Lecture 9 Introduction to Machine Learning
What is machine learning (or computer learning)? ทางวัตถุประสงค์ คือการปรับตัวของ computer จาก ข้อมูลหนึ่งๆ ที่ป้อนเข้าไป ทางปฏิบัติ คือการหา function ที่เหมาะสมเพื่อ map input และ output
Definition of Learning A computer program is said to “learn” from experience E with respect to some class of tasks T and performance P, if its performance improves with experience E Tom Mitchell, 1997
To learn = To change parameters in the world model
Deliberative Agent Environment Action Make Decision World Model Sense, Perceive How to create a world model that represents real world?
Car Model Throttle Amount (x) Speed (v)
Learning as function Mapping Find better function mapping Add +3 2 4 Performance error = 1 ปรับตัว Add +3 2 4.8 Performance error = 0.2
Learning Design Issues Components of the performance to be learned Feedback (supervised, reinforcement, unsupervised) Representation (function, tree, neural net, state-action model, genetic code)
Types of Learning Supervised Learning มีครูสอนบอกว่าอะไรดี อะไรไม่ดี เหมือนเรียนในห้อง Reinforcement Learning เรียนรู้แบบปฏิบัติไปเลย นักเรียนเลือกทำสิ่งที่อยากเรียนเอง ครูคอยบอกว่าดีหรือไม่ดี Unsupervised Learning ไม่มีครูคอยบอกอะไรเลย นักศึกษาแยกแยะสิ่งดี ไม่ดี ออกเป็น 2 พวก แต่ก็ยังไม่รู้ว่าอะไรดี ไม่ดี
Supervised Learning โดยทั่วไปจะมี data ที่เป็น Training set และ Test set Training set ใช้ในการเรียน, Test set ใช้ในการทดสอบ Data เหล่านี้จะบอกว่าอะไร เป็น Type A, B, C, … features Learner การเรียน Training set type features Learner Test set การใช้งาน type Answer
Graph Fitting Find function f that is consistent for all samples
Data Mapping x f(x) type 1 3.2 B 1.5 5.6 A 4 2.3 B 2 -3.1 B 7 4.4 A
1 2 3 ใช้ Least Mean Square Algorithm
Overfit Ockham’s razor principle “Prefer the simplest”
Least Mean Square Algorithm Let We can find the weight vector recursively using where n = current state μ = step size
MATLAB Example Match x,y pair Epoch 1
MATLAB Example Match x,y pair Epoch 2
MATLAB Example Match x,y pair Epoch 3
MATLAB Example Match x,y pair Epoch 4
MATLAB Example Match x,y pair Epoch 8
Neural Network Neuron model 1 brain = 100,000,000,000 neurons
Mathematical Model of Neuron
Activation Function Step function Sigmoid function
Network of Neurons สามารถแบ่งเป็น 2 ชนิด Single layer feed-forward network (perceptron) Multilayer feed-forward network
Single layer Network x0 W0 y x1 W1 W2 x2 สมมติว่า activation function ไม่มี ซึ่งเป็น linear equation
ในกรณีที่ activation function เป็น step จะเหมือนเป็นเส้นตรงคอยแบ่งกลุ่ม ซึ่งเส้นตรงนี้จะแบ่งที่ไหน จะขึ้นกับค่า weight wj
Perceptron Algorithm มาจาก least-square method ใช้เพื่อปรับ weight ของ neuron ให้เหมาะสม α = learning rate
Multilayer Neural Network มี hidden layers เพิ่มเข้ามา Learn ด้วย Back-Propagation Algorithm
Back-Propagation Algorithm
Learning Progress ใช้ training set ป้อนเข้าไปหลายๆครั้ง แต่ละครั้งเรียก Epoch
Types of Learning Supervised Learning มีครูสอนบอกว่าอะไรดี อะไรไม่ดี เหมือนเรียนในห้อง Reinforcement Learning เรียนรู้แบบปฏิบัติไปเลย นักเรียนเลือกทำสิ่งที่อยากเรียนเอง ครูคอยบอกว่าดีหรือไม่ดี Unsupervised Learning ไม่มีครูคอยบอกอะไรเลย นักศึกษาแยกแยะสิ่งดี ไม่ดี ออกเป็น 2 พวก แต่ก็ยังไม่รู้ว่าอะไรดี ไม่ดี
Source: Reinforcement Learning: An Introduction Richard Sutton and Andrew Barto MIT Press, 2002
Reinforcement Learning Supervised Learning Training Info = desired (target) outputs (features/class) Supervised Learning System Inputs Outputs Reinforcement Learning Evaluations (“rewards” / “penalties”) Environment RL System Inputs Outputs (“actions”)
Properties of RL Learner is not told which actions to take Trial-and-Error search Possibility of delayed reward Sacrifice short-term gains for greater long-term gains The need to explore and exploit Considers the whole problem of a goal-directed agent interacting with an uncertain environment
Model of RL Key components state, action, reward, and transition Environment action state reward Agent Key components state, action, reward, and transition
Agent: ฉันอยู่ที่ 134 เลือกทำการกระทำแบบที่ 12 Environment: เธอได้ 29 คะแนน และได้ไปอยู่ที่ 113 Agent: ฉันอยู่ที่ 113 เลือกทำการกระทำแบบที่ 8 Environment: เธอได้ 33 คะแนน และได้ไปอยู่ที่ 35 Agent: ฉันอยู่ที่ 35 เลือกทำการกระทำแบบที่ 8 Environment: เธอได้ 72 คะแนน และได้ไปอยู่ที่ 134 Agent: ฉันอยู่ที่ 134 เลือกทำการกระทำแบบที่ 4 Environment: เธอได้ 66 คะแนน และได้ไปอยู่ที่ 35 Agent: ฉันอยู่ที่ 35 เลือกทำการกระทำแบบที่ 2 Environment: เธอได้ 53 คะแนน และได้ไปอยู่ที่ 88 : State Action Reward Next state
Example: Tic-Tac-Toe ... ... ... ... } x’s move ... ... ... ... ... } o’s move Assume an imperfect opponent: —he/she sometimes makes mistakes } x’s move x o x x o
* 1. Make a table with one entry per state: 2. Now play lots of games. State V(s) – estimated probability of winning .5 ? . . . 1 win 0 loss 0 draw x o current state various possible next states * 2. Now play lots of games. To pick our moves, look ahead one step: Just pick the next state with the highest estimated prob. of winning — the largest V(s);
s s’
Table Generalizing Function State V State V s . เหมือนกับ function mapping Table Generalizing Function State V State V s . 1 2 3 N
Value Table Action State State State Value Table 1 dimension Action Value Table 2 dimension (V-table) (Q-table)
Examples of RL Implementations TD-Gammon Tesauro, 1992–1995 Action selection by 2–3 ply search Value TD error Start with a random network Play very many games against self Learn a value function from this simulated experience
Elavator Dispatching Crites and Barto, 1996 10 floors, 4 elevator cars STATES: button states; positions, directions, and motion states of cars; passengers in cars & in halls ACTIONS: stop at, or go by, next floor REWARDS: roughly, –1 per time step for each person waiting 22 Conservatively about 10 states
Issues in Reinforcement Learning Trade-off between exploration and exploitation ε – greedy softmax Algorithms to find the value function for delayed reward Dynamic Programming Monte Carlo Temporal Difference
n-Armed Bandit Problem 1 2 3 4 5 Slot Machine Slot machine มีคันโยกอยู่หลายอันซึ่งให้รางวัลไม่เท่ากัน สมมติลองเล่นไปเรื่อยๆจนถึงจุดๆหนึ่ง ได้ข้อสรุปว่า เล่นคันโยก 1 26 ครั้ง ได้ รางวัล 4 baht/ครั้ง เล่นคันโยก 2 14 ครั้ง ได้ รางวัล 3 baht/ครั้ง เล่นคันโยก 3 10 ครั้ง ได้ รางวัล 2 baht/ครั้ง เล่นคันโยก 4 16 ครั้ง ได้ รางวัล 102 baht/ครั้ง
Exploration and Exploitation จะมีปัญหา 2 อย่าง จะลองเล่นคันโยกที่ 5 ต่อไปไหม ค่าเฉลี่ยของรางวัลที่ผ่านมาเที่ยงตรงแค่ไหน เรียก Greedy Exploitation คือการใช้ในสิ่งที่เรียนมา คือเล่นอัน 4 ไปเรื่อยๆตลอด Exploration คือสำรวจต่อ โดยลองมากขึ้นในสิ่งที่ยังไม่เคยทำ Balance
ε-greedy Action Selection คือเลือกทางที่ให้ผลตอบแทนสูงสุด ε-greedy
Test: 10-armed Bandit Problem n = 10 possible actions Each is chosen randomly from a normal distribution: each is also normal: 1000 plays repeat the whole thing 2000 times and average the results
Results
SoftMax Action Selection SoftMax จะเลือก greedy action ตามปริมาณของ reward Reward มาก ก็จะเลือก greedy action ด้วย probability สูง โดยคำนวณจาก Gibb-Boltzmann distribution “computational temperature”
Algorithms to find the Value Function Incremental Implementation Markov’s decision process (MDP) Value Function Characteristics Bellman’s Equation Solution methods
Incremental Implementation Value function มาจากค่าเฉลี่ยจาก reward หลายๆครั้ง แปลว่าต้องคำนวณ Q ใหม่ทุกๆครั้งที่มี reward เข้ามา โดยเก็บค่า reward ไว้ด้วย Incremental คือจะทำการ update Q ตาม reward ที่เข้ามา This is a common form for update rules: NewEstimate = OldEstimate + StepSize[Target – OldEstimate]
Policy คือวิธีการเลือก action โดยดูจาก state ที่ agent อยู่ Goal: To maximize total reward (reward คำนวณยังไง)
Types of Tasks Episodic Tasks สามารถแบ่งเป็น ส่วนๆ เช่น เกมส์, maze T คือ terminal state Non-episodic Tasks ไม่มีจุดสิ้นสุด จะใช้ discount method
Markov Decision Process การใช้ RL จะสมมุติให้ model ของปัญหาอยู่ในรูปแบบ Markov Decision Process (MDP) ซึ่ง model นี้จะประกอบด้วยส่วนสำคัญ 4 ส่วน State, Action, Reward, Transition State = s Action = a Reward Transition
MDP สามารถเขียนให้อยู่ในรูป state transition ได้
Value Function The value of a state is the expected return starting from that state; depends on the agent’s policy: The value of taking an action in a state under policy p is the expected return starting from that state, taking that action, and thereafter following p :
Bellman Equation for a Policy p คำนวณหา Value Function จาก policy π So: Or, without the expectation operator:
Example: Grid World Action = {up, down, left, right} ถ้าอยู่ที่จุด A แล้วทำ action อะไรก็ได้จะมาอยู่ที่ A’ แล้วได้ reward = 10 ถ้าอยู่ที่จุด B แล้วทำ action อะไรก็ได้จะมาอยู่ที่ B’ แล้วได้ reward = 5 ชนกำแพง reward = -1 นอกนั้น reward = 0 สามารถหา value function ได้ตามรูป b
Optimal Value Function For finite MDPs, policies can be partially ordered: There is always at least one (and possibly many) policies that is better than or equal to all the others. This is an optimal policy. We denote them all p *. Optimal policies share the same optimal state-value function: Optimal policies also share the same optimal action-value function:
Bellman Optimality Equation for V* The value of a state under an optimal policy must equal the expected return for the best action from that state:
Bellman Optimality Equation for Q*
Why Optimal State-Value Functions are Useful? Any policy that is greedy with respect to is an optimal policy. Therefore, given , one-step-ahead search produces the long-term optimal actions. Example: Grid World
หน้าที่ของ RL ก็คือหา optimal value function