CÁC PHÉP BIẾN đổi TUYẾN TÍNH DÙNG TRONG MẠNG NEURAL

32 677 0
CÁC PHÉP BIẾN đổi TUYẾN TÍNH DÙNG TRONG MẠNG NEURAL

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

6. Các phép biến đổi tuyến tính dùng trong mạng Neural Nội dung: Các mục tiêu Lý thuyết và các ví dụ: - Các phép biến đổi tuyến tính - Các biểu diễn bằng ma trận - Biến đổi cơ sở - Vector riêng và giá trị riêng - Diagonalization Tóm tắt các kết quả Các vấn đề đã được giải quyết Phần kết Xem thêm Bài tập Mục tiêu: Chương này sẽ tiếp tục công việc của chương 5 trong việc trình bày các cơ sở toán học cho việc phân tích các mạng Neural của chúng ta. Trong chương 5 chúng ta đã xem xét lại các không gian vectơ; trong chương này chúng ta sẽ khám phá các phép biến đổi tuyến tính khi chúng ap dụng cho các mạng nơron. Như chúng ta đã thấy trong các chương trước, việc nhân một véc tơ với một ma trận trọng số là một trong những phép toán cơ bản được thực hiện bởi các mạng nơron. Phép toán này là một phép biến đổi tuyến tính. Chúng ta sẽ tìm hiểu các phép biến đổi tuyến tính nói chung và xác định các đặc điểm cơ bản của chúng. Các khái niệm trong chương này, như giá trị riêng, vector riêng và biến đổi cơ bản, sẽ rất quan trọng cho việc hiểu các chủ đề mạng neural như thế khi học thực thi (bao gồm cả luật Widrow-Hoff và lan truyền ngược lại) và sự hội tụ mạng Hopfield. Lý thuyết và các ví dụ: Nhớ lại mạng Hopfield được thảo luận trong chương 3. (xem hình 6.1) đầu ra của mạng được cập nhập một cách đồng bộ theo phương trình a(t +l) = satlin(Wa(t) + b) (6.1) Chú ý rằng tại mỗi lặp lại đầu ra của mạng được nhân lại với một ma trận trọng số W. Hiệu quả của phép phép toán lặp lại này là gì? Chúng ta có thể xác định được đầu ra của mạng sẽ hội tụ tại một vài giá trị trạng thái ổn định, dẫn đến vô cùng, hay là là dao động? Trong chương này chúng ta sẽ trình bày cơ sở để trả lời các câu hỏi này, cùng với nhiều vấn đề khác về các mạng neural được mô tả trong cuốn sách này. Các phép biến đổi tuyến tính Chúng ta bắt đầu vơi một vài định nghĩa chung ∗ Phép biến đổi tuyến tính Một phép biến đổi tuyến tính gồm 3 phần 1. Một tập các thành phần X= { x i }, gọi là miền (domain), 2. Một tập các thành phần Y = { y i }, gọi là dải (range), và 3. Một quy tắc liên kết x i ∈ X với một thành phần y i ∈Y ∗ Phép biến đổi tuyến tính: một phép biến đổi A được gọi là tuyến tính nếu: 1. Với mọi x 1 , x 2 ∈ X , A ( x 1 + x 2 ) =A ( x 1 ) + A ( x 2 ) 2. Đối với mọi x ∈ X, a ∈ R, A(ax) = a A(x) Quan sát, ví dụ, phép biến đổi nhận được bằng cách quay các vectơ trong miền R 2 với một góc quay θ, như hình trên. Hai hình tiếp theo mô tả rằng thuộc tính 1 được thỏa mãn đối với việc quay. Chúng thể hiện rằng nếu ban muốn quay một tổng 2 véc tơ, bạn cũng có thể quay từng véc tơ trước và sau đó mới cộng chúng. Hình thứ 4 mô tả thuộc tính 2. Nếu bạn muốn quay một véc tơ đã vẽ theo tỉ lệ, bạn có thể quay nó trước và sau đó vẽ nó theo tỷ lệ. Do đó phép quay là một phép toán tuyến tính. Các biểu diễn ma trận Như chúng ta đã đề cập ở phần đầu của chương này, nhân ma trận là một ví dụ của một phép biến đổi tuyến tính. Chúng ta cũng có thể thấy rằng bất kỳ một phép biến đổi tuyến tinhs nào giữa hai không gian véc tơ có thể được biểu diễn bới một ma trận ( như trong chương trước chúng ta đã trình bày rằng bất kỳ một véc tơ tổng quát nào trong không gian véc tơ thứ nguyên hữu hạn có thể được biểu diễn bởi một cột các số. Để thể hiện điều này chúng ta sẽ sử dụng phần lơnc các khái niệm trong chương trước. Cho { v 1 ,v 2 ,… ,v n } là một cơ sở của không gian véc tơ X, và { u 1 ,u 2 ,…,u m } là cơ sở của không gian véc tơ Y. Điều này có nghĩa là đối với bất kỳ hai véc tơ x ∈ X và y ∈Y x= ∑ i=0 n x i v i và y= ∑ i=0 m y i u i (6.2) A là một phép biến đổi tuyến tính với X và Y (A: X → Y), t hì A(x) = y (6.3) Có thể được viết A ( ∑ j=1 n x j v j ) = ∑ i=1 m y i u i (6.4) Vì A là một phép toán tuyến tính, phương trình (6.4) có thể được viết ∑ j=1 n x j A ( v j ) = ∑ l m y i u i (6.5) Vì các vector A( v j ) là các thành phần của Y, nên chúng có thể được viết như là các tổ hợp tuyến tính của các vector cơ sở đối với Y: A ( v j ) = ∑ i=1 m a ij u i .(6.6) (lưu ý rằng phép quay được dùng cho các hệ số của khai triển này, a ij , đã không được chọn ngẫu nhiên). Nếu chúng ta thay phương trình (6.6) vào phương trình 6.5 chúng ta nhận được ∑ j=1 n x j ∑ i=1 m a ij u i = ∑ i=1 m y i u i (6.7) Thứ tự của các tổng có thể được đảo ngược, để đưa ra ∑ i=1 m u i ∑ i=1 n a ij x j = ∑ i=1 m y i u i .(6.8 ) Phương trình này có thể được sắp xếp lại, để nhận được ∑ i=1 m u i ( ∑ j=1 n a ij x ij − y i ) =0.(6.9) Nhắc lại rằng vì u i tạo ra một tập cơ sở nên chúng nhất thiết phải độc lập. Điều này có nghĩa là mỗi hệ số nhân với u i trong phương trình (6.9) phải bằng không (xem phương trình (5.4)), do đó ∑ j=1 n a ij x j = y i .(6.10) Đây chỉ là phép nhân ma trận, như trong [ a 11 a 12 … a 1n a 21 a 22 … a 2n ⋮ a m1 ⋮ a m2 ¿ ⋯ ⋮ a mn ] [ x 1 x 2 ⋮ x n ] = [ y 1 y 2 ⋮ y m ] (6.11) Chúng ta có thể tổng kết các kết quả này như sau: đối với bất kỳ phép biến đổi tuyến tính nào giữa hai không gian vector thứ nguyên hữu hạn có một biểu diễn ma trận. Khi chúng ta nhân ma trận này với khai triển vector của vector “x”, chúng ta sẽ nhận được khai triển vector của vector chuyển đổi “y”. Luôn nhớ rằng biểu diễn ma trận không phải là duy nhất (chỉ là biểu diễn của một vector tổng quát bởi một cột các số không phải là duy nhất – xem chương 5). Nếu chúng ta thay đổi tập cơ sở đối với miền (domain) hoặc đối với dải (range), thì biểu diễn ma trận cũng sẽ thay đổi. Chúng ta sẽ sử dụng lập luận này cho lợi thế của chúng ta trong các chương sau. Một ví dụ của một biểu diễn ma trận, xem xét phép biến đổi quay. Hãy tìm một biểu diễn ma traan cho phép biến đổi này. Bước quan trọng được đưa ra trong phương trình (6.6). Chúng ta phải biến đổi mỗi vector cơ sở cho miền (domain) và sau đó khai triển nó ở dạng các vector cơ sở của dải (range). Trong ví dụ này domain và range giống nhau (X=Y=R 2 ), để đơn giản chúng ta sẽ dùng cơ sở chuẩn cho cả hai ( u i =v i =s i ), như thể hiện trong hình bên cạnh. Bước đầu tiên là bến đổi vector cơ sở đầu tiên và khai triển kết quả vector đã chuyển dưới dạng các vector cơ sở. Nếu chúng ta quay s 1 ngược chiều kim đồng hồ một góc θ chúng ta sẽ nhận được. A ( s 1 ) =cos ( θ ) s 1 +sin ( θ ) s 2 = ∑ i= 1 2 a ij s i =a 11 s i +a 21 s 2 ,(6.12) Như có thể thấy trong hình bên trái. Hai hệ số trong khai triển này tạo thành cột đầu tiên của biểu diễn ma trận. Bước tiếp theo là chuyển đổi vector cơ sở thứ hai. Nếu chúng ta quay s 2 ngược chiều kim đồng hồ một góc θ chúng ta sẽ nhận được a(s 2 )=−sin ( θ ) s 1 +cos ⁡(θ )s 2 = ∑ i =1 2 a i2 s i =a 12 s 1 +a 22 s 2 ,(6.13 ) Như được thấy trong hình bên trái phía dưới này. Từ khai triển này chúng ta nhận được cột thứ 2 của ma biểu diễn ma trận. Biểu diễn ma trận đầy đủ do đó cho bởi: A= [ cos ⁡(θ) −sin ⁡(θ) sin ⁡(θ) cos(θ) ] (6.14) Ta thấy rằng khi nhân một vector với ma trận phương trình (6.14), thì vector này được quay một góc θ Nói tóm lại, để nhận được biểu diễn ma trận của một phép biến đổi chúng ta sử dụng phương trình (6.6). Chúng ta chuyển đổi mỗi vector cơ sở đối với miền (domain) và khai triển nó dưới dạng các vector cơ sở đối với dải (range). Các hệ số của mỗi khai triển tạo ra một cột của ma trận. Để kiểm tra hình ảnh quá trình tạo một biểu diễn ma trận, dùng các phép biến đổi tuyến tính biểu diễn thiết kế mạng neural Biến đổi cơ sở Chúng ta để ý từ phần trước mà biểu diễn ma trận của phép biến đổi tuyến tính không phải là duy nhất. Biểu diễn sẽ phụ thuộc vào những tập cơ sở nào được sử dụng cho domain và range của phép biến đổi đó. Trong phần này chũng ta sẽ thảo luận một cách chính xác một biểu diễn ma trận thay đổi như thế nào khi các tập cơ sở thay đổi. Xem xét một chuyển đổi tuyến tính A: x → Y. Cho { v 1 ,v 2 ,… ,v n } là một cơ sở cho không gian vector X và cho { u 1 ,u 2 ,…,u m } là một cơ sở cho không gian vector Y. Do đó, bất kỳ vectỏ x ϵ X có thể viết được x= ∑ i =1 n x i v i (6.15) Và bất kỳ một vector y ϵY có thể viết được y= ∑ i=1 m y i u i (6.16) Như thể nếu A(x) = y (6.17) Thì biểu diễn ma trận sẽ là: [ a 11 a 12 ⋯ a 1n a 21 a 22 ⋯ a 2n ⋮ a m1 ⋮ a m2 ¿ ⋯ ⋮ a mn ] [ x 1 x 2 ⋮ x n ] = [ y 1 y 2 ⋮ y m ] ,(6.18) Hoặc Ax = y. (6.19) Bây giờ giả sử là chúng ta sử dụng các tập cơ sở khác nhau cho X và Y. Cho tập { t 1 ,t 2 ,… ,t n } là một cơ sở mới cho X, và tập { w 1 w 2 ,…,w m } là cơ sở mới cho Y. Với các cơ sở mới, vector x ∈ X được viết: x= ∑ i =1 n x i 1 t i (6.20) và vector y ϵY được viết như sau: y= ∑ i=1 m y i 1 w i .(6.21) Điều này dẫn tời một biểu diễn ma trận mới: [ a ' 11 a ' 12 ⋯ a ' 1n a ' 21 a ' 22 ⋯ a ' 2n ⋮ a ' m1 ⋮ a ' m2 ¿ ⋯ ⋮ a ' mn ] [ x ' 1 x ' 2 ⋮ x ' n ] = [ y ' 1 y ' 2 ⋮ y ' m ] ,(6.22 ) Hoặc A ' x ' =y ' (6.23) Mối liên hệ giữa A và A ' là gì? Để tìm ra, chúng ta cần tìm mối liên hệ giữa hai tập cơ sở. Đầu tiên, vì mỗi t i là một thành phần của X, chúng có thể khai triển dưới dạng cơ sở ban đầu đối với X: t i = ∑ j=1 n t ji v j .(6.24) Tiếp theo, vì mỗi w i là một thành phần của Y, nên chúng có thể được khai triển dưới dạng cơ sở ban đầu đối với Y: w i = ∑ j=1 m w ji u j .(6.25) Do đó, các vecotr có thể viết được như là các cột của các con số: t i = [ t 1i t 2i ⋮ t ¿ ] w i = [ w 1i w 2i ⋮ w mi ] (6.26) Định nghĩa một ma trận mà các cột của nó là t i : B t = [ t 1 t 2 …t n ] (6.27) Sau đó chúng ta có thể viết phương trình (6.20) ở dạng ma trận: x= x 1 ' t 1 + x 2 ' t 2 +…+x n ' t n =B t x ' .( 6.28) Phương trình này biểu diên các mối quan hệ giữa hai biểu diễn khác nhau của vector x. (lưu ý rằng điều này thực tế là giống với phương trình (5.43). Bạn có thể muốn xem lại mô tả các vector cơ sở tương hỗ của chúng ta trong chương 5.) Bây giờ định nghĩa một ma trận mà các cột của nó là w i : B w = [ w 1 w 2 ⋯ w m ] .(6.29) Điều này cho phép chúng ta viết phương trình (6.21) ở dạng ma trận, y=B w y ' ,(6.30) mà nó sau đó biểu thị các mối liên hệ giữa cho hai biểu diễn khác nhau của vector y. Bây giờ thay phương trình (6.28) và phương trình (6.30) vào phương trình (6.19): AB t x ' =B w y ' .(6.31) Nếu chúng ta nhân cả hai vế của phương trình này với B w −1 chúng ta nhận được [ B w −t A B t ] x ' = y ' .(6.32) Một so sánh giữa phương trình (6.32) và phương trình (6.32) suy ra phép toán sau đối với mộ chuyển đổi cơ sở: A ' = [ B w −1 A B t ] .(6.33) Kết quả quan trọng này, mà nó mô tả mối quan hệ giữa hai biểu diễn ma trận bất kỳ của một biến đổi tuyến tính được đưa ra, được gọi là một phép chuyển đổi đồng dạng (similarity transform) [Brog91]. Nó sẽ được dùng nhiều trong các chương sau. Hóa ra là với việc chọn các vector cơ sở bên phải chúng ta có thể nhận được một biểu diễn ma trận mà nó biểu lộ các đặc tính chủ yếu của phép chuyển đổi tuyến tính nó biểu diễn. Điều này sẽ được mô tả trong phần tiếp theo. ví dụ như các bộ cơ sở dùng để biến đổi, ta hãy xem lại ví dụ quay vector của phần trước. Trong phần đó một biểu diễn ma trận được trình bày bằng cách dùng tập có sở chuẩn { s 1 s 1 }. Và ta hay tìm một biểu diễn mới dùng cơ sở { t 1 t 2 }, nó được thể hiện trong hình bên cạnh. (chú ý rằng trong ví dụ này bộ cơ sở như nhau được dùng cho cả hai main và range.) Bước đầu tiên là khai triển t 1 và t 2 dưới dạng bộ cơ sở chuẩn, như trong phương trình (6.24) và phương trình (6.25). Bằng cách xem xét ký hính bên cạnh chúng ta thấy rằng: t 1 =s 1 +0.5s 2 ,(6.34) t 2 =−s 1 +s 2 .(6.35) Theo đó chúng ta có thể viết t 1 = [ 1 0.5 ] t 2 = [ −1 1 ] .(6.36) Bây giờ chúng ta có thể tạo ma trận B t = [ t 1 t 2 ] = [ 1 −1 0.5 1 ] ,(6.37) Và, bởi vì chúng ta đang dùng cùng bộ cơ sở cho cả domain và range của phép biến đổi, B w = B t = [ 1 −1 0.5 1 ] . (6.38) Bây giờ chúng ta có thể tính toán biểu diễn ma trận mới từ phương trình (6.33): A ' = [ B w −1 A B t ] = [ 2/3 2/3 −1/3 2 /3 ][ cosθ −sinθ sinθ cosθ ][ 1 −1 0.5 1 ] ¿ [ 1/3 sinθ+cosθ −4 /3sinθ −sinθ −1/3sinθ+cosθ ] . (6.39) Chọn, chẳng hạn, trường hợp mà θ = 30 o . A ' = [ 1.033 −0.667 0.417 0.699 ] ,(6.40) Và A= [ 1.033 −0.667 0.417 0.699 ] ,(6.41) Để kiểm tra rằng các ma trận này là chính xác, ta hãy thử một vector kiểm tra x= [ 1 0.5 ] , nó tương ứng với x ' = [ 1 0 ] .(6.42) (lưu ý rằng vector được biểu diễn bởi x và x ' là t 1 , một thành phần của tập cơ sở thứ hai). Vector kiểm tra chuyển đổi sẽ là y=Ax= [ 0.866 −0.5 0.5 0.866 ][ 1 0.5 ] = [ 0,616 0.933 ] ,( 6.43) nó sẽ tương ứng với với y ' =A ' x ' = [ 1.033 −0.667 0.416 0.699 ][ 1 0 ] = [ 1.033 0.416 ] .(6.44 ) Chúng ta có thể kiểm tra để thấy được như thế nào nếu y ' tương ứng với y? Cả hai nên là những biểu diễn của cùng một vector, y, dưới dạng hai tập cơ sở khác nhau; y dùng cho cơ sở { s 1 , s 2 } và y ' dùng cho cơ sở { t 1 ,t 2 }. Trong chương 5 chúng ta dùng các vector cơ sở tương hỗ để chuyển một biểu diễn thành một biểu diễn khác (xem phương trình (5.43). Dùng khái niệm này chúng ta có y ' =B −1 y= [ 1 −1 0.5 1 ] −1 [ 0. 616 0.933 ] = [ 2/3 2/ 3 −1/ 3 2/ 3 ][ 0. 616 0.933 ] = [ 1.033 0. 416 ] ,(6.45) Điều này kiểm tra kết quả trước đó của chúng ta. Các vector được hiển thị trong hình bên trái. Kiểm tra bằng hình ảnh thấy rằng hai biểu diễn, y và y ' , đã đưa ra bởi phương trình (6.43) và phương trình (6.44), là hợp lý. . 6. Các phép biến đổi tuyến tính dùng trong mạng Neural Nội dung: Các mục tiêu Lý thuyết và các ví dụ: - Các phép biến đổi tuyến tính - Các biểu diễn. cuốn sách này. Các phép biến đổi tuyến tính Chúng ta bắt đầu vơi một vài định nghĩa chung ∗ Phép biến đổi tuyến tính Một phép biến đổi tuyến tính gồm 3 phần

Ngày đăng: 26/12/2013, 11:13

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan