Pull to refresh
53
0
FINTER @FINTER

User

Send message

Простое введение в АЛУ для нейронных сетей: пояснение, физический смысл и реализация

Reading time 9 min
Views 8.9K
Недавно исследователи из Google DeepMind, в том числе известный учёный в сфере искусственного интеллекта, автор книги "Разбираемся в глубоком обучении", Эндрю Траск, опубликовали впечатляющую статью, которая описывает модель нейронной сети для экстраполяции значений простых и сложных численных функций с большой степенью точности.

В этом посте я объясню архитектуру НАЛУ (нейронных арифметико-логических устройств, NALU), их компоненты и существенные отличия от традиционных нейронных сетей. Главная цель этой статьи — просто и интуитивно понятно объяснить NALU (и реализацию, и идею) для учёных, программистов и студентов, мало знакомых с нейронными сетями и глубоким обучением.

Примечание от автора: я также очень рекомендую прочитать оригинальную статью для более детального изучения темы.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 13

Обнаружен универсальный метод сортировки сложной информации

Reading time 7 min
Views 22K


Открывая своё кафе, вы хотели бы узнать ответ на следующий вопрос: «где находится другое, ближайшее к этой точке кафе?» Эта информация помогла бы вам лучше понять ваших конкурентов.

Это пример задачи поиска "ближайшего соседа", которую широко изучают в информатике. Дан набор сведений и новая точка, и требуется найти, к какой точке из уже существующих она окажется ближайшей? Такой вопрос возникает во множестве повседневных ситуаций в таких областях, как исследование генома, поиск картинок и рекомендации на Spotify.

Но, в отличие от примера с кафе, вопросы о ближайшем соседе часто оказываются очень сложными. За последние несколько десятилетий величайшие умы среди специалистов по информатике брались за поиски наилучших способов решения подобной задачи. В частности, они пытались справиться с усложнениями, появляющимися из-за того, что в различных наборах данных могут быть очень разные определения «близости» точек друг к другу.
Читать дальше →
Total votes 43: ↑37 and ↓6 +31
Comments 19

Как Python помогает заменить финконсультантов

Reading time 9 min
Views 14K
В продолжение статьи о вреде избыточной диверсификации создадим полезный инструментарий по подбору акций. После этого сделаем простую ребалансировку и добавим уникальные условия технических индикаторов, которых так часто не хватает в популярных сервисах. А затем сравним доходность отдельных активов и различных портфелей.

Во всём этом задействуем Pandas и минимизируем количество циклов. Погруппируем времянные ряды и порисуем графиков. Познакомимся с мультииндексами и их поведением. И всё это в Jupyter на Python 3.6.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 5

Переход с AngularJS на Angular: жизнь после AngularJS (3/3)

Reading time 7 min
Views 8.3K


В заключительной части истории про миграцию на Angular мы поделимся избранными местами нашей внутренней документации, помогающими нашим разработчикам освоиться в новом фреймворке. Речь пойдет про особенности новых логики компиляции компонентов, Change Detection и концепции трансклуда. Это актуальные конвенции, использующиеся прямо сейчас при работе с Angular. Ну и в конце — несколько ссылок на англоязычные статьи и видео, которые мы рекомендуем коллегам.

Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 0

Книга «Python для сложных задач: наука о данных и машинное обучение»

Reading time 13 min
Views 46K
imageПривет, Хаброжители! Данная книга — руководство по самым разным вычислительным и статистическим методам, без которых немыслима любая интенсивная обработка данных, научные исследования и передовые разработки. Читатели, уже имеющие опыт программирования и желающие эффективно использовать Python в сфере Data Science, найдут в этой книге ответы на всевозможные вопросы, например: как считать этот формат данных в скрипт? как преобразовать, очистить эти данные и манипулировать ими? как визуализировать данные такого типа? как при помощи этих данных разобраться в ситуации, получить ответы на вопросы, построить статистические модели или реализовать машинное обучение?

Ниже под катом обзор книги и отрывок «Гистограммы, разбиения по интервалам и плотность»
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Comments 20

Как я перестал любить Angular

Reading time 21 min
Views 114K

Вступление


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


На дворе 2017ый год и для каждого нового продукта/проекта встает вопрос выбора фреймворка для разработки. Долгое время я был уверен, что новый Angular 2/4 (далее просто Angular) станет главным трендом enterprise разработки еще на несколько лет вперед и даже не сомневался что буду работать только с ним.


Сегодня я сам отказываюсь использовать его в своем следующем проекте.


Дисклеймер: данная статья строго субъективна, но таков мой личный взгляд на происходящее и касается разработки enterprise-level приложений.

Читать дальше →
Total votes 118: ↑112 and ↓6 +106
Comments 519

История предсказания переходов с 1 500 000 года до н.э. по 1995 год

Reading time 18 min
Views 42K
Это приблизительная расшифровка лекции о предсказании переходов (предсказании ветвлений) на localhost, новом цикле лекций, организованном RC. Выступление состоялось 22 августа 2017 года в Two Sigma Ventures.

Кто из вас использует ветвления в своём коде? Можете поднять руку, если применяете операторы if или сопоставление с образцом?

Большинство присутствующих в аудитории поднимают руки

Сейчас я не буду просить вас подымать руки. Но если я спрошу, сколько из вас думают, что хорошо понимают действия CPU при обработке ветвления и последствия для производительности, и сколько из вас может понять современную научную статью о предсказании ветвлений, то руки подымет меньше людей.

Цель моего выступления — объяснить, как и почему процессоры осуществляют предсказание переходов, а затем вкратце объяснить классические алгоритмы предсказания переходов, о которых вы можете прочитать в современных статьях, чтобы у вас появилось общее понимание темы.
Читать дальше →
Total votes 77: ↑74 and ↓3 +71
Comments 77

Как правильно использовать переменные в препроцессорах LESS и SASS

Reading time 10 min
Views 36K

Правила управления переменными в препроцессорах и методика переопределения настроек


История архитектурной ошибки, её последствия, и три правила, благодаря которым вы сможете держать исходный код в порядке и снизить стоимость внесения изменений.


Предыстория


В 2014 году в компании начали редизайн проекта и в основу вёрстки мы положили свежий на тот момент Bootstrap 3.0.1. Использовали мы его не как отдельную стороннюю библиотеку, а тесно заинтегрировали с нашим собственным кодом: отредактировали переменные под наш дизайн и компилировали кастомизированный Бутстрап из LESS исходников самостоятельно. Проект оброс собственными модулями, которые использовали бутстраповские переменные и добавляли в файл с настройками свои новые переменные.


В тот момент я думал, что это правильный подход.

Читать дальше →
Total votes 26: ↑24 and ↓2 +22
Comments 13

InnoDB cluster — оно работает, и вроде бы именно так, как обещали

Reading time 6 min
Views 15K

Я занимаюсь АТСками. И как-то так сложилась, что с самого первого заказа от меня хотели отказоустойчивости. Одним из ключевых компонентов современной АТС (как и любой информационной системы, наверное) является БД, где хранятся как данные о текущем состоянии системы, так и всякие конфигурационные параметры. Естественно, падение БД приводит к поломке всей системы. Начиналось все с MASTER-MASTER репликации в MySQL (исключительно для оперативности переключения), потом были эксперименты с MySQL over DRBD. Все это жило в pacemaker/corosync инфраструктуре. Там ездили IP-адреса, шлюзы и прочая лабудень. Со временем оно даже стало работать как-то более-менее устойчиво. Но тут мне попалась пара серверов, на которых DRBD сделать было нельзя, в MASTER-MASTER я разочаровался довольно давно (постоянно она у меня ломается, такая репликация), а без отказоустойчивой БД терялся весь смысл решения. На глаза мне попалось название InnoDB cluster и я решил: "была-не-была". Что из этого получилось — смотрите под катом.

Читать дальше →
Total votes 24: ↑24 and ↓0 +24
Comments 25

Phoenix Framework – Webpack вместо Brunch, деплой с помощью Distillery и немного systemd

Reading time 11 min
Views 7K

logo


Эта статья является попыткой автора свести воедино в виде небольшого руководства несколько тем, с которыми, так или иначе, сталкиваются практически все разработчики веб-приложений, а именно – работа со статическими файлами, конфигурациями и доставкой приложений на сервер. На момент написания этого текста, последней стабильной веткой Phoenix Framework была ветка 1.2.х.


Кому интересно, почему не Brunch и как совместить миграции с Distillery – прошу под кат.

Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 3

Руководство: как использовать Python для алгоритмической торговли на бирже. Часть 1

Reading time 8 min
Views 86K


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

Среди наиболее популярных в сфере финансов языков программирования можно отметить R и Python, также часто используются C++, C# и Java. В опубликованном на сайте DataCamp руководстве речь идет о том, как начать использовать Python для создания финансовых приложений — мы представляем вам серию статей-адаптаций глав этого материала.
Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Comments 4

