-Artificial Neural Network- Chapter 3 Perceptron

20
-Artificial Neural Net work- Chapter 3 Perceptron 朝朝朝朝朝朝 朝朝朝朝朝 朝朝朝 朝朝

description

-Artificial Neural Network- Chapter 3 Perceptron. 朝陽科技大學 資訊管理系 李麗華 教授. Introduction of Perceptron. - PowerPoint PPT Presentation

Transcript of -Artificial Neural Network- Chapter 3 Perceptron

Page 1: -Artificial Neural Network- Chapter 3 Perceptron

-Artificial Neural Network-Chapter 3 Perceptron

朝陽科技大學資訊管理系李麗華 教授

Page 2: -Artificial Neural Network- Chapter 3 Perceptron

朝陽科技大學 李麗華 教授 2

Introduction of Perceptron In 1957, Rosenblatt and several other researchers developed perceptron, which used the similar network as proposed by McCulloch, and the learning rule for training network to solve pattern recognition problem.

(*) But, this model was later criticized by Minsky who proved that it cannot solve the XOR problem.

Page 3: -Artificial Neural Network- Chapter 3 Perceptron

朝陽科技大學 李麗華 教授 3

Perceptron Network Structure

W21

W12

W11X1

X2

Y1

f1

f2

f3

W22

W13

W23

Page 4: -Artificial Neural Network- Chapter 3 Perceptron

朝陽科技大學 李麗華 教授 4

Perceptron Training Process 1. Set up the network input nodes, layer(s), & connections

2. Randomly assign weights to Wij & bias:

3. Input training sets Xi (preparing Tj for verification )

4. Training computation:

j

ji

iijj XWnet 1 net j > 0

ifYj=

0 net j 0

Page 5: -Artificial Neural Network- Chapter 3 Perceptron

朝陽科技大學 李麗華 教授 5

The training process4. Training computation:

If than: ijjij XYTW

jjj YT

0 jj YT

5. repeat 3 ~5 until every input pattern is satisfied

Update weights and bias :

jjjnew ijijij WWW

0 jj YT

Page 6: -Artificial Neural Network- Chapter 3 Perceptron

朝陽科技大學 李麗華 教授 6

The recall processAfter the network has trained as mentioned abov

e, any input vector X can be send into the perceptron network.

The trained weights, Wij, and the bias, θj , is used to derive netj and, therefore, the output Yj can be obtained for pattern recognition.

Page 7: -Artificial Neural Network- Chapter 3 Perceptron

Exercise1: Solving the OR problem• Let the training patterns are as follows.

X1

X2

f

X1 X2 T

0 0 0

0 1 1

1 0 1

1 1 1

W 11

W 21X 2

X 1

Yf

Page 8: -Artificial Neural Network- Chapter 3 Perceptron

• Let W11=1, W21=0.5, Θ=0.5Let learning rate η=0.1

• The initial net function is: net = W11•X1+ W21•X2 -Θ

i.e. net = 1•X11 + 0.5•X21 - 0.5

• Feed the input pattern into network one by one (0,0), net= -0.5, Y=0, (T-Y)= 0 O.K.(0,1), net= 0, Y= 0, (T-Y)=1- Ø=1 Need to

update weight (1,0), net= 0.5, Y=1, (T-Y)= 0 O.K.(1,1), net= 1, Y=1, (T-Y)= 0 O.K.

• update weights for pattern (0,1)

ΔW11=(0.1)(1)( 0)= 0, W11= W11+ΔW11=1

ΔW12=(0,1)(1)( 1)= 0.1, W21=0.5+0.1=0.6ΔΘ=-(0.1)(1)=-0.1 Θ=0.5-0.1=0.4

Page 9: -Artificial Neural Network- Chapter 3 Perceptron

• Applying new weights to the net function: net=1•X1+0.6•X2-0.4

• Verify the pattern (0,1) to see if it satisfies the expected output.(0,1), net= 0.2, Y= 1, (T-Y)=Ø O.K.

• Feed the next input pattern, again, one by one(1,0), net= 0.6, Y=1, (T-Y)= Ø O.K.(1,1), net= 1.2, Y=1, (T-Y)= Ø O.K.

• Since the first pattern(0,0) has not been testified with the new weights, feed again.(0,0), net=-0.4, Y=Ø, δ= Ø O.K.

• Now all the patterns are satisfied. Hence, the network is successfully trained for OR patterns. We get the final network is : net=1•X1+0.6•X2-0.4

(This is not the only solution, other solutions are possible.)

Page 10: -Artificial Neural Network- Chapter 3 Perceptron

• The trained network is formed as follow:

Θ=0.4

X 2

X 1 1

