Hierarchiczna pamięć czasowa - Hierarchical temporal memory

Hierarchiczna pamięć czasowa ( HTM ) to biologicznie ograniczona technologia inteligencji maszynowej opracowana przez firmę Numenta . Pierwotnie opisany w 2004 roku w książce On Intelligence autorstwa Jeffa Hawkinsa z Sandrą Blakeslee , HTM jest obecnie używany głównie do wykrywania anomalii w przesyłaniu danych. Technologia ta jest oparta na neurologii i fizjologii i interakcji piramidalnych neuronów w korze mózgowej od ssaków (w szczególności człowiekowi ) mózgu.

Podstawą HTM są algorytmy uczenia , które mogą przechowywać, uczyć się, wnioskować i przywoływać sekwencje wyższego rzędu. W przeciwieństwie do większości innych metod uczenia maszynowego , HTM stale uczy się (w procesie nienadzorowanym ) wzorców czasowych w nieoznakowanych danych. HTM jest odporny na hałas i ma dużą pojemność (może uczyć się wielu wzorów jednocześnie). Po zastosowaniu w komputerach HTM doskonale nadaje się do przewidywania, wykrywania anomalii, klasyfikacji i ostatecznie zastosowań sensomotorycznych.

HTM został przetestowany i zaimplementowany w oprogramowaniu poprzez przykładowe aplikacje firmy Numenta oraz kilka komercyjnych aplikacji partnerów Numenty.

Struktura i algorytmy

Typowa sieć HTM to hierarchia poziomów w kształcie drzewa (nie mylić z „ warstwamikory nowej , jak opisano poniżej ). Poziomy te składają się z mniejszych elementów zwanych regionami (lub węzłami). Pojedynczy poziom w hierarchii może zawierać kilka regionów. Wyższe poziomy hierarchii często mają mniej regionów. Wyższe poziomy hierarchii mogą ponownie wykorzystywać wzorce wyuczone na niższych poziomach, łącząc je w celu zapamiętania bardziej złożonych wzorców.

Każdy region HTM ma tę samą podstawową funkcję. W trybach uczenia się i wnioskowania dane sensoryczne (np. dane z oczu) trafiają do regionów dolnego poziomu. W trybie generowania regiony dolnego poziomu wyprowadzają wygenerowany wzór danej kategorii. Najwyższy poziom zwykle zawiera jeden region, w którym przechowywane są najbardziej ogólne i najbardziej trwałe kategorie (koncepcje); te determinują lub są zdeterminowane przez mniejsze pojęcia na niższych poziomach — pojęcia, które są bardziej ograniczone w czasie i przestrzeni. W trybie wnioskowania region (na każdym poziomie) interpretuje informacje pochodzące z jego regionów „dziecięcych” jako prawdopodobieństwa kategorii, które ma w pamięci.

Każdy region HTM uczy się, identyfikując i zapamiętując wzorce przestrzenne — kombinacje bitów wejściowych, które często występują w tym samym czasie. Następnie identyfikuje czasowe sekwencje wzorców przestrzennych, które prawdopodobnie wystąpią jeden po drugim.

Jako ewoluujący model

HTM to algorytmiczny składnik teorii inteligencji Jeffa Hawkinsa „Thousand Brains Theory of Intelligence”. Tak więc nowe odkrycia dotyczące kory nowej są stopniowo włączane do modelu HTM, który zmienia się w czasie w odpowiedzi. Nowe odkrycia niekoniecznie unieważniają poprzednie części modelu, więc pomysły z jednej generacji niekoniecznie są wykluczone w kolejnej. Ze względu na ewolucyjny charakter teorii powstało kilka generacji algorytmów HTM, które pokrótce opisano poniżej.

Pierwsza generacja: zeta 1

Pierwsza generacja algorytmów HTM jest czasami określana jako zeta 1 .

Trening

