Pull to refresh
22
0
Антон Казенников @kzn

Пользователь

Send message

Про волнения в головах

Reading time13 min
Views24K

Пару месяцев назад мне захотелось поэкспериментировать с нейроинтерфейсом. Никогда этой темой не занимался, но вдруг стало любопытно. Вроде как лет 5-10 назад обещали бум нейроустройств, а всё что мы сейчас имеем на рынке — устройство чтобы махать ушами, устройство чтобы светить камешком, да устройство чтобы левитировать шаром. Где-то на подходе устройство чтобы будить вовремя. Вот тут есть неплохая статья про всё это дело. В то же время регулярно появляются какие-то исследования, где рассказывают, что люди могут научиться двигать роботическими руками-ногами или писать тексты (1, 2, 3, вот тут есть подборка). Но это всё опытное, в единственном экземпляре, со стоимостью аппаратуры как хорошее авто.

А где что-то посередине? Что-то полезное обычному пользователю? Пусть даже не везде, а в каких-то отдельных применениях. Ведь даже навскидку придумывается несколько вещей: детектор засыпания для водителя, повышение работоспособности (например через выбор музыки, или управление перерывами!). Можно выбрать что-то более специфическое. Например смотреть и анализировать своё состояние в киберспорте. Для этого же даже трекеры зрачков выпускают и используют. Почему нет таких применений? Этот вопрос мучил меня. В итоге решил почитать куда наука движется, а так же купить простенькую нейрогарнитуру и затестить. В статье — попытка разобраться в теме, немного исходников и много анализа текущих достижений потребительской электроники.
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments9

Обзор электронной книги Meebook P10 Pro

Level of difficultyEasy
Reading time9 min
Views18K

Электронная книга Meebook P10 Pro была куплена мне в подарок примерно год назад. По прошествии этого времени я сделал её обзор, основанный на личном опыте использования.

Читать далее
Total votes 20: ↑18 and ↓2+20
Comments25

Дорожная карта для изучения Java

Level of difficultyEasy
Reading time7 min
Views50K

Java — настолько популярный и развитый язык, что контента на любую связанную с ним тему хоть отбавляй. Будь то технические разборы, обзоры популярных библиотек с открытым исходным кодом, статьи о поиске работы Java-программистом, сравнение с другими языками — всего не перечесть. Поиск по слову «java» в гугле выдал мне около 1,56,00,00,000 (?) результатов.

Читать далее
Total votes 21: ↑12 and ↓9+6
Comments43

Теория ограничений Голдратта и проектное управление. Диагональный буфер

Level of difficultyEasy
Reading time5 min
Views2.9K

Диагональный буфер — это часть решения по управлению проектами в Теории Ограничений Голдратта (ТОС). Это только часть решения, части проблем. Решения не бывают хорошими или плохими вне контекста. В предыдущей заметке я описала проблему, которую решает диагональный буфер, время прочтения — 4 минуты. Посыл — срок задачи в проекте не работает как хотелось бы.

Решение ТОС для проектного управления называется метод Критической цепи. Отличается от метода Критического пути тем, что мы уходим от срока задачи.

Диагональный буфер — это инструмент приоритизации. Если у нас не будет сроков задач, то непонятно как в каждый момент времени ответить на вопросы: мы успеваем, или пора торопиться, или уже пора разговаривать с заказчиком о переносе срока? А если я могу приступить к выполнению нескольких задач из одного, или даже разных проектов, как выбрать, с какой начать?

Пишем подробный план

Мы начинаем с того, что строим обычную диаграмму Ганта. Выписываем задачи и распределяем их в порядке выполнения. Чем подробнее будет ваш план, тем лучше. Что такое подробный план? Если, например, нам нужно написать ТЗ, то нельзя отделаться одной задачей: «Написать ТЗ«. И даже если вы добавите «Согласовать ТЗ», этого тоже будет недостаточно. Подробный: написать ТЗ, показать, доработать, показать, доработать и т. д. Чем лучше такой план? Тем что задача «написать ТЗ» будет оценена мной в 2 недели. А набор из 6 мелких задач будет оценён мной в 3.5 дня. Это не значит, что я оставлю себе на это 3.5 дня, но это значит, что дальнейшие мои расчёты будут реалистичнее.

Читать далее
Total votes 5: ↑3 and ↓2+2
Comments0

1-1. Правила и практики

Reading time10 min
Views42K

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

Читать далее
Total votes 9: ↑7 and ↓2+6
Comments4

(Законы Акина) законы космической инженерии

Reading time3 min
Views39K
1. Инженерная разработка — это цифры. Анализ без цифр — это просто мнение.

2. Создание правильной ракеты занимает бесконечное количество времени. Поэтому следует создавать ракеты, в которых что-то неправильно.
Читать дальше →
Total votes 82: ↑76 and ↓6+70
Comments29

