18 ноября в Нижнем Новгороде пройдет международная конференция GDG Gorky. В преддверии нее мы поговорили со спикерами о том, как меняется мобильная отрасль под влиянием развития таких областей: машинного обучения, интернета вещей. И вспомнили, как происходила эволюция Android.
Машинное обучение и искусственный интеллект
Сергей Мелехин
лидер GDG Владивосток,Team Lead в Ramax International
На днях появилась новость о самообучающейся версии AlphaGo. Какие для неё могут быть применения и значит ли это, что системам машинного обучения больше не нужны большие объемы данных?
Именно для этой нейронной сети практического применения особого нет - для игры с человеком и прошлая версия слишком хороша. Ценность исследования в том, что показана (впрочем, не впервые) возможность достигать сверхчеловеческого уровня решения задачи без использования обучения с учителем и вообще какого либо вмешательства человека. AlphaGo Zero - это пример обучения с подкреплением (reinforcement learning) и совместного обучения ансамбля нейронных сетей, играющих друг против друга. Ценность reinforcement learning заключается в том, что действительно можно обойтись без предварительно размеченных данных, но нужно иметь чётко сформулированный и измеримый критерий оценки результата (reward function) и способ быстро эмулировать среду, в которой происходят действия агента (так как обучение агента происходит методом проб и ошибок). Есть возможность обучать и в реальном мире, но это обычно медленно и дорого. То есть, например, для задачи классификации собак по породам "в лоб" применить обучение с подкреплением не выйдет, так как у нас нет измеримой метрики "пуделистости", "овчарости" и "бультерьерности".
Какие достижения в области искусственного интеллекта за последнее время вы можете выделить?
Кроме того же AlphaGo Zero стоит отметить результат, показанный Inception ResNet V2, внедрение WaveNet в качестве движка text-to-speech и Seq2Seq перевода в Google Translate, Dota2 бот от OpenAI.
Какие инструменты вы можете порекомендовать начинающим?
Я рекомендую начинать с курсов Andrew Ng на Coursera и курсов от Google и Kaggle на Udacity. В этих курсах вы познакомитесь с большим набором инструментов, от octave/matlab до keras и tensorflow.
Какой потенциал есть у систем машинного обучения on-device?
Потенциал большой: благодаря распределённости такое обучение может быть доступно компаниям, не обладающим ресурсами Google и Facebook. Сдерживающим фактором является ограниченность ресурсов устройств, с их помощью сейчас можно обрабатывать только сравнительно небольшие нейронные сети или классические ml модели.
Как сейчас развиваются голосовые помощники?
Основное направление - попытки всё больше заменять заскриптованные диалоги на Machine Learning. Тут ещё предстоит большая работа, интересные результаты есть у команды Facebook.
Какие успехи уже есть у проекта AutoML?
К сожалению, почти ничего конкретного о нём не слышал с анонса на Google I/O. Пожалуй, единственное упоминание, на которое я натыкался:
Как системы машинного обучения могут помочь с созданием приложений для "следующего миллиарда" пользователей?
Хороший кейс продемонстрировала команда из Google Maps, которые с помощью Street View и машинного обучения построили карту крупного города с хаотичной застройкой, у которого не было карты в принципе.
Как идет развитие TensorFlow?
Одновременно по двум направлениям - во первых расширяется функциональность, добавлен компилятор графов, новые типы слоёв, алгоритмов и т.п. И во-вторых то, что к Google называют Democratizing AI - делают проще и доступней благодаря включению в поставку более высокоуровневого фреймворка Keras, добавлению т.н. canned estimators (готовых алгоритмов оптимизации, предварительно настроенных для вас участков графа tensorflow). То есть одновременно делают TensorFlow мощней и проще в использовании.
"Третья международная техническая конференция, посвященная технологиям Google, подготовленная для вас GDG сообществом, состоится в Нижнем Новгороде! Все про Android, Web, Firebase и Cloud от экспертов из России и других стран мира"
Интернет вещей
Милош Маринкович
разработчик CounterPath, руководитель GDG Novi Sad Сербия
В чем преимущество системы Google Home перед аналогами?
Она идеально интегрируется со всеми продуктами Google, и вы получаете персонализированного помощника, который достаточно знает о вас, вместо преднастроенного голосового движка.
Как в устройствах для дома решается проблема безопасности данных?
Проблема безопасности решается при помощи анализа голоса, а также использования паролей в некоторых случаях.
Могут ли в будущем носимые устройства полностью заменить смартфоны?
Скорее всего, нет. Большое число пользователей используют свои смартфоны и планшеты, чтобы потреблять контент: читать новости, смотреть видео. Это не так удобно делать с носимых устройств.
Какие сферы общества изменит IoT?
Вероятнее всего, транспорт, социальную жизнь внутри дома и, возможно, медицинскую работу.
Что такое Android Things и что можно создать с её помощью?
Это вариант операционной системы Android, адаптированный для эффективной работы с платой разработки IoT с медленным или миниатюрным микроконтроллером. Она является более мощной по сравнению с другими IoT-платформами и позволяет разработчикам использовать многие из знакомых API Android. Android Things поддерживает графические пользовательские интерфейсы использует тот же самый набор инструментов для создания интерфейсов в традиционных приложениях Android, в которых окно приложения занимает весь дисплей.
Как изменился Android Things за год? Можно ли уже использовать ОС в продакшене?
Официально платформа пока находится в фазе превью, но она уже была протестирована многими разработчиками и доказала свою стабильность. Так что, вероятно, её уже можно применять в продакшене.
Так ли необходима Android Things для интернета вещей? Какие проекты можно создать без использования системы?
Использовать Android Things необязательно. Другие платформы поддерживают традиционные платы Raspberry Pi, Arduino, Particle и другие, но ни в одной из них нет доступа к знакомым API Android по умолчанию. Без использования Android Things разработчики могут использовать сторонние сервисы и провайдеров облачных хранилищ, чтобы собирать данные, следить за сенсорами при помощи ручной разработки модулей платы и писать собственные наборы модулей для отображения данных на экране. Это может быстро выйти из-под контроля.
Эволюция Android
2008
Android 1.0 Apple Pie
Впервые операционная система Android была анонсирована как продукт только в 2007 году. Это случилось два года спустя поглощения компании Android корпорацией Google.
Эра операционной системы Android официально стартует 22 октября 2008 года, когда в США начались продажи смартфона T-Mobile G1 под управлением Android 1.0. Также это устройство известно под названием HTC Dream.
2009
Android 1.5 Cupcake
В феврале 2009 года выходит первое обновление Android 1.1. Banana Bread. В обновлении добавились несколько небольших функций. Например, появился голосовой поиск Google Voice Search и платные приложения в магазине Play Market. Помимо этого, появилась поддержка обновлений прошивки «по воздуху».
В апреле 2009 года вышло обновление Android 1.5 Cupcake, в котором появилась экранная клавиатура. Производители теперь могли выпускать новые телефоны без физических клавиш для ввода. Первым Android-смартфоном с полностью сенсорным управлением стал HTC Magic.
Позже в 2009 году вышло третье обновление под версией 1.6 Donut. Одним из самых главных нововведений стала поддержка сетей CDMA, что позволило Verizon и другим операторам продавать смартфоны для своих абонентов. Также немаловажным изменением стала поддержка экранов с разрешением больше 480×320 пикселей.
В Android Market наконец-то на страницах приложений появились скриншоты — пользователь мог посмотреть на то, что он скачивает.
2009
Android 2.0 Eclair
Эпохальным событием в истории развития платформы стало обновление Android 2.0, представленное в ноябре 2009 года. Начиная с версии 2.0 мобильные устройства Android начали распространяться по миру.
Изменения в ОС
Обновление камеры: поддержка вспышки, цифрового увеличения и эффектов
Улучшена раскладка экранной клавиатуры и механизм обучения словаря
Новый пользовательский интерфейс браузера и поддержка HTML5
Добавлена поддержка новых размеров и разрешений экранов
Изменён пользовательский интерфейс
Улучшен класс MotionEvent для поддержки нескольких касаний
2010
В январе 2010 года Google выпускает минорное обновление — Android 2.1 Eclair. На базе этой ОС выходит первый смартфон из линейки Nexus.
В середине 2010 года выходит обновление Android 2.2 Froyo (замороженный йогурт), которое сразу обозначило одно из основных преимуществ линейки Nexus — смартфон One первым обновился до этой версии. В обновлении 2.2 разработчики из Google сосредоточились на увеличении производительности и оптимизации. Одним из важных нововведений стал компилятор JIT, который мог конвертировать Java-код в нативный для быстрого выполнения.
Также в Froyo появилась возможность раздавать Wi-Fi, то есть превращать устройство в портативную точку доступа.
В декабре 2010 Google выпускает еще один крупный апдейт — Android 2.3 Gingerbread (имбирный пряник). Первым устройством с «пряником» стал Nexus S от Samsung. В то же время вышел хитовый iPhone 4, а Microsoft выпустила не самую успешную систему Windows Phone.
Изменения в ОС
Обновлённый дизайн пользовательского интерфейса
Поддержка сверхвысоких размеров экранов и разрешений (WXGA и выше)
Встроенная поддержка протокола SIP VoIP-телефонии
Поддержка проигрывания видео форматов WebM/VP8, а также поддержка аудио стандарта AAC
Поддержка стандарта Near Field Communication
Переработанная программная клавиатура с поддержкой нескольких касаний
Улучшения для разработчиков игр в области аудио, графической части и ввода информации
Встроенная поддержка большего числа сенсоров (например, гироскопы и барометры)
Встроенная поддержка нескольких камер
2010
Android 3.0 Honeycomb
Операционная система Android 3.0 Honeycomb создавалась исключительно для планшетов в качестве ответа на iPad от компании Apple. Третья версия Андроида вышла в феврале 2011 года — через год после презентации первого поколения iPad Стивом Джобсом. Для полного редизайна и переделки одного года было недостаточно, поэтому обновление выпустили незавершенным.
Внешний вид системы преобразился благодаря синей цветовой схеме, вместо зеленой в предыдущих версиях. Основная ставка была сделана на эффективное использование рабочего стола с виджетами и иконками.
2011
Android 4.0 Ice Cream Sandwich
Именно в Android 3.0 появился виртуальный навигационный бар с тремя кнопками управления. Теперь производители могли выпускать устройства без кнопок софт-тач. Также в третьей версии прорисовывалось некое подобие полноценной многозадачности. В меню недавних приложений были полноценные превью-карточки программ.
Несмотря на то, что Android 3.0 не стала популярной версией системы, она задала тон для дальнейшего развития платформы.
После планшетного провала в версии 3.0 в Google решили вернуться к смартфонному направлению. В октябре 2011 года выходит обновление Android 4.0 Ice Cream Sandwich (сэндвич с мороженым). Именно эта версия установила внешний вид и основные функции, которые закрепились в умах пользователей Android.
Язык дизайна Holo из планшетного Android 3.0 перекочевал в четвертую версию вместе с наэкранными кнопками управления.
Изменения в ОС
Использование единой оболочки для планшетов, смартфонов и других устройств на базе OS Android
Open Accessory API — API для интеграции с разнообразным оборудованием
Поддержка Real-time Transport Protocol API для аудио
Изменённая панель блокировки с вынесением ярлыков для быстрого запуска камеры, доступа к функциям телефона (вызовов), доступа к текстовым сообщениям и меню для работы с электронной почтой
Система контроля использования интернет-трафика
Программное улучшение камеры: внедрение режима панорамной съёмки, программная стабилизация изображения, эффекты в реальном времени при видеосъёмке
Расширенные возможности безопасности: разблокировка устройства через распознавание лица владельца, полное шифрование аппарата, ASLR, новый VPN API
Поддержка Wi-Fi Direct
2012
Android 4.1 Jelly Bean
27 июня 2012 года на Google I/O, компания Google представила следующую версию Android 4.1 Jelly Bean вместе с планшетом Nexus 7. Изменения в основном коснулись плавности работы интерфейса. Новое обновление принесло улучшения в производительности — центральный и графический процессор работают параллельно. Благодаря этому на некоторых устройствах Android 4.1 будет работать с частотой 60 кадров в секунд.
Именно после релиза Android 4.1 Jelly Bean в 2012 году появилась первая версия Сервисов Google. Они задумывались компанией Google как некий мост между приложениями и системой. Этот «мост» можно было обновлять отдельно от всей системы. Сервисы Google Play 1.0 получили все гаджеты под управлением Android 2.2 и новее. Таким образом, Google частично решила проблему фрагментации Android: старые устройства могли получать свежие API и функции из сервисов Google Play для работы со всеми нужными сторонними приложениями.
Изменения в ОС
Обновлённый интерфейс, использование технологии Project Butter для получения более плавного UI.
Автоматическое масштабирование виджета и изменение расположения остального содержимого, если он не вмещается на рабочий стол.
Обновление виртуальной клавиатуры.
Возможность голосового ввода в автономном режиме.
Слепые или слабовидящие получили возможность подключить к смартфону или планшету на Android 4.1 устройство ввода со шрифтом Брайля.
Обновлённый поиск, благодаря которому на манер голосового помощника можно получить ответы на заданные голосовые вопросы.
Добавлен сервис Google Now. Он будет снабжать пользователя полезной информацией, опираясь на календарь, историю поисковых запросов и маршруты перемещений телефона.
Новый интерфейс для планшетов, классический интерфейс Android 3.0—4.0.4 доступен через редактирование Build.Prop изменение DPI на значение ниже 140.
В версии 4.2 появилась поддержка нескольких аккаунтов, технологии Miracast, минорные изменения в дизайне.
Между выходом версий 4.2 и 4.3 большое обновление получил магазин приложений Google Play. Уже тогда он выглядел примерно так, как и сейчас.
2013
Android 4.4 KitKat.
В июле 2013-го Google анонсирует очередное минорное обновление для Android — 4.3 Jelly Bean. Апдейт вышел вместе с обновленным планшетом Nexus 7 (2013). На нем эта линейка и оборвалась.
На Хэллоуин, 31 октября 2013 года, компания Google запускает крупное обновление — Android 4.4 KitKat.
Вместе с Android 4.4 KitKat был запущен новый флагман линейки Nexus — смартфон Nexus 5.
В тестовом режиме была введена среда ART для выполнения приложений.
Изменения в ОС
Google Now, активный голосовой помощник
Центр общения в приложении Hangouts.
Поддержка Chromecast.
Запуск веб-приложений через Chrome.
Запуск приложений в песочнице.
Поддержка шагомеров.
Осуществление платежей через Google Кошелёк и хранение статистики.
Бета-версия Android Runtime (ART)
Операционная система этой версии действительно достигла того уровня развития, когда ей могли пользоваться все пользователи и для выполнения любых задач.