Podczas uczenia węzeł (lub region) otrzymuje jako dane wejściowe czasową sekwencję wzorców przestrzennych. Proces uczenia się składa się z dwóch etapów:

  1. Te przestrzenne grupowania identyfikuje (na wejściu) często obserwowane wzorce i zapamiętać je jako „zbiegów okoliczności”. Wzorce, które są do siebie znacząco podobne, są traktowane jako ten sam zbieg okoliczności. Duża liczba możliwych wzorców wprowadzania danych została zredukowana do możliwej do opanowania liczby znanych koincydencji.
  2. W czasowe grupowania przegródki zbiegów okoliczności, które są prawdopodobne do naśladowania siebie w sekwencji treningowej na grupy skroniowej. Każda grupa wzorców reprezentuje „przyczynę” wzorca wejściowego (lub „nazwę” w On Intelligence ).

Koncepcje puli przestrzennej i puli czasowej są nadal dość ważne w obecnych algorytmach HTM. Pule czasowe nie są jeszcze dobrze poznane, a ich znaczenie zmieniło się z biegiem czasu (w miarę ewolucji algorytmów HTM).

Wnioskowanie

Podczas wnioskowania węzeł oblicza zestaw prawdopodobieństw, że wzorzec należy do każdego znanego zbiegu okoliczności. Następnie oblicza prawdopodobieństwa, że ​​dane wejściowe reprezentują każdą grupę czasową. Zbiór prawdopodobieństw przypisanych do grup nazywany jest „przekonaniem” węzła na temat wzorca wejściowego. (W uproszczonej implementacji przekonanie węzła składa się tylko z jednej wygrywającej grupy). Przekonanie to jest wynikiem wnioskowania, które jest przekazywane do jednego lub większej liczby węzłów „rodzicowych” na następnym wyższym poziomie hierarchii.

„Nieoczekiwane” wzorce węzła nie mają dominującego prawdopodobieństwa przynależności do jednej grupy czasowej, ale mają prawie równe prawdopodobieństwo przynależności do kilku grup. Jeżeli sekwencje wzorców są podobne do sekwencji treningowych, to przypisane prawdopodobieństwa do grup nie będą się zmieniać tak często, jak otrzymywane są wzorce. Dane wyjściowe węzła nie zmienią się tak bardzo, a rozdzielczość w czasie zostanie utracona.

W bardziej ogólnym schemacie, przekonanie węzła można wysłać na wejście dowolnego węzła (węzłów) na dowolnym poziomie (poziomach), ale połączenia między węzłami są nadal stałe. Węzeł wyższego poziomu łączy te dane wyjściowe z danymi wyjściowymi z innych węzłów podrzędnych, tworząc w ten sposób własny wzorzec wejściowy.

Ponieważ rozdzielczość w przestrzeni i czasie jest tracona w każdym węźle, jak opisano powyżej, przekonania utworzone przez węzły wyższego poziomu reprezentują jeszcze większy zakres czasu i przestrzeni. Ma to odzwierciedlać organizację świata fizycznego tak, jak jest on postrzegany przez ludzki mózg. Większe pojęcia (np. przyczyny, działania i przedmioty) są postrzegane jako zmieniające się wolniej i składają się z mniejszych pojęć, które zmieniają się szybciej. Jeff Hawkins postuluje, że mózgi wyewoluowały ten rodzaj hierarchii, aby dopasowywać, przewidywać i wpływać na organizację świata zewnętrznego.

Więcej szczegółów na temat działania Zeta 1 HTM można znaleźć w starej dokumentacji Numenty.

Druga generacja: algorytmy korowego uczenia się

Druga generacja algorytmów uczenia HTM, często określana jako algorytmy uczenia się korowego ( CLA ), drastycznie różniła się od zeta 1. Opiera się na strukturze danych zwanej rzadkimi rozproszonymi reprezentacjami (czyli strukturze danych, której elementy są binarne, 1 lub 0 i którego liczba bitów 1 jest mała w porównaniu z liczbą bitów 0), aby reprezentować aktywność mózgu i bardziej realistyczny biologicznie model neuronowy (często określany również jako komórka w kontekście HTM). Ta generacja HTM składa się z dwóch podstawowych elementów: algorytmu puli przestrzennej , który generuje rozproszone reprezentacje rozproszone (SDR) oraz algorytmu pamięci sekwencji , który uczy się reprezentować i przewidywać złożone sekwencje.

W tej nowej generacji, te warstwy i minikolumny z kory mózgowej są adresowane i częściowo wzorowany. Każda warstwa HTM (nie mylić z poziomem HTM hierarchii HTM, jak opisano powyżej ) składa się z wielu wysoce połączonych minikolumn. Warstwa HTM tworzy rozproszoną reprezentację ze swoich danych wejściowych, dzięki czemu w dowolnym momencie aktywny jest stały procent minikolumn . Przez minikolumnę rozumie się grupę komórek, które mają to samo pole receptywne . Każda minikolumna ma pewną liczbę komórek, które są w stanie zapamiętać kilka poprzednich stanów. Komórka może znajdować się w jednym z trzech stanów: aktywnym , nieaktywnym i predykcyjnym .

Łączenie przestrzenne

Pole receptywne każdej minikolumny to stała liczba danych wejściowych, które są losowo wybierane ze znacznie większej liczby danych wejściowych węzła. W oparciu o (konkretny) wzorzec wejściowy, niektóre minikolumny będą mniej lub bardziej powiązane z aktywnymi wartościami wejściowymi. Łączenie przestrzenne wybiera względnie stałą liczbę najaktywniejszych minikolumn i dezaktywuje (hamuje) inne minikolumny w sąsiedztwie aktywnych. Podobne wzorce wprowadzania mają tendencję do aktywowania stabilnego zestawu minikolumn. Ilość pamięci używanej przez każdą warstwę można zwiększyć, aby nauczyć się bardziej złożonych wzorców przestrzennych, lub zmniejszyć, aby nauczyć się prostszych wzorców.

Komórki aktywne, nieaktywne i predykcyjne

Jak wspomniano powyżej, komórka (lub neuron) minikolumny w dowolnym momencie może być w stanie aktywnym, nieaktywnym lub predykcyjnym. Początkowo komórki są nieaktywne.

Jak komórki stają się aktywne?

Jeśli jedna lub więcej komórek w aktywnej minikolumnie znajduje się w stanie przewidywania (patrz poniżej), będą one jedynymi komórkami, które staną się aktywne w bieżącym kroku czasowym. Jeśli żadna z komórek w aktywnej minikolumnie nie jest w stanie przewidywania (co ma miejsce podczas początkowego kroku czasowego lub gdy nie oczekiwano aktywacji tej minikolumny), wszystkie komórki stają się aktywne.

Jak komórki stają się predyktywne?

Kiedy komórka staje się aktywna, stopniowo tworzy połączenia z pobliskimi komórkami, które wydają się być aktywne w kilku poprzednich krokach czasowych. W ten sposób komórka uczy się rozpoznawać znaną sekwencję, sprawdzając, czy połączone komórki są aktywne. Jeśli aktywna jest duża liczba połączonych komórek, komórka ta przełącza się w stan predykcyjny w oczekiwaniu na jedno z kilku kolejnych wejść sekwencji.

Wyjście minikolumny

Dane wyjściowe warstwy obejmują minikolumny zarówno w stanie aktywnym, jak i predykcyjnym. Tak więc minikolumny są aktywne przez długi czas, co prowadzi do większej stabilności czasowej obserwowanej przez warstwę macierzystą.

Wnioskowanie i nauka online

Algorytmy uczenia korowego są w stanie uczyć się w sposób ciągły na podstawie każdego nowego wzorca wejściowego, dlatego nie jest potrzebny oddzielny tryb wnioskowania. Podczas wnioskowania HTM próbuje dopasować strumień danych wejściowych do fragmentów wcześniej wyuczonych sekwencji. Pozwala to każdej warstwie HTM na ciągłe przewidywanie prawdopodobnej kontynuacji rozpoznanych sekwencji. Indeks przewidywanej sekwencji jest wynikiem warstwy. Ponieważ przewidywania zmieniają się rzadziej niż wzorce wejściowe, prowadzi to do zwiększenia stabilności czasowej danych wyjściowych na wyższych poziomach hierarchii. Przewidywanie pomaga również uzupełnić brakujące wzorce w sekwencji i zinterpretować niejednoznaczne dane, skłaniając system do wywnioskowania tego, co przewidział.

