newsmode
search
Меню
arrow_back Назад

Embrace Beginner's Mind; Avoid The Wrong Way To Be An Expert

auto_awesomeКраткое саммари

Юджин Янь объясняет, как из новичка можно превратиться не в эксперта, а в «эксперта-новичка» (expert beginner): человек добивается успеха в узком контексте, окружающие называют его экспертом, он начинает считать себя таковым и перестаёт учиться, застревая в локальном оптимуме. На примере вымышленного HR-специалиста, автоматизировавшего работу на R и Shiny, показано, как такой «эксперт» отвергает новые технологии (Python, Docker, юнит-тесты, контроль версий), из-за чего самые талантливые сотрудники уходят — это «эффект Мёртвого моря», оставляющий команду из посредственностей. В качестве противоядия предлагается дзен-концепция сёсин (shoshin) — «ум новичка»: открытость, любопытство и готовность учиться независимо от опыта. Автор сравнивает обучение с ездой на велосипеде: дистанция — это знания, а импульс — способность учиться; чтобы не откатываться назад, нужно «продолжать крутить педали». Практические советы: оставаться скромным и любопытным, строить и экспериментировать, много читать (по статье-три в неделю), участвовать в сообществе, а руководителям — создавать культуру обучения и не переоценивать дипломы и стаж при найме.

Принимайте ум новичка; избегайте неправильного способа быть экспертом

[ learning ] · 11 мин чтения

Когда мы изучаем что-то новое, например язык программирования, мы начинаем как новички. Мы можем выучить правила, следовать им и применять их в узком контексте. Однако мы не понимаем общей картины и теряемся за пределами этого конкретного контекста.

Представьте, что я записываюсь на MOOC по R и узнаю о статистическом анализе, машинном обучении и дашбордах Shiny. В рамках машинного обучения я узнаю, что нужно разбивать данные на обучающую и тестовую выборки. Я применяю это в заданиях и на Kaggle, и всё работает прекрасно — это узкий контекст.

Затем, возможно, мне выпадает возможность применить новые навыки в более широком контексте: я строю модель, валидирую её (через случайное разбиение train-test) и развёртываю. Однако офлайн- и онлайн-метрики (то есть A/B-тест) не сходятся. В итоге я понимаю, что нужно использовать разбиение по времени, чтобы будущие данные не протекали в обучающую выборку.

Благодаря более широкому контексту я столкнулся с трудностями и неудачами (читай: уроками), которых не было в заданиях MOOC. В результате я увидел общую картину; я понимаю, что учиться предстоит ещё многому. Так я продолжаю учиться и проходить стадии новичка, среднего уровня и так далее.

Чем больше я узнаю, тем больше понимаю, как мало я знаю. — Альберт Эйнштейн

От новичка к… эксперту-новичку

Но что произойдёт, если я не увижу общую картину?

Предположим, я работаю в HR-отделе производителя виджетов. Всё — от численности персонала до зарплат и остатка отпускных дней — ведётся в Excel. Я применяю свои свежеприобретённые навыки R, чтобы автоматизировать работу разовыми скриптами. Это включает расчёт статистики по заводским площадкам и её отображение через дашборд Shiny на рабочем компьютере отдела. В глазах моего менеджера и команды я — абсолютная рок-звезда, ниндзя и волшебник. На меня сыплются похвалы, и меня повышают до менеджера HR-направления data science.

Возможно, я ничего не знаю о правильной валидации ML, развёртывании, юнит-тестах или даже контроле версий. Я уж точно ничего из этого не делал. Но кому какое дело? Нам это не нужно. Теперь я менеджер HR data science. Теперь я… «эксперт».

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

Предположим, я остаюсь в той же роли, в HR, на протяжении 10 лет. В итоге, есть ли у меня 10 лет опыта или один год опыта, повторённый 10 раз?

Будучи руководителем HR data science, я нанимаю команду дата-сайентистов. Рано или поздно кто-то из команды предложит новую технологию (например, Python, Docker) или практики (например, контроль версий, юнит-тестирование).

Однако я самый опытный (читай: с самым большим стажем) и самый экспертный эксперт. Я отметаю идеи и технологии, с которыми не знаком. «О, я вижу, ты здесь новенький. Да, Python звучит как хорошая идея, но директору по персоналу очень нравится дашборд Shiny, который я построил». «Ха-ха, нам не нужны юнит-тесты! Я живу и дышу этим кодом каждый день — нет нужды его тестировать».

Сотрудники, способные видеть общую картину, разочарованы устаревшими технологиями и неправильными практиками. Они не видят пространства для обучения и роста. В результате самые талантливые и амбициозные уходят (если понимают, что для них лучше). А для тех, кто остаётся, — ура! Меньше конкуренции. Они будут ходить по струнке и однажды станут старшими экспертами-новичками и научат новичков своим «экспертным» приёмам.

