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

TensorFlow *

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

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

MLflow: управление многозадачным обучением с независимыми моделями

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

Как создать и отслеживать многозадачное обучение с независимыми моделями на одном входе и на одном выходе. Полный код на GitHub, соблюдая инструкцию README.md с нуля установки до работающего запуска отслеживания экспериментов и обслуживания моделей

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

DatRet: Реализация Tensorflow для табличных данных

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

Мой open-source продукт. Rete neurale per la previsione di Dati tabulari. (it.)

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

В данной статье рассмотрим причину создания данной библиотеки, проведем "туториал" и сравним точность прогнозирования DatRetClassifier и DatRetRegressor с классическими методами машинного обучения.

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

UNet++: Реализация архитектуры UNet++ на TensorFlow для сегментации ядер клеток

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

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

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

Одновременная генерация структурированных табличных данных и изображений при помощи GAN

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

Мы хорошо знаем GAN за успехи в создании реалистичных изображений. Не так хорошо знаем о формировании табличных данных. Однако их возможно применять при одномоментной реализации табличных данных и изображений.

Зачем генерировать одновременно табличные данные и изображение?

Я создал приложение coronarography.ai. На вход нейронной сети подаются структурированные данные (факторы риска развития сердечных заболеваний) и изображение ЭКГ, на выходе получаем патологию магистральных артерий сердца. Мне стало интересно проверить точность прогнозирования обученной нейронной сети на синтетических сгенерированных данных. Почему бы и нет) Проведем аугментацию выборки при помощи GAN и посмотрим точность обученной нейронной сети на синтетических данных. Для этого необходимо эти синтетические данные получить.

Описание проблемы

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

Нам необходимо одновременно генерировать структурированные данные (факторы риска и таргеты виде поражения артерий сердца) и картинку - ЭКГ изображение. Я в литературе не встречал подобных примеров, чтобы генерировали одновременно табличные данных и картинку. Что ж, сделаем впервые). Сгенерируем 1500000 синтетических наблюдаемых в виде табличных данных и ЭКГ изображения.

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

Истории

Создание изображений с использованием генеративно-состязательных нейронных сетей (GAN) на примере ЭКГ

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

Для создания изображений с помощью GAN я буду использовать Tensorflow.

Генеративно-состязательная сеть (GAN) — это модель машинного обучения, в которой две нейронные сети соревнуются друг с другом, чтобы быть более точными в своих прогнозах.

Как работают GAN?

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

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

Зачем генерировать изображение ЭКГ?

Я создал проект coronarography.ai . В нем на вход подается изображение ЭКГ, а на выходе мы получаем наличие патологии магистральных артерий сердца. Мне стало интересно проверить принципиальную возможность генерации изображений ЭКГ и сравнить полученные изображения с реальными.

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

Применение генеративно-состязательных нейронных сетей (GAN) в клинических исследованиях

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

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

Существует 3 основных фазы клинических испытаний — фазы с 1 по 3. Испытания фазы 1 — это самые ранние фазы испытаний, а испытания фазы 3 — испытания более поздней фазы.

Некоторые испытания имеют более раннюю стадию, называемую фазой 0, а некоторые испытания фазы 4 проводятся после того, как лекарство было лицензировано.

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии3

CORONAROGRAPHY.AI

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

Предложен новый подход в выявлении коронарной болезни сердца. С помощью нейросетевого анализа создана модель диагностики ишемической болезни сердца, выявляющая ишемию миокарда, патологию магистральных коронарных артерий. В задачу исследования входило сравнить точность обученной модели нейронной сети на входных структурированных данных (пол и возраст, уровень холестерина, наличие хронических заболеваний, наследственные факторы, образ жизни и пр.)  и ЭКГ-изображений с результатами классической инвазивной коронарографии. Доказана высокая чувствительность и достоверность предложенной диагностической модели на 1500150 наблюдений. Проведено сравнение модели с классическими методами диагностики преходящей ишемии миокарда – тредмил-тест, суточное мониторирование ЭКГ. Выявлено значимое превосходство представленной диагностической модели. Оценена точность прогнозов с профильными специалистами-кардиологами, ежедневно курирующих пациентов с ОКС. В данной статье также предложен новый метод экстраполяции выборки с помощью генеративно-состязательных нейронных сетей, позволяющим превзойти объём наблюдений, использующихся в классических мета-анализах.

Создано мобильное приложение для определения патологии артерий сердца.

IOS

Android

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

Hex: Мастерим бота

Время на прочтение29 мин
Количество просмотров2.7K
— Стало быть, эта штуковина только выглядит так, будто умеет думать? — Э… да.
— А на самом деле не думает? — Э… нет.
— То есть просто создаёт впечатление, будто бы думает, а на самом деле это всё показуха?
— Э… да. — Ну точь-в-точь как все мы.

                    Терри Пратчетт "Санта-Хрякус"

Триумфальные победы AlphaGo (и впоследствии AlphaZero) всколыхнули интерес общественности как к нейросетям, так и к настольным играм. Конечно, есть люди, которые считают, что AlphaZero «побеждает нечестно», поскольку на самом деле учится не совсем с нуля, а использует поиск Монте-Карло, в дополнение к тому, что ему советует нейросеть (говоря серьёзно, использование языковых моделей, в применении к настольным играм, выглядит интригующим и я желаю всяческих успехов в этом направлении), но хочется поэкспериментировать с чем-то не требующим грандиозных вычислительных мощностей и получить на выходе что-то, пусть и не играющее «на уровне Бога», но вполне пригодное для того чтобы играть с ним было интересно.

Мне важен результат и я готов использовать минимакс, Монте-Карло или даже нейросети, лишь бы добиться хоть какого-то успеха (особенно с учётом некоторых ограничений накладываемых JavaScript на производительность, по сравнению с компилируемыми языками и массовым использованием GPU). Разумеется, начинать эксперименты с Го несколько самонадеянно. К счастью, это не проблема. Я знаю много других игр.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии10

Учим Алису здороваться

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

Хочу поделиться опытом добавления некоторой вольности Алисе (внутри колонок поддерживающих локальный API).

Идея заключается в том, чтобы Алиса реагировала на присутствующих людей. Для этого их необходимо идентифицировать, например, с помощью распознавания лиц. В статье будет использован самый простой (на мой взгляд) вариант создания модели для распознавания лиц – тренировка модели в Google Teachable Machine, так как он не требует знаний и хорошего железа.

Читать далее
Всего голосов 25: ↑23 и ↓2+21
Комментарии21

Как обнаружить выбросы автоэнкодером?

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

Если что-то не сжимается — возможно, что-то тут не так



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

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

Multiple Instance Learning (MIL) для классификации наборов гистологических изображений со светлоклеточным раком почки

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

С учётом актуальности Multiple Instance Learning (далее: MIL) и, в частности, наличия преимуществ данного метода для анализа гистологических изображений, решил попробовать обучить модели с целью классификации наборов данных, на те, которые содержат только нормальные ткани и те, в которых встречаются изображения со светлоклеточным раком почки.

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

Конвертация нейросети из PyTorch в Tensorflow

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

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

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии1

Ищем скрытые смыслы. Графовые нейронные сети на основе Spektral

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

Развитие методов глубокого машинного обучения привело к росту популярности нейронных сетей в задачах распознавания образов, машинного перевода, генерации изображений и текстов и многих других. С 2009 года нейронные сети попытались применить напрямую в задачах обработки графов (к которым могут относиться системы веб-страниц, связанных ссылками, словари с определенными отношениями между словами, граф социальных связей и другие) и среди возможных задач можно определить поиск кластеров узлов, создание новых графов на основе имеющейся информации о структуре графа, расширение графа и предсказание новых связей и другие. Сейчас выделяют несколько типов нейронных сетей на основе графов - сверточные графовые сети (Convolutional Graph Network), графовые изоморные сети (Graph Isomorphism Network) и многие другие и они часто используются для анализа цитирования статей, исследования текста (представление предложения как графа с указанием типов отношений между словами), изучения взаимосвязанных структур (например, исследования белковых молекул, в частности сеть Alphafold использует модель GNN) и т.д. В статье мы рассмотрим некоторые общие вопросы создания и обучения графовых сетей на основе библиотеки Python Spektral.

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

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

PG Bootcamp 2024
Дата16 апреля
Время09:30 – 21:00
Место
МинскОнлайн
EvaConf 2024
Дата16 апреля
Время11:00 – 16:00
Место
МоскваОнлайн
Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн

4х повышение разрешения изображения с использованием ESRGAN

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

4х повышение разрешения изображения с использованием ESRGAN

В данной статье разобрано применение предобученной нейронной сети ESRGAN для увеличения разрешения изображения в четыре раза c использованием tensorflow hub.

Читать далее
Всего голосов 10: ↑5 и ↓50
Комментарии53

Введение в автоэнкодеры

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

Чем больше данных, тем лучше, но слишком большое число признаков может оказаться неэффективным в плане повышения интерпретируемости или производительности. Материалом о возможном решении от доктора Роберта Кюблера делимся к старту флагманского курса по Data Science.

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

Коллапсирующие CNN: аппроксимация, имитация и щепотка спектральной магии

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

Можно ли ускорить обученную сверточную нейросеть? Можно ли заметно сократить ее веса, не снижая точности? Можно ли найти и «обезвредить» узкие места в модели, препятствующие достижению максимальной точности? Можно ли радикально изменить архитектуру готовой сетки, не прибегая к обучению с нуля?

А вот и посмотрим
Всего голосов 11: ↑11 и ↓0+11
Комментарии4

Подгон под MNIST-овский датасет

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

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

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

Классификация гистологических изображений со светлоклеточным раком почки, используя Keras

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

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

1)    Получение полнослайдовых изображений (WSI) – подготовка датасета.

2)    Аннотация изображений

3)    Получение готового датасета (Train, Validation и Test)

4)    Выбор и тренировка моделей

5)    Тестирование моделей

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

Распределённое глубокое обучение: параллелизм моделей и данных в TensorFlow

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

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

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

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

Эта публикация входит в серию материалов о глубоком обучении. В предыдущих статьях шла речь о создании собственного цикла обучения для задачи по сегментации изображений с помощью U-net. Мы развернули модель в Google Cloud для того чтобы получить возможность удалённого запуска обучения. Здесь я буду использовать тот же код.

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

Нейронная сеть считает лес кругляк и распознает автомобильные номера. Как это сделано?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров15K

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

Необходимая подготовка читателя — должно быть общее представление о компьютерном зрении (computer vision) и нейронных сетях. Здесь не будет описаний, что такое сверточная нейронная сеть и т.п., статей по таким основам найдете много на хабре (вот хорошая Глубокое обучение для новичков: распознаем изображения с помощью сверточных сетей). В то же время, совсем новички могут получить представление, какие знания и компетенции нужны для решения подобных задач.

Читать далее
Всего голосов 28: ↑27 и ↓1+26
Комментарии21
Изменить настройки темы

Вклад авторов