Pull to refresh
10
0
Сергей @JegernOUTT

С++ developer

Send message

Практическое руководство по методу максимального правдоподобия

Reading time4 min
Views24K

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

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

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

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

Сжимаем трансформеры: простые, универсальные и прикладные способы cделать их компактными и быстрыми

Reading time6 min
Views5.2K

transformer_press


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


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


Тем не менее у self-attention модуля есть ряд плюсов: (i) относительная простота при правильной реализации (ii) простота квантизации (iii) относительная эффективность на коротких (до нескольких сотен элементов) последовательностях и (iv) относительная популярность (но большая часть имплементаций имеет код раздутый раз в 5).


Также есть определенный пласт статей про улучшение именно асимптотических свойств self-attention модуля (например Linformer и его аналоги). Но несмотря на это, если например открыть список пре-тренированных языковых моделей на основе self-attention модулей, то окажется, что "эффективных" моделей там буквально пара штук и они были сделаны довольно давно. Да и последовательности длиннее 500 символов нужны не очень часто (если вы не Google).


Попробуем ответить на вопрос — а как существенно снизить размер и ускорить self-attention модуль и при этом еще удовлетворить ряду production-ready требований:

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

FOVEA: томографируем коня через игольное ушко

Reading time4 min
Views2.3K

Рентгеновская томография - один из двух (наряду с МРТ) самых известных способов “заглянуть внутрь” непрозрачных объектов. В медицине он является инструментом клинического мониторинга и средством терапии, в индустрии помогает контролировать технологические процессы, в таможне - найти то, что кое-кто предпочел бы спрятать. Эта технология в нашей стране развивается in house на мировом уровне. Но мы в Smart Engines пишем про томографию так часто не только поэтому. Мы - ученые и изобретатели, а томография - неиссякаемый источник проблем и задач, требующих решения (мы уже писали о несовершенных детекторах и широкополосном излучении). Сегодня мы расскажем о том, что делать, если объект исследования не помещается в томограф. Вот как, например, британские ученые исследуют коня в зоопарке. Голову коня в гентри поместить удается, а с остальным дела обстоят сложнее. Пример не очень серьезный, но жизненный. Кто в лаборатории работал, тот в зоопарке не смеется. Заглянув под кат вы узнаете, как получается, что у физиков сантиметровый образец не помещается в километровый томограф, и чем тут могут помочь вычислительные математики.

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

Как получить давление в 100 000 атмосфер?

Reading time16 min
Views52K

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

Электрогидравлический эффект с первых дней его открытия был и остается постоянным источником рождения множества прогрессивных технологических процессов, которые сейчас уже широко применяются во всем мире. Этим обусловливаются его непреходящее значение и все возрастающий интерес, проявляемый к нему в самых различных отраслях науки, техники и экономики.
Читать дальше →
Total votes 106: ↑103 and ↓3+100
Comments55

Тихая революция и новый дикий запад в ComputerVision

Reading time7 min
Views33K

Казалось бы, революция с Computer Vision уже была. В 2012 году выстрелили алгоритмы основанные на сверточных нейронных сетях. Года с 2014 они дошли до продакшна, а года с 2016 заполонили все. Но, в конце 2020 года прошел новый виток. На этот раз не за 4 года, а за один. поговорим о Трансформерах в ComputerVision. В статье будет обзор новинок, которые появились в последний год.

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

Обзор на статью Visual Transformers — новый подход к тренировке моделей компьютерного зрения на основе visual tokens

Reading time4 min
Views18K
Эта работа интересна тем, что авторы в ней предлагают новый подход к тренировке моделей на изображениях — использовать не только пиксели и свертки, но ещё и представлять изображения в виде визуальных токенов и тренировать на них трансформеры. По сравнению с использованием просто архитектуры ResNet предложенный подход уменьшает MAC (multiply and accumulate operations) в 6,9 раз и увеличивает топ-1 точность на 4,53 пункта на задаче классификации ImageNet.

image
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments2

Производственный календарь своими руками в Postgresql

Reading time5 min
Views14K
image

Здравствуйте, меня зовут Виктор и я разработчик в компании Gems Development. Я хочу рассказать, как мы реализовывали создание и заполнение производственного календаря в Postgresql.

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

После проведения анализа задачи мы пришли к выводу, что в календаре достаточно хранить выходные и праздничные дни, т.к именно они представляют сложность для расчетов и могут меняться в соответствии с производственным календарем в каждом году.
Читать дальше →
Total votes 11: ↑8 and ↓3+5
Comments12

Почему функциональное программирование такое сложное

Reading time15 min
Views90K

Я несколько раз начинал читать статьи из серии «Введение в функциональное программирование», «Введение в Теорию Категорий» и даже «Введение в Лямбда Исчисление». Причем и на русском, и на английском. Каждый раз впечатление было очень сходным: во-первых, много новых непонятных слов; во-вторых, много новых определений, которые возникают из ниоткуда; в-третьих, совершенно непонятно, как это использовать.


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


Попытки использовать как-то в работе изученные концепции разбивались о полное непонимание, как применить полученное глубокое знание. Ведь, напомню, что парадигму ФП (где-то удобнее, где-то не очень, но) можно использовать практически в любом ЯП, совсем необязательно для этого изучать условный Хаскель.

Читать дальше →
Total votes 176: ↑157 and ↓19+138
Comments715

Правда и ложь систем распознавания лиц

Reading time11 min
Views61K
Пожалуй нет ни одной другой технологии сегодня, вокруг которой было бы столько мифов, лжи и некомпетентности. Врут журналисты, рассказывающие о технологии, врут политики которые говорят о успешном внедрении, врут большинство продавцов технологий. Каждый месяц я вижу последствия того как люди пробуют внедрить распознавание лиц в системы которые не смогут с ним работать.



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

Итак. В статье я отвечу на несколько простых вопросов:

  • Можно ли распознать вас на улице? И насколько автоматически/достоверно?
  • Позавчера писали, что в Московском метро задерживают преступников, а вчера писали что в Лондоне не могут. А ещё в Китае распознают всех-всех на улице. А тут говорят, что 28 конгрессменов США преступники. Или вот, поймали вора.
  • Кто сейчас выпускает решения распознавания по лицам в чём разница решений, особенности технологий?

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

Я не буду вдаваться в подробности того как сейчас реализовано распознавание лиц. На Хабре есть много хороших статей на эту тему: а, б, с (их сильно больше, конечно, это всплывающие в памяти). Но всё же некоторые моменты, которые влияют на разные решения — я буду описывать. Так что прочтение хотя бы одной из статей выше — упростит понимание этой статьи. Начнём!
Total votes 85: ↑84 and ↓1+83
Comments79

SurfingAttack: компрометация смартфонов со звуковыми помощниками [+видео]

Reading time2 min
Views2.5K

[Дисклеймер: Я ИБ-переводчик, не ИБэшник, поэтому мог промахнуться. Но вроде бы про эту атаку на Хабре не писали, а мне понравилась — она красивая (+ моя XiaoMi-шка оказалась в списке уязвимых). Для тех, кто любит учить английский, я добавил в скобочках термины].


Новый тип атаки под названием “Surfing Attack” можно использовать против устройств с голосовым помощником.

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

Какие английские слова IT-лексикона мы неправильно произносим чаще всего

Reading time5 min
Views171K
Пока пара новых статей на технические темы еще в процессе написания, я решил опубликовать небольшой лингвистический материал. Достаточно часто замечаю, что коллеги, у которых английский язык — не родной, неправильно произносят некоторые характерные для IT сферы слова. И дело здесь не в том, насколько аутентично произносятся отдельные звуки, а именно в транскрипции. Регулярно встречал ситуации при общении с носителями, когда неправильно произносимое слово приводило к недопониманиям.

Дальше я приведу несколько наборов слов, сгруппированных по типовым ошибкам. К каждому слову будет приложена транскрипция, приблизительная транскрипция на русском и ссылка на более детальную информацию в словаре. Так как большинство IT компаний все-таки работает с Северной Америкой, то транскрипции будут из US English.
Читать дальше →
Total votes 309: ↑308 and ↓1+307
Comments486

Объяснение задачи на Python с собеседования

Reading time2 min
Views29K
Салют, хабровчане! В преддверии запуска нового потока по курсу «Web-разработчик на Python» хотим поделиться новым полезным переводом. Поехали!



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

def f(x, l=[]):
    for i in range(x):
        l.append(i * i)
    return l
>>> f(2)
>>> f(3, [0, 1, 2])
>>> f(3)


Вопрос: Что выведет этот код?
Читать дальше →
Total votes 38: ↑24 and ↓14+10
Comments117

Методы распознавания 3D-объектов для беспилотных автомобилей. Доклад Яндекса

Reading time8 min
Views11K
Беспилотному авто не обойтись без понимания, что находится вокруг и где именно. В декабре прошлого года разработчик Виктор Отлига vitonka выступил на «Дата-елке» с докладом о детекции 3D-объектов. Виктор работает в направлении беспилотных автомобилей Яндекса, в группе обработки дорожной ситуации (а также преподает в ШАДе). Он объяснил, как мы решаем задачу распознавания других участников дорожного движения в трехмерном облаке точек, чем эта задача отличается от распознавания объектов на изображении и как извлечь пользу из совместного использования разных типов сенсоров.


— Всем привет! Меня зовут Виктор Отлига, я работаю в офисе Яндекса в Минске, занимаюсь разработкой беспилотных автомобилей. Сегодня я расскажу о достаточно важной задаче для беспилотников — распознавании 3D-объектов вокруг нас.
Total votes 39: ↑38 and ↓1+37
Comments18

Как превратить спутниковые снимки в карты. Компьютерное зрение в Яндексе

Reading time10 min
Views31K
Один из главных источников данных для сервиса Яндекс.Карты — спутниковые снимки. Чтобы с картой было удобно работать, на снимках многоугольниками размечаются объекты: леса, водоёмы, улицы, дома и т. п. Обычно разметкой занимаются специалисты-картографы. Мы решили помочь им и научить компьютер добавлять многоугольники домов без участия людей.

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

Читать дальше →
Total votes 87: ↑84 and ↓3+81
Comments34

Инициализация в С++ действительно безумна. Лучше начинать с Си

Reading time17 min
Views96K
Недавно мне напомнили, почему я считаю плохой идеей давать новичкам C++. Это плохая идея, потому что в C++ реальный бардак — хотя и красивый, но извращённый, трагический и удивительный бардак. Несмотря на нынешнее состояние сообщества, эта статья не направлена против современного C++. Скорее она частично продолжает статью Саймона Брэнда «Инициализация в C++ безумна», а частично — это послание каждому студенту, который хочет начать своё образование, глядя в бездну.

Типичные возражения студентов, когда им говорят об изучении C:

  • «Кто-то его ещё использует?»
  • «Это глупо»
  • «Почему мы изучаем C?»
  • «Мы должны учить что-то лучшее, например, C++» (смех в зале)
Total votes 83: ↑79 and ↓4+75
Comments183

«Крайне мало кто реально пишет бэкенд на Котлине» — интервью с Пашей Финкельштейном

Reading time22 min
Views14K
Как стать программистом от безысходности и подняться к вершинам успеха? Сегодня в нашей виртуальной студии на вопросы отвечает Паша asm0dey Финкельштейн. Паша – один из немногих, кто разбирается в создании бэкендов на Kotlin. Кроме того, он пилит опенсорс, активно участвует в жизни сообщества, и, на минуточку, — побывал на почти всех наших московских Java-конференциях.

Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments33

1000-мерный куб: можно ли сегодня создать вычислительную модель человеческой памяти?

Reading time36 min
Views26K
image

Сегодня утром на пути к кампусу Беркли я провёл пальцами по листьям ароматного куста, а затем вдохнул знакомый запах. Я делаю так каждый день, и каждый день первое слово, которое всплывает в голове и приветственно машет рукой — это шалфей (sage). Но я знаю, что это растение — не шалфей, а розмарин, поэтому я приказываю шалфею успокоиться. Но слишком поздно. После rosemary и sage я не могу помешать появлению на сцене петрушки (parsley) и чабреца (thyme), после чего в голове возникают первые ноты мелодии и лица на обложке альбома, и вот я уже снова оказался в середине 1960-х, одетый в рубашку с огурцами. Тем временем розмарин (rosemary) вызывает в памяти Роуз Мэри Вудс (Rosemary Woods) и 13-минутный пробел (хотя теперь, проконсультировавшись с коллективной памятью, я знаю, что это должны быть Роуз Мэри Вудс и пробел в 18 с половиной минут). От Уотергейта я перепрыгиваю к историям на главной странице. Потом я замечаю в ухоженном саду ещё одно растение с пушистыми серо-зелёными листями. Это тоже не шалфей, а чистец (lamb’s ear). Тем не менее, sage наконец получает свою минуту славы. От трав я переношусь к математическому ПО Sage, а потом к системе противовоздушной обороны 1950-х под названием SAGE, Semi-Automatic Ground Environment, которой управлял самый крупный из когда-либо построенных компьютеров.

В психологии и литературе подобные мыслительные блуждания называются потоком сознания (автор этой метафоры — Уильям Джеймс). Но я бы выбрал другую метафору. Моё сознание, насколько я ощущаю, не течёт плавно от одной темы к другой, а скорее порхает по ландшафту мыслей, больше похожее на бабочку, чем на реку, иногда прибиваясь к одному цветку, а затем к другому, иногда уносимая порывами ветка, иногда посещающая одно и то же место снова и снова.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments10

Как жульничать при игре в кости – советы игрового эксперта

Reading time4 min
Views94K


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

Сегодня подобные кубики известны, как «верхи и низы» [tops and bottoms]. Они полезны для нечестной игры, если вы склонны к подобным действиям, хотя не гарантируют постоянного выигрыша, и не выдерживают тщательного осмотра со стороны подозрительных соперников (им стоит только попросить рассмотреть кубик – и вас раскроют). Но при игре в кости есть несколько других вариантов жульничества, о некоторых из которых я вам расскажу.

Стоит отметить, что эти методы запрещено использовать в казино, и я не рекомендую вам использовать их в подобных заведениях – это лишь интересный метод изучения вероятностей.
Total votes 42: ↑26 and ↓16+10
Comments8

Памятки по искусственному интеллекту, машинному обучению, глубокому обучению и большим данным

Reading time4 min
Views36K


В течение нескольких месяцев мы собирали памятки по искусственному интеллекту, которыми периодически делились с друзьями и коллегами. В последнее время сложилась целая коллекция, и мы добавили к памяткам описания и/или цитаты, чтобы было интереснее читать. А в конце вас ждёт подборка по сложности «О большое» (Big-O). Наслаждайтесь.

UPD. Многие картинки будут читабельнее, если открыть их в отдельных вкладках или сохранить на диск.
Читать дальше →
Total votes 51: ↑47 and ↓4+43
Comments9

Релиз Linux kernel 4.17: что о нем нужно знать

Reading time3 min
Views46K
Третьего июня Линус Торвальдс объявил о релизе Linux kernel 4.17, который должен был стать версией 5.0, но не стал. Расскажем, почему так вышло, и что нужно знать о версии 4.17.

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

Information

Rating
Does not participate
Location
Зеленоград, Москва и Московская обл., Россия
Date of birth
Registered
Activity