Пользователь
Введение в машинное обучение и быстрый старт с Azure ML
Это перевод статьи Рафаля Лукавецки из компании Project Botticelli Ltd, которая предлагает онлайн-обучение и курсы по разным технологиям, в том числе машинному обучению и Power BI и так далее. Оригинал статьи можно найти по адресуСервис машинного обучения Azure Machine Learning в настоящее время находится в предварительном публичном тестировании доступном каждому, у кого есть учетная запись Azure (или хотя бы триальный доступ). Если вам интересно почему я всегда был настолько возбужден этой технологией, посмотрите мою обзорную статью, написанную месяц назад или читайте дальше этот пост, в котором я обо всем расскажу.
Если кратко, для того чтобы выполнять задачи аналитики с прогнозированием (predictive analytic) с помощью Azure Machine Learning вам достаточно выполнить следующие шаги:
Как полюбить машинное обучение и перестать страдать
Пиши на C как джентльмен
«Code Monkey like Fritos
Code Monkey like Tab and Mountain Dew
Code Monkey very simple man
With big warm fuzzy secret heart:
Code Monkey like you
Code Monkey like you»
— Jonathan Coulton — Code Monkey
Я думаю, многим знакома эта шикарная песня Jonathan Coulton'а, и эта жизненная ситуация, когда «Rob say Code Monkey very diligent», но «his output stink» и «his code not 'functional' or 'elegant'».
Язык Си, подаривший нам столько полезного софта, потихоньку был вытеснен из десктопа и энтерпрайза такими высокоуровневыми гигантами как Java и C# и занял нишу системного программирования. И все бы хорошо, но системщики — очень
Сегодня мы поговорим о некоторых полезных практиках, которые я вынес из глубин системного программирования на Си. Поехали.
Как искать путь к победе на Russian AI Cup 2016, но не в том направлении
Картинка нарисованная рядом, имеет глубокий смысл – вместо того чтобы уделить достаточное время и быть призером соревнования, я пошел другим путем — потратил одну треть времени на то, что делать было не обязательно. Если быть точнее, то я занялся алгоритмом поиска пути в пространстве, где нет непробиваемых стен, а есть лишь деревья которые можно или рубить или проходить рядом с ними.
Что из этого получилось, можно посмотреть в видео, а желающих познать все тайны леса прошу под кат.
История участия (и почти победы) в ежегодном соревновании Russian AI Cup 2016
Ежегодно компания Mail.ru проводит онлайн-чемпионат по программированию игровых стратегий (Russian AI Cup 2016). Я принимал участие в данном соревновании в 2012 году (СodeTanks) и, совсем немного, в 2013 (СodeTroopers). В этом году, изрядно наевшись веб разработкой, я решил попробовать принять участие ещё раз. Я изначально не надеялся (но, конечно же, очень хотел) занять какое-либо призовое место и в целом для меня это был скорее тест, насколько я ещё могу реализовать нечто интересное. О том, что из этого получилось, можно прочитать под катом.
Дайджест AI Cup. Пять стратегий Code Wizards 2016
В декабре завершился Russian AI Cup 2016 — организованный нами ежегодный чемпионат по программированию искусственного интеллекта. Чемпионат для наглядности, понятности и простоты проводится в игровом формате.
В этом году участники создавали алгоритм — игровую стратегию для MOBA-игры. Получившийся бот сражался с другими такими же, а лучший из них побеждал в раунде. Таким образом, из серии раундов получился турнир, проходящий в несколько этапов.
Оценка методов измерения низких частот на Arduino
Озадачившись таким вопросом, я первым делом выяснил, что ничего хорошего стандартные библиотеки в этом плане не предлагают. Есть, оно конечно, FreqMeasure и FreqPeriod, но они мне не понравились с первого взгляда: излишне усложненные и к тому же с почти полностью отсутствующей документацией. В довершение всего прилагаемые к ним примеры у меня просто не заработали с первого раза (я догадываюсь, почему, но возиться не стал — неинтересно копаться в чужих ляпах).
Пришлось делать самому. Малые частоты нужно измерять через период, потому идеальный конечный результат — нечто вроде функции pulseIn(), только измеряющей не длительность импульса, а период. Получилось несколько вариантов, которые и предлагаю аудитории в надежде, что кому-нибудь они пригодятся. Для каждого варианта определялись границы применимости и рассматривались достоинства и недостатки в сравнении друг с другом.
Проектирование антропоморфного манипулятора c 7 степенями
Всем привет! Уже почти год ничего нового не публиковалось по поводу судьбы сервисного робота Tod Bot. Однако, все это время мы не сидели сложа руки, и сегодня можем рассказать о достигнутых успехах. Данный пост не претендует на рецепт проектирования, а только лишь описывает наш путь.
Занимаясь нашим проектом, мы дошли до задач захвата предметов манипулятором. На тот момент у нас уже были решены такие задачи, как распознавание предметов и управления манипулятором. Манипулятор был сделан из конструктора и использовал обычные сервоприводы, и его грузоподъёмность и возможность управления скоростью оставляли желать лучшего(контроллер, который мы использовали, не поддерживал динамическое управление скоростью сервоприводами). Тогда перед нами стал выбор: заказать новый контроллер и использовать то, что уже есть или же решить проблему кардинально и получить манипулятор, который бы нас устраивал по всем параметрам.
Робот промоутер — Oscar. Манипулятор
Сегодня мы хотим рассказать об устройстве манипулятора промо-робота Oscar. Хотя изначально к манипулятору не были предъявлены жесткие индустриальные требования, тем не менее нашей целью было сделать практичное и эстетичное решение, при этом не очень дорогое и относительно несложное в изготовлении в домашних условиях.
Длина манипулятора от плеча до кончиков пальцев составляет 0.6 метров, вес — 2.25 кг. Материалы изготовления — PLA. Манипулятор условно можно разделить на 3 компонента:
- Бионическая кисть
- Запястье (2 степени свободы)
- Локтевой и плечевой суставы (5 степеней свободы)
Связано это с тем, что каждый из компонентов имеет свое техническое решение.
Нейронные сети и распознавание символов
Нейронные сети с рефлексией
Поскольку доклад был сугубо популярный, никаких подробностей я там не представил, но модель обладает интересными свойствами, о которых я хочу рассказать детальнее.
Структура сети
За основу была взята широкоизвестная сеть Хопфилда, но в нее помимо основных связей от каждого нейрона к каждому (которые технически можно считать связями с задержкой в один такт), были добавлены дополнительные связи с задержками более 1го такта (практически исследовались задержки на 2-8 тактов).
Нейронные сети. Часть 1. Основы искусственных нейронных сетей
Хочу вначале сделать маленький дисклеймер. Предыдущим постом в этом сообществе были рассмотрены основы искусственной нейронной сети. Я данной темой занималась для написания своей магистерской работы и соответственно прочитала в свое время достаточно литературы, поэтому мне бы хотелось немного дополнить и в дальнейшем продолжить вам рассказывать о том, что такое нейронная сеть, какое представление она имеет изнутри, как с ее помощью решают задачи и так далее…
Сразу оговорюсь, что я не гуру в данном вопросе, я его знаю (ну или знала, так как времени прошло уже достаточно) настолько глубоко, насколько мне было это необходимо для написания работающей нейронной сети для распознавания цифр, ее обучения и дальнейшего использования. Предметом исследования была структура нейронной сети для распознавания символов, а конкретно, зависимость между количеством нейронов в скрытом слое и сложностью выборки для входных данных (количеством символов для распознавания).
UPD: данный текст в основном является обобщением из прочитанной литературы. Он не написан мною лично. По крайней мере эта часть.
UPD2: Скорей всего продолжения данной темы не будет, так как хабрапользователь stepan_ovchinnikov, который является смотрителем данного блога, считает, что нет смысла писать здесь то, что можно прочитать из многочисленной литературы, которая есть по нейронным сетям. Так что извините.
Возможно первая часть будет в чем-то похожа на предыдущий пост хабрапользователя Kallisto, но я считаю, что стоит более детально рассмотреть строение искусственного нейрона, у меня есть, что добавить, ну и, плюс ко всему, я хочу написать полноценную и законченную серию постов про нейросети, не опираясь на уже написанное. Надеюсь вам будет полезен данный материал.
Делаем контур управления электродвигателем с заданием тока
Постановка задачи
Это вторая, итоговая статья. Напоминаю цель: есть двигатель постоянного тока. Задача — разработать, собрать и протестировать устройство, позволяющиее реализовать контур управления с заданием тока применительно к этому двигателю. Желаемое время переходного процесса на застопоренном двигателе (без противо-ЭДС) — не более 10мс.
Текст разбит на две статьи:
- 1. Измерение сопротивления и индуктивности двигателя
- 2. Разработка управляющего контура
Напоминаю, как выглядит макет управляющего железа:
Batch Normalization для ускорения обучения нейронных сетей
В современном мире нейронные сети находят себе всё больше применений в различных областях науки и бизнеса. Причем чем сложнее задача, тем более сложной получается нейросеть.
Обучение сложных нейронных сетей иногда может занимать дни и недели только для одной конфигурации. А чтобы подобрать оптимальную конфигурацию для конкретной задачи, требуется запустить обучение несколько раз — это может занять месяцы вычислений даже на действительно мощной машине.
В какой-то момент, знакомясь с представленным в 2015 году методом Batch Normalization от компании Google мне, для решения задачи связанной с распознаванием лиц, удалось существенно улучшить скорость работы нейросети.
За подробностями прошу под кат.
Нейронные сети для начинающих. Часть 1
Привет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.
Поэтому сейчас, когда я достаточно хорошо освоил нейронные сети и нашел огромное количество информации с разных иностранных порталов, я хотел бы поделиться этим с людьми в серии публикаций, где я соберу всю информацию, которая потребуется вам, если вы только начинаете знакомство с нейронными сетями. В этой статье, я не буду делать сильный акцент на Java и буду объяснять все на примерах, чтобы вы сами смогли перенести это на любой, нужный вам язык программирования. В последующих статьях, я расскажу о своем приложении, написанном под андроид, которое предсказывает движение акций или валюты. Иными словами, всех желающих окунуться в мир нейронных сетей и жаждущих простого и доступного изложения информации или просто тех, кто что-то не понял и хочет подтянуть, добро пожаловать под кат.
Нейронные сети для любопытных программистов (с примером на c#)
Hello, TensorFlow. Библиотека машинного обучения от Google
Проект TensorFlow масштабнее, чем вам может показаться. Тот факт, что это библиотека для глубинного обучения, и его связь с Гуглом помогли проекту TensorFlow привлечь много внимания. Но если забыть про ажиотаж, некоторые его уникальные детали заслуживают более глубокого изучения:
- Основная библиотека подходит для широкого семейства техник машинного обучения, а не только для глубинного обучения.
- Линейная алгебра и другие внутренности хорошо видны снаружи.
- В дополнение к основной функциональности машинного обучения, TensorFlow также включает собственную систему логирования, собственный интерактивный визуализатор логов и даже мощную архитектуру по доставке данных.
- Модель исполнения TensorFlow отличается от scikit-learn языка Python и от большинства инструментов в R.
Все это круто, но TensorFlow может быть довольно сложным в понимании, особенно для того, кто только знакомится с машинным обучением.
Как работает TensorFlow? Давайте попробуем разобраться, посмотреть и понять, как работает каждая часть. Мы изучим граф движения данных, который определяет вычисления, через которые предстоит пройти вашим данным, поймем, как тренировать модели градиентным спуском с помощью TensorFlow, и как TensorBoard визуализирует работу с TensorFlow. Наши примеры не помогут решать настоящие проблемы машинного обучения промышленного уровня, но они помогут понять компоненты, которые лежат в основе всего, что создано на TensorFlow, в том числе того, что вы напишите в будущем!
Машинное обучение: Вопросы и ответы
Как вы уже успели заметить, мы достаточно часто обращаем внимание на тему машинного обучения. Так, мы рассказывали о глубоком обучении, писали о работе с данными и адаптировали различные подборки источников по теме: 1, 2, 3.
Сегодня мы решили посмотреть на наиболее интересные вопросы и ответы по теме машинного обучения на ресурсе Quora.
Революция машинного обучения: общие принципы и влияние на SEO
Машинное обучение уже само по себе является серьезной дисциплиной. Оно активно используется вокруг нас, причем в гораздо более серьезных масштабах, чем вы можете себе представить. Несколько месяцев назад я решил углубиться в эту тему, чтобы узнать о ней больше. В этой статье я расскажу о некоторых базовых принципах машинного обучения, а также поделюсь своими рассуждениями по поводу его влияния на SEO и digital-маркетинг.
Для справки, рекомендую посмотреть презентацию Рэнда Фишкина «SEO in a Two Algorithm World», где Рэнд подробно рассматривает влияние машинного обучения на поиск и SEO. К этой теме я еще вернусь.
Я также упомяну сервис, который позволяет спрогнозировать шансы ретвита вашего поста на основании следующих параметров: показатель Followerwonk Social Authority, наличие изображений, хэштегов и некоторых других факторов. Я назвал этот сервис Twitter Engagement Predictor (TEP). Чтобы разработать такую систему мне понадобилось создать и обучить нейронную сеть. Вы указываете исходные параметры твита, сервис обрабатывает их и прогнозирует шансы ретвита.
Information
- Rating
- Does not participate
- Location
- Шымкент (Чимкент), Чимкентская обл., Казахстан
- Registered
- Activity