What Machine Learning Can Teach Us About Life - 7 Lessons
Юджин Янь делится семью уроками из машинного обучения, применимыми к жизни. Очистка данных учит фильтровать пищу, контент и отношения; поиск опровергающих данных помогает обновлять убеждения и бороться с confirmation bias. Баланс explore-exploit важен в карьере и решениях, а transfer learning подсказывает, что книги и научные статьи — это «читы», ведь школа лишь предобучение. Итерации требуют терпимости к неудачам (Angry Birds провалились 51 раз, Dyson — 5126 раз за 15 лет) и скорости. Защита от overfitting — мышление новичка по дзен-буддизму и постоянное переобучение, а ensembling показывает силу разнообразия команд и междисциплинарного мышления, как у Стива Джобса и Скотта Адамса.
Чему машинное обучение может научить нас в жизни — 7 уроков
[ machinelearning life ] · 11 мин чтения
Я много думаю о машинном обучении. И я много думаю о жизни. Иногда эти каналы пересекаются, и я нахожу определённые уроки из машинного обучения применимыми к жизни.
Вот семь уроков. Хотя я предполагаю, что большинство читателей знакомы с этими концепциями машинного обучения, я начинаю каждый урок с краткого объяснения.
Очистка данных: оценивайте то, что потребляете
Мы очищаем данные, чтобы наш последующий анализ или машинное обучение были корректными. Как пишет Randy Au, очистка данных — это не чёрная работа, это сама работа.
Мы не используем данные без их исследования и очистки. Аналогично, мы не должны потреблять жизненные входные данные без оценки и фильтрации.
Возьмём, например, еду. Как часто мы тянемся за тем, что доступно и легко приготовить? Ещё несколько лет назад я с удовольствием уплетал миску сладких хлопьев Sugary-Os каждый день. Теперь, осознавая семейную историю с диабетом, я более избирателен и уделяю больше внимания пищевой ценности. К тому же с возрастом метаболизм замедляется, и мне приходится прилагать сознательные усилия, чтобы питаться здоровее и избегать вредной еды.
Сахар «полезен» для вас (источник)
То же самое с контентом. Новостные ресурсы и соцсети ранжируют информацию по вирусности и рекламной ценности. «Пустые информационные калории», которые легко потреблять, но которые нас не обогащают, распространяются быстрее. Дезинформация повсюду. Часть контента находится в дурном вкусе и откровенно токсична, а попытки вступить в дискуссию заканчиваются плохо. Ради сохранения рассудка просто фильтруйте это. Курируйте свои источники новостей и тех, на кого вы подписаны в соцсетях.
Последний пример — отношения. У всех нас есть люди в жизни, которые приносят больше вреда, чем пользы. Они отвлекают или отбивают желание заниматься продуктивными привычками. Некоторые сплетничают за спиной и играют в манипулятивные игры, несмотря на наши лучшие усилия наладить отношения. Отпустить их — значит освободить место для расцвета более продуктивных отношений.
Низкосигнальные vs высокосигнальные данные: ищите опровержения и обновляйтесь
Помимо фильтрации шума, мы также хотим целенаправленно искать данные, которые обновляют нашу границу решения.
По мере получения опровергающих данных граница решения сдвигается (в центре) и становится нелинейной (справа)
На левом изображении выше мы начинаем с двух легко разделяемых кластеров и линейной границы решения с широким зазором. (Обведённые точки — одна синяя, две красные — это опорные векторы.) На центральном изображении с единственной новой точкой данных граница решения сильно сдвигается, а зазор сужается. Справа, по мере получения новых данных, мы узнаём, что нелинейная граница решения (и мягкий зазор) работает лучше.
В жизни мы тоже должны сознательно искать данные, которые обновляют наши предположения, гипотезы и границы решений. Что-то вроде противоположности confirmation bias.
Истинное невежество — это не отсутствие знаний, а отказ их приобретать. — Karl Popper
Возьмём, например, обратную связь. Получение положительной обратной связи похоже на добавление новых данных на правильной стороне границы решения — это всегда приятно, но мало помогает в улучшении. Меня больше интересует получение негативной обратной связи, чтобы я мог обновить свой жизненный алгоритм и расти.
Explore-Exploit: соблюдайте баланс ради большего долгосрочного вознаграждения
В обучении с подкреплением мы сталкиваемся с компромиссом exploration-exploitation. Мы можем либо исследовать, чтобы получить больше информации (например, о вероятностях переходов, наградах), которая может привести к лучшим будущим решениям и наградам, либо эксплуатировать и принимать лучшее решение — учитывая текущую информацию — ради максимальной награды сейчас.
Мы хотим получить лучшее решение как можно быстрее. Но слишком быстрая фиксация на решении, без достаточного исследования, плоха и может привести к локальным оптимумам. С другой стороны, неразборчивое исследование бессмысленно. Найти правильный баланс трудно.
В жизни всё так же. Полгода назад я решил, что бенто со свиной грудинкой из азиатского супермаркета — самый дешёвый (менее $7 после 17:00) и вкусный вариант ужина в пешей доступности. Однако я попробовал всего несколько мест и давно не пробовал других вариантов — откуда мне знать, что это всё ещё самая высокая полезность? (Кстати, напишите мне, если знаете дешёвую еду на вынос без лишних хлопот в центре Сиэтла).
На более серьёзную тему — поговорим о карьере. Если вы только что окончили университет и ещё не поняли, чем хотите заниматься — это нормально. Не все из нас бросают (колледж), чтобы создать мультимиллиардные компании — не будьте слишком строги к себе. Найдите время изучить разные карьерные пути и найти то, что подходит именно вам. Не торопитесь выбирать карьеру только потому, что так сказал папа/общество/LinkedIn.
"Ваша цель в жизни — найти людей, которые нуждаются в вас больше всего, найти бизнес, который нуждается в вас больше всего, найти проект и искусство, которые нуждаются в вас больше всего. Где-то там есть нечто, предназначенное именно для вас." — @naval — Naval Ravikant Bot (@NavalBot) 16 января 2019
А когда вы это поймёте — удваивайте усилия. Matthew McConaughey хотел перевестись с юридического факультета в киношколу и не знал, как это воспримет отец. Вместо неодобрения он услышал три величайших слова: «Не делай это спустя рукава».
Три самых важных слова, которые отец Matthew McConaughey сказал ему. Слушайте моё полное интервью с @McConaughey здесь: https://t.co/Lx15hHZzOJ pic.twitter.com/GxaayzN0Gr — Tim Ferriss (@tferriss) 19 октября 2020
Величайшие слова, которые когда-либо услышал Matthew McConaughey: «Не делай это спустя рукава»
Как только мы переключаемся с исследования на эксплуатацию — принимайте обязательства и доводите дело до конца. Тратить слишком много энергии на побочное исследование расточительно. Тем не менее, время от времени поднимайте голову и смотрите, нет ли лучшего пути. Как и во многих вещах, ключевой момент — найти правильный баланс.
(Уточнение: не всё нужно тщательно исследовать. Большинство решений — это двусторонние двери. Кроме того, учитывая ограниченное время и энергию, нормально выбирать «достаточно хорошо».)
Transfer Learning: книги и научные статьи — это читы
В глубоком обучении предобучение — это шаг тренировки наших моделей на другом, обычно большем наборе данных, перед применением transfer learning (он же fine-tuning) к нашей конкретной задаче и данным.
Например, мы используем модели, предобученные на ImageNet, для задач компьютерного зрения. Для языка современные модели включают шаг неконтролируемого предобучения. Чтобы адаптировать предобученные модели к нашим конкретным задачам, мы применяем transfer learning, добавляя свои финальные слои, предоставляя входы и метки, специфичные для задачи, и проводим fine-tuning для обновления весов модели.
Аналогично, мы можем рассматривать школу как обобщённое предобучение. Нас предобучают на общей теории, методах и знаниях по различным предметам (математика, естественные науки, гуманитарные науки и т. д.). Но после выпуска (или даже до) нам нужно дообучаться для конкретных задач, таких как разработка ПО, открытие бизнеса или найм команд. Суть в том, что школа — это действительно лишь предобучение, не относитесь к выпуску как к концу обучения.
Transfer learning — это чит-код для машинного обучения. И для жизни тоже работает; я обнаружил, что книги — безусловно лучшие предобученные модели. Книги — это веса и смещения великих мыслителей, живших до нас. Книги содержат жизнь обучения, сжатую в пару сотен страниц в удобоваримом формате. Научные статьи — ещё один высококачественный источник обучения. Они содержат годы исследований, экспериментов и обучения, сжатые в одну статью. Особенно поучительными я нахожу те, что включают ablation studies.
Удивительно ли, что самые успешные и образованные люди — заядлые читатели?
Человек, который не читает, не имеет преимущества над тем, кто читать не умеет. — Mark Twain
Итерации: найдите повторения, которые сможете терпеть, и итерируйте быстро
Многие техники машинного обучения подразумевают итерации. Gradient boosted trees итеративно выращивают новые деревья на основе псевдоостатков (т. е. остаточной ошибки) от предыдущего дерева. Gradient descent — это итеративный алгоритм оптимизации для поиска наименьшей ошибки. Модели глубокого обучения тренируются итеративно через эпохи, где каждая эпоха пропускает весь набор данных через сеть.
Жизнь тоже включает итерации. Мы не поймём статью полностью, прочитав её один раз. (Мне обычно нужно три прохода.) Первая модель машинного обучения, которую мы обучим, скорее всего, не побьёт baseline; нам нужно итерировать и пробовать разные данные, признаки, целевые функции, параметры и т. д. Наш первый A/B-тест, вероятно, пройдёт не очень (но 🤞). Не переживайте, если не получилось с первого раза — у кого получается? Пока мы продолжаем итерировать, мы растём и улучшаемся.
В том же духе — не ждите, что успех придёт за одну ночь. Разработчики Angry Birds потерпели неудачу 51 раз, прежде чем нашли игру, которая выстрелила. Sir James Dyson потерпел неудачу 5126 раз за 15 лет, прежде чем его пылесос заработал. Если вы решаете чем-то заниматься, убедитесь, что сможете терпеть итерации и неудачи.
Я начинаю рано и остаюсь допоздна, день за днём, день за днём. Мне потребовалось 17 лет и 114 дней, чтобы стать успехом одной ночи. — Lionel Messi.
Помимо количества итераций, важна и скорость итерации. Автоматизация нашего процесса экспериментов с машинным обучением помогает нам итерировать быстрее. Запуск — и получение обратной связи от клиентов — раньше помогает нам улучшаться быстрее. Если нам не стыдно за версию 1, мы, вероятно, запустились слишком поздно. Даже перфекционисты Apple запустили iPhone без copy-paste.
Главный предиктор успеха для совсем молодого стартапа — скорость итерации. — Sam Altman
Overfitting: сосредоточьтесь на интуиции и продолжайте учиться
Overfitting происходит, когда наши модели машинного обучения слишком тесно подгоняются под тренировочные данные и не могут обобщать на новые данные. В результате, хотя ошибка на тренировке низкая, ошибка на валидации высокая. Мы защищаемся от overfitting, оценивая наши модели на невиданном holdout-наборе.
Аналогично, когда мы учимся, мы можем предотвратить overfitting, сосредоточившись на понимании и интуиции. Хотя зазубривание задач и решений может продвинуть нас довольно далеко в школе, это не поможет, когда мы столкнёмся с новыми, жизненными задачами.
Я не понимаю, что с людьми не так: они учатся не через понимание, а каким-то другим способом — зубрят или что-то в этом роде. Их знание такое хрупкое! — Richard P. Feynman
Если мы тренируемся на устаревших данных, наши модели не могут обобщать на свежие данные. Аналогично, если мы прекращаем учиться, мы не можем адаптироваться по мере развития технологий. Представьте, что вы пытаетесь делать машинное обучение в Excel; это выполнимо (наверное), но гораздо проще и эффективнее с Python.
Как же в жизни предотвратить overfitting? У меня хорошо работает принятие «ума новичка». Это концепция из дзен-буддизма, где у нас отношение открытости, энтузиазма и отсутствия предубеждений. Мы думаем как новичок, сохраняем любопытство и подходим к новым идеям как ученик, даже если они не вписываются в нашу парадигму. С умом новичка мы постоянно учимся и обновляем свой алгоритм, снижая вероятность overfitting в жизни.
Неграмотными в XXI веке будут не те, кто не умеет читать и писать, а те, кто не умеет учиться, разучиваться и переучиваться. — Alvin Toffler
Ensembling: разнообразие — это сила
В машинном обучении ensembling подразумевает использование разных моделей машинного обучения для получения лучшей производительности, чем может достичь любая отдельная модель. Мы также видим это в random forests, где выращивается множество разных деревьев и их предсказания комбинируются. По сути, каждая модель компенсирует слабости других.
Разные классификаторы компенсируют слабости друг друга (источник).
Аналогично в жизни — разнообразие это сила. При формировании команд я отдаю предпочтение разнообразной демографии, образованию, опыту и навыкам; разнообразие точек зрения помогает нам понимать клиентов и обслуживать их лучше. Чтобы создавать системы машинного обучения, нам нужны навыки в data pipelines, машинном обучении, разработке ПО, devops, продукте и т. д. — недостаточно преуспеть только в одном аспекте. Сила одного человека компенсирует недостатки другого.
Сила — в различиях, а не в сходствах. — Stephen R. Covey
Некоторые из лучших идей рождаются, когда мы преодолеваем групповое мышление и комбинируем различные идеи. Или когда мы соединяем наше понимание разных предметов, чтобы развить новую суперсилу. Например, Scott Adams объединил свою способность рисовать, чувство юмора и деловые знания, чтобы создать Dilbert.
Креативность — это просто соединение вещей. Когда вы спрашиваете креативных людей, как они что-то сделали, они чувствуют себя немного виноватыми, потому что они на самом деле не делали этого, они просто что-то увидели. Через некоторое время им это показалось очевидным. Это потому, что они смогли соединить пережитый опыт и синтезировать новое. А причина, по которой они смогли это сделать, в том, что у них было больше опыта или они больше думали о своём опыте, чем другие. К сожалению, это слишком редкий товар. У многих людей в нашей индустрии не было очень разнообразного опыта. Поэтому у них недостаточно точек для соединения, и они приходят к очень линейным решениям без широкого взгляда на проблему. — Steve Jobs
• • •
Какие ещё параллели между машинным обучением и жизнью вы видите? Ответьте на этот твит или оставьте комментарий ниже.
Я много думаю о машинном обучении. Я много думаю о жизни. Иногда сигналы пересекаются. Вот 7 уроков из машинного обучения, применённых к жизни. Тред 👇 — Eugene Yan (@eugeneyan) 24 ноября 2020
Спасибо Yang Xinyi за чтение черновиков.
Если вы нашли это полезным, пожалуйста, цитируйте этот текст так:
Yan, Ziyou. (Nov 2020). What Machine Learning Can Teach Us About Life - 7 Lessons. eugeneyan.com. https://eugeneyan.com/writing/life-lessons-from-machine-learning/.
или
@article{yan2020life, title = {What Machine Learning Can Teach Us About Life - 7 Lessons}, author = {Yan, Ziyou}, journal = {eugeneyan.com}, year = {2020}, month = {Nov}, url = {https://eugeneyan.com/writing/life-lessons-from-machine-learning/} }
Присоединяйтесь к 11 800+ читателям, получающим обновления о машинном обучении, RecSys, LLM и инженерии.