Предыдущая статья с подборкой моделей для русского

Предыдущая статья с подборкой моделей для русского
Привет! Сегодня я покажу вам основы TensorFlow(keras) на примере Heart Disease Dataset.
Данный датасет содержит в себе данные о заболевания сердца у разных людей. В качестве целевой переменной выступает значение, есть ли у людей сердечное заболевание
Подробнее о датасете: https://www.kaggle.com/datasets/mexwell/heart-disease-dataset
Для демонстрации используется сервис Google Colab (https://colab.research.google.com/)
Вначале подключим основные библиотеки
import pandas as pd
import tensorflow as tf
import matplotlib.pyplot as plt
Илья Суцкевер действительно организовал OpenAI вместе с Маском, Брокманом, Альтманом и другими единомышленниками, причём был главным техническим гением в компании. Ведущий учёный OpenAI сыграл ключевую роль в разработке ChatGPT и других продуктов. Сейчас Илье всего 38 лет — совсем немного для звезды мировой величины.Читать полностью »
Всем привет! Недавно я закончил один из этапов собственного проекта, в котором я провел сравнительный анализ 3 одних из самых известных нейросетей для семантической сегментации: U-Net, LinkNet, PSPNet. Теперь я хочу поделиться со всеми, чтобы в случае, если кто-то захочет сделать что-то подобное или ему просто понадобится, то он не искал весь интернет, как я, а легко и просто все нашел. В конце главы каждый нейросети я оставил ссылки на оригинальные статьи для желающих самостоятельно все изучить (на английском). Ссылка на мой GitHub с полноценной версией всех нейросетей и main файла в конце статьи.
Недавно я и моя команда участвовали в хакатоне от компании «Норникель». Мы выбрали трек «Грязные дела», где наша задача заключалась в разработке алгоритма компьютерного зрения для решения проблем на производстве.
Задача заключалась в решении проблемы загрязнения линз камер на производстве. Из-за этого алгоритмы компьютерного зрения теряли свою точность, что сказывалось на производительности. Нужно было разработать эффективный алгоритм для сегментации дефектов с минимальными затратами ресурсов и времени.
Небольшой бенчмарк (вроде этого): генерируем данные, потом тренируем на них нейросеть (DL - deep learning) и статистические модели (ML - machine learning). Оценивать результат будем по точности (Confusion Matrix) и контурному графику Decision Boundary, а также по времени тренировки. Мы классифицируем синтетические данные тремя способами (на разном количестве данных, от 1000 до 100 000 примеров):
DL модель с одним слоем из 8 нейронов
Support Vector Classifier
Decision Tree Classifier
В предыдущих статьях мы рассмотрели теоретические основы NLP, включая базовые понятия, такие как токенизация, стемминг, лемматизация и другие. Мы также поработали с библиотеками NLTK и spaCy и выполнили простые задания по обработке текста.
В этой статье мы продолжим изучение NLP и перейдем к более продвинутым темам, которые являются главными для построения современных приложений и моделей в области обработки естественного языка. А также создадим и обучим модели самостоятельно, используя TensorFlow/Keras и PyTorch.
В современном мире искусственный интеллект и машинное обучение стремительно развиваются, меняя нашу повседневную жизнь и открывая новые горизонты в различных областях. Одной из ключевых технологий, лежащих в основе этих достижений, являются сверточные нейронные сети (Convolutional Neural Networks, CNN). Эти мощные алгоритмы позволяют эффективно обрабатывать и анализировать изображения, что находит применение в самых разных сферах: от медицинской диагностики до систем безопасности.
CNN подходит для классификации изображений, что делает её отличным выбором для задачи распознавания рукописных цифр.
CNN состоит из:
TensorFlow — один из самых мощных и популярных фреймворков для машинного обучения, разработанный компанией Google Brain в 2015 году.
Изначально фреймворк создавали как платформу для внутреннего использования в Google, заменив предшествующую библиотеку DistBelief, которая была ограничена возможностями только для небольших исследований.
TensorFlow, в отличие от DistBelief, задумывался как кросс-платформенное решение с возможностью гибкой и масштабируемой настройки.
С прошлой статьи я внёс несколько изменений:
1. Планировщик был сломан и не изменял скорость. Починил.
2. Остаточное соединение через умножение.
3. WindowedDense для выходной проекции.
4. Добавил clipnorm 1, cutoff_rate 0.4
Как обычно это всё добавляет стабильности и 1% точности.
WindowedDense по неизвестной мне причине добавляет SMR стабильность.
class SMR(layers.Layer):
def __init__(self, units):
super().__init__()
self.state_size = units
self.s_l = layers.Dense(units, use_bias=False)
def get_in_proj(self):
return WindowedDense(self.state_size, 16)
def call(self, i, states):
s = states[0]
s = self.s_l(s)
o = i * (s + 0.1)
return o, [o]