Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

11,700 views

Published on

Доклад А.Левенчука "Интеллект-стек: как создаётся Deus ex Machina" на заседании клуба "Щепотка Соли", 25 сентября 2015г.

Published in: Technology

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

  1. 1. Интеллект-стек: как создаётся Deus ex Machina Клуб «Щепотка соли» Москва 24 сентября 2015г.
  2. 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
  3. 3. Сплошное надувательство: интернет 3
  4. 4. Oops!... I did it again • Основные инвестиции приходят после того, как пузырь лопнул • Продукты появляются через год-два-три после вложения денег • Сравните: первый WWW-сайт появился в 1991, пузырь лопнул в 2000 4
  5. 5. Сегодня: $1 000 000 000 инвестировано в deep learning https://medium.com/@VentureScanner/the-state-of-artificial-intelligence-in-six-visuals-8bc6e9bf8f32 5
  6. 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. 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. Круче интернета: вся промышленность, наука и искусство, а не только транспорт Интернет • телефон-на-стероидах, газета- на-стероидах, телевидение-на- стероидах, библиотека-на- стероидах – логистика (транспорт и склады). • Управление информацией (информацию не меняем): максимизировать поток релевантной информации оттуда, где она есть туда, где она нужна. Нейронные сетки: • Софт-на-стероидах (какая-то обработка информации, «обрабатывающая промышленность», «наука», «искусство»). • Инженерия информации (информацию меняем, создаём новую): понять потребности, сформулировать требования, придумать решение, сформулировать результат, проверить результат на соответствие требованиям и потребностям 8 Синергия: инженерия и управление обычно тесно связаны, одно без другого не бывает. Промышленные центры и железные дороги неразрывны. Нейронные сетки и интернет существенно дополняют друг друга.
  9. 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. Но если там нет «интеллекта», то в чём тогда крутость?! • Можно обсуждать, когда точность компьютерного диагноза превысит точность диагноза, поставленного опытным врачом. Обсуждать примерно так же, как обсуждается точность замера лазерным дальномером по сравнению с точностью глазомера опытного строителя. • Только лазерный дальномер не подскажет, как строить. А нейронная сетка сможет подсказать, как лечить. И как строить. Только и всего, ничего человеческого. • Этого хватит, чтобы жизнь поменялась круче, чем с приходом интернета. 10
  11. 11. Надуется и лопнет, как всегда? • Да, обязательно надуется и обязательно лопнет (а центральные банки этому только помогут) • Но не факт, что дальше рост будет «как всегда»: • решения начнут принимать не только люди, всё станет быстрее и точнее и решений будет приниматься больше • Производительность труда вырастет, работать будут не только люди • Суть экономики (economics, наука) не изменится, в основе там аксиомы. • Структурные перестройки экономики (economy) неизбежны, но они всегда шли – тот же народившийся вновь «интернет» тому пример, но и сгинувший «несетевой» Kodak пример не меньший. • Помним, что все эти роботы кому-то принадлежат (не сами себе) – и капитал сегодня акционерный. Работы будет меньше, её результаты достанутся всё одно людям. • Когда начнётся движение за права конкретных роботов, тогда и поговорим. А пока не забиваем себе голову. 11
  12. 12. Дилемма инноватора: мужики-то не знают! (Clayton Christensen из Гарварда) 12 Х а р а к т е р и с т и к и Время Характеристики лучших продуктов На рынке Характеристики худших продуктов на рынке http://web.mit.edu/6.933/www/Fall2000/teradyne/clay.html
  13. 13. Мои любимые примеры • Это не rocket science, студенты справляются! • Требования к аппаратуре для нейронных сетей во многих задачах реально ниже, чем при любых других архитектурах! • Локатор для роботов: 10 градусов при трёх микрофонах, разнесённых на 10см – стоимость всей аппаратуры <$50. 13
  14. 14. Недостаток (вернее, НЕДОСТАТОК) • Нейронную сеть нужно учить, для этого нужны данные. • Данных нужно МНОГО. Не BigData, А GiantData (миллионы примеров) •Данных для обучения обычно нет! • С этим работают, но пока не очень успешно. • Обязательное чтиво на эту тему: http://habrahabr.ru/company/meanotek/blog/266961/ 14
  15. 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. 16. МЕЖДИСЦИПЛИНАРНОСТЬ Интеллект-стек – это только одна ипостась системы На основе рис.3 в ISO 81346-1 -Модули =Компоненты +Места 16 Платформы, интерфейсы и их видимость – слои Стек
  17. 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. 18. Ителлект-стек • «Как сделать», но не «как работает» и не «где расположено» • Интерфейсы и протоколы: стандарты (де-юре и де-факто) • Модули взаимозаменяемы: • На одном интерфейсе-стандарте • Переходники интерфейсов (wrappers) • Модули взаимоувязаны (платформы, библиотеки) • «Видимость» обсуждается, но нет чётких границ 18
  19. 19. Интеллект-стек (сентябрь 2015) 1. Прикладной уровень 2. Когнитивная архитектура 3. Обучающиеся алгоритмы 4. Вычислительные библиотеки 5. Вычислительные языки программирования 6. Аппаратное ускорение вычислений 19http://ailev.livejournal.com/1210678.html Это и есть мой вклад в deep learning
  20. 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. 21. Особенности «железа» для deep learning • Низкая разрядность плавающих, но не один бит (не «настоящие нейроны»)! • x2 за последние 9 месяцев в 2015г. за счёт программной оптимизации доступа к аппаратуре (софт и хард не независимы!) • Путаница «настоящих нейронов» и «алгоритмических» («нейроморфная аппаратура» против CPU, GPU, FPGA/DSP и т.д.). Помним о software everything (включая software radio)! • Битва CPU-GPU-FPGA/DSP • Суперкомпьютеры, квантовые компьютеры, мемристоры и прочая экзотика • Итого: цена входа около 20тыс.рублей (NVIDIA GTX 970) 21
  22. 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. 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. 24. 3. Обучающиеся алгоритмы • Обучающиеся алгоритмы – или обучающиеся данные, а алгоритмы обучающие?! Что, вообще, там учится?! • Называются чаще всего frameworks, ибо идут комплектами • Часто только часть больших вычислительных frameworks («зависимости»), указывают также язык разработки- использования (но часто используются из других языков, а иногда и сами написаны на чём-то типа С++) • Предметно-специфические (deep learning – это как раз они!!!) • Подразумевают частые изменения, свои в каждой команде – с ритмом выхода статей • «Возьми под ключ» против «сделай свой алгоритм сам» (разным командам нужно разное) • Наборы данных в комплекте – именно для оценки и сравнения этих алгоритмов! • Фреймворки глубогоко обучения содержат «джентльменский набор»: CNN, RNN, … (а остальное даётся «пакетами» над вычислительной частью фреймворков) 24
  25. 25. С чего начать: • Torch (и куча «пакетов» в нём) • Theano (и куча «пакетов» в нём) • Caffe • … их огромное количество: как веб-движков в эпоху окончания эры вебмастеров • Strada.jl («по мотивам» Caffe) Осваивать предметную область программистам нужно именно на этом уровне. Например, тьюториал http://cs231n.stanford.edu/syllabus.html Список литературы: https://github.com/robertsdionne/neural-network- papers 25
  26. 26. 2. Когнитивные архитектуры • Молчим про AGI (и тем самым пытаемся избегать дискуссии про «что такое интеллект и почему вам не удастся повторить человеческий интеллект», а также не возбуждаем обывателей с их дежурными голливудскими страшилками). • Когнитивный = знаниевый. Знание – информация, использующаяся в разных проектах, разных ситуациях. • Ни один алгоритм не работает в одиночку, ни одна структура данных не существует сама по себе без алгоритмов. • Ансамблирование алгоритмов deep learning – это дальние подходы к когнитивной архитектуре. • Главное тут даже не «обучение», а «вывод» (reasoning) • Когнитивная архитектура: один набор алгоритмов и данных – множественность применений (типичная «платформа») 26
  27. 27. Гибридный вывод и перенос знания • Онтология и эпистемология • Hard computing (в том числе символический) и soft computing (в том числе коннекционистский) • Statistical strength sharing, learning to learn, learning transfer, … • Наука или инженерия? • Обучение без учителя • Обучение с умным учителем (а не самому) • Мультимодальность (символы и картинки, плюс звук и ароматы) •Это тема отдельного доклада: прорывы нужно ожидать тут 27
  28. 28. Бионика или чистая инженерия?! • Традиционный флейм: повторять человеческий мозг или решать задачи • Идеал: один простой алгоритм, который решает все задачи, включая задачу собственной настройки • Для мозга: множество попыток объяснить интеллект (первая architecture for cognition – Саймон и Фейгенбаум, 1960, EPAM – Elementary Perciever and Memorizer) • На страничке википедии 37 «хорошо известных» – а менее известных сотни, у всех какие-то программные реализации • Тренд: всё больше архитектур «не от мозга» • Память, внимание, сознание – но не память, внимание, сознание человека • IBM Watson – «просто добавь ещё» (включая deep learning) • Есть полностью игнорирование мозга: MANIC • Именно в архитектурах использование И deep learning, И shallow (machine learning), И классических методов. 28
  29. 29. Пример: MANIC A Minimal Architecture for General Cognition (http://arxiv.org/abs/1508.00019) • Ключевые слова: действия, планирование, наблюдения, решения, знания, … 29
  30. 30. 1. Прикладной уровень • Инновации (продажи тут: killer application) • Все хотят: интеллектуальный помощник (M, Google Now, Siri, Cortana, Alexa, … -- они развиваются более чем быстро) • Менее массовые, но не менее важные (не «помощники», а «эксперты»): медицина, колл- центры, учителя 30
  31. 31. Почему важен весь стек (1-6) • Инновации обеспечиваются (enable) с разных уровней стека – необязательно целевого. • Самолёт на композитах, или электросамолёт – это инновации с более низких платформенных уровней. Но самолёт при этом будет другим! • Сами нейронные сетки смогли выйти в мейнстрим на прикладном уровне из-за инновации на уровне 6 (использование GPU)! • Промежуточные сборки («коробочные решения») – NVIDIA DIGITS 2, уровни 6-3 (до алгоритмов, + UI). • Ни одна фирма не потянет весь стек Прогнозы: • Интерфейсы уровней стека будут стабилизироваться, ходить «мимо интерфейса» будет всё дороже и дороже • Явного победителя в каждом уровне стека не будет, будет конкуренция (как и конкуренция людей) 31
  32. 32. 32 Спасибо за внимание Анатолий Левенчук, http://ailev.ru ailev@asmp.msk.su TechInvestLab

×