Обновить
693.12

Машинное обучение *

Основа искусственного интеллекта

Сначала показывать
Порог рейтинга
Уровень сложности

Градиентный бустинг. Реализация с нуля на Python и разбор особенностей его модификаций (XGBoost, CatBoost, LightGBM)

Уровень сложностиСложный
Время на прочтение28 мин
Количество просмотров28K

На сегодняшний день градиентный бустинг (gradient boosting machine) является одним из основных production-решений при работе с табличными, неоднородными данными, поскольку обладает высокой производительностью и точностью, а если быть точнее, то его модификации, речь о которых пойдёт чуть позже.

В данной статье представлена не только реализация градиентного бустинга GBM с нуля на Python, но а также довольно подробно описаны ключевые особенности его наиболее популярных модификаций.

Читать далее

Генерация коротких текстов в жанре фэнтези, по заданным параметрам

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.4K

Добрый день! Меня зовут Александр. Меня очень интересует тематика нейронных сетей, связанных с работой с текстом. И по этому я решил пройти курс от OTUS «Natural Language Processing». В рамках выпускной работы на этом курсе, я хотел попробовать расширить знания в сфере генерации текстов и использовании различных стратегий генерации. А так как мне еще нравится стилистика жанра фэнтези, то выбор пал на генерацию текстов этого жанра. При этом хотелось попробовать генерировать не только тексты выбранной стилистики но и по заданным параметрам, например имя главного героя, место действия и др.

Читать далее

Дилемма ИИ: когда обучение больших языковых моделей заходит в тупик

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров5.7K

ИИ готовится заменить сотни тысяч должностей не только в разработке ПО, но и во множестве других областей: в журналистике, творческой работе, общении с покупателями и так далее. Это та же самая мантра, которую мы слышим по поводу каждой технологической инновации: «Компьютер полностью заменит людей». Старая история из фильмов про терминаторов.

Хотя я уже перечислил некоторые возможные последствия для ПО в своей статье «Мы снова в кризисе ПО, но в ближайшее время ИИ никого не заменит», мне бы хотелось рассмотреть, что произойдёт, если большие языковые модели (Large Language Model, LLM) полностью заменят человеческий труд. Содержание дилеммы будет практически одинаковым для всех областей, но я сосредоточусь на разработке ПО, потому что самые громкие заявления об LLM звучат как раз в её сторону.

Читать далее

Пишем чат-бот для работы с PDF

Время на прочтение7 мин
Количество просмотров10K

Популярность языковых моделей, в частности ChatGPT, растет в геометрической прогрессии, но многие из нас все еще сталкивается с определенными ограничениями, такими как устаревшая информация, которые OpenAI пока что не смогла преодолеть.

Но задумывались вы над тем, чтобы задавать вопросы непосредственно из своих документов, хранящихся в облаке? Сохраните своё время, которое уходило бы на поиски и ручной мониторинг сайтов, и задействуйте автоматизацию при работе с PDF-документами. Если вас занимает такая перспектива, эта статья окажется для вас ценным ресурсом.

Мы можем избежать риска недостоверных данных в ChatGPT, внедрив работу модели через RAG. В нашем материале мы подробно объясним, как создать чат-бота для взаимодействия с документами из вашего хранилища с помощью LangChain.

