К книге
Эмерджентный разум: Как возникает интеллект у людей и машинChapter 9. Когда мы учимся, мы меняем связи.
64%
Chapter 9. Когда мы учимся, мы меняем связи.
14

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

Собаки научились ассоциировать звук метронома с пищей. Это было новое знание, которое они приобрели. С точки зрения нейронных сетей, мы можем рассматривать это обучение как увеличение силы связи между элементами «Пища» и «Метроном» в мозге собак. На рисунке 9.1 показано, как такая связь может формироваться в локалистской нейронной сети.

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

Рисунок 9.1. Локалистская сеть, симулирующая выделение слюны у собак Павлова на звук метронома, даже когда этот звук не сочетается с пищей. Такое обучение становится возможным благодаря новой связи (показанной пунктирной линией) между элементом «Пища» и элементом «Метроном». Связь между элементом «Пища» и элементом реакции «Слюноотделение» является врожденной.

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

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

Врожденные связи: надежные, но негибкие

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

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

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

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

Как же брызгун «знает», что ему нужно делать?

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

Хорошо, скажете вы, но как формируются эти связи?

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

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

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

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

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

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

Интерлюдия: эволюция как «внешний цикл» обучения

Октябрь 2024 года. Амстердам, Нидерланды. Джон Локк, эмпирик, наиболее известный своим убеждением в том, что познание происходит через опыт, скончался в 1704 году. Иммануил Кант, трансцендентальный идеалист, сосредоточившийся на врожденных структурах разума, умер в 1804 году. Каким-то образом оба они, что весьма символично, оказываются в кафе «Сократ», пьют кофе и беседуют. Весь день они провели, слушая выступления докладчиков на Всемирном саммите по ИИ.

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

Джон Локк: (Сначала смутившись, но затем обретая уверенность.) Герр Кант, я польщен тем, что моя интуитивная догадка о разуме как о «чистом листе» в какой-то мере подтвердилась. Как мы видим сегодня, ИИ в значительной степени опирается на концепцию tabula rasa. Примечательно, что создатели ИИ поначалу пробовали использовать подход на основе правил, который вы отстаивали в своей «Критике чистого разума», но это ни к чему не привело. ИИ добился успеха именно благодаря обучению на основе опыта.

Кант: Вы считаете нынешний ИИ успешным? Я не согласен. Думаю, во многих ключевых аспектах ИИ еще бесконечно далек от интеллекта человека, кошки или даже паука.

Локк: Паук не способен ни к какому сложной когнитивной деятельности! В то время как LLM, по любым разумным меркам, вполне способна на неё.

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

Локк: Это вообще нельзя назвать познанием. Это всего лишь инстинкт.

Кант: При всей своей якобы развитой когнитивной деятельности LLM и близко не способны сравниться с инстинктом брызгуна.

Локк: Дайте этим сетям время! Нынешний подход к ИИ на основе нейросетей только-только делает первые шаги! Обучение на основе опыта еще восторжествует.

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

Кант: Господин Дарвин! Это ведь вы?

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

(Локк и Кант хмурятся, но подаются вперед.)

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

(Локк и Кант слегка кивают, но их брови по-прежнему насуплены.)

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

Кант: То есть вы считаете естественный отбор процессом обучения?

Дарвин: Именно так! Естественный отбор направляет изменения связей между нейронами, а значит, да, это разновидность процесса обучения.

Локк: Но я считаю обучением то, что индивиды приобретают на собственном опыте в течение жизни.

Дарвин: Эволюция действует на уровне вида. И на гораздо более длинных временных отрезках. Это внешний цикл обучения. Обучение на основе опыта — внутренний цикл.

Кант: Не понимаю, почему вы считаете эволюцию разновидностью обучения.

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

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

Дарвин: Да, эволюция обеспечивает врожденные связи и субстрат, которые делают возможным обучение на основе опыта.

Локк: Если рассматривать обучение как формирование связей в мозге, то различие между врожденным и приобретенным оказывается в какой-то мере иллюзией. (Потирая подбородок.) Я вижу, что моя концепция чистой доски нуждается в уточнении. Возможно, резонно утверждать, что чистая доска существовала на заре жизни. После этого обучение на уровне вида на длинных временных отрезках и обучение на уровне индивидуума на коротких временных отрезках работают рука об руку.

