19 января 2018 года в Пекине прошла Geek Park Innovation Conference IF 2018. Чен Чжифэн, главный инженер Google Brain, поделился: «Поиск ответа начинается с определения проблемы — для чего можно использовать TensorFlow? " речь.
Эволюция глубокого обучения
Глубокое обучение было очень популярно в последние несколько лет, и на графике выше мы видим, что поисковые запросы Google по запросу «глубокое обучение» выросли примерно в 100 раз за последние 7-8 лет. С этой точки зрения это также отражает быстрое увеличение внимания отрасли к этой технологии. Все хотят знать, что такое глубокое обучение? Что это может сделать для нас? Как мы можем применить это?
На самом деле глубокое обучение — это не какая-то внезапная техническая область, его основным алгоритмом является нейронная сеть, которая представляет собой модель машинного обучения. Главной особенностью этой модели является то, что она может аппроксимировать сколь угодно сложные функции, и она особенно подходит для итеративного обучения и обучения с использованием больших данных.
С популяризацией больших данных, развитием вычислительной мощности компьютерного оборудования и прорывом самого алгоритма люди внезапно обнаружили, что эта технология глубокого обучения с моделью нейронной сети в качестве ядра может значительно повысить производительность выполнения предопределенных задач во многих поля приложения. Самая классическая область применения — распознавание изображений, сейчас мобильное приложение может легко сказать нам, кто на фото, какие на нем животные и так далее.
Google уже несколько лет работает над применением глубокого обучения ко многим своим продуктам. В процессе мы итеративно разработали несколько поколений программных систем, поддерживающих глубокое обучение, что в конечном итоге привело нас к TensorFlow с открытым исходным кодом в октябре 2015 года, в надежде на дальнейшее продвижение приложений и исследований глубокого обучения.
Что такое ТензорФлоу?
TensorFlow теперь превратился в довольно полную открытую платформу для глубокого обучения.Например, он поддерживает вычислительную платформу центра обработки данных, построенную на сочетании ЦП и ГП, а также поддерживает относительно удобное развертывание моделей, обученных в центре обработки данных, в различных средах. мобильные платформы. Он может поддерживать не только специально настроенный процессор TPU, такой как собственные исследования и разработки Google, но и Raspberry Pi, ориентированный на обучение. Мы считаем, что такая многоплатформенная поддержка может помочь большинству пользователей и сценариев приложений. Мы также очень благодарны многим коллегам за поддержку, например, в США Intel и NVIDIA помогают нам оптимизировать TensorFlow. производительность на своем оборудовании.
Поддержка нескольких аппаратных платформ является основой.Одна из целей TensorFlow всегда заключалась в том, чтобы помочь как можно большему количеству разработчиков использовать технологию глубокого обучения и, в конечном итоге, принести пользу большему количеству пользователей. Основываясь на этой идее, TensorFlow всегда придавал большое значение поддержке сред разработки на нескольких языках программирования. Например, разработчики могут использовать TensorFlow в Python, C++, Java, Go, C# и многих других средах разработки.
Что может TensorFlow?
Применение и продвижение TensorFlow в Google очень комплексно и достаточно эффективно. Например, TensorFlow уже давно помогает внедрять модели глубокого обучения в основные бизнес-приложения, такие как поиск и реклама; фильтрация спама также использовала модели, обученные TensorFlow; рекомендации магазина приложений Android также запускали модели TensorFlow и так далее.
Многие приложения TensorFlow работают в фоновом режиме, и у многих пользователей может не быть прямого опыта.Здесь я приведу несколько мобильных примеров, чтобы проиллюстрировать, что глубокое обучение на самом деле напрямую повлияло на обычных пользователей.
селфи размытие
Например, в камерах телефонов Android недавно появилась функция селфи, которая может очень точно разделить передний план и фон, применяя модель глубины зрения, которую затем можно обрабатывать отдельно. Традиционный метод заключается в установке двух камер на мобильный телефон, Условно говоря, использование алгоритмов глубокого обучения позволяет не только снизить стоимость мобильных телефонов, но и добавить функции в существующие мобильные телефоны.
обработка речи
Как и обработка изображений, обработка речи — это еще одна область, которая была глубоко преобразована глубоким обучением. На самом деле распознавание речи использовало нейронные сети гораздо раньше, чем обработка изображений. Что касается продуктов, умные колонки и голосовые помощники очень популярны, и одна из главных причин заключается в том, что алгоритмы глубокого обучения значительно снизили технический порог распознавания и генерации речи. Среды машинного обучения общего назначения с открытым исходным кодом, такие как TensorFlow, позволяют все большему количеству разработчиков разрабатывать речевые приложения, подходящие для их сценариев приложений.
Другой пример — машинный перевод. Теперь вы можете делать фотографии с помощью телефона, а программное обеспечение телефона может автоматически распознавать текст на графике и переводить текст на другой язык. Это, казалось бы, простое приложение на самом деле является естественным сочетанием технологии обработки изображений и технологии машинного перевода.
Google Translate существует уже более десяти лет, более года назад мы обновили его серверную систему до системы на основе нейронной сети. Мы видим, что это обновление значительно снизило количество ошибок перевода, и некоторые переводы между языками теперь почти так же хороши, как ручные переводы.
Другие приложения
Используя методы глубокого обучения, мы можем не только значительно улучшить производительность существующих функций продукта, но и разработать новые функции, которых не было в прошлом. Например, функция автоматического ответа по электронной почте, программное обеспечение электронной почты на Android теперь может анализировать электронные письма, которые получает пользователь, а затем давать пользователю три возможных ответа на выбор. Например, когда вы получаете приглашение поесть, ваши возможные ответы: «Я иду», «Я недоступен», «Приходи, приходи позже», что значительно облегчает пользователям эффективность обработки электронных писем на их мобильных устройствах. телефоны.
TensorFlow в других областях
Во многих предыдущих примерах приложений TensorFlow мы видели, что общая структура глубокого обучения может помочь существующим интернет-приложениям повысить уровень их интеллекта, но мы также видели, что среда глубокого обучения TensorFlow также используется во многих других областях. Например, работа над AlphaGo, над которой наши коллеги в Лондоне работали последние два года, выиграла от фреймворка TensorFlow. Благодаря поддержке TensorFlow в использовании очень больших компьютерных кластеров и новейших ускорителей команда AlphaGo может больше сосредоточиться на разработке алгоритмов.
У нас есть команда, работающая над интеллектуальным медицинским обслуживанием.Поскольку TensorFlow является общей структурой, они могут легко повторно использовать существующие модели распознавания изображений, а затем настраивать и обучать модели для конкретных областей применения и конкретных данных, и они могут обнаруживать ретинопатию. Точность 95%, что превышает точность диагностики офтальмологов в 91%.
Что касается автономного вождения, наши коллеги из Waymo также используют TensorFlow для постоянного улучшения различных глубоких моделей в своих системах автономного вождения, включая сегментацию дорожных условий, обработку сигналов радара и многое другое.
Мы особенно рады тому, что, сделав TensorFlow открытым исходным кодом, мы значительно снизили порог использования технологии глубокого обучения. За последние два года мы увидели, что многие отрасли, не имеющие ничего общего с интернет-индустрией, также начали экспериментировать с техниками и методами глубокого обучения. Например, есть компания по производству детских товаров, которая официально решила внедрить систему искусственного интеллекта TensorFlow для улучшения системы контроля качества детского питания, которая может выполнять «обнаружение аномалий» в ингредиентах продукта компании. Они предоставляют большой объем данных в качестве обучающих данных, и система способна научиться определять приемлемые компоненты и отбраковывать любые несоответствующие дефектные компоненты.
Мы также рады видеть, что TensorFlow используется в научных исследованиях за пределами информатики. Например, ученые из программы NASA Kepler и наши коллеги совместно разработали модель TensorFlow. Цель самой программы «Кеплер» состоит в том, чтобы постоянно наблюдать за изменениями яркости звезд в космосе с помощью космических телескопов, надеясь открыть планетные системы за пределами Солнечной системы и, в конечном счете, обнаружить еще одну обитаемую планету. В настоящее время программа накопила десятки миллиардов данных наблюдений. Несколько месяцев назад эта модель TensorFlow помогла ученым обнаружить восьмую планету звездной системы Kepler 90, находящуюся на расстоянии 2500 световых лет, звезду с наибольшим количеством известных человечеству планет за пределами нашей Солнечной системы.
Люди не только смотрят на звезды, но и оглядываются на нашу землю. В этом примере приложения австралийские ученые использовали модель распознавания изображений, разработанную TensorFlow, чтобы быстро и точно находить крупных морских млекопитающих, нуждающихся в защите, таких как ламантины, усатые киты и т. д., на десятках тысяч морских аэрофотоснимков.
Точно так же некоторые ученые используют TensorFlow для применения технологии обработки речи к защите птиц. Они установили в джунглях микрофоны, чтобы улавливать пение птиц. Модель может точно оценить количество птиц в джунглях, чтобы их можно было более точно защитить.
Еще одним интересным приложением является то, что у нас есть коллеги, которые пытаются использовать глубокое обучение для создания музыки. Интересно, что музыка, созданная этими машинами, была подтверждена и профессиональными музыкантами.
Сотрудничество с отечественными компаниями
Мы усердно работали над TensorFlow с тех пор, как он был открыт в 2015 году. Мы являемся самой популярной средой глубокого обучения с открытым исходным кодом на Github. В то же время мы также видим более 1000 разработчиков, участвующих в разработке TensorFlow, что является очень активным сообществом.
Недавно мы начали расширять нашу поддержку китайского рынка, например, мы создали китайский веб-сайт TensorFlow tensorflow.google.cn, и разработчики TensorFlow также добились быстрого роста.
Наша статистика показывает, что на данный момент пользователи в более чем 180 странах и регионах по всему миру загрузили комплект для разработки TensorFlow 10 миллионов раз, что показывает, что разработка приложений TensorFlow также очень распространена.
На приведенном выше рисунке показано, что в Китае есть большое количество разработчиков, которые обращают внимание на использование TensorFlow.На самом деле, мы также активно устанавливаем партнерские отношения со многими китайскими высокотехнологичными компаниями, чтобы активно поддерживать и помогать им лучше использовать TensorFlow.
Например, JD.com создала внутреннюю учебную платформу TensorFlow для разработки моделей, связанных с обучающими изображениями и естественным языком, и применения их в обслуживании клиентов, рекламе и других областях. Xiaomi также пытается использовать аналогичный технический путь для поддержки различных специальных приложений в своей экосистеме. Youdao Notes и NetEase Translator от NetEase также используют видение и языковые модели TensorFlow.
Большое спасибо нашим пользователям и партнерам за их отзывы о TensorFlow, который также усердно работает над новыми функциями. Например, чтобы упростить использование внешнего интерфейса TensorFlow, отладку и поддержку более динамичных режимов программирования, TensorFlow потратил много усилий на разработку режима Eager. Основная особенность режима Eager заключается в том, что поток клиентской программы более непосредственно отражает поток логики алгоритма программы. Мы считаем, что это будет особенно полезно для быстрого прототипирования и отладки.
Другой — TensorFlow Lite, библиотека программного обеспечения для машинного обучения, специально созданная для мобильных и встроенных вариантов использования. Его цель — сделать развертывание моделей машинного обучения на мобильных устройствах проще и эффективнее.
Наконец, мы также продолжаем разработку нового поколения аппаратных ускорителей глубокого обучения — TPU. В прошлом году мы анонсировали второе поколение процессоров TPU, которые могут достигать производительности 180 терафлопс и 64 гигабайта памяти. В настоящее время мы используем второе поколение ТПУ при разработке различных внутренних продуктов и постепенно открываем его для публики.