0.6

• Recall process:

Once the network is trained, we can apply any two element vectors as a pattern and feed the pattern into the network for recognition. For example, we can feed (1,0) into to the network

(1,0), net= 0.6, Y=1

Therefore, this pattern is recognized as 1.

f

Page 11: -Artificial Neural Network- Chapter 3 Perceptron

朝陽科技大學 李麗華 教授 11

Exercise2: Solving the AND problem• Let the training patterns are used as follow

X1 X2 T

0 0 0

0 1 0

1 0 0

1 1 1

f1

X2

X1

Page 12: -Artificial Neural Network- Chapter 3 Perceptron

Sol:

Let W11=0.5, W21=0.5, Θ=1, Let η=0.1

• The initial net function is:net  =0.5X11+0.5X21 – 1

• Feed the input pattern into network one by one(0,0), net=-1, Y=Ø, (T-Y)= Ø, O.K.(0,1), net=-0.5, Y= Ø, (T-Y)= Ø, O.K.(1,0), net=- 0.5, Y= Ø, (T-Y)= Ø, O.K.(1,1), net= Ø, Y= Ø, (T-Y)= 1, Need to update weight

• update weights for pattern (1,1) which does not satisfying the expected output:ΔW11=(0,1)(1)( 1)= 0.1, W11=0.6

ΔW21=(0,1)(1)( 1)= 0.1, W21=0.5+0.1=0.6, ΔΘ=-(0.1)(1)=-0.1, Θ=1-0.1=0.9

Page 13: -Artificial Neural Network- Chapter 3 Perceptron

• Applying new weights to the net function:

net=0.6X1 + 0.6X2 - 0.9

• Verify the pattern (1,1) to see if it satisfies the expected output.(1,1), net= 0.3, Y= 1, δ= Ø O.K.

• Since the previous patterns are not testified with the new weights, feed them again.(0,0), net=-0.9 Y=Ø, δ= Ø O.K.(0,1), net=-0.3 Y= Ø, δ=Ø O.K.(1,0), net=- 0.3, Y= Ø, δ= Ø O.K.

• We can generate the pattern recognition function for OR pattern is: net= 0.6X1 + 0.6X2 - 0.9

Θ=0.9X 2

X 1 0.6

0.6

Page 14: -Artificial Neural Network- Chapter 3 Perceptron

朝陽科技大學 李麗華 教授 14

Example: Solving the XOR problem• Let the training patterns are used as follow.

X1 X2 T

0 0 0

0 1 1

1 0 1

1 1 0

P2P4

P3f2

P1

X2

X1

f1

f3

f1

P2, P3 P4

f2

P1

Page 15: -Artificial Neural Network- Chapter 3 Perceptron

• Let W11=1.0, W21= -1.0, Θ=0

If we choose one layer network, it will be proved that the network cannot be converged. This is because the XOR problem is a non-linear problem, i.e., one single linear function is not enough to recognize the pattern. Therefore, the solution is to add one hidden layer for extra functions.

Θ3

f3

f1

f2

W 21

W 12

X2

X1

W 11

W 22

Θ1

Θ2

Page 16: -Artificial Neural Network- Chapter 3 Perceptron

• The following pattern is formed.

• So we solve f1 as AND problem and f2 as OR problem

• Assume we found the weights are:

W11=0.3, W21=0.3, W12= 1, W22= 1 θ1=0.5 θ2=0.2

• Therefore the network function for f1 & f2 is:

f1 = 0.3X11+ 0.3X21 - 0.5

f2 = 1•X12+ 1•X22 - 0.2

X1 X2 f1 f2 T3

0 0 0 0 0

0 1 0 1 1

1 0 0 1 1

1 1 1 1 0

Page 17: -Artificial Neural Network- Chapter 3 Perceptron

• Now we need to feed the input one by one for training the network for f1 and f2 seprearately. This is to satisfiying the expected output for f1 using T1 and for f2 using T2.

• Finally, we use the output of f1 and f2 as input pattern to train the network for f3. ,We can derive the result as following.

f3=1•X13 - 0.5X23 + 0.1

Θ=0.2

Θ=0.5

f1

-0.5

1

Y

f2

0.3

1

X 2

X 10.3

1 Θ= -0.1

Page 18: -Artificial Neural Network- Chapter 3 Perceptron

Perceptron Learning of the Logical AND Function

Page 19: -Artificial Neural Network- Chapter 3 Perceptron

Perceptron Learning of the Logical OR Function

Page 20: -Artificial Neural Network- Chapter 3 Perceptron

Perceptron Attempt at Learning the Logical XOR Function

The one-layer network cannot solve the XOR problem…..the network goes to the infinite loop