4-е издание конференции France is AI, состоявшейся 23 октября 2019 года в Париже, Station F собрало исследователей, предпринимателей, венчурных капиталистов и руководителей, чтобы отметить французскую экосистему искусственного интеллекта.
Многие проблемы, которые стоят перед нами, будь то в области технологий, бизнеса, социального воздействия и сетевых технологий, обсуждались в ходе бесед с известными исследователями, инженерами и крупными компаниями.

Было много программных выступлений и панелей от ведущих исследователей искусственного интеллекта в области машинного обучения, глубокого обучения и обучения с подкреплением, а также выступления руководителей лабораторий искусственного интеллекта в крупных корпорациях, включая MILA, ENS, Inria, Naver, Google,…
Ноэ Лутц , ведущий инженер Brain Applied Zuric, Google AI был одним из ведущих докладчиков, рассказывающих о преимуществах Tensorflow 2.0 в области искусственного интеллекта.
Так что, если вам интересно узнать, о чем он говорил… Возьмите кофе и наслаждайтесь моей статьей!

Итак ... Кто такой Ноэ Лутц?

В настоящее время Ноэ возглавляет несколько команд в группе Brain Applied в Цюрихе, где они стремятся повысить эффективность машинного обучения с помощью прикладных исследований, инфраструктуры, такой как TensorFlow Hub, стратегического взаимодействия с продуктами и консультирования в Google и образовании.
Для дополнительную информацию, пожалуйста, проверьте его профиль в Linkedin



Что такое Tensorflow?

Прежде чем говорить о Tensorflow 2.0, давайте кратко рассмотрим, что представляет собой библиотека TensorFlow и как она развивалась на протяжении многих лет.

Tensorflow - это быстрая, гибкая и масштабируемая библиотека машинного обучения с открытым исходным кодом для исследований и производства, разработанная командой Google Brain.
Благодаря своей гибкой архитектуре она может работать на нескольких процессорах, графических процессорах и TPU. с дополнительными расширениями CUDA и SYCL для вычислений общего назначения на графическом процессоре графического процессора. Эта библиотека доступна на 64-разрядных платформах Linux, macOs, Windows и мобильных вычислительных платформах, таких как Android и iOS.
Вычисления Tensorflow выражаются в виде графов потоков данных с отслеживанием состояния. Фактически, название Tensorflow происходит от операций, которые такие нейронные сети выполняют с многомерными массивами данных, которые называются тензорами .

Его первая версия 1.0.0 была выпущена 11 февраля 2017 года. В марте 2018 года Google анонсировала TensorFlow.js версию 1.0 для машинного обучения на JavaScript и TensorFlow Graphics для глубокого обучения компьютерной графике.
В январе 2019 года Google анонсировал TensorFlow 2.0 (о котором я расскажу позже).

TensorFlow предоставляет стабильные Python (для версии 3.7 для всех платформ) и C API. И без гарантии обратной совместимости API: C ++, Go, Java, JavaScript и Swift (ранний выпуск). Сторонние пакеты доступны для C #, Haskell, Julia, R, Scala, Rust, OCaml и Crystal.

Для получения дополнительной информации перейдите по этой ссылке.



Машинное обучение на периферии? Почему нет ?!

В мае 2017 года Google анонсировал программный стек TensorFlow Lite, специально предназначенный для разработки мобильных приложений. Это набор инструментов, которые помогут разработчикам запускать модели TensorFlow на мобильных, встроенных устройствах и устройствах Интернета вещей. Он обеспечивает логический вывод машинного обучения на устройстве с низкой задержкой и небольшим двоичным размером.
На самом деле он разработан, чтобы упростить выполнение машинного обучения на устройствах «на границе» сети вместо отправки данных обратно и далее с сервера. Для разработчиков выполнение машинного обучения на устройстве может помочь улучшить:

  • Задержка: нет возврата к серверу и обратно.
  • Конфиденциальность: данные не должны покидать устройство
  • Подключение: подключение к Интернету не требуется.
  • Энергопотребление: сетевые подключения требуют большого количества энергии.

TensorFlow Lite работает с огромным количеством устройств, от крошечных микроконтроллеров до мощных мобильных телефонов.
Для получения дополнительной информации перейдите по этой ссылке.



О чем был разговор Ноэ?

Может истории - это просто данные с душой

Все началось, когда Ной играл со своей дочерью в парке рядом с его домом.
Папа, папа, что это за птица там? - спросила дочь.
Ноэ пришлось со стыдом признать, что он ничего не знает о птицах, которые беспокоили его как папу. Итак, на следующий день, когда он вернулся к работе, он начал делать побочный проект и отправился на охоту за песнями набора данных о птицах.
Слава Богу, он нашел одну из 50 000 тысяч песен птиц с 4000 классами птиц / категории. Очень взволнованный, он пошел к своим друзьям из Google, которые занимаются распознаванием звука на нашем телефоне, и спросил их
Какие алгоритмы вы используете? Что за сеть?
Его друг показал ему пример простой нейронной сети, в которой вверху есть несколько преобразований Фурье и пара Глубокие свертки.
После того, как, наконец, получил набор данных и алгоритм, Ной объединил их вместе с Tensorflow, чтобы иметь возможность обучать модель машинного обучения, распознающую птиц. Его модель была точна на 70% всего за пару дней работы! Он был очень счастлив, построив его, что показалось ему волшебным не потому, что он не понимал, что происходит, а потому, что с его 20-летним инженерным делом он не смог бы самостоятельно запрограммировать этот детектор. Будучи взволнованным и гордым, он, наконец, показал его своей дочери, которая ей понравилась, но не произвела на нее особого впечатления.
Тем не менее, Ной счел это удачным осознанием, потому что сейчас, по мнению его дочери, если кто-то сталкивается с трудной проблемой, он может уйти, решить ее с помощью компьютеров и вернуться с решением через пару дней. .
Мне не терпится увидеть, что она и ее поколение будут делать с такими инструментами, как Tensorflow! - сказал он.

Что нового в Tensorflow 2.0?

Как все мы знаем, сейчас довольно интересное время для области машинного обучения.
Мы видим новые разработки каждый день, а достижения в области искусственного интеллекта уже изменили способ нашего взаимодействия с нашими компьютерами и телефонами. Буквально на прошлой неделе они анонсировали эти наушники, которые распознают и могут переводить речь между языками в режиме реального времени. Теперь у всех нас есть помощник в телефоне, который благодаря искусственному интеллекту может помогать нам каждый день!
Но не только это, есть много разных проблем во многих различных областях, которые теперь можно решить благодаря достижениям в области искусственного интеллекта, будь то в здравоохранении, транспорте, сельском хозяйстве и многих других областях.

Почему это происходит сейчас, а не 20 лет назад?
На самом деле есть 3 основные причины.

Во-первых, сегодня у нас гораздо больше данных, чем раньше. Что касается исследований, то есть эти отличные наборы данных исследований, которые помогают стимулировать алгоритмические улучшения, такие как ImageNet из Стэнфорда или база данных Open Images, совместно разработанная в Цюрихе, Швейцария, набор данных из 9 миллионов изображений с множеством тысяч объектов. с ограничивающими рамками и этикетками. И, конечно же, есть компании, которые собирают все больше и больше данных для решения задач машинного обучения.

Во-вторых, у нас гораздо больше вычислительной мощности, чем было раньше. В прошлом мы знаем, что моделирование машинного обучения требует больших вычислительных ресурсов, и машины 30-летней давности были хороши для того времени, но они достигли 32 Гигафлопс, что довольно мало по сравнению с тем, что мы можем делать сегодня.
В настоящее время , последнее поколение TPU модулей тензорной обработки, разработанное Google, более чем в 10 000 раз быстрее, чем те, что были у нас 30 лет назад, и это благодаря экспоненциальному совершенствованию аппаратных технологий!
Эти TPU можно разместить и подключить в гигантскую большую сеть, которая называется Pod. Такие модули развертываются в Google Cloud, который считается суперкомпьютером для машинного обучения.

Кроме того, были огромные успехи в алгоритмах машинного обучения, и это благодаря всем проведенным хорошим исследованиям.
Раньше было очень сложно обучаем даже простейшие модели машинного обучения, и сегодня с помощью Tensorflow и Keras мы можем обучать модели в течение часа.
Что касается моделирования, мы видели также экспоненциальные улучшения пару лет назад, RNN раньше было государством искусства языковых моделей в 2017 году пришли Трансформеры. Годом позже модель была побита BERT, а в этом году XLNet.

