Search
Write a publication
Pull to refresh
17
20.1
Alexander Kardapolov @akardapolov

User

Send message

Нейронные сети для начинающих. Часть 1

Reading time7 min
Views1.6M
image

Привет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.

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

Создание архитектуры программы или как проектировать табуретку

Reading time25 min
Views710K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

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

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →

Охота на мифический MVC. Обзор, возвращение к первоисточникам и про то, как анализировать и выводить шаблоны самому

Reading time24 min
Views150K
— Не понимаю, почему люди так восхищаются этим Карузо? Косноязычен, гугнив, поёт — ничего не разберешь!
— А вы слышали, как поёт Карузо?
— Да, мне тут кое-что из его репертуара Рабинович напел по телефону.

Детектив по материалам IT. Часть первая


Я осознаю, что писать очередную статью на тему Модель-Вид-Контроллер это глупо и вредно для «кармы». Однако с этим «паттерном» у меня слишком личные отношения – проваленный проект, полгода жизни и тяжелой работы «в корзину».


Проект мы переписали, уже без MVC, просто руководствуясь принципами – код перестал быть похож на клубок спагетти и сократился наполовину (об этом позже, в обещанной статье про то, как мы применяли «принципы» в своем проекте). Но хотелось понять, что же мы сделали не так, в чем была ошибка? И в течении долгого времени изучалось все, что содержало аббревиатуру MVC. До тех пор пока не встретились исходные работы от создателя – Трюгве Реенскауга…


И тогда все встало на свои места. Оказалось что фактически на основе принципов мы пере-изобретали «original MVC». А то, что зачастую преподносится как MVC, не имеет к нему никакого отношения… впрочем также как и к хорошей архитектуре. И судя по тому сколько людей пишет о несостоятельности «классического MVC», спорит о нем и изобретает его всевозможные модификации, не одни мы столкнулись с этой проблемой.


Более 30 лет собранные в MVC идеи и решения остаются наиболее значимыми для разработки пользовательских интерфейсов. Но как ни странно, несмотря на существующую путаницу и обилие противоречивых трактовок, разработчики продолжают довольствоваться информацией «из вторых рук», черпая знания о MVC из википедии, небольших статей в интернете и фреймворков для разработки веб-приложений. Самые «продвинутые» читают Мартина Фаулера. И почему-то почти никто не обращается к первоисточникам. Вот этот пробел и хотелось бы заполнить. И заодно развеять некоторые мифы.


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

Чем СХД отличается от курицы?

Reading time2 min
Views12K
Это история из серии «Записки сервисного инженера». На вопрос ответим чуть позже, а сначала небольшой сказ об одном МАССИВном падении. Недавно в наш Сервисный центр обратился клиент, который решил самостоятельно проапгрейдить массив HDS AMS2000: заменить часть старых дисков на новые большего размера. Со слов заказчика, он вставил новый диск – и один контроллер сломался; вытащил новый диск – и второй контроллер тоже включил аварийную индикацию, а со всех систем пропал доступ к массиву.
А ларчик просто открывался

Gartner выкатил новый магический квадрант для систем мониторинга

Reading time8 min
Views19K
Мы уже успели истереть в кровь указательные пальцы, регулярно нажимая на F5 на странице с предполагаемым местом размещения отчета. И вот 21 декабря уже прошлого, 2016 года наконец-таки появился Magic Quadrant for Application Performance Monitoring Suites (MQ for APM Suites). В предновогодней дедморозно-елочно-оливьешной суете не успели выложить все в прошлом году, поэтому давайте сегодня уже расскажу о новичках, лидерах и лузерах 2016 года, а также последних новостях рынка, раскрываемых Gartner. Прошу под кат.

gartner_mag1.jpg

Немного внеуличной магии

Как понять, что происходит на сервере

Reading time9 min
Views82K


Александр Крижановский ( krizhanovsky, NatSys Lab.)


По Сети уже давно бегает эта картинка, по крайней мере, я ее часто видел на Фейсбуке, и появилась идея рассказать про нее:


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

Визуализация интеграционных приложений

Reading time7 min
Views29K
image

С тех пор как я начал выполнять обязанности системного архитектора, мне чаще приходится рисовать прямоугольники и стрелки, чем писать программный код. С этим можно было бы бороться, например, бессонными ночами участвовать в проектах с открытым исходным кодом, создавать подтверждения осуществимости концепции и демонстрационный код, но и там тоже нужно рисовать прямоугольники, чтобы продемонстрировать архитектуру. Эта статья посвящена визуализации обмена сообщениями в распределенных системах, сервис-ориентированной архитектуре (SOA) и микросервисным приложениям при использовании методологии разработки agile (этот термин потерял свое значение, но более подходящего в данном случае нет).
Читать дальше →

Идеальный программист. Часть 2

Reading time10 min
Views41K


Это вторая часть статьи по книге Роберта Мартина «Идеальный программист». В первой части статьи мы начали изучать, чем идеальный программист отличается от не идеального. Рассмотрели ответственность, научились говорить «нет» нереальным задачам и говорить «да» так, чтобы заказчик был, уверен, что всё будет готово вовремя. Мы определились, как писать код, принимать помощь и помогать другим. Продолжим.
Читать дальше →