Приступим (:

Читать далее

Как мы делаем веб-сервис для автоматизации рабочих задач на базе агентов LLM

Время на прочтение9 мин
Количество просмотров5.4K

Друзья, всем привет! Сегодня хотим рассказать про то, как мы — Виталий, Даниил, Роберт и Никита — при поддержке AI Talent Hub, совместной магистратуры Napoleon IT и ИТМО, создаем Цифработа — сервис цифровых работников, который помогает оптимизировать временные затраты у сотрудников на выполнение рабочих задач с помощью агентов больших языковых моделей (LLM).

В данной статье мы вкратце рассмотрим, кто такие агенты, как они могут автоматизировать рабочие процессы, и обсудим ключевые вызовы, с которыми мы столкнулись при разработке сервиса. Сразу хочется отметить, что данная статья, скорее, служит обзором нашего решения проблемы и тех задач, над которыми мы работали, нежели преследует цель предоставить подробное руководство по применению агентов или проектированию архитектуры сервиса.

Предлагаем начинать!

Читать далее

Стекинг и блендинг в ML. Ключевые особенности и реализация с нуля на Python

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров13K

Среди всех методов ансамблирования особое внимание заслуживают две очень мощные техники, известные как стекинг (stacked generalization) и блендинг, особенность которых заключается в возможности использования прогнозов не только однородных, но и сразу нескольких разных по природе алгоритмов в качестве обучающих данных для другой модели, на которой будет сделан итоговый прогноз. Например, прогнозы логистической регрессии и градиентного бустинга могут быть использованы для обучения случайного леса, на котором уже будет выполнен итоговый прогноз.

Стекинг и блендинг очень схожи между собой, однако между ними есть существенные различия, заключающиеся в разделении и использовании тренировочных данных. Рассмотрим более подробно как это происходит.

Читать далее

Контекст больше не предел: Линейка русскоязычных энкодеров ruRoPEBert и как она создавалась

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров9.2K

Привет, Хабр! Если вы интересуетесь NLP или просто современными DL моделями, то приглашаю вас узнать, как можно, имея всего лишь одну A100, около 30 гигабайтов текста и несколько дней обучения, решить проблему ограниченного окна контекста для русскоязычных трансформеров. А ещё сделаем несколько оптимизаций и добьёмся почти лучших метрик в бенчмарке encodechka.

Погрузиться в контекст

Как AI помогает побороть монополию в спортивной рекламе и при чем тут GPU и выделенные серверы

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1K

Спортивные соревнования сегодня переполнены рекламой — от роликов на экранах до статичных логотипов компаний на рекламных щитах стадионов. Эфир охватывает множество стран, в которых представлены различные бренды и действуют разные законы о рекламе. Благодаря прорыву в развитии ИИ и AR-технологий появляется возможность замены информации на поле под каждую аудиторию, причем непосредственно во время трансляции матча.

Читать далее

Я написал бесплатную книгу для профессионалов в области AI (и не только)

Уровень сложностиСложный
Время на прочтение2 мин
Количество просмотров19K

Привет, Хабр! Меня зовут Никита Горячев, работаю в позиции AI/ML Engineer в Сбере. В мой скоуп входит работа с SOTA (state-of-the-art) алгоритмами в областях NLP и RecSys.

Книга написана в форме Guide Book с теоретическими и практическими заданиями. Ниже написал анонс в виде Q&A, чтобы вы на первых двух пунктах смогли понять, интересно ли вам.

Ссылка на книгу

Читать далее

Создание генетического алгоритма для нейросети и нейроcети для графических игр и видеоигр с помощью Python и NumPy

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров7.5K

Привет, Хабр!

Сегодня я расскажу и покажу, как сделать Genetic Algorithm(GA) для нейросети, чтобы с помощью него она смогла проходить разные игры. Я его испробовал на игре Pong и Flappy bird. Он себя показал очень хорошо. Советую прочитать, если вы не читали первую статью: "Создание простого и работоспособного генетического алгоритма для нейросети с Python и NumPy" , так как я доработал свой код который, был показан в той статье.

Я разделил код на две скрипта, в одной нейросеть играет в какую-то игру, в другой обучается и принимает решения(сам генетический алгоритм). Код с игрой представляет из себя функцию которая возвращает фитнес функцию (она нужна для сортировки нейросетей, например, сколько времени она продержалась, сколько очков заработала и т.п.). Поэтому код с играми(их две) будет в конце статьи. Генетический алгоритм для нейросети для игры Pong и игры Flappy Bird различаются лишь параметрами.

Используя скрипт, который я написал и описал в предыдущей статье, я создал сильно изменённый код генетического алгоритма для игры Pong, который я и буду описывать больше всего, так как именно на него я опирался, когда я уже создавал GA для Flappy Bird.

Вначале нам потребуется импортировать модули, списки и переменные:

Читать далее

Метод главных компонент (PCA). Принцип работы и реализация с нуля на Python

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров34K

Метод главных компонент (Principal Component Analysis или же PCA) — алгоритм обучения без учителя, используемый для понижения размерности и выявления наиболее информативных признаков в данных. Его суть заключается в предположении о линейности отношений данных и их проекции на подпространство ортогональных векторов, в которых дисперсия будет максимальной.

Такие вектора называются главными компонентами и они определяют направления наибольшей изменчивости (информативности) данных. Альтернативно суть PCA можно определить как линейное проецирование, минимизирующее среднеквадратичное расстояние между исходными точками и их проекциями.

Читать далее

Nearest-Neighbors (python 3)

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров3.4K

Исходный код + Описание команд программы + Описание идеи алгоритма

sklearn.neighbors — это библиотека, которая предоставляет возможности работы с алгоритмами, основанными на соседях (как для случая обучения с учителем, так и для случая обучения без учителя).

Метод ближайших соседей без учителя является основой для многих других алгоритмов машинного обучения, в частности, manifold learning и спектральной кластеризации.

Обучение с учителем, основанное на соседях представляется в двух вариантах: классификация (для данных с дискретными метками) и регрессия (для данных с непрерывными метками).

Принцип метода ближайших соседей заключается в поиске предопределенного количества тренировочных (учебных) образцов, ближайших по расстоянию до новой точки, и предсказать метку по ним. Число образцов может быть определено пользователем константой (k‑ближайших соседей), либо варьироваться в зависимости от локальной плотности точек (радиус‑ориентированное обучение). Расстояние, вообще говоря, может быть любой метрической мерой: стандартное евклидово расстояние является наиболее распространенным выбором. Методы, основанные на соседях, известны как не обобщающие методы машинного обучения, так как они просто «запоминают» все свои учебные данные (возможно, превращаются в быструю структуру индексирования, такую как дерево шаров или KD дерево).

Несмотря на свою простоту, ближайшие соседи успешно справились с большим количеством проблем классификации и регрессии, включая рукописные цифры или сцены спутникового изображения. Будучи непараметрическим методом, он часто бывает успешным в ситуациях классификации, где граница решения очень нерегулярна.

Читать далее

Кластеризация в ML: от теоретических основ популярных алгоритмов к их реализации с нуля на Python

Уровень сложностиСложный
Время на прочтение34 мин
Количество просмотров61K

Кластеризация — это набор методов без учителя для группировки данных по определённым критериям в так называемые кластеры, что позволяет выявлять сходства и различия между объектами, а также упрощать их анализ и визуализацию. Из-за частичного сходства в постановке задач с классификацией кластеризацию ещё называют unsupervised classification.

В данной статье описан не только принцип работы популярных алгоритмов кластеризации от простых к более продвинутым, но а также представлены их упрощённые реализации с нуля на Python, отражающие основную идею. Помимо этого, в конце каждого раздела указаны дополнительные источники для более глубокого ознакомления.

Читать далее

Ближайшие события

Платформа Rasa в действии: оценка работы виртуального ассистента с помощью конвейера данных диалогов и аналитики

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров863

Вы создали ассистента, настроили намерения, запустили его — клиенты с ним взаимодействуют. Но как определить, что все прошло успешно? Как вообще измерить успех? По каким признакам вы оцениваете удовлетворенность клиентов или определяете, что ассистент работает так, как было задумано? Как понять, что именно необходимо оптимизировать, если он работает недостаточно эффективно?

Читать далее

Выбор данных, малые языковые модели и причём здесь Шмидхубер

Время на прочтение4 мин
Количество просмотров2.9K

Большие языковые модели — это хорошо, но интересно, можно ли получить сравнимое качество на малых моделях. Вести диалог с GPT-2 не получится, а тем более написать диплом или научную статью. Она и другие small language models (SLM) по большей части выдают слабый текст, даже если обучить их на всей Википедии.  

Возможно, тут стоит вспомнить теорию Шмидхубера, который, как известно,  всё придумал

Читать далее

Звоните Кузе: как мы записали FAQ для инженеров

Время на прочтение7 мин
Количество просмотров2.6K
image

Каждый месяц мы получаем 20–50 тысяч звонков с вопросами по обслуживанию банкоматов. Чаще всего звонят инженеры: узнать статус заявки, получить доступ, проверить версии ПО и т.п. Или инкассаторы — чтобы понять, есть ли на препарируемом ими банкомате неисправности. Вопросы в 90% случаев одни и те же.

Мы взяли движки для голосовой автоматизации и речевых технологий, объединили их и получили робота, который помогает человекам, подключили и поставили его на линию.

Функционал был тот же, что и у оператора, но инженеры принципиально не хотели общаться с роботом. Даже если это был типовой вопрос «всё ли хорошо с банкоматом?». Потом мы поменяли голос на приятный женский, протестировали в АБ с мужским — и количество переключений на оператора с робота-женщины упало: 24% обработок с Денисом и 65% с Джулией.
Читать дальше →

WaveSync: Новый путь к нелинейному анализу эмбеддингов

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров3.2K

WaveSync — новый алгоритм для детального, нелинейного и быстрого анализа сходства эмбеддингов и векторов.

Алгоритм является в большинстве задач заменой линейному косиносному сходству. Он позволяет улучшить точность обработки языка и открывает новые перспективы для разработчиков и исследователей в области NLP.

Читать далее

Портретная гармонизация изображений

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров3.1K

Привет! В данной публикации команда RnD CV из SberDevices познакомит вас с нашим подходом к решению задачи повышения степени реалистичности портретных изображений (по-научному — портретной гармонизации изображений). Мы не только расскажем о задаче портретной гармонизации, но и представим архитектуру нейронной сети, которая прекрасно решает эту задачу. В конце статьи будут представлены примеры работы нашей модели и получившиеся метрики.

Читать далее

Модель глубокого обучения, использующая данные ЭКГ для прогнозирования риска внезапной сердечной смерти

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров2.9K

Внезапная сердечная смерть (ВСС) происходит, когда возникают проблемы с электрической активностью в сердце. Это распространенная причина смерти по всему миру, поэтому было бы полезно легко выявлять людей с высоким риском ВСС. Электрокардиограммы - это доступный и широко используемый способ измерения электрической активности сердца. Мы разработали вычислительный метод, который может использовать электрокардиограммы для определения, находится ли человек в повышенном риске ВСС. Наш метод может позволить врачам скрининг больших групп людей и выявление тех, кто находится в повышенном риске ВСС. Это может позволить регулярное наблюдение за этими людьми и, возможно, предотвращение ВСС у некоторых из них.

Читать далее

Как защитить бизнес при внедрении LLM (часть 2)

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.9K

Новый мир с LLM — прекрасен! Нам, инженерам, он открывает много перспектив. А тем, кто его незаконно использует — предоставляет новые страшные инструменты. Как же защитить свой бизнес от угроз нейросетей?

Меня зовут Евгений Кокуйкин и я — руководитель AI продуктов компании Raft. Занимаюсь внедрением технологий искусственного интеллекта. В течение карьеры работал с протоколами баз данных, проводил фишинговые тренинги и аудит веб приложений. Продолжу рассказывать про безопасность решений на больших языковых моделях!

Читать далее

Вклад авторов