Как стать автором
Поиск
Написать публикацию
Обновить
57
0
Eugene @eReS

Пользователь

Отправить сообщение

Нейронные сети в картинках: от одного нейрона до глубоких архитектур

Время на прочтение7 мин
Количество просмотров97K
Многие материалы по нейронным сетям сразу начинаются с демонстрации довольно сложных архитектур. При этом самые базовые вещи, касающиеся функций активаций, инициализации весов, выбора количества слоёв в сети и т.д. если и рассматриваются, то вскользь. Получается начинающему практику нейронных сетей приходится брать типовые конфигурации и работать с ними фактически вслепую.

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

Нейронные сети: практическое применение

Время на прочтение15 мин
Количество просмотров278K


Наталия Ефремова погружает публику в специфику практического использования нейросетей. Это — расшифровка доклада Highload++.

Добрый день, меня зовут Наталия Ефремова, и я research scientist в компании NtechLab. Сегодня я буду рассказывать про виды нейронных сетей и их применение.

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

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

Creative Commons запускает сервис для поиска бесплатных изображений

Время на прочтение1 мин
Количество просмотров6.8K


Организация Creative Commons, которая помогает законно обмениваться творческими материалами, запустила бета-версию новой поисковой системы CC Search для поиска бесплатных изображений.

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

Кластер PostgreSQL высокой надежности на базе Patroni, Haproxy, Keepalived

Время на прочтение25 мин
Количество просмотров134K
Привет, Хабр! Встала передо мной недавно задача: настроить максимально надежный кластер серверов PostgreSQL версии 9.6.

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

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

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

В итоге где-то (уже не вспомню точно где) нашел ссылку на прекрасный проект Zalando Patroni, и все заверте…
Читать дальше →

Как я сделал самый быстрый ресайз изображений. Часть 1, общие оптимизации

Время на прочтение15 мин
Количество просмотров21K

В пилотной части я рассказал о задаче как можно подробнее. Рассказ получился долгим и беспредметным — в нем не было ни одной строчки кода. Но без понимания задачи очень сложно заниматься оптимизацией. Конечно, некоторые техники можно применять, имея на руках только код. Например, кешировать вычисления, сокращать ветвления. Но мне кажется, что некоторые вещи без понимания задачи просто никогда не сделать. Это и отличает человека от оптимизирующего компилятора. Поэтому ручная оптимизация все еще играет огромную роль: у компилятора есть только код, а у человека есть понимание задачи. Компилятор не может принять решение, что значение "4" достаточно случайно, а человек может.



Напомню, что речь пойдет об оптимизации операции ресайза изображения методом сверток в реально существующей библиотеке Pillow. Я буду рассказывать о тех изменениях, что я делал несколько лет назад. Но это не будет повторение слово-в-слово: оптимизации будут описаны в порядке, удобном для повествования. Для этих статей я сделал в репозитории отдельную ветку от версии 2.6.2 — именно с этого момента и будет идти повествование.

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

Базовые принципы машинного обучения на примере линейной регрессии

Время на прочтение20 мин
Количество просмотров194K
Здравствуйте, коллеги! Это блог открытой русскоговорящей дата саентологической ложи. Нас уже легион, точнее 2500+ человек в слаке. За полтора года мы нагенерили 800к+ сообщений (ради этого слак выделил нам корпоративный аккаунт). Наши люди есть везде и, может, даже в вашей организации. Если вы интересуетесь машинным обучением, но по каким-то причинам не знаете про Open Data Science, то возможно вы в курсе мероприятий, которые организовывает сообщество. Самым масштабным из них является DataFest, который проходил недавно в офисе Mail.Ru Group, за два дня его посетило 1700 человек. Мы растем, наши ложи открываются в городах России, а также в Нью-Йорке, Дубае и даже во Львове, да, мы не воюем, а иногда даже и употребляем горячительные напитки вместе. И да, мы некоммерческая организация, наша цель — просвещение. Мы делаем все ради искусства. (пс: на фотографии вы можете наблюдать заседание ложи в одном из тайных храмов в Москве).

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

Текущее состояние солнечной энергии в условиях домашних хозяйств США

Время на прочтение14 мин
Количество просмотров31K
image

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

Солнечная энергия – это «вероятно, единственное решение по получению энергии, как достаточно серьёзное по отдаче, так и достаточно приемлемое для долгосрочных [экологических] требований планеты», – говорит Ричард Перес, главный научный сотрудник Исследовательского центра атмосферных наук в Университете штата Нью-Йорк в Олбани. Анализ Переса включает геотермальные источники, ветер, другие возобновляемые источники, ядерный синтез и все виды ископаемого топлива.

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

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

Время на прочтение5 мин
Количество просмотров7.9K


Как многие из вас знают, в 2015 году Стивен Хокинг, Элон Маск и сотни учёных, разработчиков искусственного интеллекта и крупных бизнесменов подписали открытое письмо, в котором подчеркнули опасность ИИ для существования человечества и призвали сообщество инженеров и учёных не создавать искусственные интеллекты, которые не могут полностью контролироваться человеком. В 2016-м на конференции Code Conference основателю Space X и Tesla задали вопрос: какие компании, разрабатывающие сегодня ИИ, вызывают у него опасения? На это ответил, что сейчас его пугает лишь одна из них. Какая — не сказал. И несмотря на все уверения техноадептов в том, что ИИ — исключительно благо, цена пренебрежения механизмами безопасности может оказаться непомерной высока.
Читать дальше →

Консоль в массы. Переход на светлую сторону. Автоматизация рутинных задач

Время на прочтение6 мин
Количество просмотров15K
routine tasks automation

Введение


Машины всегда будут быстрее, независимо от того насколько мы продуктивны и как быстро мы набираем команды. Суровая правда жизни. С другой стороны, если мы выполняем одно и тоже действие множество раз, то почему бы не заставить машины страдать. Написать скрипт на bash (ваш любимый язык программирования) и каждый раз вызывать этот скрипт, а не набирать монотонные команды, которые забирают так много времени, сил и энергии. А мы, пока скрипт будет выполнять свою работу, можем помечтать о том, как космические корабли бороздят просторы нашей Вселенной.

В прошлой статье мы рассмотрели основы программирования на bash. Сегодня мы будем применять полученные знания на практике.

Как мы создавали хостинг-провайдер с собственным ЦОД (продолжение)

Время на прочтение5 мин
Количество просмотров9.7K
Ссылки на ранее опубликованные материалы — раз и два
Всем привет! Наконец-то появилась минутка, чтобы написать продолжение нашего повествования о том, как мы создавали свою хостинг компанию. Хочу обратить внимание на то, что описываемые события имели место быть в прошлом и не означают то, что так есть сейчас в данный момент. Это касается тех читателей, которые комментировали, что у нас непрофессиональный подход и нам бы они не доверяли. Согласен, всё делалось собственными руками, методом проб и ошибок, но повторяю, сейчас совершенно другой уровень и до него мы обязательно дойдём. Как говорится, век живи- век учись… И цель публикаций раскрыть невидимые, на первый взгляд, трудности, которые встречались нам, плюс показать как мы начинали, имея очень и очень скромные ресурсы и чего добились в настоящее время.

Итак, мы остановились на том, как мы переехали в помещение площадью 8 кв.м.

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

Угроза ИИ – не Skynet, а исчезновение среднего класса

Время на прочтение4 мин
Количество просмотров56K
image

В феврале 1975 года несколько генетиков собрались в городишке на центральном побережье Калифорнии, чтобы решить, не приведёт ли то, чем они занимаются, к концу света. Они только начинали открывать науку генной инженерии, управления ДНК для создания несуществующих в природе организмов, и они не были уверены, как эти технологии повлияют на здоровье планеты и населяющих её людей. Так что они удалились в убежище под именем Асиломар – именем, ставшим синонимом для правил, выработанных ими на этом собрании – строгая этическая платформа, созданная для того, чтобы биотехнологии не привели к апокалипсису.

Через 42 года ещё одна группа учёных собралась в Асиломаре, чтобы рассмотреть схожую проблему. Но на этот раз угроза была не биологической, а цифровой. В январе лучшие исследователи в области ИИ шли теми же дорогами, обсуждая быстро расширяющуюся область их интересов, и ту роль, которую оно сыграет в судьбе человечества. Конференция была частной – чудовищность темы этого заслуживает – но затем организаторы выпустили несколько видеороликов с докладами, а некоторые готовы были обсудить их личный опыт и пролить свет на то, как исследователи ИИ видят угрозу, исходящую от их собственного поля деятельности.
Читать дальше →

Мечта об энергии: какими могут быть аккумуляторы будущего

Время на прочтение10 мин
Количество просмотров65K


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

С помощью LAMP я создал SaaS-сервис приносящий $3700 в месяц. Моя история

Время на прочтение11 мин
Количество просмотров70K
В этой статье я хотел бы поделиться своим опытом создания SaaS-сервиса на базе LAMP стека, Postio и доведения сервиса до состояния, когда он стал приносить 3 700 долларов ежемесячно (до обрушения рубля было почти 7 000). Сразу надо сказать, что эта история не имеет ничего общего с инвесторами, с золотой лихорадкой Кремниевой долины и с какой-то сверхсовременной технологией. Просто незамысловатая история от независимого разработчика о создании прибыльного SaaS-сервиса, который может сделать любой. Этот веб-сервис был сделан для внутреннего рынка России, поэтому я перевёл всё на английский и в доллары для удобства (пожалуйста, обратите внимание, что это перевод моей статьи, которая изначально была написана для англоязычной аудитории). Но, с другой стороны, этот опыт является довольно универсальным и может быть применён везде. По сути, это инструкция по созданию проектов такого рода.

Три года назад я решил заняться SMM, и самым простым способом сделать это показалось запустить свою собственную группу в какой-нибудь нише и попытаться развить её. Facebook был уже, мягко говоря, довольно конкурентным на тот момент, поэтому я запустил свою тестовую группу на базе «ВКонтакте». Я выбрал очень популярную нишу, потому что всё, что я хотел, — это научиться, а не доминировать на рынке.

Наверное, я должен немного отвлечься и сказать, что VK.com имел и до сих пор имеет процветающую «экосистему» таких групп, которая приносит прибыль их владельцам. Это — своеобразный рынок, который Facebook прикрыл уже давно. И этот базар является прекрасной средой для обучения и экспериментов.

Google выпустила TensorFlow 1.0

Время на прочтение4 мин
Количество просмотров27K

TensorFlow 1.0 с моделью нейросети нового поколения Inception поддерживает аппаратное ускорение на DSP Hexagon в мобильных процессорах Qualcomm Snapdradon 820. Скорость работы приложений вроде Prism и программ машинного зрения увеличится в 8 и более раз, а энергопотребление снизится в 4 раза. Фильтры от нейросетей можно будет накладывать на видео почти в реальном времени

На первой конференции для разработчиков TensorFlow Dev Summit компания Google объявила о выходе мажорного релиза библиотеки TensorFlow 1.0, обратно несовместимого с предыдущими версиями. Это значит, что программы, работавшие на версиях TensorFlow 0.n, могут не работать на версии TensorFlow 1.0. Разработчики из Google говорят, что изменения в API были необходимы «для обеспечения внутренне согласованных программных интерфейсов», и больше такого не повторится: ломающих обратную совместимость изменений в будущих версиях 1.x не планируется. Сейчас разработчикам рекомендуется изучить руководство по миграции и использовать скрипт для преобразования.

TensorFlow — свободная программная библиотека для машинного обучения в применении к различным видам задач на восприятие и понимание языка. В данный момент она используется в научно-исследовательской работе и в десятках коммерческих продуктов Google, в том числе в Google Search, Gmail, Photos, Youtube, Translate, Assistant, а так же всевозможных системах распознавания, в том числе распознавания речи.
Читать дальше →

Telegram-бот, webhook и 50 строк кода

Время на прочтение5 мин
Количество просмотров176K
Как, опять? Ещё один туториал, пережёвывающий официальную документацию от Telegram, подумали вы? Да, но нет! Это скорее рассуждения на тему того, как построить функциональный бот-сервис используя Python3.5+, asyncio и aiohttp. Тем интереснее, что заголовок на самом деле лукавит…
Читать дальше →

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

Время на прочтение14 мин
Количество просмотров587K