Zastosowania CAO

Algorytmy Cortical Learning są obecnie oferowane jako komercyjne SaaS firmy Numenta (takiej jak Grok).

Ważność CAO

Następujące pytanie zostało zadane Jeffowi Hawkinsowi we wrześniu 2011 r. w odniesieniu do algorytmów korowego uczenia się: „Skąd wiesz, czy zmiany, które wprowadzasz w modelu, są dobre, czy nie?” Na co Jeff odpowiedział: „Istnieją dwie kategorie odpowiedzi: jedna to spojrzenie na neuronaukę, a druga to metody inteligencji maszynowej. W dziedzinie neuronauki istnieje wiele przewidywań, które możemy poczynić i które można przetestować. Jeśli nasze teorie wyjaśniają szeroki zakres obserwacji neuronaukowych, to mówi nam, że jesteśmy na dobrej drodze. W świecie uczenia maszynowego nie obchodzi ich to, tylko to, jak dobrze działa w praktycznych problemach. to się okaże. W stopniu, w jakim można rozwiązać problem, którego nikt wcześniej nie był w stanie rozwiązać, ludzie zwrócą uwagę”.

Trzecia generacja: wnioskowanie sensomotoryczne

Trzecia generacja opiera się na drugiej generacji i dodaje teorię wnioskowania sensomotorycznego w korze nowej. Teoria ta sugeruje, że kolumny korowe na każdym poziomie hierarchii mogą uczyć się kompletnych modeli obiektów w czasie, a cechy są poznawane w określonych miejscach obiektów. Teoria została rozszerzona w 2018 roku i nazwana Teorią Tysiąca Mózgów.

Porównanie modeli neuronów

Porównanie sztucznej sieci neuronowej (A), neuronu biologicznego (B) i neuronu HTM (C).
Porównanie modeli neuronowych
Sztuczna sieć neuronowa (ANN) Neuron piramidalny kory nowej ( neuron biologiczny ) Neuron modelu HTM
  • Mało synaps
  • Brak dendrytów
  • Suma wejściowa × wagi
  • Uczy się, modyfikując wagi synaps
  • Zainspirowany komórkami piramidowymi w warstwach kory nowej 2/3 i 5
  • Tysiące synaps
  • Aktywne dendryty: komórka rozpoznaje setki unikalnych wzorów
  • Modeluje dendryty i kolce NMDA z każdą macierzą zbieżnych detektorów z zestawem synaps
  • Uczy się modelując wzrost nowych synaps

Porównanie HTM i kory nowej

HTM próbuje zaimplementować funkcjonalność charakterystyczną dla hierarchicznie powiązanej grupy regionów korowych w korze nowej. Regionu z kory nowej odpowiada jednemu lub kilku poziomach w hierarchii HTM, a hipokamp jest zdalnie podobny do najwyższego poziomu HTM. Pojedynczy węzeł HTM może reprezentować grupę kolumn korowych w określonym regionie.

Chociaż jest to przede wszystkim model funkcjonalny, podjęto kilka prób powiązania algorytmów HTM ze strukturą połączeń neuronalnych w warstwach kory nowej. Kora nowa jest zorganizowana w pionowe kolumny składające się z 6 poziomych warstw. Nie należy mylić 6 warstw komórek w korze nowej z poziomami w hierarchii HTM.

Węzły HTM próbują modelować część kolumn korowych (80 do 100 neuronów) z około 20 „komórkami” HTM na kolumnę. HTMs modelują tylko warstwy 2 i 3 w celu wykrycia przestrzennych i czasowych cech danych wejściowych z 1 komórką na kolumnę w warstwie 2 w celu przestrzennego „pulowania” i 1 do 2 tuzinów na kolumnę w warstwie 3 w przypadku puli czasowej. Kluczem do HTM i kory mózgowej jest ich zdolność do radzenia sobie z szumem i zmiennością sygnału wejściowego, która jest wynikiem użycia „rzadkiej reprezentacji rozdzielczej”, w której tylko około 2% kolumn jest aktywnych w danym momencie.

HTM próbuje modelować część procesu uczenia się i plastyczności kory, jak opisano powyżej. Różnice między HTM a neuronami obejmują:

  • sygnały ściśle binarne i synapsy
  • brak bezpośredniego hamowania synaps lub dendrytów (ale symulowane pośrednio)
  • obecnie tylko modele warstwy 2/3 i 4 (nr 5 lub 6)
  • brak sterowania „silnikiem” (warstwa 5)
  • brak sprzężenia zwrotnego między regionami (warstwa 6 wysokiej do warstwy 1 niskiej)

Rzadkie rozproszone reprezentacje

Integracja komponentu pamięci z sieciami neuronowymi ma długą historię, sięgającą wczesnych badań nad rozproszonymi reprezentacjami i samoorganizującymi się mapami . Na przykład w rzadkiej pamięci rozproszonej (SDM) wzorce zakodowane przez sieci neuronowe są używane jako adresy pamięci dla pamięci adresowalnej zawartością , przy czym „neurony” służą zasadniczo jako kodery i dekodery adresów.

Komputery przechowują informacje w gęstych reprezentacjach, takich jak 32-bitowe słowo , gdzie możliwe są wszystkie kombinacje jedynek i zer. Natomiast mózgi używać nieliczne rozproszone reprezentacje (SDR). Ludzka kora nowa ma około 16 miliardów neuronów, ale w danym momencie tylko niewielki procent jest aktywnych. Aktywności neuronów są jak bity w komputerze, więc ich reprezentacja jest rzadka. Podobnie jak SDM opracowane przez NASA w latach 80. i modele przestrzeni wektorowej używane w analizie semantycznej utajonej , HTM wykorzystuje rzadkie rozproszone reprezentacje.

SDR-y używane w HTM to binarne reprezentacje danych składające się z wielu bitów z niewielkim procentem bitów aktywnych (1s); typowa implementacja może mieć 2048 kolumn i 64K sztucznych neuronów, z których tylko 40 może być aktywnych jednocześnie. Chociaż może wydawać się mniej wydajne, aby większość bitów pozostawała „nieużywana” w dowolnej reprezentacji, SDR-y mają dwie główne zalety w porównaniu z tradycyjnymi gęstymi reprezentacjami. Po pierwsze, SDR-y tolerują korupcję i niejednoznaczność ze względu na znaczenie reprezentacji współdzielonej ( rozprowadzanej ) w niewielkim procencie ( rzadkim ) aktywnych bitów. W gęstej reprezentacji odwrócenie pojedynczego bitu całkowicie zmienia znaczenie, podczas gdy w SDR pojedynczy bit może nie wpływać zbytnio na ogólne znaczenie. Prowadzi to do drugiej korzyści SDR: ponieważ znaczenie reprezentacji jest rozłożone na wszystkie aktywne bity, podobieństwo między dwiema reprezentacjami może być użyte jako miara semantycznego podobieństwa w reprezentowanych przez nie obiektach. Oznacza to, że jeśli dwa wektory w SDR mają jedynki w tej samej pozycji, to są one semantycznie podobne w tym atrybucie. Bity w SDR-ach mają znaczenie semantyczne, a znaczenie to jest rozłożone na bity.

Semantyczny składany teoria opiera się na tych właściwościach SDR zaproponowanie nowego modelu semantyki języka, gdzie słowa są zakodowane w SDR słownych oraz podobieństwa pomiędzy warunkami, zdań i tekstów można obliczyć za pomocą prostych środków dystansowych.

Podobieństwo do innych modeli

Sieci bayesowskie

Podobny do sieci bayesowskiej , HTM składa się ze zbioru węzłów ułożonych w hierarchię w kształcie drzewa. Każdy węzeł w hierarchii wykrywa szereg przyczyn we wzorcach wejściowych i otrzymywanych sekwencjach czasowych. Algorytm rewizji przekonań Bayesa jest używany do propagowania przekonań sprzężenia do przodu i sprzężenia zwrotnego od węzłów potomnych do węzłów rodzicielskich i vice versa. Jednak analogia do sieci bayesowskich jest ograniczona, ponieważ HTM mogą być samouczone (tak, że każdy węzeł ma jednoznaczny związek rodzinny), radzić sobie z danymi wrażliwymi na czas i przyznawać mechanizmy ukrytej uwagi .

