Как стать автором
Обновить
4
0
Алексей @VDG

Sparse Hash AI

Отправить сообщение
Для уточнения.

На синаптический кластер приходят спайки от пресинаптических нейронов. Когда спайки синхронны, нейрон отвечает собственным спайком. И это делается для всех кластеров нейрона.

На картинках спайки развёрнуты во времени. IN1 и IN2 — это то, что поступает от двух пресинаптических нейронов на два синапса, образующих на постсинаптическом нейроне кластер. OUT — это спайки постсинаптического нейрона. Как легко видно, он отвечает только в моменты синхронных спайков от обоих входных нейронов.

Возможен ли по вашему мнению следующий сценарий (декодирование, демультиплексирование)? Это то что подразумевается под «временным суммированием».
Временное суммирование спайков у меня не задействуется. Оно вносит вклад в ту часть формулы про «смещение».

По хорошему, активность нейрона должна быть равномерной, то есть, пачки спайков не приветствуются. Соответственно, механизм временного суммирования на постсинаптической клетке задействоваться не должен.

На рецепторе постсинтаптического нейрона «накапливается», учитывается вся пришедшая (под)последовательность s0,...,sn, сгенерированная пресинаптическим нейроном (3.1) в интервале времени от t0 до tn

Этот интервал короткий. Постоянная времени клеточной мембраны позволит накопить только несколько подряд идущих спайков (Временное суммирование). Вот наглядный пример того, что будет.

Спайки, поступающие на синапс с временным суммированием
|_||||_|||||__||__||__||_||__||||||___||_|||_||_|||||_||||||||_|_|||_||||||

Спайки, генерируемые в ответ нейроном
____|____|_____________________|__|________|______|_____|__|_______|___|__|

Синапс, на который приходят пачки «замечает» их, но что это может дать для задачи классификации?

Мне кажется что такой подход — «мультипликативный» (стохастический) нейрон — может дать возможность по другому реализовывать модели Хопфилда и АРТ Гроссберга…
По крайней мере к гипотезам о кодировании нейроном (частотное, фазовое, кодовое...) следует добавить и кодирование разряженностью, если это кто-то ещё не сделал.
Этой проблеме много лет. Те, кто плотно сидят на одном браузере, о ней не знают. Сам натолкнулся, когда стал параллельно использовать лису вместе с хромом и заметил, что сайты по разному раскрашены. FF отображает цвета верно, порченные у всех браузеров на хромовском движке. Лечится только через ручную установку «Force color profile» на sRGB.
Красиво…
И не вводятся новые сущности. Просто взгляд на давно известные факты с новой точки зрения.

Это последовательность спайков на аксоне?
Да. Вот наглядный пример (сгенерированный из кода выше), где последовательность спайков на аксоне соответствует произведению 0,7 * 0,4.

IN1 = 0,7
|_||||_|||||__||__||__||_||__||||||___||_|||_||_|||||_||||||||_|_|||_|||||||||__||||||_||||||__||__|

IN2 = 0,4
__|___||________|_|_|_|__||_______||_||__|_____||_|_|_____|__|__|_|||||||__|___|_|||_|_______|__|___

OUT = 0,28
__|____|__________|___|__||_______|___|__|______|_|_|_____|__|____||_||||__|_____|||_|__________|___


Вопрос в том как она потом «декодируется» на постсинаптических нейронах?
Собственно, эта формула и есть «декодирование» нейрона, — то, чем он и занимается. И вопрос в том, как из таких элементов (нейронов) строятся вычисления.

И в формуле не указал ещё одно слагаемое (по бинарному ИЛИ). Это смещение (или дополнение), которое формируют разрозненные спайки, не попадающие в кластеры. По одному они не способны привести к спайку, каждый из них вносит незначительный вклад в смещение потенциала мембраны, поэтому необходимо по «классической схеме» взять их сумму и сравнить с заданным пороговым значением. При превышении порога формируется спайк.

При этом, как уже писал, это смещение от разрозненных спайков также можно рассматривать как умножение входной активности со всех нейронов на «коэффициент/карту дендрита». Ровно та же картинка, что привёл выше, но строки теперь — это не последовательности спайков, а спайки всех нейронов в один момент времени и синапсы выходного нейрона.

Одномоментная активность всех входных нейронов (70 из 100)
|_||||_|||||__||__||__||_||__||||||___||_|||_||_|||||_||||||||_|_|||_|||||||||__||||||_||||||__||__|

