Компьютерная сеть как моделирование нейронной сети

Размышляя о том, как для научно-фантастического рассказа оживить Интернет, я придумал идею компьютерной сети, действующей как нервная система или клеточная система. Это выглядит так:

  • Каждый компьютер предоставляет несколько веб-серверов , эквивалент нейронов;
  • Каждый веб-сервер предоставляет множество веб-сервисов , по одному для аксона и по одному для каждого дендрита ;
  • Каждый веб-сервис имеет множество функций, каждая из которых соответствует нейротрансмиттеру и/или его рецептору.

Например, сервер A вызывает функцию serotonin() из одной службы сервера B; это было бы эквивалентно тому, что нейрон А посылает одну молекулу серотонина нейрону Б.

Каждый нейрон/сервер будет анализировать шаблон получения вызовов и использовать информацию, чтобы решить, какие службы/функции он будет вызывать. С соответствующим образом настроенным алгоритмом в каждом нейроне/сервере, как в современных искусственных нейронах , он может имитировать реальный нейрон. Моделирование C. Elegans , животного с 959 клетками, должно быть выполнимо с помощью нескольких современных компьютеров.

Преимущества:

  • Простота. Текущие симуляции нейронов выполняются на суперкомпьютерах со специальным программным обеспечением. В моей идее единственный кастомный софт находится в сервисах; сеть бесплатна, с TCP/IP и HTTP.

  • Масштабируемость. Добавление новых нейронов должно быть таким же простым, как добавление еще одного компьютера в сеть и подключение к нему нескольких веб-серверов.

Недостатки:

  • Это медленно. Каждое взаимодействие между сервером и нейроном будет занимать миллисекунды, учитывая задержку в сети ; Я не знаю, быстрее ли настоящие нейроны.

  • Сложный тайминг. Большая часть мозговой активности зависит от точного времени активации нейронов — судороги — это проблема времени активации. Сетевая задержка может сбить синхронизацию нейронов/сервера.

Теперь, собственно, вопрос: есть ли в реальной жизни какие-либо исследования чего-то похожего на мою идею? Не похожи следующие:

  • Neuron , симуляция нейрона, представляет собой параллельные вычисления на одной машине.
  • BOINC распределен, но это клиент-сервер: симуляция выполняется по частям на каждом компьютере, но компьютеры не являются частью самой симуляции.
Ну, Google сделал нейронную сеть, подобную той, которую вы описали. Если мы используем его для модели, мы можем сказать, что создание такого рода ИНС приводит к ИИ с постоянным высоким уровнем психоделиков .

Ответы (2)

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

Учтите: существующие симуляторы нейронов чертовски оптимизированы. Они стараются обращать внимание на такие вещи, как поведение кеша. Попадание в кеш на компьютере обычно занимает порядка наносекунды, поэтому я ожидаю, что один шаг эмулятора нейрона займет десятки наносекунд. В лучшем случае у вас есть переключение контекста между веб-серверами на одном компьютере и стеком веб-протоколов, поэтому вы говорите о микросекундах, на несколько порядков медленнее. Если вы говорите по сетям, вы говорите о миллисекундах. Если бы в вашей системе работал весь Интернет в унисон, вы могли бы конкурировать с производительностью одного рабочего стола, работающего на оптимизированном нейронном движке. Вы никогда не приблизитесь к суперкомпьютерам.

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

Для интересного чувства масштаба: мы можем сравнить скорость кэш-памяти современного процессора со скоростью современной памяти. Оказывается, это на удивление близко к соотношению между скоростью садовой улитки и скоростью гепарда! (чистая случайность). Между тем, в том же масштабе, передача интернет-пакета из США в Швейцарию и обратно происходит со скоростью, сравнимой со скоростью тектонической активности вдоль разлома Сан-Андреас!
Кажется, я сильно недооценил медлительность моего решения. :-( Просто чтобы уточнить, моя идея не в том, чтобы симулятор нейронов работал распределенно: веб-серверы - это сами нейроны, а сетевые ссылки - это синапсы. В любом случае, спасибо и лучший ответ награжден.

NB: я работаю в области высокопроизводительных вычислений.

Самая большая проблема, как мне кажется, это масштаб. Google говорит мне, что человеческий мозг содержит 100 миллиардов нейронов. Для сравнения, в мире насчитывается 2-3 миллиарда ПК. Таким образом, даже если бы вы могли каким-то образом выделить каждую систему, подключенную к Интернету, для запуска вашего симулятора, вам нужно было бы моделировать несколько нейронов на каждой машине. Я подозреваю, что вам нужно будет смоделировать несколько нейронов на каждом вычислительном ядре вашей гипотетической системы.

В любом случае, когда у вас есть несколько нейронных симуляций, работающих на одной машине, если на этой машине установлена ​​многозадачная операционная система (Linux и OS X, безусловно, подходят, и я мог бы с неохотой позволить вам назвать Windows одной), на самом деле не существует разница между симуляцией двух нейронов на ядре и двадцатью тысячами, кроме использования памяти.