Кант: Да, эти процессы работают рука об руку.

Эволюция и опыт: сложные синергетические связи

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

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

Ярким примером взаимодействия между эволюционными процессами и обучением на основе опыта является эффект Гарсиа, при котором у животного формируется устойчивая ассоциация между вкусом и последующим недомоганием, часто всего после одного контакта. В 1955 году Джон Гарсиа, сельскохозяйственный рабочий, неизвестный в академических кругах и не имевший докторской степени, продемонстрировал, что грызуны, которые пили темную жидкость со вкусом сахарина и позже заболевали из-за облучения радиацией, в дальнейшем начинали испытывать отвращение к этой жидкости. Животные научились ассоциировать вкус с лучевой болезнью, несмотря на задержку между моментом питья и началом болезни, и всего после одного сочетания стимулов. Это контрастирует с собаками Павлова, которым требовались многократные повторения сочетания звука метронома и пищи. Эффект Гарсиа подобен тому, как человек съедает, скажем, одну устрицу, сильно заболевает, а затем у него развивается стойкое отвращение к устрицам — даже если устрица не была причиной болезни.

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

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

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

Обучение по Хеббу: биологически правдоподобное, но потенциально ограниченное

Мы регулярно связываем сигнал «сесть в машину» с ответным действием «пристегнуть ремень безопасности», сигнал «увидеть друга» — с произнесением его имени, а сигнал «услышать дверной звонок» — с тем, чтобы подойти к двери.

Мы можем сформулировать интуитивно понятное объяснение того, как формируются эти ассоциации, опираясь на обучение по Хеббу (глава 3). Существует множество вариаций и деталей, которые сам Хебб не уточнял в своем правиле изменения силы синапсов. По нашему мнению, это правило лучше всего сформулировать так: если нейрон А уже имеет (возможно, весьма слабую) связь с нейроном Б, и если А и Б активируются примерно в одно и то же время, сила связи от А к Б увеличится. Увеличение силы связи зависит от активации как А, так и Б. Наиболее распространенная форма обучения по Хеббу предполагает перемножение показателей активации А и Б. Если это произведение велико, то и увеличение силы связи будет значительным; в противном случае этого не происходит. Важно отметить, что активация Б должна быть достаточно сильной, чтобы запустить изменения (помните об этом, читая дальше!).

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

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

Долговременная потенциация и обучение по Хеббу

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

ДВП была впервые продемонстрирована исследователями Тимоти Блиссом и Терье Лёмо в 1950-х годах. Они ввели кролику наркоз и исследовали эффект от посылки электрических импульсов по определенному пути в его мозге. Сначала, когда они посылали одиночный слабый импульс, он вызывал очень слабый ответ в последующих нейронах, и в дальнейшем импульсы такой же силы продолжали приводить к столь же слабому эффекту. Затем они послали серию сильных импульсов, что заставило последующие нейроны реагировать на повышенном уровне. Как и следовало ожидать, вскоре нейроны вернулись в состояние покоя. После этого — и в этом заключается самая поразительная часть — они снова послали одиночный слабый импульс, идентичный тем импульсам, которые ранее вызывали лишь слабый ответ. Но на этот раз ответ оказался гораздо сильнее. В то время как амплитуда первоначального ответа составляла менее одного милливольта, в дальнейшем она превышала три милливольта. Более того, эта картина сильного ответа сохранялась долгое время. Даже много часов спустя, и хотя больше никаких сильных импульсов не подавалось, слабые импульсы продолжали вызывать более сильный ответ.

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

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

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

Ограничения обучения по Хеббу

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

Это наблюдение указывает на один из факторов, который может объяснять неспособность большинства взрослых японцев различать на слух английские звуки /r/ и /l/. Например, они могут не улавливать разницу между словами rock и lock. Почему так происходит? Дело в том, что в японском языке попросту нет отдельных звуков /r/ и /l/. Вместо этого в нем есть один звук, который находится как бы посередине между этими двумя английскими звуками. Поэтому, когда взрослый японец слышит английский звук /r/ или /l/, этот звук активирует нейроны, кодирующие тот самый промежуточный, знакомый ему звук. Обучение по Хеббу может закреплять эту тенденцию, заставляя оба звука по-прежнему активировать одну и ту же группу нейронов. В данном случае обучение по Хеббу помогает поддерживать способ восприятия, который отлично работает, когда вы слушаете японскую речь, но мешает научиться различать звуки в английском.

