В последней версии мобильной операционной системы Android веб-гигант Google сделал большие изменения в том, как ОС интерпретирует твои голосовые команды. Компания сделала систему распознавания голоса, основанную на том, что мы называем нейронной сетью – компьютеризированной обучающей системой, которая ведет себя подобно человеческому мозгу.
Для многих пользователей, говорит Винсент Ванхуск, ученый-исследователь Google, который направлял усилия по разработке сети, результаты были впечатляющими. «Отчасти стало неожиданностью, насколько мы могли улучшить распознавание, просто изменив модель», — говорит он.
Ванхуск отмечает, что число ошибок распознавания в новой версии Android – известной как Jelly Bean – примерно на 25% меньше, чем в предыдущих версиях программы, и что это делает систему голосовых команд более удобной для людей. Сегодня, пишет он, пользователи предпочитают использовать более естественный язык, когда говорят со своим телефоном. Другими словами, они меньше говорят так, будто общаются с роботом. «Это действительно меняет людское поведение».
И это только один пример того, как алгоритмы, основанные на нейронных сетях, изменяют работу наших технологий – и то, как мы их используем. Это поле исследования было мало кому интересно в течение долгих лет, после того как прошли 1980-ые с их страстью к нейронным сетям, но сейчас они возвращаются – Microsoft, IBM и Google работают над применением их к совершенно реальным технологиям.
Когда вы говорите с системой распознавания голоса в Android, спектрограмма вашей речи урезается и отсылается к 8 разным компьютерам, которые принадлежат огромной армии серверов Google. Затем они обрабатывают речь, используя нейросетевые модели, разработанные Ванхуском и его командой. Google известен своим умением справляться с большими вычислительными задачами и скоростью их выполнения – в данном случае Google обратился к Джеффу Дину и его команде инженеров, группе, которая известна тем, что собственно она и изобрела современные дата-центры.
Нейронные сети дали исследователям, таким как Ванхуск, способ анализировать много-много шаблонов – в случае с Jelly Bean, спектрограмму произносимых слов – и затем предсказывать, какой новый шаблон они могут представлять. Метафора пришла из биологии, где нейроны в теле формируют сети, которые позволяют им обрабатывать сигналы особым образом. В случае нейронной сети, которую использует Jelly Bean, Google смог построить несколько моделей того, как работает язык – например, одну для английского языка и его поисковых запросов – на основе анализ огромного реальных данных.
«Люди верили в течении долгого, долгого времени – частично основываясь на том, что вы видели в мозге – что для того, чтобы получить хорошую систему восприятия надо использовать несколько уровней функционирования», — говорит Джеффри Хинтно, профессор компьютерных наук в Университете Торонто. «Но вопрос в том, как вы можете их эффективно обучить».
Android берет картинку голосовых команд, а Google обрабатывает ее, используя модель нейронной сети для определения того, что говорится.
Сначала софт Google пытается разобрать речь на отдельные части – на разные гласные и согласные звуки, которые составляют слова. Это один уровень нейронной сети. Затем он использует эту информацию для построения более сложного предположения, объединяя буквы в слова, слова в предложения. Каждый уровень этой модели приближает систему к выяснению того, что же сказано на самом деле.
Нейросетевые алгоритмы можно использовать и для анализа изображений. «То, что вы хотите сделать – найти маленькие кусочки структурированных пикселей, например углы на картинке», — говорит Хинтон. «Вы можете иметь уровень детекторов-функций, на котором определяются такие вещи, как маленькие углы. Следующий уровень обнаруживает небольшие комбинации углов для поиска объектов. Проделав это вы, переходите к следующему уровню и так далее».
Нейронные сети обещали сделать это еще в 80-ых, но тогда реализовать такой многоуровневый подход к анализу было сложно.
В 2006 произошло два больших изменения. Во-первых, Хинтон и его команда разработали лучший способ размечать глубокие нейронные сети – сети, которые состоят из многих различных уровней связей. Во-вторых, недорогие графические процессоры вышли на рынок, дав ученым значительно более дешевый и быстрый способ проделывать большие вычисления. «Это огромная разница, когда вы можете делать вещи в 30 раз быстрее», — говорит Хинтон.
Сегодня, сетевые нейронные алгоритмы начинают захватывать распознавание голоса и изображений, но Хинтон видит их будущее везде, где необходимо предсказание. В ноябре в Университете Торонто исследователи использовали нейронные сети для определения того, как молекула лекарства будет вести себя в реальном мире.
Джефф Дин говорит, что Google сейчас использует нейронные алгоритмы в различных продуктах – некоторые экспериментальные, некоторые нет – но ни один не зашел дальше, чем распознавание голоса в Jelly Bean. Google Street View, например, может использовать нейронные сети для определения типов объектов на фотографиях – отличая дом, например, от номерного знака.
И если вы думаете, что это все не имеет особого значения для обычных людей, отметьте вот что. В прошлом году исследователи Google, включая Дина, построили нейронную сеть, которая умеет сама определять кошек в роликах YouTube.
Microsoft и IBM также изучают нейронные сети. В октябре главный исследователь Microsoft Рик Рашид вживую продемонстрировал в Китае систему распознавания голоса, основанную на нейронной сети. В своей демонстрации Рашид говорил на английском и делал паузу после каждой фразы. Для аудитории софт Microsoft синхронно переводил его речь на китайский. Программа даже подбирала интонации, что бы звучать как Рашид.
«Нам еще предстоит проделать много работы», — говорил он. «Но технология очень перспективная, и мы надеемся, что в течение ближайших нескольких лет мы сможем сломать языковой барьер между людьми. Лично я думаю, что это сделает наш мир лучше».
Для многих пользователей, говорит Винсент Ванхуск, ученый-исследователь Google, который направлял усилия по разработке сети, результаты были впечатляющими. «Отчасти стало неожиданностью, насколько мы могли улучшить распознавание, просто изменив модель», — говорит он.
Ванхуск отмечает, что число ошибок распознавания в новой версии Android – известной как Jelly Bean – примерно на 25% меньше, чем в предыдущих версиях программы, и что это делает систему голосовых команд более удобной для людей. Сегодня, пишет он, пользователи предпочитают использовать более естественный язык, когда говорят со своим телефоном. Другими словами, они меньше говорят так, будто общаются с роботом. «Это действительно меняет людское поведение».
И это только один пример того, как алгоритмы, основанные на нейронных сетях, изменяют работу наших технологий – и то, как мы их используем. Это поле исследования было мало кому интересно в течение долгих лет, после того как прошли 1980-ые с их страстью к нейронным сетям, но сейчас они возвращаются – Microsoft, IBM и Google работают над применением их к совершенно реальным технологиям.
Когда вы говорите с системой распознавания голоса в Android, спектрограмма вашей речи урезается и отсылается к 8 разным компьютерам, которые принадлежат огромной армии серверов Google. Затем они обрабатывают речь, используя нейросетевые модели, разработанные Ванхуском и его командой. Google известен своим умением справляться с большими вычислительными задачами и скоростью их выполнения – в данном случае Google обратился к Джеффу Дину и его команде инженеров, группе, которая известна тем, что собственно она и изобрела современные дата-центры.
Нейронные сети дали исследователям, таким как Ванхуск, способ анализировать много-много шаблонов – в случае с Jelly Bean, спектрограмму произносимых слов – и затем предсказывать, какой новый шаблон они могут представлять. Метафора пришла из биологии, где нейроны в теле формируют сети, которые позволяют им обрабатывать сигналы особым образом. В случае нейронной сети, которую использует Jelly Bean, Google смог построить несколько моделей того, как работает язык – например, одну для английского языка и его поисковых запросов – на основе анализ огромного реальных данных.
«Люди верили в течении долгого, долгого времени – частично основываясь на том, что вы видели в мозге – что для того, чтобы получить хорошую систему восприятия надо использовать несколько уровней функционирования», — говорит Джеффри Хинтно, профессор компьютерных наук в Университете Торонто. «Но вопрос в том, как вы можете их эффективно обучить».
Android берет картинку голосовых команд, а Google обрабатывает ее, используя модель нейронной сети для определения того, что говорится.
Сначала софт Google пытается разобрать речь на отдельные части – на разные гласные и согласные звуки, которые составляют слова. Это один уровень нейронной сети. Затем он использует эту информацию для построения более сложного предположения, объединяя буквы в слова, слова в предложения. Каждый уровень этой модели приближает систему к выяснению того, что же сказано на самом деле.
Нейросетевые алгоритмы можно использовать и для анализа изображений. «То, что вы хотите сделать – найти маленькие кусочки структурированных пикселей, например углы на картинке», — говорит Хинтон. «Вы можете иметь уровень детекторов-функций, на котором определяются такие вещи, как маленькие углы. Следующий уровень обнаруживает небольшие комбинации углов для поиска объектов. Проделав это вы, переходите к следующему уровню и так далее».
Нейронные сети обещали сделать это еще в 80-ых, но тогда реализовать такой многоуровневый подход к анализу было сложно.
В 2006 произошло два больших изменения. Во-первых, Хинтон и его команда разработали лучший способ размечать глубокие нейронные сети – сети, которые состоят из многих различных уровней связей. Во-вторых, недорогие графические процессоры вышли на рынок, дав ученым значительно более дешевый и быстрый способ проделывать большие вычисления. «Это огромная разница, когда вы можете делать вещи в 30 раз быстрее», — говорит Хинтон.
Сегодня, сетевые нейронные алгоритмы начинают захватывать распознавание голоса и изображений, но Хинтон видит их будущее везде, где необходимо предсказание. В ноябре в Университете Торонто исследователи использовали нейронные сети для определения того, как молекула лекарства будет вести себя в реальном мире.
Джефф Дин говорит, что Google сейчас использует нейронные алгоритмы в различных продуктах – некоторые экспериментальные, некоторые нет – но ни один не зашел дальше, чем распознавание голоса в Jelly Bean. Google Street View, например, может использовать нейронные сети для определения типов объектов на фотографиях – отличая дом, например, от номерного знака.
И если вы думаете, что это все не имеет особого значения для обычных людей, отметьте вот что. В прошлом году исследователи Google, включая Дина, построили нейронную сеть, которая умеет сама определять кошек в роликах YouTube.
Microsoft и IBM также изучают нейронные сети. В октябре главный исследователь Microsoft Рик Рашид вживую продемонстрировал в Китае систему распознавания голоса, основанную на нейронной сети. В своей демонстрации Рашид говорил на английском и делал паузу после каждой фразы. Для аудитории софт Microsoft синхронно переводил его речь на китайский. Программа даже подбирала интонации, что бы звучать как Рашид.
«Нам еще предстоит проделать много работы», — говорил он. «Но технология очень перспективная, и мы надеемся, что в течение ближайших нескольких лет мы сможем сломать языковой барьер между людьми. Лично я думаю, что это сделает наш мир лучше».