🧙Конкурс сказок!
Интересности
(OFF) OSOVIY (G) 22 мая 2019

Мечтают ли нейроны об электроовцах? Интервью с создателем об эволюции и будущем



Джеффри Хинтон — один из создателей концепции глубокого обучения, призер премии Тьюринга 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 год.

То есть, в этих трех областях вы преуспели: моделирование химических веществ, речь, голос. Где потерпели неудачу?

Вы понимаете, что неудачи носят временный характер?

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

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

Комментарии (0)

Показать комментарий
Скрыть комментарий
Для добавления комментариев необходимо авторизоваться
Интересности
Флибустьеры
Грабь корабли! Побеждай монстров! Создавай уникаль...
Тема: Светлая | Тёмная
Версия: Mobile | Lite | Touch | Доступно в Google Play