Как мы делали свой поиск в Ozon: эволюция архитектуры от SQL до O2

Reading time16 min
Views26K

Привет, Хабр! Меня зовут Сергей, я руководитель команды поиска в Ozon. Сегодня я расскажу об эволюции наших поисковых систем: как всё начиналось более 20 лет назад с обычных SQL-запросов, как мы осваивали Sphinx и Elasticsearch и как сейчас наш собственный поисковый движок O2 на базе Apache Lucene выдерживает нагрузку в десятки тысяч RPS в сезон распродаж. Исторические хроники восстанавливались по воспоминаниям современников и представлены для полноты картины. Новейшая история описана на основе собственного опыта, поэтому подробностей будет на порядок больше. Поехали!

Читать далее
Total votes 56: ↑56 and ↓0+56
Comments25

Задача о многоруком бандите — сравниваем эпсилон-жадную стратегию и Томпсоновское сэмплирование

Reading time12 min
Views20K
Привет, Хабр! Представляю вашему вниманию перевд статьи Solving multiarmed bandits: A comparison of epsilon-greedy and Thompson sampling.

Задача о многоруком бандите


Задача о многоруком бандите – одна из самых основных задач в науке о решениях. А именно, это задача об оптимальном распределении ресурсов в уcловиях неопределенности. Само название «многорукий бандит» пошло от старых игровых автоматов, которыми управляли при помощи ручек. Эти автоматы получили прозвище «бандиты», потому что после общения с ними люди обычно чувствовали себя ограбленными. А теперь представьте, что таких машин несколько и шанс выиграть у разных машин разный. Раз уж мы взялись играть с этими машинами, мы хотим определить, у какой этот шанс выше и использовать (exploit) эту машину чаще, чем другие.


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


Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments5

Устройство поисковых систем: базовый поиск и инвертированный индекс

Reading time24 min
Views26K

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

В статье описано устройство поиска, инвертированного индекса и его оптимизаций с отсылками к теории. В качестве подопытного кролика взят Tantivy — реализация архитектуры Lucene на Rust. Статья получилась концентрированной, математикосодержащей и несовместимой с расслабленным чтением хабра за чашкой кофе, осторожно!
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments6

CatBoost, XGBoost и выразительная способность решающих деревьев

Reading time42 min
Views52K

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

Данный обзор охватывает сразу несколько тем. Мы начнем с устройства решающего дерева и градиентного бустинга, затем подробно поговорим об XGBoost и CatBoost. Среди основных особенностей алгоритма CatBoost:

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

В конце обзора поговорим о методах интерпретации решающих деревьев (MDI, SHAP) и о выразительной способности решающих деревьев. Удивительно, но ансамбли деревьев ограниченной глубины, в том числе CatBoost, не являются универсальными аппроксиматорами: в данном обзоре приведено собственное исследование этого вопроса с доказательством (и экспериментальным подтверждением) того, что ансамбль деревьев глубины N не способен сколь угодно точно аппроксимировать функцию y = x_1 x_2 \dots x_{N+1}. Поговорим также о выводах, которые можно из этого сделать.

Читать далее
Total votes 48: ↑48 and ↓0+48
Comments9

Постановка задачи автоматического реферирования и методы без учителя

Reading time8 min
Views8.3K


Всем привет!


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


Статьи цикла:
1) Постановка задачи автоматического реферирования и методы без учителя ⬅️
2) Извлекающие методы автоматического реферирования
3) Секреты генерирующего реферирования текстов


Это первая статья цикла, посвящённая самой задаче и методам без учителя, которым не нужен эталонный корпус рефератов: методу Луна, TextRank, LexRank, LSA и MMR.

Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments6

Разбор статей конференции RecSys 2021

Reading time21 min
Views3.8K

Привет, Хабр! Прошедший год был богат на интересные научные результаты в области рекомендательных систем. Крупнейшая конференция по рекомендательным системам RecSys 2021 в этом году приняла рекордные 49 статей в основную программу, 3 – в трек воспроизводимости и 23 исследования – в late breaking results.

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

Вперед к статьям
Total votes 14: ↑13 and ↓1+14
Comments4

Вы «продоете теплых кросовок»: ищем идеальную пару обуви с помощью Elasticsearch

Reading time9 min
Views6.9K

Привет, эту статью мы пишем вместе — Дмитрий Генинг, руководитель направления разработки R&D, и Александр Желубенков, руководитель направления ранжирования и навигации в компании Lamoda. 

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

В этой статье мы расскажем:

• что находится «под капотом» поиска в Lamoda;

• как мы понимаем пользователей и разбираем поисковые запросы;

• как обогащаются атрибуты товаров и по какой логике формируется запрос к Elasticsearch;

• над чем работаем сейчас и какие есть планы на будущее.

Читать далее
Total votes 19: ↑18 and ↓1+20
Comments5

Kubernetes для разработчиков: какие знания нужны?

Reading time10 min
Views13K