Синапсы выходного нейрона (40 синапсов из 100 возможных)
__^___^^________^_^_^_^__^^_______^^_^^__^_____^^_^_^_____^__^__^_^^^^^^^__^___^_^^^_^_______^__^___

Взвешенный синапсами вход (28 активных синапсов из 100)
__*____*__________*___*__**_______*___*__*______*_*_*_____*__*____**_****__*_____***_*__________*___

После нормализации получаем тоже самое вычисление 0,7 * 0,4 = 0,28. Только производимое не в последовательной форме, а в параллельной.
полагаете, что некий нейрон такого рода умеет «умножать»?
Полагаю, что пирамидальный нейрон (из-за наличия дендритных спайков) точно умеет.

Давно известно, что пара синапсов образуют синаптический кластер, когда они расположены рядом друг с другом. Синхронная активация этих синапсов запускает дендритную волну, волна в свою очередь приводит к спайку нейрона. То есть, кластер работает как логический элемент И для двух «каналов». У нейрона кластеров огромное количество (в N раз больше числа синапсов).

На вход синапсов кластера поступают спайки от других нейронов, что по сути есть — бинарные последовательности разной степени разряженности. Складывая их по И, и генерируя спайк на вход в состоянии «1,1», нейрон тем самым производит собственную последовательность спайков, разряженность которой соответствует перемножению разряженностей входных последовательностей.

Так как перемножение происходит для всех таких пар входов массово и одновременно, то результирующая выходная последовательность нейрона — это сумма всех умножений: «out(t)= n0(t) * n5(t) + n3(t) * n201(t) + n2(t) * n15(t) ...».
Восстановил алгоритм по описанию. Действительно работает. Точность задаётся длиной генерируемой стохастической бинарной последовательности.

length = 1000
a = 0.7 : 0.7060
b = 0.4 : 0.3840
a * b = 0.2800 : 0.2850 (err 0.0175)


JS-код
// a, b - входные величины [0, 1]
// n - длина генерируемой последовательности
const mult = (a, b, n) => {
    let a_cnt = 0;
    let b_cnt = 0;
    let ab_cnt = 0;

    for (let i = 0; i < n; i++) {
        const a_r = Math.random() < a;
        const b_r = Math.random() < b;

        a_r ? a_cnt++ : null;
        b_r ? b_cnt++ : null;
        a_r && b_r ? ab_cnt++ : null;
    }

    return [a_cnt / n, b_cnt / n, ab_cnt / n];
}

// длина генерируемых бинарных последовательностей
const seq_length = 1000;

// входные величины [0, 1]
const a = 0.7;
const b = 0.4;

// вероятностные/рассчитанные величины
const [p_a, p_b, p_ab] = mult(a, b, seq_length);

const r_ab = a * b;
const err = Math.abs(p_ab - r_ab) / r_ab;

console.log(`length = ${seq_length}`,
    `\na = ${a} : ${p_a.toFixed(4)}`,
    `\nb = ${b} : ${p_b.toFixed(4)}`,
    `\na * b = ${r_ab.toFixed(4)} : ${p_ab.toFixed(4)} (err ${err.toFixed(4)})`);

Фактически имеем два бинарных генератора с перестраиваемой разряженностью, выходы которых подаются на элемент И. Данная схема генерирует свою выходную последовательность с разряженностью, соответствующей перемножению разряженностей входных последовательностей (см. код).

Синаптические кластеры нейрона функционируют как И-элементы для синхронных спайков, вызывая дендритную волну и далее спайк. Соответственно, полагаю, нейрон способен на своём дендритном дереве перемножать активности (в виде последовательностей спайков) огромного количества (по числу кластеров) других нейронов.

Способность полноценно перемножать вещественные числа [0, 1] — это не какие-то ранее обнаруженные логические функции дендритного дерева. ) Я так понимаю, авторы исходного алгоритма эту потенциально возможную функциональность нейрона не заметили.
RF-Diary не только лучше сохраняет конфиденциальность
Она её грубо нарушает.
После этого система попросит пользователя обойти его жилое пространство, что исключает возможность использования RF-Diary для наблюдения за областью, к которой у жильца нет доступа.
Видеокамера в квартире соседа не может за вами следить, а эта штука может. И запрещает ей это делать только настройка периметра, т.е. — ничего. Даже ломать ничего не надо, а просто заскочить в гости «за солью». А для фургончиков, припаркованных рядом с домом, вообще раздолье.
Разработка похожа на развитие предыдущей идеи отслеживания «эха» Wi-Fi сигнала от тела человека. Скорее всего и тут используют тот же частотный диапазон и приёмник с передатчиком/облучателем от Wi-Fi.
Если удалить слой Объектов, будет пирамида из двусвязных слоёв: Слова <-> Предложения <-> Документы. Будет ли в такой конфигурации возможность воспоминания документа по части строки из него?
Думаю, я понял, почему умножение давало более разряженный выход чем вход. Просто величины брались из «нормализованного» диапазона [0, 1].

