А.Левенчук -- Интеллект-стек: как создаётся deus ex machina

32
Интеллект-стек: как создаётся Deus ex Machina Клуб «Щепотка соли» Москва 24 сентября 2015г.

Upload: anatoly-levenchuk

Post on 15-Apr-2017

11.520 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

Интеллект-стек: как создаётся Deus ex Machina

Клуб «Щепотка соли»Москва

24 сентября 2015г.

Page 2: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

2

Моя историяShallow learning (http://ailev.livejournal.com/710976.html):

• 1977, купил книжку Джурс П., Айзенауэр Т., «Распознавание образов в химии», мягкая обложка, 230 с.

• 1978 – поиск знающих слова «регрессионный анализ», активное программописательство.

• 1980 – победа на конкурсе студенческих научных работ химфака РГУ: «Распознавание каталитической активности хелатных соединений» (обучение с учителем).

Internet:• 1991 -- почта ([email protected])• 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).

Page 3: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

3

Сплошное надувательство: интернет

Page 4: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

4

Oops!... I did it again

• Основные инвестиции приходят после того, как пузырь лопнул• Продукты появляются через год-два-три после вложения денег• Сравните: первый WWW-сайт появился в 1991, пузырь лопнул в 2000

Page 5: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

5

Сегодня: $1 000 000 000 инвестировано в deep learning

https://medium.com/@VentureScanner/the-state-of-artificial-intelligence-in-six-visuals-8bc6e9bf8f32

Page 6: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

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).

Page 7: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

Эксплуатация и инженерия: 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.

Page 8: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

8

Круче интернета: вся промышленность, наука и искусство, а не только транспорт

Интернет• телефон-на-стероидах,

газета-на-стероидах, телевидение-на-стероидах, библиотека-на-стероидах – логистика (транспорт и склады).

• Управление информацией (информацию не меняем): максимизировать поток релевантной информации оттуда, где она есть туда, где она нужна.

Нейронные сетки:• Софт-на-стероидах (какая-то

обработка информации, «обрабатывающая промышленность», «наука», «искусство»).

• Инженерия информации (информацию меняем, создаём новую): понять потребности, сформулировать требования, придумать решение, сформулировать результат, проверить результат на соответствие требованиям и потребностям

Синергия: инженерия и управление обычно тесно связаны, одно без другого не бывает. Промышленные центры и железные дороги неразрывны. Нейронные сетки и интернет существенно дополняют друг друга.

Page 9: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

9

А не блеф ли это? • «50 лет ничего не происходило, и вдруг началось?! Нет, уже много раз было

“волки, волки!”, значит и сейчас всё скоро утихнет». Нет, не утихнет.• Нейронная сетка универсальна: эквивалентна машине Тьюринга, а также

аппроксимирует любую функцию -- http://neuralnetworksanddeeplearning.com/chap4.html

• Это не статистика! Работает физика эволюции: так же устроено сворачивание полимеров/белков и спиновые стёкла -- http://ailev.livejournal.com/1197148.html. И уже поминают идеи из неравновесной термодинамики -- http://jmlr.org/proceedings/papers/v37/sohl-dickstein15.html

http://arxiv.org/pdf/cond-mat/9904060v2.pdf

Эволюция: не ловится в локальном минимуме, а ползёт дальше!

Page 10: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

10

Но если там нет «интеллекта», то в чём тогда крутость?!• Можно обсуждать, когда точность компьютерного

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

А нейронная сетка сможет подсказать, как лечить. И как строить. Только и всего, ничего человеческого. • Этого хватит, чтобы жизнь поменялась круче, чем с

приходом интернета.

Page 11: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

11

Надуется и лопнет, как всегда?• Да, обязательно надуется и обязательно лопнет (а центральные банки

этому только помогут)• Но не факт, что дальше рост будет «как всегда»:

• решения начнут принимать не только люди, всё станет быстрее и точнее и решений будет приниматься больше

• Производительность труда вырастет, работать будут не только люди• Суть экономики (economics, наука) не изменится, в основе там аксиомы. • Структурные перестройки экономики (economy) неизбежны, но они

всегда шли – тот же народившийся вновь «интернет» тому пример, но и сгинувший «несетевой» Kodak пример не меньший.

