Сегодня, благодаря MEMS-датчикам, инженеры начинают использовать инерциальные навигационные системы везде, где есть движение. В зависимости от требуемой точности как по углу, так и по координатам, применяют МЕМS-датчики разного уровня цены и интегрированности: от "все датчики в одной микросхеме" до "один датчик - одна микросхема". А сама инерциальная навигация, как часть инженерных систем, впервые появилась в торпедах, кораблях, ракетах и самолетах.
Рубрика «ИНС»
Как реверс-инжиниринг чужой инерциальной навигационной системы перерос в свою собственную разработку
2021-03-19 в 6:16, admin, рубрики: MEMS, Блог компании Миландр, БПЛА, дрон, инерциальная навигация, инженерные системы, ИНС, испытания, коптер, математическое моделирование, осрв, Производство и разработка электроники, реверс-инжиниринг, схемотехника, цифровой сигнальный процессорНейросетка играет в Доту
2017-01-15 в 22:52, admin, рубрики: c++, deep learning, reinforcement learning, TensorFlow, Алгоритмы, ИНС, искусственный интеллект, машинное обучение, нейронные сети, обучение с подкреплением, Программирование, Разработка робототехники
Всем привет! На самом деле нейросетка играет не в привычную Dota 2, а в RussianAICup 2016 CodeWizards. RussianAICup — это ежегодное открытое соревнование по программированию искусственного интеллекта. Участвовать в этом соревновании довольно интересно. В этом году темой была игра похожая на Доту. Так как я уже какое-то время занимаюсь обучением с подкреплением, то мне хотелось попробовать применить это в RussianAICup. Главной целью было научить нейронную сеть играть в эту игру, хотя занятие призового места — это, конечно, было бы приятно. В итоге нейросеть держится в районе 700 места. Что, я считаю, неплохо, ввиду ограничений соревнования. В этой статье речь пойдет скорее об обучении с подкреплением и алгоритмах DDPG и DQN, а не о самом соревновании.
Читать полностью »
Математика для искусственных нейронных сетей для новичков, часть 3 — градиентный спуск продолжение
2016-08-26 в 11:41, admin, рубрики: python, tutorial, ИНС, математика, машинное обучение, нейронные сети, обучениеЧасть 2 — градиентный спуск начало
В предыдущей части я начал разбор алгоритма оптимизации под названием градиентный спуск. Предыдущая статья оборвалась на писании варианта алгоритма под названием пакетный градиентный спуск.
Существует и другая версия алгоритма — стохастический градиентный спуск. Стохастический = случайный.
Читать полностью »
Математика для искусственных нейронных сетей для новичков, часть 2 — градиентный спуск
2016-08-08 в 6:39, admin, рубрики: python, tutorial, ИНС, математика, машинное обучение, нейронные сети, обучениеВ первой части я забыл упомянуть, что если случайно сгенерированные данные не по душе, то можно взять любой подходящий пример отсюда. Можно почувствовать себя ботаником, виноделом, продавцом. И все это не вставая со стула. В наличии множество наборов данных и одно условие — при публикации указывать откуда взял данные, чтобы другие смогли воспроизвести результаты.
Градиентный спуск
В прошлой части был показан пример вычисления параметров линейной регрессии с помощью метода наименьших квадратов. Параметры были найдены аналитически — , где — псевдообратная матрица. Это решение наглядное, точное и короткое. Но есть проблема, которую можно решить численно. Градиентный спуск — метод численной оптимизации, который может быть использован во многих алгоритмах, где требуется найти экстремум функции — нейронные сети, SVM, k-средних, регрессии. Однако проще его воспринять в чистом виде (и проще модифицировать).
Математика для искусственных нейронных сетей для новичков, часть 1 — линейная регрессия
2016-08-03 в 9:17, admin, рубрики: python, tutorial, ИНС, математика, машинное обучение, нейронные сети, обучение, метки: инсВведение
Этим постом я начну цикл «Нейронные сети для новичков». Он посвящен искусственным нейронным сетям (внезапно). Целью цикла является объяснение данной математической модели. Часто после прочтения подобных статей у меня оставалось чувство недосказанности, недопонимания — НС по-прежнему оставались «черным ящиком» — в общих чертах известно, как они устроены, известно, что делают, известны входные и выходные данные. Но тем не менее полное, всестороннее понимание отсутствует. А современные библиотеки с очень приятными и удобными абстракциями только усиливают ощущение «черного ящика». Не могу сказать, что это однозначно плохо, но и разобраться в используемых инструментах тоже никогда не поздно. Поэтому моей первичной целью является подробное объяснение устройства нейронных сетей так, чтобы абсолютно ни у кого не осталось вопросов об их устройстве; так, чтобы НС не казались волшебством. Так как это не математический трактат, я ограничусь описанием нескольких методов простым языком (но не исключая формул, конечно же), предоставляя поясняющие иллюстрации и примеры.
Цикл рассчитан на базовый ВУЗовский математический уровень читающего. Код будет написан на Python3.5 с numpy 1.11. Список остальных вспомогательных библиотек будет в конце каждого поста. Абсолютно все будет написано с нуля. В качестве подопытного выбрана база MNIST — это черно-белые, центрированные изображения рукописных цифр размером 28*28 пикселей. По-умолчанию, 60000 изображений отмечены для обучения, а 10000 для тестирования. В примерах я не буду изменять распределения по-умолчанию.
Читать полностью »
Навигация в помещениях с iBeacon и ИНС
2014-12-08 в 23:03, admin, рубрики: ibeacon, indoor-навигация, mobile development, Беспроводные технологии, Геоинформационные сервисы, ИНС
Представьте, что перед вами поставили задачу по реализации навигации внутри помещений. Соответственно, GPS/Глонасс и тому подобные системы спутниковой навигации вам недоступны. Что делать? В этой статье мы с вами подробно рассмотрим варианты решения подобных задач в теоретической части, а в практической – реализуем «в железе» indoor-трекер для работы с маячками iBeacon по Bluetooth BLE на NodeJS на базе новейшей платформы Intel Edison, рассмотрим применение трилатерации и фильтра Калмана, библиотеку CylonJS по работе с датчиками под NodeJS.
Синтез оптимального алгоритма распознавания мимики
2014-07-15 в 8:14, admin, рубрики: Алгоритмы, ИНС, комбинированные алгоритмы, математика, обработка изображений, синтез оптимального алгоритмаЦели
Определить наиболее оптимальный алгоритм для последующей его реализации и апробации в решении распознавания мимики.
Задачи:
Провести анализ существующих алгоритмов видео распознавания человеческого лица и его характеристик, учитывая определенные нами доминирующие признаки классификации и математической модели. На основе полученных данных выбрать оптимальный вариант алгоритма визуального распознавания для последующего его внедрения под наши задачи реализации технологии распознавания мимики для мобильных устройств или компьютеров.
Тема
Так как перед нами стоит задача реализовать производительную систему распознавания мимики для мобильных устройств, то при выборе оптимального алгоритма под решение данной проблемы мы должны исходить из следующего:
• Низкое разрешение и высокий уровень шумов (характерно для большинства фронтальных VGA камер смартфонов и ПК);
• Невысокие производительные требования мобильных устройств и компьютеров для обсчитывания данных с частотой 25 кадров в секунду;
• Высокая скорость работы (для обработки видео в режиме онлайн).
На основе вышеперечисленных условий при выборе оптимального алгоритма под задачи распознавания мимики нам необходимо сфокусироваться на надежном алгоритме, который имеет минимальные системные требования и отличается высокой эффективностью работы. Также при осуществлении синтеза оптимального алгоритма распознавания мимики для решения поставленной задачи мы должны учитывать наш накопленный опыт, который мы приобрели в предыдущих этапах исследования.
Представим схему работы обработки и последующего анализа изображения в виде таблицы (рис.1). При этом на данном этапе исследования нам следует определить столбец, который мы для простоты перекрасили в синий цвет – то есть выбрать оптимальный алгоритм распознавания матрицы:
Но прежде чем приступить к выбору оптимального алгоритма под наши задачи распознавания мимики, следует объяснить механизм выхватывания вектора признаков.
Читать полностью »
Что важно для создания ИИ
2013-06-20 в 14:52, admin, рубрики: ИНС, искусственный интеллект, метки: ИНС, искусственный интеллект Прочитав множество статей по искусственному интеллекту, решил написать свою. Я уже довольно долго наблюдаю за сферой разработок ИИ, а точнее искусственных нейронных сетей. Наслышан о проектах эмуляции мозга человека, кошки и т.п. Не могу не выразить свое разочарование по данной теме. На самом деле мощь интеллекта искусственных нейронных сетей преувеличивается и приукрашивается журналистами и разработчиками. Например, видел такую статью: «Нейронная сеть Google научилась выявлять кошек на изображениях». Эта статья так раздута и приукрашена, что и действительно думаешь: «Эврика! Вот он наш ИИ! Наконец-то!». Многие, слушая подобные заявления по телевидении разинув рот говорят что-то вроде: «Смотри до чего техника дошла!». Подобное вызывает у меня лишь ухмылку и разочарование. И вот почему… Сам Google заявил, что среди изображений «скормленных» их нейронной сети большинство – изображения кошек. Если взять во внимание свойство нейронной сети обучаться, то никакого интеллекта и сверхъестественного здесь не видно, это было закономерно, что нейронная сеть научится находить кошек, согласитесь. Ладно, довольно лирического отступа, приступим к настоящим рассуждениям.
Сам имею небольшой опыт с нейронными сетями и то, скорее не с их созданием, а с их исследованиями, экспериментами. Я сам много думал над созданием ИИ, было время, когда сам попался на удочку приукрашенных историй о ИНС, из-за чего и родился к ним мой интерес. В моих планах на будущее создать свою собственную ИНС, после того, как пойму каким образом создать действительно умную. Для этого я сделал небольшой список вопросов на эту тему, которые должны помочь в создании ИИ.
Простой классификатор на PyBrain и PyQt4 (Python3)
2013-03-08 в 6:54, admin, рубрики: pybrain, pyqt, pyqt4, python, python3, Qt Software, ИНС, искусственный интеллект, примеры кода, распознавание текста, метки: pybrain, pyqt, pyqt4, python3, ИНС, примеры кода, распознавание текста Изучая Python3, я портировал (как смог) библиотечку PyBrain. Об этом я уже писал здесь.
Теперь же я хочу немного «поиграть» с данной библиотечкой. Как я уже говорил в предыдущем посте, питон я только начал изучать, так что все написанное в этой статье не стоит воспринимать как Истину. Изучение — это путь, и он извилист.
Задачу поставим перед искусственной нейронной сетью (ИНС) весьма простую — классификацию, а именно: распознавание букв латинского алфавита.
Вроде бы классический пример, про него уже писали на хабре неоднократно: «Что такое искусственные нейронные сети?», «Нейронные сети и распознавание символов» и т.д.
Но моей целью стоит изучение питона на не самых простых примерах. Т.е. учимся сразу на сложном и незнакомом. Так мы найдем в два раза больше граблей, что позволит нам копнуть в глубины языка, разбираясь с «почему не работает?».
Под хабракатом вас ждёт: описание способа подготовки данных на PyQt4, использование модуля argparse, ну и конечно же PyBrain!
Читать полностью »