Просто Angular

Reading time 10 min
Views 129K

Введение


8-9-го декабря 2016 года была проведена первая конференция по Angular в Бельгии. Игор Минар (ведущий разработчик Angular) выступил в качестве основного докладчика с несколькими интересными объявлениями относительно того, по какому графику будет выпускаться Angular. И представьте себе, в марте 2017 года нас ждет релиз Angular 4. При этом, на данный момент уже опубликована бета-версия.


От переводчиков


Всем привет, с вами Максим Иванов и Дмитрий Сергиенков, и сегодня мы выясним куда делась третья версия, и почему мы по-прежнему можем быть верны Angular. Сейчас начинающему фронтенд-разработчику, изучающему JavaScript, довольно трудно определиться: какой же фреймворк или библиотеку им взять и изучить, оставаясь в тренде? Конечно, без слова React, сейчас не обходится ни один разговор на тему фронтенда, однако, в свое время я начал с первой версии Angular, начитался много руководств по написанию фронтенда на ES6 (с классами и прочим добром) и до сих пор не жалею. Да, вы можете писать корпоративные приложения с использованием только jQuery, но по мере развития и сложности проекта вы начнете закапывать себя в спагетти-коде, смешивая логику и представление, MV*-фреймворки же этого сделать вам не дадут.

Total votes 36: ↑35 and ↓1 +34
Comments 43

Telegram бот для службы поддержки (часть 1)

Reading time 5 min
Views 78K


В этом цикле статей мы реализуем службу поддержки для онлайн-чатов. Система должна уведомлять команду операторов о новом сообщении, делить нагрузку на команду любого размера, делегировать сообщения в зависимости от приоритета. Звучит жутко. Но без паники, я поделюсь нашим опытом построения такой системы, которая уместилась всего в пару сотен строк кода. Да, мы будем использовать Telegram-бота. Но не потому, что это модно, а потому что супер удобно.
Читать дальше →
Total votes 14: ↑9 and ↓5 +4
Comments 11

Опыт перехода с Sublime на Vim

Reading time 22 min
Views 76K


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

Я достаточно долгое время использовал sublime (около 4 лет) в качестве основной среды разработки, но в последнее время кое-что изменилось: я освоил слепой 9-ти пальцевый метод печати. В тот момент я начал понимать людей, которым неудобно тянуться к мышке или стрелочкам. Убирать пальцы с «домашних» позиций стало неестественно и непродуктивно. Тогда я включил vintage. Проблема, вроде бы, стала неактуальна, но чего-то не хватало. Не помню, что заставило меня пересесть за vim, но мне всегда нравилось, как в нем выделяются фигурные скобки (MatchParen) и как выглядит курсор :). Vim я пробовал и до этого, когда правил конфиги на сервере, правда, вся «магия» ограничивалась переходом в режим вставки и успешным сохранением/выходом из редактора.
Читать дальше →
Total votes 62: ↑55 and ↓7 +48
Comments 123

Интервью с Андреем Светловым о языке Python и не только

Reading time 3 min
Views 16K
В преддверии PyCon Russia мы решили поговорить с докладчиками конференции о Python, их работе и увлечениях. Первое короткое интервью мы взяли у одного из разработчиков языка Python Андрея Светлова.

Андрей Светлов — Python Core Developer, автор и активный участник многих питоновских библиотек, среди которых asyncio, aiohttp, aiopg, aiozmq, автор популярного блога, посвященного языку программирования Python, программный директор и ежегодный спикер конференции PyCon Russia.


Андрей Светлов — спикер многих python-конференций. Например, вот его выступление на PyCon-2015

Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Comments 5

Опыт разработки игры на Node.js и Angular.js

Reading time 12 min
Views 26K
image

Хотелось бы поделиться с вами историей разработки моей игры.

Итак, всё началось около 4 лет назад, когда я решил попробовать свои силы в программировании игр. Собравшись в кучку из трёх человек, мы решили галопом освоить Unreal Engine 3. По своей неопытности, мы бросились делать MMO с крутым графоном. Чтобы там и звуки, и пушки, и лазеры, и открытый мир и т.д. Естественно, всё это не принесло результатов: запал угас, проект почил в бездне игродева.

Однако, страсть к программированию у меня осталась, идеи копились, а полученный опыт подтолкнул к правильному (на тот момент) решению.
Хочешь сделать игру — делай всё сам.
Читать дальше →
Total votes 27: ↑25 and ↓2 +23
Comments 60

