Search
Write a publication
Pull to refresh
0
0
Send message

Машинное обучение для интеллектуализации ваших приложений

Reading time1 min
Views15K
Вводный доклад начального уровня о машинном обучении на конференции iForum'2014.

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

Для программистов, желающих стать распознавальщиками.



Роджер Шанк — об IBM Watson

Reading time5 min
Views26K
Американский теоретик искусственного интеллекта, один из основоположников когнитивной психологии и предприниматель Роджер Шанк опубликовал в своём блоге личное мнение о системе Watson. Здесь приведен перевод этой записи.

image

В IBM не занимаются «когнитивными вычислениями», вне зависимости от того, сколько раз они повторят эти слова.

Вчера я переписывался со старым другом, и он напомнил мне о нашем разговоре, состоявшемся почти 50 лет назад. Я пытался объяснить ему, чем я зарабатываю на жизнь, а он пытался понять, почему заставить компьютеры понять что-либо было более сложным делом, чем анализ ключевых слов. Я объяснял концепции предложений, и то, что предложения состоят из слов, но люди на самом деле не используют слова, когда думают – кроме случаев, когда им необходимо добраться до лежащих в их основе идей, и именно с этим у компьютеров возникают сложности.

Спустя 50 лет ключевые слова всё ещё стоят на первом месте у людей, пытающихся заставить компьютеры работать с языком. Однако на этот раз ключевым словом, при помощи которого люди обманывают общественность, служит ИИ. Люди объявляют, что ИИ существует, ИИ думает, и что мы все должны его бояться, или радоваться его приходу – я забыл, что именно.

Восемь потрясающих игр с искусственным интеллектом от компании Google

Reading time4 min
Views121K

«Нарисуй кошку за 30 секунд!.. О, я знаю, это кошка… А может быть, нет» — примерно в таком формате выдаёт результат распознавания рисунков нейросеть Quick, Draw!

Quick, Draw! — одна из новых игр, которую выпустили разработчики Google в рамках проекта A.I. Experiments. Здесь публикуются прикольные игрушки, которые позволяют даже ребёнку поиграть с искусственным интеллектом. Но есть игры и для взрослых.
Читать дальше →

Браузерная WebRTC трансляция с RTSP IP-камеры с низкой задержкой

Reading time9 min
Views71K

По некоторым данным, на сегодняшний день, в мире установлены сотни миллионов IP-камер для видеонаблюдения. Однако далеко не для всех из них критична задержка в воспроизведении видео. Видеонаблюдение, как правило, происходит «статично» — поток записывается в хранилище и может быть проанализирован на движение. Для видеонаблюдения разработано множество программных и аппаратных решений, которые хорошо делают свою работу.

В данной статье мы рассмотрим немного другое применение IP-камеры, а именно применение в онлайн-трансляциях, где требуется низкая коммуникационная задержка.
Читать дальше →

Жесткая расстановка приоритетов

Reading time11 min
Views17K
Расстановка приоритетов означает выполнение задач, которые наиболее важны, в первую очередь. Если вы производите продукты, это означает, что прежде всего должно делаться то, что представляет наибольшую ценность для клиента.

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

Эта статья посвящена основам расстановки приоритетов.

Читать дальше →

Дайджест интересных материалов для мобильного разработчика #195 (13-19 марта)

Reading time3 min
Views12K
С помощью этого дайджеста вы сможете узнать как аутентифировать пользователей по голосу, как собирать кубик Рубика с помощью приложения, как переводить приложение с помощью Google Sheets, какие технологии ищут работодатели на Stack Overflow и много других интересных вещей!

Читать дальше →

Аутентификация и идентификация по голосу с помощью когнитивных сервисов Microsoft

Reading time5 min
Views9.6K

Когнитивные сервисы представляют доступ к различным облачным сервисам, которые позволяют работать с визуальной, голосовой и текстовой информацией. Кроме того, доступны различные поисковые функции Bing.

Для того, чтобы попробовать когнитивные сервисы в действии даже не обязательно иметь аккаунт Microsoft. Получить пробный ключ можно и с помощью аккаунта GitHub или LinkedIn. Пробная подписка не ограничена по времени, но ограничена по количеству используемых ресурсов за период. Ознакомиться с онлайн демонстрацией можно по адресу: Speaker Recognition API

Далее идет описание того как опробовать в действии аутентификацию пользователя с помощью голоса. Хоть сервис еще и в состоянии preview, но, несмотря на это, уже довольно интересен.
Сервис может быть использован из различных платформ, но я буду рассматривать создание C#/XAML приложения UWP.
Читать дальше →

Квантовые шахматы

Reading time12 min
Views75K

Intro


Этот пост написан под впечатлением от вот этого отличного поста с Хабра, в котором автор наглядно, при помощи двумерных моделек, которые рисует его программа, объясняет как работает Специальная Теория Относительности.


Я работаю в IT, а по образованию – физик-теоретик. Уже долгое время увлекаюсь популяризацией науки, и теоретической физики в частности. Постараюсь аналогично вышеупомянутому посту о специальной теории относительности объяснить на специально подготовленном примере как работает квантовая механика.


