Акции IT-компаний
Apple - $203.86
Google - $1236.37
Facebook - $178.28
Amazon - $1861.69
Microsoft - $123.37
Yandex - $37.34
Netflix - $360.35
Джеффри Хинтон — один из создателей концепции глубокого обучения, призер премии Тьюринга 2019 года и инженер Google. На прошлой неделе, во время конференции разработчиков I/O, Wired взял у него интервью и обсудил его увлечение мозгом и возможностью смоделировать компьютер на основе нейронной структуры мозга. Долгое время эти идеи считались дурацкими. Интересная и увлекательная беседа о сознании, будущих планах Хинтона и о том, можно ли научить компьютеры видеть сны.
Давайте начнем с тех времен, когда вы написали свои самые первые, очень влиятельные статьи. Все говорили: «Идея умная, но на самом деле мы не сможем проектировать компьютеры таким образом». Объясните, почему вы настаивали на своем и почему вы были так уверены, что нашли что-то важное.
Мне казалось, что мозг не может работать каким-то иным образом. Он обязан работать, изучая силу соединений. И если вы хотите заставить устройство делать что-то умное, у вас есть два варианта: вы либо программируете его, либо оно учится. А людей никто не программировал, поэтому нам пришлось обучаться. Этот способ должен был быть правильным.
Объясните, что такое нейронные сети. Объясните изначальное представление.
Вы берете относительно простые обрабатывающие элементы, которые очень отдаленно напоминают нейроны. У них есть входящие соединения, у каждого соединения есть вес и этот вес может меняться в процессе обучения. Что делает нейрон — берет действия на соединениях, умноженные на весовые коэффициенты, суммирует их и затем решает, отправлять ли данные. Если сумма набирается достаточно большой, он делает вывод (output). Если сумма отрицательная, он ничего не отправляет. Вот и все. Вам нужно лишь связать тучу таких нейронов с весами и выяснить, как менять эти веса, и тогда они будут делать что угодно. Вопрос лишь в том, как вы будете менять веса.
Когда вы поняли, что это примерное представление того, как работает мозг?
О, да все изначально так и задумывалось. Проектировалось так, чтобы напоминать мозг в работе.
Итак, в определенный момент своей карьеры вы начали понимать, как работает мозг. Может быть, вам было двенадцать лет, может быть, двадцать пять. Когда вы решили попытаться смоделировать компьютеры по типу мозга?
Да сразу же. В этом и был весь смысл. Вся эта идея заключалась в том, чтобы создать обучающееся устройство, которое учится подобно мозгу, согласно представлениям людей о том, как обучается мозг, за счет изменения силы соединений. И это была не моя идея, такая же идея была у Тьюринга. Хоть Тьюринг изобрел огромную часть основ стандартной информатики, он считал, что мозг был неорганизованным устройством со случайными весами и использовал обучение с подкреплением для изменения соединений, поэтому мог изучить что угодно. И он полагал, что это лучший путь к интеллекту.
И вы последовали за идеей Тьюринга о том, что лучший способ создать машину — проектировать ее по типу человеческого мозга. Так, мол, работает мозг человека, поэтому давайте создадим подобную машину.
Да, так думал не только Тьюринг. Многие так думали.
Когда настали темные времена? Когда произошло так, что другие люди, которые работали над этим и считали идею Тьюринга верной, начали отступать, а вы продолжили гнуть свою линию?
Всегда была горстка людей, которые верили, несмотря ни на что, особенно в области психологии. Но среди компьютерных ученых, полагаю, в 90-х, получилось так, что наборы данных были достаточно маленькими, а компьютеры не были такими быстрыми. А с небольшими наборами данных другие методы, в частности, метод опорных векторов, работали чуточку лучше. Их не так сильно смущал шум. Так что все это было грустно, потому что в 80-х мы разработали метод обратного распространения [back propagation — метод обратного распространения ошибки, очень важный для нейросетей]. Мы думали, что он все решит. И были озадачены тем, что он ничего не решил. Вопрос был реально в масштабе, но тогда мы этого не знали.
Почему вы думали, что он не работает?
Мы думали, что он не работает, потому что у нас были не совсем правильные алгоритмы и не совсем правильные целевые функции. Я долго думал, что это потому, что мы пытались проводить обучение под наблюдением, когда вы маркируете данные, а мы должны были заниматься обучением без наблюдения, когда обучение происходит по данным без меток. Оказалось, что вопрос был по большей части в масштабе.
Это интересно. Получается, проблема была в том, что у вас было недостаточно данных. Вы думали, что располагаете нужным количеством данных, но неправильно их помечали. Получается, вы просто неправильно определили проблему?
Я думал, что ошибка была в том, что мы вообще используем метки. Большая часть вашего обучения происходит без использования всяких меток, вы просто пытаетесь смоделировать структуру в данных. Я на самом деле до сих пор так считаю. Думаю, что поскольку компьютеры становятся быстрее, если компьютер будет достаточно быстрым, то для любого набора данных заданного размера лучше проводить обучение без наблюдения. И как только вы завершите обучение без наблюдения, вы сможете учиться с меньшим количеством меток.
Итак, в 1990-х вы продолжаете свои исследования, вы в академических кругах, вы все еще публикуетесь, но не решаете больших проблем. Бывал ли у вас момент, когда вы говорили: «Знаешь, что, довольно этого. Попробую сделать что-нибудь другое»? Или вы просто говорили себе, что будете продолжать заниматься глубоким обучением [то есть, концепцией deep learning, глубокого обучения нейросетей; читайте подробнее здесь].
Да. Что-то подобное должно работать. Я имею в виду, соединения в мозге каким-то образом учатся, нам просто нужно выяснить, как именно. И, возможно, есть множество разных способов укрепления соединений в процессе обучения; мозг использует один из них. Могут быть и другие способы. Но точно нужно что-то, что может укреплять эти соединения при обучении. Никогда в этом не сомневался.
Вы никогда в этом не сомневались. Когда стало похоже на то, что это работает?
Одним из крупнейших разочарований 80-х было то, что если мы делали сети с множеством скрытых слоев, мы не могли их тренировать. Это не совсем верно, потому что вы можете тренировать относительно простые процессы вроде письма от руки. Но мы не знали, как тренировать большинство глубоких нейронных сетей. И где-то в 2005 году я придумал способ обучения глубоких сетей без наблюдения. Вы вводите данные, скажем, пиксели, и обучаете несколько детекторов деталей, которые просто хорошо объясняли, почему пиксели были такими, какие есть. Затем вы скармливаете этим детекторам деталей данные и обучаете другой набор детекторов деталей, так, чтобы мы могли объяснить, почему у конкретных детекторов деталей появляются конкретные корреляции. Вы продолжаете обучать слой за слоем. Но самое интересное заключалось в том, что можно было разложить математически и доказать, что каждый раз, когда вы обучаете новый слой, вы совсем не обязательно улучшите модель данных, однако будете иметь дело с диапазоном того, насколько хороша ваша модель. И этот диапазон становился лучше с каждым добавленным слоем.
Что вы имеете в виду под диапазоном того, насколько хороша ваша модель?
Как только вы получали модель, вы могли задать вопрос: «Насколько необычными эта модель находит эти данные?». Вы показываете ей данные и задаете вопрос: «Ты находишь все это таким, как и предполагала, или же это необычно?». И вот это можно было измерить. И хотелось заполучить модель, хорошую модель, которая смотрит на данные и говорит: «Да, да. Я знала это. Это не удивительно». Всегда очень трудно точно рассчитать, насколько необычными модель сочтет данные. Но можно просчитать диапазон этого. Можно сказать, что модель найдет эти данные менее необычными, чем эти. И можно было показать, что по мере добавления новых слоев в детекторы деталей модель формируется, и с каждым добавленным слоем, когда она находит данные, диапазон понимания того, насколько необычными она сочтет данные, становится лучше.
Получается, примерно в 2005 году вы осуществили этот математический прорыв. Когда вы начали получать правильные ответы? С какими данными вы работали? Первый прорыв у вас получился с речевыми данными, верно?
Это были просто рукописные цифры. Очень простые. И примерно в то же время началась разработка GPU (графических процессоров). И люди, которые занимались нейронными сетями, начали использовать GPU в 2007 году. У меня был очень хороший студент, который начал использовать GPU для поиска дорог на аэрофотоснимках. Он написал код, который затем взяли на вооружение другие студенты, использующие GPU для распознавания фонем в речи. Они использовали эту идею предварительного обучения. И когда с предварительным обучением было закончено, просто вешали метки поверх и использовали обратное распространение. Оказалось, что можно создать очень глубокую сеть, которая была предварительно обучена таким образом. И затем можно было применить обратное распространение, и оно на самом деле работало. В распознавании речи это сработало прекрасно. Поначалу, правда, было ненамного лучше.
Оно было лучше коммерчески доступного распознавания речи? Обошло лучшие научные работы по распознаванию речи?
В относительно небольшом наборе данных под названием TIMIT оно было чуть лучше, чем лучшая академическая работа. IBM также проделала много работы.
Очень быстро люди поняли, что все это — раз уж оно обходит стандартные модели, которые разрабатывались 30 лет — будет прекрасно работать, если немного развить. Мои выпускники попали в Microsoft, IBM и Google, и Google очень быстро создал рабочий распознаватель речи. К 2012 году эта работа, которая была проделана еще в 2009 году, попала на Android. Android внезапно стал намного лучше распознавать речь.
Расскажите мне о моменте, когда вы, хранивший эти идеи 40 лет, публикующийся на эту тему 20 лет, внезапно обходите своих коллег. На что похоже это чувство?
Что ж, на тот момент я хранил эти идеи всего 30 лет!
Верно, верно!
Было прекрасное ощущение того, что все это наконец-то превратилось в настоящую проблему.
А вы помните, когда впервые получили данные, указывающие на это?
Нет.
Ладно. Итак, вы поняли, что это работает с распознаванием речи. Когда вы начали применять нейросети к другим проблемам?
Поначалу мы начали применять их к всевозможным другим проблемам. Джордж Даль, вместе с которым мы изначально работали над распознаванием речи, применил их, чтобы предсказать, сможет ли молекула связаться с чем-нибудь и стать хорошим лекарством. И был конкурс. Он просто применил нашу стандартную технологию, созданную для распознавания речи, к прогнозированию активности препаратов и победил в этом конкурсе. Это был знак того, что мы делаем нечто весьма универсальное. Потом появился студент, который сказал: «Знаешь, Джефф, эта штука сработает с распознаванием изображений, и Фей-Фей Ли создал подходящий набор данных для этого. Есть публичный конкурс, давай сделаем что-то».
Мы получили результаты, которые намного превосходили стандартное компьютерное зрение. Это был 2012 год.
То есть, в этих трех областях вы преуспели: моделирование химических веществ, речь, голос. Где потерпели неудачу?
Вы понимаете, что неудачи носят временный характер?
Ну, что отличает области, где все это работает быстрее всего, и области, где требуется больше времени? Похоже, визуальная обработка, распознавание речи и что-то вроде базовых человеческих вещей, которые мы делаем при помощи сенсорного восприятия, считаются первыми преодоленными барьерами, верно?
И да, и нет, потому что есть и другие вещи, которые мы делаем хорошо — та же моторика. Мы очень хороши в управлении моторикой. Наши мозги определенно для этого приспособлены. И только сейчас нейронные сети начинают конкурировать с лучшими иными технологиями за это. Они победят в итоге, но сейчас они только начинают побеждать.
Я думаю, мышление, абстрактное мышление — последние вещи, которым мы обучаемся. Я думаю, они будут и среди последних вещей, которые эти нейросети научатся делать.
И поэтому вы продолжаете говорить, что нейронные сети в конечном итоге победят везде.
Ну, мы и есть нейронные сети. Все, что можем мы, смогут и они.
Верно, но мозг человека далеко не самая эффективная вычислительная машина из когда-либо созданных.
Определенно, нет.
Определенно, не мой человеческий мозг! Существует ли способ смоделировать машины, которые будут намного эффективнее человеческого мозга?
С точки зрения философии у меня нет возражений против идеи, что может быть какой-либо совершенно другой способ все это делать. Может быть, если вы начнете с логики, попытаетесь автоматизировать логику, придумаете некий причудливый доказатель теорем, будете рассуждать, а затем решите, что именно посредством рассуждения вы приходите к визуальному восприятию, может быть и так, что этот подход победит. Но пока нет. У меня нет философских возражений к такой победе. Просто мы знаем, что мозг на это способен.
Но есть и вещи, которые наш мозг не способен делать хорошо. Значит ли это, что нейронные сети также не смогут делать их хорошо?
Вполне возможно, да.
И есть отдельная проблема, которая заключается в том, что мы не совсем понимаем, как работают нейросети, верно?
Да, мы действительно не понимаем, как они работают.
Мы не понимаем, как работают нейросети с нисходящим подходом. Это основной элемент работы нейронных сетей, который мы не понимаем. Объясните это, а затем позвольте задать мне следующий вопрос: если мы знаем, как все это работает, как же все это тогда работает?
Если взглянуть на современные системы компьютерного зрения, большинство из них в основном направлены вперед; они не используют соединения обратной связи. И есть еще кое-что в современных системах компьютерного зрения, которые очень подвержены состязательным ошибкам. Вы можете слегка изменить несколько пикселей, и то, что было изображением панды и все еще выглядит для вас в точности как панда, внезапно станет страусом в понимании нейросети. Очевидно, способ подмены пикселей продуман так, чтобы обмануть нейросеть, заставив думать ее про страуса. Но дело в том, что для вас это все еще панда.
Изначально мы полагали, что все это работает прекрасно. Но затем, сталкиваясь с фактом, что они смотрят на панду и уверены, что это страус, мы забеспокоились. И я думаю, что часть проблемы в том, что они не пытаются реконструировать из представлений высокого уровня. Они пытаются обучаться изолированно, когда обучаются только слои детекторов деталей, и вся цель состоит в том, чтобы изменить веса так, чтобы стать лучше в поисках правильного ответа. Недавно в Торонто мы обнаружили, или Ник Фрост обнаружил, что если добавить реконструкцию, повысится устойчивость к состязательной ошибке. Я думаю, что в человеческом зрении для обучения используется реконструкция. И поскольку мы очень много учимся, делая реконструкцию, мы намного более устойчивы к состязательным атакам.
Вы считаете, что нисходящая коммуникация в нейронной сети позволяет вам проверять, как нечто реконструируется. Вы это проверяете и убеждаетесь, что это панда, а не страус.
Думаю, это важно, да.
Но ученые, изучающие мозг, с этим не совсем согласны?
Ученые мозга не спорят с тем, что если у вас две области коры на пути восприятия, всегда будут обратные соединения. Они спорят с тем, для чего это нужно. Это может быть нужно для внимания, для обучения или для реконструкции. Или для всех трех.
И поэтому мы не знаем, что такое обратная связь. Вы строите свои новые нейронные сети, отталкиваясь от допущения того, что… нет, даже не так — вы строите обратную связь, потому что она нужна для реконструкции в ваших нейронных сетях, хотя даже не понимаете толком, как работает мозг?
Да.
Разве это не уловка? Ну, то есть, если пытаешься сделать что-то подобно мозгу, но не уверен, что мозг так делает?
Не совсем. Я не занимаюсь вычислительной нейробиологией. Я не пытаюсь создать модель работы мозга. Я смотрю на мозг и говорю: «Это работает, и если мы хотим сделать что-то еще, что работает, мы должны смотреть и вдохновляться этим». Мы вдохновляемся нейронами, а не строим нейронную модель. Таким образом, вся модель, используемые нами нейроны, вдохновлены тем фактом, что у нейронов много связей и что они меняют веса.
Это интересно. Если бы я был компьютерным ученым, и работал над нейронными сетями, и захотел обойти Джеффа Хинтона, одним из вариантов было бы строительство нисходящей коммуникации и базирование ее на других моделях наук о мозге. Базирование на обучении, а не на реконструкции.
Если бы были модели получше, вы бы победили. Да.
Это очень, очень интересно. Давайте затронем более общую тему. Итак, нейронные сети смогут решить все возможные проблемы. Есть ли загадки человеческого мозга, которые не смогут или не будут охватывать нейронные сети? Например, эмоции.
Нет.
Значит, любовь можно будет реконструировать нейронной сетью? Сознание можно реконструировать?
Абсолютно точно. Как только вы выясните, что означают эти вещи. Мы ведь нейросети, так? Сознание — особенно интересная для меня тема. Но… люди не знают на самом деле, что подразумевают под этим словом. Есть масса самых разных определений. И я думаю, что это довольно-таки научный термин. Поэтому, если бы 100 лет назад вы спросили людей: что такое жизнь? Они бы ответили: «Ну, у живых вещей есть жизненная сила, и когда они умирают, жизненная сила покидает их. В этом разница между живым и мертвым, либо у вас есть жизненная сила, либо нет». Теперь у нас нет жизненной силы, мы думаем, что эта концепция появилась до науки. И как только вы начнете немного разбираться в биохимии и молекулярной биологии, вам больше не нужна будет жизненная сила, вы поймете, как все это работает на самом деле. И то же самое, я думаю, произойдет с сознанием. Я думаю, что сознание — это попытка объяснить мысленные явления с применением некоей сущности. И эта сущность, она не нужна. Как только вы сможете ее объяснить, вы сможете объяснить, как мы делаем все то, что делает людей сознательными существами, объясните различные значения сознания, не привлекая никаких особых сущностей.
Получается, не существует эмоций, которые нельзя было бы создать? Нет мысли, которую нельзя было бы создать? Нет ничего, на что способен человеческий разум, что теоретически нельзя было бы воссоздать полностью функционирующей нейронной сетью, как только мы на самом деле поймем, как работает мозг?
Что-то похожее пел Джон Леннон в одной из своих песен.
Вы на 100% уверены в этом?
Нет, я байесовец, поэтому уверен на 99,9%.
Хорошо, а что тогда эти 0,01%?
Ну, мы могли бы, например, все быть частью большой симуляции.
Справедливо. Итак, что мы узнаем о мозге из нашей работы над компьютерами?
Ну, я думаю, что из того, что мы узнали за последние 10 лет, интересно, что если взять систему с миллиардами параметрами и целевую функцию — например, чтобы заполнить пробел в строчке слов — она сработает лучше, чем должна. Она сработает намного лучше, чем вы могли бы ожидать. Вы могли бы подумать, да и многие люди в области традиционных исследований на тему ИИ так бы подумали, что можно взять систему с миллиардом параметров, запустить ее на случайных значениях, измерить градиент целевой функции и затем подправить ее так, чтобы улучшить целевую функцию. Вы могли бы подумать, что безнадежный алгоритм неизбежно застрянет. Но нет, оказывается, это реально хороший алгоритм. И чем больше масштаб, тем лучше он работает. И это открытие было по сути эмпирическим. Была некоторая теория за всем этим, конечно, но открытие было эмпирическим. А теперь, поскольку мы это обнаружили, кажется более вероятным, что мозг рассчитывает градиент некоторой целевой функции и обновляет веса и силу связи синапсов, чтобы успеть за этим градиентом. Нам лишь нужно выяснить, что это за целевая функция и как она ухудшается.
Но мы не поняли это на примере мозга? Не поняли обновление весов?
Это была теория. Давным-давно люди думали, что это возможно. Но на фоне всегда были какие-то компьютерные ученые, которые говорили: «Да, но идея того, что все случайно и обучение происходит за счет градиентного спуска, не сработает с миллиардом параметров, придется подключить много знаний». Теперь мы знаем, что это не так. Можно просто ввести случайные параметры и все выучить.
Давайте немного углубимся. Раз мы узнаем все больше и больше, мы предположительно продолжим узнавать больше и больше о том, как работает мозг человека, поскольку будем проводить массивные испытания моделей, основанных на наших представлениях о функциях мозга. Как только мы лучше все это поймем, будет ли момент, когда мы по сути перестроим свои мозги, чтобы стать намного более эффективными машинами?
Если действительно поймем, что происходит, мы сможем улучшить некоторые вещи вроде образования. И я думаю, что мы улучшим. Было бы очень странно понять, наконец, что происходит в твоем мозге, как он учится, и не адаптироваться так, чтобы учиться лучше.
Как вы думаете, как через пару лет мы используем то, что узнали о мозге и о работе глубокого обучения, для изменения образования? Как бы вы изменили классы?
Я не уверен, что через пару лет многому научимся. Я думаю, что изменение образования займет больше времени. Но если говорить об этом, [цифровые] помощники становятся довольно умными. И когда помощники смогут понимать разговоры, они смогут разговаривать с детьми и обучать их.
И теоретически, если мы лучше поймем мозг, мы сможем программировать помощников так, чтобы они лучше беседовали с детьми, отталкиваясь от того, что те уже выучили.
Да, но я об этом не сильно задумывался. Я занимаюсь другим. Но все это кажется вполне похожим на правду.
Сможем ли мы понять, как работают сны?
Да, я очень интересуюсь снами. Так интересуюсь, что у меня есть по крайней мере четыре разных теории снов.
Расскажите о них — о первой, второй, третьей, четвертой.
Давным-давно были такие штуки под названием сети Хопфилда, и они изучали воспоминания как локальные аттракторы. Хопфилд обнаружил, что если вы попытаетесь поместить слишком много воспоминаний, они перепутаются. Они возьмут два локальных аттрактора и объединят их в один аттрактор где-то на полпути между ними.
Затем пришли Фрэнсис Крик и Грэм Митчисон и сказали, что мы можем избавиться от этих ложных минимумов с помощью разучения (то есть, забывания того, что выучил). Мы отключаем ввод данных, переводим нейронную сеть в случайное состояние, позволяем ей успокоиться, говорим, что это плохо, измени соединения так, чтобы не попадать в это состояние, и таким образом можно заставить сеть хранить больше воспоминаний.
Потом пришли мы с Терри Сейновски и сказали: «Послушайте, если у нас есть не только нейроны, в которых хранятся воспоминания, но и куча других нейронов, можем ли мы найти алгоритм, который будет использовать все эти другие нейроны в помощь восстановлению воспоминаний?». В итоге мы создали больцмановский алгоритм машинного обучения. И больцмановский алгоритм машинного обучения обладал крайне интересным свойством: я показываю данные, и он как бы перебирает остальные юниты, пока не попадет в весьма счастливое состояние, и после этого он увеличивает силу всех соединений, основываясь на том, что два юнита активны одновременно.
Также у вас должна быть фаза, в которой вы отключаете ввод, позволяете алгоритму «пошуршать» и переводите его в состояние, в котором он доволен, так что он фантазирует, и как только у него рождается фантазия, вы говорите: «Возьми все пары нейронов, которые активны, и уменьши силу соединений».
Я объясняю вам алгоритм как процедуру. Но в действительности этот алгоритм является продуктом математики и вопроса: «Как нужно изменить эти цепочки соединений, чтобы этой нейронной сети со всеми этими скрытыми единицами данные показались неудивительными?». И еще должна быть другая фаза, которую мы называем негативной фазой, когда сеть работает без ввода данных и разучивается, в какое бы состояние вы ее не поместили.
Мы видим сны по много часов каждую ночь. И если внезапно проснуться, можно сказать, что снилось только что, потому что сон хранится в кратковременной памяти. Мы знаем, что видим сны много часов, но утром, после пробуждения, можем вспомнить лишь последний сон, а других не помним, что весьма удачно, потому что можно было бы ошибочно принять их за реальность. Так почему мы вообще не помним своих снов? По мнению Крика, в этом и есть смысл снов: разучиваться этим вещам. Вы как бы учитесь наоборот.
Терри Сейновски и я показали, что на самом деле это процедура обучения с максимальной вероятностью для машин Больцмана. Это первая теория о сновидениях.
Я хочу перейти к другим вашим теориям. Но задам вопрос: получалось ли у вас обучить какой-нибудь из ваших алгоритмов глубокого обучения на самом деле видеть сны?
Некоторыми из первых алгоритмов, которые могли обучаться работе со скрытыми юнитами, были машины Больцмана. Они были крайне неэффективны. Но позже я нашел способ работы с приближениями, который оказался эффективным. И это на самом деле послужило толчком для возобновления работы с глубоким обучением. Это были вещи, которые обучали один слой детекторов функций за раз. И это была эффективная форма ограничительной машины Больцмана. И поэтому она занималась такого рода обратным обучением. Но вместо того, чтобы погружаться в сон, она могла просто немного фантазировать после каждой отметки с данными.
Хорошо, значит андроидам на самом деле снятся электроовцы. Давайте перейдем к теориям два, три и четыре.
Теория два была названа Wake Sleep Algorithm [алгоритм «пробуждение-сон»]. Вам нужно обучить генеративную модель. И у вас есть идея создать модель, которая может генерировать данные, имеет слои детекторов признаков и активирует высшие и низшие слои, и так далее, вплоть до активации пикселей — создания изображения, по сути. Но вы хотели бы обучить ее другому. Вы хотели бы, чтобы она распознавала данные.
И поэтому вы должны сделать алгоритм с двумя фазами. В фазе пробуждения данные поступают, он пытается их распознать, и вместо изучения связей, которые он использует для распознавания, он изучает генеративные связи. Данные поступают, я активирую скрытые юниты. И затем я пытаюсь научить эти скрытые юниты восстановлению этих данных. Он учится реконструировать в каждом слое. Но вопрос в том, как изучить прямые соединения? Поэтому идея такова, что если бы знать прямые соединения, можно было бы научиться обратным соединениям, потому что можно было бы научиться реконструировать.
Теперь также выясняется, что если использовать обратные соединения, можно научиться и прямым соединениям, потому что можно просто начать сверху и сгенерировать чуток данных. И поскольку ты генерируешь данные, ты знаешь состояния всех скрытых слоев и можешь изучать прямые соединения для восстановления этих состояний. И вот что происходит: если начать со случайных соединений и попытаться попеременно использовать обе фазы, все получится. Чтобы работало хорошо, придется попробовать разные варианты, но работать будет.
Хорошо, а что с двумя другими теориями? У нас осталось всего восемь минут, я думаю, не успею спросить обо всем.
Дайте мне еще час, и я расскажу про две другие.
Давайте поговорим о том, что будет дальше. Куда направляются ваши исследования? Какие проблемы вы пытаетесь решить сейчас?
В конечном итоге придется работать над чем-то, над чем работа еще не закончена. Я думаю, я вполне могу работать над кое-чем, что никогда не закончу, — называется «капсулы», теория о том, как осуществляется визуальное восприятие с применением реконструкции и как информация направляется в нужные места. Два основных мотивирующих фактора заключались в том, что в стандартных нейронных сетях информация, активность в слое просто автоматически куда-то отправляется, а вы не принимаете решения о том, куда ее отправлять. Идея капсул заключалась в том, чтобы принимать решения о том, куда отправлять информацию.
Теперь же, когда я начал работать над капсулами, очень умные люди из Google изобрели трансформеры, которые делают то же самое. Они решают, куда направить информацию, и это большая победа.
В следующем году мы вернемся, чтобы поговорить о теориях сновидений номер три и номер четыре.
Пропишитесь в нашем чате в Телеграме, чтобы не пропустить.