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

TensorFlow *

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

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

Реализация нейронной сети для соревнования Digit Recognizer на Kaggle и её прикладное использование. Часть №2

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

Статья является продолжением первой части, в которой была обучена нейронная сеть для решения задачи соревнования Digit Recognizer на Kaggle. В предыдущей статье был использован трюк, который увеличил точность нейронной сети в контексте результатов соревнования (до 0.99 896), в результате чего позиция автора в лидерборде значительно выросла. В данной статье мы рассмотрим каким образом можно интегрировать и использовать обученную модель нейронной сети в систему для распознавания рукописных цифр.

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

Реализация нейронной сети для соревнования Digit Recognizer на Kaggle и её прикладное использование. Часть №1

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

В данной статье будет рассмотрено одно из решений обучающей задачи на платформе Kaggle по распознаванию рукописных цифр. Будут продемонстрированы несколько трюков, которые могут помочь читателю добиться высоких результатов в данном соревновании. После реализации нейронной сети будет реализовано серверное и веб‑приложение, с помощью которых пользователь сможет рисовать цифры и распознавать их с помощью нейронной сети. Статья ориентирована на начинающих специалистов в области машинного обучения и не носит новаторский характер. Списки на используемые источники (в том числе исходный код) будут представлены в конце статьи. Решения не новы, однако с их помощью можно достичь высоких результатов. Например, автору удалось добиться score равному 0.99 896, а с помощью читерства — 1.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Истории

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 12: ↑9 и ↓3+14
Комментарии16

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

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


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


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

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

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

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

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

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

19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CORONAROGRAPHY.AI

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

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

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

IOS

Android

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

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

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

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

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

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