Все потоки
Поиск
Написать публикацию
Обновить
8.8

TensorFlow *

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

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

Нейродайджест: главное из области машинного обучения за февраль 2021

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

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

Как машинное обучение и TensorFlow помогают готовить гибридную выпечку: хобби-кейс разработчика Google

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

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

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

Рецепт обучения нейросетей

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

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

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

Читать далее

Нейродайджест: главное из области машинного обучения за январь 2021

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


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

Автоматическое обучение взаимодействию функций с помощью самонастраиваемых нейронных сетей

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

Прогноз кликабельности (CTR), цель которого - предсказать вероятность того, что пользователь нажмет на объявление или товар, имеет решающее значение для многих онлайн-приложений, таких как онлайн-реклама и рекомендательные системы. Эта проблема очень сложна, поскольку: 1) входные функции (например, идентификатор пользователя, возраст пользователя, идентификатор элемента, категория элемента) обычно разрежены; 2) эффективное предсказание опирается на комбинаторные функции высокого порядка (они же кросс-функции), которые очень трудоемки для ручной обработки экспертами предметной области и не перечислимы. Поэтому были предприняты усилия по поиску низкоразмерных представлений разреженных и высокоразмерных необработанных объектов и их значимых комбинаций. 

Читать далее

Фронтендер пишет нейронки. Уровень сложности «мартышка и уравнение Беллмана»

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

Привет.

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

читать про нейронки

Глубокие нейронные деревья принятия решений

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

Глубокие нейронные сети доказали свою эффективность при обработке данных  таких, как изображения и аудио. Однако для табличных данных более популярны древовидные модели. Хорошим свойством древовидных моделей является их естественная интерпретируемость. В этой работе мы представляем Deep Neural Decision Trees (DNDT) –древовидные модели, реализованные нейронными сетями. DNDT внутренне интерпретируем. Тем не менее, поскольку это также нейронная сеть (NN), ее можно легко реализовать с помощью инструментария NN и обучить по алгоритму градиентного спуска, а не по «жадному» алгоритму. Мы проводим оценку DNDT на нескольких табличных наборах данных, проверяем его эффективность и исследуем сходства и различия между DNDT и обычными деревьями решений. Интересно, что DNDT самообучается как на разделенном, так и на функциональном уровне.

Читать далее

Есть ли жизнь без Nvidia? Запускаем TensorFlow на Radeon RX 580

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

На новом рабочем месте меня посадили за ПК, оборудованный процессором Ryzen 2600 и видеокартой Radeon RX 580. Попробовав обучать нейронные сети на процессоре, я понял, что это не дело: уж слишком медленным был процесс. После недолгих поисков я узнал, что существует как минимум 2 способа запуска современных библиотек машинного обучения на видеокартах Radeon: PlaidML и ROCm. Я попробовал оба и хочу поделиться результатами.

Читать далее

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

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


Последний месяц года нельзя назвать удачным моментом для масштабных анонсов, так как большинство переходит в режим “давайте уже после праздников”, но судя по этой насыщенной подборке в области машинного обучения, и в декабре во всю кипела работа. Поэтому с небольшой задержкой встречайте двенадцатый выпуск дайджеста, в котором мы расскажем о самом важном, что произошло в ML в конце 2020 года.
Читать дальше →

«Вспомнить все» или решение проблемы катастрофической забывчивости для чайников

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

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

Сначала напомним, что это, собственно, за проблема. Если вдруг так оказалось, что вам нужно обучать нейронную сетку сначала на одном датасете, а затем на другом, то вы обнаружите, что по мере обучения на втором датасете сетка быстро забывает первый датасет, то есть теряет навык, полученный при обучении на нем. Или же если вы используете transfer learning и доучиваете готовую сетку на своих примерах, то будет наблюдаться тот же эффект – сетка успешно доучится на ваших данных, но при этом существенно утеряет предыдущие навыки, то есть то, ради чего весь transfer learning и затевался. Если вдруг датасетов, на которых надо последовательно учиться, не два а, к примеру, пять, то к концу обучения на пятом сетка забудет первый датасет практически полностью.

Вот с этим мы и будем бороться.

Читать далее

Фронтендер пишет нейронки. Уровень сложности «хочу на ручки»

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

Рано или поздно, фронтенд - разработчик устает играть со своими фреймворками, устает докучать коллегам - бэкендерам, устает играть в девопс и начинает смотреть в сторону машинного обучения, дата - саенс и вот это вот все. Благо, каждый второй курс для тех кто хочет войти вайти способствует этому, крича на всех платформах, как это легко. Я тоже, насытившись перекладыванием данных из базы в API, а потом из API в таблицы и формы, решил взять небольшой отпуск и попробовать применить свои скилы фронтендера в машинном обучении. Благо, существуют такие люди как Daniel Shiffman и Charlie Gerard, которые своим примером помогают не бросить начатое, увидев первые страницы с математическими формулами.

Читать далее

Хакатоны Осень 2020. Мой опыт

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

Добрый день, уважаемые хабровчане.

Подходит к концу год 2020 и пришла пора подвести итоги. В этот году я попробовал себя в хакатона для получения разнообразных навыков. Самым важным было для меня отработать навык быстрого погружения в проблему, написать решение, протестировать его и улучшить. Хакатоны которые мне попадались были длинные и короткие. Длинные- это больше 1 недели, короткие- это 2-3 дня. Всегда есть плюсы и минусы у обоих вариантов. Как и всякого человека, меня одолевали сомнения, как это будет, моя роль в команде, где искать эти команды, хватит ли навыков и т.д. Мой друг Владимир Привалов много раз приглашал меня на хакотоны, но все это как то откладывалось и переносилось по разным причинам. Видимо это был мой внутренний саботаж данного процесса. Но осенью этого года я решил попробовать свои силы и принял участие в одном хакатоне самостоятельно без команды, знакомых, смс и регистрации

Читать далее

Обучение на табличных данных. TABNet. Часть 2. Реализация

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

Продолжение перевода про архитектуру TABNet. Первая часть здесь

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

Читать далее

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

Обучение на табличных данных. TABNet. Часть 1

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

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

Читать далее

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

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

AlphaFold от DeepMind


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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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


В октябре традиционно в центре внимания вновь GPT-3. С моделью от OpenAI связано сразу несколько новостей — хорошая и не очень.
Читать дальше →

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

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

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


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

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

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

Читать далее