Нейросеть нейросетей
Изображение brentsview под лицензией CC BY-NC 2.0
В мозг поступает информация из внешнего мира, его нейроны получают данные на входе, производят обработку и выдают некий результат. Это может быть мысль (хочу карри на ужин), действие (сделать карри), изменение настроения (ура, карри!). Что бы ни получилось на выходе, это «что-то» является преобразованием данных со входа (меню) в результат на выходе («куриный дхансак, пожалуйста»). И если представлять мозг как преобразователь с входом в выходом, то неизбежна аналогия с компьютером.
Для одних это просто полезный риторический приём, для других — серьёзная идея. Но мозг — это не компьютер. Компьютером является каждый нейрон. В коре головного мозга 17 миллиардов компьютеров.
Посмотрите на это:
Пирамидальный нейрон, спроецированный в 2D. Чёрное пятно посередине — это тело нейрона, а остальные провода — его дендриты. Изображение: Ален Декстеше
Это изображение пирамидального нейрона. Такие клетки составляют большую часть коры вашего мозга. Пятно в центре — тело нейрона, а во все стороны тянутся и ветвятся дендриты, извилистые провода, которые собирают входные данные от других близких и далёких нейронов. Входные данные поступают по всей длине каждого дендрита, некоторые прямо рядом с телом, а другие далеко на кончиках. Важно, куда именно поступит сигнал.
Многие не понимают, насколько важно местоположение входных данных. Обычно работу нейронов сводят к идее простого сумматора. В этой идее дендриты — просто устройства для сбора входных данных. Активация каждого входа в отдельности немного изменяет напряжение тока в электрической нейросети. Если суммировать ток со всех дендритов, то генерируется дендритный потенциал действия (спайк), который спускается по аксону и станет входом для других нейронов.
Модель нейрона с суммированием входных сигналов и генерацией дендритного потенциала действия, если сумма входов превышает порог (серый круг)
Это удобная ментальная модель, она лежит в основе всех искусственных нейронных сетей. Но она неправильная.
Дендриты — не просто кусочки проволоки. У них тоже есть собственное устройство для генерации спайков. Если на одном небольшом участке дендрита активировано достаточное количество входов, то они будут усилены:
Два цветных сгустка — это два входа в один участок дендрита. Когда они самостоятельно активируются, каждый порождает отклик. Серая стрелка на рисунке указывает на активацию этого входа (отклик здесь означает «изменение напряжения»). При совместной активации отклик больше (сплошная линия), чем сумма отдельных входов (пунктирная линия)
Соотношение между количеством активных входов и размером отклика на небольшом участке дендрита выглядит следующим образом:
Размер отклика в одной ветви дендрита в ответ на увеличение числа активных входов. Локальный «спайк» — это резкий скачок от минимальной к большой реакции
Мы видим локальный всплеск: внезапный скачок от почти нулевой реакции на несколько входов к очень большой реакции с добавлением ещё одного. Этот участок дендрита работает «надлинейно», здесь 2+2=6.
Мы много лет знаем об этих локальных всплесках на отдельных участках дендрита. Мы видели спайки в нейронах на срезах мозга. Мы видели их у животных под наркозом, которым щекотали лапы (да, мозг без сознания ещё что-то чувствует; просто не утруждает себя ответом). Совсем недавно мы видели их в дендритах нейронов у животных в движении (да, Мур с коллегами зафиксировали ЭМ-поле в нескольких микрометрах от мозга бегающей мыши; сумасшедший, правда?). Дендриты пирамидального нейрона действительно генерируют спайки.
Но почему этот локальный всплеск меняет наше представление о мозге как о компьютере? Потому что у дендритов пирамидального нейрона много отдельных веток. И каждая способна вычислить результат и выдать всплеск. Это означает, что каждая ветвь дендрита действует как небольшое нелинейное выходное устройство, суммируя и выводя локальный всплеск, если эта ветвь получает достаточное количество входов примерно в одно время:
Дежавю. Одна дендритная ветвь действует как небольшое устройство для суммирования входов и выдачи всплеска, если одновременно поступило достаточно входов. И преобразование от входа к выходу (серый круг) — тот же график, который мы уже видели выше, определяющий силу спайка
Погодите. Разве это не наша модель нейрона? Да, это она. Теперь, если заменить каждую маленькую ветвь дендрита одним из наших маленьких «нейронных» устройств, то пирамидальный нейрон выглядит примерно так:
Слева: много дендритных ветвей нейрона (сверху и снизу от тела). Справа: получается, что это набор нелинейных суммирующих устройств (жёлтые ящики с нелинейными выходами), которые выводятся в тело нейрона (серый ящик) и суммируются там. Что-то знакомое?
Да, каждый пирамидальный нейрон представляет собой двухслойную нейронную сеть. Сам по себе.
Прекрасная работа Поирази и Мела ещё в 2003 году явно показала это. Они построили сложную компьютерную модель одного нейрона, имитируя каждый маленький кусочек дендрита, локальные всплески внутри них, и как те спускаются к телу. Затем они напрямую сравнили выход нейрона с выходом двухслойной нейронной сети — и они оказались одинаковыми.
Необычайное значение этих локальных всплесков в том, что каждый нейрон является компьютером. Сам по себе нейрон способен вычислить огромный диапазон так называемых нелинейных функций, которые он просто суммирует и выдаёт спайк. Например, с четырьмя входами (синий, море, жёлтый и солнце) и двумя ветвями, действующими как маленькие нелинейные устройства, пирамидальный нейрон может вычислить функцию «связывания признаков»: реагировать на сочетание синего и моря или на сочетание жёлтого и солнца, но не реагировать иначе, например, на синий и солнце или жёлтый и море. Конечно, у нейронов гораздо больше четырёх входов и гораздо больше двух ветвей: таким образом, они способны вычислять астрономический диапазон логических функций.
Совсем недавно Ромен Кейз с друзьями (я один из друзей) показали, что единственный нейрон вычисляет удивительный диапазон функций, даже если не способен сгенерировать локальный дендритный всплеск. Потому что дендриты, естественно, не линейны: в своём нормальном состоянии они фактически суммируют входные данные, получая результат меньше, чем сумма отдельных значений. В таком режиме они работают сублинейно, то есть 2+2 = 3,5. И наличие многих дендритных ветвей с сублинейным суммированием также позволяет нейрону действовать как двухслойная нейронная сеть. Двухслойная нейронная сеть, которая вычисляет различный набор нелинейных функций, построенный по нейронам с надлинейными дендритами. И почти у каждого нейрона есть дендриты. Таким образом, почти все нейроны в принципе могут быть двухслойной нейронной сетью.
Другое удивительное следствие локального всплеска состоит в том, что нейроны знают о мире намного больше, чем говорят нам — или другим нейронам, если уж на то пошло.
Недавно я задал простой вопрос: как мозг распределяет информацию? Когда мы смотрим на проводку между нейронами в мозге, мы можем проследить путь от любого нейрона к любому другому. Как же тогда информация, очевидно доступная в одной части мозга (скажем, запах карри), не появляется во всех других частях мозга (например, в зрительной коре)?
На это есть два противоположных ответа. Во-первых, в некоторых случаях мозг не разделён: информация действительно появляется в странных местах, например, звуки доходят до области мозга, которая отвечает за ориентирование на местности. И другой ответ: мозг разделяют дендриты.
Как мы только что видели, локальный всплеск является нелинейным событием: он больше, чем сумма входов. И тело нейрона в основном не может обнаружить ничего, что не является локальным всплеском. Это означает, что оно игнорирует большую часть входных данных: тот участок, который генерирует импульс для остальной части мозга, изолирован от большей части информации, которую получает нейрон. Нейрон реагирует только тогда, когда много входов активны одновременно во времени и пространстве (на одном и том же участке дендрита).
В таком случае получается, что дендриты реагируют на то, на что не реагирует нейрон. Именно это и происходит. Мы видели, как в зрительной коре многие нейроны реагируют только на объекты, которые движутся под определённым углом. В некоторых нейронах генерируются спайки при движении объекта под углом 60°, в других 90° или 120°. Но дендриты реагируют на все углы без исключения. Дендриты знают гораздо больше об окружающем мире, чем тело нейрона.
Они также видят гораздо больше. Нейроны зрительной коры реагируют только на вещи в определённом месте: один нейрон может реагировать на объекты слева вверху, другой — на объекты справа внизу. Совсем недавно Соня Хофер с коллегами показали, что всплески нейронов происходят только в ответ на объекты, появляющиеся в одном определённом положении, но дендриты реагируют на множество различных положений, часто далёких от специализации нейрона. Таким образом, нейроны реагируют только на небольшую часть полученной информации, а остальная информация спрятана в их дендритах.
Почему всё это важно? Это означает, что каждый нейрон может радикально изменить свою функцию, сменив всего несколько входов. Некоторые входы становятся слабее — и внезапно целая ветвь дендрита замолкает. Нейрон, который раньше был рад видеть кошек, потому что эта ветвь любила кошек, больше не реагирует, когда ваша кошка запрыгнула на клавиатуру работающего компьютера — и в результате вы стали гораздо более спокойным, собранным человеком. Несколько входов усиливаются — и внезапно целая ветвь начинает реагировать: нейрон, который раньше не реагировал на вкус оливок, теперь радостно генерирует всплески, когда фиксирует полный рот спелых зелёных оливок — по моему опыту, этот нейрон активируется у человека только после 20 лет. Если бы входы просто суммировались, то новые входы сражались бы со старыми за функцию нейрона; но каждый участок дендрита действует независимо и легко производит новые вычисления.
Это означает, что мозг может производить множество вычислений. Нельзя считать нейрон просто сумматором входных данных и генератором всплесков. Но именно так устроены юниты в искусственных нейронных сетях. Это говорит о том, что глубокое обучение и другие системы ИИ даже не приблизились к вычислительной мощи реального мозга.
В коре головного мозга 17 миллиардов нейронов. Чтобы понять, что они делают, мы часто проводим аналогии с компьютером. Некоторые аргументы полностью основаны на этой аналогии. Другие считают её заблуждением. В пример часто приводят искусственные нейросети: они производят вычисления и состоят из нейроноподобных вещей, поэтому и мозг должен вычислять. Но если мы думаем, что мозг — это компьютер, потому что он подобен нейронной сети, то теперь мы должны признать, что отдельные нейроны тоже являются компьютерами. Все 17 миллиардов в коре. Возможно, все 86 миллиардов в мозге.
Это значит, что кора головного мозга — не нейронная сеть. Это нейросеть из нейросетей.
habr.com /ru/post/445420/ |