
Подходит к завершению серия моих публикаций про использование идей искусственного интеллекта для решения задачи коммивояжера (TSP).
В этой заметке помогаю разобраться в авторской реализации Deep Q-learning для TSP.
Data consultant | Data scientist | Product owner |
Подходит к завершению серия моих публикаций про использование идей искусственного интеллекта для решения задачи коммивояжера (TSP).
В этой заметке помогаю разобраться в авторской реализации Deep Q-learning для TSP.
Обучение с подкреплением – это одна из ключевых концепций ИИ. Пришло время подкрепить коммивояжера и его задачу поиска кратчайшего пути Q-обучением. Табличный вариант Q-обучения является сравнительно простой и эффективной реализацией обучения с подкреплением.
Если читатель был достаточно внимателен, то, наверное, заметил, что в предыдущей заметке я обошел стороной непосредственно блок механизма внимания, точнее сказать, описание было дано методом черного ящика: вот тут такие-то входы, там такие-то выходы. Теперь, внимание, вопрос знатокам: Что лежит в черном ящике? В действительности, крайне важно понимать, что там внутри и логично посвятить данной теме отдельный текст. Понимание механизма внимания определяет ход дальнейших размышлений вплоть до самых передовых архитектур ИИ и поэтому сложно переоценить важность этой темы.
Заголовок отсылает к знаменитой работе Attention Is All You Need, которая фактически перевернула мир ИИ, сделав его другим, не таким, как прежде. В этой научной публикации описаны принципы реализации архитектуры трансформеров, но в ее названии упоминается именно механизм внимания. Долгое время я пытался ответить себе на один простой вопрос: где все-таки заканчивается ML и начинается AI для задачи коммивояжера и вообще? Мне кажется, ответ пролегает где-то рядом с проростанием механизма внимания, который в 2014 году был предложен Dzmitry Bahdanau (извиняюсь, не знаю, как правильно писать по-русски его фамилию). Безусловно, были работы Хопфилда, получившего в 2024 Нобелевскую премию по физике, в том числе, за свою архитектуру нейронной сети, которая способна решать задачу коммивояжера. Были и другие работы, но, в случае разбора еще одного алгоритма из прошлого века, боюсь, нарваться на обратную связь в стиле: “дядь, не мороси, давай уже там про свой ИИ пиши, а не вот эти свои нафталиновые алгоритмы описывай”, поэтому про нейронную сеть Хопфилда готов написать, но только если будет ощутимая обратная связь.
Механизм внимания был предложен как способ улучшить seq-to-seq модели, применяемых для перевода текста с одного языка на другой. Кто бы мог подумать, но токены слов можно заменить координатами городов и попробовать решить задачу TSP той же моделью. В конце концов человек тоже использует одно и тоже серое вещество для решения разных задач. Первые попытки реализации этой идеи подразумевали наличие оптимального эталонного маршрута в виде, например, посчитанного решения Concorde. Но позже появилась идея использования техники обучения с подкреплением или Reinforcement learning. Таким образом, появилась нейронная сеть Pointer Networks, о которой собственно я и хотел сегодня поговорить.
В прошлой заметке я коснулся принципа работы некоторых популярных алгоритмов неточного решения задачи коммивояжера (TSP). Материал получился объемным и сунуть туда еще одно описание алгоритма было бы чрезмерностью. Тем не менее, считаю важным рассказать еще об одном решении, которое носит название - Алгоритм Кристофидеса-Сердюкова. Причины, по которым мне хочется об этом поговорить следующие:
1. Речь идет про алгоритм, который часто используется в качестве бенчмарка при оценке эффективности поиска решений сетками с использованием трансформеров, например в работе TranSPormer: A Transformer Network for the Travelling Salesman Problem и не только
2. Несмотря на то, что алгоритм назван в честь русского математика в русскоязычном сегменте интернета не так много публикаций на эту тему, можно отметить статью Сердюкова от 1978 и упоминание в Википедии
3. Наконец, алгоритм просто красив. Понимаю, что математическая эстетика – это нечто скрытое в глубине вещей и недоступное суетливому взору, но верю, что и такая категория красоты найдет своего читателя.
Случается, что мои знакомые и друзья внезапно возбуждаются на тему ИИ и начинают тревожно звонить с вопросами: ну что там с ИИ? Уже случилась революция? Пора всех увольнять и срочно заменять чат-ботами?
Уволить конечно можно, особенно бездельников и когда на заводах/пароходах работать некому, но касаемо реальных бизнес-кейсов с ИИ все не то чтобы прям заладилось. Бизнес конечно по-прежнему возбуждается и визионирует на конференциях, но реальные проекты пока драйвово буксуют, а ванильный AI-вайб начинает попахивать болотной тиной.
Надо с этим что-то делать и срочно насыпать каких-нибудь корповых бизнес-кейсов и потом к этим кейсам прикрутить какую-нибудь новую ИИ-штуку чтобы вернуть радугу приунывшим единорогам.
В прошлой заметке я поднял тему ванильно-радужных перспектив использования искусственного интеллекта для решения оптимизационных задач, в частности, для решения хорошо изученной задачи коммивояжера, она же TSP (Travelling Salesman Problem). Там же был дан старт разбору некоторых классических алгоритмов для решения этой задачи в рамках чего я представил подход, основанный на MIP (Mixed Integer Programming). Считаю важным завершить такой разбор для лучшего понимания отличий в работе нейронных сетей.
Способны ли имеющиеся архитекутры нейронных сетей составить конкуренцию классическим методам оптимизации в решении хорошо изученных задач таких как проблема коммивояжера? Я решил попробовать ответить на этот вопрос и опубликовать свои наработки.