Расскажу в метафоре картинок.
В реальной задаче по синтезированию лекарств нужно сочетать сразу несколько противоречивых требований.
1) Вещество должно убивать бактерии, то есть быть ядовитым, и одновременно, по возможности, не наносить вреда клеткам пациента.
2) Быть простым и дешевым в изготовлении и хранении.
Представьте, что нам надо нарисовать картину, на которой изображено страшное лицо. Но при этом оно должно быть веселым или довольным. Звучит сюрреалистично, но это очень похоже на задачу с лекарством.
Как можно решить такую задачу?
Можно посадить художника, который давно рисует разные странные заказы, и он из удобных паттернов что-то придумает. Нос такой, глаза улыбаются, но есть оскал и рога. А можно посадить 1000 человек, которые будут оценивать реальные лица с точки зрения «страшно», «весело» и «довольно».
На этом датасете научить нейросеть вычислять эти характеристику у любой картинки, которая подается на вход. Это будет оценивающая сеть, так называемый дискриминатор.
На втором шаге создаем пару нейросетей — сжиматель и генератор, которые тренируются одновременно. Сжиматель по фотографии создает короткий набор чисел, характеризующий именно эту фотографию, так называемый вектор внутреннего представления. Генератор восстанавливает по вектору исходную картину.
В случае с молекулами всё так же, только на вход не пиксели-картинки, а последовательности аминокислот в пептиде. И внутреннее представление, которое получилось из пары сжиматель-генератор.
Точно так же, как среди множества всех картинок лица составляют умопомрачительно малую долю, а среди них страшные и веселые одновременно — ещё большая редкость, так и среди всех возможных пептидов ядовитые для бактерий и безвредные для нас составляют мизерную долю из всех возможных молекул.
Здесь все части трудные. Надо и придумать топологию генератора, дискриминатора и сжимателя, и собрать достаточный датасет данных для их тренировки.
На третьем шаге фокус-покус.
Берем наш генератор, поставляем в него разные исходные вектора внутреннего представления. Генератор создает новые, никогда ранее не существовавшие картинки или, в нашем случае, молекулы. Ну, не сами молекулы, а их модели в виде последовательности компонентов в пептиде.
Подставляем миллионы кандидатов в наш дискриминатор, он выдает уровень своей уверенности в том, что картинка, пардон, молекула, будет соответствовать нашим целям.
Оставляем среди них только лучших кандидатов, скажем, сотню из миллиарда сгенерированных. И проверяем их на практике. В случае с лекарствами — реально синтезируем и проверяем на клеточных культурах ядовитость для бактерий и безвредность для клеток пациента.
Гарольд очаровашка.
Однако, когда уже научат ИИ правильно предсказывать погоду?
Вообще есть такие проекты. Но, конечно, надо понимать, что всё-таки ИИ не магия какая, и там вероятностный характер прогноза будет. Надо порыться в Хрониках, кажется, мы писали даже писали про такое 🤔
Вот свежий материал про то, как ИИ улучшает предсказание (думаю, что будет в Робохрониках за апрель уже) погоды: https://www.wsj.com/articles/how-ai-can-make-weather-forecasting-less-cloudy-11617566400