2017-05-06 02 Илья Сиганов. Зачем учить машины?

42
Зачем учить машину? Илья Сиганов разработчик / аспирант 7bits / ОмГУ

Transcript of 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Page 1: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Зачем учить машину?

Илья Сигановразработчик / аспирант

7bits / ОмГУ

Page 2: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Компьютеры становятся все умнее.

Ученые утверждают, что скоро они смогут разговаривать с нами.

Дейв Барри

Page 3: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

История техники. Аналоговые машины.● Арифмометры

Page 4: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

История техники. Аналоговые машины.● “Аналитическая” машина

Бэббиджа● перфокарты● Программы от Ады

Лавлейс

Page 5: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

История техники. Электроника● Электронные и

электромеханические компьютеры

Page 6: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

История техники. Поколения выч.техники.

1. 1940-ые - Электронные лампы2. Транзисторы3. Интегральные схемы4. Микропроцессоры5. 1980-ые - Искусственный интеллект (sic!)

Page 7: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Пятое колесо поколение компьютеров

● Хотели запрограммировать искусственный интеллект

● Потратили 10 лет и ~1 млрд. долларов!● Не получили никакого результата

Page 8: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Проблема программного ИИ

● Программа - это зафиксированная абстракция● Абстракции создает человек интерпретируя своё восприятие ● У людей разное восприятие, следовательно абстракции разные

НО

● Мир динамичный и меняющийся● Абстракция - жесткая и статичная● Тестировать нужно, баги исправлять вручную!

Page 9: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Упражнение. Кошкность.

● Чем кошка отличается от собаки?

Page 10: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Типичные “искусственные интеллекты”

● Переводчики между языками, основанные на моделях описания языка, его структуры.

● поиск красных кубиков в видео● Поиск лиц методом каскада Хаара● Всевозможные фильтры сигналов● Поиск музыки по отпечатку

Page 11: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Что делать?

● Искать гибкие методы, которые легко адаптировать● Учитывать фактические реальные данные● Убрать человека из цепочки создания абстракции

Page 12: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Кто это будет делать?

Page 13: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Как оно будет это делать?● Машинное обучение - поиск зависимости между наблюдаемыми и

скрытыми данными, т.е. поиск скрытой закономерности

Page 14: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Как оно будет это делать?● Машинное обучение - поиск зависимости между наблюдаемыми и

скрытыми данными, т.е. поиск скрытой закономерности

Page 15: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Что значит поиск закономерностей?

Закономерность ~ Функция ~ Алгоритм

Мы автоматизируем создание алгоритмов

Page 16: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Рефлексирующие программные системы

?

Обычные алгоритмы #1

Машинное обучение #2

Page 17: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Некоторые боятся, что их заменят скриптом.

Более продвинутые боятся, что их заменят машинным обучением.

Page 18: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Новая проблема

● Кто выбирает алгоритмы второго уровня? (условно ML-алгоритм)

● Нельзя просто так загрузить данные в google-engine и получить ответ?

● Неужели нет “Единого Решения”, “Истинного Алгоритма”?

Page 19: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

К чему это приводит?

● Зоопарк алгоритмов машинного обучения● Разнообразие классов “задача”● Проблема предобработки данных● Проблема интерпретации результата● Проблема выбора подходящего алгоритма● Проблема выбора метрики качества● Проблема переобучения

Page 20: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Классы задач

● Классификация● Регрессия● Структурирование ( Кластеризация )● Обнаружение аномалий● Синтез● Ранжирование● Прогнозирование

Page 21: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Подходы к обучению

● с учителем○ с подкреплением

● без учителя

Page 22: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Классификация

Page 23: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Классификация

● Кредитный скоринг - по показателям клиентов определить вернут они кредит или нет

● Медицинская диагностика● Распознавание образов (картинок, звуков)● Определение пола человека по его отпечатку в сети

интернет● Идентификация пользователя по его биометрии

Page 24: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Регрессия

Page 25: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Регрессия

● Предсказание температуры воздуха● Прогнозирование продаж товара● Прогнозирование стоимости недвижимости● Определение длительности игры● Прогноз характеристик хим. соединений● Кредитный скоринг - определение кредитного лимита

Page 26: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Поиск структуры

Page 27: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Поиск структуры

● Классификация без обучающей выборки● Используется для поиска классов на неразмеченной

выборке● Сегментация аудитории● Поиск похожих текстов● Обнаружение аномалий● Рекомендации основанные на схожести товаров или

пользователей

Page 28: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Прогнозирование

Page 29: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Прогнозирование

● Метерология● Банковское дело и предсказание стоимости ценных

бумаг● Прогнозирование уровня зарплат● Демографические прогнозы● Всё что связано с трендами, циклическими

изменениями

Page 30: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Интерпретация. Деревья решенийTitanic dataset:

● Пол● Возраст● Класс (1, 2, 3)● Тариф● Порт отбытия● Родственники на

борту

Page 31: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Интерпретация. Разделяющие поверхности

Page 32: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Интерпретация. Глубокие нейросети

Page 33: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Признаки. Категориальные, числовые.

Page 34: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Признаки?

Page 35: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Признаки?!

Page 36: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Сложные вопросы. Какой класс задач?

Page 37: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Сложные вопросы. Какой класс задач?Декомпозиция звука на компоненты

Разделить речь одновременно говорящих людей

Подавить сложный шум

Page 38: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Человек всё еще нужен

● Человек подбирает признаки● Человек выбирает подходящий класс алгоритмов ML● Человек эвристически подбирает параметры

алгоритмов

Машина ищет закономерности в данных

Page 39: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

Ответы на вопросы● Какие модели есть в проде и где они используются● Машинное обучение для анализа текстовых документов, примеры и

подходы.● Какие задачи не могут быть решены нейронными сетями и почему?● Возможно ли написать алгоритм обратного распространения ошибки,

который бы подходил для любой нейронной сети(с любым количеством слоев, входов, выходов) ?

Page 41: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

bit.ly/hdl2017_ml

Полезные материалы

Page 42: 2017-05-06 02 Илья Сиганов. Зачем учить машины?

ML-сообщество в Омске

Первая встреча 27 мая 2017

vk.com/mlomsk