Как стать автором
Поиск
Написать публикацию
Обновить
5
0

Директор по коммуникациям в компании «Криптонит»

Отправить сообщение

Деревья решений и случайный лес

Один из методов машинного обучения называется «дерево решений». Он эффективен для задач классификации и регрессии, с которыми чаще всего сталкиваются при анализе изображений и текстов.

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

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

Чтобы устранить эти недостатки, был разработан более продвинутый метод машинного обучения на основе деревьев решений — случайный лес (random forest). Это ансамблевый метод машинного обучения, применяемый в основном для анализа медицинских данных, маркетинговых исследований и кредитного скоринга.

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

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

Такой подход повышает точность предсказаний и снижает влияние эффекта переобучения. Однако он требует в разы больше ресурсов и теряет лёгкость интерпретации.

Теги:
Рейтинг0
Комментарии0

Наши коллеги из лаборатории искусственного интеллекта научили студентов МФТИ и УРФУ классифицировать эмоции в текстах на русском языке.

Обучение проходило в формате хакатона со 2 по 23 декабря. Эксперты «Криптонита» подготовили для студентов магистратуры «Наука о данных» в МФТИ и «Инженерия машинного обучения» в УРФУ на базе Skillfactory практический кейс. 

Задача была обучить языковую модель классифицировать эмоции в тексте на русском языке. Студентам дали бейзлайн и базовый список из 7 классов: anger, disgust, fear, joy, sadness, surprise, neutral.

Модели оценивались по метрике weighted F1-score. Наши эксперты консультировали студентов в процессе подготовки решения. Работы оценивали по двум направлениям — метрика модели на тестовом датасете на лидерборде и питч-сессия с презентацией.

Решение подготовили и защитили 7 команд хакатона. Все участники смогли превзойти метрику бейзлайна, а лучшая модель обогнала бейзлайн на 10% — это отличный результат для задачи такой сложности.

С лучшими студентами наши эксперты обсудят возможность стажировки или работы в «Криптоните»

Сотрудники ИИ-лаборатории изобразили с помощью нейросети одну из заданных эмоций.
Сотрудники ИИ-лаборатории изобразили с помощью нейросети одну из заданных эмоций.

Теги:
Рейтинг0
Комментарии2

Тематическое моделирование и стоп-слова для ИИ

Искусственный интеллект склонен к мазохизму: он будет выполнять лишнюю работу, если его не остановить. Чтобы ИИ не страдал напрасно (а пользователь не ждал слишком долго), разработчики придумали механизмы ограничений.

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

Стоп-слова используются для оптимизации тематического моделирования (topic modeling) — метода, который выявляет скрытые темы в коллекции текстов или относит их к заранее определенному списку тем.

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

Эффективность тематического моделирования зависит от качества семантических векторов. Чем больше модель «видела» текстов при обучении, тем лучше она будет охватывать семантическую составляющую каждого слова.

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

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Как учатся большие языковые модели?

Рассказываем о ключевых этапах в обучении LLM: предварительном обучении (pre-training) и тонкой настройке (fine-tuning).

Претрейнинг — начальная стадия, во время которой модель обучается на огромных объёмах текстов, чтобы овладеть основами языка и знаниями о мире. Модель учится предсказывать следующий токен в предложении. Это позволяет распознавать паттерны, строить корректные по структуре предложения и «понимать» контекст.

Файнтюнинг — следующий шаг, на котором модель адаптируется к конкретным задачам или областям знаний. Её настраивают на более специфическую работу, например — генерацию текстов в определённом стиле. 

Самый простой вариант — обучить всю модель на специфическом наборе данных под конкретную задачу. Метод называется SFT (standard fine-tuning). Он требователен по количеству вычислительных ресурсов и времени.

Чтобы его ускорить, исследователи изобрели семейство методов эффективной параметрической тонкой настройки PEFT — parameter efficient fine-tuning. И один из самых популярных — LFT (Low-Rank Adaptation fine-tuning (LoRA) fine-tuning).

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

Недавнее исследование показало: качество ответов после LFT может быть даже выше, чем после SFT.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

RPG — это не только игры! Рассказываем историю этого языка программирования.

Сегодня аббревиатура RPG прочно ассоциируется с компьютерным ролевыми играми. Между тем, это ещё и Report Program Generator — уникальный язык программирования, который появился в 1959 году и до сих пор сохраняет актуальность.

Изначально RPG был написан для IBM 1401 — одного из первых транзисторных компьютеров, созданного для решения бизнес-ориентированных задач. В 60-е годы XX века было выпущено свыше 10 тысяч мейнфреймов IBM 1401, которые могли арендовать даже малые предприятия.

Основное назначение языка — автоматическое формирование отчётов из файлов с данными в виде электронных таблиц. Это востребовано в бухгалтерии, складском учёте, обработке заказов и множестве других задач, которые принципиально не изменились с прошлого века.

RPG II и последующие версии языка адаптировали для самых разных платформ и ОС, включая Unix, IBM PC DOS и Windows (Visual RPG). В 2010 году IBM запустила проект RPG Open Access. Он позволяет программисту определять новые обработчики ввода-вывода, для которых RPG не обеспечивает встроенную поддержку.

IBM продолжает совершенствовать язык RPG. За последние годы в него добавили встроенные операторы SQL, поддержку Unicode и объектов Java, интеграцию с Eclipse и другие современные возможности. При этом сохраняется обратная совместимость. Первые программы на RPG можно запустить и сейчас практически без изменений.

Теги:
Всего голосов 5: ↑5 и ↓0+8
Комментарии0

Одни языки программирования способствуют появлению других. Мы уже писали про долгожителей FORTRAN и COBOL, а сегодня расскажем о связавшем их языке COMTRAN.

Его название представляет собой акроним от COMmercial TRANslator. Это один из первых бизнес-ориентированных языков программирования. Его разработали в IBM под руководством Роберта Бемера, больше известного как «отец ASCII». Первые спецификации COMTRAN опубликовали в 1957 году.

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

Поэтому для удобства чтения исходного кода в COMTRAN было введено разделение листинга на параграфы, причём каждому параграфу присваивалось своё имя. По этим именам можно было выполнять условные (IF… THEN) и безусловные (GO TO) переходы.

Также в COMTRAN впервые появился элемент picture clause  — побайтовое определение формата переменной. Он описывает общие характеристики и требования к редактированию элемента данных, который в COMTRAN может быть числовым или буквенно-цифровым.

В частности, picture clause использовался в программах для печати финансовых документов, на страницах которых перед каждой денежной суммой требовалось ставить знак $, а задолженность указывать со знаком «-».

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

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

MPNet — это гибридная языковая модель, разработанная в 2020 году компанией Microsoft и китайским Университетом науки и технологий в Нанкине. Её название расшифровывается как Masked and Permuted Pre-training for Language Understanding (маскированное и перестановочное предварительное обучение для понимания языка).

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

MPNet объединяет сильные стороны MLM и PLM. Перестановки учитывают только локальный контекст (соседние слова) и ничего не знают о положении предсказываемого слова (или токена) в предложении, а при маскировании модель видит всё предложение целиком, кроме замаскированного слова. Она знает глобальный контекст предложения и положение слова, но плохо учитывает локальный контекст.

#нейрословарь

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Точность и полнота нейросетей

В своих разработках «Криптонит» использует искусственные нейронные сети. И мы продолжаем пояснять термины.

В машинном обучении precision (точность) и recall (полнота) являются двумя метриками, используемыми для оценки производительности алгоритмов классификации. Они численно показывают, насколько успешно классификатор отделяет объекты одного класса от другого.

Точность (P) измеряется как доля верно классифицированных объектов от общего числа положительных примеров (в которых классификатор счёл, что пример содержит объект данного класса).

Точность вычисляется по формуле P = TP / (TP + FP), где TP — количество истинно положительных примеров, а FP — количество ложноположительных примеров.

Полнота (R) показывает долю правильно классифицированных положительных примеров от общего числа истинно положительных примеров.

Формула для расчёта полноты: TP / (TP + FN), где FN — количество ложноотрицательных примеров.

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

Если важно минимизировать ложные положительные прогнозы (неверно классифицированные негативные примеры), стоит ориентироваться на точность. Если важнее избегать пропуска положительных примеров (нужно минимизировать ложные отрицательные прогнозы), стоит ориентироваться на полноту.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Магия самообучения или Self-Supervised Learning

#нейрословарь

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

Self-Supervised Learning или магия самообучения. Способность нейросетей к самообучению выглядит фантастически, но на самом деле это всего лишь метод ML, основанный на избыточности данных. В отличие от классического подхода «обучение с учителем», здесь не требуются аннотированные человеком примеры (размеченные изображения, проверенные фрагменты текста и т.д.).

В парадигме self-supervised learning нейросеть учится на «сырых» (немаркированных) данных. Она сама расставляет метки при первом прогоне обучающей выборки, а затем использует их на следующих этапах обучения. Обычно для достижения сравнимого результата при самообучении требуется в разы больше данных, поэтому метод неприменим для автоматической классификации редких событий. Зато он удобен в тех случаях, когда можно дать ИИ массу однотипных примеров.

Иногда словосочетание self-supervised learning сокращается до SSL, но из контекста обычно понятно, когда речь идёт о самообучении, а когда о Secure Sockets Layer. Впрочем, ИИ уже применяют для анализа трафика, поэтому фраза «SSL для SSL» тоже не лишена смысла.

PS: Какие еще термины из сферы ИИ нам еще раскрыть? Пишите в комментариях!

Теги:
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирована
Активность