TRAINING OF ASSOCIATIVE NETWORKS

Abstract: An artificial vision system traning method starts by forming (S2) a feature matrix including feature sample vectors and a corresponding response sample vector including response sample scalars. The method then uses an iterative procedure to determine a linkage vector linking the response sample vector to the feature matrix. This iterative procedure includes the steps: determining (S4) a response sample vector error estimate in the response sample vector domain; transforming (S6) the response sample vector error estimate into a corresponding linkage vector error estimate in the linkage vector domain; determining (S7) a linkage vector estimate in the linkage vector domain by using the linkage vector error estimate; transforming (S8) the linkage vector estimate into a corresponding response sample vector estimate in the response sample vector domain. These steps are repeated until (S5) the response sample vector error estimate is sufficiently small.

Description: TRAINING OF ASSOCIATIVE NETWORKS TECHNICAL FIELD The present invention relates to training of associative networks, and particularly to training of artificial vision systems or percept-response systems. BACKGROUND Reference [1] describes a percept-response system based on channel representation of information. A link matrix C links a feature vector a, which has been formed from a measured percept (column) vector x, to a response (column) vector u using the matrix equation: u = C a (1) A fundamental consideration in these systems is system training, i.e. how to determine the linkage matrix C. In [1] this is accomplished by collecting different training sample pairs of feature vectors a 1 and response vectors u 1 . Since each pair should be linked by the same linkage matrix C, the following set of equations is obtained: where N denotes the number of training samples or the length of the training sequence and A is denoted a feature matrix. These equations may be solved by conventional approximate methods (typically methods that minimize mean squared errors) to determine the linkage matrix C (see [2]). However, a drawback of these approximate methods is that they restrict the complexities of associative networks to an order of thousands of features and thousands of samples, which is not enough for many systems. SUMMARY An object of the present invention is a more efficient training procedure that allows much larger associative networks. This object is achieved in accordance with the attached claims. BRIEF DESCRIPTION OF THE DRAWINGS The invention, together with further objects and advantages thereof, may best be understood by making reference to the following description taken together with the accompanying drawings, in which: Fig. 1 is a flow chart illustrating an exemplary embodiment of the training method in accordance with the present invention; and Fig. 2 is a diagram illustrating the structure of a training system in accordance with the present invention. DETAILED DESCRIPTION Studying the structure of equation (2) reveals that each row of U actually requires knowledge of only the corresponding row of C. For example, row k of U, which is denoted Uk, requires knowledge of only row k of C, which is denoted Ck. This can be seen from the explicit equation: ι = (3) Thus, equation (1) may be solved by independently determining each row of linkage matrix C. Furthermore, it has been shown in [1] that it is possible to represent a response state either in scalar representation or channel (vector) representation, and that it is possible to transform a scalar quantity into a vector quantity, or vice versa. Thus, it is possible to transform each column vector of response matrix U into a scalar, thereby obtaining a response sample (row) vector u containing these scalars as components. This response sample vector u will be linked to feature matrix A in accordance with: Thus, since equations (3) and (4) have the same structure, it is appreciated that the fundamental problem is to solve an equation having the form: u = c A (5) where u and A are known, while c is to be determined. A problem with equation (5) is that response sample vector u and linkage vector c typically lie in different vector spaces or domains, since feature matrix A typically is rectangular and not square (H is generally not equal to N in equation (4)). Thus, feature matrix A has no natural inverse. In accordance with the present invention an iterative method is used to determine c from A and u. Since u is known, a current estimate ύ(ι) of response sample vector u s formed in the response domain, and the error Δu=fi(ϊ)-u i s transformed into a corresponding linkage vector error Δ c in the linkage vector domain using the transpose of feature matrix A. This linkage vector error is 5 subtracted from a current linkage vector estimate c(ή to form an updated linkage vector estimate c(i+l). This updated estimate is transformed back to the response sample vector domain using feature matrix A, thereby forming an updated response sample vector estimate ύ(x+l). Thus, the iterative steps of this process may be written as: Δc δ(ϊ + l) = c( - (ύ( -« A r v Δu LO (6) This procedure is illustrated in the flow chart of fig. 1. The procedure starts in step SI . Step S2 collects feature and response samples. Step S3 determines an initial response sample vector estimate, typically the zero vector. L5 Step S4 determines the error in the response sample vector domain. Step S5 tests whether this error is sufficiently small. If not, the procedure proceeds to step S6, in which the error is transformed to the linkage vector domain. Step S7 determines a linkage vector estimate using the transformed error. Step S8 transforms this estimate back to the response sample vector do- ?0 main. Thereafter the procedure loops back to step S4. If the error is sufficiently small in step S5, the procedure ends in step S9. Fig. 2 illustrates an exemplary structure of a training system suitable to perform the described method. An response domain error is formed in an 2.5 adder 10 by subtracting the actual response sample vector u from its corresponding estimate ύ. The response domain error is forwarded to a transformation or sampling block 12 (the transformation of the error by A τ may be viewed as a form of sampling). This block may also perform a normalization, a process that will be further described below. The resulting linkage vector domain error is subtracted from a current linkage vector estimate in an adder 14. This current linkage vector estimate is stored and has been delayed in a delay and storage block 16. The updated linkage vector estimate is forwarded to a transformation or reconstruction block 18, which produces an updated response sample vector estimate. This block may also perform a normalization, a process that will be further described below. The updated linkage vector estimate is also forwarded to delay and storage block 16. Both transformation blocks 12, 18 base their transformations on feature matrix A. Typically the blocks of fig. 2 are implemented by one or several micro processors or micro/ signal processor combinations and corresponding software. They may, however, also be implemented by one or several ASICs (application specific integrated circuits). An alternative to (6) is to change the order in the iteration in accordance with: ύ(z + l) = c( - A (7) C(Ϊ + 1) = c(i) - (μ(i + 1) - u> A τ In a preferred embodiment of the present invention feature matrix A, its transpose or both are normalized. For example, in a mixed normalization embodiment the matrix A τ in the linkage vector equation is feature normalized by the diagonal normalization matrix N F defined as: and the matrix A in the response vector equation is feature normalized by the diagonal normalization matrix N s defined as: Thus, in this mixed embodiment the feature normalization factors are obtained as the inverted values of the row sums of feature matrix A, while the sample normalization factors are obtained as the inverted values of the column sums of A. With this normalization (6) and (7) may be rewritten as: C(Ϊ + 1) = c(i) - (ύ( - u> N F ■ A' (10) ύ(t + l) = c(t + l) - N 5 - A and ύ(z + l) = c( - N ά - A (11) c(z + 1) = c(ϊ) - (ύ(z + 1) - u)- N • A 1 respectively. As a further illustration Appendix A includes an explicit MATLAB® code implementation of (10). Another possibility involves only feature normalizing A τ and retaining A without normalization in (6) and (7). In this case a suitable normalization matrix N F is given by: With this normalization (6) and (7) may be rewritten as: c(z + 1) = c( - (ύ(ϊ) - u> N F ■ A τ (13) U(Ϊ + 1) = C(Ϊ + 1) - A and (i + 1) = c(z) • A (14) c(z + 1) = c(z) - (ύ(z + 1) - u)- N^ • A τ respectively. As a further illustration Appendix B includes an explicit MATLAB® code implementation of (13). Still another possibility involves only sample normalizing A and retaining A τ without normalization in (6) and (7). In this case a suitable normalization matrix N s is given by: With this normalization (6) and (7) may be rewritten as: c(z + l) = c(z) - (ύ(z) - ιι> A r (16) ύ(z + l) = c(z + l) - N 5 - A and ύ(z + l) = c(z) - N 5 - A (17) c(z + 1) = c(z) - (ύ(z + 1) - u> A respectively. As a further illustration Appendix C includes an explicit MATLAB® implementation of (16). In the description above the normalization has been expressed in matrix form. However, since these matrices are diagonal matrices, it is possible to write the iteration equations in an equivalent mathematical form that expresses the normalizations as vectors. For example, (10) may be rewritten as: c(z + 1) = c(z) - I F <S> ((ϋ(z) - u A τ ) ύ(z + l) = N 5 ® (c(z -l- l) - A) where N F and N s now are row vectors defined by the diagonal elements of the corresponding matrices. An essential feature of the present invention is the fact that feature matrix A only contains non-negative elements. It is possible to show that the gradient of the error function Δ Wn i s directly related to the elements of feature matrix A. A straightforward derivation gives: dΔu„ „ - = (19) dc h Thus, it is appreciated that the gradient will also only contain non-negative values. This implies that it is not necessary to test the sign of the gradient. An increase of the value of a linkage vector component ch will move the error in a positive direction or not affect it at all. This feature is the basis for the fast iterative procedure in accordance with the present invention. A closer examination of the underlying problem reveals that the nonzero elements of A do not necessarily have to be positive. What is required is that they have a consistent sign (they are either all positive or all negative). Similar comments apply to u and c. In the description above the entire feature matrix A is involved in the iteration. In an approximate embodiment, feature matrix A may be replaced by an approximation in which only the maximum value in each row is retained. This approximation may be used either throughout all equations, in one of the equations or only in selected occurrences of feature matrix A in the equations. An example of an approximate mixed normalization embodi- ment corresponding to equation (6) is given by the MATLAB® implementation in Appendix D. In this example the approximation is used in the first row of equation (6). The advantage of such an approximate method is that it is very fast, since only the maximum element in each row is retained, while the rest of the elements are approximated by zeros. After normalization, the resulting normalized matrix will only contain ones and zeros. This means that a computationally complex matrix multiplication can be replaced by a simple reshuffling of error components in error vector Δu. In a similar approximation it is also possible to approximate feature matrix A with a matrix in which only the maximum value of each column (sample vector) is retained. In a mixed normalization it is also possible to use both approximations, i.e. to use approximate both feature and sample normalization. There are several possible choices of stopping criteria for the iterative training process described above. One possibility is to use the average of the absolute value of the components of Δ u , i.e.: The iteration is repeated as long as a threshold epsilon is exceeded. An alternative is to use the maximum error component of Δu, i.e.: maxψ n - u n \) (21) n If large errors are considered more detrimental than smaller errors, the squared error can be used, i.e.: N u n — u. n (22) n=\ The above described stopping criteria are based on an absolute scalar error estimate. However, relative estimates are also possible. As an example, the estimate: has been used in the code in the appendices. As an alternative, the iterations may be stopped after a predetermined number of iterations. A combination is also possible, i.e. if the error is not sufficiently small after a predetermined number of iterations the procedure is stopped. This may happen, for example, when some error components of the error vector remain large even after many iterations. In such a case the components of linkage vector c that have converged may still be of interest. In many cases some elements of linkage vector estimate c approach the value zero during the iterative process. The result of this is that the corresponding rows of feature matrix A will be ignored and will not be linked to the response vector. In accordance with a procedure denoted "compaction", this feature may be used to remove the zero element in the linkage vector estimate (storing its position) and its corresponding row in the feature matrix. A new normalization may then be performed on the compacted feature matrix, whereupon the iterative procedure is re-entered. This compaction may be performed each time a linkage vector element approaches zero, preferably when it falls below a predetermined limit near zero. Since the position of the removed values is stored, the complete linkage vector can be restored when the non-zero elements have converged. As has been noted above, equation (1) may be solved by independently determining each row of linkage matrix C. However, the described iterative procedure may be used also for the full matrices. As an example, (6) may be rewritten as: ΔC C(z + 1) = C(z) - (ϋ(z) - ϋ)- A τ ΔU (24) U(z + l) = C(z + l) - A for the matrix case. Since feature matrix A generally is a sparse matrix (most of the matrix elements are 0), it is preferable to implement the above described procedures in a computational system that supports sparse matrix operations. An example of such a system is MATLAB® by MathWorks Inc. This will reduce the storage requirements, since only non-zero elements are explicitly stored, and will also speed up computation, since multiplications and additions are only performed for non-zero elements. In the description above the invention has been described with reference to an artificial vision system. However, the same principles may be applied to any percept-response system or associative network in which a feature vector including only non-negative elements is mapped onto a response vector (possibly including only 1 element) including only non-negative elements. Examples are sound processing systems and control systems based on changes in sensor variables, such as temperature, pressure, position, velocity, etc. It will be understood by those skilled in the art that various modifications and changes may be made to the present invention without departure from the scope thereof, which is defined by the appended claims. APPENDIX A In MATLAB® notation the mixed normalization procedure may be written as: Ns=sum (A) ; %Sample norms of A Asn= (diag ( 1 . /Ns ) *A " ) %Sample normalize A Nf=sum (A ' ) ; %Feature norms of A Afn=diag (1 . /Nf ) *A; %Feature normalize A epsilon=0 . 05 ; %Desired relative accuracy L0 c_hat=0 ; %Initial estimate of c=zero vector u hat=0 ; %Initial estimate of u=zero vector while norm(u_hat-u) /norm(u) >epsilon c_hat=c_hat- (u_hat-u) *Afn' ; %Update estimate of c L5 u_hat=c_hat*Asn; %Update estimate of u end; Here "." denotes elementwise operations and " "' denotes transpose. 20 APPENDIX B In MATLAB® notation the feature domain normalization procedure may be written as: 15 Nf=sum (A) *A ' ; %Feature norms of A Afn=diag ( l . /Nf ) *A; %Feature normalize A epsilon=0 . 05 ; %Desired relative accuracy c_hat=0 ; %Initial estimate of c=zero vector 30 u hat=0 ; %Initial estimate of u=zero vector while norm(u_hat-u) /norm(u) >epsilon c_hat=c_hat- (u_hat-u) *Afn' ; %Update estimate of c u_hat=c_hat*A; %Update estimate of u 35 end; APPENDIX C In MATLAB® notation the sample domain normalization procedure may be written as: Ns=sum(A' ) *A; %Sample norms of A Asn=(diag(l./Ns)*A') ' ; %Sample normalize A epsilon=0.05 ; %Desired relative accuracy c_hat=0 ; %Initial estimate of c=zero vector u hat=0; %Initial estimate of u=zero vector while norm(u_hat-u) /norm(u) >epsilon c_hat=c_hat- (u_hat-u) *A' ; %Update estimate of c u_hat=c_hat*Asn; %Update estimate of u end; APPENDIX D In MATLAB® notation the mixed approximate normalization procedure may be written as: [ra ca] =size (A) ; %Determine number of row and columns [av ap] =max (A ' ) ; %Find maxima of feature functions Ns=av*A; %Sample domain norms Asn= (diag (l . /Ns ) *A ' ) ' ; %Sample normalize A epsilon=0 . 05 ; %Desired relative accuracy c_hat=0 ; %Initial estimate of c=zero vector u hat=0 ; %Initial estimate of u=zero vector while norm(u_hat-u) /norm(u) >epsilon delta_u=u_ha -u; c_hat=c_hat-delta_u(ap) ; %Update estimate of c u_hat=c_hat*Asn; %Update estimate of u end; REFERENCES [1] WO 00/58914 [2] Using MATLAB, MathWorks Inc, 1996, pp.4-2 - 4-3, 4-13-4-14

Claims: CLAIMS 1. An artificial vision system training method, including the steps: forming a feature matrix including feature sample vectors and a corre- sponding response sample vector including response sample scalars; determining a linkage vector linking said feature matrix to said response sample vector, characterized by an iterative linkage vector determining method including the steps: determining a response sample vector error estimate in the response sample vector domain; transforming said response sample vector error estimate into a corresponding linkage vector error estimate in the linkage vector domain; determining a linkage vector estimate in the linkage vector domain by using said linkage vector error estimate; transforming said linkage vector estimate into a corresponding response sample vector estimate in the response sample vector domain; repeating the previous steps until the response sample vector error estimate is sufficiently small. 2. The method of claim 1, characterized by an iteration step including: determining a response sample vector error estimate representing the difference between a current response sample vector estimate and said response sample vector; using the transpose of said feature matrix for transforming said re- sponse sample vector error estimate into said linkage vector error estimate; forming an updated linkage vector estimate by subtracting said linkage vector error estimate from a current linkage vector estimate; using said feature matrix for transforming said updated linkage vector estimate into an updated response sample vector estimate. 3. The method of claim 1, characterized by an iteration step including: using said feature matrix for transforming a current linkage vector estimate into an updated response sample vector estimate; determining a response sample vector error estimate representing the difference between said updated response sample vector estimate and said response sample vector; using the transpose of said feature matrix for transforming said response sample vector error estimate into a linkage vector error estimate; forming an updated linkage vector estimate by subtracting said linkage vector error estimate from said current linkage vector estimate. 4. The method of claim 2 or 3, characterized by feature normalizing said linkage vector error estimate. 5. The method of claim 4, characterized by a feature normalization represented by the diagonal elements of the matrix: where a denote the elements of said feature matrix, N represents the number of feature sample vectors, and H represents the number of components in each feature sample vector. 6. The method of claim 2 or 3, characterized by sample normalizing said updated response sample vector estimate. 7. The method of claim 6, characterized by a sample normalization represented by the diagonal elements of the matrix: where a denote the elements of said feature matrix, JV represents the number of feature sample vectors, and H represents the number of components in each feature sample vector. 8. The method of claim 2 or 3, characterized by feature normalizing said linkage vector error estimate; and sample normalizing said updated response sample vector estimate. 9. The method of claim 8, characterized by a feature normalization represented by the diagonal elements of the matrix: and a sample normalization represented by the diagonal elements of the matrix: where al denote the elements of said feature matrix, N represents the number of feature sample vectors, and H represents the number of components in each feature sample vector. 10. The method of any of the preceding claims 2-9, characterized by selectively replacing said feature matrix by an approximate feature matrix, in which only the maximum element is retained in each row and all other elements are replaced by zero. 11. The method of any of the preceding claims 2-10, characterized by selectively replacing said feature matrix by an approximate feature matrix, in which only the maximum element is retained in each column and all other elements are replaced by zero. 12. The method of any of the preceding claims, characterized in that all non-zero elements of said feature matrix have the same sign; and all non-zero elements of said response sample vector have the same sign. 13. An artificial vision system training method, including the steps: forming a feature matrix including feature sample vectors and a corresponding response sample matrix including response sample vectors; determining a linkage matrix linking said feature matrix to said response sample matrix, characterized by an iterative linkage matrix deter- mining method including the steps: determining a response sample matrix error estimate in the response sample matrix domain; transforming said response sample matrix error estimate into a corresponding linkage matrix error estimate in the linkage matrix domain; determining a linkage matrix estimate in the linkage matrix domain by using said linkage matrix error estimate; transforming said linkage matrix estimate into a corresponding response sample matrix estimate in the response sample matrix domain; repeating the previous steps until the response sample matrix error es- timate is sufficiently small. 14. An associative network training method, including the steps: forming a feature matrix including feature sample vectors and a corresponding response sample vector including response sample scalars; determining a linkage vector linking said feature matrix to said response sample vector, characterized by an iterative linkage vector determining method including the steps: determining a response sample vector error estimate in the response sample vector domain; transforming said response sample vector error estimate into a corresponding linkage vector error estimate in the linkage vector domain; determining a linkage vector estimate in the linkage vector domain by using said linkage vector error estimate; transforming said linkage vector estimate into a corresponding response sample vector estimate in the response sample vector domain; repeating the previous steps until the response sample vector error estimate is sufficiently small. 15. An associative network training method, including the steps: forming a feature matrix including feature sample vectors and a corresponding response sample matrix including response sample vectors; determining a linkage matrix linking said feature matrix to said re- sponse sample matrix, characterized by an iterative linkage matrix determining method including the steps: determining a response sample matrix error estimate in the response sample matrix domain; transforming said response sample matrix error estimate into a corre- sponding linkage matrix error estimate in the linkage matrix domain; determining a linkage matrix estimate in the linkage matrix domain by using said linkage matrix error estimate; transforming said linkage matrix estimate into a corresponding response sample matrix estimate in the response sample matrix domain; repeating the previous steps until the response sample matrix error estimate is sufficiently small. 16. An artificial vision system linkage vector training apparatus, including means for forming a feature matrix including feature sample vectors and a corresponding response sample vector including response sample scalars, characterized by: means (10) for determining a response sample vector error estimate in the response sample vector domain; means (12) for transforming said response sample vector error estimate into a corresponding linkage vector error estimate in the linkage vector domain; means (14, 16) for determining a linkage vector estimate in the linkage vector domain by using said linkage vector error estimate; and means (18) for transforming said linkage vector estimate into a corre- sponding response sample vector estimate in the response sample vector domain. 17. An artificial vision system linkage matrix training apparatus, including means for forming a feature matrix including feature sample vectors and a corresponding response sample matrix including response sample vectors, characterized by: means (10) for determining a response sample matrix error estimate in the response sample matrix domain; means (12) for transforming said response sample matrix error estimate into a corresponding linkage matrix error estimate in the linkage matrix domain; means (14, 16) for determining a linkage matrix estimate in the linkage matrix domain by using said linkage matrix error estimate; and means (18) for transforming said linkage matrix estimate into a corresponding response sample matrix estimate in the response sample matrix domain. 18. An associative network linkage vector training apparatus, including means for forming a feature matrix including feature sample vectors and a corresponding response sample vector including response sample scalars, characterized by: means (10) for determining a response sample vector error estimate in the response sample vector domain; means (12) for transforming said response sample vector error estimate into a corresponding linkage vector error estimate in the linkage vector domain; means (14, 16) for determining a linkage vector estimate in the linkage vector domain by using said linkage vector error estimate; and means (18) for transforming said linkage vector estimate into a corresponding response sample vector estimate in the response sample vector domain. 19. An associative network system linkage matrix training apparatus, including means for forming a feature matrix including feature sample vectors and a corresponding response sample matrix including response sample vectors, characterized by: means (10) for determining a response sample matrix error estimate in the response sample matrix domain; means (12) for transforming said response sample matrix error estimate into a corresponding linkage matrix error estimate in the linkage matrix domain; means (14, 16) for determining a linkage matrix estimate in the linkage matrix domain by using said linkage matrix error estimate; and means (18) for transforming said linkage matrix estimate into a corresponding response sample matrix estimate in the response sample matrix domain. 20. A computer program product for determining a linkage vector linking a feature matrix to a response sample vector, comprising program elements for performing the steps: determining a response sample vector error estimate in the response sample vector domain; transforming said response sample vector error estimate into a corre- sponding linkage vector error estimate in the linkage vector domain; determining a linkage vector estimate in the linkage vector domain by using said linkage vector error estimate; transforming said linkage vector estimate into a corresponding response sample vector estimate in the response sample vector domain; repeating the previous steps until the response sample vector error estimate is sufficiently small. 21. A computer program product for determining a linkage matrix linking a feature matrix to a response sample matrix, comprising program elements for performing the steps: determining a response sample matrix error estimate in the response sample matrix domain; transforming said response sample matrix error estimate into a corresponding linkage matrix error estimate in the linkage matrix domain; determining a linkage matrix estimate in the linkage matrix domain by using said linkage matrix error estimate; transforming said linkage matrix estimate into a corresponding response sample matrix estimate in the response sample matrix domain; repeating the previous steps until the response sample matrix error estimate is sufficiently small.

Inventors: GRANLUND GOESTA, GRANLUND, GOESTA
Applicants: GRANLUND GOESTA, GRANLUND, GOESTA
Application year: 2001
Main classification: G06F15
IPC codes: G06F15, G06F17, G06N3, G06T7