Центральный процессор часто называют мозгом компьютера, но справедливо ли такое сравнение? Сказать, что процессор в точности повторяет мозг, было бы неправдой, и всё же между ними и впрямь много общего.
Оба построены донельзя сложно и искусно, и искать между ними сходства и различия можно до бесконечности. Мы же попробуем уложиться в пять итераций, сравнив строение мозга и процессора, память и «мысли» обоих, дабы понять, так ли уж бесплодны попытки создания полупроводникового двойника нашего мозга. В первом материале мы поговорим об элементарной структуре и самых основных принципах работы того и другого, но начнём, как водится, издалека…
На московском фестивале «Японская осень — 2013» демонстрировалось театрализованное действо по «Трём сёстрам» Чехова, в котором роль младшей сестры играл… андроид. Столь неординарное решение стало результатом сотрудничества труппы «Сэйнэндан», которая ставила спектакль, и небезызвестного исследователя-робототехника Хироси Исигуро, создавшего робота-геминоида, который внешне в точности копирует человека. Один из театральных рецензентов, поговорив после перформанса с «младшей сестрой», дежурно испугался — и за себя, и за театр, и за цивилизацию.
Проблема сходства человека и машины появилась в культуре едва ли не вместе с самими машинами: целые литературные направления кормились и продолжают кормиться этой темой. А уж про кино и говорить нечего: фильмам, посвящённым дружбе/вражде между машиной и человеком, несть числа, и среди них встречаются даже вполне приличные — вспомним хотя бы «Терминатора» и «Искусственный разум».
Робот с человеческим лицом — Хироси Исигуро вместе со своей копией-геминоидом (фото Queensland University of Technology).Но сходство или различия между машиной и человеком кроются не во внешних признаках, не в том, похожи ли руки умного механизма или его лицо на человеческие. Главное в другом — как этот робот оперирует информацией. Поведение и эмоции у человека зависят от работы мозга, который сравнивает, анализирует, вычисляет и т. д., то есть управляется с данными. У машины манипуляцией данными занят управляющий компьютер, точнее — центральный процессор, который заведует работой всех остальных частей компьютера. Таким образом, о сходстве или различии человека и машины, будь то чистая математика или мораль с эмоциями, следует судить по подобию или разнице между мозгом и процессором.
Воплощение принципов работы мозга — давняя мечта машинных кибернетиков. С философской точки зрения копирование мозга «в железе» может выглядеть не слишком увлекательно: помнится, Станислав Лем недоумевал, зачем создавать «железный» человеческий мозг, когда природа всё уже изобрела, и не лучше ли поискать какие-то другие способы организации информационно-машинных устройств. Но даже художники учатся, копируя работы великих предшественников, поэтому кажется вполне логичным, что разработчики микросхем и программного обеспечения сначала хотят научиться создавать аналог мозга, а потом уж, если потребуется, превзойти его.
Нынешние компьютеры, обгоняя человека в скорости математических вычислений, уступают ему в скорости распознавания каких-то объектов — например, слов или лиц. Поэтому ведущие производители процессоров (к примеру, AMD) стараются создать микросхемы, у которых были бы главные преимущества «серого вещества», — чтобы они, например, использовали параллельную схему обработки информации, свойственную мозгу, вместо обычного для большинства процессоров последовательного выполнения команд.
В основе работы современных компьютерных систем лежат логические выводы, основанные на булевой алгебре. Главным принципом в данном случае является закон исключения третьего, согласно которому логические переменные, в отличие от переменных обычной алгебры, могут принимать только два значения — «0» и «1» («ложь» или «истина»).
Булева алгебра названа по имени своего автора — Джорджа Буля, британского математика и логика, профессора Королевского колледжа Корка (город на юго-востоке Ирландии). В упрощённом представлении логика ищет ответ на вопрос, верно или нет то или иное высказывание. Причём его смысл и содержание не играют никакой роли: каждое высказывание может быть или истинным, или ложным. Другие варианты попросту исключены.
Чтобы лучше понять, как это работает, можно провести параллель между логическими операциями и физическим миром. Давайте рассмотрим модель «водопроводной системы» с вентилями на трубках, играющими роль элементов, которыми оперируют. Как и логические переменные, краны могут иметь два состояния: примем, что открытое — это «истина», а закрытое — «ложь». Результатом операции будет состояние выходной трубы: «истина» соответствует текущей воде, «ложь» — отсутствию жидкости.
Итак, в первом случае (см. изображении ниже) два вентиля на входной трубе расположены последовательно. Если закрыты оба или хотя бы один из них («ложь»), то воды на выходе нет («ложь»). То есть в данном случае система выполняет логическую операцию «И»: результат (высказывание «Вода течёт») соответствует «истине» только в том случае, если открыты первый И второй вентили.
1. Вентили на трубе расположены последовательно (иллюстрация w3resource.com).Во втором случае (см. изображение ниже) вентили располагаются параллельно. В такой конфигурации система выполняет логическую операцию «ИЛИ»: вода на выходе есть, если открыт один ИЛИ второй вентиль (или сразу оба).
2. Вентили на трубах расположены параллельно (иллюстрация w3resource.com).Комбинируя логические элементы, можно строить схемы с более сложными логическими функциями — скажем, «ИЛИ — НЕ» и «И — НЕ». На нашем примере с водопроводной системой это означает, что вентили могут быть расположены и последовательно и параллельно.
В процессорах в качестве бинарных элементов с двумя состояниями (ноль и единица) используются транзисторы, которые в некотором смысле можно сравнить с нервными клетками в человеческом мозге. Современные микрочипы могут насчитывать более миллиарда транзисторов — миниатюрных переключателей электросигнала. Чем больше их участвует в работе и чем они меньше, тем выше производительность системы.
В микропроцессорах за логические ноль и единицу принимают разные уровни напряжения. Есть два типа логических соглашений: положительное и отрицательное. В первом случае высокий потенциал отображает единицу, а низкий — ноль. Во втором — наоборот. При изменении входного сигнала происходит переключение транзисторов, что меняет сигнал на выходе.
На работу нейронов, составляющих наш мозг, всё это похоже чрезвычайно: в конце концов, нервные клетки тоже используют в качестве сигнала электрический импульс, и его генерация происходит по принципу «всё или ничего», что можно сравнить с переключением потенциала между «0» и «1» в процессорном транзисторе.
Нейрон, как известно, снабжён отростками — дендритами и аксонами. Дендриты передают импульс к телу клетки, «внутрь» нейрона, а аксоны, наоборот, работают на вешнюю сторону, то есть передают импульс на соседний нейрон или клетку мышцы (или иного органа). Таким образом, нейрон обладает полярностью, которую можно было бы сравнить с ±-полярностью электрического поля. Откуда же в нейроне берётся ток? В клеточную мемрану нейрона встроен белковый насос, который перекачивает ионы изнутри на наружную её сторону и обратно, таким образом и создаётся электрический разряд. Причём важно, что насосы работают так, чтобы на наружной стороне мембраны сохранялся положительный заряд, а на внутренней — отрицательный. (Подчеркнём, что такая полярность касается лишь области, непосредственно прилегающей к мембране.)
Когда нейрону приходит пора возбудиться, на мембране мгновенно меняется разность потенциалов (положительные ионы переходят внутрь, а отрицательные — изнутри наружу)— сначала на одном её участке, а потом и на соседних, то есть происходит распространение возбуждения. После изменения потенциала нужно время, чтобы исходная разность потенциалов восстановилась (внутри — «минус», снаружи — «плюс»). Чтобы распределить ионы по-старому, нужно какое-то время. Это время называют рефрактерным периодом, и именно оно обеспечивает полярность нейрона и однонаправленное проведение сигнала.
Этот рефрактерный период, когда ионные каналы молчат и клетку ничто, так сказать, не возбуждает, и есть одна из главных причин того, что нейрон работает медленнее транзисторов: за время отдыха клетки транзистор успел бы «провернуть» миллионы операций, в то время как нейронная цепь может сделать где-то сотню шагов.
Вас интересует, откуда берётся самое первое возбуждение? О, причин тому может быть множество: к примеру, механическое раздражение мембраны в случае некоторых рецепторов, которое и запускает изменение в мембранном потенциале, или световое раздражение в случае фоторецепторов, или импульс от соседнего нейрона, или тот же электрический ток — если сунуть палец в розетку…
Несколько нейронов, соединённых между собой отростками, аксонами и дендритами (фото Michael Delannoy).Но более важно то, что на приходящий стимул (рецепторное раздражение или электрический импульс от соседнего нейрона) клетка либо отвечает, либо нет. Ответ может быть слабым или сильным, в зависимости от состояния нейрона, но альтернативой ему может быть не другой ответ, отличающийся по силе, а полное молчание. Чтобы ответ состоялся и по нейрону пошло возбуждение, раздражитель должен быть по силе выше какого-то порогового уровня. Благодаря такому порогу и реакции «всё-или-ничего» на послепороговое раздражение мы на уровне нейрона можем говорить о настоящей булевой алгебре с двумя значениями переменной: «0» или «1», «вкл.» или «выкл.».
…Однако нынешние компьютеры, однозначно опережая человека в скорости математических вычислений, в некоторых задачах ему уступают — скажем, в скорости распознавания тех или иных объектов, хотя бы слов или лиц. Почему же мозг «декодирует» лицо быстрее, чем обученная этому электронно-вычислительная машина? Потому что нейроны работают параллельно, а не последовательно. Ну а большинство современных процессоров основано на той или иной версии циклического процесса последовательной обработки данных, которую придумал ещё Джон фон Нейман. Все команды, которые хранятся в памяти, процессор по очереди обрабатывает в этом фон-неймановском цикле, и скорость, с которой он крутится, определяется тактовым генератором, выдающим электрические импульсы заданной частоты. Именно этот показатель называется тактовой частотой, и от него зависит скорость вычислений.
Если перед компьютером поставить задачу распознать какое-то изображение, то он будет прочёсывать его последовательно, пиксель за пикселем; в мозге же над этим одновременно работает множество нейронов, каждый из которых занимается своим фрагментом картинки. В случае зрительного стимула тут, понятно, нужно говорить о нейронах сетчатки, но то же самое происходит и с другими задачами — и в результате нейроны, которые по отдельности действуют медленнее процессорного транзистора, в параллельной совокупности в некоторых задачах его опережают.
Преимущества параллельной обработки данных ни для кого не секрет, и ведущие производители процессоров бьются над микросхемами, у которых среди прочего было бы и это замечательное свойство мозга — «запараллеливать» выполняемые задачи.
Итак, верным булевой алгебре является не только отдельно взятый нейрон: это сходство наблюдается и на уровне нейронных сетей. Среди нервных клеток есть так называемые нейроны возбуждения и нейроны торможения. Первые активируют соседние с ним клетки, а вторые, наоборот, заставляют своих «соседей» замолчать (то есть перестать проводить информацию через себя).
И в общем и целом импульсы нейронов возбуждения и торможения опять же напоминают значения булевой переменной, «0» и «1».
Однако всё же стоит признать, что работа нейронной сети строится не на цифровом механизме, а на аналоговом: так, выполнение какой-то операции произойдёт лишь в том случае, если по нейрону пройдёт несколько импульсов, причём важно не только их количество, но и ритм. Здесь имеет значение уровень возбуждения нейрона, то, насколько чутко он реагирует на приходящие сигналы. Уровень возбуждения зависит от предыдущих действий, которые выполнял нейрон, — от состояния синаптического контакта, от синтеза нейромедиаторов и т. п.
Синапс под микроскопом: передающий нейрон готовится высвободить нейромедиатор (зелёные пузырьки) в синаптическую щель между ним и принимающей клеткой (фото Dennis Kunkel Microscopy, Inc.).Синаптический контакт и нейромедиаторы, о которых мы только что сказали, невозможно найти в процессоре, это ноу-хау принадлежит сугубо нервной системе. Синаптический контакт («синапс») — это когда нейроны соединяются в нервные цепочки, а также могут устанавливать контакт с другими клетками (одни из них служат «передатчиками», другие — «приёмниками»). Нейромедиаторы — молекулы, которые высвобождаются из клетки-передатчика и возбуждают потенциал действия в клетке-приёмнике.
Эффективность передачи сигнала зависит от того, как много нейромедиатора высвободилось, были ли на его пути препятствия, удачно ли с этим нейромедиатором провзаимодействовали рецепторы следующего нейрона и т. д. Не говоря уже о том, что самих нейромедиаторов существует довольно много: это и серотонин, и дофамин, и ГАМК (гамма-аминомасляная кислота), и женские половые гормоны (и это лишь небольшая доля). Синапсы с нейромедиаторами служат мощным средством регуляции информационных процессов в мозге, и в дальнейшем мы с ними ещё не раз столкнёмся. Во многом благодаря синапсам мы и говорим об аналоговости нейронных «микросхем».
До сих пор мы ни слова не сказали о том, что мозг состоит из множества разных частей, каждая из которых имеет собственные функции. Между тем тот же мозг чрезвычайно сложно структурирован. Но и процессор — это тоже далеко не просто набор чего бы то ни было; скажем, транзисторы в нём можно упорядочить так, что это будет напоминать, пусть и отдалённо, отдельные структуры мозга. В следующем материале мы как раз и попытаемся понять, насколько структурированность современного процессора сопоставима со структурированностью мозга.
Транзистор — радиоэлектронный компонент из полупроводникового материала, позволяющий управлять током в электрической цепи; элементарная структурная единица микросхем.
Архитектура фон Неймана — принцип работы вычислительной системы, когда команды и данные хранятся в одном и том же месте; и чтение данных, и чтение команд, диктующих, что делать с данными, происходит последовательно в повторяющемся цикле.
Нейрон — нервная клетка, структурно-функциональная единица нервной системы, формирующая два типа отростков: сильно разветвлённые и короткие дендриты, принимающие сигнал, и длинный неветвящийся аксон, передающий сигнал на соседние клетки.
Потенциал действия нейрона — быстрое кратковременное изменение потенциала на небольшом участке мембраны возбудимой клетки, распространяющееся по мембране клетки при передаче нервного сигнала.
Рефрактерный период нейрона — период после возникновения на мембране клетки потенциала действия, в ходе которого возбудимость мембраны снижается, а затем постепенно восстанавливается до исходного уровня.
Синапс — место контакта между двумя нейронами или между нейроном и получающей сигнал эффекторной клеткой (мышечной, секреторной и т. п.). Передача сигнала может происходить как простым переходом электрического заряда с клетки на клетку, так и с помощью молекул нейромедиаторов, высвобождающихся из клетки-передатчика и возбуждающих потенциал действия в клетке-приёмнике. В ходе синаптической передачи амплитуда и частота сигнала могут регулироваться.