Модель, которую я рассматриваю – отнюдь не нова. Более полугода назад Chris Cantwell разместил на YouTube анонс новой настольной игры: квантовых шахмат (многим, возможно, известно об этом из вот этого вирусного ролика).


Недавно игра вышла в Steam, она стоит 249 руб. Есть ещё другая реализация – бесплатное приложение для iOS (не знаю, есть ли оно в Google Play). Однако в процессе игр с друзьями я экспериментально выяснил, что она неправильная с точки зрения квантовой механики. Такую реализацию скорее можно назвать статистическими шахматами, а не квантовыми.


Поэтому я решил написать свою реализацию, с запутанностью и суперпозициями. В своей реализации я постарался исправить те недостатки, которые на мой взгляд присутствуют в версии на Steam (например, у меня пешки тоже могут ходить квантовыми ходами, как и все остальные фигуры). Про приложение для iOS и так всё понятно: любая реализация квантовых шахмат должна быть по-настоящему квантовой, т.е. не только быть вероятностной, но поддерживать такие эффекты квантовой механики как интерференция, запутанность, etc.

Читать дальше →

Биология поведения человека: Лекция #5. Молекулярная генетика, II [Роберт Сапольски, 2010. Стэнфорд]

Reading time1 min
Views9.9K


Представляем вам пятую лекцию курса «Биология поведения человека» профессора Стэнфордского университета Роберта Сапольски.

Это вторая часть раздела, посвященного связи биологии поведения и молекулярной генетики. В ней рассказывается о различных мутациях в компонентах естественного отбора на молекулярном уровне, а теории градуализма и прерывистого равновесия сводятся в общую модель развития.

Список предыдущих лекций

Структуры данных, PHP

Reading time9 min
Views86K
Данный пост является переводом и предназначен для новичков. Ну или для тех, кто забыл лекции с начальных курсов своих вузов. Скорее всего, данный материал уже попадался на хабре в той или иной модификации, но здесь упор на PHP и его особенности.

Структуры данных или Абстрактный Тип Данных (ADT) — это модель, определенная как некий набор операций, которые могут быть применены к самой себе и ограничена тем, какой результат дают эти операции.
Большинство из нас сталкиваются со стеком и очередью в повседневной жизни, но что общего между очередью в супермакете и структурой данных? В этом мы и попробуем разобраться в данной статье, где также будут описаны деревья.

http://www.thisiscolossal.com/2013/01/a-wooden-domino-tree-by-qiu-zhijie/



UPD: s01e02

Осторожно, трафик! Очень много текста!

Как умные контракты изменят нашу жизнь

Reading time5 min
Views64K
Что такое умные контракты, как они работают и почему будущее именно за ними.



Блокчейн представляет собой децентрализованную систему, существующую благодаря множеству объединенных в сеть компьютеров. Поэтому одно из его главных достоинств — то, что вы можете не платить посредникам и экономить свое время и нервы.

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

PHP + BDD = Behat, или сказ о чудо-библиотеке

Reading time8 min
Views41K
Каждый, кто всерьез занимался разработкой на Ruby, знает про замечательный гем Cucumber. Вкратце — это библиотека для автоматизированного тестирования, заточенная под BDD. Подробнее можно почитать в топике хабраюзера dapi, а еще лучше посмотреть подкаст от Райна Бэйтса. Основная прелесть «огурца» состоит в том, что он позволяет писать тесты на понятном человеку языке, и даже не обязательно английском. Выглядит это так:

Feature: Addition 
  In order to avoid silly mistakes 
  As a math idiot 
  I want to be told the sum of two numbers 

  Scenario: Add two numbers 
    Given I have entered 50 into the calculator
      And I have entered 70 into the calculator
     When I press add
     Then The result should be 120 on the scree

Благодаря Cucumber я подсел на BDD на рельсах. Но вот на PHP, с которым приходится работать основную часть времени, отношения с BDD как-то не сложились. И в первую очередь из-за отсутствия достойного инструментария. Но однажды судьба завела меня на страницу библиотеки Behat (написанной, кстати говоря, хабраюзером everzet). И на меня свалилось счастье…
Читать дальше →

Принимая PHP всерьёз

Reading time9 min
Views32K
image
Ракета Союз, доставленная на поезде на пусковую площадку. Фото из общественного достояния NASA.

Это перевод статьи Taking PHP Seriously, автор которой является одним из инженеров известного приложения Slack. Он рассказывает о недостатках и преимуществах PHP, а также о языке Hack и виртуальной машине HHVM, на которую почти завершил переход Slack.

Slack использует PHP для большей части своей серверной логики, что является не самым популярным выбором в наши дни. Почему же мы решили написать новый проект именно на этом языке? Следует ли вам поступать также?

Большинство программистов, которые немного игрались с PHP, знают две вещи про него: это плохой язык, который они никогда не станут использовать при наличии выбора, и что некоторые из чрезвычайно успешных проектов в истории мира используют его. Это не совсем противоречие, но этот факт должен заставить вас задуматься. То есть, Facebook, Wikipedia, Wordpress, Etsy, Baidu, Box и в последнее время Slack — все они успешно решают проблемы, не смотря на то, что используют PHP? Были ли бы они более успешными, если бы они использовали у себя Ruby? Erlang? Haskell?

