Pull to refresh
0
Кирилл Бобырёв@arcadiaread⁠-⁠only

User

Send message

В опасном мире символов…

Reading time5 min
Reach and readers96K
image

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

Цитата с Wikipedia:
Roguelike (читается как ро́углайк; сленг «рогалик») — поджанр компьютерных ролевых игр. Характерными особенностями roguelike являются генерируемые случайным образом уровни и необратимость смерти персонажа — в случае его гибели игроку предлагается начать игру заново. Большинство игр этого жанра было разработано на некоммерческой основе и использует двумерный текстовый интерфейс и управление клавиатурой.

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

Несколько мыслей в слух о программистах

Reading time5 min
Reach and readers31K
Доброго времени суток.
Конечно этот топик мало чем поможет хабролюдям и скорее всего негативно скажется на моей карме, но я всё же рискну(повторно).

Довольно часто меня спрашивают знакомые — Как стать программистом (и выйти на хорошую зарплату)?
На этот вопрос многие из нас могут дать разные ответы и советы, эта тема не раз обсуждалась, но сегодня я бы хотел рассказать о своём мнении.

Подробности

Управление квадрокоптером при помощи Oculus Rift

Reading time1 min
Reach and readers31K


Современные технические устройства позволяют разработчикам внедрять новые решения в управление гаджетами. К примеру, один из разработчиков, Диего Араос из Берлина, может управлять квадрокоптером при помощи движений головой.

Само собой, для того, чтобы летательный аппарат слушался, нужно что-то еще. И это «что-то» — Oculus Rift.

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

Нейронная сеть против DDoS'а

Reading time7 min
Reach and readers41K

Предисловие


Некоторые из вас наверняка недавно проходили Stanford'ские курсы, в частности ai-class и ml-class. Однако, одно дело просмотреть несколько видео-лекций, поотвечать на вопросики quiz'ов и написать десяток программ в Matlab/Octave, другое дело начать применять полученные знания на практике. Дабы знания полученые от Andrew Ng не угодили в тот же тёмный угол моего мозга, где заблудились dft, Специальная теория относительности и Уравнение Эйлера Лагранжа, я решил не повторять институтских ошибок и, пока знания ещё свежи в памяти, практиковаться как можно больше.

И тут как раз на наш сайтик приехал DDoS. Отбиваться от которого можно было админско-программерскими (grep / awk / etc) способами или же прибегнуть к использованию технологий машинного обучения.

Далее пойдёт рассказ о создании нейронной сети на Python 2.7 / PyBrain и её применении для защиты от DDoS'а.

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

Антинейроны и обучение на ошибках

Reading time4 min
Reach and readers3.3K
image

Вместо предисловия


В недавнем прошлом судьба привела меня в область Нейронных Сетей (НС). Вопрос этот показался мне крайне интересным и, чего уж скрывать, не на шутку перспективным. Ах, какой простор открывается лишь при одной мысли что бы можно было сделать на основе НС, если бы только развить еще буквально чуть-чуть! И вот совсем недавно ко мне в голову забрела интересная (на мой взгляд, конечно) концепция. О да, я ни коем образом не претендую на истинность и правомерность своих суждений в вопросе НС, ибо, признаться честно, в этой области я дилетант (хочется верить, что только пока). Тем не менее, любопытствующих приглашаю под хабракат. Жду (конструктивных мнений), надеюсь (на снисхождение) и верю (в понимание).

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

Логически прозрачные нейронные сети и производство явных знаний из данных

Reading time5 min
Reach and readers7.7K
В продолжение темы эволюции нейросетей.
image
Производство явных знаний из накопленных данных — проблема, которая намного старше чем компьютеры. Обучаемые нейронные сети могут производить из данных скрытые знания: создается навык предсказания, классификации, распознавания образов и т.п., но его логическая структура обычно остается скрытой от пользователя. Проблема проявления (контрастирования) этой скрытой логической структуры решается путем приведения нейронных сетей к специальному “логически прозрачному” разреженному виду.
Перед каждым исследователем, решившим использовать нейронные сети, встают два вопроса: “Сколько нейронов необходимо для решения задачи?” и “Какова должна быть структура нейронной сети?” Объединяя эти два вопроса, мы получаем третий: “Как сделать работу нейронной сети понятной для пользователя (логически прозрачной) и какие выгоды может принести такое понимание?”
Читать дальше →

Нейронные сети и распознавание символов

Reading time7 min
Reach and readers128K
В последнее время на Хабре появилось, а также существует много содержательных статей, описывающих работу и принцип понятия “нейронная сеть”, но, к сожалению, как всегда очень мало описания и разбора полученных практических результатов или их не получения. Я думаю, что многим, как и мне удобней, проще и понятней разбираться на реальном примере. Поэтому в данной статье постараюсь описать почти пошаговое решение задачи распознавания букв латинского алфавита + пример для самостоятельного исследования. Распознавание цифр с помощью однослойного персептрона уже сделано, теперь давайте еще разберёмся и научим компьютер распознавать буквы.
Немного желания и можно начинать...

Модель нейрона с реакцией на последовательности

Reading time3 min
Reach and readers7.6K
В последнее время на Хабре было несколько статей о Нейронных сетях. Для расширения кругозора предлагаю описание Нейронной сети, построенной на неклассических принципах, и с которой я очень активно и продуктивно проводил эксперименты. Нейрон будет не суммировать входящие сигналы, а распознавать поступающие последовательности сигналов.
Читать дальше →

Парсим на Python: Pyparsing для новичков

Reading time6 min
Reach and readers196K
Парсинг (синтаксический анализ) представляет собой процесс сопоставления последовательности слов или символов — так называемой формальной грамматике. Например, для строчки кода:

import matplotlib.pyplot  as plt

имеет место следующая грамматика: сначала идёт ключевое слово import, потом название модуля или цепочка имён модулей, разделённых точкой, потом ключевое слово as, а за ним — наше название импортируемому модулю.

В результате парсинга, например, может быть необходимо прийти к следующему выражению:

{ 'import': [ 'matplotlib', 'pyplot' ], 'as': 'plt' }

Данное выражение представляет собой словарь Python, который имеет два ключа: 'import' и 'as'. Значением для ключа 'import' является список, в котором по порядку перечислены названия импортируемых модулей.

Для парсинга как правило используют регулярные выражения. Для этого имеется модуль Python под названием re (regular expression — регулярное выражение). Если вам не доводилось работать с регулярными выражениями, их вид может вас испугать. Например, для строки кода 'import matplotlib.pyplot as plt' оно будет иметь вид:

r'^[ \t]*import +\D+\.\D+ +as \D+'

К счастью, есть удобный и гибкий инструмент для парсинга, который называется Pyparsing. Главное его достоинство — он делает код более читаемым, а также позволяет проводить дополнительную обработку анализируемого текста.

В данной статье мы установим Pyparsing и создадим на нём наш первый парсер.

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

Кластеризация дубликатов в Яндекс.Картинках

Reading time1 min
Reach and readers7.5K
Сегодня в клубе Яндекс.Субботник появилось интересное видео о том, как Яндекс обрабатывает изображения для исключения дубликатов. Рассказывает Александр Крайнов: он с 2000 года занимается проектами, связанными с обработкой медиаданных. В Яндексе отвечает за проекты, в которых задействовано компьютерное «зрение».

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

Думаю, многие не следят за этим клубом и мне кажется, что после этого видео есть над чем поразмыслить.
Всем кому интересно — прошу под кат.
Читать дальше →

Обзор наиболее интересных материалов по анализу данных и машинному обучению №15 (22 — 28 сентября 2014)

Reading time6 min
Reach and readers12K

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

Декодирование капчи на Python

Reading time12 min
Reach and readers94K
Это перевод и форма повествования от первого лица сохранена. Автор — Бен Бойтер, бакалавр информационных технологий в Университете Чарльза Стерта (CSU).