Это приводит к эффекту Мёртвого моря, когда у вас остаются наименее талантливые и эффективные люди. Они благодарны за то, что у них есть работа, и оседают на пару лет (или десятилетий). Теперь команда (д)еволюционировала в армию экспертов-новичков, которые следуют указаниям главного эксперта-новичка.

Эксперты-новички закрепились на своих местах, и их нельзя заменить (источник: Scott Adams)

Поскольку эксперты-новички выучили «всё», что только можно выучить, попробовали «всё», что только можно попробовать, и сделали «всё», что только можно сделать, им больше нечего учить, пробовать и делать. Команда перестаёт пробовать новые идеи — «О, мы здесь не используем Docker. У нас есть VM!» — и организация перестаёт инновировать.

Это отчасти объясняет, почему некоторые отрасли подвергаются разрушению. iPhone разрушил Nokia и Blackberry, AWS разрушил локальное оборудование, Stripe разрушил обработку платежей, Tesla разрушила… ну, вы поняли.

Эксперт-новичок не видит общей картины, поэтому он застрял.

Ум новичка всегда остаётся учеником

Как предотвратить стагнацию (и, возможно, превращение в эксперта-новичка)? Как оставаться открытым, постоянно учиться и экспериментировать?

Один из способов — сёсин (ум новичка). Это концепция из дзен-буддизма об установке на открытость, увлечённость и отсутствие предубеждений, даже когда наши знания о предмете продвинуты. Иными словами, мыслить именно как новичок.

В уме новичка много возможностей, а в уме эксперта их мало. — Сюнрю Судзуки

С умом новичка, независимо от вашего опыта и экспертизы, вы сохраняете любопытство и подходите к новым идеям и опыту как ученик. Даже когда новая технология или метод не вписываются в вашу парадигму, вы открыты к тому, чтобы учиться и пробовать. Ученики не говорят: «Мы здесь так не делаем».

Иногда, когда другие считают нас экспертами, мы позволяем этому ударить нам в голову. Мы остаёмся в рамках своей узкой предметной экспертизы и перестаём исследовать новые идеи и возможности. Мы избегаем новых, более крупных вызовов, чтобы не совершать ошибок; мы держимся за то, что работало в прошлом. Это помогает сохранить нашу идентичность эксперта.

Самая опасная фраза в языке — «Мы всегда так делали». — Грейс Хоппер

Но в этом нет смысла. В моей области data science новые инструменты (например, Spark, Docker, Airflow) и методы (например, эмбеддинги, attention, предобучение) постоянно улучшают передовые результаты (SOTA) — полезно, если не сказать необходимо, быть в курсе. (При этом фундаментальные техники вроде регрессии и деревьев решений зачастую остаются надёжной базой.)

Ум новичка продолжает крутить педали

Обучение похоже на езду на велосипеде. Когда мы начинаем крутить педали (с места), это требует усилий и времени, чтобы набрать инерцию. Тем не менее мы наберём скорость и начнём преодолевать расстояние.

Мы можем оглянуться на то, откуда начали, и подумать: «Ого, я проделал большой путь. Может, мне не нужно крутить педали так усердно; может, и вовсе не нужно». Если мы перестанем крутить педали, изначальная инерция, возможно, протащит нас чуть дальше, но в конце концов мы остановимся. Хотя пройденное расстояние мы не теряем, но и нового не набираем. (Правда, в быстро меняющихся сферах вроде технологий, если ты не движешься вперёд, ты начинаешь двигаться назад.)

Здесь расстояние — это знания (и достижения); инерция — это обучение. Хотя расстояние коррелирует с экспертизой, связь не так сильна, как мы думаем (например, один год опыта, повторённый 10 раз). Я считаю, что инерция (способность быстро учиться и адаптироваться) тоже часть экспертизы. Эксперты, которых я знаю, часто читают или что-то мастерят. На работе они умеют синтезировать свои мысленные прототипы и подбирать решения под контекст.

Чтобы поддерживать инерцию, ум новичка продолжает крутить педали независимо от пройденного расстояния. Неудивительно, что многие успешные люди — и продолжают быть — ненасытными читателями и учениками. Уоррен Баффет, Билл Гейтс, Илон Маск — лишь несколько имён. Знаете ли вы хоть одного успешного человека, который не читает и не учится?

Неграмотными в XXI веке будут не те, кто не умеет читать и писать, а те, кто не умеет учиться, разучиваться и переучиваться. — Элвин Тоффлер

Есть знание, которое мы получаем из книг и курсов, — его проверяют на экзаменах. А есть (неявное) знание, которое мы получаем из практики, — его проверяет жизнь.

Нельзя получить образование в этой самовоспроизводящейся системе, где люди учатся, чтобы сдать экзамены, и учат других сдавать экзамены, но никто ничего не знает. Чему-то учишься, делая это сам, задавая вопросы, размышляя и экспериментируя. 🧠— Richard Feynman (@ProfFeynman) 17 августа 2020

