Как стать автором
Обновить
9.75

TensorFlow *

открытая библиотека для машинного обучения

Сначала показывать
Порог рейтинга
Уровень сложности

Подборка статей о машинном обучении: кейсы, гайды и исследования за ноябрь 2020

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

AlphaFold от DeepMind


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


Результаты оказались очень впечатляющими,

Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии1

Нейросеть анализирует сексуальность игроков, пример машинной обработки и классификаци текста

Время на прочтение3 мин
Количество просмотров2.7K
Когда пришло приглашение поучаствовать в хакатоне с заданием, для реализации которого необходима оригинальная/ смешная/ креативная гипотеза, мы сразу согласились.

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

Для тех кто не любит читать многА БУКВ, мы сделали минутный ролик, о том что и как было сделано без технических подробностей. Можете посмотреть его:


Остальным изложим детально и пошагово.

Машинное обучение было реализовано для:

  • определения степени сексуальности игрока, методом классификации описанных игроками образов воды.
  • классификации оценок игроков, продиктованных голосом в произвольном формате.
Всего голосов 7: ↑0 и ↓7-7
Комментарии9

Transfer Learning с использованием TensorFlow.JS

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

На практике в подавляющем большинстве вы не будете иметь дело с созданием новых моделей и обучением их с нуля на клиентской стороне. Чаще всего придется создавать модели на базе уже существующих. Эту технику называют Transfer Learning.

Кроме того, на мой взгляд Transfer Learning ­– это наиболее перспективная техника для использования на клиентской стороне с помощью TensorFlowJS. Большим преимуществом тут перед применением той же самой техники на сервере – это сохранение конфиденциальности клиентской информации и наличием возможности к доступа сенсоров (камера, гео-локации и др).

Принцип работы Transfer Learning прост. Вначале модель обучается на базе большого набора тренировочных данных. Во время процесса обучения, нейронная сеть извлекает большое количество полезных характеристик (признаков) конкретной решаемой задачи, которые могут быть использованы как база для новой, которая будет обучаться уже на малом числе тренировочных данных для более специфичной, но похожей задачи (рисунок 1). Таким образом, переобучение может происходить на устройствах с ограниченными ресурсами за относительно меньшее время.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Оптимизация моделей в Tensorflow 1.x

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

Tensorflow, хотя и сдаёт свои позиции в исследовательской среде, всё ещё остаётся популярным в практической разработке. Одна из сильнейших сторон TF, из-за которой он держится на плаву — возможность оптимизации моделей для развертывания в условиях ограниченных ресурсов. Для этого существуют специальные фреймворки: Tensorflow Lite для мобильных устройств и Tensorflow Serving для промышленной эксплуатации. В Сети (и даже на Хабре) достаточно туториалов по их использованию. В этой статье мы собрали наш опыт оптимизации моделей без использования этих фреймворков. Мы рассмотрим некоторые методы и библиотеки, выполняющие поставленную задачу, опишем, как можно сэкономить пространство на диске и RAM, сильные и слабые стороны каждого подхода, а также некоторые неожиданные эффекты, с которыми мы столкнулись.

Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Истории

Подборка статей о машинном обучении: кейсы, гайды и исследования за октябрь 2020

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


В октябре традиционно в центре внимания вновь GPT-3. С моделью от OpenAI связано сразу несколько новостей — хорошая и не очень.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии1

TensorFlowJS: использование обученных моделей без их модификаций в браузере

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

При работе с TensorFlowJS можно выделить три направления (рисунок 1):


1. использование обученных моделей без модификаций топологий и переобучений

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

3. создание и обучения моделей с нуля.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Необходимый инструмент для каждого дата-сайентиста

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

Давайте посмотрим правде в глаза: обучение модели машинного обучения отнимает много времени, даже с учетом развития вычислительной техники за последние несколько лет. Даже самые тривиальные модели имеют более миллиона параметров. В масштабе крупнее у моделей бывает более миллиарда параметров — у GPT-3 их более 175 миллиардов! и обучение этих моделей занимает дни, а то и недели. Как дата-сайентисты мы хотели бы следить за метриками модели, чтобы знать, работает ли она, как мы того ожидаем. Но нет смысла сидеть рядом с компьютером, часами отслеживая показатели. Хорошо было бы получить все эти данные на телефон.

Эту задачу можно решить с помощью TensorDash — инструмента удаленного мониторинга ваших моделей машинного обучения с открытым исходным кодом, о котором и пойдет речь дальше. Под катом примеры применения TensorDash с TensorFlow, Keras, PyTorch и Fast.ai.
Приятного чтения!
Всего голосов 11: ↑9 и ↓2+7
Комментарии1

Создание камеры-ловушки с использованием Raspberry Pi, Python, OpenCV и TensorFlow

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


Я сильно верю в обучение через практику, через создание чего-то нового. А для того чтобы что-то создавать, нужно чтобы работа приносила бы удовольствие.

Я начну рассказ о моём новом проекте с того, что раскрою причины, по которым решил попытаться создать камеру-ловушку на основе Raspberry Pi.

Я живу в Лондоне, мой сад часто посещают местные представители дикой природы. Случается это так часто, что я, заядлый садовник, мало-помалу начал расстраиваться. Разбитые горшки, выкопанные из земли растения, съеденные фрукты и овощи…

Я видел в своём саду маленьких лис (они — просто прелесть), больших лис, кошек (не моих), птиц. А однажды меня даже посетил ястреб-перепелятник.
Читать дальше →
Всего голосов 42: ↑34 и ↓8+26
Комментарии12

TensorFlow на Google Cloud. Масштабируемый рабочий процесс

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

Сфера Data Science настолько обширна и настолько быстро развивается, что изучить «вообще всё» в ней попросту невозможно. Но вас не должно это демотивировать, ведь выход один — развиваться и не дать себя захватить страху «как же мало я знаю».

Под катом проект, задействующий мощь современных облачных платформ машинного обучения в классической задаче распознания кошек и собак. Проект написан так, чтобы вы могли адаптировать его под свои задачи.
Приятного чтения!
Всего голосов 17: ↑17 и ↓0+17
Комментарии3

Подборка статей о машинном обучении: кейсы, гайды и исследования за сентябрь 2020

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


Сентябрьскую подборку мы начнем с кейса. В этот раз он всего один, но зато какой!

Мы не устаем восхищаться возможностями GPT-3 и рассказывать о сферах ее применения, но многие при этом видят в алгоритме угрозу своей профессии.
И компания VMO, которая занимается A/B тестированием, решила провести соревнование — профессиональные копирайтеры против GPT-3.

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

Почему это так интересно?
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии1

Как задача из классического сбора данных перешла в решение простенькой задачи MNIST. Или как я спарсил сайт ЦИК

Время на прочтение9 мин
Количество просмотров7.3K
В один из будничных дней, под вечер, от моего начальника прилетела интересная задачка. Прилетает ссылка с текстом: «хочу отсюда получить все, но есть нюанс». Через 2 часа расскажешь, какие есть мысли по решению задачи. Время 16:00.

Как раз об этом нюансе и будет эта статья.

Я как обычно запускаю selenium, и после первого перехода по ссылке, где лежит искомая таблица с результатами выборов Республики Татарстан, вылетает оно

image

Как вы поняли, нюанс заключается в том, что после каждого перехода по ссылке появляется капча.

Проанализировав структуру сайта, было выяснено, что количество ссылок достигает порядка 30 тысяч.

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

+ Капчу распознают 100%, так же, как человек
— Среднее время распознавания 9 сек, что очень долго, так как у нас порядка 30 тысяч различных ссылок, по которым нам надо перейти и распознать капчу.

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

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

На часах уже было 17:00, и я начал искать предобученные модели по распознаванию чисел. После проверки их на данной капче точность меня не удовлетворила — ну что ж, пора собирать картинки и обучать свою нейросетку.

Для начала нужно собрать обучающую выборку.

Открываю вебдрайвер Хрома и скриню 1000 капчей себе в папку.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии31

Защита фото от систем распознавания лиц работает?

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

За последние полтора месяца (с начала августа 2020) уже довольно много изданий/платформ и ресурсов говорили/писали про Алгоритм Fawkes: https://sandlab.cs.uchicago.edu/fawkes/#press.

Среди которых и Habr, The New York Times, The Verge и т.д.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии26

Машинное обучение. Нейронные сети (часть 3) — Convolutional Network под микроскопом. Изучение АПИ Tensorflow.js

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

В предыдущих статьях, использовался только один из видов слоев нейронной сети – полносвязанные (dense, fully-connected), когда каждый нейрон исходного слоя имеет связь со всеми нейронами из предыдущих слоев.

Чтобы обработать, например, черно-белое изображение размером 24x24, мы должны были бы превратить матричное представление изображения в вектор, который содержит 24x24 элементов. Как можно вдуматься, с таким преобразованием мы теряем важный атрибут – взаимное расположение пикселей в вертикальном и горизонтальном направлении осей, а также, наверное, в большинстве случаев пиксел, находящийся в верхнем левом углу изображения вряд ли имеет какое-то логически объяснимое влияние друг на друга в большинстве случаев.

Для исключения этих недостатков – для обработки  изображений используют сверточные слои (convolutional layer, CNN).

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

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

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Ближайшие события

Подборка статей о машинном обучении: кейсы, гайды и исследования за август 2020

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


Продолжаем собирать для вас материалы из области ML. Как и всегда предпочтение отдаем проектам, которые содержат ссылки на непустые репозитории, или предоставляют высокоуровневые API.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Использование NLP для построения классификатора сарказма

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

В этой статье мы попробуем написать классификатор определяющий саркастические статьи используя машинное обучение и TensorFlow


Статья является переводом с Machine Learning Foundations: Part 10 — Using NLP to build a sarcasm classifier


В качестве обучающего набора данных используется датасет «Sarcasm in News Headlines» Ришаба Мишры. Это интересный набор данных, который собирает заголовки новостей из обычных источников новостей, а также еще несколько комедийных с поддельных новостных сайтов.


Набор данных представляет собой файл JSON с тремя столбцами.


  • is_sarcastic  — 1, если запись саркастическая, иначе 0
  • headline — заголовок статьи
  • article_link — URL-адрес текста статьи
Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии2

Машинное обучение. Нейронные сети (часть 2): Моделирование OR; XOR с помощью TensorFlow.js

Время на прочтение6 мин
Количество просмотров16K
Статья является продолжением цикла статей, посвященных машинному обучению с использованием библиотеки TensorFlow.JS, в предыдущей статье приведены общая теоретическая часть обучения простейшей нейронной сети, состоящей из одного нейрона:

Машинное обучение. Нейронные сети (часть 1): Процесс обучения персептрона

В данной же статье мы с помощью нейронной сети смоделируем выполнение логических операций OR; XOR, которые являются своеобразным «Hello World» приложением для нейронных сетей.
В статье будет последовательно описан процесс такого моделирования с использованием TensorFlow.js.
Всего голосов 11: ↑10 и ↓1+9
Комментарии0

Распознавание мяча в волейболе с OpenCV и Tensorflow

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

Применение искусственного интеллекта к спорту — недавняя тенденция, но уже есть интересные материалы:


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

Сразу скажу, что с наскока распознать элементы игры получилось с невысокой точностью, так что пришлось придержать амбиции и пилить задачу по частям. И первая часть — про самый маленький, но необходимый объект.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии8

TensorFlow.js: Часть 1: Использование Low-Level API для аппроксимации линейной функций

Время на прочтение13 мин
Количество просмотров7.1K
В настоящее время Python занимает доминирующую позицию для машинного обучения. Однако, если вы являетесь JS-разработчиком и заинтересованы окунуться в этот мир, то не обязательно включать в свой арсенал новый язык программирования, в связи с появлением TensorFlow.js.
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Подборка статей о машинном обучении: кейсы, гайды и исследования за июль 2020

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


Похоже, не один наш дайджест не обходится без упоминания разработок Open AI: в июле самой обсуждаемой темой в области машинного обучения стал новый алгоритм GPT-3. Технически это не одна модель, а целое семейство, которое для удобства обобщают под единым названием. В самой крупной модели используется 175 млрд параметров, а для обучения использовался датасет размером 570 Gb, в который вошли отфильтрованные данные из архивов Common Crawl и высококачественные данные WebText2, Books1, Books2 и Wikipedia.

Здесь стоит отметить, что модель предобучена, и не требует файн тюнинга под конкретные задачи: для достижения лучших результатов рекомендуется предоставлять ей хотя бы один (one-shot) или несколько (few-shot) примеров решения задач на входе, но можно обойтись вообще без них (zero-shot). Чтобы модель сгенерировала решение задачи, достаточно описать задачу на английском языке. Принято считать, что это алгоритм генерации текстов, но уже видно, что потенциал намного богаче.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии2

Внедрение RoI Pooling в TensorFlow + Keras

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

Привет, Хабр! Представляю вашему вниманию перевод статьи "Implementing RoI Pooling in TensorFlow + Keras" автора Jaime Sevilla.


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


В этом посте мы объясним основную концепцию и общее использование RoI pooling (Region of Interest — область интересов) и предоставим реализацию с использованием слоев Keras среды TensorFlow.

Читать дальше →
Рейтинг0
Комментарии0