Эссе о разработке игр, мышлении и книгах

(Анти?)утопия науки

Я нахожусь далеко от науки, особенно от хардкорной. Да и сроки прогноза неопределённо долгие. Поэтому предлагаю смотреть на эссе, как на описания одного из множества вариантов отдалённого будущего.

Если копнуть в историю науки, можно заметить, что не существует чёткого момента её возникновения. Такого, чтобы: «вот досюда не было науки, а после она уже есть».

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

Очевидно, и до появления концепции научной деятельности, люди познавали мир, улучшали его. Более того, совершенствовали инструменты познания, пока те не оформились в то, что мы зовём наукой.

Фактически, наука — абстракция — мемплекс, который собрал под общим названием набор инструментов для манипуляций реальностью. Набор оказался удачным: результаты его применения усиливают эффективность будущих применений и приносят побочную пользу. Возникшая обратная связь и привела, вкупе с некоторыми другими штуками, к взрывному росту технологий.

Как любой мемплекс, набор концепций науки не фиксирован навечно, он меняется, иногда существенно. Например, критерий фальсифицируемости бы сформулирован относительно недавно — в 1935 году, и привёл к большим сдвигам в научной деятельности. А до этого как-то без него обходились.

То есть изменение даже базовых принципов науки нормально, фатальной катастрофой не грозит, происходило и будет происходить в будущем.

Возможности одного такого изменения и посвящено эссе.

Далее

Монополизация машинного обучения

Появление монополий почти всегда идёт во вред, но до всеобъемлющей цифровизации у людей оставались варианты защиты от шантажа отбором товаров или услуг.

С переводом жизни в цифру, средств защиты остаётся всё меньше, отказ от цифровых услуг откатывает уровень жизни на неприемлемые для большинства позиции.

До расцвета машинного обучения проблема IT монополий с трудом, но решалась созданием альтернативного ПО. Его авторами могли выступать как небольшие предприятия, так и сообщества энтузиастов, ратующие за свободное и открытое ПО.

Сначала альтернативный софт можно было создавать в одиночку. Затем группами всё большего размера.

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

Machine Learning, в его текущем виде, меняет расклад.

Далее

Реализация Generative Adversarial Network

В завершение разбирательства с Deep Learning решил посмотреть что-нибудь более интересное и ориентированное на генерацию контента — реализовать GAN.

По правде говоря, большую часть времени с GAN (и Autoencoder) я экспериментировал на спрайтах карты Сказки. Ожидаемо, на таком мизере обучающих данных ничего интересного не получилось. Хотя польза и была. Поэтому для поста я подготовил отдельный notebook с более наглядными результатами — генерацией обуви по набору данных Fashion MNIST.

Ноутбук с реализацией GAN и комментариями.

Про архитектуру GAN лучше почитать в вики, интернетах или моём ноутбуке.

Краткая суть:

  • Тренируются две сети: generator & discriminator.
  • Генератор учится создавать картинки из шума.
  • Дискриминатор учится отличать поддельные картинки от настоящих.
  • Ошибка дискриминатора определяется качеством предсказания фейковости изображения.
  • Ошибка генератора определяется качеством обмана дискриминатора.

Если правильно подобрать топологии сетей и параметры обучения, то в итоге генератор научается создавать картинки неотличимые от оригинальных. ??????. Profit.

Ссылки на курсы по Machine Learning & Deep Learning

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

Публикую, чтобы не пропадал зря.

Только ссылки. Свои комментарии вырезал — в исходном виде они никому кроме меня не помогут :-)

Далее

Kaggle: Digit Recognizer (MNIST) точность 0.99585

Примеры цифр из набора MNIST.

Примеры цифр из набора MNIST.

Продолжаю путешествие по занимательным землям Deep Learning.

В прошлый раз я учился заводить deep learning на локальной машине и делал совсем детскую, искусственную и неспецифическую для DL задачу.

В этот раз решил попробовать что-то более диплёрничное — научиться решать задачи на Kaggle. Есть предположение, что Kaggle — самый простой и интересный способ учить DL.

На этом сервисе есть задачи для новичков, одну такую — Digit Recognizer — я выбрал для тренировки. Соревнование по распознаванию рукописных цифр из набора MNIST. Этот набор должны были встречать даже люди далёкие от ML.

Notebook с решением и комментариями опубликован на github.

На момент отправки решение занимало 467 место из ~7000. На мой взгляд неплохой результат, учитывая, что первые мест 150 занимают читерские решения. MNIST — общедоступный набор данных, их можно скачать вне kaggle и залить в качестве решения готовые ответы, или переобучить сеть на полном наборе.

Далее