Если оно действительно работало, то в таком случае живой нейрон (дендритное дерево или его сегмент) общее входное возбуждение умножает на вес. Первая величина — входное возбуждение, вторая — синаптическая «карта» дерева (вес). Сам никогда ранее не смотрел на это с такой точки зрения, и у других не встречал.
но случай с водянкой
Лучше забыть про этот мутный случай. На томограмме видно полное отсутствие коннектома, т.е. колонки никуда не подключены, ни к базальным ядрам и таламусу, которых тоже нет, ни к друг к другу. Это как материнская плата с запаянными элементами (и более половины BOMа отсутствует) и без дорожек. Если это и работающий мозг, то совершенно другой, постепенно перестроенной («нечеловеческой»), структуры.
Описался — операция логическое «И».
При логическом «И» ситуация становится ещё хуже. При «перемножении» двух величин по 10 бит мы на выходе получим не более тех же 10 значащих бит. А нам нужно получить ~100 значащих бит.
Может быть где-то есть рабочий пример или подробное описание?
А что из себя представляют нейроны в слое sentences? Отдельные предложения из документов, или нечто более абстрактное?
Было доказано, что при логическом сложении таких величин фактически происходит операция умножения.
Можете уточнить этот момент?

Если мы некую величину закодируем в случайный набор из 10 бит и затем логически сложим (бинарное ИЛИ) две такие величины, то получим максимум 20 единичных бит, что соответствует математическому сложению величин, но не умножению.
Патенты действуют на территории США, остальной мир может использовать описанные идеи свободно.
Уже трудно сейчас свободно использовать что-то, что нарушает законы США. В гитхабе ПО, нарушающее чей-то патент, долго не проживёт.

Слой Objects и связи с ним, я так понимаю, формировали вручную?
картинка
image
И если бы в то время были достаточные вычислительные мощности, возможно, сегодня бы уже был реализован сильный ИИ.
Но вся работа Амосова оказалась бы «под грифом секретно».

как нам сказал архитектор одного из них – “у нас слишком разные парадигмы и мы не понимаем как их объединить”
Семантическая сеть, близость слов и т.д. — это всё давно в мозгах поисковых движков. По собственному опыту могу сказать, что такой ответ бывает и в случае «мы втихую работаем над аналогичным собственным проектом».

Надеюсь, данная статья станет первым шагом в открытии реализованных технологий для широкой общественности разработчиков и послужит началом opensource проекта активных семантических нейросетей Амосова.
Вот про опенсорс. После того как рассказали о применённых решениях, наверно стоит упомянуть здесь те из них, которые другим разработчикам теперь применять нельзя из-за закрытия вашими патентами.
как их преобразовать в проценты?
* 100
Резюмируя. Для пары практически не отличающихся изображений оценка совпадения 0,45. Произвольная пара изображений даёт ложно-положительный ответ в 0,15.

однако  гиф изображения не подходят для классификации ввиду сильного сжатия
Они-то как раз и показывают реальное совпадение/различие (0,02), которое даёт алгоритм. А когда затем стали использовать не по одному изображению, а цветные изображения, бинаризованные способом из первой статьи, то фактически стали сравнивать крупные «низкочастотные» пятна на них. Вот и выросло «совпадение» с 0,02 до 0,15.
это нужно для сравнения частей изображений

через 3 статьи ситуация должна проясниться
Через три статьи у вас может не остаться аудитории. Вы только сейчас в комментарии случайно упомянули зачем все эти игры с пикселями. Мне, например, интересно решение этой задачи, но сюда я зашёл чисто случайно, так как кроме ещё одного варианта игры жизнь в предыдущих статьях не увидел.
Начинать лучше с результата, если он есть, а потом рассказывать заинтересованным как его получили.
Новость так себе, но в оригинальной статье есть ссылка на обширную статью про hierarchical reinforcement learning (HRL)

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность