Search
Write a publication
Pull to refresh
-11
0
Send message

Введение в машинное обучение с tensorflow

Reading time12 min
Views199K
Если мы в ближайшие пять лет построим машину с интеллектуальными возможностями одного человека, то ее преемник уже будет разумнее всего человечества вместе взятого. Через одно-два поколения они попросту перестанут обращать на нас внимание. Точно так же, как вы не обращаете внимания на муравьев у себя во дворе. Вы не уничтожаете их, но и не приручаете, они практически никак не влияют на вашу повседневную жизнь, но они там есть.
Сет Шостак

Введение.


Серия моих статей является расширенной версией того, что я хотел увидеть когда только решил познакомиться с нейронными сетями. Он рассчитан в первую очередь на программистов, желающих познакомится с tensorflow и нейронными сетями. Уж не знаю к счастью или к сожалению, но эта тема настолько обширна, что даже мало-мальски информативное описание требует большого объёма текста. Поэтому, я решил разделить повествование на 4 части:

  1. Введение, знакомство с tensorflow и базовыми алгоритмами (эта статья)
  2. Первые нейронные сети
  3. Свёрточные нейронные сети
  4. Рекуррентные нейронные сети

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

Как лечат сумасшедших. 1.1 — Фармакотерапия: основы и шизофрения

Reading time18 min
Views149K
Приветствую тебя, %username%!



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

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

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

Библиотека глубокого обучения Tensorflow

Reading time16 min
Views151K

Здравствуй, Хабр! Цикл статей по инструментам для обучения нейронных сетей продолжается обзором популярного фреймворка Tensorflow.


Tensorflow (далее — TF) — довольно молодой фреймворк для глубокого машинного обучения, разрабатываемый в Google Brain. Долгое время фреймворк разрабатывался в закрытом режиме под названием DistBelief, но после глобального рефакторинга 9 ноября 2015 года был выпущен в open source. За год с небольшим TF дорос до версии 1.0, обрел интеграцию с keras, стал значительно быстрее и получил поддержку мобильных платформ. В последнее время фреймворк развивается еще и в сторону классических методов, и в некоторых частях интерфейса уже чем-то напоминает scikit-learn. До текущей версии интерфейс менялся активно и часто, но разработчики пообещали заморозить изменения в API. Мы будем рассматривать только Python API, хотя это не единственный вариант — также существуют интерфейсы для C++ и мобильных платформ.

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

Логика сознания. Часть 12. Поиск закономерностей. Комбинаторное пространство

Reading time26 min
Views36K
imageПоэзия — та же добыча радия.
В грамм добыча, в годы труды.
Изводишь единого слова ради
Тысячи тонн словесной руды.
Но как испепеляюще слов этих жжение
Рядом с тлением слова-сырца.
Эти слова приводят в движение
Тысячи лет миллионов сердца.

Владимир Маяковский


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

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

Внутренние механизмы ТСР, влияющие на скорость загрузки: часть 1

Reading time6 min
Views48K

Ускорение каких-либо процессов невозможно без детального представления их внутреннего устройства. Ускорение интернета невозможно без понимания (и соответствующей настройки) основополагающих протоколов — IP и TCP. Давайте разбираться с особенностями протоколов, влияющих на скорость интернета.

IP (Internet Protocol) обеспечивает маршрутизацию между хостами и адресацию. TCP (Transmission Control Protocol) обеспечивает абстракцию, в которой сеть надежно работает по ненадежному по своей сути каналу.

Протоколы TCP/IP были предложены Винтом Серфом и Бобом Каном в статье «Протокол связи для сети на основе пакетов», опубликованной в 1974 году. Исходное предложение, зарегистрированное как RFC 675, было несколько раз отредактировано и в 1981 году 4-я версия спецификации TCP/IP была опубликована как два разных RFC:

  • RFC 791 – Internet Protocol
  • RFC 793 – Transmission Control Protocol
Читать дальше →

Реверс-инжиниринг радиоуправляемого танка с помощью GNU Radio и HackRF

Reading time10 min
Views33K

