Pull to refresh
21
0
Александр Елисеев @wAngel

User

Send message

Горький урок отрасли ИИ

Reading time 5 min
Views 53K
Об авторе. Ричард Саттон — профессор компьютерных наук в университете Альберты. Считается одним из основателей современных вычислительных методов обучения с подкреплением.

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

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

Стремясь к улучшению в краткосрочной перспективе, исследователи пытаются применить человеческие знания в предметной области, но в долгосрочной перспективе имеет значение только мощность вычислений. Эти две тенденции не должны противоречить друг другу, но на практике противоречат. Время, потраченное на одно направление, — это время, потерянное для другого. Есть психологические обязательства инвестировать в тот или иной подход. И внедрение знаний в предметной области имеет тенденцию усложнять систему таким образом, что она хуже подходит для использования общих вычислительных методов. Было много примеров, когда исследователи слишком поздно усваивали этот горький урок, и полезно рассмотреть некоторые из самых известных.
Читать дальше →
Total votes 123: ↑119 and ↓4 +115
Comments 368

Orange Pi 2G-IOT или Апельсиновый рай

Reading time 4 min
Views 39K

Шерстя просторы AliExpress
в поисках Raspberry Pi, я наткнулся на такую такое вот устройство.


Этот одноплатник за 10$ имеет скромные габариты (67x42мм), содержит в себе: Cortex-A5 1,0 ГГц, 256Мб оперативной памяти, 512Мб NAND, а главное — встроенные WI-FI и 2G адаптеры!


Сразу вспомнилась статья «Ананасовый рай», вышедшая в журнале Хакер в далеком 2013 и я загорелся желанием превратить «апельсинку» в устройство для фишинга.

Читать дальше →
Total votes 35: ↑32 and ↓3 +29
Comments 42

Профессиональное выгорание: слово экспертам

Reading time 5 min
Views 33K
После статьи о профессиональном выгорании поступило много вопросов в личку и в комментарии про то, где больше почитать про матчасть, чем отличаются одни школы психотерапии от других и как выбрать специалиста.

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

1. Дмитрий Ковпак, кандидат мед.наук, президент российской Ассоциации когнитивно-поведенческой психотерапии (КПТ), доцент кафедры психологии и педагогики СЗГМУ им. И.И. Мечникова.

2. Алексей Демьяненко, психотерапевт, заведующий Городским Психотерапевтическим Центром Санкт-Петербурга, руководитель регионального отделения Российской Психотерапевтической Ассоциации.

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

4. Мария Берлин, организационный психолог, тренер, корпоративный психолог ЗАО РТК МТС(2015-2016), преподаватель института «Иматон», автор программы подготовки специалистов «Работа с эмоциональным выгоранием – комплексный подход».

В итоге у нас накопилось пять мастер-классов (видео под катом). Видео изначально были доступны только нашим студентам. Но раз тема оказалась актуальной для Хабра, решили все это выложить — пользуйтесь на здоровье.
Total votes 29: ↑24 and ↓5 +19
Comments 8

Зарплаты ИТ-специалистов на конец 2017 года: отчёт сервиса зарплат «Моего круга»

Reading time 3 min
Views 235K


Представляем первый отчет сервиса зарплат «Моего круга». Мы запустили сервис в конце ноября 2017 с целью регулярного мониторинга зарплат в ИТ-индустрии. Зарплаты оставляют сами специалисты, мы их собираем и предоставляем в агрегированной и анонимной форме всем в открытый доступ.

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

Будет много диаграмм, все они подготовлены с помощью сервиса plot.ly. В публикации диаграммы будут картинками, при желании можно посмотреть на них в интерактивном режиме. Более детальную информацию по зарплатам любой желающий может получить непосредственно на сервисе зарплат «Моего круга», поигравшись с его фильтром.
Читать дальше →
Total votes 155: ↑153 and ↓2 +151
Comments 93

Подборка бесплатных утилит компьютерной криминалистики (форензики)

Reading time 3 min
Views 97K
image

В этой статье представлены бесплатные инструменты для проведения расследования инцидентов информационной безопасности.
Читать дальше →
Total votes 49: ↑48 and ↓1 +47
Comments 18

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

Reading time 3 min
Views 139K
С помощью этой инструкции вы сможете без труда вычислить точный адрес (улица, номер дома, номер квартиры) любого человека, который пользуется услугами интернет-провайдера InterZet (или DomRU).
Читать дальше →
Total votes 80: ↑69 and ↓11 +58
Comments 117

DevOops 2017 Piter: Новая конференция от JUG.ru Group, поговорим про DevOps

Reading time 4 min
Views 8.5K
Известный факт: мы в JUG.ru Group не делаем конференции просто так, обычно за идеей каждого нового проекта лежит какая-то проблема. Такая нашлась и у нас.

Когда мы были молоды и веселы и использовали генераторы статичных сайтов на Node.js (по секрету скажу, что мы продолжаем их использовать), с нами приключилась вот такая история. Мы только переехали на AWS и взяли самый простой EC2-инстанс, наивно полагая, что 10 Gb пространства на десяток статичных сайтов нам хватит. Однако, в один прекрасный день мы начали ловить ошибки от сервера о том, что место на диске… кончилось. 10 сайтов на 10 Gb пространства. Конечно, мы не поверили вражьим сообщениям и достаточно быстро установили, что на самом деле кончились inode.

Беглый поиск выявил мерзкого виновника — это был JavaScript Node.js, а именно папка node_modules. Посчитали inode, и поняли, что их там добрая сотня тысяч. Оокей, подумали мы и прикрутили еще 100 гигов. И сейчас все хорошо: 630k inode занято, зато есть еще 6kk сверху под зависимости Node.js. Надеюсь, нам хватит этого на ближайшие полгода… А к тому времени, когда они начнут заканчиваться, на новой конференции мы узнаем, как элегантно решить эту проблему.

А если серьезно, то 20 октября мы проведем DevOps-конференцию DevOops 2017 Piter. Один день, три трека, все как вы любите. Кто будет выступать, что будем обсуждать и другие подробности — под катом.


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

Лекции Технопарка. Курс «Алгоритмы и структуры данных» (осень 2016)

Reading time 3 min
Views 37K

image


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


  • «Введение. Исполнители. Абстракции интерфейсов. Рекурсия»;
  • «Жадные алгоритмы»;
  • «Сортировки»;
  • «Поиск. Списки»;
  • «Деревья»;
  • «Хеш-таблицы».

Четыре лекции курса читает Степан Мацкевич, руководитель группы извлечения онтологической информации в компании ABBYY. Он был ведущим программистом при написании серверной части продукта ABBYY InfoExtractor на основе технологии ABBYY Compreno (анализ текстов и перевода).


Еще две лекции ведет Георгий Иванов, разработчик Поиска Mail.Ru, занимающийся задачами обработки поисковых запросов.

Total votes 57: ↑54 and ↓3 +51
Comments 5

Лекции Техносферы. 2 семестр. Информационный поиск (весна 2016)

Reading time 4 min
Views 8.2K
Современная поисковая система, качество работы которой воспринимается как данность, является сложнейшим программно-аппаратным комплексом, создателям которого пришлось решить огромное количество практических проблем, начиная от большого объема обрабатываемых данных и заканчивая нюансами восприятия человеком поисковой выдачи. На курсе второго семестра Техносферы «Современные методы и средства построения систем информационного поиска» мы рассказываем об основных методах, применяемых при создании поисковых систем. Некоторые из них — хороший пример смекалки, некоторые показывают, где и как может применяться современный математический аппарат.

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

Лекция 1. «Введение в информационный поиск»




Алексей Воропаев, руководитель группы рекомендаций Поиска Mail.Ru, дает определение понятия информационного поиска и делает обзор существующих поисковых систем, рассказывает об индексации и поисковых кластерах.
Total votes 35: ↑35 and ↓0 +35
Comments 0

Лекции Техносферы. 1 семестр. Введение в анализ данных (весна 2016)