Tai Sing Lee i David Mumford zaproponowali wcześniej teorię hierarchicznych obliczeń korowych opartych na bayesowskiej propagacji przekonań . Chociaż HTM jest w większości zgodny z tymi pomysłami, dodaje szczegóły dotyczące obsługi niezmiennych reprezentacji w korze wzrokowej.

Sieci neuronowe

Jak każdy system modelujący szczegóły kory nowej, HTM można postrzegać jako sztuczną sieć neuronową . Hierarchia w kształcie drzewa powszechnie stosowana w HTM przypomina zwykłą topologię tradycyjnych sieci neuronowych. HTM próbują modelować kolumny korowe (od 80 do 100 neuronów) i ich interakcje z mniejszą liczbą „neuronów” HTM. Celem obecnych modeli HTM jest uchwycenie jak największej liczby funkcji neuronów i sieci (tak jak są one obecnie rozumiane) w ramach możliwości typowych komputerów oraz w obszarach, które można łatwo uczynić użytecznymi, takich jak przetwarzanie obrazów. Na przykład nie podejmuje się prób sprzężenia zwrotnego z wyższych poziomów i kontroli motorycznej, ponieważ nie wiadomo jeszcze, jak je włączyć, a zamiast zmiennych synaps stosuje się synapsy, ponieważ uznano, że są wystarczające w obecnych możliwościach HTM.

LAMINART i podobne sieci neuronowe badane przez Stephena Grossberga próbują modelować zarówno infrastrukturę kory mózgowej, jak i zachowanie neuronów w ramach czasowych, aby wyjaśnić dane neurofizjologiczne i psychofizyczne. Jednak sieci te są obecnie zbyt złożone, aby można je było realistycznie zastosować.

HTM jest również powiązany z pracą Tomaso Poggio , w tym z podejściem do modelowania brzusznego strumienia kory wzrokowej znanym jako HMAX. Podobieństwa HTM do różnych pomysłów na sztuczną inteligencję zostały opisane w grudniowym numerze magazynu Artificial Intelligence z grudnia 2005 roku.

Neokognitron

Neocognitron , hierarchiczna wielowarstwowa sieć neuronowa zaproponowana przez profesora Kunihiko Fukushimę w 1987 roku, jest jednym z pierwszych modeli sieci neuronowych głębokiego uczenia .

Platforma NuPIC i narzędzia programistyczne

Numenta Platforma Intelligent Computing (NuPIC) jest jednym z kilku dostępnych wdrożeń HTM . Niektóre są dostarczane przez firmę Numenta , a niektóre są rozwijane i utrzymywane przez społeczność open source HTM .

NuPIC zawiera implementacje puli przestrzennej i pamięci czasowej zarówno w C++, jak i Pythonie. Zawiera również 3 interfejsy API . Użytkownicy mogą budować systemy HTM przy użyciu bezpośrednich implementacji algorytmów lub budować sieć przy użyciu interfejsu API sieci , który jest elastycznym frameworkiem do konstruowania skomplikowanych powiązań między różnymi warstwami kory.

NuPIC 1.0 został wydany w lipcu 2017 roku, po czym baza kodu została przełączona w tryb konserwacji. Bieżące badania są kontynuowane w bazach kodów badawczych Numenta .

Aplikacje

Przy użyciu NuPIC dostępne są następujące aplikacje komercyjne:

W NuPIC dostępne są następujące narzędzia:

Następujące przykładowe aplikacje są dostępne na NuPIC, zobacz numenta.com/applications/ :

  • HTM dla akcji – przykład śledzenia anomalii na giełdzie (przykładowy kod)
  • Wykrywanie nieuczciwych zachowań – przykład znajdowania anomalii w ludzkim zachowaniu (biała księga i przykładowy kod)
  • Śledzenie geoprzestrzenne – przykład znajdowania anomalii w obiektach poruszających się w czasie i przestrzeni (biała księga i przykładowy kod)

Zobacz też

Powiązane modele

Bibliografia

Linki zewnętrzne

Urzędnik

Inny