Что помогает выбирать ML-гипотезы?

Что помогает выбирать ML-гипотезы?

Жека Никитин

Вопрос, которые задают всегда и везде - как выбирать какие ML-гипотезы тестировать, если у вас нет человеческих и компьютерных мощностей гугла? Понятно, что универсального ответа нет, иначе бы нас всех, наверное, уже заменил AutoML. Но я бы сказал, что есть три неплохих совета, которые помогут в приоритизации:

  1. Анализ ошибок. Смотрите на ошибки ваших моделей глазами, измеряйте их всеми возможными способами, кластеризуйте автоматически или с помощью доменных экспертов. Если в ошибках есть какой-то паттерн - например, сетка некорректно классифицирует маленькие объекты или не может детектировать объекты странной формы, можно и нужно подумать, о том как решить именно эту проблему. Возможно, использование каких-то твиков или кардинально другого подхода к задаче поможет пофиксить эту группу ошибок.
  2. Опыт. Если какой-то твик или фишка консистентно работает во многих случаях - стоит пробовать её везде. Красть идеи фишек можно как в своих прошлых проектах, так и, например, на Кеггле (данные и воровство идей - именно так я всегда использовал кеггл 😜).
  3. Внутренности сети. Очень полезно понимать, как работает каждый слой и модуль сетки, как интуицию, так и базовую математику. Как правило, это позволяет генерировать значительно более качественные гипотезы, чем рандом. Если в вашем проекте используется какая-то конкретная архитектура (например, йоло какой-то версии) - очень рекомендую запариться и досконально изучить работу каждого модуля и покопаться в особенностях имплементации.

Есть ещё такая загадочная штука как интуиция, которая является некоторым сплавом знаний, опыта и магии. Где-то на реддите видел прикольную идею, что можно представлять внутренности работы сети с помощью каких-то метафор и аналогий, это позволяет лучше "чувствовать" модельку изнутри. Звучит эзотерически, но на самом деле что-то такое работает, да.

Report Page