Как стать автором
Обновить
59
0

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

Отправить сообщение

Пример Makefile

Время на прочтение7 мин
Количество просмотров75K
Написание makefile иногда становится головной болью. Однако, если разобраться, все становится на свои места, и написать мощнейший makefile длиной в 40 строк для сколь угодно большого проекта получается быстро и элегантно.

Внимание! Предполагаются базовые знания утилиты GNU make.
Читать дальше →
Всего голосов 126: ↑118 и ↓8+110
Комментарии59

Настройка ROS и работа со стереокамерой ZED на NVIDIA Jetson

Время на прочтение6 мин
Количество просмотров11K
Добрый день уважаемые читатели! В последних статьях я рассказывал о популярных методах SLAM и визуальной одометрии, которые имеют поддержку в ROS. В этой статье я немного отклонюсь от темы и расскажу о настройке и работе с ROS на микрокомпьютере NVIDIA Jetson TK1. После установки всего необходимого мы подключим и попробуем в деле стереокамеру ZED от streolabs. Кому интересно прошу под кат.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии22

Онлайн-курсы Stanford University, Berkley и MIT в доступном виде

Время на прочтение2 мин
Количество просмотров54K


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

Пример такого поста: habrahabr.ru/post/139542

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

Уверен, что курсов по данным дисциплинам, информативнее и понятнее выложенных, в природе не существует.

Под катом ссылки и список того, что было выложено, что ещё предстоит выложить…
Читать дальше →
Всего голосов 98: ↑92 и ↓6+86
Комментарии34

Введение в машинное обучение с tensorflow

Время на прочтение12 мин
Количество просмотров195K
Если мы в ближайшие пять лет построим машину с интеллектуальными возможностями одного человека, то ее преемник уже будет разумнее всего человечества вместе взятого. Через одно-два поколения они попросту перестанут обращать на нас внимание. Точно так же, как вы не обращаете внимания на муравьев у себя во дворе. Вы не уничтожаете их, но и не приручаете, они практически никак не влияют на вашу повседневную жизнь, но они там есть.
Сет Шостак

Введение.


Серия моих статей является расширенной версией того, что я хотел увидеть когда только решил познакомиться с нейронными сетями. Он рассчитан в первую очередь на программистов, желающих познакомится с tensorflow и нейронными сетями. Уж не знаю к счастью или к сожалению, но эта тема настолько обширна, что даже мало-мальски информативное описание требует большого объёма текста. Поэтому, я решил разделить повествование на 4 части:

  1. Введение, знакомство с tensorflow и базовыми алгоритмами (эта статья)
  2. Первые нейронные сети
  3. Свёрточные нейронные сети
  4. Рекуррентные нейронные сети

Изложенная ниже первая часть нацелена на то, чтобы объяснить азы работы с tensorflow и попутно рассказать, как машинное обучение работает впринципе, на примере tensorfolw. Во второй части мы наконец начнём проектировать и обучать нейронные сети, в т.ч. многослойные и обратим внимание на некоторые нюансы подготовки обучающих данных и выбора гиперпараметров. Поскольку свёрточные сети сейчас пользуются очень большой популярность, то третья часть выделена для подробного объяснения их работы. Ну, и в заключительной части планируется рассказ о рекуррентных моделях, на мой взгляд, — это самая сложная и интересная тема.
Читать дальше →
Всего голосов 54: ↑49 и ↓5+44
Комментарии9

Нейронные сети для начинающих. Часть 1

Время на прочтение7 мин
Количество просмотров1.5M
image

Привет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.

Поэтому сейчас, когда я достаточно хорошо освоил нейронные сети и нашел огромное количество информации с разных иностранных порталов, я хотел бы поделиться этим с людьми в серии публикаций, где я соберу всю информацию, которая потребуется вам, если вы только начинаете знакомство с нейронными сетями. В этой статье, я не буду делать сильный акцент на Java и буду объяснять все на примерах, чтобы вы сами смогли перенести это на любой, нужный вам язык программирования. В последующих статьях, я расскажу о своем приложении, написанном под андроид, которое предсказывает движение акций или валюты. Иными словами, всех желающих окунуться в мир нейронных сетей и жаждущих простого и доступного изложения информации или просто тех, кто что-то не понял и хочет подтянуть, добро пожаловать под кат.
Читать дальше →
Всего голосов 70: ↑60 и ↓10+50
Комментарии64

Linux-2018: самые перспективные дистрибутивы

Время на прочтение7 мин
Количество просмотров156K
Представляем вашему вниманию перевод статьи Джека Уоллена с linux.com, которая посвящена самым перспективным Linux-дистрибутивам 2018-го года. Примерно двенадцать месяцев тому назад мы делились с вами похожим обзором. Что изменилось за год?

image
Читать дальше →
Всего голосов 78: ↑44 и ↓34+10
Комментарии106

13 бесплатных курсов Стэнфордского университета

Время на прочтение2 мин
Количество просмотров72K
Недавно анонсированный бесплатный онлайн-курс Стэнфорда по основам искусственного интеллекта вызвал настоящий ажиотаж у публики. Заявки на регистрацию подали уже 81 966 человек. Оно и понятно: курс ведут Питер Норвиг и Себастьян Тран — настоящие звёзды. Первый раньше работал в НАСА и написал учебник по ИИ, а второй разрабатывает лучшие в мире роботизированные автомобили (для Google).

Очевидно, что качественное образование через интернет нужно людям и становится всё популярнее. Поэтому перед началом учебного года есть смысл напомнить список 13-ти бесплатных учебных курсов Stanford Engineering. В отличие от лекций Норвига и Трана, это не онлайновые, а старые курсы. В свободный доступ уже выложены видеозаписи всех лекций от первой до последней, PDF'ы с заданиями и другие материалы, но здесь нельзя задать вопрос преподавателю.
Читать дальше →
Всего голосов 106: ↑102 и ↓4+98
Комментарии21

LittleFS – компактная и экономичная файловая система для ARM микроконтроллеров в составе mbed os. Быстрый старт

Время на прочтение10 мин
Количество просмотров17K
image alt В декабре 2017 года компания ARM представила обществу новую версию операционной системы для ARM микроконтроллеров «arm mbed os v.5.7» (17 января 2018 вышла версия 5.7.3), которая получила в своем составе интегрированную авторскую файловую систему, незатейливо названную «LittleFileSystem», или просто «LittleFS». Предлагаю сегодня поговорить об этой новинке.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии4

CUDA: синхронизация блоков

Время на прочтение12 мин
Количество просмотров44K
При использовании средств параллельных вычислений весьма вероятно может сложиться ситуация, когда алгоритм содержит два таких последовательных этапа: i) каждый j-ый поток сохраняет некоторый промежуточный результат вычисления в j-ой ячейке памяти, а, затем, ii) этот поток должен использовать результаты одного или более «соседних» потоков. Очевидно, что необходимо организовать в коде программы некий барьер по времени, который каждым потоком преодолевается уже после того, как все сохранят свои промежуточные результаты в соответствующих ячейках памяти (этап (i)). В противном случае, какой-то поток может перейти к этапу (ii), пока какие-то другие потоки еще не завершили этап (i). Как это ни прискорбно, но создатели CUDA посчитали, что такой специальный встроенный механизм синхронизации любого числа потоков на одном GPU не нужен. Так как же можно бороться с этой напастью? Хотя Google, судя по подсказкам, и знаком с данным вопросом, но готового удовлетворительного рецепта под свою задачу найти не удалось, а на пути к достижению желаемого результата для новичка (которым я и являюсь) имеются некоторые подводные камни.

Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии19

Достижения в глубоком обучении за последний год

Время на прочтение13 мин
Количество просмотров88K

Привет, Хабр. В своей статье я расскажу вам, что интересного произошло в мире машинного обучения за последний год (в основном в Deep Learning). А произошло очень многое, поэтому я остановился на самых, на мой взгляд, зрелищных и/или значимых достижениях. Технические аспекты улучшения архитектур сетей в статье не приводятся. Расширяем кругозор!

Всего голосов 105: ↑101 и ↓4+97
Комментарии29

Топливо для ИИ: подборка открытых датасетов для машинного обучения

Время на прочтение6 мин
Количество просмотров81K


Связанные проекты сообщества Open Data (проект Linked Open Data Cloud). Многие датасеты на этой диаграмме могут включать в себя данные, защищенные авторским правом, и они не упоминаются в данной статье


Если вы прямо сейчас не делаете свой ИИ, то другие будут делать его вместо вас для себя. Ничто более не мешает вам создать систему на основе машинного обучения. Есть открытая библиотека глубинного обучения TensorFlow, большое количество алгоритмов для обучения в библиотеке Torch, фреймворк для реализации распределенной обработки неструктурированных и слабоструктурированных данных Spark и множество других инструментов, облегчающих работу.


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


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

Читать дальше →
Всего голосов 65: ↑65 и ↓0+65
Комментарии10

RNNoise: пожертвуй свой шум для обучения нейросети Mozilla

Время на прочтение3 мин
Количество просмотров18K

Спектрограмма до шумоподавления, записана человеческая речь на SNR 15 дБ


Спектрограмма звука после обработки нейросетью RNNoise

Шумоподавление остаётся актуальной темой научных исследований по крайней мере с 70-х годов прошлого века. Несмотря на значительные улучшения в качестве систем, их высокоуровневая архитектура практически не претерпела изменений. Техника спектральной оценки полагается на спектральную оценку шума, которая, в свою очередь, работает при помощи детектора голосовой активности (VAD) или тому подобного алгоритма. Каждый из трёх компонентов требует аккуратной подгонки — и их трудно настраивать. Поэтому достижения Mozilla и Xiph.org в глубинном обучении имеют такое большое значение. Созданная ими гибридная система RNNoise уже сейчас демонстрирует неплохой результат в шумоподавлении (см. исходный код и демо).

Создавая RNNoise, разработчики стремились получить маленький и быстрый алгоритм, который будет эффективно работать в реальном времени даже на Raspberry Pi. И им это удалось, причём RNNoise показывает более качественный результат, чем самые крутые и навороченные современные фильтры.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии2

Быстрый старт: обзор основных Deep Learning фреймворков

Время на прочтение6 мин
Количество просмотров25K
Привет, Хабр! Предлагаем вам перевод поста “Getting Started with Deep Learning” от Мэтью Рубашкина из Silicon Valley Data Science о преимуществах и недостатках существующих Deep Learning технологий и о том, какой фреймворк выбрать, учитывая специфику задачи и способности команды.
image
Читать дальше →
Всего голосов 29: ↑23 и ↓6+17
Комментарии4

Самостоятельная оцифровка 8 мм кинопленки

Время на прочтение4 мин
Количество просмотров56K
Обнаружив у родителей в закромах шкафа несколько бобин с пленкой формата «8 Супер», понял, что их давно пора спасать и оцифровывать, даты съемки пленок 89-92 год прошлого века. Об изучении вымирающего рынка, стоимости, изготовления в статье и пойдет речь. Под катом фото и видео процесса.


Всего голосов 65: ↑65 и ↓0+65
Комментарии123

Небольшое расхождение

Время на прочтение9 мин
Количество просмотров23K


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

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

positions of 394 raindrops on a tabletop


Повторю вопрос: выглядит ли этот паттерн как результат случайного процесса?
Читать дальше →
Всего голосов 72: ↑71 и ↓1+70
Комментарии27

Прием сверхдлинных радиоволн в домашних условиях

Время на прочтение3 мин
Количество просмотров53K
Сверхдлинные радиоволны — это целый мир, наполненный множеством сигналов — сфериками и свистами, генерируемыми молниями, возможно, за тысячи километров от места приема, привычными «точками» и «тире» морзянки, сигналами точного времени и цифровой передачи данных:

image

Сверхдлинные волны (СДВ) (ранее применялся термин «ультрадлинные волны» (УДВ)) — сигналы с частотой менее 30 кГц (по отечественной классификации). За рубежом для этого диапазона часто используются аббревиатуры VLF (very low frequency) и ELF (extremely low frequency), причем в разных источниках конкретные полосы частот для этих диапазонов различаются.

Немножко истории
Первый мощный СДВ-передатчик был введен в эксплуатацию в 1943 году в Германии, а «пользователями» были безбашенные (вряд ли в той войне был еще один род войск с таким процентным уровнем потерь) ребята из подводного флота Кригсмарине. Вот так выглядела СДВ-антенна на крыше рубки U-Boot:

image


Порог вхождения в этот мир совсем невысокий — требуется антенна, усилитель и ноутбук с соответствующим программным обеспечением. Далее я расскажу о своей немудреной снасти для приема на СДВ.
Читать дальше →
Всего голосов 61: ↑61 и ↓0+61
Комментарии109

Поиск генераторов истинных случайных чисел

Время на прочтение9 мин
Количество просмотров37K


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


Однако даже генераторы реальных случайных чисел (RNG), собирающие непредсказуемые данные физических явлений, имеют недостатки: они могут быть громоздкими, медленными и дорогостоящими в производстве. Нет никакой гарантии, что проприетарная система не открыта для спецслужб — поэтому разработчики FreeBSD, отказались от непосредственного использования аппаратных генераторов, встроенных в чипы Intel.


Эволюция методов шифрования повлекла за собой необходимость создать более совершенные генераторы — о них и пойдет сегодня речь.

Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии82

Интегрирование уравнений движения

Время на прочтение9 мин
Количество просмотров41K
image

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

Темой этой статьи как раз и будет реализация такого интегрирования.

Интегрирование уравнений движения


Вы можете помнить из курса старшей школы или вуза, что сила равна произведению массы на ускорение.

$F = ma$


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

$a = F/ma = F/m$


Ускорение — это темп изменения скорости от времени:

$dv/dt = a = F/m$



Аналогично, скорость — это темп изменения позиции от времени:

$dx/dt = v$


Это значит, что если мы знаем текущие позицию и скорость объекта, а также приложенные к нему силы, то сможем проинтегрировать, чтобы найти его позицию и скорость в определённый момент времени.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии12

Коды Рида-Соломона. Часть 2 — арифметика полей Галуа

Время на прочтение7 мин
Количество просмотров25K
Здравствуйте, друзья! В прошлый раз мы с вами начали говорить о том, как коды Рида-Соломона помогают обеспечивать необходимый уровень надежности хранения данных. Сегодня остановимся немного подробнее на арифметике полей Галуа, которая используется в расчётах.



Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии5

Анализ алгоритмов аудиоаналитики

Время на прочтение13 мин
Количество просмотров29K
Разработки Синезис не ограничиваются одной лишь видеоаналитикой. Мы занимаемся и аудиоаналитикой. Вот о ней-то мы и хотели сегодня вам рассказать. Из этой статьи вы узнаете о наиболее известных аудиоаналитических системах, а также алгоритмах и их специфике. В конце материала – традиционно – список источников и полезных ссылок, в том числе аудиобиблиотек.

Осторожно: статья может долго грузиться — много картинок.
Автор: Михаил Антоненко.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии0

Информация

В рейтинге
3 842-й
Зарегистрирован
Активность