Предлагаем читателям задачу на построение нейронной сети (нейронной схемы). Для решения такой задачи нужно использовать элементы схемы — пороговые нейроны со ступенчатыми характеристиками. Если стимул, действующий на такой нейрон, больше порога, то нейрон выдает единичный сигнал. Его величина у данного нейрона постоянна — она не зависит от силы стимула, превышающего порог. «На выходе» такого нейрона может быть сигнал, сила которого равна любому целому числу — положительному или отрицательному.
Если это положительное число (например, +1), то на конце аксона нашего условного нейрона рисуется черточка — такой нейрон возбуждающий (рис. 1).
Если отрицательное (например, –1), то на конце нарисуем кружок — это нейрон тормозный (рис. 2).
Рис. 2. Это тормозный нейрон
Если мы хотим, чтобы на выходе было, например, +2, то просто добавляем лишнее окончание аксона (рис. 3)
Рис. 3. Такой нейрон будет выдавать сигнал +2
Если внутри нейрона ничего не написано, то считается, что его порог равен 1. Если написано число — то порог равен этому числу.
Рис. 4. Такой нейрон имеет порог 2
Такие нейроны работают как сумматоры. Они складывают все пришедшие сигналы и сравнивают сумму с порогом. Если сумма больше порога или равна ему — нейрон выдает свой сигнал, а если сумма меньше порога — молчит. Например, если на нейрон, изображенный на рис. 4, приходят сигналы от двух нейронов, изображенных на рис. 2 и 3, то он проделывает операцию [+2 + (–1) = 1 < 2] и молчит.
Бывают также спонтанно активные (СА) нейроны — они выдают сигнал при отсутствии внешнего стимула (рис. 5).
Рис. 5. Это — спонтанно активный нейрон
Некоторые такие нейроны наделяются свойствами рецепторов или командных нейронов. Рецептор может выдавать свой сигнал в ответ на определенный внешний стимул (свет, механическое воздействие и т. п.) любой или наперед заданной величины. Командный нейрон (КН) может запускать сложное поведение (например, поедание пищи), которое в задаче рассматривается как «черный ящик» — для него не надо придумывать нейронную сеть.
А теперь — сама задача.
Встречный поток воздуха (например, от вентилятора) вызывает локомоцию (бег или полет) некоторых насекомых (саранчи и др.).
Рис. 6. Если ноги насекомого при воздействии воздушного потока не касаются земли, то насекомое летит, а если касаются — бежит. Изображение с сайта www.eurekalert.org
Если ноги насекомого при воздействии воздушного потока не касаются земли, то насекомое летит (рис. 6), а если касаются — бежит (в таком опыте, как на рис. 6, под ноги насекомого подставляют вращающийся шарик, и оно бежит по его поверхности). При полете ноги неподвижны. Придумайте нейронную схему для такого поведения.
(На входе такой схемы должны стоять рецепторы, а на выходе — командные нейроны. Задача сводится к тому, чтобы соединить их, при участии других нейронов, в сеть, обеспечивающую правильное поведение в обоих случаях.)
Подумайте, какие рецепторы и командные нейроны нужно использовать в задаче.
Естественно, «лучшей» считается сеть из наименьшего числа нейронов.
Если рецепторов три — можно обойтись без тормозных нейронов, а если два — то вряд ли.
Конечно, у такой задачи бесконечное множество решений. Но приведенные ниже решения а) и б) — пожалуй, наиболее логичные. Правда, в решении а) можно сэкономить еще две клетки, если приписать порог 2 самим командным нейронам.
Логика у этих решений немного различается.
Рис. 7. Несколько вариантов решения задачи. Рз — рецептор «касания земли», Рн — рецептор «некасания земли», Рв — рецептор встречного воздушного потока. КНб — командный нейрон бега, КНп — командный нейрон полета. На рис. а) порог 2 могли бы иметь и сами командные нейроны — тогда схема стала бы более «экономичной». На рис. б) ИН — интернейрон (вставочный тормозный нейрон с порогом 1)
Решение а) предполагает, что совместное действие двух условий вызывает каждую из реакций — «ветер + некасание земли — летим», «ветер + касание земли — бежим».
Согласно решению б), насекомое более предрасположено к полету, чем к бегу: лишь то, что ноги касаются земли, мешает ему полететь при дуновении ветра...
Своя логика есть и у решения в): ветер стимулирует оба типа локомоции, но в любой ситуации, когда стимулируется одна из реакций, другая должна тормозиться.
Эта задача и варианты ее решения взяты из пособия М. Б. Беркинблита «Нейронные сети» (М., МИРОС, 1993) и использованы здесь с разрешения автора.
Автор пособия, Михаил Борисович Беркинблит, справедливо отмечает в предисловии, что для большинства школьников (добавим от себя — и взрослых тоже!) слова «мозг управляет органами», «нервная система регулирует работу сердца» и т. п., которые они неоднократно читали и слышали, остаются заклинаниями. Они не проясняют суть дела и ничего не дают ни уму, ни сердцу. К сожалению, с тех пор положение в биологическом образовании, пожалуй, только усугубилось.
С другой стороны, разработка математических моделей нейронных сетей и кибернетических устройств на их основе продолжает бурно развиваться (см., например, статью Искусственная нейронная сеть). При этом поиск в Google по ключевым словам «Нейронные сети» выдает главным образом статьи, лекции и книги, посвященные перцептронам и другим самообучающимся нейронным сетям. Такие пособия (например, «Нейронные сети. Передовые технологии анализа данных») в лучшем случае содержат на первой странице рисунок нейрона и описание его свойств. На второй странице авторы напрочь забывают и про нейроны, и про многообразие задач, решаемых мозгом. Начинаются страницы формул или компьютерные программы, которые способны отпугнуть любого читателя без математической подготовки...
Так что цитируемое нами пособие М. Б. Беркинблита остается, по-видимому, уникальным. Формул в нем всего две почти на ста страницах текста; на доступном для любого заинтересованного старшеклассника уровне в нем разбираются примеры того, как мозг может управлять движениями, распознавать изображения, различать цвета и обучаться. В нем есть задачи и попроще (вроде разобранной нами), и посложнее. Жаль только, что на многие сложные задачи нет ответов — может быть, найдутся энтузиасты и напишут их?
При этом, компьютерные модели работы нервной системы, хотя пока еще даже близко не подошли к уровню работы реального мозга, всё же достигли определенных успехов. Например, несколько месяцев назад канадские специалисты объявили о разработке компьютерной модели мозга, которая способна распознавать некоторые изображения, воспроизводить их и решать простейшие логические задачи (см. От сложного к сложному: создана новая модель искусственного мозга, «Элементы», 05.12.2012). Эта модель, которой исследователи дали имя «Спаун», — по сути просто компьютерная программа, в которой прописаны свойства нейронов и правила, по которым они образуют связи друг с другом.
Если вернуться к нашей задаче про насекомое, то возникает законный вопрос: а имеет ли она какое-то отношение к реальной работе мозга или это просто пища для ума любознательных школьников? Оказывается, всё-таки имеет. Конечно, реальные нейроны устроены совсем иначе, чем модельные (особенно такие простые, как в нашей задаче), а реальный мозг содержит гораздо более сложные сети. Но для изучения сложной системы бывает полезно построить простую модель, которая показывает, как система в принципе могла бы работать.
Вообще, возбуждение и торможение нейрона — это необычайно сложный и тонкий процесс. Обеспечивается оно следующим образом. Мембрана нейрона обладает потенциалом покоя: в спокойном состоянии внутренняя ее часть заряжена отрицательно относительно наружной (это обеспечивается различным распределением разных ионов по ту и другую стороны мембраны). Когда через синапс проходит сигнал, то это вызывает изменение мембранного потенциала — мембрана может деполяризоваться (то есть выровнять внутренний заряд относительно наружного) или гиперполяризоваться (то есть, наоборот, увеличить разницу между внутренним и наружным зарядом). Эти изменения потенциала распространяются по мембране на некоторое расстояние, постепенно затухая.
Поскольку на одном нейроне имеется множество синапсов, и на синапсы эти то и дело приходят сигналы, то в результате потенциал мембраны нейрона то и дело меняется в ту или другую сторону на небольшую величину — как море, по которому ходят волны. Эти волны суммируются между собой в пространстве и времени: две деполяризующих волны усилят друг друга, а деполяризующая и гиперполяризующая, наоборот, друг друга погасят. При этом на мембране нейрона есть особый участок — аксонный холмик. Если волна деполяризации, дошедшая до этого участка, будет выше некоторой пороговой величины, то в этом участке начнется генерация нервного импульса, который побежит по аксону и дойдет до синапсов на телах или отростках других нейронов.
Таким образом, реальная картина работы нейрона гораздо сложнее описанной в этой задаче. Во-первых, синапсы отличаются по значимости — синапс маленькой площади вызывает гораздо меньший ответ постсинаптической мембраны. Во-вторых, существует синаптическая пластичность — то есть чем чаще синапс используется, тем более значимым он становится. В-третьих, чем ближе синапс находится к аксонному холмику, тем больший вклад он вносит в генерацию импульса. И так далее, и тому подобное. Все эти характеристики нейронов позволяют сделать работу нервной системы гораздо более гибкой и тонко регулируемой.
Кроме того, и нейронные сети, образуемые реальными нейронами, гораздо сложнее, чем простые схемы, описанные в этой задаче. Работа нервной системы модулируется огромным количеством тонких механизмов. Например, точность движений обеспечивается филигранным сочетанием возбуждения и торможения. Если бы движение запускали только возбуждающие нейроны, эти движения были бы очень размашистыми и грубыми, однако тонкое вытормаживание излишнего возбуждения позволяет «отъюстировать» движения до нужного уровня.
Однако, как бы сложна ни была система, для ее изучения бывает полезно построить простую модель, которая показывает, как система в принципе могла бы работать. Например, для изучения даже такого сложного процесса, как память, оказалось полезным разобраться в работе простейшей нейронной сети, обеспечивающей простейшую форму обучения у моллюска аплизии (см. нобелевскую лекцию Эрика Канделя, 2000. The Molecular Biology of Memory Storage: A Dialog Between Genes and Synapses). А для начала пришлось выяснить, как устроена эта нейронная сеть (выяснилось, что в ней ненамного больше нейронов, чем в нейронной сети из нашей задачи!). Замечательно, что основные молекулярные и клеточные механизмы памяти, открытые на моллюске, оказались похожими и у млекопитающих, хотя у моллюска центральная нервная система состоит из 20 тысяч нейронов, а у мышей и людей — из миллионов или миллиардов. В частности, выяснилось, что в формировании памяти и у моллюсков, и у большинства других живых существ участвуют специальные «молекулы памяти» — белки, которые постоянно экспрессируются в области синапса и таким образом меняют его свойства и значимость (см.: Какой же вклад протеинкиназа M-дзета вносит в формирование памяти?, «Элементы», 12.02.2013).
Еще один замечательный пример полезности моделей приведен всё в том же пособии. В 1970 году в журнале «Биофизика» была опубликована работа В. Л. Дунина-Барковского (тогда — студента МФТИ, а ныне — профессора, доктора физ.-мат. наук), в которой он предложил модель нейронной сети с взаимным обратным торможением, способной генерировать ритмические движения. Через семь лет в другом журнале вышла статья знаменитого молекулярного биолога Гюнтера Стента (Gunther Stent), переключившегося на изучение нейрофизиологии пиявки; он описал реальную моторную сеть, построенную по тому же принципу (см.: W. O. Friesen, G. S. Stent, 1977. Generation of a locomotory rhythm by a neural network with recurrent cyclic inhibition) . Оказалась, что такая сеть обеспечивает плавание медицинской пиявки. Правда, подробнее описанная в более поздних работах нейронная сеть не такая красивая, как предсказанная (см. W. Otto Friesen, William B. Kristan, 2007. Leech locomotion: swimming, crawling, and decisions и рис. 8).
Рис. 8. Моторная сеть, управляющая плаванием медицинской пиявки
Автор задачи и решения: М. Б. Беркинблит
Авторы послеловия: Сергей Глаголев, Вера Башмакова
Рис. 1. Это возбуждающий нейрон