«Так что это действительно топливо для больших изменений в машинном обучении: данные, оборудование и лучшие алгоритмы машинного обучения». Ной Лутц

Как мы можем извлечь из этого пользу?

Здесь на помощь приходит Tensorflow. Добро пожаловать, Tensorflow!

Как мы уже говорили, Tensorflow - это комплексная платформа машинного обучения с открытым исходным кодом, которая позволяет разработчикам, исследователям и компаниям использовать машинное обучение для решения сложных задач.
Это помогает исследователям начать искусство того, что возможно с машинное обучение.
Это помогает специалистам по данным извлекать эти инновации из исследований и применять их в новых областях.
Это помогает разработчикам создавать умные инструменты и приложения, которые помогают таким людям, как классификатор птиц Ноя!
Это один из примеров, когда исследователи объединились с инженерами для масштабирования модели Tensorflow на этом суперкомпьютере под названием Summit, который сегодня является самым быстрым суперкомпьютером на Земле. Фактически они достигли пиковой пропускной способности более 1 пиксельфлоп, что составляет более 1 квинтиллионов вычислений в секунду.

Алгоритмы машинного обучения помогают трансформировать отрасль здравоохранения. Вот пример того, как компания GE Healthcare использует Tensorflow на своем аппарате МРТ. Модели ML будут работать на сканере в режиме реального времени, и они могут измерять ориентацию пациента внутри сканера, что помогает им лучше управлять сканером вокруг тела, тем самым уменьшая количество ошибок и повышая точность своих МРТ-сканирований. .

Очевидно, технологические компании также используют машинное обучение и Tensorflow.
Вот пример из твиттера, где они использовали Tensorflow для ранжирования ваших твитов. Если вы будете подписываться на множество и много людей, ваша хроника будет забита тысячами твитов. Поэтому они придумали алгоритм ранжирования, чтобы ранжировать самые популярные твиты и показывать вам наиболее актуальные в верхней части вашей временной шкалы.

А вот еще пример того, как Tensorflow используется в программах повышения осведомленности об Африке.

Растение маниока фактически ежедневно кормит более половины миллиардов людей. К сожалению, это растение является быстрым для болезней и насекомых, которые фактически атакуют эти растения. Следовательно, чтобы решить эту проблему, фермерам необходимо научиться многим навыкам, чтобы знать, как с этим бороться. Поскольку в некоторых местах этого не хватает, две организации Университет штата Пенсильвания в США и Международный институт тропического сельского хозяйства объединились, чтобы создать приложение, которое может обнаруживать 5 различных типов болезней на растении маниока, что в конечном итоге способствует безопасности пищевых продуктов. в этой области. Модель была развернута с использованием TensorflowLite, что означает, что она работала даже без какого-либо сетевого подключения, которое редко встречается на этом континенте.

«Tensorflow прошел долгий путь, нам сейчас 4 года, и только в течение последнего месяца мы выпустили новейшую версию Tensorflow!»
Ноэ Латс

Ной утверждал, что старую версию Tensorflow в некоторых случаях было очень сложно использовать. Отзывы действительно были услышаны от многих разработчиков, компаний и исследователей.

«Мы приложили много усилий, чтобы изменить то, что мы делаем, чтобы разработчикам было проще начать работу с Tensorflow. Наша цель - проводить более гибкие и эффективные исследования, а затем более масштабируемые для предприятий, использующих машинное обучение в производстве »
Ноэ Латс

Итак, Ной, не могли бы вы привести несколько примеров?

Как мы знаем, Keras - это супер простой API, который нам нравится. На самом деле разработчики любят использовать его, когда начинают с машинного обучения.
Раньше это было с Tensorflow 1.0, и нам приходилось выбирать, либо мы используем API оценки, чтобы получить все возможности распространения, либо использовать API Keras. и получите приятную простоту этих прекрасных API. Однако в этой новой версии Keras гораздо глубже интегрирован в Tensorflow, и нам больше не нужно идти на этот компромисс.

Кроме того, мы знаем, что вычисление Graph немного сложно и сложно в использовании. Поэтому Tensorflow по умолчанию изменен на активный, что означает, что каждая инструкция Python будет запускаться мгновенно как обычная программа Python.
В этом примере у нас есть функция f, которая принимает тензор и возвращает тензор.
Если он вызывается со случайным тензором, и мы печатаем результат, мы получаем то, что мы ожидали, как тензор, а не как в старые времена Graph, который мы должны создать!

Внесение этих изменений не обязательно приводит к снижению производительности, потому что, как только мы закончим эксперименты и взаимодействие с моделью, мы будем готовы перейти на графические процессоры или TPU. Все, что нам нужно сделать, это аннотировать эту функцию с помощью tf.function, а под капотом Tensorflow преобразует код в График, который может быть выполнен на оборудовании!

Но .. я не хочу обучать Модели с нуля. Могу ли я начать с существующей предварительно обученной модели?

Tensorflow Hub - это решение!

Tensorflow Hub на самом деле представляет собой комплексное хранилище готовых к использованию предварительно обученных моделей, которые создаются вместе с DeepMind и сообществом.

А как насчет гибкости и мощности для исследователей?

Некоторым исследователям удалось масштабировать Tensorflow до 1 эксафлопс.
А как насчет гибкости?
На самом верху Tensorflow у нас есть Keras и Estimator, а на нижних уровнях документированы и представлены многие API нижнего уровня, что позволит исследователям прийти и заменить определенные части of Tensorflow.
Допустим, мы хотим реализовать новый оптимизатор, или новый способ сделать Dropout, или новый Regularizer! Это будет намного проще сделать с Tensorflow 2.0, чем со старыми версиями.

Tensorflow также имеет множество дополнительных библиотек. Например, если вы являетесь исследователем в области обучения с подкреплением, можете взглянуть на TF Agents, библиотеки, которые значительно упрощают задачу. Или, если вас интересует ML, вы можете посмотреть, например, TF Federated и TF Privacy. .

Давайте развернем ML где угодно!

Для большинства людей, занимающихся машинным обучением, мы разрабатываем свои модели на серверах.
Но в какой-то момент мы хотим отправить их в производственную среду, и мы хотим запустить их и представить их пользователям или системам.
И здесь Tensorflow действительно сияет!

На самом деле у нас есть 3 способа развернуть модель:

1) Расширенный Tensorflow, который по сути представляет собой сквозную платформу для всего жизненного цикла разработки моделей. Он поддерживает прием данных, генерацию статистики, преобразование функций, проверку модели и продвижение на всем пути к производству!

2) Tensorflow Lite, который представляет собой формат развертывания для мобильных телефонов и Интернета вещей. Итак, если мы хотим развернуть наши модели ближе к пользователю, не затрагивая инфраструктуру на стороне сервера.

3) Tensorflow JS, поскольку мы знаем, что Javascript - язык программирования номер 1 в мире. И когда в прошлом году был запущен Tensorflow JS, количество его использования в сообществе было огромным сюрпризом. Полмиллиона людей скачали фреймворк и использовали его в производстве.
Это можно сделать в модели машинного обучения в браузере.
Ной привел пример того, как его созданный им классификатор птичек был преобразован в JS, чтобы при включенном микрофоне его телефона все можно было вычислить локально, и ничего не нужно было отправлять в сеть.

«Tensorflow превратился в большую экосистему инструментов и систем, которые помогут вам перейти от исследования к производству, развертывать его на мобильных устройствах и на серверах и поддерживать множество языков программирования, которые соответствуют вашим потребностям!»
Ноэ Латс

Присоединяйтесь к сообществу

Tensorflow - это сообщество.

«Мы ничего не можем сделать без широкого сообщества участников за пределами Google, которые присылают нам отзывы, помогают нам с кодом и, в конечном итоге, используют платформу! Спасибо вам за такой большой успех »
Ноэ Латс

Итак, если вас интересует Tensorflow 2.0, вы должны взглянуть на классы, созданные в Udacity и Coursera, посмотреть на tensorflow.org, присоединиться к сообществу и поделиться историями. Ной объявил, что на следующей неделе будет мир Tensorflow, к которому каждый может присоединиться во время видеоконференции, которая состоится на следующей неделе в Калифорнии.

«Мы потратили много времени на создание экосистемы Tensorflow для специалистов по машинному обучению, и нам нравится получать отзывы о том, что вы создаете и как вы влияете на мир своей работой!»
Ноэ Латс