Reading time 3 min
Views 43K
Слушайте и смотрите новую подборку лекций Техносферы Mail.Ru. На этот раз представляем в открытом доступе весенний курс «Введение в анализ данных», на котором слушателей знакомят со сферой анализа данных, основными инструментами, задачами и методами, с которыми сталкивается любой исследователь данных в работе. Курс преподают Евгений Завьялов (аналитик проекта Поиск Mail.Ru, занимающийся извлечением полезных бизнесу знаний из данных, генерируемых поисковым движком и десктопными приложениями), Михаил Гришин (программист-исследователь из отдела анализа данных) и Сергей Рыбалкин (старший программист из студии Allods Team).

Лекция 1. Введение в Python


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


Читать дальше →
Total votes 70: ↑65 and ↓5 +60
Comments 10

Логика сознания. Часть 2. Дендритные волны

Reading time 16 min
Views 45K
В предыдущей части мы показали, что в клеточном автомате могут возникать волны, имеющие специфический внутренний узор. Такие волны могут запускаться из любого места клеточного автомата и распространяться по всему пространству клеток автомата, перенося информацию. Соблазнительно предположить, что реальный мозг может использовать схожие принципы. Чтобы понять возможность аналогии, немного разберемся с тем, как работают нейроны реального мозга.
Читать дальше →
Total votes 48: ↑47 and ↓1 +46
Comments 53

5 организаций, которые дарят студентам ВУЗ'ов платные инструменты для разработки

Reading time 3 min
Views 34K
image

Привет Хабр!

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

Итак, если ты читаешь этот пост, являешься студентом ВУЗа и у тебя есть желание поучаствовать в программе (возможно даже не одной) бесплатного доступа к различному софту и другим плюшкам от крупных организаций — прошу под кат.
Читать дальше →
Total votes 28: ↑25 and ↓3 +22
Comments 44

Время учиться: дайджест бесплатных образовательных материалов от Mail.Ru Group

Reading time 10 min
Views 112K

Кадр из к/ф «Операция Ы и другие приключения Шурика»

Как говорят, «кризис — пора возможностей». И поэтому сейчас самое время начать вкладывать в саморазвитие, осваивать новую профессию или повышать свою квалификацию. Займитесь изучением языков программирования, обретением навыков разработки, тестирования и вообще всячески прокачивайте свой IT-скилл. Ведь чем больше вы знаете, тем прочнее будете стоять на ногах. А чтобы вам было легче сориентироваться и выбрать направление, мы сделали подборку наших бесплатных образовательных материалов, курсов и инициатив за 2015–2016 годы.
Читать дальше →
Total votes 48: ↑43 and ↓5 +38
Comments 29

Полнотекстовый нечеткий поиск с использованием алгоритма Вагнера-Фишера

Reading time 3 min
Views 24K
Статья написана об использовании алгоритма вычисления расстояния Левенштейна для нечеткого поиска в тексте, без использования вспомогательного словаря.

Расстояние Левенштейна используется для сравнения двух слов или двух строк, чтобы определить их схожесть. Некоторое время назад передо мной встала схожая задача — в заданной строке искать вхождение слов, словосочетаний и формул, похожих на образец.
Читать дальше →
Total votes 23: ↑21 and ↓2 +19
Comments 7

Покопаемся в «режиссёрской версии» Wasteland 2: механики и интерфейсы

Reading time 10 min
Views 50K


На мой взгляд, самый «фаллаутный» фаллаут после второго — это Wasteland 2 в полной версии, которая Director’s Cut. В эпоху зеркальных римейков игр и фильмов эта штука очень радует и старым духом, и новыми решениями. Поэтому я предлагаю покопаться немного у неё под капотом в плане механик GameDev.

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

Так вот, миру Wasteland 2 плевать на вас. Там нет счастливых прибытий в последний момент, чтобы всех спасти, нет ожидающих чего-то NPC. Реальное время. Например, когда вы входите в Хайпул, там горит дом. Не успели потушить – ну, он тупо сгорит. Второй важный аспект – крутой постоянно движущийся сюжет, скорее, характерный своими поворотами для серии Биошоков. Захватывающий с первых минут, без долгой раскачки. И этот сюжет – реально высокого разрешения. Постоянно предлагающий суровый выбор между моралью, порядком и законом.