Вполне возможно, что нет.
Читать дальше →

Ускоряем PHP (с ReactPHP)

Reading time11 min
Views81K
В этом посте я хотел бы поделиться не совсем обычным, для мира PHP, способе построения приложения, если угодно — архитектурой. Данный подход позволяет средствами PHP увеличить количество обрабатываемых запросов в разы. Так же я поделюсь своими наработками в этом направлении. Конечно данный подход не бесплатен, в плане требований к коду, но давайте всё по порядку.
Читать дальше →

Построение нейронных сетей в php используя FANN, пример реализации

Reading time5 min
Views83K
Передо мной предстала задача анализа большого количества информации и выявления закономерностей. И первое, что пришло в голову — построить математическую модель с помощью нейронной сети.

Поскольку данные для анализа формируются в php и мне этот язык сейчас ближе всего, то искалась библиотека с интерфейсом для php. В связи с этим мне порекомендовали FANN (Fast Artificial Neural Network) — открытое программное обеспечение для построения сетей. У этого решения есть апи для 15 языков, так что почти каждый сможет выбрать что-то для себя.

Пример. Распознавание языка текста на странице

Для примера возьмем задачу легкую, но недалекую от нашей реальности и от серьезных задач. Допустим есть 1000 документов, на 3-х разных языках. Пусть это будут французский, английский и польский. Наша задача научить нейронную сеть распознавать язык документа. Для этого мы используем самый простой частотный механизм. Но тем не менее его результаты неплохи. Его суть в том, что у каждого языка с разной частотой в тексте встречаются одни и те же символы. Мы подготавливаем 3 больших куска текста для каждого из языков (английский, французкий, польский), посчитаем для каждого символа частоты. Эти данные мы передадим в нейронную сеть, с указанием какой набор частот принадлежит каждому из языков. Дальше нейронная сеть все сделает сама.
Читать дальше →

Обработка pcntl-сигналов в PHP

Reading time8 min
Views24K
Про обработку сигналов в PHP уже было написано несколько статей. Но там эта тема описана лишь косвенно.

Сразу оговорюсь, что я знаю, что уже вышел PHP 5.5 и 5.2 уже морально устарел, но задачу нужно было решать именно на PHP 5.2. Для тех счастливчиков, кто использует более новую версию PHP я тоже напишу, но ближе к концу статьи.

Обработка pcntl-сигналов в PHP делается путем передачи функции-обработчика в функцию pcntl_signal(), при этом на каждый сигнал можно повесить только один обработчик. Каждый следующий обработчик будет заменять предыдущий, при этом никаких нотайсов не будет.
Читать дальше →

Демоны на PHP

Reading time4 min
Views76K
Памятка начинающему экзорцисту.

Прежде, чем начать: я знаю, что такое phpDaemon и System_Daemon. Я читал статьи по этой тематике, и на хабре тоже.

Итак, предположим, что вы уже определились, что вам нужен именно демон. Что он должен уметь?
  • Запускаться из консоли и отвязываться от неё
  • Всю информацию писать в логи, ничего не выводить в консоль
  • Уметь плодить дочерние процессы и контролировать их
  • Выполнять поставленную задачу
  • Корректно завершать работу

Отвязываемся от консоли


// Создаем дочерний процесс
// весь код после pcntl_fork() будет выполняться двумя процессами: родительским и дочерним
$child_pid = pcntl_fork();
if ($child_pid) {
    // Выходим из родительского, привязанного к консоли, процесса
    exit();
}
// Делаем основным процессом дочерний.
posix_setsid();

// Дальнейший код выполнится только дочерним процессом, который уже отвязан от консоли

Читать дальше →

Многопроцессовые демоны на PHP

Reading time3 min
Views44K
Зачем может понадобиться писать демоны на PHP?
  • Выполнение трудоемких фоновых задач;
  • выполнение задач, которые длятся больше, чем время ожидания при HTTP-запросе (30 секунд);
  • выполнение задач на более высоком уровне доступа, чем серверный процесс (читай — под рутом).

Читать дальше →

Матрица с идеями для стартапов

Reading time2 min
Views48K
Буквально на днях Эрик Стромберг, бывший совладелец книжного сервиса Oyster, чуть более года назад проданного Google, рассказал о матрице, которая поможет вам найти идею для нового стартапа. Сама задумка создания подобной матрицы многим показалась чрезвычайно интересной. Пост Эрика, размещенный в его блоге на Medium, спровоцировал обширную дискуссию и вызвал интерес у мировых СМИ. Тем, кто еще не слышал об этой концепции, мы предлагаем ознакомиться с переводом резонансной публикации.


Читать дальше →

Двадцать один бесплатный инструмент, о котором должен знать каждый системный администратор

Reading time6 min
Views21K

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


Читать дальше →

Information

Rating
Does not participate
Registered
Activity