Финансовый кризис 2008 года: причины и следствия

Reading time20 min
Views53K
В 2008 году, когда обрушился рынок, я был 16-летним молодым человеком, который впервые посетил Лондон. К тому времени я уже помешался на финансах. Будучи уверенным в том, что я, начитавшись классических книг вроде «Анализ ценных бумаг», «Разумный инвестор» и «Обыкновенные акции и необыкновенные доходы», смогу понять причины произошедшего, я купил выпуск Financial Times и погрузился в газетные строчки. Правда, тогда я мало что понял. Каждый абзац содержал вопросы, а не ответы. Что такое «кванты» и «кредитные деривативы»? А «секьюритизация»? Какое отношение страхование имеет к фондовому рынку? Почему обвал рынка производных ценных бумаг так сильно повлиял на всё остальное?



Шок от встречи с реальностью открыл мне глаза. Рынок – это сложная адаптивная система, внутри которой – модели и компьютерные алгоритмы, которые почти никто не понимает. Как тут не вспомнить слова Гордона Гекко из «Уолл Стрит 2: Деньги не спят»: «Они называют разными именами многомиллиардные кредиты: CMO, CDO, SIV, MBS. Я считаю, что только 75 человек в мире знают, что это такое».
Читать дальше →

Как приготовить тосты и заодно визуализировать ИТ-системы

Reading time10 min
Views8.3K
Приветствую, уважаемые читатели! В этом материале я хочу поделиться историей о приготовлении тостов и рассказать, каким образом мы расширили функционал Zabbix с помощью мотка провода и интегральной микросхемы Open Source решений. Обо всем по порядку, прошу под кат.

Image1.jpg
Открыть в себе системный подход

Умное цветоводство, или Пусти ИТ-шника в огород… Часть 1

Reading time4 min
Views12K
Друзья, сегодня пятница! Самое время вспомнить о делах домашних…И тут пытливый ум ИТшника тоже найдет благодатную почву для оптимизации. Собственно о почве и братьях наших зеленых мы и поговорим.

Недавно у нас в офисе появился необычный, но очень полезный девайс – автополивщик для растений. Настоящая умная система в отдельно взятом цветочном горшке. Первым подопытным стал фикус. И, судя по его упитанности, он остался доволен. ;)

Подробности – в рассказе «зачинщика» сего «безобразия» Михаила Пичугина, ведущего инженера-проектировщика вычислительных комплексов.

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

Тестируем не совсем реальный (или совсем нереальный) мониторинг от New Relic и Appdynamics

Reading time3 min
Views14K
Привет, хабранарод! Почему совсем нереальный? Да потому что мониторинг имитирует действия реальных пользователей, но выполняется по специальному алгоритму из заданных локаций. Сами вендоры называют этот механизм Synthetics, поэтому дальше в статье будем стараться придерживаться именно такой терминологии – синтетический мониторинг.

New Relic и Appdynamics – прямые конкуренты, являются лидерами квадранта Gartner и реализуют достаточно схожий функционал. У обоих вендоров есть возможность мониторинга транзакций в приложениях, они умеют выполнять проверки на стороне браузера конечного пользователя, умеют встраиваться в мобильные приложения и, наконец, обладают одной из ключевых возможностей современного мониторинга – умеют выполнять алгоритмизированные действия в веб-интерфейсе приложения.

В предыдущих статьях по основным принципам мониторинга бизнес-приложений и расширению функционала Zabbix мы уже касались синтетического мониторинга и, нужно сказать, если ваш бизнес растет и веб-приложение обслуживает большое количество клиентов, Synthetics для вас must have. Либо он есть, либо будет. Вы же не хотите жалоб от клиентов (а в худшем случае – отказа от использования вашего сервиса), правда?

image
включить синтетических роботов

Как стать супер-мега-про машинного обучения за 15 минут

Reading time3 min
Views34K
image

Недавно на Хабре проскакивал пост vfdev-5 о DIGITS. Давайте поподробнее разберёмся что это такое и с чём его едят. Если в двух словах. Это среда, которая позволяет решить 30-50% задачек машинного обучения на коленке в течении 5 минут. Без умения программировать. Ну, при наличии базы, конечно. И более-менее адекватной карточки от NVIDIA.
Читать дальше →

Питер Хинченс: Тридцать пять лет я как некромант вдыхал жизнь в мертвое железо при помощи кода

Reading time4 min
Views25K
«К сожалению, мы не выбираем себе смерть, но мы можем встретить её достойно, чтобы нас запомнили как мужчин.»
— к/ф «Гладиатор»



Питер Хинченс (Pieter Hintjens) — бельгийский разработчик, писатель. Занимал должность CEO и chief software designer для iMatix, компании, производящей free software, такие как библиотека ZeroMQ (библиотека берет на себя часть забот по буферизации данных, обслуживанию очередей, установлению и восстановлению соединений, и прочие вещи), OpenAMQ, Libero, GSL code generator, и веб-сервиса Xitami.

  • Автор более 30 протоколов и распределённых систем.
  • Основатель проекта Edgenet по созданию полностью безопасной, анонимной глобальной P2P-сети.
  • Президент ассоциации Foundation for a Free Information Infrastructure (FFII), которая воевала с патентным правом.
  • CEO сервиса по созданию собственных вики-проектов Wikidot.
  • Он был активистом open standards, и основателем Digital Standards Organization.
  • Питер в 2007 был назван одним из «50 самых влиятельных людей в области Интеллектуальная собственность».