Год назад наша CTF-команда на крупном международном соревновании RuCTF в Екатеринбурге в качестве одного из призов получила радиоуправляемый танк.


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


В статье я расскажу, как при помощи GNU Radio и HackRF One можно c нуля разобраться в беспроводном протоколе управления танком, как декодировать его пакеты и генерировать их программно, чтобы управлять танком с компьютера.


image

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

Коктейль Яманаки продлил жизнь мышам на 50%

Reading time4 min
Views35K


Это фото LAKI 4F мышей с факторами Яманаки при приеме доксициклина и без, а также долгоживущие WT мыши с доксициклином (антибиотик) и факторами Яманаки. Смотрите на кривую изгиба позвоночника.

LAKI — это быстростареющие мыши с мутацией в lamin A (LMNA). Долгоживущие мыши ставится тот же опыт, но им сейчас только 12 месяцев поэтому с средним сроком жизни в 3 года и максимальным на сегодня 5 лет результаты ожидать можно в 2018-2019 годах.

Сама статья в Cell. Для тех, у кого нет доступа — пользуйтесь sci-hub.io — пиратские научные статьи.

Опыт был проведен в институте Салка в Ла Холле, Южная Калифорния испанцем Бальмонте.
Все началось в 2006 году, когда японец Яманаки открыл 24 фактора (сейчас основные только 4 OSKM, с помощью которых и был проведен опыт) де-дифференциации или плюрипотентности клеток по обращению клеток, например кожи, обратно в стволовые клетки.

Затем, в 2013 году немец Хорватс нашел 353 эпигенитических маркера старения человека, по которым с точностью в 1.5 года определялся хронологический возраст человека. Для стволовых клеток этот возраст равнялся 0.

Полифазный сон — история удачного опыта

Reading time13 min
Views133K
Статья, которую вы читаете, является выжимкой из более чем 20 хронологических отчетов, подробно описывающих течение эксперимента с полифазным сном американского блогера и гуру саморазвития, Стива Павлины.



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

Суть полифазного сна в том, что вместо одного продолжительного сна в сутки, мы спим понемногу, несколько раз в течение дня. Одной из популярных схем полифазного сна является «Режим Uberman», предлагающий разбиение дня на 6 коротких (20-30 минут) периодов сна, чередующиеся с равномерными (около 4 часов) периодами бодрствования. Это означает, что общее время сна сокращается до 2-3 часов в сутки.

Нормальный человеческий сон состоит из 90-минутных циклов, и каждый такой цикл завершается фазой быстрого сна (REM). REM – наиболее важная фаза сна, именно во время нее мы видим сны, а лишение человека REM – фазы, в течение длительного времени ведет к серьезным нервным расстройствам. Во время практики полифазного сна, организм учится входить в REM немедленно после засыпания, а не в конце цикла. Поэтому первую неделю, пока организм будет адаптироваться к укороченным циклам сна, он будет испытывать повышенную нагрузку. Зато потом будет чувствовать себя отлично, возможно даже лучше, чем прежде.
Читать дальше →

Kaggle: Британские спутниковые снимки. Как мы взяли третье место

Reading time22 min
Views42K

Сразу оговорюсь, что данный текст — это не сухая выжимка основных идей с красивыми графиками и обилием технических терминов (такой текст называется научной статьей и я его обязательно напишу, но потом, когда нам заплатят призовые $20000, а то, не дай бог, начнутся разговоры про лицензию, авторские права и прочее.) (UPD: https://arxiv.org/abs/1706.06169). К моему сожалению, пока устаканиваются все детали, мы не можем поделиться кодом, который написали под эту задачу, так как хотим получить деньги. Как всё утрясётся — обязательно займемся этим вопросом. (UPD: https://github.com/ternaus/kaggle_dstl_submission)

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

Способы деанонимизации руководителей сообществ и приложений «Вконтакте»

Reading time4 min
Views37K
Все описанные способы были отправлены «Вконтакте» через hackerone, но «Вконтакте» решили, что эти способы не являются проблемами. Решение было принято через 6 месяцев после изменения статуса репорта на «Triaged». Я пытался переубедить, но ответа не увидел.

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

О линейной регрессии: байесовский подход к курсу рубля

Reading time9 min
Views24K


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

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

Что надо знать, чтобы брать туры дешевле: как всё это устроено (и как взять отель в Сочи за 1116 рублей на 5 ночей)

Reading time5 min
Views81K

Двухместный номер за 112 рублей в сутки на человека будет примерно вот такой, это 750 метров от центра Красной Поляны.

Прошлый раз было много вопросов про ценообразование, постараюсь ответить. Начну с азов. Самостоятельный путешественник обычно ищет билеты на «Скайсканнере» или AWAD’е. Потом, взяв билеты, выбирает квартиру на AirB&B или отель на «Букинге». Потом идёт и страхуется. Экскурсии набирает на месте по ситуации. Туры нормальный ИТ-специалист, например, заказывает только для родителей, которые не знают языка.

Стратегия самостоятельной брони разумна в 70–80% случаев. Самые опытные путешественники знают, что есть ещё две волшебных фишки:

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

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

При поездке в Исландию так не выйдет. А вот по популярным направлениям есть варианты. Например, на сегодняшнее утро можно пожить 5 ночей в Сочи в хорошем двухместном номере, получить перелёт, завтраки и трансфер за 12 тысяч 35 рублей. Это на двоих, то есть 6018 рублей на человека. Именно столько стоят билеты в оба конца, если их брать за три недели, а тут ещё отель, завтраки и трансфер (такси от аэропорта до Сочи стоит 850 рублей в одну сторону, поезд — 150 рублей за взрослого). Ниже покажу ещё варианты для Турции и Греции.

Но начну с ответа на вопрос, где подвох.
Читать дальше →

Разрабатываем видеочат между браузером и мобильным приложением

Reading time11 min
Views25K

Империи зла нередко получают лучи ненависти со стороны конечных пользователей. Не смотря на это, Uber частично оплачивает наши поездки, хоть и временно, а Google придал значительное ускорение технологии WebRTC, которая бы так и оставалась проприетарной и сильно платной софтиной для узких целей b2b, если бы не ИЗ.

После появления WebRTC, видеочаты стало делать проще. Появились различные API и сервисы, серверы и фреймворки. В данной статье мы подробно опишем еще один способ разработки видеочата между веб-браузером и нативным Android-приложением
Читать дальше →

Делаем свой Skype с переводом речи в реальном времени, только лучше

Reading time2 min
Views16K
Не так давно Skype анонсировал реал-тайм перевод во время видеообщения с собеседником. Эта тема уже давно не дает покоя человечеству: многие помнят фильм «Автостопом по галактике» и Babel fish. Мы решили разобраться, как сделать это существо на Voximplant. Описание и демка – под катом.
Читать дальше →

Синдром хронической усталости. Как гормоны нас устают

Reading time8 min
Views127K
image

Обмен веществ в организме регулируется железами, вырабатывающими гормоны. Управление гормонами принадлежит гипофизу, который контролируется гипоталамусом. Гипоталамус — защитная система организма, его предохранитель, и часто он выключается при СХУ из-за недостатка энергии.

Благодаря возросшему уровню стрессов гормональные проблемы сегодня не редкость, особенно в городской среде.

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

Теоретические основы сплайн-интерполяции или почему IQ тесты не имеют решения

Reading time11 min
Views96K

Доброго времени, Хабр!

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

Начну с небольшой вводной. Будучи студентом 4-го, на тот момент, курса бакалавриата, я изучал курс «Компьютерная графика». Много там было разных интересных (и не очень) заданий, но одно прямо особо запало мне в душу: интерполяция кубическими сплайнами с заданными первыми производными на концах интервала. Пользователь должен был задавать значения первых производных, а программа — считать и выводить на экран интерполяционную кривую. Особенность и основная сложность задания заключена в том, что задаются именно первые производные, а не вторые, как в классической постановке сплайн-интерполяции.
Как я ее решал, и к чему оно в итоге пришло, я как раз и изложу в этой статье. И да, если по описанию задачи вы не поняли ни в чем ее смысл, ни в чем сложность, не переживайте, все это я также постараюсь раскрыть. Итак, поехали.

А, нет, погодите один момент. Вот вам два числовых ряда:
a) 2, 4, 6, 8, ?
b) 1, 3, ?, 7, 9

Какие числа должны стоять на месте вопросов и почему? Вы действительно уверены в своем ответе?
Читать дальше →

Самые полезные приёмы работы в командной строке Linux

Reading time5 min
Views158K
Каждый, кто пользуется командной строкой Linux, встречался со списками полезных советов. Каждый знает, что повседневные дела вполне можно выполнять эффективнее, да только вот одно лишь это знание, не подкреплённое практикой, никому не приносит пользы.

Как выглядят типичные трудовые будни системного администратора, который сидит на Linux? Если абстрагироваться от всего, кроме набираемых на клавиатуре команд, то окажется, что команды эти постоянно повторяются. Всё выходит на уровень автоматизма. И, если даже в работе есть что улучшать, привычка противится новому. Как результат, немало времени уходит на то, чтобы делать так, как привычнее, а не так, как быстрее, и, после небольшого периода привыкания – удобнее. Помнить об этом, сознательно вводить в собственную практику новые полезные мелочи – значит профессионально расти и развиваться, значит – экономить время, которое можно много на что потратить.

image

Перед вами – небольшой список полезных приёмов работы с командной строкой Linux. С некоторыми из них вы, возможно, уже знакомы, но успели их позабыть. А кое-что вполне может оказаться приятной находкой даже для знатоков. Хочется надеяться, что некоторые из них будут вам полезны и превратятся из «списка» в живые команды, которыми вы будете пользоваться каждый день.
Читать дальше →

Я написал самую быструю хеш-таблицу

Reading time29 min
Views72K

image


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


Я использовал хеширование по алгоритму Robin Hood с ограничением максимального количества наборов. Если элемент должен быть на расстоянии больше Х позиций от своей идеальной позиции, то увеличиваем таблицу и надеемся, что в этом случае каждый элемент сможет быть ближе к своей желаемой позиции. Похоже, такой подход действительно хорошо работает. Величина Х может быть относительно невелика, что позволяет реализовать некоторые оптимизации внутреннего цикла поиска по хеш-таблице.


Если вы хотите только попробовать её в работе, то можете скачать отсюда. Либо пролистайте вниз до раздела «Исходный код и использование». Хотите подробностей — читайте дальше.

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

Учёные меняют лабораторных мышей на устройства «мини-мозг на чипе»

Reading time3 min
Views11K
image

Два года назад Дайэн Хофман-Ким [Diane Hoffman-Kim] вырастила свой первый мозг-шарик. Она начала с нескольких нервных клеток мыши, размещённых в специальной чашке Петри с неприлипающей поверхностью. Клетки, которым не за что было держаться, кроме как друг за друга, выросли в сферу диаметром менее миллиметра: мини-мозг. Биоинженеры с тех пор вырастили тысячи таких органоидов, в которых нейроны ведут себя активно и посылают электрические сигналы. Единственный их минус – они не живые. Без самостоятельного снабжения кровью они не выживут, если о них не заботиться.

А затем в прошлом году один из студентов Хофман-Ким заметил кое-что, незамеченное ранее: её мозги-шарики спонтанно выращивали кровеносные сосуды.

Это переплетение из трубочек отмечает начало простейшей кровеносной системы. «Их можно назвать новичками», – говорит Хофман-Ким. Её мини-мозги не в состоянии прокачивать свою кровь – для этого нужно сердце – но это не останавливает Хофман-Ким от попыток приблизить их к состоянию самостоятельной жизни. Она работает с коллегами из Брауновского университета над подключением мини-мозгов к мини-кровеносной системе: целые ряды шариков закреплены на чипах, подключенных к материнской плате с подачей крови.
Читать дальше →

Рисуем остаток совы на базе нейросетей

Reading time3 min
Views34K
Идея дорисовать сову из кружочков реализована с помощью нейросетей.

image


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

Information

Rating
7,544-th
Registered
Activity