Что такое “интеллектуальная собственность” в DL/ML/CV

Сделал одно забавное заключение в последнее время.
Deep Learning размывает понятие “Интеллектуальная собственность”. Раньше данное понятие было очевидно. Каждый новый алгоритм был особенным. Всегда можно было проследить авторство и источник. А сейчас? Зачастую достаточно переписать лишь функцию потерь поверху ResNet, или сделать другую выборку гипотез.
И алгоритм уже будет принципиально другим.
Всего 100 строчек код поверх открытых исходников, зачастую это уже и есть рабочий прототип.
Как же быть при работе с заказчиком, как заключать договора? Мы в последнее время пришли к следующей схеме:

  1. Интеллектуальной собственностью заказчика, которую мы явно прописываем в договор является:
    1. Те базы, которые он передаёт на начало работ
    2. Те исходники, которые он нам передаёт на начало работ (такое стараемся вообще не брать, чтобы вопросов не возникало)
    3. Исходники, получающиеся на выходе из работ, которые были нами написаны. Те самые 100 строчек.
    4. Уникальные разработки, которые были созданы в ходе работы. Такие работы встречаются очень редко, но они бывают. Если есть понимание, что в ходе работы может родиться что-то принципиально новое – нужно очень подробно проговаривать с заказчиком этот момент. При этом новым может являться даже какая-то тривиальная на первый взгляд идея.
      Таких задач от силы 10% от общего числа, так что данный пункт я не буду особо освещать дальше.
  2. Его собственностью не являются (сейчас мы тоже требуем это записать в договор):
    1. Алгоритмы которые решают задачу. Сейчас алгоритмы могут быть одинаковые в задачах абсолютно далёких и независимых. Чтобы избежать любых дальнейших претензий, в том числе к будущим заказчикам – этот пункт необходим.
    2. Архитектуры сетей которые используются, архитектуры слоёв потерь. По сути – из-за тех же проблем.

Кто-то начинает возмущаться: “То есть сегодня вы сделаете эту задачу мне, а завтра конкуренту?! Почему??”.
Есть несколько ответов и решений:

  1. Стоимость решения задачи – это 3-6 месяцев зарплаты программистов в Москве (например). Ну год. Почему за эти деньги мы должны отрезать для себя кусок рынка в котором разбираемся? Особенно если на момент общения мы уже имеем большой опыт в тематике.
    Если вы заказываете себе сайт на тему шушпанчиков и снусмумриков, то почему вы ожидаете от создателей сайта что они никогда больше не будут этим заниматься? Особенно если уже делали похожие сайты.
    (опять же, без учёта работ где генерится интеллектуальная новизна)
  2. Если вы хотите чтобы мы никогда не занимались данной тематикой – давайте обсуждать это отдельно.  Возможно всё, но какая нам прибыль с этого? Есть список стандартных вариантов:
    1. Мы никогда не берёмся за разработку аналогичных проектов если сумма контракта значительно превышает нашу ожидаемую с них прибыль. Например когда мы продали наше решение по радужной оболочке – мы так и сделали. Сумма значительно больше чем можно заработать на разработке аналогичных систем.
    2. Какая-то долговременная выгода для нас: длительный договор на поддержку, процент с прибыли которое приносит решение, и.т.д.
    3. Некоторая дополнительная сумма к договору, которая ограничивает нас N месяцев от работы в аналогичных проектах.
    4. Бывают и другие варианты. Например мы делили работу для одного монополиста, помогая довести до ума ихнюю технологию которой просто ни у кого нет. Естественно тут мы сами предложили явно описать в договоре что в эту технологию мы никогда не лезем кроме как в работах с монополистом.
      Да и вообще уникальные задачи способствуют тому, что можно давать обещание не заниматься темой без рисков остаться без проектов в будущем.
  3. Ещё одной ограничительной мерой может являться подписание NDA на упоминание того, что мы данной темой занимались. При этом без запрещения использовать используемые в работе алгоритмы. Иногда мы готовы такое подписывать.

В любом случае стоит отметить Заказчику, что его задел – это его база и качество её сбора. В реальности именно этот момент даёт 90% качества итогового решения.
А вот то что происходит дальше – на сегодняшний день уже повторяемый процесс. И в нём зачастую нет ничего сложного.

Конечно, есть задачи где по ходу может родится что-то уникальное, когда сам подход к решению – это новизна

Любопытно, а как вы регулируете с заказчиками вопросы прав на результаты?

2 thoughts on “Что такое “интеллектуальная собственность” в DL/ML/CV”

  1. А сами гиперпараметры алгоритмов в итоге чьей ИС остаются ?

    1. Я думаю, что это зависит от задачи/постановки и конкретного случая. Если есть задача тонкого тюнинга гиперпараметров – это одно. Нет – другое.
      В большенстве случаев же будут стоять самые обычные параметры обучения. При этом там +-пол киллометра – результат не изменится. Это же не Kaggle, где нужно бороться за каждую десятую процента. В реальных задачах обычно такие точности проще из другихз мест утащить.
      Но если же всё же задача именно уровня Kaggle где нужны последные 0.1% точности, то да, тут уже задача тонкого тьюнинга, тут это ИС заказчика должно быть.

Leave a Reply

Your email address will not be published. Required fields are marked *