Можем ли мы технически создать на аппаратном уровне произвольно большие нейронные сети с использованием современных технологий?

9

Если нейроны и синапсы могут быть реализованы с использованием транзисторов, что мешает нам создавать произвольно большие нейронные сети, используя те же методы, с помощью которых создаются графические процессоры?

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

Можно предположить, что, используя принципы проектирования графических процессоров - которые, по сути, должны иметь тысячи программируемых процессоров, работающих параллельно, - мы могли бы сделать гораздо более простые «нейронные процессоры» и поместить миллионы или миллиарды этих NPU в один большой чип. У них будет своя собственная память (для хранения весов), и они будут связаны с несколькими сотнями других нейронов, используя общий автобус. Они могут иметь частоту, например, 20 Гц, что позволит им совместно использовать шину данных со многими другими нейронами.

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

Многие исследователи ИИ говорят, что суперинтеллект приходит примерно в 2045 году. Я считаю, что их рассуждения основаны на законе Мура и количестве нейронов, которые мы можем внедрить в программное обеспечение, работающее на самых быстрых компьютерах, которые у нас есть.

Но дело в том, что сегодня мы производим кремниевые чипы с миллиардами транзисторов на них. SPARK M7 имеет 10 миллиардов транзисторов.

Если для реализации (непрограммируемого) нейрона и нескольких сотен синапсов для него требуется, например, 100 000 транзисторов, то мы можем создать аппаратную нейронную сеть, которая эмулирует 100 000 нейронов.

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

Можем ли мы технически создать на аппаратном уровне произвольно большие нейронные сети с использованием современных технологий?

Помните: я НЕ спрашиваю, будет ли такая сеть действительно очень умной. Я просто спрашиваю, можем ли мы фактически создать произвольно большие, сильно взаимосвязанные нейронные сети, если мы решим заплатить Intel за это?

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

frodeborli
источник
Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат .
nbro

Ответы:

5

Подход вы описываете называется neuromorphic вычислений , и это довольно занят поле .

TrueNorth от IBM даже имеет всплеск нейронов.

Основная проблема с этими проектами в том, что пока никто не знает, что с ними делать.

Эти проекты не пытаются создавать чипы, оптимизированные для работы нейронной сети. Это, конечно, было бы возможно, но дорогой частью является обучение, а не запуск нейронных сетей. А для обучения вам нужны огромные умножения матриц, что-то, что GPU уже очень хорошо умеет. ( ТПУ Google будет чипом, оптимизированным для работы с NN.)

Чтобы исследовать алгоритмы, которые могут быть реализованы в мозге (мы об этом почти ничего не знаем), вам нужна гибкость, чего нет у этих чипов. Кроме того, инженерная задача, вероятно, заключается в предоставлении большого количества синапсов, просто сравните среднее число синапсов на нейрон TrueNorth 256 и мозг 10 000.

Таким образом, вы можете создать чип, разработанный с использованием некоторой нейронной архитектуры, и он будет быстрее, эффективнее и т. Д., Но для этого вам нужно знать, какая архитектура работает в первую очередь. Мы знаем, что глубокое обучение работает, поэтому Google использует нестандартное аппаратное обеспечение для запуска своих приложений, и я, конечно, могу представить себе, что в будущем на смартфоне появится специальное аппаратное обеспечение для глубокого обучения. Чтобы создать нейроморфную микросхему для сильного ИИ, сначала нужно разработать сильный ИИ.

BlindKungFuMaster
источник
Спасибо. Я считаю, что огромные всплески нейронных сетей будут вести себя очень разумно. Так что, если кто-то получит идею (прорыв), позволяющую аппаратному нейрону эффективно подключаться к 10000 или более нейронам - это будет просто вопрос наличия достаточного количества кремния для создания сколь угодно больших нейронных сетей - и, возможно, супер-интеллекта. Это означает, что это может произойти сегодня, уже произошло в какой-то лаборатории в IBM - или произойдет через 20 лет. Это означает, что нам не нужно ждать закона Мура.
frodeborli
4

Если нейроны и синапсы могут быть реализованы с использованием транзисторов,

Я надеюсь, что вы не говорите о нейронных сетях, которые в настоящее время выигрывают все соревнования по машинному обучению (MLP, CNN, RNN, Deep Residual Networks, ...). Когда-то они использовались в качестве модели для нейронов, но они очень слабо связаны с тем, что происходит в реальных клетках мозга.