В преддверии запуска Вечерней школы по Kubernetes, в этот раз для разработчиков, подготовили интервью с Павлом Селивановым архитектором в Mail.ru Cloud Solutions и Марселем Ибраевым CTO Слёрма. Речь пойдет о том, какие конкретно знания нужны разработчику в компаниях с Kubernetes, Павел и Марсель поделятся кейсами из своей практики.

Читать
Total votes 15: ↑14 and ↓1+19
Comments1

Planning Poker или White Elephant, что выбрать для оценки СЛОЖНОСТИ задач?

Reading time10 min
Views4.9K

Сейчас во многих статьях указывается приблизительное время чтения в минутах, поддержу тренд, но чуть- чуть по-другому :) Первый вопрос, который задает себе читатель: а эта статья она вообще о чем? Нужно ли мне ее читать? Что я узнаю нового для себя?  Спрашивали? Отвечаем! :) Обычно в статьях по технике планирования Planning Poker рассматривается вопрос КАК проводить сессию, подробно, красиво, с примерами успешных кейсов.  Но статья, которую вы сейчас читаете сфокусирована на другом.  На нормах деятельности, которым нужно следовать при проведении сессий по оценки сложности задач. Она отвечает на вопрос ЧТО вы должны делать, чтобы сессия  оценки сложности задач была успешна и ЧЕМ следует руководствоваться при выборе той или иной техники. 

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments3

Как мы в SIGIR-соревновании участвовали

Reading time10 min
Views2.5K

Летом этого года на конференции SIGIR проводился Workshop On eCommerce, посвященный прогнозам намерений и рекомендаций. По традиции к воркшопу приурочили небольшое соревнование, посвященное использованию последних наработок в области RecSys. Мы в Tinkoff.AI решили немного развеяться и поучаствовать.

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

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments0

Новостной агрегатор за две недели

Reading time8 min
Views18K

18 ноября Telegram запустил соревнование по кластеризации данных: Data Clustering Contest. Нужно было за две недели сделать свой новостной агрегатор. Ограничения, которые были установлены в этом соревновании отпугнули кучу людей, но не меня и моих коллег. Я расскажу от том, каким путём мы прошли, какие выборы сделали и с какими сложностями столкнулись. Решение, которое мы заслали в соревнование обрабатывало 1000 документов за 3,5 секунды, занимало 150 Мб, заняло 6 место на публичном голосовании и 3 место в итоговых результатах. Мы допустили много ошибок, из-за которых не заняли место повыше, большинство из них сейчас исправлены. Весь код и все модели можно найти в репозитории. Все скрипты для обучения моделек перенесены на Colab.


Топ из публичного голосования
Топ из публичного голосования

Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments4

Простое руководство по дистилляции BERT

Reading time8 min
Views19K

Если вы интересуетесь машинным обучением, то наверняка слышали про BERT и трансформеры.


BERT — это языковая модель от Google, показавшая state-of-the-art результаты с большим отрывом на целом ряде задач. BERT, и вообще трансформеры, стали совершенно новым шагом развития алгоритмов обработки естественного языка (NLP). Статью о них и «турнирную таблицу» по разным бенчмаркам можно найти на сайте Papers With Code.


С BERT есть одна проблема: её проблематично использовать в промышленных системах. BERT-base содержит 110М параметров, BERT-large — 340М. Из-за такого большого числа параметров эту модель сложно загружать на устройства с ограниченными ресурсами, например мобильные телефоны. К тому же, большое время инференса делает эту модель непригодной там, где скорость ответа критична. Поэтому поиск путей ускорения BERT является очень горячей темой.


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


Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments3

Как не сдохнуть на проекте или 5 лайфхаков

Reading time4 min
Views14K

В моем опыте аналитика за почти 7 лет (хоть он и не очень большой на самом деле) было много разных интересных историй, но самый забавный момент — это когда я оказалась в патовом проекте, который нельзя было не сдать, но туда свалились все беды: и смена заказчика, и распределенная команда, и локальна я одна, и новая предметная область для меня, и близкий дедлайн.


И вот как то раз мне предложили выступить на конференции аналитиков.


Я начала думать, чем же можно поделиться, какие знания передать….какие-то специфичные знания как проектировать в uml или как писать правильно по ГОСТ не хочется рассказывать, потому что это интересно одним аналитикам и не интересно другим. Ну хотя бы потому, что роль аналитика на столько многогранна и в каждой фирме, на каждом проекте аналитик выполняет те или иные функции, и знания ему нужны определенные.


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


Итак, это всего ПЯТЬ советов:


1. Прими как данность специфику проектной деятельности


… все эти цейтноты, дедлайны, какие-то стендапы и планерки — в общем все, что обычного человека выводит из равновесия, все это необходимо аналитику в его работе.


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

Читать дальше →
Total votes 16: ↑12 and ↓4+10
Comments13

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity