Как стать автором
Обновить
2
Карма
0
Рейтинг

Senior CV/ML Engineer

  • Подписчики 2
  • Подписки 11
  • Публикации
  • Комментарии

Чему я научился на своём горьком опыте (за 30 лет в разработке ПО)

Блог компании Mail.ru GroupПрограммированиеСовершенный кодУправление разработкой
Перевод
Tutorial
image

Это циничная, клиническая коллекция того, чему я научился за 30 лет работы в разработке программного обеспечения. Повторюсь, некоторые вещи весьма циничны, а остальное — результат долгих наблюдений на разных местах работы.
Читать дальше →
Всего голосов 187: ↑178 и ↓9+169
Просмотры113K
Комментарии 128

Прогулка по заводу желаний

GTDМозг
Откуда приходят и куда исчезают желания?

Иногда трудно заставить себя делать что-то нужное: мыть посуду, делать зарядку, работу работать… В интернете есть много статей с рецептами преодоления нежелания, и каждый день добавляются новые. Я вижу во многих статьях одну и ту же проблему.

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

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

Ближе к теме — почему иногда трудно заставить себя работать? Заглядываем в интернет, и сразу получаем решения — надо закрыть соцсети, разбить задачу на мелкие шаги и хвалить себя.

Или еще проще — проблемы нет, у вас воля слабая, отговорки ищете, возьми и сделай (just do it).

Позвольте усложнить.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Просмотры20K
Комментарии 31

Программа как Искусство — новая парадигма управления программным обеспечением

Agile
— Что для тебя Программирование?
> Программирование? Я не могу ответить.
— Почему?
> Даже не знаю…
— Ты учился когда-нибудь?
> Конечно, но это было давно.
— Работу по найму Любишь?
> Сейчас уже нет.
— Зачем ты стал Предпринимателем, и неужели ты проработал более 17 лет «программистом» и «аналитиком» в ИТ-компаниях?

Кто Ты?

> Многолетние постоянные улучшения, постоянное сопровождение и настройка клиентских рабочих мест создавало ощущение управляемости процессом, но это не всегда так. Просто существовали процессы, управление которыми не входило в KPI тех компаний, где я работал, и поэтому я решил стать Предпринимателем.
— И? Уже ничего нельзя изменить?
Любопытно? Тогда жми за подробностями
Всего голосов 13: ↑12 и ↓1+11
Просмотры2.3K
Комментарии 0

ML.NET 0.7 (Machine Learning .NET)

Блог компании MicrosoftPythonПрограммирование.NETМашинное обучение
Перевод
Мы рады объявить о выпуске ML.NET 0.7 — последней версии кросс-платформенной и open source системы машинного обучения для разработчиков .NET (ML.NET 0.1 был выпущен на //Build 2018). Этот релиз направлен на расширение функциональности платформы. Подробнее под катом!

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Просмотры9K
Комментарии 2

Болтай, извлекай: архитектура сложных чат-ботов

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


Мы делаем англоязычные чат-боты, которые общаются с пользователями по разным каналам — Facebook Messenger, SMS, Amazon Alexa и веб. Наши боты заменяют службы поддержки, страховых агентов, и уметь просто поболтать. Каждая из этих задач требует своего подхода в разработке.

В этой статье мы расскажем, из каких модулей состоит наш сервис, как сделан каждый из них, какой подход мы выбрали и почему. Поделимся нашим опытом анализа разных инструментов: когда генеративные нейронные сети — не лучший выбор, почему вместо Doc2vec мы пользуемся Word2vec, в чем прелесть и ужас ChatScript и так далее.

Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Просмотры8.9K
Комментарии 6

10 интересных новостных IT сайтов, которые стоит добавить в закладки

Блог компании EnglishDomПрофессиональная литератураЛайфхаки для гиковИзучение языков
Tutorial
Наверняка вы все знаете о таких сайтах, как quora или stackoverflow, где можно найти много интересной и полезной информации. Сегодня же мы поговорим о тех сайтах, о которых еще не все знают, но которые точно стоит добавить в свои закладки. Сделать это можно не только ради англоязычного контента или учебных материалов, но и для того, чтобы найти для себя полезные новости и интересное чтиво.

А чтобы реально разобраться в тексте, советуем взять на заметку такие сайты:
Читать дальше →
Всего голосов 19: ↑9 и ↓10-1
Просмотры31K
Комментарии 3

Google объявляет конкурс атак на алгоритмы машинного зрения

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

Часто причина в так называемых «вредных данных» (или «соревновательных элементах», или «вредоносных экземплярах» или еще куче вариантов, поскольку «adversary examples» так и не получили общепринятого перевода). Это данные, которые обманывают классификатор нейросети, подсовывая ему признаки других классов — информацию не важную и не видную для для человеческого восприятия, но необходимую для машинного зрения.

Исследователи из Google опубликовали в 2015 году работу, где проиллюстрировали проблему таким примером:


На изображение панды наложили «вредный» градиент. Человек на полученной картинке, естественно, продолжает видеть панду, а нейросеть распознает ее как гиббона, поскольку в те участки изображения, по которым нейросеть научилась определять панд, специально намешали признаки другого класса.

В сферах, где машинное зрение должно быть предельно точным, а ошибка, взлом и действия злоумышленников могут иметь тяжелые последствия, вредные данные — серьезная помеха развитию. Прогресс в борьбе идет медленно, и компания GoogleAI (подразделение Google занимающееся исследованием ИИ) решила привлечь силы сообщества и устроить соревнование.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Просмотры13K
Комментарии 17

Мессенджеровские чтения профессора Ричарда Фейнмана

Блог компании Vert DiderНаучно-популярноеФизика


Ещё в прошлом году мы начали перевод и озвучку Мессенджеровских лекций Нобелевского лауреата по физике Ричарда Фейнмана, которые он прочитал в Корнелльском университете в 1964 году.

В прошлом году нам удалось опубликовать 2 лекции из 7. И вот, благодаря нашим подписчикам, мы выпустили 3-ю лекцию, в которой Ричард Фейнман рассказывает о том, какие существуют законы сохранения, как они работают и какие у них есть сходства.

На случай, если кто не успел посмотреть, мы дублируем первые две лекции этого курса.
Приятного просмотра!
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Просмотры25K
Комментарии 8

Гарвардский курс CS50 «Основы компьютерных наук и искусства программирования»

Блог компании Vert Dider


Вот уже несколько месяцев специально для JavaRush мы переводим и озвучиваем самый популярный в мире университетский курс о CS50 — «Основы компьютерных наук и искусства программирования» (трейлер). Его уже много лет очно читают для студентов Гарварда и для воспитанников Йельского университета, а в последнее время ещё и заочно для многомиллионной аудитории интернета.
Это перевод самой новой версии курса, который стартовал осенью 2015 года. В курсе 24 лекции и постепенно мы переведём их все. Намедни мы перевели 15-ю лекцию, её вы найдёте под катом в списке всех переведённых на сегодняшний день лекций.

Что вы узнаете, прослушав этот курс:

  • Основы компьютерных наук и программирования;
  • Концепции алгоритмов и алгоритмичности мышления. Какие задачи можно решать с помощью программирования и каким образом;
  • Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка;
  • Основы языка программирования C и Scratch;
  • Основы баз данных и SQL;
  • Веб-разработка: основы CSS, HTML, JavaScript и PHP;
  • Основы подготовки презентации проектов по программированию.

Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Просмотры54K
Комментарии 11

Методы аутентификации по сетчатке глаза

АлгоритмыОбработка изображений
Tutorial
Первые сканеры сетчатки появились ещё в 80-х годах прошлого столетия. Они получили широкое распространение в системах контроля доступа на особо секретные объекты, так как у них один из самых низких процентов отказа в доступе зарегистрированных пользователей и практически не бывает ошибочного разрешения доступа, но, несмотря на это, сканеры сетчатки не получили широкого распространения в массы из-за дороговизны и сложности оптической системы сканирования. И до недавнего времени всё так и оставалось, хотя алгоритмы продолжали развиваться.

На сегодняшний день технология 3d печати позволила сильно удешевить сканеры сетчатки глаза. Эндрю Баставрус вместе со своей командой напечатали на 3d принтере насадку для смартфона, которая позволяет наблюдать сетчатку через камеру телефона.

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

Обзор методов биометрической идентификации/аутентификации приведён здесь.

Способы сопоставления признаков сетчатки глаза


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

image
Рис. 1. Результат движения головы и глаза при сканировании сетчатки.

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

Алгоритмы аутентификации по сетчатке глаза можно разделить на два типа: те, которые для извлечения признаков используют алгоритмы сегментации (алгоритм, основанный на методе фазовой корреляции; алгоритм, основанный на поиске точек разветвления) и те, которые извлекают признаки непосредственно с изображения сетчатки (алгоритм, использующий углы Харриса).
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Просмотры22K
Комментарии 0

6 альтернатив MacBook

Блог компании Pochtoy.comНоутбукиIT-компании
Recovery mode
image

После презентации Apple появилось множество разочарованных комментариев: «только USB-C», устаревший процессор, отсутствие сенсорного экрана, и дикий ценник. Посмотрим, какие альтернативы предлагает рынок на новых процессорах Intel.
Читать дальше →
Всего голосов 32: ↑24 и ↓8+16
Просмотры69K
Комментарии 210

Подавление шумов как задача диффузии

Обработка изображенийМатематика
Из песочницы
Hello, Хабр.

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

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

Не так давно я для себя открыл сколько физики заключается в обработке изображений. Меня это очень заинтересовало, в виду того, что эти две ветви науки у меня в голове никогда не пересекались. В этой статье я представлю как можно убрать шумы с изображения решая задачу переноса массы на плоскости.
Читать дальше →
Всего голосов 58: ↑55 и ↓3+52
Просмотры9K
Комментарии 22

Deep Learning: Сравнение фреймворков для символьного глубокого обучения

Блог компании MicrosoftPythonАлгоритмыМашинное обучение
Перевод
Представляем вам перевод серии статей посвященных глубокому обучению. В первой части описан выбор фреймворка с отрытым кодом для символьного глубокого обучения, между MXNET, TensorFlow, Theano. Автор подробно сравнивает преимущества и недостатки каждого из них. В следующих частях вы узнаете о тонкой настройке глубоких сверточных сетей, а также о сочетании глубокой сверточной нейронной сети с рекуррентной нейронной сетью.


Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Просмотры28K
Комментарии 12

Книга «Изучаем Python. Программирование игр, визуализация данных, веб-приложения»

Блог компании Издательский дом «Питер»PythonПрофессиональная литература
image Привет, Хаброжители! Недавно у нас вышла новая книга Эрика Мэтиза:

Цель этой книги — как можно быстрее ввести читателя в курс дела, чтобы тот начал писать на Python работоспособные программы (игры, визуализации данных и веб-приложения), и одновременно заложить основу в области программирования, которая пригодится ему на протяжении всей жизни. Книга написана для людей любого возраста, которые прежде никогда не программировали на Python или вообще никогда не программировали. Если вы хотите быстро изучить азы программирования, чтобы сосредоточиться на интересных проектах, а также проверить свое понимание новых концепций на содержательных задачах — эта книга для вас. Книга также прекрасно подходит для преподавателей, желающих предложить вводный курс программирования, основанный на проектах.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Просмотры50K
Комментарии 25

Размышления об алгоритмах и методах. Представление полного алгоритма порождения сочетаний + размещений с повторением

Алгоритмы
Recovery mode
Эта статья содержит ряд наблюдений, касающихся проблем алгоритмизации, минимизации ошибок, понимания и изучения чужого кода, а также рассуждения о полном представлении алгоритмов и небольшой эксперимент.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+2
Просмотры6.4K
Комментарии 21

Python для математических вычислений

PythonПрограммированиеМатематика
Tutorial

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


Мы попытаемся найти в языке функции, которые обычно требуем от математических пакетов. Рассмотрим сильные и слабые стороны идеи использования python вместо MATLAB, Maple, Mathcad, Mathematica.

Читать дальше →
Всего голосов 27: ↑23 и ↓4+19
Просмотры68K
Комментарии 30

Обзор курсов по Deep Learning

Блог компании New Professions LabData MiningBig DataМашинное обучение
Привет, Хабр! Последнее время все больше и больше достижений в области искусственного интеллекта связано с инструментами глубокого обучения или deep learning. Мы решили разобраться, где же можно научиться необходимым навыкам, чтобы стать специалистом в этой области.

image
Читать дальше →
Всего голосов 52: ↑48 и ↓4+44
Просмотры66K
Комментарии 29

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

Машинное обучение
Из песочницы
image

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

Поэтому сейчас, когда я достаточно хорошо освоил нейронные сети и нашел огромное количество информации с разных иностранных порталов, я хотел бы поделиться этим с людьми в серии публикаций, где я соберу всю информацию, которая потребуется вам, если вы только начинаете знакомство с нейронными сетями. В этой статье, я не буду делать сильный акцент на Java и буду объяснять все на примерах, чтобы вы сами смогли перенести это на любой, нужный вам язык программирования. В последующих статьях, я расскажу о своем приложении, написанном под андроид, которое предсказывает движение акций или валюты. Иными словами, всех желающих окунуться в мир нейронных сетей и жаждущих простого и доступного изложения информации или просто тех, кто что-то не понял и хочет подтянуть, добро пожаловать под кат.
Читать дальше →
Всего голосов 70: ↑60 и ↓10+50
Просмотры1.1M
Комментарии 63

Факторное моделирование с помощью нейронной сети

АлгоритмыМатематикаМашинное обучение
Recovery mode
В статье рассматривается факторное моделирование с помощью метода факторизации на базе нейронной сети и алгоритма обратного распространения ошибки. Этот метод факторизации является альтернативой классическому факторному анализу. Данный метод был усовершенствован для проведения факторного вращения и получения интерпретируемого решения. Факторная структура, полученная с помощью данного метода факторизации, находятся в соответствии с результатами факторного моделирования посредством других методов.
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Просмотры17K
Комментарии 1

Обзор топологий глубоких сверточных нейронных сетей

Блог компании Mail.ru GroupАлгоритмыОбработка изображенийМатематикаМашинное обучение
Это будет длиннопост. Я давно хотел написать этот обзор, но sim0nsays меня опередил, и я решил выждать момент, например как появятся результаты ImageNet’а. Вот момент настал, но имаджнет не преподнес никаких сюрпризов, кроме того, что на первом месте по классификации находятся китайские эфэсбэшники. Их модель в лучших традициях кэгла является ансамблем нескольких моделей (Inception, ResNet, Inception ResNet) и обгоняет победителей прошлого всего на полпроцента (кстати, публикации еще нет, и есть мизерный шанс, что там реально что-то новое). Кстати, как видите из результатов имаджнета, что-то пошло не так с добавлением слоев, о чем свидетельствует рост в ширину архитектуры итоговой модели. Может, из нейросетей уже выжали все что можно? Или NVidia слишком задрала цены на GPU и тем самым тормозит развитие ИИ? Зима близко? В общем, на эти вопросы я тут не отвечу. Зато под катом вас ждет много картинок, слоев и танцев с бубном. Подразумевается, что вы уже знакомы с алгоритмом обратного распространения ошибки и понимаете, как работают основные строительные блоки сверточных нейронных сетей: свертки и пулинг.

Читать дальше →
Всего голосов 108: ↑108 и ↓0+108
Просмотры95K
Комментарии 57
1

Информация

В рейтинге
2,836-й
Зарегистрирован
Активность