Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałAnatol Kozieł Został zmieniony 6 lat temu
1
Inteligencja Obliczeniowa Binarne modele pamięci skojarzeniowych
Wykład 4 Włodzisław Duch Katedra Informatyki Stosowanej UMK Google: W. Duch (c) Tralvex Yeap. All Rights Reserved
2
Neurony logiczne Co już było. SDM, Rozproszona Pamięć Komórkowa
CMAC – model móżdżku. RAMnet – sieci n-ek Sieć Hamminga Macierz ucząca się Steinbucha MBR - Memory Based Reasoning. Co będzie dalej. (c) Tralvex Yeap. All Rights Reserved
3
Szybka powtórka Modele bezwagowe, korelacyjne, Hebbowskie
Pamięć autoasocjacyjna i rozpoznawcza BCM Macierze korelacji. Model BAM. (c) Tralvex Yeap. All Rights Reserved
4
SDM, Rozproszona Pamięć Komórkowa
SDM, Sparse Distributed Memory (Kanerva 1988). Model statystyczny, inspiracja: pamięć w móżdżku. Jaka jest funkcja neuronu? Neuron biologiczny wykrywa korelacje (t,x). Sygnały z dendrytów definiują hiperpłaszczyzny dyskryminujące. Sygnały z dendrytów działają jako klucze-adresy. (c) Tralvex Yeap. All Rights Reserved
5
SDM, cd.1 Uwagi wstępne. Synapsy w niektórych częściach mózgu zmieniają swój stan skokowo – resorpcja kolców dendrytycznych? Powolne i gwałtowne zmiany współistnieją. Neurony początkowo reagują przypadkowo na kombinację pobudzeń. ¾ wszystkich neuronów jest w móżdżku, kodują głównie złożone ruchy, każdy neuron ma wejść. Potraktujmy je binarnie. Jak zapisać/odczytać długie ciągi bitów wykorzystując przypadkowe adresy? Nawet 100 bitów daje 2100=1030 możliwości. Mając do dyspozycji 1010 komórek w móżdżku trzeba przypisać każdej hipersferę i notować, czy pojawił się w niej jakiś element, a więc traktować jako znacznik. (c) Tralvex Yeap. All Rights Reserved
6
SDM, cd.2 Problem najlepszego wzorca:
Dany wektor bitów z, znaleźć najbardziej podobny zapamiętany wektor. Adres neuronu o wagach W = {W0, W1,..Wn-1}, Wi=±1 a = {Q(W0), Q(W1), ... Q(Wn-1)} Neuron o 4 wejściach, wagach W={+1,-1,-1,-1}, a =1000, q =+1, realizuje funkcję: Reaguje na ciągi binarne x o odległości Hamminga d(x,a) q (c) Tralvex Yeap. All Rights Reserved
7
SDM, cd.3 Próg q decyduje o promieniu Hamminga (liczbie bitów) wokół a. n duże, 2n stanów, znikomy procent użyty w czasie treningu. N ciągów n-bitów w kuli o promieniu d, funkcja rozkładu N(d). Wektory binarne przypadkowe: średnia odległość do najbliższego wektora dla dużego n wynosi n/2 a wariancja rozkładu średniej odległości n/4. Zakładamy, że każdy bit jest jednakowo prawdopodobny. l bitów o wartości 1 w ciągu n bitów opisany rozkładem dwumiennym Przybliżenie rozkładem Gaussa: max. dla n/2, wąski pik rozkładu (c) Tralvex Yeap. All Rights Reserved
8
SDM, cd.4 Sieć neuronów - dekodery adresów, pamiętają prototypy ciągów bitów a, reagując na adresy z hipersfery o promieniu q. „ Pamięć oszczędna”, zamiast 2n komórek tylko adresy zajęte. Czy to wystarczy jako pamięć rozpoznawcza? Nieliczne komórki RAM, adresy fizyczne (hard locations). Np. N'=220 na N=21000 komórek. Adres fizyczny reprezentuje średnio 2980 logicznych. (c) Tralvex Yeap. All Rights Reserved
9
SDM, cd. 5 Prawd. rozkładu N(d; x) liczby N ciągów bitów oddalonych o d od x Rozkład dla adresów fizycznych N'(d; x) jest analogiczny. Prawdopodobieństwo p znalezienia ciągu y poza sferą o promieniu d wynosi 1-N(d; x). Dla N' punktów całkowite p = (1-N(d; x))N‘ Prawd. znalezienia jednego z N’ adresów w odległości d: (c) Tralvex Yeap. All Rights Reserved
10
SDM, cd. 6 Dla N'=220 oraz n = 1000 98% ciągów bitów ma d(x) pomiędzy 411 do 430 bitów. 1 na ma d<400 bitów lub d> 432 bity. Wniosek: najbliższy adres fizyczny może mieć > 40% różnych bitów. Rozwiązanie : rozproszone przechowywanie tego samego ciągu bitów pod wieloma adresami. Ciągi bitów znajdują się pod fizycznymi adresami w O(r,x) o promieniu r wokół x. Zbiór adresów fizycznych O'(r,x)=N'ÇO(r,x) to mała część N'. Np. dla r = 451 bitów to około 1000, czyli N’/1000. Dla O'(r,x), O'(r,y) liczba wspólnych fizycznych adresów maleje eksponencjalnie. Pytanie z, odpowiedź – średnia z otoczenia z. (c) Tralvex Yeap. All Rights Reserved
11
SDM, cd. 6 Iteracje: z uśredniane wielokrotnie.
Np. zi(1) będzie 0 lub 1 jeśli większość bitów yi = 0 lub 1. Jeśli odległość d(z,x) jest zbyt duża ciąg rozbiega się. Pojemność: c(n) N' L. słów/komórkę pamięci c(n) maleje: 16.5% dla n=102, 10% dla n=103, 7% dla n=104 5% dla n=105. Przepełnienie: SDM zapomina stare wzorce. (c) Tralvex Yeap. All Rights Reserved
12
SDM, zastosowania Pamięć rozpoznawcza. Klasyfikacja obiektów.
Cmattie (Anwar, Franklin 2000), „świadomy agent programowy”, wg. teorii Baarsa. Realizacje VLSI. Analiza działania móżdżku. Sterowanie? (c) Tralvex Yeap. All Rights Reserved
13
CMAC Cerebellar Model Arithmetic Computer (Albus 1971).
Model również wzorowany na móżdżku. n-wymiarowa przestrzeń wejściowa X = {x=(x1,...xn)} Przestrzeń asocjacyjna A, zbiory G-wymiarowe. Kwantowanie danych qi = Q(xi) daje numery kwantów qi Segmenty pamięci wirtualnej, vij=V(qi), i=1..n, j=1..G. Konkatenacja segmentów daje adres wirtualny vj=[v1j v2j ... vnj], j=1..G Adres fizyczny RAM: funkcja mieszająca hj=H(vj). (c) Tralvex Yeap. All Rights Reserved
14
CMAC - schemat Wynik: suma W(hj) dla j=1..G
(c) Tralvex Yeap. All Rights Reserved
15
CMAC - działanie Uczenie: pary danych (x,y), odpowiedź sieci C(x)
Współczynnik uogólniania G rzędu Zbiory asocjacyjne: topograficznie poprawne rozmywanie danych, lokalne uogólnianie. Zbiory A dla bliskich x mają elementy wspólne. Prezentacja x pobudza element A, komórki RAM, sumuje się wag tych komórek. Zastosowania: aproksymacja, kontrola procesów, np. sterowanie kończynami robota. (c) Tralvex Yeap. All Rights Reserved
16
Metoda n-ek A-liczba cech, przeznaczamy n-bitów na cechę,
RAMnets, metoda n-ek (1959), rozpoznawanie wzorców. Chociaż stara i nikt jej nie zna to jest prosta i daje dobre wyniki. Główna idea: utwórz M nowych cech. A-liczba cech, przeznaczamy n-bitów na cechę, N – liczba n-ek; Odwzorowanie h: reprezentacja wektora danych X w n-kę X => H(X) = {hk(X), k=1..N}, czyli transformacja danych z A wymiarów do N wymiarów. Sieć: każdy węzeł realizuje funkcję hk(X) Trening: przeczytaj wszystkie wektory X należące do klasy C(X). Przypisz hk(X) klasę, w której która dany podciąg występuje najczęściej. Topograficznie poprawna zamiana x R L (stringi binarne) (c) Tralvex Yeap. All Rights Reserved
17
n-ki, sieć. Np. wejście z siatkówki, próbki obrazu z kilku obszarów pozwalają na rozpoznanie całego obiektu. (c) Tralvex Yeap. All Rights Reserved
18
Kodowanie Greya Kod binarny Graya: dwa kolejne słowa kodowe różnią się o 1 bit. Można go zastosować dla liczb rzeczywistych o skończonej dokładności Przepis: zrobić XOR(x,x/2), np. w C: gray = x^(x/2) lub gray = x^(x>> 1) Kodowanie Grey’a ma liczne zastosowania; Wiki o kodowaniu Grey’a W Matlabie: Dla liczby całkowitej I chcemy ciąg a bitów IG=XOR(I,I/2) L(x) = konkatenacja K ciągów Graya, dla (x+j-1)/K, j=1..K L reprezentuje x [0, (2a-1)K] tak, że jeśli |x-y|<K to |L(x)-L(y)|<K Wektor X={xi} zamieniamy na {L(xi)}, długości L=aKA hk(X) wybiera z tego jeden podciąg i daje 1 (obecny) lub 0 (nieobecny). (c) Tralvex Yeap. All Rights Reserved
19
n-ki, algorytm. C klas, wybierz z L bitów podciągi, czyli n-ki. Np. 3-kę a=[b3=0,b4=1,b8=1]. To daje nam adres (funkcję n-ki) i jej położenie. Pozycje bitów h348(a)=(3,4,8) i adresie B(a)=[011] określają n-kę. Liczba n-ek N = dla klasy. Wszystkie n-ki mogą być o tych samych lub różnych długościach. h przypisuje ciągom L-bitów n-ki, odwzorowanie ustalone w sposób przypadkowy by uniknąć jakiegoś szczególnego sposobu wyboru. Klasyfikator = sieć C N elementów, 1 bit/el (n-ka jest/nie). Klasa C, n-ka i=1..N, o adresie B, bit mCiB =1 oznacza obecność i-tej cechy n-ki z adresem B. Wynik: X => Klasa c=arg max_C Sum (mCiB(X)), Interpretacja: złożony obraz, fragmentaryczne dane, sakady oka. (c) Tralvex Yeap. All Rights Reserved
20
n-ki algorytm cd. Trening: zamień X na L(X)
porównaj grupę bitów a wybranych z L bitowych ciągów, zawierającą bity o wartościach B(a) na pozycjach A(a), określonych przez odwzorowanie h , z ustalonymi w n-kach bitami. Jeśli bity są zgodne wstaw bit mCiB =1, nie mCiB =0. Klasyfikacja: wybierz klasę, dla której liczba zgodnych cech mCiB =1 z cechami obecnymi w wzorcach danej klasy jest największa. (c) Tralvex Yeap. All Rights Reserved
21
n-ki zastosowania. Zalety: bardzo szybkie; niewielka pamięć często daje bardzo dobre wyniki Testy: kodowanie Graya z a=5 i K=8. x skalowane do przedziału [0,248], kodowane na 40 bitach. 1000 n-ek przy n=8 dla każdej klasy. Probabilistyczne sieci pRAM (Gorse, Taylor 1988), uogólnienie n-ek, stochastyczne neurony użyteczne dla neurobiologii. Prawdopodobieństwo pu uzyskania 1 na wyjściu. Neurony impulsujące, po uśrednieniu aktywność pu. pRAM zrobiono w VLSI (256 neuronów, 6 wejść). Liczne zastosowania: wykrywanie obiektów w sygnale wideo, prognozowanie, identyfikacja głosu, OCR, biometria, gra Othello, rozpoznawanie twarzy, kontrolery ... (c) Tralvex Yeap. All Rights Reserved
22
Zastosowania - przykłady
Iteracje: z uśredniane wielokrotnie. Np. zi(1) będzie 0 lub 1 jeśli większość bitów yi = 0 lub 1. Jeśli odległość d(z,x) jest zbyt duża ciąg rozbiega się. Pojemność: c(n) N' L. słów/komórkę pamięci c(n) maleje: 16.5% dla n=102, 10% dla n=103, 7% dla n=104 5% dla n=105. Przepełnienie: SDM zapomina stare wzorce. (c) Tralvex Yeap. All Rights Reserved
23
Inne modele bezwagowe Istnieje wiele wariantów przedstawionych tu metod. Wielką zaleta jest możliwość realizacji sprzętowej. Elementy PLN (Probabilistic Logic Nodes): 2 bity: 0, 1, 0.5=? Łączone w piramidy. m-PLN, elementy PLN o m stanach, kilka odpowiedzi. GSN, Goal Seeking Neurons, pamiętają 0, 1, ? Różne architektury, piramidy, rekurencja. GRAM – generalizing RAM, rozmywanie na poziomie elementów. GNU – General Neural Unit, rekurencyjna architektura z węzłami GRAM. (c) Tralvex Yeap. All Rights Reserved
24
Co dalej? Dynamiczne pamięci skojarzeniowe Sieci Hopfielda
Sieci Hebbowskie i modele mózgu Perceptrony proste Perceptrony wielowarstwowe (c) Tralvex Yeap. All Rights Reserved
25
Koniec wykładu 4 Dobranoc (c) Tralvex Yeap. All Rights Reserved
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.