• Помним, что все эти роботы кому-то принадлежат (не сами себе) – и капитал сегодня акционерный. Работы будет меньше, её результаты достанутся всё одно людям.

• Когда начнётся движение за права конкретных роботов, тогда и поговорим. А пока не забиваем себе голову.

Page 12: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

Дилемма инноватора: мужики-то не знают!(Clayton Christensen из Гарварда)

12

Характеристики

Время

Лучшие технологии

Прорывные технологии

Характеристики лучших продуктовНа рынке

Характеристики худших продуктов на рынке

http://web.mit.edu/6.933/www/Fall2000/teradyne/clay.html

Page 13: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

13

Мои любимые примеры• Это не rocket science, студенты справляются!• Требования к аппаратуре для нейронных сетей

во многих задачах реально ниже, чем при любых других архитектурах!

• Локатор для роботов: 10 градусов при трёх микрофонах, разнесённых на 10см – стоимость всей аппаратуры <$50.

Page 14: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

Недостаток (вернее, НЕДОСТАТОК)

• Нейронную сеть нужно учить, для этого нужны данные.• Данных нужно МНОГО. Не BigData, А GiantData

(миллионы примеров)

•Данных для обучения обычно нет!• С этим работают, но пока не очень успешно.• Обязательное чтиво на эту тему:

http://habrahabr.ru/company/meanotek/blog/266961/

14

Page 15: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

Системная инженерия: борьба со сложностью

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

Page 16: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

16

МЕЖДИСЦИПЛИНАРНОСТЬИнтеллект-стек – это только одна ипостась системы

На основе рис.3в ISO 81346-1

-Модули

=Компоненты

+Места

Платформы, интерфейсы и их видимость – слои

Стек

Page 17: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

17

Платформы (наборы модулей)

Интеллект-стек1. Прикладной уровень2. Когнитивная архитектура3. Обучающиеся алгоритмы4. Вычислительные библиотеки5. Вычислительные языки программирования6. Аппаратное ускорение вычислений

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

Page 18: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

18

Ителлект-стек• «Как сделать», но не «как работает» и не «где

расположено»• Интерфейсы и протоколы: стандарты (де-юре и

де-факто)• Модули взаимозаменяемы: • На одном интерфейсе-стандарте• Переходники интерфейсов (wrappers)

• Модули взаимоувязаны (платформы, библиотеки)• «Видимость» обсуждается, но нет чётких границ

Page 19: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

19

Интеллект-стек (сентябрь 2015)1. Прикладной уровень2. Когнитивная архитектура3. Обучающиеся алгоритмы4. Вычислительные библиотеки5. Вычислительные языки программирования6. Аппаратное ускорение вычислений

http://ailev.livejournal.com/1210678.htmlЭто и есть мой вклад в deep learning

Page 20: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

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

http://www.theguardian.com/technology/2011/jul/06/broadband-speeds-uk

Page 21: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

21

Особенности «железа» для deep learning• Низкая разрядность плавающих, но не один бит (не

«настоящие нейроны»)!• x2 за последние 9 месяцев в 2015г. за счёт программной

оптимизации доступа к аппаратуре (софт и хард не независимы!)• Путаница «настоящих нейронов» и «алгоритмических»

(«нейроморфная аппаратура» против CPU, GPU, FPGA/DSP и т.д.). Помним о software everything (включая software radio)!• Битва CPU-GPU-FPGA/DSP• Суперкомпьютеры, квантовые компьютеры, мемристоры и

прочая экзотика

• Итого: цена входа около 20тыс.рублей (NVIDIA GTX 970)

Page 22: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

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 (язык молодой!)• …

Page 23: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

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

Page 24: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

24

3. Обучающиеся алгоритмы • Обучающиеся алгоритмы – или обучающиеся данные, а алгоритмы

обучающие?! Что, вообще, там учится?!• Называются чаще всего frameworks, ибо идут комплектами• Часто только часть больших вычислительных frameworks

(«зависимости»), указывают также язык разработки-использования (но часто используются из других языков, а иногда и сами написаны на чём-то типа С++)

• Предметно-специфические (deep learning – это как раз они!!!)

• Подразумевают частые изменения, свои в каждой команде – с ритмом выхода статей

• «Возьми под ключ» против «сделай свой алгоритм сам» (разным командам нужно разное)

• Наборы данных в комплекте – именно для оценки и сравнения этих алгоритмов!

• Фреймворки глубогоко обучения содержат «джентльменский набор»: CNN, RNN, … (а остальное даётся «пакетами» над вычислительной частью фреймворков)

Page 25: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

25

С чего начать:• Torch (и куча «пакетов» в нём)• Theano (и куча «пакетов» в нём)• Caffe• … их огромное количество: как веб-движков в эпоху

окончания эры вебмастеров• Strada.jl («по мотивам» Caffe)

Осваивать предметную область программистам нужно именно на этом уровне. Например, тьюториал http://cs231n.stanford.edu/syllabus.html

Список литературы: https://github.com/robertsdionne/neural-network-papers

Page 26: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

26

2. Когнитивные архитектуры• Молчим про AGI (и тем самым пытаемся избегать дискуссии про «что

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

• Когнитивный = знаниевый. Знание – информация, использующаяся в разных проектах, разных ситуациях.

• Ни один алгоритм не работает в одиночку, ни одна структура данных не существует сама по себе без алгоритмов.

• Ансамблирование алгоритмов deep learning – это дальние подходы к когнитивной архитектуре.

• Главное тут даже не «обучение», а «вывод» (reasoning)

• Когнитивная архитектура: один набор алгоритмов и данных – множественность применений (типичная «платформа»)

Page 27: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

27

Гибридный вывод и перенос знания

• Онтология и эпистемология• Hard computing (в том числе символический) и soft

computing (в том числе коннекционистский)• Statistical strength sharing, learning to learn, learning transfer,

…• Наука или инженерия?• Обучение без учителя• Обучение с умным учителем (а не самому)• Мультимодальность (символы и картинки, плюс звук и

ароматы)

•Это тема отдельного доклада: прорывы нужно ожидать тут

Page 28: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

28

Бионика или чистая инженерия?!• Традиционный флейм: повторять человеческий мозг или решать

задачи• Идеал: один простой алгоритм, который решает все задачи,

включая задачу собственной настройки• Для мозга: множество попыток объяснить интеллект (первая

architecture for cognition – Саймон и Фейгенбаум, 1960, EPAM – Elementary Perciever and Memorizer)

• На страничке википедии 37 «хорошо известных» – а менее известных сотни, у всех какие-то программные реализации

• Тренд: всё больше архитектур «не от мозга»• Память, внимание, сознание – но не память, внимание, сознание

человека• IBM Watson – «просто добавь ещё» (включая deep learning)• Есть полностью игнорирование мозга: MANIC• Именно в архитектурах использование И deep learning, И shallow

(machine learning), И классических методов.

Page 29: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

29

Пример: MANIC A Minimal Architecture for General Cognition (http://arxiv.org/abs/1508.00019)

• Ключевые слова: действия, планирование, наблюдения, решения, знания, …

Page 30: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

30

1. Прикладной уровень

• Инновации (продажи тут: killer application)• Все хотят: интеллектуальный помощник (M,

Google Now, Siri, Cortana, Alexa, … -- они развиваются более чем быстро)• Менее массовые, но не менее важные (не

«помощники», а «эксперты»): медицина, колл-центры, учителя

Page 31: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

31

Почему важен весь стек (1-6)• Инновации обеспечиваются (enable) с разных уровней стека –

необязательно целевого.• Самолёт на композитах, или электросамолёт – это инновации с

более низких платформенных уровней. Но самолёт при этом будет другим!

• Сами нейронные сетки смогли выйти в мейнстрим на прикладном уровне из-за инновации на уровне 6 (использование GPU)!

• Промежуточные сборки («коробочные решения») – NVIDIA DIGITS 2, уровни 6-3 (до алгоритмов, + UI).

• Ни одна фирма не потянет весь стек

Прогнозы:• Интерфейсы уровней стека будут стабилизироваться, ходить

«мимо интерфейса» будет всё дороже и дороже• Явного победителя в каждом уровне стека не будет, будет

конкуренция (как и конкуренция людей)

Page 32: А.Левенчук -- Интеллект-стек: как создаётся Deus ex Machina

32

Спасибо за внимание

Анатолий Левенчук,http://[email protected]

TechInvestLab