Бесполезные ассоциации, как оказывается, встречаются повсюду. Выражение Старого пса новым трюкам не выучишь отражает тот факт, что со временем и повторением у многих людей укореняются окостеневшие и способные к самоподдержанию паттерны мышления, даже если они ошибочны и бесполезны. Действительно, историк науки Говард Марголис утверждал, что подобное укоренение паттернов мышления может мешать ученым, воспитанным в рамках одной парадигмы, разглядеть ценность новых научных идей (возможно, именно это произошло, когда модели нейронных сетей были предложены в 1950-х годах, затем отвергнуты, а затем вновь открыты в 1980-х).

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

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

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

И что же происходит в этом случае?

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

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

Подобные ограничения обучения по Хеббу заставили многих ученых и инженеров, заинтересованных в создании эффективных обучающихся систем, сделать ставку на правила обучения с исправлением ошибок; мы уже видели возможности таких правил в главах 7 и 8. Вскоре мы перейдем к более подробному их рассмотрению. Тем не менее, как мы увидим, у этих методов тоже есть свои ограничения, и мы считаем важным продолжать исследовать обучение по Хеббу (или подобные ему механизмы), способное обеспечивать надежные результаты обучения в крупномасштабных нейронных сетях. Это активно развивающаяся область исследований, которая, вероятно, принесет новые открытия в понимании того, как учится наш мозг.

Обучение с исправлением ошибок: мощное, но (иногда) неэффективное

Представьте себе молодого сомелье по имени Винченца, которая на вводном занятии должна научиться определять цену вина по его вкусу. Преподаватель Винченцы советует ей обращать внимание на «свежие абрикосовые нотки» или «насыщенные тона каберне» как на признаки качества и, следовательно, более высокой цены, но, к ее глубокому сожалению, она понятия не имеет, что делать с этими наставлениями. Поначалу ее оценки оказываются бесконечно далеки от реальности. Как-то раз она оценила в 200 долларов бутылку, которая стоила 35; в другой раз она дала 15 долларов за бутылку стоимостью более 400. Винченца совершенно падает духом. Никакие объяснения других людей ей не помогают. Чувствует ли она сейчас освежающую кислотность дорогого вина или же несбалансированность дешевого?

И вот, спустя несколько недель, после множества попыток и неверных догадок, ответы Винченцы начинают улучшаться. Всё лучше и лучше у нее получается отличать дорогое вино от дешевого. Она не может точно объяснить как, но определенно делает успехи. Мало того что она стала точнее классифицировать вина на дорогие и дешевые, ее конкретные оценки стоимости тоже стали гораздо ближе к реальности — часто в пределах 5–10 процентов от настоящей цены. Что же изменилось?

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

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

Поиск оптимальной силы связей с помощью ошибок

Фундаментальный принцип обучения с исправлением ошибок заключается в том, чтобы найти способ свести ошибку к минимуму. Чтобы понять, как это работает, давайте вернемся к нашему молодому сомелье Винченце. Предположим, что ее первоначальная нейросеть (нереалистично) проста и состоит из четырех входных элементов и одного выходного элемента (рисунок 9.2). Два входных элемента определяют, является ли вино каберне (сорт красного винограда) или вионье (сорт белого винограда). Два других определяют, имеет ли вино сливовый или абрикосовый вкус. Бутылка вина, которая, к примеру, представляет собой каберне с отчетливым сливовым вкусом, будет давать максимальный входной сигнал — скажем, 1 — на элементы «Каберне» и «Сливовый» (первый и третий элементы на рисунке 9.2) и минимальный сигнал — скажем, 0 — на второй и четвертый элементы («Вионье» и «Абрикосовый»). Такой паттерн входных данных можно записать в виде [1, 0, 1, 0]. Другое вино — например, вионье, не обладающее ни сливовым, ни абрикосовым вкусом (и, по определению, не являющееся каберне), — будет иметь паттерн входных данных [0, 1, 0, 0]. Каберне с легким сливовым оттенком (и без всякого абрикосового вкуса) может иметь паттерн входных данных [1, 0, 0,5, 0], где 0,5 — это входной сигнал, соответствующий свойству вина быть «слегка сливовым».

Четыре входных элемента соединены с элементом цены связями, сила которых обозначена как w1, w2, w3 и w4. Чтобы рассчитать примерную стоимость вина, нужно умножить входной сигнал каждого элемента на соответствующий вес связи, а затем сложить полученные значения. Например, возьмем каберне с легким сливовым привкусом и паттерном входных данных [1, 0, 0,5, 0] и представим, что веса связей (w1, w2, w3 и w4) с элементом цены равны 9, 5, 14 и 12 соответственно. В этом сценарии активация элемента «Цена», соответствующая оценке стоимости нейросетью, составит 1×9 + 0×5 + 0,5×14 + 0×12 = 16 долларов. Фактическая цена вина может составлять 23 доллара, и в этом случае ошибка Винченцы будет равна 7 долларам.

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

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

Вопрос в следующем: как сеть должна находить наилучшие веса связей?

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

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

Чем выше активация передающего элемента, тем больше корректировка веса. Почему?

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

Чтобы применить эти идеи на практике, давайте вернемся к нашему каберне с тонами сливы и входным паттерном [1, 0, 0.5, 0]. Сеть Винченцы оценила его стоимость в 16 долларов; реальная цена составляла 23 доллара, следовательно, ошибка составила 7 долларов. Мы хотим изменить те связи, которые внесли наибольший вклад в эту ошибку. Какие именно связи нам следует изменить? Элементы 2 и 4 имели нулевой входной сигнал и не участвовали в оценке цены — поэтому было бы странно менять эти связи, ведь как бы мы их ни меняли, это не уменьшило бы ошибку. Разумно изменять связи от тех элементов, корректировка которых окажет наибольшее влияние на ошибку. Это Элемент 1 и Элемент 3, и, следовательно, именно эти связи мы и будем корректировать в данном примере. Более того, поскольку Элемент 1 имел вдвое большую активацию, чем Элемент 3, вес соответствующей ему связи увеличится вдвое сильнее, чем вес связи, соответствующей Элементу 3. Это сделает процесс обучения более эффективным, так как наибольшие изменения будут вноситься в те связи, которые окажут наибольшее влияние на снижение ошибки. Итак, резюмируем: мы корректируем каждую связь на величину, равную малой доле от произведения ошибки на принимающем конце связи и активации на передающем конце.

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

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

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

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

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

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

«А что если увеличить количество выходных элементов? До сих пор у нас был один выходной элемент. Что если бы их было много?» — спросите вы. Такая ситуация может возникнуть, если помимо цены мы попытаемся оценить какие-то дополнительные характеристики вина (например, содержание алкоголя).

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

«Справедливо. Но что, если нам понадобится скрытый слой?»

А вот над этим моментом нам нужно поразмыслить.

Важность скрытых элементов

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

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

Сможет ли двухслойная сеть, показанная на рисунке 9.2, снизить ошибку, если цена на вино в целом подчиняется правилу: сливовое каберне и абрикосовое вионье стоят дорого, а абрикосовое каберне и сливовое вионье — дешево?

В нашем примере, когда сеть сталкивается с дорогим сливовым каберне, она в целом увеличивает w1 и w3, чтобы получить высокую оценку цены, снижающую ошибку. Однако при встрече с абрикосовым каберне она в целом уменьшает w1 и w4, чтобы выдать низкую оценку цены для минимизации ошибки. В этой паре примеров вес w1 сначала увеличивается, а затем уменьшается. В результате его изменение окажется относительно небольшим или вообще нулевым. Аналогичная логика подсказывает, что каждый из весов w2, w3 и w4 будет то увеличиваться, то уменьшаться. Если бы обучающая выборка состояла из равного количества каждого из четырех возможных типов вин (сливовое каберне, абрикосовое каберне, сливовое вионье и абрикосовое вионье — по пятьдесят бутылок каждого вида, в общей сложности двести вин в обучающем наборе), веса остались бы неизменными, поскольку их корректировали бы в сторону увеличения ровно столько же раз, сколько и в сторону уменьшения. Даже если бы обучающая выборка не была идеально сбалансированной, такая сеть не смогла бы уловить закономерность, согласно которой сливовое каберне и абрикосовое вионье стоят дорого, а остальные виды вин — нет.

Рисунок 9.3: Приведенная выше сеть со скрытыми элементами способна уловить ценовой паттерн для группы вин, в которой сливовое каберне и абрикосовое вионье стоят дорого, а абрикосовое каберне и сливовое вионье — дешево. Сеть, показанная на рисунке 9.2, не способна распознать эту закономерность.

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

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

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

Можем ли мы использовать дельта-правило обучения в сетях со скрытыми элементами? Нет, не можем. Понимаете почему?

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

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

Обратное распространение ошибки

Чтобы разобраться в работе алгоритма обратного распространения ошибки, давайте рассмотрим нейронную сеть, изображенную на рисунке 9.4. Здесь у нас есть один (средний) скрытый слой, состоящий из трех элементов. Для удобства мы обозначили связи от скрытого слоя к выходному элементу заглавной буквой W, а связи от входного слоя к скрытому слою — строчной буквой w. Именно эти связи нам и предстоит настраивать. Это очень простая сеть — особенно по сравнению с теми, что мы встречали в главе 8, где насчитывается множество скрытых слоев и миллионы элементов. Тем не менее ее будет вполне достаточно, чтобы понять, как обратное распространение ошибки делает возможным обучение.

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

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

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

В сетях без скрытого слоя мы могли настраивать только связи между входным и выходным слоями. Что же мы можем настроить в данном случае? Как и прежде, мы можем изменить связи, ведущие к выходному элементу. На рисунке 9.4 веса этих связей обозначены заглавной буквой W: W7, W8, W9.

Есть ли еще что-то, что позволит приблизить прогноз сети к правильному ответу? Да. Активация скрытых элементов. Мы не можем напрямую изменить активацию этих скрытых элементов, но мы можем изменить связи от входных элементов к скрытым — они обозначены строчной буквой w.

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

Давайте сначала подумаем о весах, обозначенных заглавной W, а затем займемся изменением активации скрытых элементов и соответствующими изменениями весов, обозначенных строчной w. Какие W нам следует скорректировать, чтобы наиболее эффективно увеличить наш прогноз? Связи от наиболее активированных (скрытых) элементов дадут нам наибольшую отдачу от усилий по настройке (ведь, напомним, для вычисления активации выходного элемента мы умножаем активацию каждого отправляющего элемента на вес соответствующей связи). На рисунке 9.4 это означает, что W9 должна подвергнуться наибольшей корректировке, поскольку нижний скрытый элемент активирован сильнее всего. С другой стороны, изменение W8 принесет меньше пользы, поскольку активация среднего скрытого элемента сравнительно мала. Обратите внимание, что активации скрытых элементов подсказывают нам, как изменять веса — а именно те, что обозначены заглавной W.

Далее давайте подумаем об активации скрытых элементов. Активацию каких элементов мы хотели бы увеличить? Увеличение активации тех элементов, которые связаны с выходными элементами наибольшими весами, принесет нам наибольшую отдачу от усилий по настройке. Например, если W8 больше, чем W7 и W9, мы, скорее всего, захотим увеличить активацию среднего скрытого элемента. Интересно, что теперь веса подсказывают нам, активацию каких скрытых элементов следует увеличить. В этом и заключается суть обратного распространения ошибки: мы, как и прежде, получаем ошибку на выходном элементе, а затем умножаем ее на вес связи от каждого скрытого элемента к выходному. Это произведение становится тем, что Румельхарт назвал обратно распространенной ошибкой от выходного элемента к скрытому. Если выходных элементов несколько, то общая обратно распространенная ошибка для скрытого элемента становится суммой ошибок, распространенных обратно от каждого выходного элемента.

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

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

Объединив все вместе, мы можем теперь резюмировать, как обучаются нейронные сети с использованием обратного распространения ошибки. Сначала подаются входные сигналы, задающие активацию входных элементов. Затем мы распространяем активацию по сети вперед. Далее мы сравниваем выходной сигнал сети с целевым выходом, которому пытаемся соответствовать, чтобы вычислить ошибку. Затем мы используем веса связей для определения обратно распространенной ошибки каждого скрытого элемента. Теперь у нас есть значения ошибок для всех элементов, а также их активации, полученные в ходе прямого распространения сигнала. Наконец, мы изменяем каждый вес на величину, равную скорости обучения, умноженной на произведение значения ошибки принимающего элемента на активацию отправляющего элемента. Здесь стоит отметить интересную тонкость: изменение весов связей от скрытых элементов к выходным (заглавных W на рисунке 9.4) зависит от весов связей от входных элементов к скрытым (строчных w). Это связано с тем, что строчные w определяют активацию скрытых элементов, которая, в свою очередь, влияет на то, как должны изменяться заглавные W. И наоборот, изменения строчных w зависят от значений заглавных W. Это происходит потому, что заглавные W определяют значения обратно распространенной ошибки, которые указывают, активацию каких скрытых элементов нам следует изменить, чтобы оказать наибольшее влияние на ошибку на выходном слое. Это, в свою очередь, влияет на то, как следует изменять строчные w для минимизации ошибки.

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

Сильные стороны и ограничения обратного распространения ошибки

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

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

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

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

Обучение с подкреплением: сулящее награду, но лишенное ориентиров

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

Обучение с подкреплением тесно связано с законом эффекта, сформулированным психологом Эдвардом Торндайком в начале 1900-х годов. Основная идея Торндайка заключалась в том, что поведение, за которым следуют «приносящие удовлетворение» (слово Торндайка) последствия, с большей вероятностью повторится, тогда как поведение, за которым следуют неудовлетворительные или неприятные последствия, с меньшей вероятностью повторится.

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

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

Чтобы понять, как работает обучение с подкреплением, давайте представим робота, помещенного в сложный лабиринт со множеством путей и тупиков, где в одной определенной точке он получает сигнал вознаграждения — как положительного, так и отрицательного. Попадание в тупик влечет за собой небольшое отрицательное вознаграждение. Робот может начать в любой точке лабиринта. Это называется его состоянием. Из данного состояния он может совершить одно из четырех различных действий: двинуться вперед, назад, влево или вправо. Совершая действие, он меняет свое состояние. Нам нужен способ научить его тому, какое действие следует выбрать в каждом конкретном состоянии, чтобы максимизировать вознаграждение. Это отображение состояний на действия называется стратегией. Робот с хорошей стратегией быстро найдет доступные награды по сравнению с роботом, чья стратегия менее оптимальна.

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

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

Другое примечательное применение обучения с подкреплением связано с тонкой настройкой ответов, генерируемых большими языковыми моделями (глава 8). Иногда следующим предсказанным словом LLM может оказаться нежелательное ругательство (поскольку бранные слова входят в состав ее обучающих данных). Чтобы избежать этого, LLM дообучают с помощью алгоритма обучения с подкреплением, который наказывает за генерацию ненормативной лексики или другого нежелательного контента. LLM генерирует несколько вариантов ответа, которые затем оцениваются отдельной нейронной сетью, обученной распознавать неприемлемую лексику. Ответы LLM, содержащие нежелательные слова, получают меньшее вознаграждение, что побуждает модель избегать подобных выражений в будущих ответах. За множество итераций модель учится выдавать ответы, максимизирующие вознаграждение, за счет того, что обходит стороной ненормативную лексику и другие нежелательные результаты.

Несмотря на такие успехи, обучение с подкреплением, усиленное обратным распространением ошибки, также имеет глубокие ограничения. Дело в том, что эти системы должны, по сути, усреднять свой опыт по огромному количеству последовательностей действий, чтобы определить, какие именно действия в этой последовательности действительно имели значение для конечного результата. Если наш робот добрался до награды после совершения тысячи действий, какому из этих действий следует приписать эту заслугу? Или наоборот, если после тысячи действий робот продолжал заходить в тупик, на какое из этих действий должна лечь основная вина? Распределение заслуг или вины между всеми действиями вычислительно затратно и, скорее всего, неосуществимо для биологической обучающейся системы, которой потребовалось бы множество жизней, чтобы накопить достаточный опыт во многих ситуациях. Как метко заметил по этому поводу пионер ИИ Джеффри Хинтон: «Это все равно как если бы каждый житель США пытался определить, насколько полезен был его рабочий день, ежедневно наблюдая за динамикой валового национального продукта». Используя подобные аргументы, многие когнитивисты и нейробиологи сходятся во мнении, что люди часто учатся гораздо эффективнее — но то, как именно им это удается (как и в случае с обучением на основе коррекции ошибок), остается загадкой.

И к чему же мы пришли?

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

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

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

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