This media is not supported in your browser
VIEW IN TELEGRAM
У модели андроида 1X прогресс.
Forwarded from NeuroMetric
Наконец-то экспериментально [1] посрамлена шиза статья [2] от Cortical Labs и Карла Фристона о том, что двумерная биологическая нейронная сеть in vitro, с рандомным коннектомом, — т.н. нейрональная культура — якобы может научиться играть в компьютерную игру Pong: показано, что этому же можно "обучить"... гетерогенный электроактивный гидрогель. Авторы – молодцы! 👏
Сравнительная заметка* в Nature: https://www.nature.com/articles/d41586-024-02704-y
Предыдущие релевантные посты:
https://news.1rj.ru/str/NeuroMetric/466
https://news.1rj.ru/str/NeuroMetric/534
https://news.1rj.ru/str/NeuroMetric/649
https://news.1rj.ru/str/NeuroMetric/891
https://news.1rj.ru/str/abulaphia/5087
PS: Можно ещё попробовать "обучить" этой игре электроактивные** двумерные бактериальные популяции [3, 4]. Есть немалый шанс, что они тоже научатся, если масштаб времени отклика в игре отрегулировать. В качестве ещё одного контр-примера, см. статью о "химическом мозге", опубликованную в УФН.
PS2: Слово "обучение" — в когнитивном контексте — применительно ко всему материальному, что не является самостоятельным биологическим организмом (или его макроскопической функциональной частью) должно применяться с осторожностью – подробным определением и оговорками о применимости. Иначе будет только рост опасного квази-научного популизма, а не научного знания. Например, термин "пластичность железа" подразумевает макроскопический объект, кусок железа, а не отдельный атом железа. Термин "обучение" возник и стандартен применительно к мозгу – совокупности гетерогенных нейронных сетей (структура которых уже на мезоскопическом уровне отнюдь не случайна и обусловлена в первую очередь геномом), а не к отдельному синапсу или нейрону. Или к случайно соединенной группе биологических нейронов. В теории искусственных нейронных сетей, для которых вошел в широкий обиход термин "глубокое обучение", под "обучением" понимается математически строгая алгоритмическая процедура, определенная предельно ясно и недвусмысленно.
---
[1]: V. Strong, W. Holderbaum, Y. Hayashi, Electro-active polymer hydrogels exhibit emergent memory when embodied in a simulated game environment, Cell Rep. Phys. Sci. 5, 102151 (2024). https://doi.org/10.1016/j.xcrp.2024.102151
[2]: B.J. Kagan et al., In vitro neurons learn and exhibit sentience when embodied in a simulated game-world, Neuron 110, 3952 (2022). https://doi.org/10.1016/j.neuron.2022.09.001
*: Наглядно демонстрирующая поразительную изворотливость и конформизм "западных" ученых.
**: См. обзор W.A. Catterall, G. Wisedchaisri, N. Zheng, The chemical basis for electrical signaling, Nat. Chem. Biol. 13, 455-463 (2017). https://doi.org/10.1038/nchembio.2353
[3]: E. Masi et al., Electrical spiking in bacterial biofilms, J. R. Soc. Interface 12, 20141036 (2015). https://doi.org/10.1098/rsif.2014.1036
[4]: A. Prindle et al., Ion channels enable electrical communication in bacterial communities, Nature 527, 59-63 (2015). https://doi.org/10.1038/nature15709
Сравнительная заметка* в Nature: https://www.nature.com/articles/d41586-024-02704-y
Предыдущие релевантные посты:
https://news.1rj.ru/str/NeuroMetric/466
https://news.1rj.ru/str/NeuroMetric/534
https://news.1rj.ru/str/NeuroMetric/649
https://news.1rj.ru/str/NeuroMetric/891
https://news.1rj.ru/str/abulaphia/5087
PS: Можно ещё попробовать "обучить" этой игре электроактивные** двумерные бактериальные популяции [3, 4]. Есть немалый шанс, что они тоже научатся, если масштаб времени отклика в игре отрегулировать. В качестве ещё одного контр-примера, см. статью о "химическом мозге", опубликованную в УФН.
PS2: Слово "обучение" — в когнитивном контексте — применительно ко всему материальному, что не является самостоятельным биологическим организмом (или его макроскопической функциональной частью) должно применяться с осторожностью – подробным определением и оговорками о применимости. Иначе будет только рост опасного квази-научного популизма, а не научного знания. Например, термин "пластичность железа" подразумевает макроскопический объект, кусок железа, а не отдельный атом железа. Термин "обучение" возник и стандартен применительно к мозгу – совокупности гетерогенных нейронных сетей (структура которых уже на мезоскопическом уровне отнюдь не случайна и обусловлена в первую очередь геномом), а не к отдельному синапсу или нейрону. Или к случайно соединенной группе биологических нейронов. В теории искусственных нейронных сетей, для которых вошел в широкий обиход термин "глубокое обучение", под "обучением" понимается математически строгая алгоритмическая процедура, определенная предельно ясно и недвусмысленно.
---
[1]: V. Strong, W. Holderbaum, Y. Hayashi, Electro-active polymer hydrogels exhibit emergent memory when embodied in a simulated game environment, Cell Rep. Phys. Sci. 5, 102151 (2024). https://doi.org/10.1016/j.xcrp.2024.102151
[2]: B.J. Kagan et al., In vitro neurons learn and exhibit sentience when embodied in a simulated game-world, Neuron 110, 3952 (2022). https://doi.org/10.1016/j.neuron.2022.09.001
*: Наглядно демонстрирующая поразительную изворотливость и конформизм "западных" ученых.
**: См. обзор W.A. Catterall, G. Wisedchaisri, N. Zheng, The chemical basis for electrical signaling, Nat. Chem. Biol. 13, 455-463 (2017). https://doi.org/10.1038/nchembio.2353
[3]: E. Masi et al., Electrical spiking in bacterial biofilms, J. R. Soc. Interface 12, 20141036 (2015). https://doi.org/10.1098/rsif.2014.1036
[4]: A. Prindle et al., Ion channels enable electrical communication in bacterial communities, Nature 527, 59-63 (2015). https://doi.org/10.1038/nature15709
Cell Reports Physical Science
Electro-active polymer hydrogels exhibit emergent memory when embodied in a simulated game environment
Strong et al. demonstrate the application of ionic electro-active polymer hydrogels
to computational tasks through use of a multi-electrode array integrated with a simulated
Pong environment, taking advantage of the unique memory mechanics present in many…
to computational tasks through use of a multi-electrode array integrated with a simulated
Pong environment, taking advantage of the unique memory mechanics present in many…
"Нейро-ящерицы" на шейдере.
Neural CA - Lizard
Neural CA - Lizard
Shadertoy implementation of growing Neural CA https://distill.pub/2020/growing-ca/
I'm surprised nobody did a Shadertoy port of this before.
Trained using my own library TensorFrost: https://github.com/MichaelMoroz/TensorFrost/tree/main/examples/ML/NCA
🔥2
Addition is All You Need for Energy-efficient Language Models
https://arxiv.org/abs/2410.00907
Proposes linear-complexity multiplication (L-Mul) algorithm, which approximates floating point multiplication with integer addition operations.
This new Linear-complexity Multiplication (L-Mul) algorithm can reduce energy costs by 95% for element-wise tensor multiplications and 80% for dot products in large language models, while maintaining or even improving precision compared to 8-bit floating point operations.
- Approximates floating-point multiplication using integer addition
- Linear O(n) complexity vs O(m^2) for standard floating-point multiplication
- Replaces tensor multiplications in attention mechanisms and linear transformations
- Implements L-Mul-based attention mechanism in transformer models
ист. X
https://arxiv.org/abs/2410.00907
Proposes linear-complexity multiplication (L-Mul) algorithm, which approximates floating point multiplication with integer addition operations.
This new Linear-complexity Multiplication (L-Mul) algorithm can reduce energy costs by 95% for element-wise tensor multiplications and 80% for dot products in large language models, while maintaining or even improving precision compared to 8-bit floating point operations.
- Approximates floating-point multiplication using integer addition
- Linear O(n) complexity vs O(m^2) for standard floating-point multiplication
- Replaces tensor multiplications in attention mechanisms and linear transformations
- Implements L-Mul-based attention mechanism in transformer models
ист. X
Transformers are Universal In-context Learners
https://arxiv.org/abs/2408.01367
ист. X
https://arxiv.org/abs/2408.01367
ист. X
in this paper, we show that deep transformers with a fixed embedding dimension are universal approximators for an arbitrarily large number of tokens
Were RNNs All We Needed?
https://arxiv.org/abs/2410.01201
Revisits RNNs and shows that by removing the hidden states from input, forget, and update gates RNNs can be efficiently trained in parallel.
This is possible because with this change architectures like LSTMs and GRUs no longer require backpropagate through time (BPTT).
They introduce minLSTMs and minGRUs that are 175x faster for a 512 sequence length.
Paper quote: "We show that these stripped-down versions of decade-old RNNs match the empirical performance of recent sequence models."
Ист. X
https://arxiv.org/abs/2410.01201
Revisits RNNs and shows that by removing the hidden states from input, forget, and update gates RNNs can be efficiently trained in parallel.
This is possible because with this change architectures like LSTMs and GRUs no longer require backpropagate through time (BPTT).
They introduce minLSTMs and minGRUs that are 175x faster for a 512 sequence length.
Paper quote: "We show that these stripped-down versions of decade-old RNNs match the empirical performance of recent sequence models."
Ист. X
Раскрываем секреты роя: оптимизация на Python с помощью PSO
https://habr.com/ru/companies/bothub/articles/842006/
https://habr.com/ru/companies/bothub/articles/842006/
Хабр
Раскрываем секреты роя: оптимизация на Python с помощью PSO
Начну с небольшой шутки: "Знаете ли вы, что до изобретения часов людям приходилось активно ходить повсюду и спрашивать время?" Этот незамысловатый анекдот иллюстрирует важную концепцию: информация,...
👍1
Forwarded from Алексей
Проверил что выдаёт необученный модуль внимания для последнего токена. Находит ли он закономерности в промпте, если их туда специально положить.
Промпт: " ABCD ABCDABCE"
Здесь повторяющаяся два раза подстрока ABCD и частично схожая с ним ABCE. E - последний токен, перед которым находится подстрока-ключ ABC.
Разумно предположить, что из-за совпадающего ключа вектор последнего токена после обработки блоком внимания должен быть схож с векторами токенов D.
X - входная матрица векторов токенов, n x d, n - длина контекста/промпта (15), d - размерность векторов (1000). Исходные векторы токенов полуортогональны.
Так как матрица внимания (key-query матрица) не обучена, и никакого её обучения не предполагается, то она отобразит входные полуортогональные векторы в такие же полуортогональные, а softmax для них, соответственно, вернёт почти равные скоры.
Поэтому выбрасываем эту матрицу, а коэффициенты софтмакса заменяем на константное значение равное 1 / m, m - длина контекста для текущего токена (размер окна в треугольной маске).
Т.е. внимание в урезанном виде считает средний вектор от входа.
И тут делаем ещё шаг от ванильного внимания, делаем его рекуррентным, но без RNN. Посчитали вектор внимания-контекста для текущего токена, через резконнект прибавили его к своему входу и не только передали в следующий слой, но и заменили им своё значение. На каждой итерации одного слоя вдоль промпта происходит обновление вектора текущего токена.
Делаем полтора десятка таких слоёв и послойно смотрим схожесть последнего токена с предыдущими.
Промпт: " ABCD ABCDABCE"
Здесь повторяющаяся два раза подстрока ABCD и частично схожая с ним ABCE. E - последний токен, перед которым находится подстрока-ключ ABC.
Разумно предположить, что из-за совпадающего ключа вектор последнего токена после обработки блоком внимания должен быть схож с векторами токенов D.
X - входная матрица векторов токенов, n x d, n - длина контекста/промпта (15), d - размерность векторов (1000). Исходные векторы токенов полуортогональны.
Так как матрица внимания (key-query матрица) не обучена, и никакого её обучения не предполагается, то она отобразит входные полуортогональные векторы в такие же полуортогональные, а softmax для них, соответственно, вернёт почти равные скоры.
Поэтому выбрасываем эту матрицу, а коэффициенты софтмакса заменяем на константное значение равное 1 / m, m - длина контекста для текущего токена (размер окна в треугольной маске).
Т.е. внимание в урезанном виде считает средний вектор от входа.
torch.sum(X[0:i], dim=0) / i)
И тут делаем ещё шаг от ванильного внимания, делаем его рекуррентным, но без RNN. Посчитали вектор внимания-контекста для текущего токена, через резконнект прибавили его к своему входу и не только передали в следующий слой, но и заменили им своё значение. На каждой итерации одного слоя вдоль промпта происходит обновление вектора текущего токена.
X[0] = X[0]
X[1] = X[1] + X[0] / 1
X[2] = X[2] + torch.sum(X[0:2], dim=0) / 2
X[3] = X[3] + torch.sum(X[0:3], dim=0) / 3
X[4] = X[4] + torch.sum(X[0:4], dim=0) / 4
Делаем полтора десятка таких слоёв и послойно смотрим схожесть последнего токена с предыдущими.
for p in range(15):
for i in range(1, len(X)):
X[i] = X[i] + torch.sum(X[0:i], dim=0) / i
❤1
Forwarded from Алексей
Ранее я говорил, что резконнект напоминает мне узел сравнения в автомате. А то, что возвращает внимание - это предикт от контекста по обратной отрицательной связи. И был бы это автомат, то суммировав эти "сигналы", получили бы ошибку предсказания или отклонение.
Вычитаем выход внимания и смотрим как меняется картинка.
Вычитаем выход внимания и смотрим как меняется картинка.
for p in range(15):
for i in range(1, len(X)):
X[i] = X[i] - torch.sum(X[0:i], dim=0) / i
Forwarded from Алексей
Нарисовалась какая-то структура. Эмерджентно появилась подсветка токенов D, то, что и требовалось.
Forwarded from Алексей
А теперь шлифанём выход нормализацией, не зря же её пихают везде и регистрируют улучшение. Возьмём популярный сейчас RMS.
for p in range(15):
for i in range(1, len(X)):
X[i] = RMSnorm(X[i] - torch.sum(X[0:i], dim=0) / i)
Forwarded from Алексей
Идеально!
Даже странный выброс на A вытерся. Повторяющаяся структура в данных "самозакодировалась" в эмбеддингах.
Вместо токена E мог быть любой другой, например, служебный, и тогда через него можно адресоваться к релевантным токенам в промпте. В данном случае контекст явно предсказывает токен D.
Даже странный выброс на A вытерся. Повторяющаяся структура в данных "самозакодировалась" в эмбеддингах.
Вместо токена E мог быть любой другой, например, служебный, и тогда через него можно адресоваться к релевантным токенам в промпте. В данном случае контекст явно предсказывает токен D.
Forwarded from Алексей
Алексей
суммировав эти "сигналы", получили бы ошибку предсказания или отклонение
Таким образом здесь в следующий слой отправляется нормализованная ошибка предсказания. Рассогласование между фактическим текущим токеном-вектором и токеном-вектором, предсказанным по контексту.
🔥1