40
Машинное обучение для интеллектуализации ваших приложений ZZ Photo Артем Чернодуб

Машинное обучение для интеллектуализации ваших приложений

  • Upload
    zzwolf

  • View
    61.226

  • Download
    3

Tags:

Embed Size (px)

DESCRIPTION

Проводится обзор принципиальных задач машинного обучения и наиболее популярных программных пакетов и библиотек в этой области. Рассказывается об опыте использования средств искусственного интеллекта и искусственных нейронных сетей и их применения в приложениях (zzphoto.me, recognizz.it). Основной упор доклада сделан на специфику процесса разработки и иплементации в программные продукты функционала, содержащего искуственный интеллект. Приводится список типичных ошибок и практических советов для создания работоспособных интеллектуальных приложений. Будет полезен как опытным программистам, так и начинающим специалистам в этой области.

Citation preview

Page 1: Машинное обучение  для интеллектуализации ваших приложений

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

для интеллектуализаци

и ваших приложений

ZZ Photo Артем Чернодуб

Page 2: Машинное обучение  для интеллектуализации ваших приложений

Искусственный интеллект

1997 2001 2029 2035

Источники:• к/ф «Космическая одиссея 2001 года», 1968, реж.

С. Кубрик• к/ф «Терминатор», 1984, реж. Д. Кэмерон• к/ф «Я, робот», 2004, реж. А. Пройас

2 / 40

Page 3: Машинное обучение  для интеллектуализации ваших приложений

Нейронауки

𝑝 (𝑥|𝑦 )=𝑝 ( 𝑦|𝑥 )𝑝 (𝑥)

𝑝 (𝑦 )

Биологически-инспирированные модели

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

3 / 40

Page 4: Машинное обучение  для интеллектуализации ваших приложений

Машинное обучение• синтез алгоритмов из представленных

данных, «обучающей выборки»• эффективность работы

синтезированного алгоритма как главная мера качества

• круг задач искусственного интеллекта• математика как базовая научная

дисциплина (теория вероятности, случайные процессы, математическая статистика)

4 / 40

Page 5: Машинное обучение  для интеллектуализации ваших приложений

Виды машинного обучения

• регрессия (regression)• классификация (classification)• кластеризация (clusterization)• обучение с подкреплением

(reinforcement learning)• эволюционные алгоритмы (evolutionary

algorithms)

5 / 40

Page 6: Машинное обучение  для интеллектуализации ваших приложений

Регрессия – данныеx y

0.00 0.00

0.10 0.59

0.20 0.95

0.30 0.95

0.40 0.59

0.50 0.00

0.60 -0.59

0.70 -0.59

0.80 -0.95

0.90 1.006 / 40

Page 7: Машинное обучение  для интеллектуализации ваших приложений

Регрессия – решения

7 / 40

Page 8: Машинное обучение  для интеллектуализации ваших приложений

Классификация – ирисы Фишера

Iris versicolorIris setosa Iris virginica

8 / 40

Page 9: Машинное обучение  для интеллектуализации ваших приложений

Классификация – данныеДлина

чашелистника

Шириначашелистн

ика

Длина лепестка

Ширина лепестка

Вид ириса

4.3 3.0 1.1 0.1 setosa

4.4 2.9 1.4 0.2 setosa

4.4 3.0 1.3 0.2 setosa

4.9 2.5 4.5 1.7 virginica

5.6 2.8 4.9 2.0 virginica

5.0 2.0 3.5 1.0 versicolor

5.1 2.5 3.3 1.1 versicolor

9 / 40

Page 10: Машинное обучение  для интеллектуализации ваших приложений

Классификация – решение

10 / 40

Page 11: Машинное обучение  для интеллектуализации ваших приложений

Кластеризация

число классов заранее неизвестно

11 / 40

Page 12: Машинное обучение  для интеллектуализации ваших приложений

Кластеризация – решения

12 / 40

Page 13: Машинное обучение  для интеллектуализации ваших приложений

Распознавание текста

13 / 40

Page 14: Машинное обучение  для интеллектуализации ваших приложений

Распознавание лиц

14 / 40

Page 15: Машинное обучение  для интеллектуализации ваших приложений

Детекция морд котов

15 / 40

Page 16: Машинное обучение  для интеллектуализации ваших приложений

Дополненная реальность

16 / 40

Page 17: Машинное обучение  для интеллектуализации ваших приложений

Распознавание звука• распознавание

звуковых команд• распознавание

музыкальных жанров

• распознавание названий песен

• синтез новой музыки

17 / 40

Page 18: Машинное обучение  для интеллектуализации ваших приложений

Обработка естественных текстов

• системы машинного перевода• рекомендательные системы он-

лайн магазинов• таргетирование рекламы в

поисковых системах• распознавание спама

18 / 40

Page 19: Машинное обучение  для интеллектуализации ваших приложений

Биометрическая аутентификацияРазрешение доступа по:

• отпечаткам пальцев• радужной оболочке