Бесплатные практические курсы по основам программирования на JavaScript

Reading time 2 min
Views 85K
Привет, Хабр!

Мы на Хекслете закончили полный цикл курсов по обучению PHP-программистов и переключились на стек JavaScript. Первые два курса новой программы уже доступны, и они бесплатные!

Курс «Основы программирования» — это знакомство с миром разработки и языком JavaScript. Курс рассчитан на новичков без опыта в программировании, но будет полезен и многим практикующим программистам, потому что покрывает таки темы как рекурсивные и итеративные процессы, чистые функции и побочные эффекты, автоматические тесты и модульное тестирование.

Читать дальше →
Total votes 32: ↑29 and ↓3 +26
Comments 21

Как я опробовал Microsoft Project Oxford + Telegram Bot API

Reading time 4 min
Views 15K
Думаю, как уже понятно из названия, речь пойдет о таких вещах, как Microsoft Project Oxford и Telegram API.

Что такое Microsoft Project Oxford — набор готовых REST API, в доступной форме дающих разработчикам всю мощь алгоритмов машинного зрения, анализа естественного языка и распознавания голоса для использования в своих приложениях. Стоит отметить, что доступность сервисов в виде REST API позволяет использовать его на совершенно любых платформах и с помощью своих любимых технологий разработки, не ограничиваясь предложенными Microsoft. Более подробно — тут или тут.

Telegram Bot API — (думаю и так многие знают) кто не знает идет сюда.

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

Итак, начнем (рассказывать о том, как создать бота, я не буду, т.к информации об этом куча). После того, как зарегистрировали бота, webhooks и получили ключ API, преступаем к написанию.

Писать решил на PHP. Почему? бес попутал
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 10

Как я писал книгу 'Python Machine Learning'

Reading time 7 min
Views 43K
Здравствуйте, уважаемые хабровчане!

В настоящее время мы всерьез намерены в обозримом будущем порадовать вас серьезной книгой по машинному или глубинному обучению. Среди книг, вызвавших у нас наибольший интерес, особого упоминания заслуживает работа Себастьяна Рашки "Python Machine Learning"



Предлагаем почитать, что сам автор рассказывает об этой книге. Мы позволили себе сократить статью практически вдвое, так как вся ее вторая часть посвящена тонкостям писательского труда и оформления книги, а тематические тонкости и актуальность темы рассмотрены в самом начале. Надеемся, что вам понравится текст, а нам — результаты опроса.
Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Comments 11

Как новые руководители разрушают доверенные им компании

Reading time 26 min
Views 399K
Эта статья – о рисках смены руководства в больших компаниях и характерных явлениях при попытках игнорировать закон эффективного управления собственностью:
Эффективно управлять можно только той собственностью, которую мог бы создать сам.
Кто не может создать, – будет только разрушать!
И.А. Дедюхова, Кодекс Хамурапи
Картинка для привлечения внимания читателей из поколений Y и Z:


Краткое содержание


Новый директор себе в подчиненные и советники пригласит своих «проверенных людей». Увеличение штата топ-менеджеров в условиях фиксированного ФОТ повлечет за собой сокращение рядовых сотрудников на значительный процент.
Новый директор в первую очередь будет сокращать те подразделения, работу которых он не понимает. Под прессом психологического давления руководители этих подразделений возмут на себя обязательства самостоятельно разработать планы по сокращению и принять на себя все риски их реализации.
Сокращения пройдут под флагом повышения эффективности, но для «непонятных директору» подразделений не смогут сформулировать критерии этой эффективности, кроме «минимизации затрат». Цель по минимизации затрат без дополнительных обоснованных ограничений – это цель по уничтожению, и не имеет отношения к настоящей оптимизации.
Отсекая непонятные ему части компании (выводя в аутсорс и т.п.), директор попытается превратить компанию в ту, работу которой он полностью способен понять, которой он в полной мере способен управлять.
Проблему нехватки знаний в технической области новый директор и его команда компенсируют «помощью» от западных консалтинговых компаний. Это приведет к ситуации внешнего управления, причем без всякой ответственности за диктуемые извне решения.
Внешняя и внутренняя отчетность о работе компании до самого конца не будет показывать никаких признаков проблем, т.к. тому, кто принес плохие вести не выдают премию, а рубят голову.


Читать дальше →
Total votes 35: ↑34 and ↓1 +33
Comments 95

Information

Rating
Does not participate
Registered
Activity