Inteligencja ObliczeniowaInteligencja Obliczeniowa
Binarne modele pamięci Binarne modele pamięci skojarzeniowychskojarzeniowych
Wykład 4
Włodzisław DuchKatedra Informatyki Stosowanej UMK
Google: W. Duch
Neurony logiczneNeurony 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.
Szybka powtórkaSzybka powtórka
• Modele bezwagowe, korelacyjne, Hebbowskie
• Pamięć autoasocjacyjna i rozpoznawcza BCM
• Macierze korelacji.
• Model BAM.
SDM, Sparse Distributed Memory (Kanerva 1988).
Model statystyczny, inspiracja: pamięć w móżdżku.
Jaka jest funkcja neuronu?
Neuron biologiczny wykrywa korelacje (t,x).
1. Sygnały z dendrytów definiują hiperpłaszczyzny dyskryminujące.
2. Sygnały z dendrytów działają jako klucze-adresy.
SDM, Rozproszona Pamięć KomórkowaSDM, Rozproszona Pamięć Komórkowa
0i ii
W x
SDM, cd.1SDM, 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 103-105 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.
SDM, cd.2SDM, 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 = {(W0), (W1), ... (Wn-1)}
Neuron o 4 wejściach, wagach W={}, a =1000, =+1, realizuje funkcję:
Reaguje na ciągi binarne x o odległości Hamminga d(x,a)
0 1 2 3( ) ( )u x x x x x
Próg 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.
SDM, cd.3SDM, cd.3
1 1; ,
2 2
nnN l n
l
/ 2 / 4n n
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
Sieć neuronów - dekodery adresów, pamiętają prototypy ciągów bitów a, reagując na adresy z hipersfery o promieniu .
„ 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.
SDM, cd.4SDM, cd.4
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:
SDM, cd. 5SDM, cd. 5
'
' ' ( )
'( ) 1 1 ( )
1 1 ' ( ) / ' 1
N
N N N d
N d N d
N N d N e
( ) Pr ( , ) | ,N d d x y d x y N
Dla N'=220 oraz n = 1000 98% ciągów bitów ma d(x) pomiędzy 411 do 430 bitów.1 na 10.000 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.
SDM, cd. 6SDM, 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.
SDM, cd. 6SDM, cd. 6
SDM, zastosowaniaSDM, zastosowaniaPamięć rozpoznawcza.Klasyfikacja obiektów.
Cmattie (Anwar, Franklin 2000), „świadomy agent programowy”, wg. teorii Baarsa.
• Realizacje VLSI.• Analiza działania
móżdżku. • Sterowanie?
CMACCMAC
• 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).
CMAC - schemat
Wynik: suma W(hj) dla j=1..G
X
Przestrzeń wejściowa Przestrzeń asocjacji, G=3
Pamięć fizyczna
A W
x1
x2
x3
v
vij
CMAC - działanieCMAC - działanie
Uczenie: pary danych (x,y), odpowiedź sieci C(x)
( ) /i iW W y C x G
• Współczynnik uogólniania G rzędu 10-1000. • 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.
Metoda Metoda nn-ek-ek
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 : 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)
n-ki, sieć. n-ki, sieć.
Np. wejście z siatkówki, próbki obrazu z kilku obszarów pozwalają
na rozpoznanie całego obiektu.
{x}
L bitów
b1
b2
bL
....
+1
-1
+1
Klasa C2
Klasa C1
bity cechwykrywa (1,0,1)
Kodowanie GreyaKodowanie 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ściPrzepis: 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’ahttp://pl.wikipedia.org/wiki/Kod_Graya
W Matlabie:http://www.mathworks.com/matlabcentral/fileexchange/8051-dec2gc-m
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).
nn-ki, algorytm. -ki, algorytm.
C klas, wybierz z L bitów podciągi, czyli n-ki.
Np. 3-kę =[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 =100-1000 dla klasy.
Wszystkie n-ki mogą być o tych samych lub różnych długościach.
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.
nn-ki algorytm cd. -ki algorytm cd.
Trening: • zamień X na L(X)• porównaj grupę bitów wybranych z L bitowych ciągów,
zawierającą bity o wartościach B() na pozycjach A(), określonych przez odwzorowanie , 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.
nn-ki zastosowania. -ki zastosowania. Zalety:• bardzo szybkie; niewielka pamięć• często daje bardzo dobre wynikiTesty: 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 ...
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.
Zastosowania - przykładyZastosowania - przykłady
Inne modele bezwagoweInne 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.
Co dalej? Co dalej?
• Dynamiczne pamięci skojarzeniowe
• Sieci Hopfielda
• Sieci Hebbowskie i modele mózgu
• Perceptrony proste
• Perceptrony wielowarstwowe
Koniec wykładu 4Koniec wykładu 4
Dobranoc
Top Related