Дисклеймер: в этой статье я использую упоминания реальных компьютерных игр, чтобы вы могли воспользоваться моей рекомендацией и проверили смогут ли вам принести пользу эти игры. Уточню, что я не рекламирую их за деньги, поэтому ссылки на скачивание давать не буду, предполагая, что названия игры достаточно, чтобы найти ее в интернете.
Параллельно со своей текущей работой в IT, я смотрю, что еще есть интересного в области технологий и куда потенциально могу развивать свои навыки. Из прорывных областей, привлекающих внимание сейчас - это data science, machine learning, искусственный интеллект. Все это сложные домены и чтобы прилично научиться хоть чему-то из этого, придется полностью погрузиться в них на несколько лет.
Я исхожу из позиции, что любой человек может изучить и понять что угодно при условии, что у него будет достаточно для этого времени. Но так как мы не располагаем бесконечным временем, то хотелось бы найти такой формат обучения, при котором в идеале можно не только изучить предметную область, но еще и вовремя понять нравится ли мне эта область и стоит ли тратить на нее свой временной ресурс.
Для меня проблема изучения сложных комплексных доменов часто заключается в невозможности применить их здесь и сейчас. Посмотреть их действие в реальности, что-нибудь с их помощью посчитать, вычислить, создать, сформулировать. Собственно поводом написать эту статью стала другая статья про вход в Machine Learning с нуля с перечислением необходимых теоретических основ и даже ссылками на ресурсы для обучения. Меня это все очень заинтересовало и я честно села смотреть первое видео про векторы по плану из статьи. В целом это интересно для общей эрудиции, но я поймала себя на мысли, что мне приходится себя заставлять. Почему так происходит? Ведь мне интересна эта тема, ну вернее не именно эта тема, а её прямое отношение к теме машинного обучения. Мне пришла в голову мысль, что такой подход похож на обучение в университете: мне нужно изучить кучу теории, прежде чем я смогу заняться реальными задачами. При этом полноценного понимания того, что мне действительно понравится решать ML-задачи у меня нет.
А как тогда продолжать изучать сложное и не сойти с дистанции? Пожалуй, мне было бы комфортнее погружаться в область через постепенное решение прикладных задачек от простых к сложным. И чтобы желание решить конкретную задачу мотивировало меня изучить линейную алгебру, а не абстрактное понимание, что "надо, Федя, надо". То есть, например, сначала дать поиграть в игры на алгоритмы, потом предложить запрограммировать робота на шаги, потом обучить простую нейронную сеть и так далее. И для каждой задачи указывать какие знания будут нужны. Мне бы хотелось использовать такой формат обучения, но есть ли такой?
Таким форматом для меня стали игры, не все подряд, конечно, а как правило логические, результатом которой является решение некой задачки.
Ниже я расскажу про компьютерные игры, которые помогли мне запустить бездействующие в голове шестеренки, и дали возможность понять основы абстрактных предметных областей без предварительного глубокого погружения в теорию. Для прохождения этих игр не нужно иметь никаких знаний предварительно, кроме возможности сохранять концентрацию длительное время и любить решать головоломки.
Human Resource Machine
Что стимулирует к пониманию: низкоуровневое программирование, как работает процессор
Самая первая игра, которая показала мне, что программирование может быть увлекающим занятием и это не настолько запредельно сложно как может показаться с первого взгляда. Эта игра дала понимание как логические операции превращаются в команды, а команды в решение прикладных задач. Приятно то, что смогла решить реальные задачи, даже не зная глубоко ни математику, ни программирование. Это дало мне уверенность в своих силах, и понимание что участвовать в решении глобальных задач можно даже без классического профильного образования.
7 Billion Humans
Что стимулирует к пониманию: распределенные вычисления, производительность
Продолжение от создателя первой игры. И здесь я почувствовала как мой
while True: learn()
Что стимулирует к пониманию: нейросети, машинное обучение
Эта игра как раз побудила меня написать эту статью. Создатели смогли скомбинировать то, что я так долго искала - геймплей с обучающими ресурсами. Каждая игровая задача имеет под собой реальные научные события, на описание которых они дают ссылку. Большое спасибо им за это, потому что я поняла, что ML пока что мне не настолько интересен, чтобы вкладывать в него свое время.
Opus Magnum
Что стимулирует к пониманию: алгоритмы, оптимизация, автоматизация
Если иногда вы думаете: "а может на завод махнуть", то эта игра дает такую возможность. Эта игра будет полезна, если у вы управляете комбинированным набором инструментария: процессами, людьми, переменными в коде. Их можно составить как получится и превратить в хаотичное, но работающее легаси. А можно поискать особенно "красивые", эффективные и оптимальные решения.
Wargroove
Что стимулирует к пониманию: шахматы, стратегии, планирование
Никогда не понимала шахматы и мотивации научиться играть в них не было. Эта игра вызвала во мне азартное воодушевление - как спланировать свои действия, не зная что именно ждет впереди. Особенно приятно, конечно, когда мои небольшие решения привели к большой выигрышной стратегии. Эта игра показала мне, что агрессивная хаотичная стратегия как правило ведет к поражению, а думать вдолгую в какой-то момент стало скучно, поэтому в полководцы и топ-менеджеры мне идти не стоит.
Baba Is You
Что стимулирует к пониманию: логика, логическое
Тут нужно постоянно помнить "кто ты" и "кто они", потому что от этого зависят законы окружающего мира. Эта игра дала понять и прочувствовать что такое контекст и как он влияет на смежное окружение и на меня саму. Насколько важно видеть взаимосвязи и паттерны, определяющие меня как "я" и меня как "часть". Помогла понять как состояния конформизма и негативизма могут уживаться в голове одновременно и что это нормально.
Послесловие
Конечно, это все игры, а реальные задачи часто связаны с неинтересными, скучными, а порой и неприятными, с точки зрения
У меня все еще сохраняются проблемы в быстром понимании математических действий и выражений. Мне надо прямо сильно задуматься, прежде чем сложу в голове решение задачи через какую-то математическую операцию. Посоветуйте что-нибудь игровое для запуска моих математических шестеренок.
Еще хочу прокачать свой навык публичного выражения мыслей. Мне всегда есть что сказать, но
Автор: Spelling