Обучение нейросети: методы и алгоритмы
Вывод
После первого этапа из популяции выбираются нейросети, успешнее всего справившиеся с задачей. Они используются для создания следующего поколения нейронных сетей. При этом применяются механизмы, аналогичные живой природе — скрещивание и мутации. Новое поколение снова принимается за решение задачи и цикл повторяется. Процесс идет до тех пор, пока не будет достигнут заданный критерий остановки (скажем, достижение определенной точности).
Для начала нужно объяснить, чем нейронная сеть отличается от обычного алгоритма. Алгоритм — это заранее прописанная последовательность действий, которую должен выполнить компьютер, дающая определенный предсказуемый результат. В качестве примера можно привести программу, которая рассчитывает площадь квартиры или дома по чертежу. В ней есть четкая пошаговая инструкция, какие величины перемножать, какие складывать и т. д. У такого алгоритма понятная и простая архитектура, в него можно свободно вносить изменения на любом этапе.
Работу над качеством ответов клиентам вести начали с разных сторон. Первым делом чуть больше года назад в Timeweb решили прокачать команду поддержки и обратились за помощью к нашей команде. Хотели научить сотрудников первой линии даже сложные термины объяснять простыми словами, отвечать на вопросы клиентов прямо и придерживаться единого TOV. Благодаря этому сотрудничеству появилась книга знаний, в которой были сформулированы все правила общения с клиентами.
В компании сомневались, сможет ли бот классно отвечать даже на самые простые вопросы, но когда руководители увидели результаты тестовой среды, энтузиазм команды вырос в разы несмотря на то, что нейросеть может покрыть только первые две категории вопросов. Даже за первую неделю тестов в песочнице команда получила 70% качественных ответов. 70% качественных ответов получили за первую неделю тестов
Начали с того, что выбрали 4 простые тематики, по которым клиенты пишут в поддержку. 4 тематики обращений выбрали для внедрения бота Например, тарифы — это одна тематика, а оплата услуг компании — другая, но взаимосвязанная с ней. Решили, что тематики, на которые может отвечать бот, добавлять нужно постепенно, чтобы сохранить фокус на качестве ответов.
Алгоритм обратного распространения вносит решающий вклад в обучение глубоких нейросетей с несколькими слоями. Он позволяет эффективно оптимизировать веса узлов нейронной сети, в том числе в сложных архитектурах с большим количеством параметров. Помимо стандартного варианта такого алгоритма существуют его расширенные и продвинутые версии, способные адаптивно регулировать скорость обучения (например, Adam или RMSprop).
Качественный подход
На одной из встреч по итогам обучения мы рассказали, что научили ChatGPT отвечать клиентам так же классно, как и их команду. В результате они сами загорелись идеей попробовать внедрить нейросеть. Мы уже были сильно погружены в сам продукт, так что в теории работа должна была пойти быстрее.
Существует достаточно много способов обучения нейронных сетей. Однако все они сводятся к двум основным концепциям: с помощью учителя и без него. В этой связи снова можно провести аналогию с мозгом человека. Люди также способны приобретать опыт или с наставником, способным прочитать курс лекций, направлять и указывать верный путь к решению задачи, или самостоятельно, ориентируясь лишь на собственные наблюдения и полученный опыт. Рассмотрим оба этих принципа более подробно.
Еще одним подвидом ML является трансферное обучение. Оно подразумевает использование знаний, полученных при решении одной задачи, для повышения эффективности работы над другой задачей. Процесс включает предварительное обучение на большом массиве данных и последующую точную настройку под специфику новой целевой задачи. Трансферное обучение в некоторых случаях позволяет существенно сэкономить время и ресурсы. Особенно оно актуально для ситуаций, когда необходимые исходные данные слишком дороги или ограничены для получения.
В этой статье мы рассмотрели основные типы и методы обучения нейросетей. Это направление продолжает активно развиваться и считается одним из самых перспективных в сфере искусственного интеллекта. В будущем ожидается появление еще более эффективных методов и алгоритмов, которые позволят нейронным сетям решать максимально сложные задачи, сейчас доступные только человеку.
Когда в Timeweb поняли, что качество ответов в MVP их устраивает, стали думать в сторону технического решения, как выйти в прод, то есть начать отвечать клиентам напрямую. Важным было обеспечить бесшовный переход от бота к человеку в тех ситуациях, когда нужно было эскалировать задачу.
Наша команда использовала низкий сезон себе на пользу и разработала умного бота для поддержки Timeweb. Всё лето тестировали нейросеть, пока не добились высокого качества ответов. В результате встретили осень не с одним, а с двумя помощниками для двух разных продуктов.
Он заключается в многократном повторении двух действий — прямого и обратного. Прямое действие — это передача входных данных через нейросеть и вычисление прогнозируемого результата. Данные от входного узла к выходному могут передаваться большим количеством различных путей. Правильным же считается только один, который сопоставляет входные данные с нужными выходными. Поиск этого пути в рассматриваемом алгоритме ведется с помощью петли обратной связи. Делается это следующим образом:
В среднем на запуск бота нужно три месяца. В этот раз проект занял больше времени из-за самописного решения. На скорость разработки влияла в том числе интеграция с внутренними системами. Кроме того, ребята хотели не быстрый запуск, а максимальное качество на старте с настроенным процессом эскалации: нужно было, чтобы при выходе в продакшн, сотрудник поддержки автоматически получал вопрос клиента, если боту не хватало данных для ответа.