Например, обучение езде на велосипеде. Мы не научимся ездить на велосипеде, читая учебник. Единственный способ научиться — действительно делать это. Мы будем терять равновесие и падать, но в конце концов разберёмся. К тому же наше умение ездить на велосипеде переносимо на другой двухколёсный транспорт. Освоив обычный велосипед, мы пройдём более мягкую кривую обучения на горных велосипедах, тандемах и даже электросамокатах.

Аналогично, некоторые навыки и знания можно получить только через практику. Обычно они также переносимы между разными областями. Например, как лучше всего обслуживать модели в продакшене? Есть несколько распространённых паттернов: вычислять офлайн и кэшировать, обслуживать через микросервис, встраивать в основное приложение. Различаются ли эти паттерны между областями? Не сильно. Какой подход лучше для нашего сценария? Что ж, зависит от обстоятельств — знание ответа и есть неявное знание.

pic.twitter.com/jGcy74wKP1— Nader Dabit (@dabit3) 7 июля 2020

Часто такие навыки и знания фундаментальны и их можно рассматривать как строительные блоки (или первопринципы). Например, в программировании мы изучаем условия, итерации и структуры данных. В распределённой обработке данных мы изучаем map, reduce и shuffle. Поняв эти основы, легче освоить ещё один язык программирования или фреймворк распределённой обработки. Это также помогает писать более эффективное ПО и ETL-задачи.

Освоение основ также помогает в метаигре. Мета (то есть факторы более высокого порядка) постоянно меняется. Например, обработка естественного языка стремительно эволюционировала от рекуррентных моделей к эмбеддингам, затем к attention и предобучению.

Если мы были внимательны, то могли заметить перекрёстное опыление идей из компьютерного зрения (например, перенос обучения). Кроме того, крупные улучшения благодаря обучению без учителя (например, Word2vec, T5, GPT-3) показывают, что данные — король. Наконец, по мере того как модели растут, чтобы двигать SOTA, мы видим ещё одну мету — побеждает больше вычислений (то есть Горький урок).

Как развить ум новичка и продолжать крутить педали

Если вы убеждены в пользе ума новичка, вот несколько советов по установке мышления:

Оставайтесь скромными. Да, мы должны гордиться своими достижениями. Но никогда не стоит думать, что наше обучение завершено или что мы непогрешимы. Это требует терпения к себе, умения сказать «Я не знаю» и спокойного отношения к неудачам. Будьте любопытными и открытыми, чтобы пробовать новые идеи, даже если они не совпадают с нашими предубеждениями. Исследуйте новые подходы вместо «как мы всегда делали».

И несколько привычек, чтобы продолжать учиться:

Стройте и экспериментируйте. Некоторые навыки лучше всего приобретаются через практику. На работе продолжайте писать код (если можете). Вне работы находите время попробовать новые инструменты и техники. Это держит нас в курсе и не отрывает от деталей. Читайте широко. Читайте статью-три каждую неделю, делайте заметки и обсуждайте с коллегами. (Беззастенчивая реклама: applied-ml и ml-surveys — отличные подборки.) Взаимодействуйте с более широким сообществом. Посещайте митапы и конференции. Они помогают увидеть общую картину за пределами наших ролей и организаций. Посещайте один митап в квартал и одну конференцию в год. Поскольку большинство из них теперь онлайн, это стало проще.

Если вы руководите командой или организацией, создавайте культуру обучения. Поощряйте команду читать и обсуждать статьи. Давайте команде пространство для экспериментов и ошибок. Празднуйте A/B-тесты, ведь они помогают больше узнать о клиенте, — даже те, особенно те, что не сработали. Поощряйте внешнее обучение (например, корпоративные brown bag-семинары, митапы, конференции). При найме не переоценивайте образовательные дипломы или годы опыта.

Всегда есть, чему ещё поучиться.

Ум эксперта: ничего нового. Ум новичка: всё новое. Ум эксперта: смотри, как далеко я зашёл. Ум новичка: смотри, как далеко это уходит. Ум эксперта: мы всегда так делали. Ум новичка: всегда есть способ лучше. Ум новичка продолжает учиться https://t.co/trMxZPuaDv— Eugene Yan (@eugeneyan) 26 августа 2020

Спасибо Yang Xinyi, Sara Campbell, Stew Fortier, Dan Hunt и Joel Christiansen за прочтение черновиков.

Если эта статья оказалась полезной, пожалуйста, цитируйте её так:

Yan, Ziyou. (Aug 2020). Embrace Beginner's Mind; Avoid The Wrong Way To Be An Expert. eugeneyan.com. https://eugeneyan.com/writing/beginners-mind/.

или

@article{yan2020beginner, title = {Embrace Beginner's Mind; Avoid The Wrong Way To Be An Expert}, author = {Yan, Ziyou}, journal = {eugeneyan.com}, year = {2020}, month = {Aug}, url = {https://eugeneyan.com/writing/beginners-mind/} }



Присоединяйтесь к 11 800+ читателям, получающим обновления о машинном обучении, RecSys, LLM и инженерии.