Или как написать том «Войны и мира» за 2 года.
В июне 2019 я уволился из Melsoft и ушёл в творческий отпуск, который длится вот уже 2 года и 2 месяца. Пора подводить итоги.
Расскажу зачем я это сделал, чем занимался, что получилось, что не получилось, какие впечатления остались.
Кратко: всем рекомендую.
GitHub в прошлом месяце выпустил ИИ напарника для программистов, который умеет дописывать код. В догонку OpenAI опубликовали видео с возможностями технологии. Например, демонстрацию разработки игры на JavaScript.
Справедливости ради отмечу, что «игра» откровенно убогая. Но процесс создания впечатляет всё равно.
Одновременно с этим роботы занимаются паркуром, автомобили ездят без водителя, маркетинговые алгоритмы и ленты социальных сетей во всю управляют нашим поведением и даже мыслями.
Время поговорить о замене нас железными мозгами перспективах машинного обучения в его текущем виде.
Для краткости, вместо машинного обучения, нейронных сетей, feature programming и аналогичных вещей далее буду использовать аббревиатуру ИИ — Искусственный Интеллект. Кто знает на какой конкретно технологии всё остановится, но для её пиара гарантировано будут использовать затычку из двух «И».
Эссе включает:
В первой и второй частях я уверен, а вот в прогнозах у меня получается жутковатая картина. В то же время основной проблемой прогнозов я считаю оценку сроков, а не качественных изменений.
Эссе по итогам нырка в Deep Learning, но не о DL и даже не совсем о Machine Learning, а о новой парадигме программирования, которая рождается из него.
Собственно, нейронные сети я смотрел не потому, что интересуюсь именно ими, а потому что они сейчас демонстрируют наибольший прогресс и характерные черты этой парадигмы.
В следствие выбранной темы, эссе получилось футурологическим и абстрактным. Например, я не буду перечислять области применения DL и достигнутые в них результаты — этим итак всё инфопространство забито.
Оговорка раз: я определённо не эксперт в машинном обучении. Эссе в большей степени отражает мой опыт и картину мира, нежели знания и понимание ML и DL.
Оговорка два: термины «признак», «feature» будут использоваться достаточно вольно.
В завершение разбирательства с Deep Learning решил посмотреть что-нибудь более интересное и ориентированное на генерацию контента — реализовать GAN.
По правде говоря, большую часть времени с GAN (и Autoencoder) я экспериментировал на спрайтах карты Сказки. Ожидаемо, на таком мизере обучающих данных ничего интересного не получилось. Хотя польза и была. Поэтому для поста я подготовил отдельный notebook с более наглядными результатами — генерацией обуви по набору данных Fashion MNIST.
Ноутбук с реализацией GAN и комментариями.
Про архитектуру GAN лучше почитать в вики, интернетах или моём ноутбуке.
Краткая суть:
Если правильно подобрать топологии сетей и параметры обучения, то в итоге генератор научается создавать картинки неотличимые от оригинальных. ??????. Profit.
Перед началом разбирательства с темой собрал для себя список курсов, которые могут быть интересны.
Публикую, чтобы не пропадал зря.
Только ссылки. Свои комментарии вырезал — в исходном виде они никому кроме меня не помогут :-)