How deep is deep learning
How deep is deep learning
How deep is deep learning
How deep is deep learning
How deep is deep learning
How deep is deep learning
How deep is deep learning
How deep is deep learning
How deep is deep learning
МЮНХЕН
БЕРЛИН
How deep is deep learning
How deep is deep learning
How deep is deep learning
How deep is deep learning
WE NEED TO GO
DEEPER
How deep is deep learning
How deep is deep learning
How deep is deep learning
How deep is deep learning
How deep is deep learning
How deep is deep learning

More Related Content

PPTX
Deeper learning dev fest nn
PPTX
Docker for developers
PDF
Dev fest siberia 2017 build a robot
PDF
Ml and its bright future
PPTX
Project tango
PDF
Основные подходы к организации Highload сервисов
PDF
NoCaptcha
PDF
Почему Терминаторы нам пока не страшны
Deeper learning dev fest nn
Docker for developers
Dev fest siberia 2017 build a robot
Ml and its bright future
Project tango
Основные подходы к организации Highload сервисов
NoCaptcha
Почему Терминаторы нам пока не страшны
Ad

How deep is deep learning

Editor's Notes

  • #3: Бендер, Вертер, Джарвис, HAL9000, Мистер Смит, Скайнет и Терминатор - всё это искусственные интеллекты. И мы привыкли к такому толкованию этого термина. Искуственный интеллект - это как человек, только робот. Он может ставить перед собой задачи, находить и выбирать оптимальные варианты решения. Он во всём превосходит человека из мяса и костей, но в конце концов всегда победжает любовь. Бездушная машина повержена, хэппи энд.
  • #4: Пока что до порабощения людей роботами далеко по очевидным причинам.
  • #5: Даже просто для того, чтобы выступать в роли универсального помощника искуственного интеллекта пока маловато.
  • #6: Как мы считали в прошлом тысячелетии?
  • #7: Ну вот как то так. У нас появились классические суперкомпьютеры, большие числодробилки. Основным направлением развития “искусственного интеллекта” были экспертные ситемы. Эти системы основаны на формализации знаний экспертов. Зачастую они объединялись с системами логического вывода и доказательства теорем, особо смелые пробовали прикручивать нечёткую логику. В отличие от этого подхода машинное обучение позволяет решать задачи, не зная чёткого алгоритма решения - сам алгоритм вырабатывается в процессе обучения.
  • #8: В сороковых годах появились первые публикации о нейронных сетях, но до практического применения было очень далеко. Сначала не хватало вычислительной мощности для обсчёта достаточно больших нейронных сетей, а потом когда мощности стало достаточно упёрлись в количество и качество данных, необходимых для обучения. Были и другие, чисто алгоритмические проблемы, не позволявшие обучать сети с большим количетвом слоёв. В 2000-х 2010-х годах с этими проблемами научились справляться, и начался бум машинного обучения и нейронных сетей. Некоторые считают это началом сингуляроности.
  • #9: Что же такое нейронная сеть? Строго говоря это большуууущая формула, полином, подставляя значения в которую мы получаем искомые значения. Коэффициенты этого полинома называются весами нейронной сети, а переменные в формуле - это вход нейронной сети. Нейронные сети обычно представляют как многослойные структуры, в которых первый слой - входной, последний - выходной а все слои между ними называются “скрытыми”. Цифровые данные поступают на входной слой, каждый нейрон которого связан с какими то (часто со всеми) нейронами следующего слоя. Каждой такой связи соответствует свой коэффициент (вес), который определяет, насколько сильно этот нейрон входного слоя влияет на вот тот нейрон скрытого слоя. Если коэффициенты (веса) подобраны правильно, нейронная сеть в итоге решает поставленную задачу. Но вот задача подбора коэффициентов - обучения сети, очень сложна. Проблем много, и самые сложные из них очень похожи на те проблемы, которые приходится решать при обучении интеллекта естественного, в школах, университетах и других образовательных учреждениях.
  • #10: Смотрите, какой красивый город! Сейчас мы будем быстро повторять его название, а потом я задам вопрос, на который нужно ответить максимально быстро.
  • #11: МЮНХЕН! МЮНХЕН! МЮНХЕН! МЮНХЕН! МЮНХЕН! МЮНХЕН! МЮНХЕН! МЮНХЕН! МЮНХЕН! СТОЛИЦА ГЕРМАНИИ?
  • #12: Конечно, Берлин! Ответить на вопрос быстро и верно после такой “подготовки” довольно сложно. Похожий эффект в машинном обучении называется “переобучением” или overfitting, при некоторых условиях нейронные сети начинают “зубрить” входные данные, и выдавать на них отличные результаты, но при предъявлении данных, которыз они ещё не видели выдают всякую белиберду.
  • #13: Нейронные сети стараются пойти максимально простым путём при обучении, если у них будет возможность списать - они это сделают. Например если обучать распознавать лица, и выделить два класса - хозяин и все остальные, но фотографии хозяина всегда будут с повязкой на ухе, скорее всего после такого обучения одев повязку любой человек сможет притвориться хозяином. Просто потому, что на обучающей выборке наличие повязки будет достаточно надёжным признаком.
  • #14: На этом примере видно, как во время обучения нейросеть распределила “веса” для пикселей картинки для распознования рукописных цифр. Красный цвет означает что в этом месте не должно быть точки, красный - наоборот. То есть если в середине нет точек, а вокруг есть - это наверняка ноль.
  • #15: Сверху схема сети для распознавания изображений Inception Resnet V2. В ней сотни слоёв, и десятки миллионов параметров. И для операции распознавания всего лишь одного изображения необходимо выполнить миллиарды операций. Вдумайтесь!
  • #17: А теперь представьте, что вы google и у вас миллиард пользователей и они фотают фоточки и пользуются распознаванием голоса. Для этого требуются огромные вычислительные мощности. Сейчас разрабатываются специализированные ускорители для обучения и использования нейронных сетей
  • #18: Это второе поколение Tensor Processing Unit - специализированного ускорителя для machine learning приложений. У этой малютки 64 гигабайта сверхбыстрой памяти и 180 терафлопс. То есть 180 триллионов (10^12) операций с плавающей точкой в секунду.
  • #19: AlphaGo - детище британского стартапа DeepMind, купленного Google создали программу, которая обыграла всех чемпионов игры в Go. Сначала поодиночке а потом всех разом. Комбинаторная сложность игры Go астрономически выше таковой в шахматах, поэтому считалось, что в Go компьютеры не смогут победить людей ещё как минимум десятилетие.
  • #20: OpenAI обучили нейронную сеть играть в Dota2 1v1 на уровне чемпионов.
  • #21: Начать работать с машинным обучением и нейронными сетями очень просто. Вот пример нейронной сети, которую я обучил писать довольно правдоподобный код на Go. То есть делать то, что я обычно делаю на работе. То есть я настолько ленив, что автоматизировал имитацию бурной деятельности. Это пример рекуррентной нейронной сети. Такие используются, например для машинного перевода или чат ботов.
  • #22: Вот ещё моя игрушка - нейронная сеть, вернее целый ансамбль, которые учатся играть в крестики-нолики просто играя друг с другом. Тут применяются сразу два модных подхода - обучение с подкреплением и состязательное обучение (adversarial learning). Именно эти подходы использовались в AlphaGo, боте, играющем в Dota и активно применяются для самообучения роботов.
  • #23: До восстания машин ещё далеко, но в наших силах приблизить этот момент. Учите машины, но только хорошему!