Пикирующие сети должны быть намного ближе к реальным нейронам. Я слышал, что модель Ходжкина-Хаксли вполне реалистична. Тем не менее, в отличие от моделей, которые я назвал выше, похоже, не существует эффективного алгоритма обучения для пиковых сетей.

что мешает нам создавать сколь угодно большие нейронные сети

  • Вычислительные ресурсы : Обучение нейронных сетей занимает много времени. Мы говорим о ~ 12 днях с кластером GPU для некоторых моделей CNN в компьютерном зрении.
  • Данные обучения : чем больше переменных вы добавляете в модель, тем больше данных вам нужно для их оценки. Нейронные сети не волшебство. Им нужно что-то, с чем они могут работать.

Но дело в том, что сегодня мы производим кремниевые чипы с миллиардами транзисторов на них. SPARK M7 имеет 10 миллиардов транзисторов.

Если для реализации (непрограммируемого) нейрона и нескольких сотен синапсов для него требуется, например, 100 000 транзисторов, то мы можем создать аппаратную нейронную сеть, которая эмулирует 100 000 нейронов.

Это не так просто:

  • Асинхронность : биологические нейронные сети работают асинхронно. Это означает, что один нейрон может быть активным, в то время как все остальные не активны.
  • Эмуляция . Вы предполагаете, что для моделирования биологического нейрона потребуется всего один цикл. Однако для этого нужно много тысяч циклов. Вы не можете просто использовать больше вычислительных единиц, потому что некоторые вещи не распараллеливаются. Например, подумайте о функции f(x) = sin(x*x + 1). Для человека, в основном существует три вычисления: r1 = x*x, r2 = r1 + 1, r3 = sin(r2). Даже если над подсчетом результата работают 3 человека, вы не будете быстрее, чем самый быстрый человек в этой группе. Почему? Потому что вам нужны результаты последнего вычисления.
Мартин Тома
источник
Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат .
nbro
1

Хотя один транзистор может приблизиться к основной функции одного нейрона, я не могу согласиться с тем, что какой-либо электронный элемент может моделировать синапсы / аксоны. Транзисторы вытравлены на плоской поверхности и могут быть связаны только с соседними или близкими транзисторами. Аксоны в мозге охватывают огромные расстояния (по сравнению с размером самого нейрона) и не ограничиваются двухмерной поверхностью. Даже если бы мы смогли приблизить количество транзисторов на процессоре к количеству нейронов в мозге, мы не достигли такого количества соединений. Можно также утверждать, что аналоговые сигналы в мозге несут больше информации за единицу времени по сравнению с двоичными импульсами на чипе. Кроме того, мозг на самом деле обладает пластичностью, то есть связи между нейронами могут быть ослаблены / отброшены или выпрямлены / созданы,

Илиян Бобев
источник
1
Кремниевые чипы состоят из множества слоев, что обеспечивает большую гибкость взаимодействия между нейронами. Кроме того, электричество перемещается быстро, что позволяет нам совместно использовать пути прохождения сигнала путем мультиплексирования. Я могу представить несколько способов обеспечить высокую связь между соседними и несколько удаленными нейронами. Пластичность будет эмулироваться при наличии более высокой степени связности - поскольку отброшенный синапс ведет себя идентично синапсу, который умножается на ноль.
frodeborli
0

Вы можете рассмотреть этот список :

10 важных отличий между мозгом и компьютером:

  1. Мозги аналоговые, компьютеры цифровые
  2. Мозг использует контентно-адресуемую память
  3. Мозг - это массивно параллельная машина; компьютеры модульные и серийные
  4. Скорость обработки не фиксируется в мозге; нет системных часов
  5. Кратковременная память не похожа на оперативную память
  6. Никакое аппаратное / программное различие не может быть сделано в отношении мозга или разума
  7. Синапсы намного сложнее, чем электрические логические элементы
  8. В отличие от компьютеров, обработка и память выполняются одними и теми же компонентами в мозге.
  9. Мозг - это самоорганизующаяся система
  10. Мозги имеют тела
Франк Дернонкур
источник
1
Вы делаете много предположений, и я не согласен со многими из них. Рекуррентные нейронные сети имеют большинство свойств, которые вы описываете. Тело не должно существовать, мы просто должны кормить сенсорные нейроны, чтобы этот мозг верил, что у него есть тело - при условии, что я хочу, чтобы этот мозг имел тело.
frodeborli