Внимательное изучение данных - это необходимость

отличие научной  и индустриальной работ в области машинного обучения
Свежая статья Питера Уордена (Pete Warden) — «Почему вам необходимо улучшить свои тренировочные данные и как это сделать? (Why you need to improve your training data, and how to do it) снова поднимает серьёзный вопрос, касающийся практического применения алгоритмов машинного обучения для решения реальных задач.
Автор обращает внимание, что в научной среде, основной упор делается на разработку и исследование работы новых моделей, в то время как в индустрии — больше всего времени тратится на подготовку и обработку самих данных.

( Читать дальше )

Leap Motion - получение картинки с камер


На фоне новостей о проекте AR-гарнитуры North Star от компании Leap Motion, уместно вспомнить об их основном продукте — контроллере Leap Motion (рус. скачкообразное движение), который представляет собой USB-устройство, отслеживающее в области пространства над собой движение рук, пальцев и карандашей, ручек.

Как видно по фотографиям прототипа экспериментальной платформы Project North Star — для отслеживания рук пользователя там так же используется контроллер Leap Motion — только закрепляется он над головой таким образом, чтобы его рабочая область приходилась как раз перед пользователем.

( Читать дальше )

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

ИНС

Многие люди воспринимают нейронные сети как «ещё один инструмент машинного обучения». У них есть свои плюсы и минусы. Они популярны. И, разумеется, их можно использовать, чтобы выиграть соревнования по машинному обучения (Kaggle).

Однако, Andrej Karpathy (раньше — исследователь из OpenAI, сейчас — директор по ИИ в Tesla), считает, что подобный взгляд на нейронные сети — слишком поверхностен.
Рассматривать нейронные сети, как просто ещё один классификатор — это не видеть леса за деревьями.
На самом деле, современный успех нейронных сетей, представляет собой начало фундаментального сдвига в том, как мы пишем программное обеспечение. Это Software 2.0.

( Читать дальше )

Проблемы применения машинного обучения для решения реальных задач

Deep learning
Машинное обучение (ML), Искусственный Интеллект (AI), нейронные сети (NN) — эти термины в последнее время время не сходят с новостных заголовков и этот шум даже не думает умолкать.
Большие данные, вычислительные мощности графических карт (GPU) и огромное количество научных исследований — позволили глубокому обучению стать технологией меняющей мир.

Доступность фреймворков машинного обучения в виде открытого программного обеспечения, от ведущих исследовательских групп (от крупных компаний: TensorFlow от Google, PyTorch от Facebook, CNTK от Microsoft) позволяют сейчас быстро начать самостоятельно экспериментировать с глубокими нейронными сетями.

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

( Читать дальше )

GAN — генеративные состязательные сети

архитектура GAN
GAN — Generative Adversarial Networks — генеративные состязательные сети.

Пока мне не удалось найти устоявшегося русскоязычного названия.
Другие варианты:
генеративные соревновательные сети
порождающие соперничающие сети
порождающие соревнующиеся сети

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

( Читать дальше )

Сегментация изображений при помощи нейронной сети: U-Net

Пример работы U-Net для детектирования
U-Net — это архитектура свёрточной нейронной сети, предназначенная для сегментации изображений (первоначально, для биомедицинских изображений).

( Читать дальше )

Детектирование объектов - нейросетевой подход

Раньше, для детектирования объектов на изображении, применялся метод скользящего окна — когда прямоугольная область определённой ширины и высоты, перемещается («скользит») по изображению:
сканирование изображения скользящим окном
Такой подход очень просто реализуется кодом вида:

( Читать дальше )

От Arduino к STM32

STM32Если, вдруг, ресурсов контроллера Arduino и 8-битных МК Atmel AVR перестаёт хватать — всегда есть вариант перейти на ARM Cortex-M. Например, на популярные микроконтроллеры STM32.
Переход можно осуществить довольно плавно — при помощи контроллеров:
Leaflabs Maple (STM32F103RB, 72 MHz),
STM32 MCU Nucleo.

А лучше сразу взять какую-нибудь Discovery. Например, STM32F4Discovery (STM32F407VG, 168 MHz).

( Читать дальше )

Что нужно взять с собой на технический хакатон или воркшоп?

прототипирование на Arduino
Сейчас проводится множество различных интересных мероприятий — разнообразные хакатоны и воркшопы.
Например, одним из популярных в России хакатонов является HackDay — двухдневный марофон, который проводит в разных городах Студия Михаила Кечинова.
Собственно эта статья и родилась в преддверии очередного хакдея, который должен состояться в Калининграде в конце ноября.HackDay

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

Остаётся решить главный вопрос — что же там делать?
Понятно, что это будет какой-нибудь робот или устройство/девайс/гаджет из мира электронной DIY-тематики.

И теперь возникает самый важный вопрос — что же нужно взять с собой на хакатон?

( Читать дальше )

Экзоскелет для таракана

таракан Мёртвая голова и CraftDuino
В нашей лаборатории, с некоторых пор, живут тараканы. Если конкретнее — тараканы «Мёртвая голова» (Blaberus craniifer) (см. справку про данный вид таракана в конце статьи).

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

( Читать дальше )