Владимир:
Первое, на что вы влияете, это время - вам удается быстрее находить решения. Второе - это изменение способа ведения дел, то есть такие вещи, которые раньше были ограничены по тем или иным причинам, и анализ вообще не проводился.
Третья вещь - это ценность для бизнеса: что если что-то было найдено, но сколько это стоит? Это немного напоминает мне времена, когда я работал в General Electric, я как раз занимался здравоохранением, и там проблема была похожей. Обычный инженер может построить это, чтобы оно служило долго, работало хорошо, но он не слишком хорошо знает, дорого ли это. Обычно его это вообще не волнует. Только потом, где-то в самом конце, когда он проходит через различные проверки, кто-то делает расчеты, и выясняется, что это слишком дорого. Тогда я создал систему, которая давала быструю обратную связь о том, сколько это стоит. Я думаю, что она работала примерно так же, поскольку была база, хотя эта база тоже очень интересна, потому что она не такая уж тривиальная.
Я подозреваю, что и у вас так же, потому что не всегда легко найти, сколько что-то стоит, потому что это зависит от множества контекстов - например, от того, в какой стране вы находитесь. Все эти контексты должны быть приняты во внимание, но я думаю, что это также похожая история, когда человек, который проектирует, обычно не обладает такими экономическими знаниями, которые были бы полезны на этапе проектирования. Теперь давайте попробуем разобраться в деталях, когда дело доходит до выполнения подобных проектов НИОКР. Машинное обучение само по себе является сложной задачей, потому что есть некоторые вещи, которые менее определены, больше риска. В зависимости от того, насколько сложным является проект, этот риск возрастает. Когда я слушаю то, что вы говорите, мне кажется, что этот риск довольно велик, потому что многое может пойти не так.
Мне интересно, как вы вообще подходите к этому с практической точки зрения. Применяете ли вы здесь, например, закон Парето, когда пытаетесь найти те 20% случаев, когда стоит приложить усилия, потому что это приносит 80% пользы? Возможно, внутри компании вы называете это как-то иначе? Мне любопытно, как вы управляете рисками в проекте, который имеет достаточно большой риск?
Станислав:
Я очень рад, что вы упомянули об этом, это центральная часть того, что мы делаем, но позвольте мне ответить на этот вопрос немного по-другому, а затем вернуться к нему, потому что для того, чтобы дать ответ, мне нужно немного больше рассказать о том, как выглядит этот продукт со стороны ИИ.
Я думаю, это наглядно покажет набор существующих проблем. Думаю, все читатели знакомы с AlphaGo. Это система ИИ, созданная компанией DeepMind (я специально использую здесь слово "система", потому что оно объединяет алгоритмы поиска и нейронные сети), которая может играть в игру Го. Го - невероятно сложная игра, раньше люди думали, что ее решит кто-то на 10 лет позже, чем это сделала DeepMind. Это очень сложная игра, люди думали, что она находится за пределами возможностей ИИ. Это потому, что в ней очень много ходов. Это игра, в которой мы ставим белые и черные камни на очень большую доску, и поэтому дерево перебора ходов просто невообразимо больше, чем в шахматах. Алгоритмы, как в шахматах, где это скорее эвристика плюс поиск, вряд ли будут работать.
DeepMind смог сделать это, в частности, потому, что они смогли сыграть около 100 миллиардов различных ходов в этой игре в процессе обучения, и благодаря этому научиться играть в игру оптимально. Это было ключевой частью того, почему они добились успеха, помимо невероятно очевидных блестящих решений ИИ. Что интересно, и почему я это привел, так это то, что наша проблема может быть сформулирована таким же образом, только она еще сложнее, чем проблема Го. Мы также можем представить себе синтез соединения в виде игры. Мы начинаем с соединения, которое хочет получить химик, и даем ему рецепт, как его приготовить.
Мы должны перебрать все дерево игры, где каждый ход - это разбиение этого соединения на два более простых, пока не доберемся до соединений, которые можно купить. То есть, вы можете увидеть такую картину: у нас есть дерево, где на вершине находится целое соединение, а затем мы разрезаем его, например, пополам, снова пополам, пока не дойдем до такой вещи, которую можно купить, например, кислоту, воду, что угодно. Вещь, которую, предположим, можно купить в магазине и смешать.
Почему это намного сложнее, чем Go? Мало того, что этот фактор возможных движений предположительно похож или хотя бы образно похож, но хуже всего то, что мы не знаем, какие движения можно сделать. В тот момент, когда у нас есть состав, мы не просто знаем, какую реакцию можно использовать, мы просто должны узнать это из данных, которых, к сожалению, не 100 миллиардов, а скорее 1 миллион. С этой точки зрения, я надеюсь, вы видите, что это такая очень научно-исследовательская проблема по своей природе. Здесь просто нет решений, которые запрашивают у базы данных цену соединений, совсем наоборот. Это всего лишь один из элементов, но самый сложный элемент - разбить основное соединение на более мелкие соединения, которые можно купить. Этот путь - игра в го, и это ключевая проблема ИИ или технологии.
Мы бы хотели, чтобы было обучение с подкреплением, и мы даже пытались в какой-то момент, но в силу того, что у нас нет 100 миллиардов движений, только 1 миллион данных о шумных реакциях (они, кстати, получены из патентов в Штатах), просто обучение с подкреплением здесь пока не помогает. Нам нужно больше сосредоточиться на том, чтобы правильно делать ходы, потому что в Го ходы - это правила.
Мы знаем, куда класть белый камень и черный камень, что, в частности, нельзя класть камень на камень. Нам нужно выучить ходы, и это пока главная проблема.
Но да, обучение с подкреплением в будущем, скорее всего, будет полезным.