Search
Write a publication
Pull to refresh
-5
0
Владимир @Caracat

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

Send message

Как побывать в корейском университете с помощью Network File System

Reading time15 min
Views32K


Предисловие


Давным-давно в начале 2000-х многие развлекались тем, что регулярно «сканировали» сети своего провайдера, а иногда и более далекие цели на предмет обнаружения Windows машин и ресурсов на них (SMB), доступных на чтение (запись). Процесс поиска был примитивен: задавался диапазон IP-адресов или маска сети и посредством различных инструментов — LANguard Network Scanner, xIntruder и подобных — сканировались адреса и находились сервера. Зачастую на обнаруженных машинах оказывались доступными на чтение, реже на запись, различные сетевые ресурсы (диски, принтеры, директории). Через анонимную сессию посредством IPC$ и пользователя «Guest» удавалось перечислять ресурсы на машине, иногда находились члены «Administrators» без паролей, а иногда, после более «активного» воздействия в отношении обнаруженных машин, удавалось найти сервера с ОС Windows NT 4.0 или Windows 2000 Server. Если удача соблаговолила обнаружить машины с распространенной тогда Windows 98, то становилось проще — в те времена в указанной ОС содержалось множество разных уязвимостей, в том числе в реализации работы с SMB, брутфорс для получения доступа к ресурсу осуществлялся за считанные минуты даже на dial-up соединениях. Для желающих окунуться в старину здесь подробно написано про «доступ» к Windows 9x — Hacking Exposed: Network Security Secrets & Solutions. Chapter 4: Hacking Windows 95/98 and Me. Но далее в статье речь не об этом.

Читать дальше →

Семь мифов в области исследований машинного обучения

Reading time10 min
Views12K
Для тех, кому лень читать всё: предлагается опровержение семи популярных мифов, которые в области исследований машинного обучения часто считаются истинными, по состоянию на февраль 2019. Данная статья доступна на сайте ArXiv в виде pdf [на английском языке].

Миф 1: TensorFlow – это библиотека для работы с тензорами.
Миф 2: Базы данных изображений отражают реальные фотографии, встречающиеся в природе.
Миф 3: Исследователи МО не используют проверочные наборы для испытаний.
Миф 4: В обучении нейросети используются все входные данные.
Миф 5: Для обучения очень глубоких остаточных сетей требуется пакетная нормализация.
Миф 6: Сети с вниманием [attention] лучше свёрточных [convolution].
Миф 7: Карты значимости – надёжный способ интерпретации нейросетей.

А теперь — подробности.
Читать дальше →

Задача N тел или как взорвать галактику не выходя из кухни

Reading time34 min
Views49K



Не так давно я прочёл фантастический роман «Задача трёх тел» Лю Цысиня. В нём у одних инопланетян была проблема — они не умели, с достаточной для них точностью, вычислять траекторию своей родной планеты. В отличии от нас, они жили в системе из трёх звёзд, и от их взаимного расположения сильно зависела «погода» на планете — от испепеляющей жары до леденящего мороза. И я решил проверить, можем ли мы решать подобные задачи.
Читать дальше →

DeepMind и Google: битва за контроль над сильным ИИ

Reading time18 min
Views16K

Демис Хассабис основал компанию по созданию самого мощного в мире ИИ. Затем её купила Google

В августе 2010 года в конференц-зале в пригороде Сан-Франциско на сцену вышел 34-летний лондонец по имени Демис Хассабис. Он вышел неторопливой походкой человека, который пытается контролировать нервы, сжал губы в краткой улыбке и начал: «Итак, сегодня мы поговорим о разных подходах к разработке...» — тут запнулся, словно вдруг осознав, что озвучивает потаённые честолюбивые помыслы. Но потом всё-таки сказал: «… сильного ИИ».

Сильный ИИ (artificial general intelligence или AGI) означает универсальный искусственный интеллект — гипотетическую компьютерную программу, способную выполнять интеллектуальные задачи как человек или даже лучше. Сильный ИИ сможет выполнять отдельные задачи, такие как распознавание фотографий или перевод текста, которые являются единственными задачами каждого из слабых ИИ в наших телефонах и компьютерах. Но он также будет играть в шахматы и говорить по-французски. Будет понимать статьи по физике, сочинять романы, разрабатывать инвестиционные стратегии и вести восхитительные беседы с незнакомыми людьми. Он будет следить за ядерными реакциями, управлять электросетями и транспортными потоками и без особых усилий преуспеет во всём остальном. AGI сделает сегодняшний самый продвинутый ИИ похожим на карманный калькулятор.
Читать дальше →

Комбайны видеоаналитики: что мозг и машины делают с нашими лицами

Reading time8 min
Views4.8K
image

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

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

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

Домашняя BigData. Часть 1. Практика Spark Streaming на кластере AWS

Reading time6 min
Views5.7K
Здравствуйте.

В данной статье мы в домашних условиях произведем установку на платформу EC2 AWS (Amazon Web Services) Apache Kafka, Apache Spark, Zookeeper, Spark-shell и научимся всем этим пользоваться.
Читать дальше →

Самое простое объяснение принципа работы современных алгоритмов симметричного шифрования

Reading time9 min
Views51K

(Нашёл в твиттере тред с очень крутым объяснением работы симметричных шифров. Его написал Colm MacCárthaigh один из основных контрибьюторов Apache. Я спросил разрешение Колма на перевод, он любезно согласился).


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


Итак, симметричное шифрование — это именно то, что мы используем в большинстве случаев, когда хотим зашифровать кучу данных. Ваш браузер отправляет и получает данные, используя симметричное шифрование. Если вы шифруете файлы или диск, в этом случае тоже работает симметричное шифрование. iMessage, Signal, WhatsApp — все они используют симметричное шифрование для безопасности вашей переписки.


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


Вот простой пример. Допустим, у меня есть строка "Ovaltine" и я хочу её зашифровать. Я мог бы воспользоваться rot13 — очень простым олдскульным шифром Цезаря, который делает хоровод из букв, где a и z держатся за ручки, и заменяет каждую букву другой буквой алфавита, которая находится от заменяемой буквы на расстоянии 13 символов. Таким образом "O" превращается в "B", а "v" становится "i", в итоге "Ovaltine" превращается в "Binygvar". Конечно, это не очень безопасно. Это наивный пример, который очень легко взломать, так как атакующий может выяснить, какая буква встречается чаще всего (обычно в оригинальном тексте это "e") и найти оставшиеся буквы подобным образом.

Читать дальше →

Сравнение фреймворков для глубокого обучения: TensorFlow, PyTorch, Keras, MXNet, Microsoft Cognitive Toolkit, Caffe, etc

Reading time7 min
Views32K
Всем привет. В этот пятничный день делимся с вами первой публикацией посвященной запуску курса «Data Scientist». Приятного прочтения.

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



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

Как аэропорт Фукуоки узнал, какие меры будут эффективны для уменьшения очередей

Reading time4 min
Views7.3K
Перед вами не вымышленная картинка из рекламного журнала «Аэропорты будущего». Это реально действующий аэропорт японского города Фукуока, который предлагает пассажирам немало свободного пространства для перемещения. Благодаря специальной технологии моделирования были выявлены причины образования очередей и приняты меры по оптимизации. Кому интересно, как работает эта технология, прошу под кат.


Фото предоставлено городом Фукуока
Читать дальше →

У нейросетей удивительно простая стратегия классификации изображений

Reading time6 min
Views17K

Свёрточные нейросети отлично справляются с классификацией искажённых изображений, в отличие от людей




В данной статье я покажу, почему передовые глубинные нейросети прекрасно могут распознавать искажённые изображения и как это помогает раскрыть удивительно простую стратегию, используемую нейросетями для классификации естественных фотографий. У этих открытий, опубликованных в ICLR 2019, есть много последствий: во-первых, они демонстрируют, что найти «решение» ImageNet гораздо проще, чем считалось. Во-вторых, они помогают нам создавать более интерпретируемые и понятные системы классификации изображений. В-третьих, они объясняют несколько явлений, наблюдаемых в современных свёрточных нейросетях (СНС), к примеру, их склонность к поиску текстур (см. другую нашу работу в ICLR 2019 и соотв. запись в блоге), и игнорирование пространственного расположения частей объекта.
Читать дальше →

Domain Driven Design: Value Objects и Entity Framework Core на практике

Reading time12 min
Views36K
На Хабре и не только написано приличное количество статей про Domain Driven Design — как в общем про архитектуру, так и с примерами на .Net. Но при этом зачастую слабо упоминается такая важнейшая часть этой архитектуры, как Value Objects.

В этой статье я постараюсь раскрыть нюансы реализации Value Objects в .Net Core с использованием Entity Framework Core.

Под катом много кода.
Читать дальше →

Умножение матриц: эффективная реализация шаг за шагом

Reading time14 min
Views112K


Введение


Умножение матриц — это один из базовых алгоритмов, который широко применяется в различных численных методах, и в частности в алгоритмах машинного обучения. Многие реализации прямого и обратного распространения сигнала в сверточных слоях неронной сети базируются на этой операции. Так порой до 90-95% всего времени, затрачиваемого на машинное обучение, приходится именно на эту операцию. Почему так происходит? Ответ кроется в очень эффективной реализации этого алгоритма для процессоров, графических ускорителей (а в последнее время и специальных ускорителей матричного умножения). Матричное умножение — один из немногих алгоритмов, которые позволяет эффективно задействовать все вычислительные ресурсы современных процессоров и графических ускорителей. Поэтому не удивительно, что многие алгоритмы стараются свести к матричному умножению — дополнительная расходы, связанные с подготовкой данных, как правило с лихвой окупаются общим ускорением алгоритмов.

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

Процесс изложения будет вестись ввиде шагов с примерами по последовательному ускорению алгоритма. Я старался писать максимально упрощая задачу, но не более того. Надеюсь у меня получилось…
Читать дальше →

Получаем ссылки на профили Vk из выдачи SearchFace с помощью Python (но это не точно)

Reading time9 min
Views54K
Картинка для привлечения внимания:


Кадр из сериала Person Of Interest

Сегодня мы поговорим о лёгком распознавании лиц с помощью доступных инструментов.
Используются: Python 3.6, searchface.ru, внешний сервис для преобразования ссылок на фото в id (бот в телеграме, на текущий момент)


Итак, у нас есть сайт, который ищет по лицам.
Заглянем внутрь.
Читать дальше →

35% доходность акций на альтернативных данных

Reading time4 min
Views19K


Торговля на альтернативных (нестандартных) данных становится модным и перспективным. На днях попал в руки любопытный датасет от Московской Биржи по популярным акциям. После поверхностного исследования удалось получить привлекательный результат c хорошими доходностями. Подробности под катом
Читать дальше →

Демистифицируем свёрточные нейросети

Reading time5 min
Views16K
Перевод Demystifying Convolutional Neural Networks.


Свёрточные нейросети.

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

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

Вдохновлённые этим, математики разработали систему, в которой эмулируются группы нейронов, срабатывающие на разные свойства изображения и взаимодействующие друг с другом для формирования общей картины.
Читать дальше →

Deep Learning — не только котики на мобилках или как мы производим дефектовку тележек локомотивов

Reading time5 min
Views24K

Буквально пару дней назад компания Aurorai передала в опытную эксплуатация систему распознавания дефектов и контроля состояния тележек для локомотивов Ермак. Задача нетривиальная и очень интересная, первым этапом которой было предложено оценить состояние тормозных колодок и ширины бандажа. Нам удалось решить задачу с точность до 1мм при скорости локоматива до 30 км/ч! Хочу отметить, что благодаря специфики можно было использовать “TTA (test-time augmentation)” – яркий пример kaggle-style хака из соревнований, который плохо ложится на прод и семантическую сегментацию на базе se_resnext50 encoder, которая даёт поразительный по точности результат в предсказании маски.

Понимание Q-learning, проблема «Прогулка по скале»

Reading time6 min
Views33K
Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Understanding Q-Learning, the Cliff Walking problem» автора Lucas Vazquez.


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


Резюме


Мы пришли к выводу, что, максимизируя сумму будущих наград, мы также находим самый быстрый путь к цели, поэтому наша цель сейчас — найти способ сделать это!


Фракталы в иррациональных числах

Reading time9 min
Views20K
Статья является продолжением моей первой статьи «Фракталы в простых числах».

Следующая статья: Фракталы в иррациональных числах. Часть 2.



В предыдущей статье мы научились рисовать самоподобные паттерны с помощью взаимно простых чисел. В этой статье покажу фрактальную природу числа $\sqrt{2}$.
Без предисловия. Под кат.
Читать дальше →

Kaggle: не можем ходить — будем бегать

Reading time19 min
Views13K
Насколько сложна тема машинного обучения? Если Вы неплохо математически подкованы, но объем знаний о машинном обучении стремится к нулю, как далеко Вы сможете зайти в серьезном конкурсе на платформе Kaggle?


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

Создана основа для обобщённой теории нейросетей

Reading time7 min
Views11K

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





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

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

Information

Rating
Does not participate
Registered
Activity