К книге
Эмерджентный разум: Как возникает интеллект у людей и машинГлава 7. Обретение (и утрата) смысла.
55%
Глава 7. Обретение (и утрата) смысла.
12

Наш разум без труда понимает, что вода меняет форму, чтобы заполнить сосуд, а сковорода — нет. Как мы приходим к такому знанию?

Заметим, что нетрудно представить нейросеть, обладающую подобным знанием. Для этого достаточно было бы создать сеть с одним элементом, представляющим воду, вторым — представляющим сковороду, и третьим — представляющим свойство принимать форму сосуда. Между элементом «вода» и элементом свойства принимать форму существовала бы связь, а между элементом «сковорода» и элементом свойства принимать форму — нет.

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

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

В этой главе мы зададимся двумя взаимосвязанными вопросами. Во-первых, почему мозг использует распределенные представления для представления объектов (вместо того чтобы выделять по одному нейрону на каждый)? Во-вторых, как именно мозг учится формировать такие распределенные представления? Наш анализ покажет, что распределенные представления жизненно важны для нашей поразительной способности осмыслять окружающий мир. Мы также увидим, что они позволяют понять, почему порой — например, при некоторых нейродегенеративных заболеваниях — мы эту способность утрачиваем.

Приобретение и утрата знаний о мире

Представьте себе мир глазами младенца. Вас окружает хаотичное изобилие образов, звуков и текстур, и у вас ещё нет никаких инструментов, чтобы хоть как-то их упорядочить. В одну минуту вы лежите в кроватке, уставившись в плоскую поверхность над головой, а в следующую — вас подхватывают на руки и выносят на улицу, где эта плоская поверхность превращается в бескрайнюю синеву, хотя вы не знаете слова «синий» (да и вообще никаких слов). Вокруг вас вместо скромных платформ и плоских поверхностей (которые позже станут стульями и столами) высятся какие-то колышущиеся громады, шуршащие и качающиеся от потоков воздуха, которых не было в кроватке. Вот пробегает существо, которое, похоже, связано со звуками «мяч» и «апорт», и ходит оно совсем не так, как то существо, что несёт вас на руках. Над вами порхает что-то, что перемещается под этой синевой, а не по земле, к которой, кажется, привязаны остальные создания. «Воробей», — говорит кто-то, хотя раньше эта штука ассоциировалась со звуком «птица». Снова оказавшись дома, вы слышите звук «ванна», и вас погружают во что-то скользкое, обтекающее ваше тело. Вы взмахнули ручками, и часть этого вещества взлетела вверх, попав вам на лицо.

Несколько месяцев спустя мир становится более знакомым. Вы уже не раз бывали и дома, и на улице. Вы часто видели людей, собак и птиц, и их особенности постепенно запоминаются. Появляются и другие объекты, называемые деревьями и цветами, которые чем-то отличаются от домашней мебели, но в то же время не похожи на движущихся существ. И оказывается, что вещи бывают разными: одни не меняют своей формы, а другие — те, что вы пьете и в которых купаетесь, — способны её менять. Вы начинаете осознавать свойства этих вещей, которые позже назовете жидкостями. Теперь, когда вы пьете из поильника, вы, возможно, уже усвоили, что в нем бывает то прозрачное содержимое, то белое, и что прозрачное на вкус отличается от белого.

С самого раннего возраста вы слышите слова и связываете их с тем, что воспринимаете органами чувств. Эти слова помогают вам объединять различные предметы в группы, которые другие люди называют тем же словом. Теперь вы можете говорить о них с окружающими. Вы можете произнести нечто похожее на «молоко» доброму существу по имени Мама, и частенько молоко тут же появляется. У вас начинает формироваться набор инструментов для осмысления сложного окружающего мира и взаимодействия с ним. Мир больше не кажется таким раздробленным и пугающим. Зрительные образы, звуки и текстуры принадлежат конкретным объектам, обладающим предсказуемыми, уже знакомыми вам свойствами. Так, например, если вы услышите лай своей собаки, вы не удивитесь её виду, когда повернете голову и посмотрите на неё. Знания, связывающие различные свойства одного и того же предмета между собой, — это часть того, что мы называем смыслом или семантическим знанием, а слова, которые произносим мы и другие люди, служат нам способом открывать друг другу доступ к нашим смыслам или семантическим знаниям о самых разных вещах, с которыми мы сталкиваемся в мире.

Отчасти симметричный, но гораздо, гораздо более печальный процесс связан с утратой знаний и смыслов. Семантическая деменция, которую иногда называют «раком души» — редкое расстройство, отличное от болезни Альцгеймера, поражающее людей на пороге старости. Страдающие семантической деменцией могут утратить, к примеру, связи, соединяющие собачий лай с обликом собаки, а звучание слова «собака» — с тем, что оно означает. Им больше не доступны категории и понятия, на которые они опирались всю свою жизнь.

Болезнь разворачивается как жестокое нисхождение во все более туманный мир, где знания больного лишаются деталей, оставляя лишь призрак понимания. Представьте себе опытного орнитолога-любителя, который когда-то мог определить тысячи видов птиц, а теперь растерянно стоит у пруда с утками. Он может узнать в этих существах «птиц», но уникальные детали — сочный зеленый цвет селезня кряквы или характерная черно-белая голова капюшонного крохаля — остаются для него мучительно недосягаемыми. Категории сливаются, а понятия угасают. Вещи, когда-то богатые ассоциациями, теряют способность радовать. Способность наделять смыслом окружающий мир начинает угасать.

В отличие от других заболеваний, вызывающих потерю памяти, семантическая деменция демонстрирует неожиданный паттерн: пациенты, судя по всему, сохраняют общие свойства предметов, но склонны утрачивать их специфические особенности. Они могут знать, например, что у верблюда, как и у других животных, есть голова, хвост, туловище и ноги, но при этом не помнить, что у него есть горб, — как мы видим на рисунке верблюда, сделанном пациентом на рисунке 7.1 (слева). Теряя специфические свойства предметов, такие пациенты также склонны приписывать конкретным предметам общие свойства их класса, даже если они к ним не относятся. Например, они могут ошибочно утверждать, что морковь (которая, разумеется, является овощем) зеленого цвета, поскольку это более типичный цвет для овощей. На рисунке 7.1 (справа) мы видим, что пациент с семантической деменцией нарисовал лебедя с четырьмя ногами — самым типичным количеством ног для большинства животных. Пациент также наделил лебедя человеческим лицом, заменив характерные черты лебединой головы чертами лица, которые встречаются ему чаще всего, — человеческими.

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

Что же является причиной столь причудливых рисунков, в которых сохраняются типичные свойства вещей, а необычные заменяются более характерными? Казалось бы, горб верблюда или полосы зебры — самые заметные и, возможно, самые запоминающиеся признаки этих животных. И тем не менее именно они исчезают в первую очередь.

Как мы наделяем смыслом вещи в этом мире и как мы его теряем? Именно к этим вопросам мы обращаемся в этой главе. Чтобы ответить на них, мы начнем с уточнения наших представлений о том, как объекты и идеи отображаются в нейронной сети.

От локалистских представлений к распределенным

До сих пор в наших моделях нейронных сетей мы использовали один элемент для представления одного объекта или понятия. Например, у нас был единственный элемент, представлявший напиток Coca-Cola. При таком подходе этот элемент нейросети активировался всякий раз, когда человек думал о Coca-Cola. Подобные репрезентации называют локалистскими представлениями. Некоторые исследователи когда-то предполагали, что мозг также использует локалистские представления, где каждое понятие представлено одним или, возможно, несколькими специализированными нейронами. Однако, основываясь на наблюдениях за тем, как мозг на самом деле репрезентирует объекты, нейробиологи все чаще склоняются к альтернативной точке зрения: объекты представляются паттерном активности группы нейронов, которые коллективно кодируют этот объект. Такие паттерны называют распределенными представлениями.

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

На рисунке 7.2 (панели А и B) показан набор из четырех элементов, которые мы предлагаем вам рассматривать как выполняющие роль центрального (хабового) слоя в модели «Джетс» и «Шаркс» из главы 4. Здесь мы соотносим эти элементы с различными безалкогольными напитками, а не с отдельными членами банд. В локалистском представлении с помощью всего четырех элементов можно представить ровно четыре объекта — в данном случае напитки, где каждый напиток представлен одним элементом. Например, активация крайнего левого элемента представляет Coca-Cola, активация следующего — Pepsi и так далее. Напротив, распределенное представление напитка будет представлять собой паттерн активации всех четырех элементов. Активации отдельных элементов больше не представляют объекты сами по себе; объекты представляются паттернами активации множества элементов. Это позволяет отобразить более четырех напитков. На рисунке 7.2b у Fanta в последнем ряду паттерн активации заметно отличается от остальных четырех напитков. Эти элементы существуют внутри более крупной популяции элементов, показанной на рисунке 7.2c.

Рисунок 7.2. В локалистских представлениях один элемент представляет одно понятие. Например, на панели А первый элемент представляет Coca-Cola, второй элемент — Pepsi и так далее. При распределенном представлении, показанном на панели B, объекты представлены в виде паттерна активации группы элементов — в данном случае четырех. Эти четыре элемента были выбраны из популяции элементов, показанной на панели C. Распределенные представления формируют паттерны во всей популяции элементов. Паттерны для в некоторой степени похожих объектов (например, Coca-Cola и V8) в чем-то схожи и отличаются от паттернов, создаваемых несхожими объектами (например, баскетбольным мячом).

Однако способность представлять большее число объектов с помощью того же количества элементов — не главное достоинство распределенных представлений. Напротив, они предлагают мозгу гораздо более гибкий и мощный способ выражения наших мыслей и опыта. Обратите внимание, что паттерны активации для двух видов колы — Coca-Cola и Pepsi — похожи друг на друга и в некоторой степени отличаются от паттернов Sprite, V8 и Fanta. Это интуитивно понятно: схожие напитки, несомненно, должны иметь схожие представления. Если мы отдалимся и посмотрим на паттерны активации на рисунке 7.2c, то увидим, что паттерн, соответствующий Coca-Cola, отчасти похож на паттерн, соответствующий V8; но оба они сильно отличаются от паттерна активации, соответствующего баскетбольному мячу. Однако подобное свойство невозможно в локалистских представлениях, где представление Coca-Cola столь же похоже (или непохоже) на V8, как и на баскетбольный мяч. Локалистские представления не могут передать идею сходства, поскольку каждое понятие представлено одним элементом.

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

Чтобы понять преимущества распределенных представлений, давайте подумаем, как Гаурав мог бы представлять своего пса Сону. Сначала можно предположить, что в его мозге есть один-единственный элемент для Сону. Но секунду: какого именно Сону представляет этот элемент? Встревоженного худенького щенка весом в сорок фунтов, которого Гаурав принес домой из приюта, или нынешнего, куда менее пугливого пса весом в пятьдесят пять фунтов, хозяйничающего в доме? Хорошо, сторонник локалистского подхода может выделить для этого два элемента. Но как тогда быть со средним, промежуточным Сону? Какой элемент будет представлять его? Сколько бы элементов ни допускал локалистский подход, всегда найдется еще одно промежуточное воплощение Сону, которое придется насильно втискивать в рамки элемента, не вполне ему соответствующего.

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

Давайте посмотрим, как это может работать. Когда Гаурав впервые встретил Сону, он представил его в виде определенного паттерна активации в своем мозге (то есть в виде распределенного представления). При следующей встрече представление Сону у Гаурава было похожим, но не идентичным: это означает, что паттерн активации в его мозге напоминал паттерн от первой встречи, но в некоторых местах отличался. В обеих встречах Сону выглядел и воспринимался примерно одинаково. Поэтому он был представлен схожими паттернами активации. Но наверняка были и различия — например, во второй раз он мог более энергично вилять хвостом, что привело к тонким изменениям в паттерне активации. Последующие встречи точно так же порождали новые паттерны, схожие, но не тождественные друг другу. Со временем формируется паттерн активации, общий для всех встреч с Сону. Этот общий паттерн, или суть, и есть понятие Сону в сознании Гаурава. Он позволяет представить неизменные аспекты Сону. Отдельные воспоминания о Сону (например, о том, как он хотел поиграть с койотом) представляют собой паттерны, которые перекрываются с этим усредненным паттерном, но содержат и отличия, относящиеся к конкретному случаю.

В отличие от локалистских сетей, распределенные сети не требуют представлять каждую отдельную встречу с объектом с помощью отдельных элементов. Также нет необходимости назначать один из этих элементов носителем неизменного понятия об объекте. Распределенные представления улавливают как то общее, что объединяет многочисленные случаи взаимодействия с объектом, так и то, что меняется от раза к разу.

Чтобы еще нагляднее показать ограничения локалистских сетей, подумайте, как можно было бы представить в такой сети чемодан. В локалистском мозге это означало бы наличие одного элемента для чемодана. Но здесь сразу же возникает проблема: чемоданы бывают большими, средними и маленькими. «Без проблем, — говорит локалист. — У меня будет три отдельных элемента: один для больших чемоданов, один для средних и один для маленьких». Да, но сложность в том, что размер — это непрерывная шкала, а не дискретная. Бывают средне-большие и средне-маленькие чемоданы. Существуют даже крупно-маленькие чемоданы (маленькие, но больше других маленьких чемоданов) и крошечно-маленькие чемоданы. Неужели локалисту придется завести по элементу для каждого промежуточного размера? В какой-то момент локалисту все равно придется использовать один и тот же элемент для представления чемоданов разных размеров. Но в определенных ситуациях это может стать серьезной проблемой — например, когда нужно решить, достаточно ли мал чемодан, чтобы поместиться на багажной полке в салоне самолета. В таких обстоятельствах жизненно важно уметь отличать крупно-маленький чемодан от крошечно-маленького.

В распределенном представлении понятие большого (или маленького) чемодана — это паттерн активации, который не накладывает жестких ограничений на то, что считать большим чемоданом, а что нет. Чемоданы могут быть «вроде как большими», если они в некоторой степени соответствуют паттерну активации, представляющему понятие большого чемодана.

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

Помимо размышлений о том, насколько локалистские и распределенные представления согласуются с принципами работы категорий, можно также обратиться к экспериментам, изучающим, как реальный мозг репрезентирует объекты. В ходе самых ранних из таких опытов исследовалось, как мозг обезьян представляет лица. Экспериментаторы использовали электроды для измерения частоты импульсации различных нейронов в той области мозга обезьяны, которая обрабатывает информацию, связанную с лицами. Исследование показало, что каждый нейрон участвовал в представлении множества лиц. Каждое лицо активировало свой поднабор нейронов — подобно паттернам для различных напитков на рисунке 7.2. Иными словами, паттерны импульсации, связанные с лицами, соответствовали распределенным представлениям, а не локалистским. Более того, отдельные нейроны, как правило, не кодировали какие-то легко определяемые атрибуты лиц (например, подбородок или глаза). Подобные результаты впоследствии неоднократно воспроизводились, и практически не было получено свидетельств того, что отдельные нейроны «закреплены» за конкретными объектами, легко описываемыми признаками или элементами определенных категорий, как следовало бы ожидать, если бы мозг использовал локалистские представления.

Природа понимания

Обесценивает ли наши прежние модели то обстоятельство, что в них использовались локалистские представления, а не распределенные?

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

В коротком рассказе под названием «О строгой науке» писатель Хорхе Луис Борхес вообразил королевство, картографы которого были одержимы идеей создания карт, с точностью воспроизводящих каждую деталь описываемого ландшафта. Некоторых картографов высмеивали за то, что их картам попросту не хватало подробности. Поэтому многие стремились сделать свои карты абсолютно реалистичными. Разумеется, из-за этого карты становились все больше и больше, что в итоге превратилось в бессмысленную затею. Борхес описывал эту ситуацию так:

В той Империи искусство картографии достигло такого совершенства, что карта одной-единственной провинции занимала целый город, а карта империи — целую провинцию. Со временем эти непомерные карты перестали удовлетворять запросы, и коллегия картографов создала карту империи, размер которой равнялся размеру самой империи и которая совпадала с ней точка в точку. Последующие поколения, не столь преданные изучению картографии, как их предшественники, сочли эту огромную карту бесполезной.

Разумеется, она была бесполезной. Смысл карты в том, чтобы служить путеводителем по реальности, а не копировать ее. Смысл наших локалистских нейронных сетей заключался в том, чтобы предложить руководство к пониманию разума — и именно с этой задачей они справились. Мы увидели, что разум может рождаться из взаимодействия простых обрабатывающих элементов; мы увидели, что двунаправленная связь между элементами способна обеспечивать работу систем памяти, способных к обобщению, контекстно-зависимому извлечению информации и сбоям памяти того же рода, что демонстрируют люди (как, например, в модели «Джетс» и «Шаркс»); мы увидели, что нейронные сети, способные учитывать влияние контекста, отражают то, как люди воспринимают и понимают окружающий мир; и благодаря тем же локалистским моделям мы поняли, что именно активацию, а не ценность, можно продуктивно рассматривать как универсальную валюту, лежащую в основе человеческих действий и принятия решений. Эти выводы сохранят свою силу — пусть и в измененном виде, — когда мы перейдем к сетям с распределенными представлениями.

Интуитивно многим кажется, что внутри нашего мозга есть некая сущность — возможно, душа или наша крошечная копия, — которая и обеспечивает наш интеллект. Но, как мы видели в главе 1, это объяснение бесполезно, поскольку оно заменяет то, что мы пытаемся объяснить, чем-то другим, чего мы также не понимаем. Нет никакого смысла предполагать существование необъяснимой основы интеллекта, если наша цель — начать этот интеллект объяснять. Нашим локалистским сетям удалось продвинуться вперед, избежав подобных допущений. Они вывели нас на другой уровень анализа, благодаря которому мы начали понимать, что разумность может возникать из взаимодействия элементов, которые сами по себе разумными не являются. Этот прогресс позволил нам увидеть новую сложность: хотя наши локалистские сети явно не постулировали тот интеллект, который пытались объяснить, они тем не менее неявно привносили в систему интеллект самого создателя модели — который, к примеру, решал, должен ли существовать один элемент для кока-колы или несколько (например, кока-кола из автомата и кока-кола в жестяной банке). Мы, разработчики нейросетей, использовали собственный интеллект, чтобы определить, какие именно элементы следует задать. Например, если бы нас интересовали общие свойства чемоданов в сравнении с дамскими сумками, мы могли бы обойтись одним-единственным элементом, представляющим чемодан. Но если бы мы хотели смоделировать характеристики больших чемоданов в сравнении с маленькими, нам потребовалось бы уже два элемента — чего, как мы видели, в других ситуациях может оказаться недостаточно. Однако мозг не может воспользоваться интеллектом создателя модели. Он должен сам конструировать представления по мере того, как познает мир. И, как мы убедились, для этого он, судя по всему, опирается на распределенные представления.

Даже когда мы поймем, как мозг может конструировать распределенные представления буквально на лету, мы все еще не придем к абсолютной истине о разуме. Скорее, мы сделаем еще один шаг в нашем путешествии — шаг, который уводит нас глубже, но также поднимает вопросы, которые мы не могли предвидеть ранее. Такова природа познания. Мы разбираемся в нескольких вещах, возникают новые вопросы, затем мы ищем на них ответы и находим некоторые из них, что, в свою очередь, порождает еще больше вопросов.

Чего мы хотим от распределенных представлений?

Работая с нашими прежними локалистскими сетями, мы, архитекторы сетей, сами определяли, какие элементы представляют те или иные объекты. Теперь же мы хотим, чтобы сеть самостоятельно «наблюдала» за свойствами окружающего мира и строила представления на основе этих наблюдений. Иными словами, мы хотим, чтобы эти представления возникали в ходе процесса обучения, формируемого опытом.

Кроме того, как мы отмечали ранее, мы хотим, чтобы представления похожих вещей были похожими. Поскольку распределенные представления одновременно улавливают и общую суть, и уникальность объектов, те объекты, которые разделяют общую суть, должны иметь в некоторой степени похожие представления. Например, представление понятия «дуб», распределенное по пяти элементам, может выглядеть как 0,9; 0,8; 0,1; 0,2; 0,7. Если уровни активации варьируются от 0 до 1, это представление приблизительно соответствует шаблону В, В, Н, Н, В (где В = высокий, а Н = низкий). Представление понятия «малиновка» может сильно отличаться от представления дуба; для наглядности предположим, что оно равно 0,1; 0,2; 0,9; 0,7; 0,1, что примерно соответствует шаблону Н, Н, В, В, Н. В таком случае представление понятия «сосна» — которая ближе к дубу, чем к малиновке — будет более похожим на представление дуба, чем на представление малиновки. Например, это представление может иметь вид 0,7; 0,9; 0,1; 0,2; 1 (что также соответствует шаблону В, В, Н, Н, В). Похожие распределенные представления создают похожие паттерны в популяции элементов (см. рисунок 7.2c).

Как мы увидим далее, распределенные представления сохраняют сходство между объектами, поскольку они отражают среднее значение усвоенных свойств во всех контекстах, в которых встречался тот или иной объект. Например, распределенное представление, связанное с малиновкой, может основываться на свойствах, отражающих знания о характеристиках птицы, таких как «оранжево-коричневая», «умеет летать», «есть крылья» и «ест червей». Другая птица — скажем, канарейка, — которая разделяет многие, но не все эти характеристики (например, канарейка желтая, а не оранжево-коричневая), будет иметь похожее, но не идентичное распределенное представление. Мы также хотели бы, чтобы сети с распределенными представлениями обладали теми полезными свойствами, которые мы впервые увидели в сетях с локалистскими представлениями. Например, наша сеть ««Джетс» и «Шаркс»» (глава 4) могла делать выводы о свойствах объектов, с которыми она ранее не сталкивалась. Знание того, что Лэнс — один из «Джетс», ему за двадцать и у него неоконченное среднее образование, позволяло нейросети сделать вывод, что он, вероятно, взломщик, даже если сеть раньше не знала этого факта (то есть конъюнктивный элемент Лэнса не был напрямую соединен с элементом «Взломщик»). По аналогии, мы хотели бы, чтобы наша сеть, зная, например, что воробей — это птица, предсказывала, что у него есть крылья и он умеет летать.

С этим связано и то, что было бы замечательно, если бы распределенные представления обеспечивали эмерджентность категорий. Поскольку распределенные представления улавливают общие свойства различных примеров, они отлично подходят для того, чтобы обеспечивать эмерджентность категорий связанных между собой объектов. В идеале, как мы часто наблюдаем в реальной жизни, принадлежность к такой категории должна быть градуированной: одни представители должны быть более типичными для этой категории, чем другие (например, малиновка — типичный представитель категории птиц, а курица — менее типичный). Более того, принадлежность к категории не должна быть жесткой и зависеть от определений по принципу «всё или ничего». Да, у деревьев широкие плоские листья, а у сосны — иголки. Тем не менее, она, безусловно, должна классифицироваться как дерево.

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

Сети с распределенными представлениями способны на все это. И даже на большее. Но как нейросети могут научиться создавать распределенные представления?

Создание распределенных представлений путем обучения на основе исправления ошибок

Когда мы видим на улице знакомого, нам на ум могут прийти его имя и род занятий. Это пример отображения «вход — выход». Ключевая задача для нашего разума и для искусственной нейронной сети — научиться строить точные отображения «вход — выход». Здесь мы опишем, как они могут делать это в соответствии с принципом, который мы называем обучением на основе исправления ошибок.

Далее мы исследуем два ключевых вопроса: во-первых, что значит для нейронной сети научиться делать более точные отображения «вход — выход» посредством обучения на основе исправления ошибок, и во-вторых, каким образом обучение на основе исправления ошибок может дать нам полезные распределенные представления для объектов окружающего мира? Давайте обратимся к первому из этих вопросов.

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

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

Рисунок 7.3. Эта нейронная сеть принимает на вход рукописные цифры и выдает на выходе распознанную цифру. В данном случае входная семерка ошибочно классифицируется как тройка (на выходных элементах). Если бы эта сеть обучалась на основе исправления ошибок, она изменила бы свои веса таким образом, чтобы снизить вероятность выдачи тройки и повысить вероятность выдачи семерки.

Мы начнем с того, что определим некоторые элементы — крайний левый столбец нейронной сети на рисунке 7.3 — в качестве входных элементов. Эти элементы принимают входной сигнал — в нашем случае изображение рукописной цифры. Обычно изображение делят на пиксели и сопоставляют каждому пикселю один элемент. Каждый элемент получает входной сигнал, пропорциональный тому, насколько сильно закрашен чернилами соответствующий пиксель. Многие элементы получат нулевой сигнал, поскольку их пиксели не закрашены, а несколько элементов могут получить максимальный сигнал — скажем, 1, поскольку их пиксели закрашены полностью. На изображении 784 пикселя, поэтому нам понадобилось бы 784 входных элемента, но мы показали только 18, так как большее количество сделало бы рисунок слишком громоздким. На рисунке 7.3 элементы, получающие ненулевой входной сигнал, показаны с ореолом вокруг них.

Входные элементы соединены со средним слоем элементов, называемых скрытыми элементами, которые, в свою очередь, соединены со следующим слоем выходных элементов. Всего имеется десять выходных элементов, по одному для каждой цифры. Скрытые элементы не получают сигналов извне сети и не передают информацию за ее пределы — именно в этом смысле они и являются скрытыми. Некоторые сети могут иметь более одного слоя скрытых элементов. Назначение скрытых элементов — позволить сети выявлять сложные взаимосвязи между входными паттернами и желаемым выходным результатом. Подробнее об этом мы поговорим в главе 9.

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

Когда мы подаем сигналы на входные элементы (соответствующие закраске пикселей на входном изображении), мы можем представить, как активация распространяется на скрытые элементы. Чтобы рассчитать активацию отдельного скрытого элемента, мы умножаем каждый входной сигнал на вес его связи с этим скрытым элементом и складываем все эти произведения. Многие скрытые элементы активируются в разной степени, и эта активация, в свою очередь, вызовет активацию в выходном слое. И снова многие выходные элементы получат некоторую активацию. Предположим, что выбором сети становится элемент с наибольшей активацией. В нашем примере сеть активирует элемент «3» несколько сильнее, чем элемент «7». Таким образом, «3» — это ее текущий выходной результат, связанный с входным изображением.

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

Входной сигнал есть входной сигнал, и изменить его мы не можем. Мы также не можем напрямую изменить активацию произвольного элемента, поскольку активация на одном слое определяется активацией элементов на предыдущих слоях. Но мы можем изменить силу связей между элементами. Сила связей определяет, как другие элементы влияют на активацию данного элемента. Если мы правильно изменим эту силу, при следующем предъявлении того же входного сигнала правильный элемент в выходном слое активируется сильнее. В качестве дополнительного преимущества эти изменения также улучшат обработку схожих примеров.

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

Как же можно изменить силу связей, чтобы минимизировать ошибку? В частности, как заставить сеть на рисунке 7.3 сильнее активировать правильный ответ «7» и слабее — неправильный ответ «3»? Первым подходом могла бы стать попытка задать случайные значения силы связей (представьте себе ручки настройки, которые могут делать связи сильнее или слабее). Однако здесь возникает проблема. Наша демонстрационная сеть имеет сотни связей, и проверка всех возможных значений силы связей (во всех возможных комбинациях) заняла бы очень много времени. Нейронные сети, с которыми мы столкнемся позже (в главе 8), имеют миллиарды и даже триллионы связей, и число комбинаций настроек превысило бы количество атомов во Вселенной.

Поэтому нам нужен принцип, направляющий эти изменения. Обучение на основе исправления ошибок — это именно тот принцип, который нам нужен. Его центральная идея заключается в том, чтобы корректировать силу связей таким образом, чтобы снизить ошибку сети, определяемую как разница между выходным сигналом сети и внешне заданным целевым выходом. Мы определяем целевой выход как 1 для правильного (известного) ответа и 0 для всех остальных возможных вариантов. Например, на рисунке 7.3 правильный ответ соответствовал бы выходному значению 1 для элемента «7» и 0 для всех остальных элементов. Снижение ошибки сети свелось бы к подбору такой силы связей, которая уменьшает активацию элемента «3» и увеличивает активацию элемента «7». Затем, когда сеть сталкивается со следующим входом — допустим, это (написанная от руки) четверка — и наиболее сильно активированным выходным элементом оказывается девятка, это снова неверно, и мы опять корректируем силу связей так, чтобы измененная сеть выдавала чуть большую активацию на элементе «4» и чуть меньшую на элементе «9». Затем появляется следующий вход, допустим, это (написанный от руки) ноль, и на этот раз самым активированным элементом оказывается «0». Тем не менее, если активация элемента «0» меньше 1, обучение на основе исправления ошибок скорректирует силу связей так, чтобы правильный элемент «0» получил еще большую активацию, а все остальные элементы, чья активация больше 0, получили еще меньшую. По мере многократного повторения этого процесса, называемого обучением, сеть настраивается на такую силу связей, которая делает классификацию входных сигналов все более и более точной. Если обучающие данные содержат репрезентативную выборку всех десяти цифр, этот процесс позволит сети классифицировать даже те примеры цифр, которых она не видела в процессе обучения.

Заметим, что ошибка сети — это вопрос степени; даже если правильный выход активирован сильнее любого другого, все равно может оставаться некоторая погрешность. Так, например, предположим, что следующим паттерном оказывается четверка, которая к тому же немного похожа на девятку. Пусть выходная активация сети для четверки равна 0,9, а для девятки — 0,3. Обучение на основе исправления ошибок все равно скорректирует веса связей так, чтобы немного приблизить активацию элемента «4» к целевому значению 1, а активацию элемента «9» уменьшить в направлении целевого значения 0.

Наша цель в этой и следующей главах — описать важные последствия, к которым может привести обучение на основе исправления ошибок. Мы надеемся, что, уяснив эти последствия, вы захотите узнать, как принцип обучения на основе исправления ошибок реализуется на практике. К этому мы перейдем в главе 9, где опишем способ, с помощью которого сеть может эффективно снижать свою общую ошибку. Пока же важно понять, что обучение на основе исправления ошибок может приводить к формированию полезных распределенных представлений — а это был второй из двух ключевых вопросов, которые мы стремились исследовать в данном разделе.

Чтобы продвинуться в этом вопросе, представьте, что сеть, показанная на рисунке 7.3, была обучена на тысячах рукописных цифр. Что, по нашему мнению, должен представлять скрытый слой элементов для заданного входа — скажем, цифры 2 — в конце обучения? Заметим, что речь идет именно о представлении в скрытом слое.

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

Таким образом, после достаточного обучения сеть при получении определенного входного паттерна будет создавать распределенное представление, похожее на представления других входных объектов своего класса и отличающееся от представителей других классов. Распределенные представления всех рукописных двоек (или троек, или четверок...) будут похожи между собой и будут отличаться от представлений других цифр. Вполне возможно, что, изучив паттерн активации в скрытом слое, мы смогли бы предсказать, какой именно входной сигнал породил этот паттерн. Интересно и примечательно то, что можно изучить паттерны активации в мозге человека (с помощью нейровизуализации) и определить, смотрит ли он, например, на изображение лица или на изображение дома.

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

Позволяя структуре проявиться

Теперь мы рассмотрим одну из самых убедительных демонстраций, связанных с распределенными представлениями и, в более широком смысле, с изучением человеческого разума. Она касается ключевого вопроса: откуда мы знаем, какие свойства применимы к тем или иным понятиям? Мы как будто без всяких усилий усваиваем знания о том, что у птиц есть крылья, рыбы умеют плавать, сосна — это дерево, а кит — животное. И мы знаем, что у птицы нет жабр, рыба не может дышать на суше, у сосны нет обычных листьев, а кит — это не рыба. Список подобных утверждений, с которыми мы согласились бы даже в детстве, весьма внушителен. Как мы получаем такие знания?

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

Рисунок 7.4. Ранние модели того, как разум приписывает свойства (например, «может расти») понятиям (например, «живое существо»). Эта модель является иерархической и хранит свойства только на самом высоком уровне, а не на подуровнях.

Вторая особенность модели на рисунке 7.4 заключается в том, что свойства, верные для всех членов категории более высокого уровня, хранятся только на уровне этой категории, а не на уровнях категорий более низкого порядка. Например, свойство может расти хранится на уровне живое существо, а не на уровне растение или животное, хотя и все растения, и все животные могут расти. Как показано на рисунке, поскольку растение связано отношением ISA с живым существом, а животное связано отношением ISA с живым существом, растения и животные наследуют свойства живых существ и, следовательно, могут расти (здесь ISA — это сокращение от is a [«является»]). Такая система обеспечивает эффективность хранения информации: свойства нужно сохранять лишь один раз на самом высоком уровне, а для более низких уровней их истинность выводится логически. Она также обеспечивает обобщение. Свойство умеет летать, присущее птице, может быть унаследовано любым новым представителем этой категории (помимо канарейки и малиновки) — для этого достаточно добавить новый элемент для новой птицы и связать его связью ISA с понятием птица.

Несмотря на эти достоинства, данная модель привязки свойств к понятиям фундаментально ограничена, поскольку она не объясняет, как именно следует решать, должно ли свойство храниться на уровне понятия более низкого порядка, а не более высокого. Интеллект, который «знает», что свойство умеет летать нужно отнести к уровню птицы, а не к уровню канарейки или малиновки (рисунок 7.4), находится за пределами этой сети. В предлагаемой модели отсутствует механизм, позволяющий определить, к какому уровню должно быть привязано то или иное свойство.

Второе ограничение этой модели состоит в том, что в ней нет места для исключений. Да, большинство птиц умеют летать, но страус не умеет, хотя мы относим страуса к птицам. Более того, мы понимаем, что малиновка, которая не может летать — возможно, из-за сломанного крыла, — все равно остается малиновкой. Однако модель не допускает мысли о том, что мы способны понимать понятия, даже если не можем выделить свойства, которые всегда для них верны — свойства, выступающие в качестве определяющих императивов.

В целом то, как мы используем понятия, похоже, не подчиняется определяющим императивам. Например, какие свойства всегда верны для стула? Предмет мебели на четырех ножках? Нет, у некоторых стульев колесики вместо ножек. То, на чем сидят? И все-таки нет. Стул в музее может быть огорожен канатом — на него можно смотреть, но сидеть на нем нельзя. Философ Людвиг Витгенштейн утверждал, что мы можем знать понятия, не зная свойств, имеющих характер строгих правил. Размышляя о понятии игры, он пришел к выводу, что игры могут быть одиночными или нет, могут включать в себя соперничество или нет, и даже могут иметь правила или обходиться без них. Он писал:

Обратите внимание на процессы, которые мы называем «играми». Я имею в виду настольные игры, карточные игры, игры с мячом, Олимпийские игры и так далее. Что общего у них всех? Не говорите: «В них должно быть что-то общее, иначе они не назывались бы „играми“», но посмотрите и убедитесь, есть ли вообще что-то общее для них всех. Ведь если вы посмотрите на них, вы не увидите чего-то общего, присущего им всем, но заметите сходства, отношения, и притом целый ряд их... Я не могу придумать лучшего выражения для характеристики этих сходств, чем «семейное сходство»; ибо различные сходства между членами одной семьи — телосложение, черты лица, цвет глаз, походка, темперамент и т. д. и т. п. — точно так же накладываются друг на друга и перекрещиваются. И я скажу: «игры» образуют семью.

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

Рисунок 7.5. Упрощенная версия модели понятий и свойств Румельхарта. Сеть, обученная с помощью метода исправления ошибок, соотносит входной объект (например, «лосось») с его свойствами. Как только сеть обучена, активация входного элемента вызывает паттерн активации в скрытых элементах — среднем слое, выделенном пунктирным прямоугольником. Этот паттерн активации представляет собой распределенное представление данного объекта.

Модель Румельхарта использовала обучение на основе исправления ошибок для создания распределенных представлений. Сеть, показанная на рисунке 7.5, представляет собой упрощенную версию модели Румельхарта.

Структура сети относительно проста. Чтобы избежать привнесения изначального сходства, входные элементы сделаны локалистскими — по одному на каждый из восьми объектов. Это означает, что на самом входе все объекты полностью отделены друг от друга, благодаря чему мы можем проследить, как обучение на основе исправления ошибок позволяет сформировать интересные представления этих объектов. Выходные элементы, тоже локалистские, каждый представляет одно из свойств, которым может обладать любой из объектов. Скрытый слой также состоит из восьми элементов. То, что скрытый слой содержит то же количество элементов, что и входной — простое совпадение; в нем могло бы быть и больше элементов, и это никак не повлияло бы на характер результатов, которые мы опишем ниже. Все элементы входного слоя соединены со всеми элементами скрытого слоя. Все элементы скрытого слоя соединены со всеми элементами выходного слоя. Сила связей изначально мала и носит случайный характер.

Как мы уже видели, на этапе обучения входной сигнал подается на входной элемент — скажем, «лосось», — и активация распространяется на скрытые элементы, а затем на выходные. Поскольку сила связей изначально мала и случайна, выходной сигнал сети также будет слабым и случайным; выходные сигналы для разных входов будут практически одинаковыми, и входной сигнал активирует как правильные, так и неправильные свойства. Например, вход лосось в равной степени активирует как свойство умеет летать (что неверно), так и умеет плавать (что верно). Но именно здесь вступает в силу процесс исправления ошибок. По мере получения каждого входного сигнала сеть медленно корректирует связи таким образом, чтобы генерировать выходной сигнал, более близкий к правильному ответу для данного входа. Например, активация входного элемента лосось приведет к сильной активации выходных элементов рыба, умеет плавать и других свойств, связанных с лососем. За множество циклов обучения сеть учится активировать правильные свойства, связанные с каждым из входных объектов, и игнорировать неправильные.

Что происходит после обучения, когда мы подаем входной сигнал на отдельный объект? Сила связей этого объекта (предположим снова, что это лосось) создает паттерн активации в скрытом слое. Эту активацию можно рассчитать, просто умножив активацию элемента объекта на обученную силу связей от этого элемента к каждому из скрытых элементов. Результатом будет последовательность из восьми чисел (поскольку в скрытом слое восемь элементов). Эта последовательность чисел представляет собой паттерн активации, распределенный по этим восьми элементам, — поэтому мы также можем назвать его распределенным представлением этого объекта. Подавая входной сигнал на каждый из входных элементов, мы можем получить их соответствующие распределенные представления. Одно из таких распределенных представлений может выглядеть, к примеру, так: 0,81; 0,72; 0,55; 0,63; 0,21; 0,19; 0,34; 0,99. Давайте взглянем на эти представления, полученные в сети, показанной на рисунке 7.5. Внимание: сейчас перед вами откроется подлинная красота!

На рисунке 7.6 входные элементы перечислены в левом столбце, а справа от них находятся восемь ячеек, соответствующих элементам скрытого слоя сети. Высота столбика в каждой из восьми ячеек указывает на степень активации соответствующего элемента в скрытом слое сети в ответ на активацию соответствующего входного элемента. Более высокие столбики соответствуют активации, близкой к 1. Таким образом, каждая строка представляет собой распределенное представление животного или растения. Если вы готовы сыграть в эту игру, просто вглядитесь в паттерны активации и посмотрите, бросается ли вам что-нибудь в глаза.

Очевидно, что представления сосны и дуба очень похожи друг на друга. Точно так же роза и маргаритка имеют схожие представления, как и малиновка с канарейкой, а также солнечник с лососем. Заметны и другие закономерности: растения (деревья и цветы) ближе друг к другу, чем к животным (птицам и рыбам). Хотя различия среди животных несколько более выражены, они также более похожи друг на друга, чем на растения. Эти закономерности видны невооруженным глазом и могут быть точно количественно измерены для отражения различных степеней сходства.

Рисунок 7.6. Распределенные представления, полученные в процессе обучения на основе исправления ошибок в сети, изображенной на рисунке 7.5. Примечательно, что объекты, обладающие общими свойствами, имеют тенденцию иметь схожие представления.

Чтобы лучше понять распределенные представления и то, как они фиксируют информацию, интересно рассмотреть паттерны для лосося и солнечника. В данных, используемых для обучения нейросети, эти объекты обладают почти одинаковым набором признаков (оба умеют плавать, оба имеют плавники и т. д.), за исключением того, что лосось красный, а солнечник — желтый. В обучающих данных сети эти два объекта различаются только по этим двум явным признакам. Однако в их сформированных распределенных представлениях дело обстоит иначе. Чтобы показать это, в последней строке рисунка 7.6 мы приводим разницу в активациях между лососем и солнечником. Примечательно, что различие между этими двумя объектами распределено по всем восьми элементам скрытого слоя. Эти различия, как правило, невелики, но, тем не менее, они не равны нулю. В целом, представление каждого свойства объекта как бы «размазано» по всем скрытым элементам.

Важный общий вывод о распределенных представлениях заключается в том, что если два объекта обладают множеством общих свойств, их распределенные представления, как правило, будут похожи. Например, распределенное представление лосося гораздо ближе к представлению солнечника, чем к сосне, с которой у него гораздо меньше общих свойств. Распределенные представления схожи тогда, когда у них схожие паттерны активации.

