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

TensorFlow *

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

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

Искусственный интеллект на Python с использованием TensorFlow и Keras

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

Искусственный интеллект и машинное обучение становятся все более востребованными в современном мире. Многие компании и стартапы активно внедряют технологии искусственного интеллекта для решения бизнес-задач и оптимизации процессов.

Одним из ключевых инструментов для реализации нейро-сетевых архитектур и алгоритмов глубокого обучения является язык программирования Python. Благодаря наличию мощных библиотек, таких как TensorFlow и Keras, создание и обучение нейронных сетей на Python стало достаточно простым.

TensorFlow - это библиотека для машинного обучения, разработанная компанией Google. Она позволяет определять, тренировать и запускать нейронные сети различных архитектур. Keras - библиотека глубокого обучения высокого уровня, может использовать TensorFlow в качестве бэкенда. Keras упрощает создание моделей нейросетей благодаря удобному API.

Цель этой статьи - познакомить читателей с основными принципами глубокого обучения, а также возможностями библиотек TensorFlow и Keras для создания и обучения нейронных сетей на Python. Мы рассмотрим базовые концепции, этапы обучения моделей, а также практические кейсы использования TensorFlow и Keras для решения задач классификации, распознавания и анализа данных.

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

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

Новости

Простой пример ИИ для управления роботом. TensorFlow + Node Js

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 6.5K

Немного слов обо мне: мое хобби это робототехника. На данный момент экспериментирую с шагающим роботом на базе SunFounder PiCrawler.

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

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

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

Анализ временных рядов, или как предсказать погоду на завтра

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

Прочитав статью, вы узнаете, как можно прогнозировать погоду с точностью до двух градусов на 3 месяца вперед, причем здесь преобразование Фурье и машинное обучение

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

Реализация функции потерь Triplet Loss в Python (функция тройных потерь)

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

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

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

Истории

Часть 2. Перевод нейронной сети на базе Keras LSTM на работу с матричными операциями

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

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

Но если посмотреть статью-руководство от tensorflow, можно увидеть, что одной из рекомендаций по классификации теста является использование сетей долгой краткосрочной памяти (LSTM).

Забегая вперед скажу, что мне не совсем подошла данная сеть, но это, вероятно, особенность моего датасета. Полносвязная сеть с эмбеддином обладает хорошим качеством, предсказуемостью и стабильностью результатов (объяснимое переобучение, влияние архитектуры сети на качество и т.д.). Ну и немаловажно - быстро обучается, в отличие от LSTM.

Но ради "академического" интереса обучим сеть c LSTM для бинароной классификации текста и переведем её также на работу только с матрицами. Это также наглядно покажет, как устроены ячейки LSTM.

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

Ломаем текстовую капчу на примере VK или брутфорсинг до сих пор актуален

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

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

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

А ну-ка поподробнее
Всего голосов 64: ↑61 и ↓3 +58
Комментарии 38

NLP для TensorFlow: Генерация текста

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 3.6K

Одним из самых крутых и, возможно, самых неприятных приложений NLP является генерация текста. Способность генерировать убедительный текст с помощью ИИ имеет широкое применение, от чат-ботов до создания художественной литературы или фейковых новостей. Сегодня мы рассмотрим создание фейковой фантастики на основе романа Льюиса Кэрролла «Алиса в стране чудес».

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

Перевод предобученной модели Keras на матричные вычисления

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

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

Эта статья о том, как я переписал обученную в Keras сеть на работу с матричными операциями в Numpy. Заодно это помогло мне "заглянуть под капот" нейронной сети.

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

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

Уровень сложности Сложный
Время на прочтение 13 мин
Количество просмотров 8.1K

Разработка кросплатформенного приложения на Qt с использованием нейросетей обученных на tensorflow.

Читать далее
Всего голосов 20: ↑17 и ↓3 +14
Комментарии 15

[Научпоп с кодом] Что такое «жидкая» нейросеть и как научить её играть в Atari?

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


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


«Они способны изменять свои основные уравнения на основе входных данных, которые они наблюдают», в частности, изменяя скорость реакции нейронов, — рассказывает директор Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института Даниэла Рус.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CORONAROGRAPHY.AI

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

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

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

IOS

Android

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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