В свое время на Хабре был опубликован цикл статей «Логика мышления». С тех пор прошло два года. За это время удалось сильно продвинуться вперед в понимании того, как работает
Перед началом хотелось бы сделать несколько замечаний, которые будет полезно помнить во время чтения всех последующих статей.
Ситуация, связанная с изучением
Не должна вводить в заблуждение распространенная фраза о том, что многие идеи искусственных нейронных сетей позаимствованы из исследований реального
Поэтому, на сегодня, основной вопрос нейронауки – это, не построение более совершенных теорий, а поиск исходных объяснений, которые хоть как-то связали бы воедино все то, что уже известно о
Нейрон, если смотреть на него не особо пристально, выглядит достаточно просто. Есть тело нейрона и есть его дендритное дерево. На теле и дендрите располагаются синапсы. Есть аксон. Синапсы похожи на входы, аксон похож на выход. Есть спайки – импульсы, которые возникают в теле нейрона и распространяются по аксону. Вот, вроде, готовая базовая конструкция. Типовой элемент с достаточно простым принципом работы.
Схема нейрона (Mariana Ruiz Villarreal)
Именно так и рассуждали Маккалок и Питтс, предлагая схему формального нейрона. Отбросим несущественное, оставим суть и получится пороговый сумматор. Сигналы на синаптических входах складываются, каждый со своим весом, к результату применяется пороговая функция и вот на выходе либо есть сигнал, либо нет.
Формальный нейрон Маккалока — Питтса
Для такого нейрона его «все» — это значения синаптических весов. Они определяют на что нейрон реагирует, то есть, по сути, чем он является. Из таких нейронов можно собрать нейронную сеть. Можно придумать алгоритмы обучения такой сети. То есть подобрать такие веса для всех нейронов, чтобы результат работы сети каким-либо образом соответствовал нашим ожиданиям.
В результате появились различные архитектуры искуственных нейронных сетей и различные алгоритмы обучения. Но во всех архитектурах сохранилась общая идея, заложенная в сам формальный нейрон, – идея «нейрона бабушки». В 1969 году Джерри Летвин сказал: «Если
Концепция «нейрона бабушки» держится на двух очень сильных доводах. Во-первых, многие экспериментальные данные указывают на избирательную реакцию нейронов на соответствующие стимулы. Например, показана и хорошо изучена реакция нейронов первичной зрительной коры на определенные зрительные стимулы (Hubel, 1988). Также, был обнаружен нейрон «Дженнифер Энистон», который реагировал, как на саму Дженнифер Энистон, так и вообще на персонажей телесериала «Друзья» (R. Quian Quiroga, L. Reddy, G. Kreiman, C. Koch, I. Fried, 2005).
Во-вторых, искусственные нейронные сети, всецело основанные на идее нейрона детектора (то есть «нейрона бабушки») хорошо работают и показывают революционные результаты, вселяющие глубокий оптимизм.
Но есть несколько проблем. Первая, уже упомянутая выше, связана с биологией. Чем больше становится известно о строении и работе реального нейрона, тем все менее он становится похож на формальный нейрон. Скорее можно говорить о том, что реальный нейрон даже близко не напоминает свой формальный аналог. Можно привести такую аналогию: судить о работе нейрона по его спайку – это, как делать выводы о работе компьютера по изменению общей яркости свечения монитора.
Вторая проблема в том, что если множество умных людей слишком долго пытаются найти решение задачи и не находят, то скорее всего проблема не в решении, а в условиях задачи. Вспомните про черную кошку в темной комнате. Для нейронауки одна из «составляющих условия» – это концепция «нейрона бабушки», которая в силу описанных выше причин воспринимается, как концепция доказанная экспериментально.
Можно ли отказаться от концепции «нейрона бабушки» и какова альтернатива? Допустим, есть несколько ячеек памяти. Концепции «нейрона бабушки» — это когда за каждой ячейкой закреплена своя «бабушка». Описание в таком подходе — это когда содержимое ячейки памяти говорит о том насколько выражена та или иная “бабушка”. При моделирование искусственной нейронной сети каждый нейрон соответствует определенному признаку, уровень активности нейрона показывает выраженность признака в текущем описании.
Возможен альтернативный подход. Ячейки памяти по отдельности или совместно могут хранить «код бабушки». Если этот код можно поменять на другой или воспроизвести в другом месте памяти, то мы приходим к идеологии компьютера и компьютерной программы.
Компьютеры, как мы знаем, вполне успешно решают различные информационные задачи. В принципе, достаточно соблазнительно использовать исключительно компьютерный подход для описания работы
Вторая сложность в том, что если
Есть еще пара существенных моментов тесно связанных с вопросом «нейрона бабушки». Первый момент — это вопрос: реальные нейроны работают с цифровым кодом или с аналоговым сигналом? От ответа на этот вопрос зависит очень многое. По сути, он и определяет идеологию — «бабушка» или не «бабушка». Если работа нейронов аналоговая, например, частота спайков или интервал между спайками кодируют уровень активности «бабушки», то работают все парадигмы традиционных нейронных сетей. Картина активности нейронов — это признаковое описание. Активность нейрона — скалярная величина, соответствующая количественному признаку. Определены вектора, описывающие состояние разных слоев сети, связи между нейронами, их веса и вид пороговых функций нейронов определяют некие функции преобразования. Мы можем настраивать эти функции, используя градиентный спуск, обучение Хебба, обратное распространение ошибки, машины Больцмана и тому подобное. Главное при этом то, что мы можем плавно, по аналоговому, менять параметры сети и состояние ее нейронов. «Бабушки» будет чуть больше, «бабушки» будет чуть меньше.
Но если же сигналы нейронов образуют цифровой код, то это совсем другая математика и абсолютно другие методы. Если у вас есть телефонный номер «бабушки», то нельзя набирать его почти точно и надеяться попасть почти к «бабушке».
Второй момент связан с вопросом понимания информации. Для человека полезная информация имеет смысл. Причем, интуитивно нам понятно, что именно смысл определяет основную идеологию информационных процессов, происходящих в нашей голове. При этом само понятие смысл до сих пор достаточно плохо формализовано. Вполне уместно предположить, что реальный механизм работы нейронных структур
С одной стороны, если допустить, что нейронные сети не похожи на
Предлагаемый цикл статей будет посвящен описанию модели
И, пожалуй, главное: все ключевые алгоритмы будут сопровождены работающим кодом. Нам сами странно, но все это действительно очень хорошо работает :)
И напоследок о названии цикла. Часто решение одной загадки приоткрывет путь к решению другой. Загадка сознания, похоже, — задача значительно более общая, чем задача понимания информационных процессов
Алексей Редозубов
P.S. Если кто-то хочет заглянуть немного вперед и при этом сделать полезное дело, то сейчас совместными усилиями делается перевод материалов на английский язык (координатор — Дмитрий Шабанов). Американские коллеги из университета Дюка делают финальную редактуру. Но требуется перевести до того уровня, когда им станет понятен смысл. Сроки сдачи текста в издательство сильно поджимают. Если есть возможность и желание перевести несколько абзацев, то присоединяйтесь.
Автор: AlexeyR