Что важно, никто не говорил сети, что объекты со схожими свойствами должны иметь схожие распределенные представления. Этот паттерн возник как следствие обучения на основе исправления ошибок. Это не требовало какого-то внешнего разума — этот паттерн просто возник в результате применения обучения на основе исправления ошибок, когда сеть тренировали сопоставлять каждый входной объект с соответствующим набором внешне заданных признаков. Структура представлений объектов в сети возникла благодаря обучению, направленному на уменьшение ошибки при отображении входов на выходы.

Последствия этой эмерджентной структуры весьма глубоки. Прежде всего, она позволяет модели обобщать то, что ей известно о знакомых объектах, на новые. В сети, аналогичной показанной на рисунке 7.5, Румельхарт ввел новое понятие, воробей, добавив новый входной элемент с небольшими случайными весами связей со скрытыми элементами. Затем он обучил сеть входно-выходным отношениям воробей — это птица, воробей — это животное и воробей — это живое существо. Во время обучения этим трем свойствам он разрешил менять только силу связей от входного элемента воробей к скрытым элементам (сохраняя неизменными связи от скрытых элементов к выходным). Это заставило сеть полагаться на изменение весов от входа к скрытым элементам для уменьшения ошибки. Румельхарт научил сеть тому, что воробей — это птица / животное / живое существо, а затем посмотрел, какие еще свойства сеть сможет вывести. Оказалось, что сеть смогла сделать вывод, что воробей умеет летать и имеет крылья — то есть, если мы активируем элемент «воробей» после обучения сети тому, что воробей — это живое существо / животное / птица, сеть активирует свойства умеет летать и имеет крылья. Таким образом, обучение на основе исправления ошибок может неявно приводить к обобщению свойств, без опоры на явное знание того, что птицы умеют летать и у птиц есть крылья.

Как сеть смогла это сделать? Обучаясь тому, что воробей является птицей, сеть опиралась на уже существующие связи от скрытого слоя к выходному, которые помогают активировать выходной элемент является птицей при подаче на вход канарейки или малиновки. Чтобы использовать эти связи, она создала связи от входного элемента «воробей» к скрытому слою, которые сделали представление воробья похожим на представления малиновки и канарейки. Как только распределенное представление воробья стало похожим на представления других птиц, другие его свойства, такие как умеет летать и имеет крылья, проявились сами собой благодаря существующим связям между скрытым и выходным слоями.

Прекрасным следствием того, что схожие объекты имеют схожие распределенные представления, является то, что мы можем думать о категориях как об эмерджентно возникающих в пространстве представлений, определяемом скрытыми элементами. Положение объекта на плоскости определяется двумя измерениями, в то время как положение понятия в пространстве представлений определяется столькими измерениями, сколько элементов участвует в формировании его представления. Хотя визуализировать более двух измерений сложно, мы можем спроецировать множество измерений на плоскость таким образом, чтобы как можно лучше сохранить относительные расстояния между представлениями различных понятий. Применение этого подхода к нашей сети позволяет визуализировать пространство представлений, в котором схожие понятия располагаются близко друг к другу, а несвязанные — далеко. Мы применили этот метод к графикам активации на рисунке 7.6, чтобы получить рисунок 7.7.

Рисунок 7.7. В пространстве представлений объекты со схожими свойствами группируются вместе, и возникают категории.

Как мы видим, каждое понятие, такое как канарейка, представляет собой точку в этом пространстве; его ближайшее «семейство» — в данном случае птицы — занимает более обширную область, охватывающую других представителей этого же семейства (например, малиновку). Более отдаленные объекты, такие как рыбы, находятся дальше, но все же занимают место в пространстве той же общей категории — в данном случае животных. Что важно, никто не говорил сети организовывать объекты подобным образом. Да, сеть знала, что канарейка — это птица и животное, но ей вовсе не обязательно было использовать именно эти свойства в качестве организующих принципов. С тем же успехом она могла бы использовать в качестве организующего принципа цвет канарейки (желтый). В этом случае она отделила бы желтые объекты от красных (таких как малиновка) и от зеленых (таких как деревья). Но она этого не сделала. Что же тогда отражают эти группировки? Они отражают кластеры объектов, которые разделяют друг с другом несколько ковариирующих свойств. И роза, и малиновка красного цвета, но у них очень мало других общих свойств. С другой стороны, существа, относящиеся к птицам, обладают целым рядом общих свойств: у них есть крылья, у них есть перья, и они умеют летать. На самом деле те же самые кластеры возникают даже в том случае, если сеть не обучают ISA-признакам объектов.

Примечательно, что сеть сформировала распределенные представления, которые отражают таксономическую иерархию, представленную на рисунке 7.4; более того, в процессе обучения она, как правило, делает это по принципу «от общего к частному», сначала учась отличать растения от животных, затем — различать типы растений (деревья и цветы) и животных (птицы и рыбы) и, наконец, учится различать конкретные объекты внутри каждой категории. Почему наблюдается такая последовательность? Потому что у животных есть множество свойств, которых нет ни у одного растения, а у растений — множество свойств, которых нет ни у одного животного. Изменения силы связей, которые помогают сети правильно активировать свойства одного животного, как правило, позволяют ей правильно активировать свойства и других животных; то же самое справедливо и для свойств растений. В результате сеть быстро учится присваивать одно распределенное представление всем животным и совсем другое — всем растениям. То же самое происходит снова, когда сеть учится отличать птиц от рыб, а деревья от цветов, и повторяется еще раз, когда она учится отличать конкретных птиц, рыб, деревья и цветы друг от друга.

Удивительная особенность эмерджентности таких категорий заключается в том, что они не требуют обязательных императивных определений. Птица не определяется как существо, обязательно имеющее крылья. Скорее, птица — это класс объектов, которые разделяют друг с другом многие, но не все свойства. Это допускает существование градуированных категорий, в которых одни представители могут быть более типичными, чем другие. Легко представить, что малиновка, имеющая много общих свойств с канарейками и воробьями, будет восприниматься как более типичный представитель категории птиц, чем страус, у которого общих свойств с другими представителями этой категории меньше. Действительно, в психологических экспериментах люди гораздо быстрее определяют малиновку как птицу, нежели страуса.

Интерлюдия: «Мне кажется, всё это, скорее всего, неверно»

Бертран Рассел был математиком-формалистом, который верил, что мышление заключается в многократном применении логических правил к набору аксиом, принятых за отправную точку. Философ Людвиг Витгенштейн считал, что понятия не имеют фиксированного определения и меняются в зависимости от контекста. 28 мая 1913 года Рассел написал своей возлюбленной, делясь мыслями после встречи с Витгенштейном:

Мы оба были не в духе из-за жары. Я показал ему важнейшую часть того, что писал. Он сказал, что всё это совершенно неверно, не осознавая всех трудностей — что он сам уже пытался развивать мой подход и знает, что тот не работает. Я не мог понять его возражений — выражался он, по правде говоря, крайне невнятно, — но всем своим существом чувствую, что он, должно быть, прав и разглядел то, что я упустил. Если бы я тоже мог это увидеть, я бы не возражал, но в нынешнем положении это тревожит меня и изрядно подпортило удовольствие от работы — я могу продолжать лишь то, что вижу сам, и все же чувствую, что всё это, вероятно, в корне неверно и что Витгенштейн сочтет меня бесчестным негодяем, если я продолжу. Что ж, что ж — это молодое поколение стучится в дверь; я должен уступить ему место, когда смогу, иначе превращусь в тягостное бремя. Но в тот момент я был изрядно раздосадован.

Три года спустя Рассел, свидетельствуя о своем бескомпромиссном стремлении к истине, писал, что критика Витгенштейна стала

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

Приведенные выше слова действительно были написаны Расселом в его письмах. В следующей сцене воображается разговор между Расселом и Витгенштейном много лет спустя.

Людвиг Витгенштейн: Бертран, я ознакомился с подходом, который вы с Уайтхедом пытаетесь применить в Principia Mathematica, и должен сказать, что вы всё поняли совершенно неверно.

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

Витгенштейн: Совершенно верно. Значение рождается из контекста. Даже понятие числа не имеет фиксированного значения.

Рассел: (качая головой). Число — это вполне конкретная вещь с конкретным значением.

Витгенштейн: Хорошо, и каково же ваше определение числа?

Рассел: Я предложил теоретико-множественное определение числа, согласно которому число 0 определяется как пустое множество (множество без элементов), число 1 может быть определено как множество, содержащее только пустое множество {}, и так далее. Число 2 определяется как множество, содержащее множества 0 и 1 (то есть {0, 1}). Таким образом, 2 = {0, 1}. А число 3 определяется как множество, содержащее множества 0, 1 и 2 (то есть {0, 1, 2}). Таким образом, 3 = {0, 1, 2}. Каждое число представляет собой конкретное количество множеств.

Витгенштейн: (заметно закатывая глаза). Нет, нет, нет! «Газиллион» — это число, которое часто обозначает просто большое количество чего-либо, а не конкретную величину. А то, что считать большим количеством чего-либо, субъективно и меняется от человека к человеку. «Газиллионы фунтов» для разных людей могут означать совершенно разные суммы денег.

Рассел: (после паузы). В этом есть логика. Возможно, я могу изменить свое определение, сказав, что «число» относится к количеству, пусть даже и неконкретному.

Витгенштейн: А как быть с комплексными числами? Они тоже выражают количество?

Рассел: Э-э, не в том же смысле, нет.

Витгенштейн: Что делает ситуацию еще более запутанной, так это то, что иногда понятие числа может относиться к вещам, никак не связанным с математикой. Песня может быть концертным номером. А человек может «выкинуть номер» с кем-то другим. Понятие числа, как и большинство понятий, не имеет фиксированного значения, независимого от контекста.

Может ли повреждение сети помочь в понимании психических расстройств?

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

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

Обратите внимание: подобный характер результатов подтверждает, что наши знания о таком понятии, как лебедь, не устроены по принципу «все или ничего» — мы можем сохранять отдельные аспекты того, что значит быть лебедем, даже если утрачиваем другие. Этот результат также противоречит предсказаниям модели на рисунке 7.4, согласно которой люди с большей вероятностью должны были бы сохранять индивидуальные свойства объекта, поскольку они связаны с ним теснее, чем такие общие свойства, как принадлежность к животным. Может ли сеть Румельхарта помочь нам понять, почему мы легче теряем специфическую информацию о понятиях, нежели общую?

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

Почему так происходит? В нейросети знания о свойстве — как и о чем бы то ни было еще — закодированы в связях между элементами. В сети Румельхарта, например, знания о свойствах кодируются в связях между скрытым и выходным слоями. Типичные свойства кодируются в процессе обучения, связанного со множеством объектов, — именно поэтому они и являются типичными. Например, обучение типичному свойству умеет двигаться происходит тогда, когда сеть узнает о свойствах канарейки, малиновки, лосося или луны-рыбы. В результате такие типичные свойства объекта кодируются в связях сети гораздо сильнее, чем его индивидуальные особенности. Когда сети предъявляется объект — скажем, канарейка, — итоговая активация элемента, представляющего типичное свойство (например, умеет двигаться), будет, как правило, выше, чем активация элемента, представляющего индивидуальное свойство (например, умеет петь).

Удаление связей в сети приводит к снижению силы сигналов, поступающих на выходные элементы через скрытые элементы. По мере того как мы убираем всё больше связей, сила этих сигналов постепенно ослабевает, что согласуется с прогрессирующим характером таких нейродегенеративных заболеваний, как семантическая деменция. Способность сети активировать элементы, соответствующие как типичным, так и индивидуальным свойствам, также будет постепенно снижаться. Важно, однако, что активация элементов, представляющих типичные свойства, окажется более устойчивой к повреждениям, чем активация элементов, отвечающих за индивидуальные свойства, поскольку эти типичные свойства были закодированы сильнее до того, как связи были удалены. Таким образом, поврежденная сеть с большей вероятностью будет «знать» свойство канарейки умеет двигаться, нежели её свойство умеет петь.

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

Трагично и глубоко иронично, что в последнее десятилетие своей жизни Дэвид Румельхарт страдал от неуклонно прогрессирующей семантической деменции. Человек, сделавший так много для нашего понимания того, как люди усваивают понятия, пал жертвой болезни, которая опустошила его собственные понятия. Она лишила его того, что он любил больше всего на свете: думать о мышлении.

Пытаясь осмыслить, почему Румельхарта поразил этот недуг, его близкий друг Джей часто задавался вопросом: неужели Дэвид думал обо всем настолько напряженно и долго, что просто загнал свои нейроны до смерти?

Мы прошли долгий путь! Но...

Как мы видели в главе 1, самые первые интуитивные представления о работе разума требовали наличия внутреннего контролера — нашей уменьшенной копии, гомункулуса, обитающего внутри мозга. Однако вскоре мы поняли, что гомункулус лишь постулирует интеллект, а не объясняет его. Другие концепции разума представляли его как программное обеспечение, работающее на основе набора правил. Как мы уже убедились, эти определяющие правила не способны объяснить, что именно делает разум. Более того, они снова постулировали интеллект вместо того, чтобы его объяснить. В главах 4–6 мы применили подход, рассматривающий разум как результат взаимодействия между простыми локалистскими элементами обработки информации. Мы добились важного прогресса, но затем осознали, что локалистские сети «контрабандой» привносят интеллект самого создателя модели, ведь именно он решал, какие элементы включать в сеть, а какие нет, не говоря уже о том, какими должны быть связи между ними. Распределенные представления, формируемые в процессе обучения с исправлением ошибок, позволили нам решить эти проблемы, дали возможность отразить свойства семейного сходства и степени принадлежности к категории у естественных понятий, а также предложили механизм, объясняющий их эмерджентное возникновение. Мы даже получили новые представления о причинах утраты знаний при нейродегенеративных заболеваниях.

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

Предыдущая главаГлава 12 из 22Следующая глава