Зная, что дни его сочтены, он использовал их по максимуму, а так же написал «Протокол ухода из жизни», где поделился рекомендациями для неизлечимых больных и их близких.
Так что я хочу написать одну последнюю модель, последний протокол, который посвящён тому, как уйти из жизни, имея в запасе некоторые знания и время. В этот раз я не буду оформлять RFC.

Моим детям 12, 9 и 5 лет. Они вырастут с моим ДНК, с моими бесконечными выступлениями на Youtube и книгами.

Под катом немного наследия, которое оставил Питер.

Спросите Итана №96: научна ли теория мультивселенной?

Reading time5 min
Views18K
Тяжело строить модели инфляции, не приводящие к мультивселенной. Но не невозможно, и я думаю, что поле для исследований тут существует. Но большинство моделей инфляции приводят к мультивселенной, и доказательства инфляции будут подталкивать нас к тому, чтобы воспринимать идею мультивселенной всерьёз.
— Алан Гут

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

Вы писали, что для революционной научной теории нужны три вещи, и третья по счёту – то, что её можно проверить и подтвердить или опровергнуть. При этом теория мультивселенной, похоже, этот тест не проходит.

Давайте поговорим об этом: трёх критериях, мультивселенной, откуда она берётся, и соответствует ли она высоким стандартам научной теории.


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

БАК увеличил аптайм до 70% и ставит рекорды по количеству столкновений

Reading time4 min
Views16K

Небольшая часть сотрудников коллаборации CMS на фоне полномасштабной фотографии компактного мюонного соленоида (CMS)

На Большом адронном коллайдере обрабатывается как никогда много столкновений протонов: примерно 1 миллиард в секунду. Это очень много. Изначально коллайдер не предполагалось использовать настолько интенсивно. Только в этом году БАК собрал больше данных, чем за все предыдущие годы эксплуатации, вместе взятые.

Главная причина увеличения количества экспериментов — высокая надёжность коллайдера даже с повышением энергии до 13 ТэВ. На БАК почти не было простоев в этом году. Физики сейчас пытаются собрать больше информации о бозоне Хиггса — элементарной частице, которая образуется примерно один раз на миллиард столкновений.
Читать дальше →

Новая линейка гибридных IP-АТС Grandstream UCM6200

Reading time8 min
Views13K
Летом 2013 года компания Grandstream начала выпуск телефонных станций серии UCM6100, работающих по протоколу SIP. Сейчас, три года спустя, Grandstream объявляет об обновлении линейки своих IP-АТС. Забегая вперед отметим, что станции из нового модельного ряда, получившего название UCM6200, совсем незначительно отличаются от своих предшественников. Тем не менее, данное обновление предоставляет нам отличную возможность познакомить читателей, которые не имеют опыта работы с IP-АТС производства компании Grandstream, с этими довольно интересными устройствами.

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

О степенях свободы в статистике

Reading time8 min
Views240K
В одном из предыдущих постов мы обсудили, пожалуй, центральное понятие в анализе данных и проверке гипотез — p-уровень значимости. Если мы не применяем байесовский подход, то именно значение p-value мы используем для принятия решения о том, достаточно ли у нас оснований отклонить нулевую гипотезу нашего исследования, т.е. гордо заявить миру, что у нас были получены статистически значимые различия.

Однако в большинстве статистических тестов, используемых для проверки гипотез, (например, t-тест, регрессионный анализ, дисперсионный анализ) рядом с p-value всегда соседствует такой показатель как число степеней свободы, он же degrees of freedom или просто сокращенно df, о нем мы сегодня и поговорим.


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

CTRL + G — хоткей, полностью изменивший принцип моей работы

Reading time2 min
Views44K


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

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

Визуализация и работа с историческими данными: интерактивные карты и linked data базы знаний для изучения истории

Reading time8 min
Views21K
Порой глянешь по сторонам и кажется, что современного мира вне IT не существует. Однако есть области человеческой жизни, очень слабо затронутые компьютеризацией. Одна из таких областей — история. И как наука, и как учебный курс. Конечно, работа за компьютером едва ли когда-то заменит историкам ковыряние в архивах. Но уж изучать историю по нарисованным в учебнике статическим картам, а порядок событий выстраивать, тщательно выписывая на бумажку даты в порядке возрастания — это точно прошлый век. Однако инструментов для наглядного изучения истории не так-то много и найти их очень непросто.

Если вы хотите узнать, какие есть интерактивные исторические карты, где стоит посмотреть на представление событий в форме таймлайнов и как делать сложные запросы к википедии типа «все государственные деятели, работавшие в Европе в 1725 году» — читайте дальше.
Читать дальше →

Information

Rating
769-th
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity