Chip đa hợp:

Một phần của tài liệu Nghiên cứu thiết kế mạng nơron truyền thẳng nhiều lớp bằng các phần tử điện tử thông thường (Trang 59 - 92)

Một chip noron và một chíp khớp thần kinh liên kết với nhau, đặc điểm chuyển giao hỗn hợp có thể đo lƣờng đƣợc. Điều này thể hiện trên hình 2.21 cho giá trị khác nhau của độ bền khớp thần kinh, xác minh sự tƣơng thích chip noron và chíp khớp thần kinh. Phản ứng bƣớc nhảy của sự kết hợp noron-khớp thần kinh đƣợc chỉ ra trên hình 2.22. Sự chậm trễ thông qua một lớp của một ANN dựa trên chíp của chúng tôi có thể đo lƣờng trên đƣờng đặc tính này: cho một độ chính xác đầu ra 8 bit chúng tôi có tlpd  2.6 m, tƣơng ứng với 6MCPS cho mỗi con chíp khớp thần kinh. Nhƣ chíp khớp thần kinh trễ lan truyền nên phần lớn độc lập của số lƣợng khớp thần kinh, một chíp khớp thần kinh cỡ đầy đủ (100x100 khớp) đã đƣợc dự kiến sẽ làm 3.8 GCPS.

Hình 2.21: Đo lường đặc điểm chuyển đổi noron-khớp thần kinh.

Hình 2.22: Đo lương phản ứng bước nhảy noron-khớp thần kinh.

2.3. Kết luận chương:

Trong chƣơng này đã đƣa ra những lý thuyết để thiết kế một mạng noron nhân tạo VLSI tƣơng tự một lớp. Để xác định noron thứ tự đầu tiên đƣợc sử dụng bằng điện áp và dòng điện liên tục cho tín hiệu đã đƣợc lựa chọn và một noron định vị cấu trúc nhiều lớp trên một chip và khớp thần kinh trên chip.

Các khối thành phần của một mạng noron: bộ nhớ, mạch nhân và ngƣơng đã đƣợc nghiên cứu chi tiết. Bộ nhớ có thể sử dụng bộ nhớ lƣu trữ điện đơn giản, Ram kỹ thuật số, sử dụng lƣu trữ kỹ thuật số kết hợp với mạch điều chỉnh tƣơng tự. Mạch nhân chì có thể sử dụng mạch nhân bốn góc phần tƣ hoặc mạch nhân MRC gọn nhẹ. Hàm chuyển đổi sử dụng hàm chức năng hypebol không hạn chế khai triển luật học phần cứng. Cuối cùng là yêu cầu loại bỏ các thông số quá trình trong hệ thống thực.

Chương 3: Thực hiện on-chip lan truyền ngược

Trong chƣơng này chúng tôi sẽ nghiên cứu đƣa luật học lan truyền ngƣợc trên bộ chip ANN tƣơng tự bằng cách sử dụng một đƣa thêm vào lƣợng nhỏ phần cứng. Trƣớc tiên là các thuật toán lan truyền ngƣợc đƣợc miêu tả, sau đó nó đƣợc trình bày nhƣ thế nào để có thể đƣợc đƣa vào cấu trúc ANN - và chúng tôi sẽ trình bày về giải pháp phần cứng hiệu quả. Các thiết kế của một bộ chíp VLSI (một khớp thần kinh và một noron) và các phép đo trên bộ chip này thì đƣợc đƣa rạ Chúng tôi cũng trình bày thiết kế của một hệ thống lan truyền ngƣợc đầy đủ bao gồm cả phần cứng luật học không có mặt trên bản thân các chip. Các vấn đề liên quan đến tính toán đạo hàm và luật học trong một hệ thống sử dụng lƣu trữ trọng số kỹ thuật số đƣợc đƣa ra thảo luận. Thuật học lan truyền ngƣợc không tuyến tính mới thì đƣợc trình bày và chúng tôi cho thấy rằng thuật toán có tính chất tốt trong mối quan hệ với việc thực hiện một phần cứng tƣơng tự.

3.1. Thuật toán lan truyền ngược:

Sai lệch thuật học lan truyền ngƣợc thì đƣợc giám sát, thuật toán giảm độ dốc. Trong phần này chúng tôi sẽ miêu tả thuật toán cơ bản và điều chỉnh hiển thị ứng dụng thông thƣờng cho nó [2,4].

3.1.1. Các khái niệm cơ bản:

Thuật học sai lệch lan truyền ngƣợc cho một mạng noron truyền thẳng phân tầng (perceptron nhiều lớp) có thể đƣợc miêu tả nhƣ sau: đƣa ra một vecto đầu vào

( )

x t theo thời gian t, sự kích hoạt noron k trong lớp l nhƣ sau: ( ) ( ( )) ( w ( ) ( )) l l l l k k kj j j y tg s tgt z t (3.1) Trong đó chúng tôi giả thiết rằng gkl(.)g(.)và trong đó:

1 ( ), 1 ( ) ( ), 1< j l j l j x t for l z t yt for l L      

Dự kiến noron thì ngầm đƣợc đƣa ra nhƣ kết nối bền từ đầu vào hằng số zol 1. Đƣa

ra một bộ giá trị đích dk cho noron trong lớp đầu ra L, chúng tôi định nghĩa các saiblệch noron nhƣ sau:

1 1 ( ) ( ), ( ) w ( ) ( ), 1 l k k l k l l jk j j d t y t for l L t t t for l L              (3.2)

Ở đây các sai lêch trọng số đƣợc tính bằng:

( ) ( ( )) ( )

l l t

j t g s tj j t

    (3.3)

Bằng cách sử dụng một chƣơng trình cập nhật trọng số luật học on-line thời gian gián đoạn, các kết nối bền phải thay đổi phù hợp với luật cập nhật trọng số:

w (lkj t 1) w ( )lkj t  w ( )kjl t w ( )lkj t kl( ) ( )t z tlj (3.4) Trong đó  là hệ số luật học.

3.1.2. Những thay đổi thuật toán:

Mặc dù vẫn thƣờng đƣợc bảo dƣỡng nhƣ điểm chuẩn cho các thuật học MLP mới, hiệu quả của thuật toán lan truyền ngƣợc cơ bản đặt ra vấn đề khi thực thi: thuật toán thì chậm và mạng noron thƣờng có đƣợc dƣa vào vùng địa phƣơng mức tối thiểụ Vì vậy, một trọng số của thuật toán gần giống lan truyền ngƣợc (hoặc hoàn thiện của các thuật toán) thì đã xuất hiện. Rất nhiều sự hoàn thiện không thể thay đổi cấu trúc liên kết cơ bản của thuật toán và do đó thì dễ dàng đƣa vào trong cấu trúc VLSI điều này sẽ miêu tả ngắn hơn. Tuy nhiên, giá trị của sự hợp nhất thì phụ thuộc vào sự thực hiện chính xác.

Giảm bớt trọng số: Điều chỉnh luật cập nhật trọng số theo (3.4) nhƣ sau: w (lkj t 1) (w ( )lkj t  w ( ))(1kjl t dec) (3.5) Trong đó 0dec1 là tham số giảm trọng số, ngăn cản độ lớn trọng số lớn và trọng số nhỏ thì bị loại trừ. Điều này hoàn thiện khả năng tổng quát hóạ Từ quan điểm một VLSI tƣơng tự, sự ngăn cản các trọng số lớn thì cũng có ƣu điểm nhƣ dải trọng số động giới hạn thì có thể đúng ít hơn thì vƣợt quá.

Xung lượng: điều chỉnh thay đổi trọng số, xác định tính delta bởi (3.4), nhƣ sau:

w ( )lkj tmtm w (lkj t 1) kl( ) ( )t z tlj

     (3.6)

nhiên” và khuếch đại trọng số thích hợp. Điều này thì làm giảm các dao động thƣờng đƣợc tìm thấy trong các luật học. Nhƣợc điểm của việc sử dụng xung lƣợng là sự cần thiết phải bổ sung bộ nhớ (đặc biệt là yêu cầu khắt khe cho một hệ thống xử lý VLSI).

Giá trị của hàm chuyển: Sử dụng bình phƣơng giá trị hàm chuyển điều khiển sai lệch trọng số l

j

 trong (3.3). Bằng cách sử dụng một hàm chuyển đổi là một sigmoid đặc biệt, những sai lệch trọng số này sẽ giảm về 0 khi đầu vào mạng noron

l j

s thì lớn về số lƣợng; do đó làm bằng phẳng sai lệch noron lớn lj, không thay đổi trọng số sẽ diễn rạ Vấn đề này có thể loại trừ bằng cách sử dụng hàm chuyển giá trị entropi hoặc sự nhiễu loạn Fahlmann. Kết luận cuối cùng trong sai lệch trọng số tiếp theo:

( ) ( ( ( )) ) ( )

l l l

j t g s tj F j t

     (3.7)

Trong đó F 0 là sự nhiễu đạo hàm. (hàm chuyển giá trị entropi

( ) ( )

L L

j t j t

  ). Về mặt lý thuyết, sai lệch trọng số nên đƣợc chỉnh sửa duy nhất cho lớp đầu ra (l=L). Tuy nhiên, trong một hệ thống xử lý VLSI tƣơng tự bằng cách sử dụng sự nhiễu đạo hàm trên tất cả các sai lệch trọng số có thể đảm bảo

( ( ))lj F 0

g s t   đúng hơn so với g s t( ( ))lj 0 cái mà sẽ có lẽ tính toán khác bởi phần cứng không lý tƣởng và sẽ pha hủy quá trình luật học.

Trong hệ thống có khả năng thích nghi thì đặc biệt quan trọng rằng các luật học có thể diễn ra cân bằng mặc dù các noron thì bão hòa nhƣ hàm chức năng hệ thống thay đổi theo thời gian. Trong một khoảng hàm chuyển giá trị entropi hoặc sự nhiễu loạn Fahlmann thì mạnh hơn hàm chuyển giá trị bình phƣơng.

Chỉ tiêu luật học động lượng: Chỉ tiêu luật học là tham số quan trọng nhất: Nếu nó qua lớn, sự giảm độ dốc thì dao động; nếu nó quá nhỏ, độ dốc hội tụ rất chậm. Một chỉ tiêu luật học thích hợp với sự gia tăng hàm chuyển đổi giá trị khi thiết lập cuối cùng của các thay đổi trọng số, J t( )J t( )J t( 1):

( ) , ( ), ( -1), ..., ( - ) 0 ( 1) (1 ) ( ), ( ) 0 ( ), t a for J t J t J t T t b t for J t t otherwise                  

Trong đó 0 < a,b << 1 và T là hằng số. Mặc dù không phải không thể thực hiện trong VLSI tƣơng tự, một chƣơng trình chỉ tiêu luật học động lƣợng thì hơi

phức tạp và đòi hỏi bộ nhớ (O(1)) (Ngoài ra, hàm chuyển đổi giá trị phải đƣợc đơn giản để tính toán). Ngoài ra, trong việc thực hiện một phần cứng cũng phải đảm bảo chỉ tiêu luật học không giảm dƣới một giá trị quan trọng critở đây thay đổi trọng số là không đáng kể so với rời rạc hóa trọng số hoặc sai lệch bù thay đổi trọng số, điều này là ngƣờng quá trình học.

Bộ dò eta: Để tránh sự phức tạp của một chỉ tiêu luật học động năng, ngƣời ta có thể lựa chọn một tốc độ học tối ƣụ Reyneri and Filippi đƣa ra (cho

 ax, ax,  ax, ax) :

k m m j m m

y  y y z  z z

(3.8)

Trong đó: kl l thì là chỉ tiêu luật học lớp l. MklMl là số thứ tự đầu vào lớp l và t là độ dốc hàm chuyển chức năng noron. Có thể sử dụng:

l k l k M    (3.9)

Mà có thể đƣợc kết hợp với một quy tắc chỉ tiêu luật học động lƣợng. Đối với một mạng không có khả năng tái cấu hình, chỉ tiêu luật học có thể đƣợc tính trƣớc cho các kiến trúc mạng hiện tạị Đối với một mạng tái cấu hình đƣợc, thêm phần cứng ở mỗi khối tái cấu hình thì cần thiết nếu tính toán chỉ tiêu luật học là tự động.  Luật học hàng loạt: thực hiện giảm độ dốc thực trọng số thì đƣợc cập nhật duy nhất sau mỗi giai đoạn:

1 0 w ((1 ) ) w ( ) w ( 1) epc T l l l

kj epc kj epc kj epc

t

n T nT nT

      (3.10)

Trong đó Tepc là chu kỳ. Thƣờng các luật học on-line thì đƣợc coi là phƣơng pháp nhanh hơn; tuy nhiên bằng cách sử dụng luật học hỗn hợp, nó có khả năng cập nhật trọng số trong “khối” lớn, và làm cho chƣơng trình này có khả năng ít nhạy hơn để bù đắp và rời rạc trọng số (Điều này thì rất quan trọng cho một hệ thống sử lý VLSI tƣơng tự). Điều bất lợi là việc cần phải bổ sung bộ nhớ.(O(N2))

3.2 Sự sắp đặt các thuật toán trên VLSI:

Biểu thức toán của chế độ gọi lại MPL có thể viết ylg s( ),l sl (wlzl)

nhƣ chú ý trong phần 2.2. Hơn nữa, Chúng ta có thể viết một biểu thức tính sai lệch noron nhƣ sau: l1 (w )l Tl

 .Chúng ta nhận thấy hai đặc tính quan trọng của

2 2 2 ax ax 1 2 l k l m m t k y z M   

các phƣơng trình: (i) Ma trận đƣợc sử dụng để tính toán sai lệch noron là hoán vị của một ma trận sử dụng để tính toán đầu vào mạng noron. (ii) dòng tín hiệu thì đƣợc đảo ngƣợc. Đối với một hệ thống xử lý on-chip của thuật toán lan truyền ngƣợc, điều này có nghĩa là chúng tôi có thể tính toán sai lệch noron và cho phép các tín hiệu lan truyền từ lớp l tới lớp l-1 bằng cách sử dụng mạch nhân vecto-ma trận có đặc tính giống hệt nhau với các chip khớp thần kinh chế độ gọi lại nhƣng với sự trao đổi các vị trí của các đầu vào và đầu rạ Nói cách khác: chúng tôi sử dụng một phiên bản mở rộng của khớp thần kinh. Chíp noron phải lần lƣợt có thể đƣợc tính toán  nhƣ đƣa ra trọng (3.3).

Hình 3.1: Sơ đồ mạch khớp thần kinh lan truyền ngược.

Hình 3.2: Sơ đồ mạch noron lan truyền ngược.

Sơ đồ khối của khớp thần kinh và noron mở rộng có thể xem trên hình 3.1 và 3.2 tƣơng ứng. Trên khớp thần kinh cũng bao gồm phần cứng để tính toán thay đổi trọng số, wlkj phù hợp với (3.4). Các khớp thần kinh mở rộng có các đầu vào điện áp và đầu ra dòng điện cũng giống nhƣ khớp thần kinh nguyên bản. Lập bản đồ các thuật toán trên silic nhƣ thế này đƣa ra một sự cải tiến trật tự O(N2) trong tốc độ, so sánh với một cách tiếp cận nối tiếp, nhƣ tất cả (O(N2)) các trọng số có thể cập nhật đồng thờị Bằng cách cho phép noron định tuyến lại tín hiệu "ykl" trên đƣờng truyền

"kl". Thay vì đặt phần cứng cập nhật trọng số tại vị trí khớp thần kinh, có thể đặt chúng ở vị trí của các noron – làm giảm số lƣợng phần cứng cập nhật trọng số theo thứ tự O(N). Trong trƣờng hợp này chỉ có trọng số từ một neron trong lớp l-1 tới các noron trong lớp l có thể cập nhật tƣơng thích; do đó biện pháp này sẽ cung cấp một trật tự O(N) cải thiện về tốc độ so với một cách tiếp cận nối tiếp. Nên chú ý

rằng, theo (3.4), z tlj( ) thì cần thiết khi tính toán w ( )lj t s và do đó phải đƣợc chuyển đến các vị trí của phần cứng cập nhật trọng số; nếu thông số w (lj t1)s

đƣợc tính toán, ngoài ra thì w ( )lj t s thì cần thiết. Hiệu quả của bản thiết kế này thì phụ thuộc nhiều vào phƣơng pháp lƣu trữ đƣợc lựa chọn: Bằng cách sử dụng lƣu trữ điện dung đơn giản không cần bộ nhớ dự trữ, sự thay đổi trọng số thƣờng đƣợc áp dụng đặc biệt cho một bộ khuếch đại độ dẫn điện thì tƣơng thích với các “-khuếch đại” nhƣ hình 3.1. Để tránh suy giảm hay triệt tiêu trọng số bằng cách phân phối lại điện tích trên các đƣờng truyền bus. Bộ khuếch đại này (hoặc một vài kiểu mạch bảo vệ) sẽ phải có mặt trọng bất kỳ hệ thống xử lý nào hiện nay, do đó làm giảm số lƣợng của phần cứng lƣu trữ. Nhƣ bộ nhớ kỹ thuật số thƣờng có thể đọc không xóa, không có bất lợi giống nhƣ khi sử dụng lƣu trữ điện dung với một bộ nhớ lƣu trữ kỹ thuật số hoặc lƣu trữ kỹ thuật số (mục tiêu của các thuật học trong các trƣờng hợp này là thay đổi bộ nhớ kỹ thuật số). Phần cứng cập nhật trọng số lƣu trữ thì đặc biệt quan trọng khi thay đổi trọng số trong lĩnh vực kỹ thuật số nhƣ một công cụ chuyển đổi A/D thì cần thiết ở mỗi “vị trí thay đổi”. Sự định vị bộ chuyển đổi A/D với nhiều hơn một bit chính xác ở mỗi khớp thần kinh sẽ là không thực tế; mức sử dụng điện tích sẽ là quá lớn. Trong các hệ thống bằng cách sử dụng một bộ nhớ lƣu trữ RAM kỹ thuật số, truy cập trọng số sẽ là nối tiếp (chắc chắn nhất); do đó phần cứng cập nhật trọng số có thể không ở vị trí chip khớp thần kinh và noron trong một modun riêng biệt (như O(1)), Trong trƣờng hợp này, Chi phí của công cụ chuyển đổi A/D cập nhật trọng số thì không đáng kể nhƣng việc cập nhật trọng số sẽ là nối tiếp (một bậc O(1) để “cải thiện” tốc độ)

Bằng cách sử dụng một modun cập nhật trọng số O(1) có lợi thế của việc thực hiện chi phí thấp của một số cải tiến thuật toán (những modun liên quan tới trọng số hơn là tới các khớp thần kinh), không bổ sung phần cứng khớp thần kinh thì cần thiết cho một chƣơng trình cập nhật phức tạp hơn. Ví dụ, để thực hiện yêu cầu cơ bản một bộ nhớ và một bộ cộng (hoặc tích phân sự rò điện theo thời gian liện tục) ở mỗi vị trí khớp thần kinh khi sử dụng chƣơng trình cập nhật trọng số song song đầy đủ (O(N2)). Bằng cách sử dụng một modul cập nhật trọng số O(1), một bộ cộng thì đƣợc yêu cầụ Ma trận thay đổi trọng số có thể đƣợc đặt trong một RAM kỹ thuật số tiêu chuẩn, trong đó sẽ có chi phí ít hơn so với phần cứng khớp thần kinh bổ sung.

Nếu bộ nhớ lƣu trữ trọng số kỹ thuật số (hoặc bộ nhớ trọng số kỹ thuật số thật sự) đã đƣợc sử dụng ở vị trí đầu tiên, không cần bộ chuyển đổi dữ liệu đƣa thêm vàọ Hệ thống chƣơng trình cập nhật trọng số cũng có độ chính xác là khá tốt so với

Một phần của tài liệu Nghiên cứu thiết kế mạng nơron truyền thẳng nhiều lớp bằng các phần tử điện tử thông thường (Trang 59 - 92)

Tải bản đầy đủ (PDF)

(92 trang)