глаза• клавиатурному

почерку• тембру голоса• рукописному

почерку• геометрии руки

19 / 40

Page 20: Машинное обучение  для интеллектуализации ваших приложений

и т.д.

20 / 40

Page 21: Машинное обучение  для интеллектуализации ваших приложений

Мы живем в мире Big DataДанные для компьютеров:

• в 2006 году было создано и сохранено 160 эксабайт (160х1018) информации

• в 2010 году было создано и сохранено 1 зетабайт (1021) информации

Пример: рост количества цифровых фото

21 / 40

Page 22: Машинное обучение  для интеллектуализации ваших приложений

Алгоритмы регрессии• Линейная регрессия (Linear Regression)• Многослойные персептроны (Multilayer

Perceptron)• RBF-нейросети (Radial Basis Function

Networks)• Машины опорных векторов для

регресии (Support Vector Regression, SVR)

22 / 40

Page 23: Машинное обучение  для интеллектуализации ваших приложений

Алгоритмы классификации• k ближайших соседей (k-Nearest

Neighbours)• Нейронные сети (Neural Networks = MLP

& RBF)• Машины опорных векторов (Support

Vector Machines)• Деревья решений (бустинг)

23 / 40

Page 24: Машинное обучение  для интеллектуализации ваших приложений

Алгоритмы кластеризации

• k средних (k-Means)• Иерархическая кластеризация

(Hierarhical Clustering)• Самоорганизующиеся карты Кохонена

(Self-Organizing Maps)• Гауссовские смешанные модели

(Gaussian Mixture Models)

24 / 40

Page 25: Машинное обучение  для интеллектуализации ваших приложений

Некоторые алгоритмы для предобработки данных

• общие, проблемно-независимые – PCA, LDA, Kernel PCA

• для изображений – SIFT, SURF, CHoG, Zernike Moments, Wavelets

• для звука – DFT, FFT, Mel cepstra, Wavelets

• для текста – ITF-DF, N-grams

25 / 40

Page 26: Машинное обучение  для интеллектуализации ваших приложений

Некоторые прикладные пакеты для машинного обучения• OpenCV – библиотека средств

машинного зрения.• PythonXY – пакет «все-в-1» популярных

методов машинного обучения.• LibSVM – надежная кросс-

платфроменная. библиотека машин опорных векторов.

• NetLab – библиотека «обычных» нейронных сетей.

• Theano – библиотека глубоких нейронных сетей.

26 / 40

Page 27: Машинное обучение  для интеллектуализации ваших приложений

Тезис

Машинное обучение – это технология, требующая специального подхода.

27 / 40

Page 28: Машинное обучение  для интеллектуализации ваших приложений

Правило № 1

Если есть возможность не использовать машинное обучение – не используйте его.

28 / 40

Page 29: Машинное обучение  для интеллектуализации ваших приложений

Правило № 2Не изобретайте велосипед.

29 / 40

Page 30: Машинное обучение  для интеллектуализации ваших приложений

Правило № 3

Тестируйте качество вашего алгоритма на опубликованных бенчмарках.

30 / 40

Page 31: Машинное обучение  для интеллектуализации ваших приложений

Правило № 4

Данные для обучения должны быть репрезентативными.

31 / 40

Page 32: Машинное обучение  для интеллектуализации ваших приложений

Правило № 5

Делите выборку на Train, Test и Validation.

Train Test Validation

32 / 40

Page 33: Машинное обучение  для интеллектуализации ваших приложений

Правило № 6Сложность выбранной эмпирической

модели должна быть адекватна сложности задачи.

33 / 40

Page 34: Машинное обучение  для интеллектуализации ваших приложений

Правило № 7

Применяйте регуляризацию.

34 / 40

Page 35: Машинное обучение  для интеллектуализации ваших приложений

Правило № 8

• нормируйте данные;• центрируйте данные; • в случае классификации,

перемешивайте выборку.

35 / 40

Page 36: Машинное обучение  для интеллектуализации ваших приложений

Правило № 9

Не нужно дообучать синтезированные эмпирические модели в режиме реального

времени.

36 / 40

Page 37: Машинное обучение  для интеллектуализации ваших приложений

Правило № 10Обучайте модели в MATLAB, Python и

подобных дружественных средах.

37 / 40

Page 38: Машинное обучение  для интеллектуализации ваших приложений

Литература

1. С. Осовский. Нейронные сети для обработки информации – пер. с польского. М.: Финансы и статистика, 2002. – 344с.

2. Bishop C.M. Pattern Recognition and Machine Learning. Springer, 2006 – 738 p.

3. С. Хайкин. Нейронные сети: полный курс. Вильямс, 2006.

38 / 40

Page 39: Машинное обучение  для интеллектуализации ваших приложений

Машинное обучение: перенос ответственности за работу алгоритма с программиста

на данные

39 / 40

Page 40: Машинное обучение  для интеллектуализации ваших приложений

… однажды.