Добро пожаловать во вторую часть руководства по нейронным сетям. Сразу хочу принести извинения всем кто ждал вторую часть намного раньше. По определенным причинам мне пришлось отложить ее написание. На самом деле я не ожидал, что у первой статьи будет такой спрос и что так много людей заинтересует данная тема. Взяв во внимание ваши комментарии, я постараюсь предоставить вам как можно больше информации и в то же время сохранить максимально понятный способ ее изложения. В данной статье, я буду рассказывать о способах обучения/тренировки нейросетей (в частности метод обратного распространения) и если вы, по каким-либо причинам, еще не прочитали первую часть, настоятельно рекомендую начать с нее. В процессе написания этой статьи, я хотел также рассказать о других видах нейросетей и методах тренировки, однако, начав писать про них, я понял что это пойдет вразрез с моим методом изложения. Я понимаю, что вам не терпится получить как можно больше информации, однако эти темы очень обширны и требуют детального анализа, а моей основной задачей является не написать очередную статью с поверхностным объяснением, а донести до вас каждый аспект затронутой темы и сделать статью максимально легкой в освоении. Спешу расстроить любителей “покодить”, так как я все еще не буду прибегать к использованию языка программирования и буду объяснять все “на пальцах”. Достаточно вступления, давайте теперь продолжим изучение нейросетей.
Читать дальше →

Уравнение теплопроводности в tensorflow

Время на прочтение9 мин
Количество просмотров26K
Привет, Хабр! Некоторое время назад увлекся глубоким обучением и стал потихоньку изучать tensorflow. Пока копался в tensorflow вспомнил про свою курсовую по параллельному программированию, которую делал в том году на 4 курсе университета. Задание там формулировалось так:

Линейная начально-краевая задача для двумерного уравнения теплопроводности:

\frac{\partial u}{\partial t} = \sum \limits_{\alpha=1}^{2} \frac{\partial}{\partial x_\alpha} \left (k_\alpha \frac{\partial u}{\partial x_\alpha} \right ) -u, \quad x_\alpha \in [0,1] \quad (\alpha=1,2), \ t>0;

k_\alpha =
\begin{cases}
    50, (x_1, x_2) \in \Delta ABC\\
    1, (x_1, x_2) \notin \Delta ABC
\end{cases}

(\alpha = 1,2), \ A(0.2,0.5), \ B(0.7,0.2), \ C(0.5,0.8);

u(x_1, x_2, 0) = 0,\ u(0,x_2,t) = 1 - e^{-\omega t},\  u(1, x_2, t) = 0,

u(x_1,0,t) = 1 - e^{-\omega t},\ u(0, x_2, t) = 0,\  \omega = 20.

Хотя правильнее было бы назвать это уравнением диффузии.

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

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

Численный алгоритм


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

Трансляция TensorFlow Developer Summit

Время на прочтение1 мин
Количество просмотров6.7K
Друзья, совсем скоро, в 20:30 по Москве начнётся трансляция TensorFlow Developer Summit.

Кейноут будут вести такие люди такие люди как Jeff Dean, Rajat Monga и Megan Kacholia.
Очень рекомендую посмотреть данную трансляцию сегодня вечером всем кому интересна тема машинного обучения. Будет рассказано как про сам TensorFlow так и про интересные примеры его использования.


VectorDrawable — часть третья

Время на прочтение4 мин
Количество просмотров5.9K
Ранее в этой серии статей мы рассмотрели реализацию VectorDrawable, изпользуя данные под тегом path в SVG. А после применили несколько простых анимаций к отдельным элементам path.

Romain Guy написал приложение, которое рисует маршруты. Он использовал SVG path, чтобы определить маршрут, а затем по этому маршруту «рисовал» линию путем регулирования параметра dash.

Так как VectorDrawable поддерживает данные SVG из тега path, можем ли мы использовать ту же технику? Конечно можем. Но, на сам деле, нам это не нужно. Мы можем достичь того же эффекта, манипулируя некоторыми атрибутами элемента в нашем VectorDrawable.
Читать дальше →

Логика сознания. Часть 11. Естественное кодирование зрительной и звуковой информации

Время на прочтение21 мин
Количество просмотров25K
В предыдущей части были сформулированы требования к процедуре универсального обобщения. Одно из требований гласило, что результат обобщения должен не просто содержать набор понятий, кроме этого полученные понятия обязаны формировать некое пространство, в котором сохраняются представление о том, как полученные понятия соотносятся между собой.

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

Ситуация несколько усложняется, когда понятия имеют природу множеств (рисунок ниже). Тогда возможны формулировки типа: «понятие C содержит понятия A и B», «понятия A и B различны», «понятия A и B имеют нечто общее». Если положить, что близость определяется в интервале от 0 до 1, то про рисунок слева можно сказать: «близость A и C равна 1, близость B и C равна 1, близость A и B равна 0).
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Украина
Зарегистрирован
Активность