И это три разных выбора.
Читать дальше →
Total votes 70: ↑62 and ↓8 +54
Comments 46

Стратегии по ускорению кода на R, часть 2

Reading time 4 min
Views 4.3K
Цикл for в R может быть очень медленным, если он применяется в чистом виде, без оптимизации, особенно когда приходится иметь дело с большими наборами данных. Есть ряд способов сделать ваш код быстрее, и вы, вероятно, будете удивлены, узнав насколько.

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

Давайте попробуем ускорить код с циклом for и условным оператором (if-else) для создания колонки, которая добавляется к набору данных (data frame, df). Код ниже создает этот начальный набор данных.
# Создание набора данных
col1 <- runif (12^5, 0, 2)
col2 <- rnorm (12^5, 0, 2)
col3 <- rpois (12^5, 3)
col4 <- rchisq (12^5, 2)
df <- data.frame (col1, col2, col3, col4)

В первой части: векторизация, только истинные условия, ifelse.
В этой части: which, apply, побайтовая компиляция, Rcpp, data.table, результаты.
Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Comments 2

Segmentation Fault (распределение памяти компьютера)

Reading time 16 min
Views 110K


Когда я делаю ошибку в коде, то обычно это приводит к появлению сообщения “segmentation fault”, зачастую сокращённого до “segfault”. И тут же мои коллеги и руководство приходят ко мне: «Ха! У нас тут для тебя есть segfault для исправления!» — «Ну да, виноват», — обычно отвечаю я. Но многие ли из вас знают, что на самом деле означает ошибка “segmentation fault”?

Чтобы ответить на этот вопрос, нам нужно вернуться в далёкие 1960-е. Я хочу объяснить, как работает компьютер, а точнее — как в современных компьютерах осуществляется доступ к памяти. Это поможет понять, откуда же берётся это странное сообщение об ошибке.

Вся представленная ниже информация — основы компьютерной архитектуры. И без нужды я не буду сильно углубляться в эту область. Также я буду применять всем известную терминологию, так что мой пост будет понятен всем, кто не совсем на «вы» с вычислительной техникой. Если же вы захотите изучить вопрос работы с памятью подробнее, то можете обратиться к многочисленной доступной литературе. А заодно не забудьте покопаться в исходном коде ядра какой-нибудь ОС, например, Linux. Я не буду излагать здесь историю вычислительной техники, некоторые вещи не будут освещаться, а некоторые сильно упрощены.
Читать дальше →
Total votes 74: ↑71 and ↓3 +68
Comments 10

[ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только

Reading time 9 min
Views 85K
Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.



Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
Читать дальше →
Total votes 158: ↑149 and ↓9 +140
Comments 15

Подборка: Более 70 источников по машинному обучению для начинающих

Reading time 5 min
Views 103K


Индикатор кулачкового аналогового компьютера / Wiki

В нашем блоге мы уже рассказывали о разработке системы квантовой связи и о том, как из простых студентов готовят продвинутых программистов. Сегодня мы решили вернуться к теме машинного обучения и привести адаптированную (источник) подборку полезных материалов.
Читать дальше →
Total votes 35: ↑31 and ↓4 +27
Comments 16

«Hello World!» на C массивом int main[]

Reading time 5 min
Views 46K
Я хотел бы рассказать о том, как я писал реализацию «Hello, World!» на C. Для подогрева сразу покажу код. Кого интересует как до этого доходил я, добро пожаловать под кат.

#include <stdio.h>
const void *ptrprintf = printf;
#pragma section(".exre", execute, read)
__declspec(allocate(".exre")) int main[] =
{
    0x646C6890, 0x20680021, 0x68726F57,
    0x2C6F6C6C, 0x48000068, 0x24448D65,
    0x15FF5002, &ptrprintf, 0xC314C483
};

Реализация
Total votes 114: ↑108 and ↓6 +102
Comments 143

Information

Rating
Does not participate
Location
Пермь, Пермский край, Россия
Date of birth
Registered
Activity