2. Моя история
Shallow learning (http://ailev.livejournal.com/710976.html):
• 1977, купил книжку Джурс П., Айзенауэр Т., «Распознавание образов в химии», мягкая обложка, 230 с.
• 1978 – поиск знающих слова «регрессионный анализ», активное программописательство.
• 1980 – победа на конкурсе студенческих научных работ химфака РГУ: «Распознавание каталитической
активности хелатных соединений» (обучение с учителем).
Internet:
• 1991 -- почта (ailev@asmp.msk.su)
• 1992 – выпуск акций Релком (http://relcom.ru)
• 1994 – Первый вебсайт http://libertarium.ru
Systems engineering:
• 2007 – узнал о существовании
• 2008 – создал Русское отделение INCOSE (http://incose-ru.livejournal.com/)
Deep learning:
• 2012 – начал отслеживать и комментировать deep learning с 2012
(http://ailev.livejournal.com/1044735.html, http://ailev.livejournal.com/1045081.html) – мой интерес был в
автоматизации онтологической работы.
• 2012 – заметил, что по deep learning надувается инвестпузырь (пункт три в
http://ailev.livejournal.com/1051479.html)
Онтологии и AI:
• Первый редактор онтологий – 1986 год, последний – 2014 (https://github.com/TechInvestLab/dot15926)
• 2013, 2014 – организатор хакатона в Ontology Summit (http://ailev.livejournal.com/1113111.html).
2
4. Oops!... I did it again
• Основные инвестиции приходят после того, как пузырь лопнул
• Продукты появляются через год-два-три после вложения денег
• Сравните: первый WWW-сайт появился в 1991, пузырь лопнул в 2000
4
5. Сегодня: $1 000 000 000
инвестировано в deep learning
https://medium.com/@VentureScanner/the-state-of-artificial-intelligence-in-six-visuals-8bc6e9bf8f32
5
6. Новости последней недели
• Глубокая попса 16 сентября 2015: драм-треки --
http://www.inquisitivists.com/2015/09/16/using-autoharp-
and-a-character-based-rnn-to-create-midi-drum-loops
• Fujitsu 17 сентября 2015 достигла сверхчеловеческой
точности в распознавании китайских иероглифов (96.7%
по сравнению с человеческими 96.1%) http://en.acnnewswire.com/press-
release/english/25211/fujitsu-achieves-96.7-recognition-rate-for-handwritten-chinese-characters-using-ai-that-mimics-
the-human-brain
• Google 24 сентября 2015 года перешёл к
«промышленной эксплуатации» распознавания голоса
на новой архитектуре нейронной сети – ещё точнее, ещё
меньше вычислительных ресурсов. Распознавание идёт
прямо на телефоне, достижение тут – достигнута
скорость real time (0.3 секунды рассматривалось как
серьёзная задержка!) --
(http://googleresearch.blogspot.ru/2015/09/google-voice-
search-faster-and-more.html).
6
7. Эксплуатация и инженерия: mining / big data
(ремонт по состоянию, security alerts, process/log mining)
• Boeing Company: 85% отказов оборудования
происходят невзирая на своевременное
календарное обслуживание
• Emerson: 63% запланированного обслуживания
задвижек не были необходимыми, поэтому
перестало это делать.
• Традиционные методы предсказания поломок
работают плохо.
• Методы машинного обучения работают
удивительно хорошо – особенно deep learning.
Ключевые особенности:
– Обработка миллионов измерений от самых
разных датчиков
– Хорошее отделение «сигнала» от «шума»
• Первые применения: непрерывные
производства (нефтянка, электростанции,
химические производства, фармакологические
фирмы)
7
http://www.mtell.com –
condition-based monitoring
Automated, state-of-the-art predictive
analysis using machine learning for early
detection of equipment degradation.
8. Круче интернета:
вся промышленность, наука и искусство, а не только
транспорт
Интернет
• телефон-на-стероидах, газета-
на-стероидах, телевидение-на-
стероидах, библиотека-на-
стероидах – логистика
(транспорт и склады).
• Управление информацией
(информацию не меняем):
максимизировать поток
релевантной информации
оттуда, где она есть туда, где
она нужна.
Нейронные сетки:
• Софт-на-стероидах (какая-то
обработка информации,
«обрабатывающая
промышленность», «наука»,
«искусство»).
• Инженерия информации
(информацию меняем,
создаём новую): понять
потребности, сформулировать
требования, придумать
решение, сформулировать
результат, проверить результат
на соответствие требованиям и
потребностям
8
Синергия: инженерия и управление обычно тесно связаны, одно без другого не
бывает. Промышленные центры и железные дороги неразрывны. Нейронные сетки
и интернет существенно дополняют друг друга.
9. А не блеф ли это?
• «50 лет ничего не происходило, и вдруг началось?! Нет, уже много раз было
“волки, волки!”, значит и сейчас всё скоро утихнет». Нет, не утихнет.
• Нейронная сетка универсальна: эквивалентна машине Тьюринга, а также
аппроксимирует любую функцию --
http://neuralnetworksanddeeplearning.com/chap4.html
• Это не статистика! Работает физика эволюции: так же устроено
сворачивание полимеров/белков и спиновые стёкла --
http://ailev.livejournal.com/1197148.html. И уже поминают идеи из
неравновесной термодинамики --
http://jmlr.org/proceedings/papers/v37/sohl-dickstein15.html
9
http://arxiv.org/pdf/cond-mat/9904060v2.pdf
Эволюция: не ловится в локальном
минимуме, а ползёт дальше!
10. Но если там нет «интеллекта», то в
чём тогда крутость?!
• Можно обсуждать, когда точность компьютерного
диагноза превысит точность диагноза,
поставленного опытным врачом. Обсуждать
примерно так же, как обсуждается точность замера
лазерным дальномером по сравнению с точностью
глазомера опытного строителя.
• Только лазерный дальномер не подскажет, как
строить. А нейронная сетка сможет подсказать, как
лечить. И как строить. Только и всего, ничего
человеческого.
• Этого хватит, чтобы жизнь поменялась круче, чем с
приходом интернета.
10
11. Надуется и лопнет, как всегда?
• Да, обязательно надуется и обязательно лопнет (а центральные
банки этому только помогут)
• Но не факт, что дальше рост будет «как всегда»:
• решения начнут принимать не только люди, всё станет быстрее и точнее и
решений будет приниматься больше
• Производительность труда вырастет, работать будут не только люди
• Суть экономики (economics, наука) не изменится, в основе там
аксиомы.
• Структурные перестройки экономики (economy) неизбежны, но они
всегда шли – тот же народившийся вновь «интернет» тому пример,
но и сгинувший «несетевой» Kodak пример не меньший.
• Помним, что все эти роботы кому-то принадлежат (не сами себе) – и
капитал сегодня акционерный. Работы будет меньше, её результаты
достанутся всё одно людям.
• Когда начнётся движение за права конкретных роботов, тогда и
поговорим. А пока не забиваем себе голову.
11
12. Дилемма инноватора: мужики-то не знают!
(Clayton Christensen из Гарварда)
12
Х
а
р
а
к
т
е
р
и
с
т
и
к
и
Время
Характеристики
лучших продуктов
На рынке
Характеристики
худших продуктов
на рынке
http://web.mit.edu/6.933/www/Fall2000/teradyne/clay.html
13. Мои любимые примеры
• Это не rocket science, студенты справляются!
• Требования к аппаратуре для нейронных сетей
во многих задачах реально ниже, чем при
любых других архитектурах!
• Локатор для роботов: 10 градусов при трёх
микрофонах, разнесённых на 10см – стоимость
всей аппаратуры <$50.
13
14. Недостаток (вернее, НЕДОСТАТОК)
• Нейронную сеть нужно учить, для этого нужны
данные.
• Данных нужно МНОГО. Не BigData, А GiantData
(миллионы примеров)
•Данных для обучения обычно нет!
• С этим работают, но пока не очень успешно.
• Обязательное чтиво на эту тему:
http://habrahabr.ru/company/meanotek/blog/266961/
14
15. Системная инженерия: борьба со сложностью
15
Systems Engineering (SE) is an interdisciplinary approach and means to enable the
realization of successful systems. It focuses on holistically and concurrently
understanding stakeholder needs; exploring opportunities; documenting
requirements; and synthesizing, verifying, validating, and evolving solutions while
considering the complete problem, from system concept exploration through
system disposal.
http://www.sebokwiki.org/1.0.1/index.php?title=Systems_Engineering_%28glossary%29
16. МЕЖДИСЦИПЛИНАРНОСТЬ
Интеллект-стек – это только одна ипостась системы
На основе
рис.3
в ISO 81346-1
-Модули
=Компоненты
+Места
16
Платформы,
интерфейсы и
их видимость –
слои
Стек
17. Платформы (наборы модулей)
Интеллект-стек
1. Прикладной уровень
2. Когнитивная
архитектура
3. Обучающиеся
алгоритмы
4. Вычислительные
библиотеки
5. Вычислительные
языки
программирования
6. Аппаратное ускорение
вычислений
17
http://www.life-prog.ru/1_41934_protokoli-TCPIP-i-model-OSI.html
http://www.w3.org/2001/12/semweb-fin/w3csw
http://ailev.livejournal.com/1210678.html
18. Ителлект-стек
• «Как сделать», но не «как работает» и не «где
расположено»
• Интерфейсы и протоколы: стандарты (де-юре и
де-факто)
• Модули взаимозаменяемы:
• На одном интерфейсе-стандарте
• Переходники интерфейсов (wrappers)
• Модули взаимоувязаны (платформы,
библиотеки)
• «Видимость» обсуждается, но нет чётких границ
18
19. Интеллект-стек (сентябрь 2015)
1. Прикладной уровень
2. Когнитивная архитектура
3. Обучающиеся алгоритмы
4. Вычислительные библиотеки
5. Вычислительные языки
программирования
6. Аппаратное ускорение вычислений
19http://ailev.livejournal.com/1210678.html
Это и есть мой вклад в deep learning
20. 6. Аппаратное ускорение вычислений
Почему сейчас?
Оборудование: enabling technology
Интернет
• Линии связи позволили
передавать картинки на дом
(т.е. стало можно использовать
WWW)
• Дисплеи смогли картинки
показать
• Процессоры смогли картинки
обработать
250Kb веб-страница
• 56Kbps – 36 секунд
• 1Mbps – 2 секунды
• 100Mbps – 0.2 секунды
Нейронные сетки
• Процессоры сумели выдать
терафлоп, нужный для научения
сетки за обозримое время
• Связь и память смогли дать
достаточно (миллионы) картинок для
научения
• 1TFLOP -- 200млн. человек по 14
вычислений на калькуляторе в день
каждый, за год
• GTX Titan X – 7TFLOPS (single preсision)
• Intel Knights Landing Xeon Phi –
6TFLOPS (http://www.zdnet.com/article/intels-next-big-
thing-knights-landing/, http://arxiv.org/abs/1506.09067)
• FPGA: эксперименты до 10TFLOPS и
до 6x меньше TFLOPS/Watt
20
http://www.theguardian.com/technology/2011/jul/06/broadband-speeds-uk
21. Особенности «железа» для deep learning
• Низкая разрядность плавающих, но не один бит (не
«настоящие нейроны»)!
• x2 за последние 9 месяцев в 2015г. за счёт
программной оптимизации доступа к аппаратуре
(софт и хард не независимы!)
• Путаница «настоящих нейронов» и
«алгоритмических» («нейроморфная аппаратура»
против CPU, GPU, FPGA/DSP и т.д.). Помним о
software everything (включая software radio)!
• Битва CPU-GPU-FPGA/DSP
• Суперкомпьютеры, квантовые компьютеры,
мемристоры и прочая экзотика
• Итого: цена входа около 20тыс.рублей (NVIDIA GTX 970)
21
22. 5. Вычислительные языки программирования
• Scientific computing
• Fortran, C++, MATLAB, Python, R, Lua, Wolfram, Julia
• Отдельный уровень (wrapper’ы для библиотек).
• Обратите внимание: Julia (http://julialang.org/)
• Оптимизирован под вычислительные задачи
• Скорость как С++, но писать легче (как на Python)
• Совместим с библиотеками на C
• Быстрее Python, но мощнее Lua
• Учитывает параллельные вычисления
• Не объект-ориентирован! Multiple dispatch
• Версия 0.4 RC (язык молодой!)
• …
22
23. 4. Вычислительные библиотеки
Scientific computing
• Frameworks (library, platform, package) – тысячи их!!!
• Очень условно разделимы с «deep learning frameworks» (для них
deep learning просто пополнение ещё одним классом алгоритмов)
• Не так уж и привязаны к языкам (wrappers)
• Open source виден, но нельзя недооценивать невидимую «в
интернетах» часть (Mathematica, Maple и т.д.)
• символьных вычислений (включая символическое
дифференцирование, нужное для backpropagation)
• Поддержка GPU и параллельности, кластеры и прочая забота о
скорости
• Scikit (NumPy, SciPy, and matplotlib)
• Torch
• Theano
• Nd4j (n-dimentional arrays for Java)
• библиотеки Julia
23
24. 3. Обучающиеся алгоритмы
• Обучающиеся алгоритмы – или обучающиеся данные, а
алгоритмы обучающие?! Что, вообще, там учится?!
• Называются чаще всего frameworks, ибо идут комплектами
• Часто только часть больших вычислительных frameworks
(«зависимости»), указывают также язык разработки-
использования (но часто используются из других языков, а
иногда и сами написаны на чём-то типа С++)
• Предметно-специфические (deep learning – это
как раз они!!!)
• Подразумевают частые изменения, свои в каждой команде –
с ритмом выхода статей
• «Возьми под ключ» против «сделай свой алгоритм сам»
(разным командам нужно разное)
• Наборы данных в комплекте – именно для оценки и
сравнения этих алгоритмов!
• Фреймворки глубогоко обучения содержат «джентльменский
набор»: CNN, RNN, … (а остальное даётся «пакетами» над
вычислительной частью фреймворков)
24
25. С чего начать:
• Torch (и куча «пакетов» в нём)
• Theano (и куча «пакетов» в нём)
• Caffe
• … их огромное количество: как веб-движков в
эпоху окончания эры вебмастеров
• Strada.jl («по мотивам» Caffe)
Осваивать предметную область программистам
нужно именно на этом уровне. Например, тьюториал
http://cs231n.stanford.edu/syllabus.html
Список литературы:
https://github.com/robertsdionne/neural-network-
papers
25
26. 2. Когнитивные архитектуры
• Молчим про AGI (и тем самым пытаемся избегать дискуссии
про «что такое интеллект и почему вам не удастся повторить
человеческий интеллект», а также не возбуждаем
обывателей с их дежурными голливудскими страшилками).
• Когнитивный = знаниевый. Знание – информация,
использующаяся в разных проектах, разных ситуациях.
• Ни один алгоритм не работает в одиночку, ни одна структура
данных не существует сама по себе без алгоритмов.
• Ансамблирование алгоритмов deep learning – это дальние
подходы к когнитивной архитектуре.
• Главное тут даже не «обучение», а «вывод» (reasoning)
• Когнитивная архитектура: один набор алгоритмов и данных –
множественность применений (типичная «платформа»)
26
27. Гибридный вывод и перенос знания
• Онтология и эпистемология
• Hard computing (в том числе символический) и soft
computing (в том числе коннекционистский)
• Statistical strength sharing, learning to learn, learning
transfer, …
• Наука или инженерия?
• Обучение без учителя
• Обучение с умным учителем (а не самому)
• Мультимодальность (символы и картинки, плюс звук
и ароматы)
•Это тема отдельного доклада:
прорывы нужно ожидать тут
27
28. Бионика или чистая инженерия?!
• Традиционный флейм: повторять человеческий мозг или
решать задачи
• Идеал: один простой алгоритм, который решает все задачи,
включая задачу собственной настройки
• Для мозга: множество попыток объяснить интеллект (первая
architecture for cognition – Саймон и Фейгенбаум, 1960, EPAM –
Elementary Perciever and Memorizer)
• На страничке википедии 37 «хорошо известных» – а менее
известных сотни, у всех какие-то программные реализации
• Тренд: всё больше архитектур «не от мозга»
• Память, внимание, сознание – но не память, внимание,
сознание человека
• IBM Watson – «просто добавь ещё» (включая deep learning)
• Есть полностью игнорирование мозга: MANIC
• Именно в архитектурах использование И deep learning, И
shallow (machine learning), И классических методов.
28
29. Пример: MANIC
A Minimal Architecture for General Cognition (http://arxiv.org/abs/1508.00019)
• Ключевые слова:
действия,
планирование,
наблюдения, решения,
знания, …
29
30. 1. Прикладной уровень
• Инновации (продажи тут: killer application)
• Все хотят: интеллектуальный помощник (M,
Google Now, Siri, Cortana, Alexa, … -- они
развиваются более чем быстро)
• Менее массовые, но не менее важные (не
«помощники», а «эксперты»): медицина, колл-
центры, учителя
30
31. Почему важен весь стек (1-6)
• Инновации обеспечиваются (enable) с разных уровней
стека – необязательно целевого.
• Самолёт на композитах, или электросамолёт – это
инновации с более низких платформенных уровней. Но
самолёт при этом будет другим!
• Сами нейронные сетки смогли выйти в мейнстрим на
прикладном уровне из-за инновации на уровне 6
(использование GPU)!
• Промежуточные сборки («коробочные решения») –
NVIDIA DIGITS 2, уровни 6-3 (до алгоритмов, + UI).
• Ни одна фирма не потянет весь стек
Прогнозы:
• Интерфейсы уровней стека будут стабилизироваться,
ходить «мимо интерфейса» будет всё дороже и дороже
• Явного победителя в каждом уровне стека не будет,
будет конкуренция (как и конкуренция людей)
31