Искусственный интеллект давно перестал ассоциироваться исключительно с суперкомпьютерами и мейнфреймами, сейчас это область профессиональных (или не очень) интересов десятков тысяч людей по всему миру. Осознавая важность задачи, Intel в рамках портала Intel Developer Zone создала специальный раздел Intel AI Academy, призванный помочь начинающим и опытным разработчикам в области Deep Learning, компьютерного зрения и других аспектов AI. Разрешите провести небольшую экскурсию по ресурсу, чтобы показать, чем он вам может быть полезен.
Дмитрий Куликов @DmitryKulikov
Пользователь
Новая версия программы AlphaGo Zero разгромила своего прославленного предка со счетом 100:0
3 мин
18K18 октября в журнале Nature была опубликована статья компании DeepMind о новых достижениях AlphaGo. Новая версия программы получила название Zero, так как была обучена с нуля без использования данных, полученных от человека, кроме правил самой игры Го. Для тренировок прошлой версии, победившей в чемпионатах с людьми, изначально использовался метод обучения с учителем (supervised learning), и лишь потом обучение с подкреплением (reinforcement learning). То есть изначально программа тренировалась, изучая человеческий опыт и лишь потом на игре против своих же версий. То есть прежняя версия изначально училась предсказывать человеческие ходы. AlphaGo Zero стала своим собственным учителем: нейронная сеть тренировалась предсказывать свой собственный выбор, а также выбор версии-чемпиона.
+22
Проблемы безопасности и главные достижения ИИ
17 мин
9.2KТема искусственного интеллекта остается в фокусе интереса большого количества людей. Главная причина неослабевающего внимания публики в том, что за последние годы мы узнали о сотнях новых проектов, где используются технологии слабого ИИ. Весьма вероятно, что ныне живущие на планете люди смогут воочию застать появление сильного ИИ. Под катом история о том, когда именно ждать башковитых роботов в вашей квартире. Спасибо за светлые мысли ZiingRR и Владимиру Шакирову. Enjoy.
+23
Что ИИ может и (пока) не может сделать для вашего бизнеса
14 мин
7.6KПеревод
Искусственный интеллект – это подвижная мишень. И вот, как лучше в неё прицелиться.
Кажется, что искусственный интеллект (ИИ) окружает нас со всех сторон. Мы сталкиваемся с ним дома и в телефоне. Мы и опомниться не успеем – если верить предпринимателям и бизнес-инноваторам – как ИИ будет присутствовать практически во всех продуктах и услугах, которые мы покупаем и используем. Кроме того, область его применения к решению бизнес-задач растёт как на дрожжах. В то же самое время растут и сомнения по поводу последствий появления ИИ; мы беспокоимся о том, как повлияет автоматизация на рабочее место, наличие работы и общество.
Иногда реальность теряется между страхами и триумфами заголовков, рассказывающих о Alexa, Siri и AlphaGo, поскольку у ИИ-технологий – у машинного обучения и его подмножества, глубинного обучения – есть множество ограничений, на преодоление которых потребуется потратить ещё очень много сил. В этой статье описаны подобные ограничения, и она должна помочь директорам лучше понять, что именно затормаживает их попытки внедрения ИИ. Также мы опишем многообещающие прорывы, направленные на снятие некоторых ограничений и создание новой волны возможностей.
+12
Создатель Open Data Science о Slack, xgboost и GPU
8 мин
23KСообщество Open Data Science (ODS) уже известно на Хабре по открытому курсу машинного обучения (OpenML). Сегодня мы поговорим с его создателем об истории ODS, людях и наиболее популярных методах машинного обучения (по версии Кaggle и проектам индустрии). За интересными фактами и технической экспертизой — прошу под кат.
+45
Усовершенствование системы видеонаблюдения с использованием OpenCV и Telegram bot
5 мин
35KС чего все начиналось
Все началось с того, что я захотел установить у себя «умную» систему видеонаблюдения на Raspberry.
Хочу отдельно отметить, что для этого воспользовался несколькими статьями на Хабре. Спасибо авторам за их посты. Они реально помогли.
В итоге установил на купленном Raspberry Pi3 USB-камеру Logitech, смонтировал Яндекс.Диск и с периодичностью в 30 секунд делал снимки, которые затем копировал в папку на Яндекс.Диске.
Поигравшись с дальнейшем архивированием файлов, монтированием из отдельных снимков видео, забросил новую «игрушку» на несколько месяцев.
+13
Обзор децентрализованных крипто-платформ. Часть 2: Lisk
6 мин
7.4KЭтим постом мы продолжаем цикл обзоров блокчейн-платформ (Часть 1: Waves), которые крайне редко упоминаются и обсуждаются в российских СМИ, однако, широко известны в узких «криптовалютных» кругах и среди энтузиастов.
Во втором материале цикла речь пойдет об open source блокчейн-платформе Lisk, которой к марту этого года за время предварительной продажи монет (ICO) удалось собрать 14 009 BTC и более 80 млн XCR на общую сумму 5,9 млн долларов.
Я решил подробнее ознакомиться с функционалом этой платформы децентрализованных приложений, которая дает разработчикам возможность самостоятельно участвовать в экосистеме проекта. При этом сами разработчики постепенно отказываются от привычного термина dapps в пользу термина «блокчейн-приложения».
Во втором материале цикла речь пойдет об open source блокчейн-платформе Lisk, которой к марту этого года за время предварительной продажи монет (ICO) удалось собрать 14 009 BTC и более 80 млн XCR на общую сумму 5,9 млн долларов.
Я решил подробнее ознакомиться с функционалом этой платформы децентрализованных приложений, которая дает разработчикам возможность самостоятельно участвовать в экосистеме проекта. При этом сами разработчики постепенно отказываются от привычного термина dapps в пользу термина «блокчейн-приложения».
+13
Глубокое обучение для новичков: распознаем изображения с помощью сверточных сетей
27 мин
100KТуториал
Перевод
Введение
Представляем вторую статью в серии, задуманной, чтобы помочь быстро разобраться в технологии глубокого обучения; мы будем двигаться от базовых принципов к нетривиальным особенностям с целью получить достойную производительность на двух наборах данных: MNIST (классификация рукописных цифр) и CIFAR-10 (классификация небольших изображений по десяти классам: самолет, автомобиль, птица, кошка, олень, собака, лягушка, лошадь, корабль и грузовик).
+34
Узнаем текущую погоду и прогноз простеньким скриптом на Python'е
4 мин
199KНа Хабре есть интересная статья о том, как энтузиасты делают погоду. Энтузиасты делают, а мы воспользуемся плодами их трудов — получим эту самую погоду от OpenWeatherMap.org скриптом на Python'е.
Для получения доступа к сервису погоды придется пройти несложную процедуру регистрации на сайте OpenWeatherMap.org. Сформируем и отправим запрос, разберем ответный пакет в формате JSON, и получим текущую температуру с описанием состояния погоды.
Для получения доступа к сервису погоды придется пройти несложную процедуру регистрации на сайте OpenWeatherMap.org. Сформируем и отправим запрос, разберем ответный пакет в формате JSON, и получим текущую температуру с описанием состояния погоды.
+2
Протокол QUIC: переход Web от TCP к UDP
9 мин
68KПеревод
Протокол QUIC (название расшифровывается как Quick UDP Internet Connections) — совершенно новый способ передачи информации в интернете, построенный поверх протокола UDP, вместо общепринятого ранее использования TCP. Некоторые люди называют его (в шутку) TCP/2. Переход к UDP — наиболее интересная и мощная особенность протокола, из которой следуют некоторые другие особенности.
Сегодняшний Web построен на протоколе TCP, который был выбран за его надёжность и гарантированность доставки пакетов. Для открытия TCP-соединения используется так называемое «трёхкратное рукопожатие». Это означает дополнительные циклы отправки-приёма сообщений для каждого нового соединения, что увеличивает задержки.
Если вы захотите установить защищённое TLS-соединение, придётся переслать ещё больше пакетов.
Некоторые инновации, вроде TCP Fast Open, улучшат некоторые аспекты ситуации, но эта технология пока не очень широко распространена.
Протокол UDP, с другой стороны, построен на идее «отправить пакет и забыть о нём». Сообщение, отправленное по UDP, будет доставлено получателю (не гарантированно, с некоторой вероятностью успеха). Яркое преимущество здесь в меньшем времени установки соединения, такой же яркий недостаток — негарантированность доставки или порядка прихода пакетов получателю. Это означает, что для обеспечения надёжности придётся построить некоторый механизм поверх UDP, который гарантирует доставку пакетов.
И здесь на сцену выходит QUIC от Google.
Сегодняшний Web построен на протоколе TCP, который был выбран за его надёжность и гарантированность доставки пакетов. Для открытия TCP-соединения используется так называемое «трёхкратное рукопожатие». Это означает дополнительные циклы отправки-приёма сообщений для каждого нового соединения, что увеличивает задержки.
Если вы захотите установить защищённое TLS-соединение, придётся переслать ещё больше пакетов.
Некоторые инновации, вроде TCP Fast Open, улучшат некоторые аспекты ситуации, но эта технология пока не очень широко распространена.
Протокол UDP, с другой стороны, построен на идее «отправить пакет и забыть о нём». Сообщение, отправленное по UDP, будет доставлено получателю (не гарантированно, с некоторой вероятностью успеха). Яркое преимущество здесь в меньшем времени установки соединения, такой же яркий недостаток — негарантированность доставки или порядка прихода пакетов получателю. Это означает, что для обеспечения надёжности придётся построить некоторый механизм поверх UDP, который гарантирует доставку пакетов.
И здесь на сцену выходит QUIC от Google.
+33
Простыми словами: как работает машинное обучение
7 мин
41KВ последнее время все технологические компании твердят о машинном обучении. Мол, столько задач оно решает, которые раньше только люди и могли решить. Но как конкретно оно работает, никто не рассказывает. А кто-то даже для красного словца машинное обучение называет искусственным интеллектом.
Как обычно, никакой магии тут нет, все одни технологии. А раз технологии, то несложно все это объяснить человеческим языком, чем мы сейчас и займемся. Задачу мы будем решать самую настоящую. И алгоритм будем описывать настоящий, подпадающий под определение машинного обучения. Сложность этого алгоритма игрушечная — а вот выводы он позволяет сделать самые настоящие.
Как обычно, никакой магии тут нет, все одни технологии. А раз технологии, то несложно все это объяснить человеческим языком, чем мы сейчас и займемся. Задачу мы будем решать самую настоящую. И алгоритм будем описывать настоящий, подпадающий под определение машинного обучения. Сложность этого алгоритма игрушечная — а вот выводы он позволяет сделать самые настоящие.
+30
23 бесплатных инструмента расследования инцидентов для специалиста по информационной безопасности
5 мин
80KRecovery Mode
Перевод
Утечки данных происходят почти каждый день. Согласно индексу утечки данных, с 2013 года более 4,762,376,960 записей было утеряно или украдено.
+35
Создание и тестирование Firewall в Linux, Часть 1.1 Виртуальная лаборатория
5 мин
34KРешил написать статью по следам курса, который я делал в прошлом семестре в институте. Конечно, тут я опишу лишь самые главные основы и максимально все упрощу. Постараюсь дать немного теоритической информации, но в основном больше ссылок, картинок и практики.
Итак, речь пойдет о написании firewall в среде Linux. Всю статью я поделю на несколько частей. То, что вы читаете сейчас – первая часть, она поделена еще на три части. Некоторые темы хорошо известны и задокументированы, поэтому я постараюсь отдельно давать минимум теории по ним и отдельно практику. Чтобы всем было интересно. А также ссылки для углубления (часто это будут английские статьи).
Содержание первой части:
1.1 — Создание виртуальной лаборатории (чтобы нам был где работать, я покажу как создать виртуальную сеть на вашем компьютере. Сеть будет состоять из 3х машин Linux ubuntu).
1.2 – Написание простого модуля в Linux. Введение в Netfilter и перехват траффика с его помощью. Объединяем все вместе, тестируем.
1.3 – Написание простого char device. Добавление виртуальной файловой системы — sysfs. Написание user interface. Объединяем все вместе, тестируем.
Содержание второй части:
Итак, речь пойдет о написании firewall в среде Linux. Всю статью я поделю на несколько частей. То, что вы читаете сейчас – первая часть, она поделена еще на три части. Некоторые темы хорошо известны и задокументированы, поэтому я постараюсь отдельно давать минимум теории по ним и отдельно практику. Чтобы всем было интересно. А также ссылки для углубления (часто это будут английские статьи).
Содержание первой части:
1.1 — Создание виртуальной лаборатории (чтобы нам был где работать, я покажу как создать виртуальную сеть на вашем компьютере. Сеть будет состоять из 3х машин Linux ubuntu).
1.2 – Написание простого модуля в Linux. Введение в Netfilter и перехват траффика с его помощью. Объединяем все вместе, тестируем.
1.3 – Написание простого char device. Добавление виртуальной файловой системы — sysfs. Написание user interface. Объединяем все вместе, тестируем.
Содержание второй части:
Скрытый текст
2.1 — Введение во вторую часть. Смотрим на сеть и протоколы. Wireshark.
2.2 — Таблицы Firewall. Transport Layer. Структуры TCP, UDP. Расширяем Firewall.
2.3 — Расширяем функциональность. Обарабатываем данные в user space. libnetfilter_queue.
2.4 — (*Опиционально) Изучаем реальную Buffer Overflow атаку и предотвращаем с помощью нашего Firewall'а.
2.2 — Таблицы Firewall. Transport Layer. Структуры TCP, UDP. Расширяем Firewall.
2.3 — Расширяем функциональность. Обарабатываем данные в user space. libnetfilter_queue.
2.4 — (*Опиционально) Изучаем реальную Buffer Overflow атаку и предотвращаем с помощью нашего Firewall'а.
+24
Создание и тестирование Firewall в Linux, Часть 1.2. Простой перехват трафика с Netfilter
8 мин
24KСодержание первой части:
1.1 — Создание виртуальной лаборатории (чтобы нам было где работать, я покажу как создать виртуальную сеть на вашем компьютере. Сеть будет состоять из 3х машин Linux ubuntu).
1.2 – Написание простого модуля в Linux. Введение в Netfilter и перехват трафика с его помощью. Объединяем все вместе, тестируем.
1.3 – Написание простого char device. Добавление виртуальной файловой системы — sysfs. Написание user interface. Объединяем все вместе, тестируем.
Содержание второй части:
1.1 — Создание виртуальной лаборатории (чтобы нам было где работать, я покажу как создать виртуальную сеть на вашем компьютере. Сеть будет состоять из 3х машин Linux ubuntu).
1.2 – Написание простого модуля в Linux. Введение в Netfilter и перехват трафика с его помощью. Объединяем все вместе, тестируем.
1.3 – Написание простого char device. Добавление виртуальной файловой системы — sysfs. Написание user interface. Объединяем все вместе, тестируем.
Содержание второй части:
Скрытый текст
2.1 — Введение во вторую часть. Смотрим на сеть и протоколы. Wireshark.
2.2 — Таблицы Firewall. Transport Layer. Структуры TCP, UDP. Расширяем Firewall.
2.3 — Расширяем функциональность. Обарабатываем данные в user space. libnetfilter_queue.
2.4 — (*Опиционально) Изучаем реальную Buffer Overflow атаку и предотвращаем с помощью нашего Firewall'а.
2.2 — Таблицы Firewall. Transport Layer. Структуры TCP, UDP. Расширяем Firewall.
2.3 — Расширяем функциональность. Обарабатываем данные в user space. libnetfilter_queue.
2.4 — (*Опиционально) Изучаем реальную Buffer Overflow атаку и предотвращаем с помощью нашего Firewall'а.
+33
Иллюзии мозга. Картографические проекции
4 мин
91KИскажения площадей в проекции Меркатора
На самом деле Африка по площади больше, чем США, Китай, Индия и почти вся Европа, вместе взятые. Но из общепринятых проекций географических карт складывается иллюзия, что это не так. Так называемая проекция Меркатора, которая используется для многих карт, сильнее всего искажает площади ближе к полюсам. Небольшая Гренландия (площадь меньше Конго) кажется гигантской территорией. Антарктида тоже. Площадь России значительно преувеличена относительно южных стран. Или взять Украину, площадь которой на самом деле равняется площади Мадагаскара.
Все карты мира врут нам уже много столетий. Более того, в разных странах — России, Европе, США, Китае, Австралии, Чили, Южной Африке — карты мира очень сильно отличаются.
+27
[ В закладки ] Зоопарк архитектур нейронных сетей. Часть 1
10 мин
92KПеревод
Это первая часть, вот вторая.
За всеми архитектурами нейронных сетей, которые то и дело возникают последнее время, уследить непросто. Даже понимание всех аббревиатур, которыми бросаются профессионалы, поначалу может показаться невыполнимой задачей.
Поэтому я решил составить шпаргалку по таким архитектурам. Большинство из них — нейронные сети, но некоторые — звери иной породы. Хотя все эти архитектуры подаются как новейшие и уникальные, когда я изобразил их структуру, внутренние связи стали намного понятнее.
+49
Большой список ценных советов президента Y Combinator
6 мин
11KДоброго времени суток, уважаемые хабравчане! Один из наиболее влиятельных акселераторов в мире Y Combinator выпустил потрясающий материал The Startup Playbook. Издание TechCrunch опубликовало 62 слайда с цитатами президента YC Сэма Альтмана. Я же в свою очередь перевёл их на русских. По факту, без повторений получилось 59 изречений. Признаюсь, к подобным большим спискам лично я отношусь с определенной долей скепсиса. Но уверяю вас, что это не очередной бизнес-цитатник. Убежден, каждый подчерпнет для себя что-то ценное и полезное.
+13
Salt за 10 минут
8 мин
63KRecovery Mode
SaltStack — cистема управления конфигурациями и удалённого выполнения операций.
В данный момент изучаю данную систему и раз уж есть такая возможность решил попереводить статьи с официального сайта и повыкладывать здесь пока хватит энтузиазма. Т.к. у нас в организации используется в основном Red Hat и Centos, переводить буду части касающиеся этих операционных систем.
Данная статья представляет собой перевод официальной документации. Внизу страницы вы найдете ссылку на первоисточник на англ. языке.
В данный момент изучаю данную систему и раз уж есть такая возможность решил попереводить статьи с официального сайта и повыкладывать здесь пока хватит энтузиазма. Т.к. у нас в организации используется в основном Red Hat и Centos, переводить буду части касающиеся этих операционных систем.
Данная статья представляет собой перевод официальной документации. Внизу страницы вы найдете ссылку на первоисточник на англ. языке.
+9
Математика в JavaScript
20 мин
191KВведение
Наличие чисел и числовых данных позволяет вам каким-либо образом работать с языком. Но помимо работы с арифметическими операторами в JavaScript, математические конструкции могут быть сложной задачей для новичков. По этой причине, нужно концентрироваться не на синтаксисе, а на общих математических функциях, этот список начинается с таких вещей как сортировка, округление и генерация случайных значений, этого достаточно, прежде чем углубляться в детали. Чтобы работать с математикой в JavaScript, вам достаточно иметь понятия о таких вещах как функция, операнд и оператор.
От переводчиков
Всем привет, с вами Максим Иванов и Дмитрий Сергиенков, и сегодня мы решили, что мы не будем говорить о модных и полезных штуках типа ReactJS, Angular, TypeScript и других. Сегодня мы уделим внимание математике в JavaScript. Если вам нравится математика, вы можете заниматься ей всё свободное время, но если вашей целью являются не научные изыскания, а работа программистом, математика вряд ли станет лучшим объектом для изучения.
+49
Реализация классификации текста свёрточной сетью на keras
9 мин
23KРечь, как ни странно, пойдёт о использующем свёрточную сеть классификаторе текстов (векторизация отдельных слов — это уже другой вопрос). Код, тестовые данные и примеры их применения — на bitbucket (уперся в ограничения размера от github и предложение применить Git Large File Storage (LFS), пока не осилил предлагаемое решение).
Использованы конвертированные наборы: reuters — 22000 записей, watson-й — 530 записей, и ещё 1 watson-й — 50 записей. Кстати, не отказался бы от подкинутого в комменты/ЛС (но лучше таки в комменты) набора текстов на русском.
За основу взята одна реализация описанной тут сети. Код использованной реализации на github.
В моём случае — на входе сети находятся векторы слов (использована gensim-я реализация word2vec). Структура сети изображена ниже:
Вкратце:
Стоп слова отфильтровываю предварительно (на reuter-м dataset-е это не сказывалось, но в меньших по объему наборах — оказало влияние). Об этом ниже.
Наборы данных
Использованы конвертированные наборы: reuters — 22000 записей, watson-й — 530 записей, и ещё 1 watson-й — 50 записей. Кстати, не отказался бы от подкинутого в комменты/ЛС (но лучше таки в комменты) набора текстов на русском.
Устройство сети
За основу взята одна реализация описанной тут сети. Код использованной реализации на github.
В моём случае — на входе сети находятся векторы слов (использована gensim-я реализация word2vec). Структура сети изображена ниже:
Вкратце:
- Текст представляется как матрица вида word_count x word_vector_size. Векторы отдельных слов — от word2vec, о котором можно почитать, например, в этом посте. Так как заранее мне неизвестно, какой текст подсунет пользователь — беру длину 2 * N, где N — число векторов в длиннейшем тексте обучающей выборки. Да, ткнул пальцев в небо.
- Матрица обрабатывается свёрточными участками сети (на выходе получаем преобразованные признаки слова)
- Выделенные признаки обрабатываются полносвязным участком сети
Стоп слова отфильтровываю предварительно (на reuter-м dataset-е это не сказывалось, но в меньших по объему наборах — оказало влияние). Об этом ниже.
+21
Информация
- В рейтинге
- Не участвует
- Откуда
- Саров (Нижегородская обл.), Нижегородская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность