Как Google изменил Android при помощи вашего мозга

http://www.wired.com/wiredenterprise/2013/02/android-neural-network/
  • Перевод
В последней версии мобильной операционной системы 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 синхронно переводил его речь на китайский. Программа даже подбирала интонации, что бы звучать как Рашид.

«Нам еще предстоит проделать много работы», — говорил он. «Но технология очень перспективная, и мы надеемся, что в течение ближайших нескольких лет мы сможем сломать языковой барьер между людьми. Лично я думаю, что это сделает наш мир лучше».
Apps4All 56,89
Компания
Поделиться публикацией
Ой, у вас баннер убежал!

Ну. И что?
Реклама
Комментарии 40
    –30
    Надеюсь и вправду улучшиться. Потому что сейчас даже для английского языка, проговоренного роботом, на youtube субтитры получаются с невероятным количеством ошибок. (Я так понимаю, технология одна и та же).
      +70
      Улучшайтесь, я верю в вас ;-)
        –1
        Я думаю нет, потому что на телефоне андроид даже мой инглишь разбирает идеально, к тому же он отправляет семплы ваших голосов, семплы тишины. С видео такие трюки не возможны
        0
        А после выдачи результата с неточным набором слов обратно отсылаются сведения о том, что выбрал пользователь для корректировки шаблонов? Всегда было интересно, сколько человеко-часов понадобятся, чтобы превратить распознавание слова «яблоко» в «тыкву». Хотя судя по всему на это уйдет вечность, даже если выбрать непопулярное слово, заменяемое на другое непопулярное слово с одинаковым количеством гласных и согласных.
        • НЛО прилетело и опубликовало эту надпись здесь
          –3
          Круто, как бы теперь изменить мозг, чтобы устроиться в Google.
              +3
              Моя фраза просто игра слов, а не призыв к чему-либо.
                +8
                Ок, извините! Почему-то прочёл как: «А как получить гору золота не подняв задницу с дивана?»
                  0
                  для кого-то работа в гугл — золото.
                    0
                    Кстати, хороший вопрос
                      0
                      Странно, что у вас Google ассоциируется в первую очередь с горой золота, а не с интересными проектами.
                        +8
                        Нужно больше золота!
                          0
                          Гугл у меня с горой золота не ассоциируется, у меня фраза в общем так сассоциировалась (во блин словечко придумал).
                  +2
                  Круто… Когда-нибудь, может быть уже скоро, в смартфонах появится фунцкия полноценного перевода речи на лету с одного языка на другой с использованием семантического анализа сказанного…
                  Кстати наконец-то всем этим гигагерцам современных смартфонов будет найдено применение достойнее, чем отрисовка интерфейсов:)
                    +1
                    Распознавать и переводить пока будут на серверах. Так что — гигагерцы, гигагерцами, а канал связи — это наше все.
                      0
                      Ну переводить — понятно что на серверах, а сжимать голос для передачи и озвучивать перевод — вполе можно на самих смартфонах.
                        +2
                        Отчего же? Андроид уже распознаёт речь оффлайн.
                      0
                      Читаю первый абзац и думаю, а до последней версии они полным перебором семплов что ли распознавали?
                        +1
                        Да, кстати не совсем понятно. Ведь оно изначально работало через «облако», отправлялся сэмпл — приходили варианты. Причем тут упоминание последней версии «ОС» ведь в случае облака — это может работать по новому и на старой версии, той же 2.3 например
                        • НЛО прилетело и опубликовало эту надпись здесь
                            0
                            Тогда это значит, что они нейронную сеть в телефон перенесли частично или полностью. Но то что для этого и раньше использовалась НС я уверен процентов на 80%
                              0
                              Странно, а у меня русский оффлайн понимает на 5 с минусом, на порядок лучше того же Iphone. Может от акцента зависит?
                              • НЛО прилетело и опубликовало эту надпись здесь
                          +14
                          abstrusegoose.com/496



                          P.S. Как картинки в коменте класть «под кат»?
                            0
                            Как что угодно. spoiler.
                            +1
                            Говорю: What time is it?
                            Получаю: What time is eat?
                            Да, возможно там используется «нейронная сеть», лучшие в мире алгоритмы и самый лучший движок распознавания. И тем не менее, получаю такой вот результат.
                            Dolphin также имеет распознавание голосом. И у него распознавание получается, на мой взгляд, лучше. По крайней мере, спрашивая про погоду, я получаю погоду, а не черт знает что.

                            Конечно, у меня не лучшее произношение. Но учитывая, что в рекламных проспектах времен выхода Желейки гордо заявлялось о том, что система будет адаптироваться под хозяина, запоминать запросы и т.д., а на выходе — ничего подобного, а очень жаль.
                              0
                              «Конечно, у меня не лучшее произношение»
                              Ну дык, телефон слышит eat и получаете eat.
                                +1
                                eat — [i:t]
                                it — [ɪt]
                                разница, конечно, есть, но несущественная.
                                К тому же, если начать писать предложение в word'е или поисковой строке будет предложено адекватное следующее слово, а вот подставить нужное слово в типовом предложении, которое ОДИН пользователь произносит ежедневно несколько раз на СВОЕМ устройстве — это никак, хотя и заявлялось.

                                www.youtube.com/watch?v=eYpLyrPKU78 — к примеру.
                                  0
                                  Это большая разница все же.
                                  Распознавание должно распознавать, а не подстраивать свои варианты, вдруг владелец на самом деле спрашивает what time is eat?
                                  Хотя все же согласен с вами, я просто говорю, что проблема все же в произношение наверное.
                                    +1
                                    А вы не задумывались, когда в шумной обстановке к вам обращаются, вы слышите каждую букву, каждое слово? Конечно же нет. Если бы вы распознавали также как предлагаете чтобы машина делала, людям бы приходилось разговаривать только в тихих, специально отведеных местах.
                                    Наш процесс распознавания речи собеседника происходит путем подбора текста согласно услышаным звукам от собеседника, контекста разговора (включая предыдущие разобранные слова), обстановки и пр. обстоятельств.
                                    Я считаю что идеальный распознаватель голоса должен бытьименно такой как это делает человек.
                                      0
                                      Да, я же не спорю про систему, я говорю про адекватность распознавания слов с акцентом.

                                      Кстати, так и не получилось what time is eat получить, все время it.
                                        0
                                        Да, проверил, действительно, уже корректно определяет, поправили скорее всего большое им спасибо за это — у меня этот вопрос востребован в контексте разных городов, в которые часто приходится звонить.
                                        Погода. Если говорить предложением (what is [the] weather today?), шансы на успех выше, если просто сказать weather — шансов на успех почти нет у Google.
                                        В то время как Dolphin по слову weather сразу грузит weather.com.
                                        И таких примеров уйма. Из цифр это 13, 8 (и-лэ-вэн, распознает нормально ^ ^).
                                        Из дней недели — Tuesday, Thursday.
                                        Примеров много.
                                      0
                                      У меня есть подозрение, что гугловская распознавалка использует триграммы для перевода фонетического представления распознаваемой речи в окончательный текст. Тогда подобное поведение легко объяснимо. Т.е. сначала распознается кусок What time is, а затем — time is eat вместо time is it (видимо из-за особенностей произношения). Как видите, во всех случаях мы имеем корректные фразы (или их фрагменты) на английском. А потом все объединяется и получается то, что получилось. Система распознавания даже не «понимает» полностью какую именно фразу вы произнесли. Ну и контекст она не учитывает. Были бы у гугла квадрограммы, то указанная фраза из четырех слов возможно распозналась бы правильно. Но это гораздо сложнее с вычислительной точки зрения.
                                      +1
                                      Настоящий тест вот тут

                                      www.youtube.com/watch?v=dABo_DCIdpM
                                  0
                                  Откуда информация? Не могли бы дать ссылки на статьи? На каком именно этапе работает нейронная сеть? Для представления языковой модели, или для unsupervised извлечения фич, как с котиками? Было бы интересно, если последний вариант.
                                    0
                                    Когда вы говорите с системой распознавания голоса в Android, спектрограмма вашей речи урезается и отсылается к 8 разным компьютерам

                                    Довольно странная формулировка, спектрограмма — это изображение, таким образом создается впечатление что гугл отсылает звук картинкой.
                                    На практике же, Android кодирует звук (вроде используется кодек Speex или Flack, точно не знаю) и отправляет его на сервера для распознавания… Эффект «урезания» же происходит автоматом на этапе кодирования, как например mp3 «отрезает» некоторые менее значимые частоты, это и дает эффект компрессии.
                                      0
                                      Возможно, всё-таки, они отправляют коэффициенты спектрограммы, а не саму картинку. Если придумали какой-нибудь достойный алгоритм сжатия для таких коэффициентов :) А возможно и правда по картинке анализируют :)
                                      +1
                                      Когда уже будет доступен синхронный перевод с интонацией? Либо полностью синхронный, либо говорит иностранец, делает паузу — мы слышим перевод, и так далее.
                                      И второе — похоже Google использует GPU, вот это интересная новость.
                                        0
                                        А использует ли Гугл вейвлеты при анализе речи, есть ли об этом информация?

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

                                        Самое читаемое