Большинство людей не в курсе, но моей диссертацией была программа для чтения текста с изображения. Я думал, что, если смогу получить высокий уровень распознавания, то это можно будет использовать для улучшения результатов поиска. Мой отличный советник доктор Гао Джунбин предложил мне написать диссертацию на эту тему. Наконец-то я нашел время написать эту статью и здесь я постараюсь рассказать о всем том, что узнал. Если бы только было что-то подобное, когда я только начинал…

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

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

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

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

Задачи на собеседованиях в Яндексе

Reading time15 min
Reach and readers363K
Открытые вакансии на должность разработчика в Яндексе есть всегда. Компания развивается, и хороших программистов не хватает постоянно. И претендентов на эти должности тоже хоть отбавляй. Главная сложность – отобрать действительно подходящих кандидатов. И в этом плане Яндекс мало чем отличается от большинства крупных IT-компаний. Так что базовые принципы, описываемые в этой статье, могут быть применимы не только к Яндексу.

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

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

Node.js: Обзор технологий разработки библиотек общего назначения

Reading time6 min
Reach and readers28K
node.js
В этом посте я хочу обобщить и поделится полученным опытом при разработке библиотеки node-queue-lib. Я расскажу о технологиях, которые помогли мне довести дело до финального конца — работоспособного кода, который уже работает на одном из моих сервисов. Особенностью данной библиотеки является кросс-платформенный клиент, т.е. клиент работающий в node.js и браузере и основан на одном и том же коде. В посте будут описаны следующие инструменты, без которых разработка этой библиотеки превратилась бы в ад:
  • Тестирование (jasmine_node)
  • Покрытие кода тестами (istanbul)
  • Сборка клиенткой части библиотеки (browserify)
  • Автоматизированное тестирование клиента (phantomjs)
  • Поиск утечек памяти (memwatch)

Если Вы об этом ещё ничего не слышали и имеете желание написать законченный продукт в надёжности которого Вы будете уверены, эта обзорная статья поможет Вам познакомится с одним из вариантов комплекта инструментов для полноценного контроля качества кода javascript библиотеки.

И дополнительно, повторю, что статья обзорная, и не ставит целью научить Вас виртуозно пользоваться всеми перечисленными инструментами. Я лишь покажу дверь, но откроете Вы её сами…
Читать дальше →

Бесплатная книга «Game Programming Patterns» от программиста Electronic Arts Боба Найстрома

Reading time1 min
Reach and readers87K
Боб Найстром, программист, проработавший восемь лет в компании Electronic Arts, закончил работу над книгой «Game Programming Patterns». Она доступна бесплатно на сайте gameprogrammingpatterns.com. Писать книгу Боб Найстром начал четыре года назад. Большинство книг, посвящённых программированию игр, говорит он во введении, либо подробно раскрывают какой-то из аспектов создания игры — физический движок, графику, искусственный интеллект, либо описывают процесс создания игры в определённом жанре от начала до конца. Ему очень не хватало книги, рассказывающей о решении типовых задач, возникающих перед программистом, книги достаточно универсальной, не привязанной к жанрам или конкретным подсистемам игр. И поэтому он решил написать такую книгу сам.
Читать дальше →

Подглядываем за метаниями нейронной сети

Reading time8 min
Reach and readers32K


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

Как попасть на PHDays IV CTF? Участвовать в CTF Quals

Reading time2 min
Reach and readers3.4K
PHDays IV все ближе: началась продажа билетов, в самом разгаре Call For Papers и прием работ на конкурс молодых ученых Young School. Но это еще не все! Уже совсем скоро стартует CTF Quals — отборочный этап международных соревнований по защите информации PHDays CTF, финал которых состоится 21 и 22 мая 2014 года в московском техноцентре Digital October во время форума Positive Hack Days.

Правила


Отборочные соревнования PHDays CTF Quals будут проходить на протяжении двух дней 25 и 26 января. По их итогам лучшие команды выйдут в финальную часть турнира. В ходе CTF Quals участники столкнутся с множеством интересных заданий: для их решения одновременно понадобятся глубокие теоритические знания современных технологий и развитые практические навыки.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity