• 沒有找到結果。

The TS-FNN based adaptive predictor

5.2 Proposed TS-FNN based coding system

5.2.1 The TS-FNN based adaptive predictor

In this chapter, the predictor is implemented by using the TS-type fuzzy neural network (TS-FNN) proposed by Takagi and Sugeno [37]-[39]. It is noted that a highly complex nonlinear model can be easily described in the TS-FNN system with a small number of fuzzy “If-Then” rules [37]-[39]. In general, the kth rule, Rk, of the TS-FNN model can be expressed by

Rk: If z1(t) is F1k . . . and zi(t) is Fik Then

yk(t) = Akx(t) + Bku(t) f or k = 1, 2, . . . , L, (5.1) where z1(t), . . . , zi(t) are the input variables, F1k, . . . , Fik are the fuzzy quan-tifiers (fuzzy sets) associated with corresponding input variables, yk(t) Rp represents the output of the kth rule, t denotes the current discrete time index, L denotes the number of rules, Ak ∈ Rp×n, x(t) ∈ Rn, Bk Rp×m, and u(t)∈ Rm are the consequent parts of the rule.

The proposed TS-FNN based predictor is shown in Fig. 5.2. As can be seen in Fig. 5.2 , the proposed network has four layers. The nodes in Layer1 (the input layer) transmit the input signal to their output directly, i.e., it plays the role of signal buffering. In the proposed approach, there are two nodes in the input layer (i = 2). Layer2 is the “membership layer”. In this layer, the number of nodes associated with corresponding input variable is set to be three (j = 3). Layer3 is the “rule layer”. Since the interconnection topology between nodes in layer2 is fully connected, we have nine (i.e., ji) nodes (i.e., rules) in layer3. Layer4 is the “output layer”. The output layer has only one node in the proposed approach, and its output is the prediction

P

Layer1 Layer2 Layer3 Layer4

Rule Layer

Layer1 Layer2 Layer3 Layer4

Rule Layer

Rule Rk, k=1..9 zi, i=1,2 mij, j=1..3

Figure 5.2: Proposed TS-FNN predictor.

value of the coding pixel. It is noted that the pixel values are normalized by 255 before they are feed into the system, suppose the input image has 8 bits per pixel, and the output of the network is scaled by 255 and then rounded to the nearest integer as the prediction value.

For notation convenience, the net input to the jth node in layer l and the corresponding activation function are denoted by net(l)j and fj(l) respectively, and the output of jth node in layer l, is given by Oj(l) = fj(l)(net(l)j ). A brief description about the proposed TS-FNN based predictor is given below.

Fig. 5.3 defines the texture context of the coding pixel. Besides, the input vector z(t) of the proposed network is given by

x1

Figure 5.3: Texture context around the coding pixel.

where t denotes the discrete coding sequence. Obviously, z1 measures the strength of vertical deviation (i.e., horizontal edge detection), while z2 is for that of horizontal deviation (i.e., vertical edge detection). It should be noted that all the pixels used should be normalized by 255 before feed into the network in order not to fall into the saturation region during the network learning process.

Layer1: Input layer

The nodes in this layer just perform the buffering operations. That is, the input variables z1 and z2 are transmitted to layer2 directly. Therefore, the output of the ith node in layer1 is given by

Oi(1) = zi for i = 1, 2. (5.3)

Layer2: Membership layer

In this layer, the activation function of the jth node associate with the ith input, zi, in layer1 is denoted by fij(2). Each node in this layer performs the membership degree measurement of a Gaussian function, and its output, µij = O(2)ij , specifies the degree to which the given input zi satisfies the fuzzy

quantifier fij(2), that is,

µij = Oij(2)= fij(2)(zi) = exp{−(zi− mij)2

σij2 } for i = 1, 2, and j = 1, 2, 3, (5.4) where mij and σij denotes the center and the width (i.e., standard devia-tion) of the Gaussian membership function respectively, and the subscript ij indicates the jth node associated with the ith input zi in layer1.

Layer3: Rule layer

The links in this layer are used to implement the antecedent matching.

The matching operation (or the fuzzy “AND” aggregation) is chosen as the simple “product” operation instead of “min” operation. Therefore, each node in this layer multiplies incoming signals and sends the product to its output. The output of the kth node in this layer represents the firing strength of the kth rule, and is given by

αk = Ok(3) = µ1p∗ µ2q = net(3)k for k = 1, 2, . . . , 9,

p = 1, 2, 3, and 1≤ q = k − 3(p − 1) ≤ 3. (5.5)

Layer4: Output layer

This layer performs the defuzzification process to get the numerical out-put. As can be seen in Fig. 5.2, the output of each node in layer3 (i.e., the firing strength αk) is first weighted by a factor wk, and then summed up to-gether as the net input of layer4. The connection weight wk, which represents the output action for the kth rule, is given by

w = A x(t) + B u(t) for k = 1, 2, . . . , 9, (5.6)

where x(t) = [x1, x2, . . . , x6]T is composed of the six causal neighbors around the coding pixel, Ak = [a1k, a2k, . . . , a6k]T can be regarded as the sixth-order predictor coefficients associated with the kth rule, u(t) = [u1, u2]T = [x1 x3, x2 − x3]T = z(t) is used for horizontal and vertical edge detection, and the vector Bk = [b1, b2]T is the weighting coefficients associated with the kth rule for the vector u(t). As we know that a large prediction error can take place around an edge. Besides, an edge among image pixels during the coding process can be regarded as a step command in control system.

Moreover, we find both the predictive coding and a control system have the same objective to minimize the difference between the desired and the actual output, i.e., the so-called error signal. These observations lead to the motivation of enhancing the prediction result with control technologies. For this, the term Bku(t), which is called “P-controller” in control system, is applied in (5.6) for prediction error suppression. It should be noted that the proposed P-controller compensator is quite different to the so-called “error modeling” or “bias cancelation technique” in [14], [19], and both of which can be applied jointly for further refinement of prediction errors.

The output of the TS-FNN system is then a linear combination of the consequent part. That is, the final output of the predictor network is a weighted summation of the individual output of the rules in layer3 (Fig. 5.2), and is given by

y(t) = net(4) =

As can be seen in (5.7), the output of the proposed TS-FNN based pre-dictor is implemented in an un-normalized manner which has the advantages of a faster training rate and a much simpler input/output sensitivity equa-tion [41], [44], [45]. In addiequa-tion, it should be noted again that all the pixels

used are normalized by 255 before they are feed into the proposed predictor network. Therefore, the predictor output should be scaled by 255 this time and bounded in the range of [0, 255] as the prediction value.

相關文件