Эта память демонстрирует поведение, как в теории, так и в эксперименте, которое напоминает поведение, ранее недоступное машинам, например, быстрое распознавание лиц или запахов, открытие новых связей между, казалось бы, не связанными идеями и т. д. Разреженная распределенная память используется для хранения и извлечения больших объемов ( битов ) информации, не фокусируясь на точности, а на сходстве информации. [2] Есть некоторые недавние приложения в навигации роботов [3] и манипуляции роботами на основе опыта. [4]
Общий принцип
Это обобщенная память с произвольным доступом (RAM) для длинных (например, 1000 бит) двоичных слов. Эти слова служат как адресами, так и данными для памяти. Главным свойством памяти является чувствительность к сходству. Это означает, что слово можно прочитать обратно не только указав исходный адрес записи, но и указав близкий к нему, измеряемый числом несовпадающих битов (т. е. расстоянием Хэмминга между адресами памяти ). [1]
SDM реализует преобразование из логического пространства в физическое с использованием распределенного представления и хранения данных, аналогично процессам кодирования в человеческой памяти. [5] Значение, соответствующее логическому адресу, хранится во многих физических адресах. Этот способ хранения является надежным и недетерминированным. Ячейка памяти не адресуется напрямую. Если входные данные (логические адреса) частично повреждены, мы все равно можем получить правильные выходные данные. [6]
Теория памяти математически полна [1] и была проверена компьютерным моделированием . Она возникла из наблюдения, что расстояния между точками многомерного пространства напоминают отношения близости между понятиями в человеческой памяти. Теория также практична в том, что основанные на ней воспоминания могут быть реализованы с помощью обычных элементов памяти с произвольным доступом . [7]
Определение
Человеческая память имеет тенденцию объединять воспоминания на основе сходств между ними (хотя они могут быть не связаны), например, «пожарные машины красные и яблоки красные». [8] Разреженная распределенная память является математическим представлением человеческой памяти и использует многомерное пространство для моделирования больших объемов памяти, имитирующих память человеческой нейронной сети. [9] [10] Важным свойством таких многомерных пространств является то, что два случайно выбранных вектора находятся относительно далеко друг от друга, что означает, что они некоррелированы. [11] SDM можно считать реализацией локально-чувствительного хеширования .
Основная идея SDM заключается в отображении огромной двоичной памяти на меньший набор физических расположений, так называемых жестких расположений . В качестве общего правила, эти жесткие расположения должны быть равномерно распределены в виртуальном пространстве , чтобы максимально точно имитировать существование большего виртуального пространства. Каждый элемент данных хранится распределенным по набору жестких расположений и извлекается путем усреднения этих расположений. Поэтому отзыв может быть не идеальным, точность зависит от насыщенности памяти.
Предложение Канервы основано на четырех основных идеях: [12]
Булевое пространство , или точки в измерениях, демонстрирует свойства, которые похожи на интуитивные представления людей об отношениях между концепциями. Это означает, что имеет смысл хранить данные как точки упомянутого пространства, где каждый элемент памяти хранится как n-битный вектор.
Нейроны с n входами могут использоваться как декодеры адресов оперативной памяти
Принцип унификации: данные, хранящиеся в памяти, могут использоваться как адреса к той же памяти. Расстояние между двумя точками является мерой сходства между двумя элементами памяти. Чем ближе точки, тем более похожи хранимые векторы.
Время можно проследить в памяти в зависимости от того, где хранятся данные, если данные организованы в виде последовательности событий.
Двоичное пространство N
SDM работает с n-мерными векторами с двоичными компонентами. В зависимости от контекста векторы называются точками, шаблонами, адресами, словами, элементами памяти, данными или событиями. Этот раздел в основном посвящен свойствам векторного пространства N = . Пусть n — число измерений пространства. Тогда число точек или возможных элементов памяти равно . Мы обозначим это число через N и будем использовать N и для обозначения самого пространства. [6]
Концепции, связанные с пространством N: [6]
Начало координат , 0: Точка со всеми координатами 0 называется началом координат, 0 = 000...00.
Дополнение , 'x: Дополнением, или противоположностью, точки x является n-кортеж, в котором единицы есть там, где x есть нули, и наоборот.
Норма , |x|: Норма точки x — это число единиц в ее двоичном представлении.
Разность , x − y: Разность двух точек x и y — это n-кортеж, в котором единицы там, где x и y различаются, и нули в остальных местах. Это побитовое « исключающее ИЛИ »: x − y = x ⊕ y. Разность коммутирует: x − y = y − x.
Расстояние , d(x, y) Расстояние между двумя точками x и y — это число измерений, в которых различаются x и y. Оно называется расстоянием Хэмминга (его квадратный корень — это евклидово расстояние ) и выражается в битах. Расстояние — это норма разности: d(x, y) = |x − y|
Промежуточность , x:y:z: Точка y находится между точками x и z тогда и только тогда, когда расстояние от x до z равно сумме расстояний от x до y и от y до z; то есть x:y:z ⇔ d(x, z) = d(x, y) + d(y, z). Легко видеть, что каждый бит точки между ними является копией соответствующего бита конечной точки.
Ортогональность , x ⊥ y: Точка x ортогональна точке y, или они перпендикулярны или индифферентны, тогда и только тогда, когда расстояние между ними равно половине числа измерений: x ⊥ y ⇔ d(x, y) = n/2. Расстояние n/2 называется расстоянием индифферентности пространства N. Если x ортогонален y, он также ортогонален своему дополнению 'y (x находится на полпути между y и 'y).
Окружность , O(r,x) Окружность с радиусом r и центром x — это множество точек, которые находятся не более чем на r бит от x: O(r,x) = {y | d(x, y) ≤ r}.
Свойства пространства N: [1] [6]
Пространство N может быть представлено вершинами единичного куба в n-мерном евклидовом пространстве . Вершины лежат на поверхности n-мерной сферы с (евклидово-метрическим) радиусом . Это приводит к аналогии со сферой . Мы будем называть пространство сферическим, если
любая точка x имеет единственную противоположность 'x,
все пространство находится между любой точкой x и ее противоположностью 'x, и
все точки «равны» (это означает, что для любых двух точек x и y существует сохраняющий расстояние автоморфизм пространства, который отображает x в y, так что из любой его точки пространство «выглядит» одинаково).
Поверхность сферы (в евклидовом 3d-пространстве) очевидно сферическая. Согласно определению, N также сферическая, поскольку y ⊕ x ⊕ (…) — это автоморфизм, который отображает x в y. Поскольку N сферическая, полезно думать о ней как о поверхности сферы с окружностью 2n. Все точки N в равной степени квалифицируются как точки начала координат, а точка и ее дополнение подобны двум полюсам на расстоянии n друг от друга, со всем пространством между ними. Точки, находящиеся на полпути между полюсами и перпендикулярные им, подобны экватору.
Распределение пространства N
Число точек, которые находятся на расстоянии ровно d бит от произвольной точки x (скажем, от точки 0), представляет собой число способов выбора d координат из общего числа n координат и, следовательно, задается биномиальным коэффициентом :
Распределение N, таким образом, является биномиальным распределением с параметрами n и p, где p = 1/2. Среднее значение биномиального распределения равно n/2, а дисперсия равна n/4. Эту функцию распределения будем обозначать как N(d). Нормальное распределение F со средним значением n/2 и стандартным отклонением является хорошим приближением к нему: N(d) = Pr{d(x, y) ≤ d} ≅ F{(d − n / 2)/ }
Тенденция к ортогональности
Выдающимся свойством N является то, что большая его часть лежит примерно на среднем (безразличном) расстоянии n/2 от точки (и ее дополнения). Другими словами, большая часть пространства почти ортогональна любой заданной точке, и чем больше n, тем сильнее выражен этот эффект.
SDM вычисляет расстояния Хэмминга между опорным адресом и каждым адресом местоположения. Для каждого расстояния, которое меньше или равно заданному радиусу, выбирается соответствующее местоположение.
Память представлена счетчиками (где n — количество ячеек, а m — длина входных данных) вместо однобитовых элементов хранения.
Запись в память вместо перезаписи происходит следующим образом:
если i-бит входных данных равен 1, соответствующие счетчики (счетчики в выбранных местах (строках) и в i-м столбце) увеличиваются,
если i-бит входных данных равен 0, соответствующие счетчики уменьшаются.
Чтение (или припоминание) из памяти происходит аналогично:
Содержимое выбранных местоположений суммируется по столбцам.
Каждая сумма пороговая. Если сумма больше или равна пороговому значению, соответствующий выходной бит устанавливается в 1, в противном случае он очищается. Обратите внимание, что пороги могут быть нулевыми, если обучающие входные векторы близки к ортогональным.
Модель нейрона
Идеализированное описание нейрона выглядит следующим образом: нейрон имеет клеточное тело с двумя типами ответвлений: дендритами и аксоном . Он получает входные сигналы от других нейронов через дендриты, интегрирует (суммирует) их и генерирует свой собственный (электрический) выходной сигнал, который отправляется внешним нейронам через аксон. Точки электрического контакта между нейронами называются синапсами .
Когда нейрон генерирует сигнал, он активируется , и после активации он должен восстановиться , прежде чем активироваться снова. Относительная важность синапса для активации нейрона называется синаптическим весом (или входным коэффициентом ). Существует два вида синапсов: возбуждающие , которые запускают нейрон для активации , и тормозные , которые препятствуют активации. Нейрон является либо возбуждающим, либо тормозным в зависимости от типа синапсов, которые создает его аксон. [14]
Нейрон активируется, когда сумма входов превышает определенный порог . Чем выше порог, тем важнее, чтобы возбуждающие синапсы имели вход, а тормозные — нет. [15] То, действительно ли активируется восстановленный нейрон, зависит от того, получил ли он достаточно возбуждающего входа (выше порога) и не слишком много тормозного входа в течение определенного периода.
Формальная модель нейрона делает дальнейшие упрощающие предположения. [16] Нейрон с n входами моделируется линейной пороговой функцией следующим образом:
Для где n — число входов, пусть будет выходом в момент времени t : , и пусть будет i -м входом в момент времени t : . Пусть будет весом i -го входа и пусть будет порогом.
Взвешенная сумма входов в момент времени t определяется как
Выход нейрона в момент времени t затем определяется как булева функция :
Где F t =1 означает, что нейрон активируется в момент времени t , а F t =0 — что нет, то есть для того, чтобы нейрон активировался, взвешенная сумма должна достичь или превысить порог. Возбуждающие входы увеличивают сумму, а тормозящие — уменьшают.
Нейрон как декодер адреса
Ключевой тезис Канерва [1] заключается в том, что некоторые нейроны могут иметь свои входные коэффициенты и пороги, фиксированные на протяжении всей жизни организма, и использоваться в качестве декодеров адресов, где n -кортеж входных коэффициентов (шаблон, на который нейроны реагируют наиболее легко) определяет n -битный адрес памяти, а порог контролирует размер области схожих адресных шаблонов, на которые реагирует нейрон.
Этот механизм является дополнительным к регулируемым синапсам или регулируемым весам в нейронной сети ( обучение конвергенции персептрона ), поскольку этот фиксированный механизм доступа будет постоянной системой отсчета , которая позволяет выбирать синапсы, в которых хранится информация и из которых она извлекается при заданном наборе обстоятельств. Более того, кодирование текущих обстоятельств будет служить адресом.
Адрес a нейрона с входными коэффициентами w , где определяется как n- битный входной шаблон, который максимизирует взвешенную сумму. Максимум достигается, когда ингибирующие входы равны нулю, а возбуждающие входы равны единице. i -й бит адреса равен:
(предполагая, что веса не равны нулю)
Тогда максимальная взвешенная сумма представляет собой сумму всех положительных коэффициентов:
А минимальная взвешенная сумма будет соответствовать точке напротив адреса нейрона a`:
Когда порог c находится в диапазоне, выход нейрона равен 0 для некоторых адресов (входных шаблонов) и 1 для других. Если порог выше S, выход всегда равен 0, если он ниже s, выход всегда равен 1. Таким образом, при правильном выборе порога нейрон реагирует только на один адрес. Когда порог равен S (максимум для взвешенной суммы), нейрон реагирует только на свой собственный адрес и действует как декодер адреса обычной памяти с произвольным доступом .
Расположение памяти
SDM разработан для работы с шаблонами адресов, которые охватывают огромное адресное пространство (порядок ). SDM предполагает, что шаблоны адресов, фактически описывающие физические ситуации, представляющие интерес, разбросаны по всему входному пространству. Невозможно зарезервировать отдельное физическое местоположение, соответствующее каждому возможному входу; SDM реализует только ограниченное количество физических или жестких местоположений. Физическое местоположение называется местоположением памяти (или жестким местоположением ). [7]
С каждым жестким местоположением связаны два элемента:
фиксированный жесткий адрес, который представляет собой N-битный адрес местоположения
часть содержимого, которая имеет ширину M-бит и может накапливать несколько шаблонов данных M-бит, записанных в ячейку. Часть содержимого не фиксирована; она изменяется шаблонами данных, записанными в память.
В SDM слово может быть сохранено в памяти путем записи его в свободное место хранения и в то же время предоставления места с соответствующим декодером адреса. Нейрон как декодер адреса будет выбирать место на основе сходства адреса места с подсказкой поиска. В отличие от обычных машин Тьюринга SDM использует преимущества параллельных вычислений декодерами адреса . Простой доступ к памяти рассматривается как вычисление, объем которого увеличивается с размером памяти. [1]
Шаблон адреса
Вектор N-бит, используемый при записи в память и чтении из нее. Шаблон адреса — это закодированное описание состояния окружающей среды. (Например, N = 256.)
Модель данных
M-битный вектор, который является объектом операций записи и чтения. Как и шаблон адреса, это кодированное описание состояния окружающей среды. (Например, M = 256.)
Письмо
Запись — это операция сохранения шаблона данных в памяти с использованием определенного шаблона адреса. Во время записи входные данные в память состоят из шаблона адреса и шаблона данных. Шаблон адреса используется для выбора ячеек жесткой памяти, чьи жесткие адреса находятся в пределах определенного расстояния от шаблона адреса. Шаблон данных сохраняется в каждой из выбранных ячеек.
Чтение
Чтение — это операция извлечения шаблона данных из памяти с использованием определенного шаблона адреса. Во время чтения шаблон адреса используется для выбора определенного количества ячеек жесткой памяти (так же, как и во время записи). Содержимое выбранных ячеек побитно суммируется и порогируется для получения M-битного шаблона данных. Это служит выходом, считанным из памяти.
Цепи указателей
Все элементы связаны в один список (или массив) указателей на ячейки памяти и хранятся в оперативной памяти. Каждый адрес в массиве указывает на отдельную строку в памяти. Затем эта строка возвращается, если она похожа на другие строки. Нейроны используются как декодеры и кодировщики адресов, подобно тому, как нейроны работают в мозге, и возвращают элементы из массива, которые совпадают или похожи.
Критическое расстояние
Модель памяти Канервы имеет концепцию критической точки : до этой точки ранее сохраненный элемент может быть легко извлечен; но после этой точки элемент не может быть извлечен. Канерва методично вычислил эту точку для определенного набора (фиксированных) параметров. Соответствующее критическое расстояние разреженной распределенной памяти можно приблизительно оценить, минимизируя следующее уравнение с ограничением и . Доказательство можно найти в [17] [18]
Где:
: расстояние до цели;
: количество измерений;
: нормализованное нормальное распределение со средним значением, равным нулю, и дисперсией, равной единице;
: количество раз, которое целевая битовая строка была записана в память;
: сумма случайных битовых строк во всех жестких ячейках, активированных операцией чтения; т. е. размер сборки ячеек;
: среднее число общих жестких локаций, активируемых двумя битовыми строками , находящимися друг от друга. Некоторые значения для 1000-мерного SDM можно найти в книге Канервы, Таблица 7.1, стр. 63, или уравнения для расчета любого SDM в Приложении B, стр. 125 той же книги.
Вероятностная интерпретация
Ассоциативная система памяти, использующая разреженные, распределенные представления, может быть переосмыслена как выборка важности , метод Монте-Карло аппроксимации байесовского вывода . [19] SDM можно считать аппроксимацией Монте-Карло для многомерного условного интеграла вероятности. SDM будет выдавать приемлемые ответы из обучающего набора, когда это приближение является действительным, то есть когда обучающий набор содержит достаточно данных для обеспечения хороших оценок базовых совместных вероятностей и есть достаточно выборок Монте-Карло для получения точной оценки интеграла. [20]
Биологическая правдоподобность
Разреженное кодирование может быть общей стратегией нейронных систем для увеличения объема памяти. Чтобы адаптироваться к окружающей среде, животные должны узнать, какие стимулы связаны с поощрениями или наказаниями, и отличить эти усиленные стимулы от похожих, но нерелевантных. Такая задача требует внедрения ассоциативной памяти , специфичной для стимула , в которой только несколько нейронов из популяции реагируют на любой заданный стимул, и каждый нейрон реагирует только на несколько стимулов из всех возможных стимулов.
Теоретическая работа Канервы по SDM предполагает, что разреженное кодирование увеличивает емкость ассоциативной памяти за счет уменьшения перекрытия между представлениями. Экспериментально разреженные представления сенсорной информации наблюдались во многих системах, включая зрение, [21] слух, [22] осязание , [23] и обоняние. [24] Однако, несмотря на накапливающиеся доказательства широко распространенного разреженного кодирования и теоретические аргументы в пользу его важности, демонстрация того, что разреженное кодирование улучшает специфичность стимула ассоциативной памяти, отсутствовала до недавнего времени.
Определенный прогресс был достигнут в 2014 году лабораторией Геро Мизенбека в Оксфордском университете, анализируя обонятельную систему дрозофилы . [25]
У дрозофилы разреженное кодирование запаха клетками Кеньона грибовидного тела , как полагают, генерирует большое количество точно адресуемых мест для хранения специфичных для запаха воспоминаний. Лин и др. [26] продемонстрировали, что разреженность контролируется отрицательной обратной связью между клетками Кеньона и ГАМКергическим передним парным латеральным (APL) нейроном. Систематическая активация и блокада каждой ветви этой обратной связи показывают, что клетки Кеньона активируют APL, а APL ингибирует клетки Кеньона. Нарушение петли обратной связи между клетками Кеньона и APL уменьшает разреженность реакций на запах клеток Кеньона, увеличивает корреляции между запахами и не позволяет мухам научиться различать похожие, но не разные запахи. Эти результаты показывают, что ингибирование обратной связи подавляет активность клеток Кеньона для поддержания разреженного, декоррелированного кодирования запаха и, таким образом, специфичности запаха воспоминаний. Публикация 2017 года в журнале Science [27] показала, что обонятельная схема мухи реализует улучшенную версию бинарного локально-чувствительного хеширования с помощью разреженных случайных проекций.
Приложения
В приложениях памяти слова являются моделями признаков. Некоторые признаки производятся сенсорной системой, другие контролируют двигательную систему. Существует текущий шаблон (например, 1000 бит), который является текущим содержимым фокуса системы . Датчики поступают в фокус, двигатели приводятся в действие из фокуса, и доступ к памяти осуществляется через фокус.
То, что происходит в мире – «субъективный» опыт системы – внутренне представлено последовательностью шаблонов в фокусе. Память хранит эту последовательность и может воссоздать ее позже в фокусе, если обратиться к шаблону, похожему на тот, который встречался в прошлом. Таким образом, память учится предсказывать , что должно произойти. Широкое применение памяти будет в системах, которые имеют дело с информацией реального мира в реальном времени.
SDM можно применять к задаче поиска наилучшего соответствия тестовому слову в наборе данных сохранённых слов. [1] [29] или, другими словами, к задаче поиска ближайшего соседа .
Рассмотрим память с N ячейками, где . Пусть каждая ячейка имеет емкость для одного n -битного слова (например, N = 2 100 100-битных слов), и пусть декодирование адреса выполняется N нейронами декодера адреса. Установите порог каждого нейрона x на его максимальную взвешенную сумму и используйте общий параметр d для настройки всех порогов при доступе к памяти. Эффективный порог нейрона x будет тогда , что означает, что ячейка x доступна каждый раз, когда адрес x находится в пределах d бит адреса, представленного в памяти (т. е. адреса, хранящегося в регистре адреса). С у нас есть обычная память с произвольным доступом . Предположим далее, что каждая ячейка имеет специальный бит , занятый ячейкой , к которому можно получить доступ так же, как и к обычным битам данных. Запись слова в ячейку устанавливает этот бит , занятый ячейкой . Предположим, что можно прочитать только занятую ячейку.
Чтобы записать данные в память, начните с установки и выдачи команды на очистку бита занятого местоположения . Эта единственная операция помечает всю память как незанятую независимо от значений регистра адреса. Затем установите и запишите каждое слово y набора данных с самим y в качестве адреса. Обратите внимание, что каждая операция записи влияет только на одно местоположение: местоположение y . Таким образом, время заполнения пропорционально количеству слов в наборе данных.
Поиск наилучшего соответствия для тестового слова z включает размещение z в регистре адреса и нахождение наименьшего расстояния d , для которого есть занятое место. Мы можем начать поиск, последовательно устанавливая и увеличивая d, пока не будет найдено занятое место. Этот метод дает среднее время поиска, пропорциональное количеству адресных бит или немного меньше [1], поскольку можно ожидать, что ближайшее занятое место будет находиться чуть меньше бит от z (при бинарном поиске по d это будет O(log(n)).
При 100-битных словах потребуется 2 100 ячеек, т. е. чрезвычайно большая память. Однако, если мы создаем память, сохраняя слова набора данных, нам понадобится только одна ячейка (и один декодер адреса) для каждого слова набора данных. Ни одна из незанятых ячеек не должна присутствовать. Это представляет собой аспект разреженности в SDM.
Распознавание речи
SDM может применяться при транскрибировании речи , при этом обучение состоит из «прослушивания» большого корпуса устной речи . Две сложные проблемы с естественной речью — как обнаружить границы слов и как подстроиться под разных говорящих. Память должна уметь справляться с обеими. Во-первых, она хранит последовательности шаблонов в виде цепочек указателей. При обучении — при прослушивании речи — она будет строить вероятностную структуру с самой высокой частотой разветвлений на границах слов. При транскрибировании речи эти точки разветвления обнаруживаются и, как правило, разбивают поток на сегменты, соответствующие словам. Во-вторых, чувствительность памяти к сходству — это ее механизм для подстройки под разных говорящих — и под изменения в голосе одного и того же говорящего. [7]
«Осознание забывания»
Функции распада
В Мемфисском университете Ума Рамамурти, Сидни К. Д'Мелло и Стэн Франклин создали модифицированную версию системы разреженной распределенной памяти, которая представляет собой «осознание забывания». Она использует уравнение распада для лучшего отображения помех в данных. Система разреженной распределенной памяти распределяет каждый шаблон примерно в одну сотую часть мест, [ необходимо разъяснение ], поэтому помехи могут иметь пагубные результаты. [30]
Представлены два возможных примера распада этой модифицированной разреженной распределенной памяти.
Механизм экспоненциального распада:
Механизм распада отрицательно-транслируемой сигмовидной формы:
В экспоненциальной функции распада она приближается к нулю быстрее, когда x увеличивается, а a является константой (обычно между 3-9), а c является счетчиком. Для отрицательно- транслированной сигмоидальной функции распад аналогичен экспоненциальной функции распада, когда a больше 4. [30]
Приближаясь к 0, график отображает процесс забывания памяти с использованием механизмов распада.
Генетическая разреженная распределенная память
Ашраф Анвар, Стэн Франклин и Дипанкар Дасгупта из Мемфисского университета предложили модель инициализации SDM с использованием генетических алгоритмов и генетического программирования (1999).
Генетическая память использует генетический алгоритм и разреженную распределенную память как псевдоискусственную нейронную сеть. Она рассматривалась для использования в создании искусственной жизни. [31]
Статистическое предсказание
SDM применялся к статистическому прогнозированию , задаче связывания чрезвычайно больших векторов перцептуального состояния с будущими событиями. В условиях близкой или избыточной емкости, когда ассоциативное поведение памяти модели нарушается, обработка, выполняемая моделью, может быть интерпретирована как обработка статистического предиктора, и каждый счетчик данных в SDM может рассматриваться как независимая оценка условной вероятности того, что двоичная функция f будет равна набору активации, определенному местоположением памяти счетчика. [32]
Искусственный интеллект
LIDA использует разреженную распределенную память для помощи в моделировании познания в биологических системах. Разреженная распределенная память помещает пространство, вспоминая или распознавая объект, который он имеет по отношению к другим объектам. Она была разработана Стэном Франклином, создателем «осознающей забывчивости» модифицированной системы разреженной распределенной памяти. [33] Кратковременные эпизодические и декларативные воспоминания имеют распределенные представления в LIDA (основанные на модифицированной версии SDM [34] ), есть доказательства, что это также имеет место в нервной системе. [35]
SDM предоставляют линейную схему аппроксимации локальной функции , разработанную для работы, когда очень большое/высокоразмерное входное (адресное) пространство должно быть отображено в гораздо меньшую физическую память . В общем, локальные архитектуры, включая SDM, могут быть подвержены проклятию размерности , поскольку некоторые целевые функции могут потребовать, в худшем случае, экспоненциального числа локальных единиц для точной аппроксимации по всему входному пространству. Однако широко распространено мнение, что большинству систем принятия решений нужна высокая точность только вокруг низкоразмерных многообразий пространства состояний или важных «магистралей» состояний. [37] Работа Ратича и др. [38] объединила модель памяти SDM с идеями обучения на основе памяти , которое предоставляет аппроксиматор, который может динамически адаптировать свою структуру и разрешение для того, чтобы находить области пространства состояний, которые «более интересны» [39] , и выделять пропорционально больше ресурсов памяти для их точного моделирования.
Индексация объектов в компьютерном зрении
Лаборатория Даны Х. Балларда [40] продемонстрировала универсальную технику индексации объектов для компьютерного зрения , которая сочетает достоинства анализа главных компонентов с благоприятными свойствами сопоставления многомерных пространств для достижения высокоточного распознавания. Алгоритм индексации использует активную систему зрения в сочетании с модифицированной формой SDM и предоставляет платформу для изучения связи между внешним видом объекта и его идентичностью.
Расширения
Было предложено много расширений и улучшений SDM, например:
Пространство троичной памяти: Это позволяет использовать память в качестве временной эпизодической памяти (TEM) в когнитивных программных агентах . TEM — это память с высокой специфичностью и низкой степенью сохранения, используемая для событий, имеющих особенности определенного времени и места. [41] [42]
Целочисленный SDM, который использует модульные арифметические целочисленные векторы вместо двоичных векторов. Это расширение улучшает возможности представления памяти и является более надежным по сравнению с нормализацией. Его также можно расширить для поддержки забывания и надежного хранения последовательностей. [11]
Использование векторов слов большего размера, чем адресные векторы: Это расширение сохраняет многие из желаемых свойств исходного SDM: автоассоциируемость, адресуемость содержимого, распределенное хранение и надежность по шумным входам. Кроме того, оно добавляет новые функциональные возможности, позволяя эффективное автоассоциативное хранение последовательностей векторов, а также других структур данных, таких как деревья. [43]
Построение SDM из спайковых нейронов : несмотря на биологическое сходство SDM, большая часть работ, предпринятых для демонстрации его возможностей на сегодняшний день, использовала высоко искусственные модели нейронов, которые абстрагируются от реального поведения нейронов в мозге . Недавняя работа лаборатории Стива Фербера в Университете Манчестера [44] [45] [46] предложила адаптации к SDM, например, путем включения кодов ранга N-из-M [47] [48] в то, как популяции нейронов могут кодировать информацию, что может сделать возможным построение варианта SDM из биологически правдоподобных компонентов. Эта работа была включена в SpiNNaker (Spiking Neural Network Architecture) , которая используется в качестве нейроморфной вычислительной платформы для проекта «Человеческий мозг» . [49]
Неслучайное распределение расположений: [50] [51] Хотя расположения хранения изначально распределены случайным образом в двоичном адресном пространстве N, окончательное распределение расположений зависит от представленных входных шаблонов и может быть неслучайным, что обеспечивает большую гибкость и обобщение . Шаблон данных сначала сохраняется в расположениях, которые находятся ближе всего к входному адресу. Затем сигнал (т. е. шаблон данных) распространяется по всей памяти, и небольшой процент силы сигнала (например, 5%) теряется в каждом последующем обнаруженном расположении. Распределение сигнала таким образом устраняет необходимость в выборе радиуса чтения/записи, одной из проблемных особенностей исходного SDM. Все расположения, выбранные в операции записи, теперь не получают копию исходного двоичного шаблона с равной силой. Вместо этого они получают копию шаблона, взвешенную с действительным значением от 1,0 до 0,05, для хранения в действительных счетчиках (а не в двоичных счетчиках в SDM Канервы). Это вознаграждает ближайшие местоположения большей силой сигнала и использует естественную архитектуру SDM для ослабления силы сигнала. Аналогично при чтении из памяти выход из ближайших местоположений получает больший вес, чем из более удаленных местоположений. Новый метод сигнала позволяет использовать общую силу сигнала, полученную местоположением, в качестве меры пригодности местоположения и является гибким для изменения входных данных (поскольку коэффициент потерь не должен меняться для входных шаблонов разной длины).
SDMSCue (разреженная распределенная память для небольших сигналов): Ашраф Анвар и Стэн Франклин из Мемфисского университета в 2002 году представили вариант SDM, способный обрабатывать небольшие сигналы, а именно SDMSCue. Основная идея заключается в использовании множественных операций чтения/записи и пространственных проекций для достижения последовательно более длинного сигнала. [52]
Двоичные векторные символы C (CBVS): включает реализацию SDM на языке C как часть векторной символической архитектуры [56], разработанной EISLAB в Технологическом университете Лулео : http://pendicular.net/cbvs.php Архивировано 25 сентября 2015 г. на Wayback Machine [57]
CommonSense ToolKit (CSTK) для обработки данных датчиков в реальном времени, разработанный в Ланкастерском университете, включает реализацию SDM на языке C++ : http://cstk.sourceforge.net/ [58]
^ abcdefgh Канерва, Пентти (1988). Разреженная распределенная память . MIT Press. ISBN978-0-262-11132-4.
^ Канерва, Пентти (1988). Разреженная распределенная память . Массачусетский технологический институт Пресс. ISBN978-0-262-11132-4.
^ Мендес, Матеус; Крисостомо, Мануэль; Коимбра, А. Пауло (2008). «Навигация робота с использованием разреженной распределенной памяти». 2008 Международная конференция IEEE по робототехнике и автоматизации . стр. 53–58. дои : 10.1109/РОБОТ.2008.4543186. ISBN978-1-4244-1646-2. S2CID 10977460.
^ Jockel, S.; Lindner, F.; Jianwei Zhang (2009). «Разреженная распределенная память для манипуляций роботом на основе опыта». Международная конференция IEEE по робототехнике и биомиметике 2008 г. С. 1298–1303. doi :10.1109/ROBIO.2009.4913187. ISBN978-1-4244-2678-2. S2CID 16650992.
^ Риссман, Джесси; Вагнер, Энтони Д. (2012). «Распределенные представления в памяти: выводы из функциональной визуализации мозга». Annual Review of Psychology . 63 : 101–28. doi : 10.1146/annurev-psych-120710-100344. PMC 4533899. PMID 21943171 .
^ abcde Флинн, Майкл Дж., Пентти Канерва и Нил Бхадкамкар. «Прототип разреженной распределенной памяти: принципы и работа». (1989).
^ C. George Boeree (2002). «Общая психология». Университет Шиппенсбурга.
^ Пентти Канерва (1993). «Разреженная распределенная память и связанные с ней модели». Университет штата Пенсильвания: 50–76. CiteSeerX 10.1.1.2.8403 .{{cite journal}}: Цитировать журнал требует |journal=( помощь )
^ MJ Flynn; P. Kanerva & N. Bhadkamkar (декабрь 1989 г.). "Разреженная распределенная память: принципы и эксплуатация" (PDF) . Стэнфордский университет . Получено 1 ноября 2011 г. .[ постоянная мертвая ссылка ]
^ ab Snaider, Javier и Stan Franklin. "Целочисленная разреженная распределенная память. Архивировано 2021-08-02 в Wayback Machine ". Двадцать пятая международная конференция flairs. 2012.
^ Мендес, Матеус Даниэль Алмейда. «Интеллектуальная навигация робота с использованием разреженной распределенной памяти». Кандидатская диссертация, (2010). URL: https://eg.sib.uc.pt/handle/10316/17781 Архивировано 04.03.2016 в Wayback Machine
^ Гребеничек, Франтишек. Нейронные сети как ассоциативные воспоминания. Дисс. Брненский технический университет, 2001. URL: http://www.vutium.vutbr.cz/tituly/pdf/ukazka/80-214-1914-8.pdf Архивировано 04.03.2016 в Wayback Machine
^ Кандел, Эрик Р., Джеймс Х. Шварц и Томас М. Джесселл, ред. Принципы нейронауки. Том 4. Нью-Йорк: McGraw-Hill, 2000.
^ Эклс, Джон Г. «Под чарами синапса». Нейронауки: пути открытия, I. Birkhäuser Boston, 1992. 159-179.
^ Броглиато, Марсело Сальхаб (2012). Понимание критического расстояния в разреженной распределенной памяти (диссертация). hdl :10438/13095.
^ Броглиато, Марсело Сальхаб; Чада, Даниэль де Магальес; Линьярес, Александре (2014). «Разреженная распределенная память: понимание скорости и надежности экспертной памяти». Frontiers in Human Neuroscience . 8 (222): 222. doi : 10.3389/fnhum.2014.00222 . PMC 4009432. PMID 24808842 .
^ Эбботт, Джошуа Т., Джессика Б. Хэмрик и Томас Л. Гриффитс. «Аппроксимация байесовского вывода с помощью разреженной распределенной системы памяти». Труды 35-й ежегодной конференции общества когнитивной науки. 2013.
^ Андерсон (1989). «Условная вероятностная интерпретация разреженной распределенной памяти Канервы». Международная объединенная конференция по нейронным сетям . Том 1. С. 415–417. doi :10.1109/ijcnn.1989.118597. S2CID 13935339.
^ Vinje, WE; Gallant, JL (2000). «Разреженное кодирование и декорреляция в первичной зрительной коре во время естественного зрения» (PDF) . Science . 287 (5456): 1273–1276. Bibcode :2000Sci...287.1273V. CiteSeerX 10.1.1.456.2467 . doi :10.1126/science.287.5456.1273. PMID 10678835. S2CID 13307465. Архивировано из оригинала (PDF) 2017-09-11.
^ Громадка, Т.; Дьюиз, М.Р.; Задор, А.М. (2008). «Разреженное представление звуков в неанестезированной слуховой коре». PLOS Biol . 6 (1): e16. doi : 10.1371/journal.pbio.0060016 . PMC 2214813. PMID 18232737 .
^ Кроше, С.; Пуле, Дж. Ф. А.; Кремер, И.; Петерсен, К. Ч. Ч. (2011). «Синаптические механизмы, лежащие в основе разреженного кодирования активного прикосновения». Neuron . 69 (6): 1160–1175. doi : 10.1016/j.neuron.2011.02.022 . PMID 21435560. S2CID 18528092.
^ Ито, И; Онг, RCY; Раман, Б; Стопфер, М (2008). «Разреженное представление запаха и обонятельное обучение». Nat Neurosci . 11 (10): 1177–1184. doi :10.1038/nn.2192. PMC 3124899 . PMID 18794840.
^ Редкая память — точная память. Блог Oxford Science. 28 февраля 2014 г. http://www.ox.ac.uk/news/science-blog/sparse-memory-precise-memory
^ Лин, Эндрю К.; и др. (2014). «Разреженное, декоррелированное кодирование запахов в грибовидном теле усиливает усвоенное различение запахов». Nature Neuroscience . 17 (4): 559–568. doi :10.1038/nn.3660. PMC 4000970 . PMID 24561998.
^ Деннинг, Питер Дж. Разреженная распределенная память. Научно-исследовательский институт передовой компьютерной науки [NASA Ames Research Center], 1989.
^ Минский, Марвин и Паперт Сеймур. «Персептроны». (1969). «Время против памяти для наилучшего соответствия — открытая проблема» стр. 222–225
^ ab Uma Ramamurthy; Sidney K. D'Mello; Stan Franklin. "Realizing Forgeting in a Modified Sparse Distributed Memory System" (PDF) . Computer Science Department and The Institute for Intelligent Systems . The University of Memphis. pp. 1992–1997. Архивировано из оригинала 5 апреля 2012 г. . Получено 1 ноября 2011 г. .{{cite web}}: CS1 maint: bot: original URL status unknown (link)
^ Rocha LM, Hordijk W (2005). «Материальные представления: от генетического кода до эволюции клеточных автоматов». Artificial Life . 11 (1–2): 189–214. CiteSeerX 10.1.1.115.6605 . doi :10.1162/1064546053278964. PMID 15811227. S2CID 5742197. Архивировано из оригинала 20-09-2013 . Получено 02-08-2013 .
^ Роджерс, Дэвид. «Статистическое прогнозирование с разреженной распределенной памятью Канервы». Достижения в области нейронных систем обработки информации. 1989.
^ Рао, RPN; Фуэнтес, О. (1998). «Иерархическое обучение навигационному поведению автономного робота с использованием предиктивной разреженной распределенной памяти». Машинное обучение . 31 : 87–113. doi : 10.1023/a:1007492624519 . S2CID 8305178.
^ Франклин, Стэн и др. «Роль сознания в памяти». Мозг, разум и медиа 1.1 (2005): 38.
^ Шастри, Локендра (2002). «Эпизодическая память и кортико-гиппокампальные взаимодействия» (PDF) . Тенденции в когнитивных науках . 6 (4): 162–168. doi :10.1016/s1364-6613(02)01868-5. PMID 11912039. S2CID 15022802.
^ Анвар, Ашраф; Франклин, Стэн (2003). «Разреженная распределенная память для «сознательных» программных агентов». Cognitive Systems Research . 4 (4): 339–354. doi :10.1016/s1389-0417(03)00015-9. S2CID 13380583.
^ Ратич, Богдана, Сваминатан Махадеван и Дойна Прекап . «Разреженные распределенные воспоминания в обучении с подкреплением: практические примеры». Труды семинара по обучению и планированию в марковских процессах — достижения и проблемы. 2004.
^ Ратич, Богдана и Дойна Прекап. «Разреженные распределенные воспоминания для обучения с подкреплением на основе ценностей в режиме онлайн. Архивировано 24 августа 2015 г. в Wayback Machine ». Машинное обучение: ECML 2004. Springer Berlin Heidelberg, 2004. 347-358.
^ Рао, Раджеш П. Н. и Дана Х. Баллард. «Индексирование объектов с использованием иконической разреженной распределенной памяти». Computer Vision, 1995. Труды., Пятая международная конференция по. IEEE, 1995.
^ D'Mello, Sidney K., Ramamurthy, U., & Franklin, S. 2005. Эффективность кодирования и извлечения эпизодических данных в модифицированной разреженной распределенной системе памяти. В трудах 27-го ежегодного собрания Cognitive Science Society. Stresa, Ital.
^ Рамамаурти, У., Сидни К. Д'Мелло и Стэн Франклин. "Модифицированная разреженная распределенная память как временная эпизодическая память для когнитивных программных агентов [ мертвая ссылка ] ." Системы, человек и кибернетика, 2004 IEEE Международная конференция по. Том 6. IEEE, 2004.
^ Снайдер, Хавьер; Франклин, Стэн (2012). «Расширенная разреженная распределенная память и хранилище последовательностей». Когнитивные вычисления . 4 (2): 172–180. doi :10.1007/s12559-012-9125-8. S2CID 14319722.
^ Фурбер, Стив Б. и др. (2004). «Разреженная распределенная память с использованием N-из-M кодов». Нейронные сети . 17 (10): 1437–1451. doi :10.1016/j.neunet.2004.07.003. PMID 15541946.
^ Шарп, Томас: «Применение разреженной распределенной памяти к проблеме перевернутого маятника». Дисс. Университет Манчестера, 2009. URL: http://studentnet.cs.manchester.ac.uk/resources/library/thesis_abstracts/MSc09/FullText/SharpThomas.pdf
^ Бозе, Джой. Разработка машины последовательностей с помощью импульсных нейронов, использующих коды рангового порядка [ мертвая ссылка ] . Дисс. Манчестерский университет, 2007.
^ Саймон Торп и Жак Готре. Ранговое кодирование. В Computational Neuroscience: Trends in research, страницы 113–118. Plenum Press, 1998.
^ Фурбер, Стивен Б.; и др. (2007). «Разреженная распределенная память с использованием ранговых нейронных кодов». Труды IEEE по нейронным сетям . 18 (3): 648–659. CiteSeerX 10.1.1.686.6196 . doi :10.1109/tnn.2006.890804. PMID 17526333. S2CID 14256161.
^ Calimera, A; Macii, E; Poncino, M (2013). «Проект человеческого мозга и нейроморфные вычисления». Functional Neurology . 28 (3): 191–6. PMC 3812737. PMID 24139655 .
^ Хели, Тим; Уиллшоу, Дэвид Дж.; Хейс, Джиллиан М. (1997). «Новый подход к разреженной распределенной памяти Канервы». IEEE Transactions on Neural Networks . 8 (3): 791–794. doi :10.1109/72.572115. PMID 18255679. S2CID 18628649.
^ Caraig, Lou Marvin. «Новый алгоритм обучения для разреженной распределенной памяти Канервы». Препринт arXiv arXiv:1207.5774 (2012).
^ Анвар, Ашраф; Франклин, Стэн (01.01.2005). Нг, Майкл К.; Донческу, Андрей; Янг, Лоренс Т.; Ленг, Тау (ред.). Разреженная распределенная память, способная обрабатывать небольшие сигналы, SDMSCue . IFIP — Международная федерация по обработке информации. Springer US. стр. 23–38. doi :10.1007/0-387-24049-7_2. ISBN978-0-387-24048-0. S2CID 10290721.
^ Метод и устройство для разреженной распределенной системы памяти US 5113507 A, Луи А. Джекель, Ассоциация космических исследований университетов, 1992, URL: https://patents.google.com/patent/US5113507
^ Метод и устройство для хранения и вызова информации, реализующие систему памяти Канерва US 5829009 A, автор Гэри А. Фрейзер, Texas Instruments Incorporated, 1998, URL: https://patents.google.com/patent/US5829009
^ Фербер, Стивен Б. «Цифровая память». Патент США № 7,512,572. 31 марта 2009 г. URL: https://patents.google.com/patent/US7512572
^ Эмрули, Блерим; Сандин, Фредрик; Делсинг, Йеркер (2015). «Архитектура векторного пространства для возникающей интероперабельности систем путем обучения на основе демонстрации». Биологически вдохновленные когнитивные архитектуры . 11 : 53–64. doi :10.1016/j.bica.2014.11.015.
^ Эмрули, Блерим; Сандин, Фредрик (2014). «Аналогическое отображение с разреженной распределенной памятью: простая модель, которая учится обобщать на примерах». Когнитивные вычисления . 6 (1): 74–88. doi :10.1007/s12559-013-9206-3. S2CID 12139021.
^ Берхтольд, Мартин. «Обработка данных датчиков с помощью набора инструментов Common Sense (CSTK)». *(2005).
^ «Разум странствует» Б. Хейса, 2018. URL: http://bit-player.org/2018/the-mind-wanders
^ ab Brogliato, Marcelo S.; Chada, Daniel M.; Linhares, Alexandre (2014). «Разреженная распределенная память: понимание скорости и надежности экспертной памяти». Frontiers in Human Neuroscience . 8 : 222. doi : 10.3389/fnhum.2014.00222 . PMC 4009432. PMID 24808842 .
^ Surkan, Alvin J. (1992). "WSDM: Прототип взвешенной разреженной распределенной памяти, выраженный в APL". ACM SIGAPL APL Quote Quad . 23 : 235–242. doi :10.1145/144052.144142.
^ Турк, Андреас и Гюнтер Гёрц. «Разреженная распределенная память Канервы: объектно-ориентированная реализация на машине соединений». IJCAI. 1995.
^ Сильва; Тадеу Пиньейру, Маркус; Падуа Брага, Антониу; Соарес Ласерда, Вилиан (2004). «Реконфигурируемый сопроцессор для разреженной распределенной памяти Канервы» (PDF) . Микропроцессоры и микросистемы . 28 (3): 127–134. doi : 10.1016/j.micpro.2004.01.003.
^ Браун, Роберт Л. (июнь 1987 г.). «Два демонстратора и симулятор для разреженной распределенной памяти» (PDF) . Архив технических отчетов НАСА .