Искусственный интеллект - точка входа
468 subscribers
409 photos
51 videos
6 files
280 links
Нейронные сети, алгоритмы машинного обучения на понятном языке 🤗
Изучаем модели ИИ в спокойной обстановке ☕️



Основной сайт: https://aisimple.ru/
Онлайн-школа: https://school.aisimple.ru/
Сотрудничество: @danvir
Download Telegram
Уверен, что для многих было очевидно, что лучше всего данные описывает прямая под номером #3.
Почему так? Потому что для нее среднеквадратичная ошибка была минимальна и составила 0,02.

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

👉 @aisimpleru
👍1
Вот так выглядит экспериментальная поисковая выдача Google.

Вместо привычных 10 синих ссылок мы видим рекомендации от ИИ.

Сложно сейчас оценить хорошо это или плохо. Привычные нам вещи меняются и будут меняться еще стремительнее в ближайшем будущем.

👉 @aisimpleru
👍3
Мы уже поговорили об искусственном нейроне (https://t.me/aisimpleru/38), рассмотрели, что такое нейронная сеть (https://t.me/aisimpleru/40), про обучение нейронной сети (https://t.me/aisimpleru/48).

Чтобы обучить нейронную сеть, нам нужна обучающая выборка.

Обучающая выборка - множество примеров, относящихся к одному объекту при определенных условиях его исследования.

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

Есть три вида ирисов:
1. щетинистый (setosa),
2. разноцветный (versicolor),
3. виргинский (virginica).

Эти растения разделяют в зависимости от параметров чашелистика и лепестков.

Длина и ширина чашелистика и лепестков закодированы цифрами. Будем подавать их на вход сети.

На выходе нейронная сеть должна будет вернуть выходной вектор из трех значений в следующих комбинациях:
1, 0, 0 - setosa,
0, 1, 0 - versicolor,
0, 0, 1 - virginica.

Архитектура нейронной сети может быть такой: вектор входов из 4 значений, далее 4 нейрона в первом слое, 1 промежуточный слой из 3 нейронов и 3 выходных нейрона.

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

В следующем посте поговорим об особенностях формирования обучающих выборок.

👉 @aisimpleru
👍3
В предыдущем посте (https://t.me/aisimpleru/61) мы рассмотрели, что такое обучающая выборка.
Качество обучающей выборки - ключевой параметр, влияющий на эффективность работы вашей модели. В особенности, если речь идет о комплексных моделях, а не только о нейронных сетях.

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

Три главных правила хорошей обучающей выборки для обучения нейронных сетей:

1️⃣ Соответствие используемой структуре нейронной сети
2️⃣ Непротиворечивость
3️⃣ Репрезентативность

Рассмотрим каждое правило.

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

Количество настраиваемых весовых коэффициентов = числу синаптических связей.
Например, обучающая выборка для архитектуры из предыдущего поста (https://t.me/aisimpleru/61) должна содержать от 74 до 185 примеров, т.к. настраивается 37 весовых коэффициентов.

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

Репрезентативность. В выборке должны содержаться значения входных переменных и соответствующих им выходных из всего спектра возможных значений. Чтобы нейронная сеть или модель могла решить задачу с заданной точностью.
Например, если вы используете в выборке в качестве входного параметра возраст, то нельзя ограничиваться узким диапазоном с 24 до 30 лет.

⚠️ Важный момент! Если целевая аудитория для решения задачи именно этого возраста, то включать в выборку детей или стариков 70+ лет не будет иметь никакого смысла.

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

👉 @aisimpleru
👍1
Если будете создавать и обучать нейросетевую модель, рекомендуем использовать данный алгоритм.

1. Постановка задачи
2. Выбор источника данных для обучающей выборки
3. Выбор архитектуры нейронной сети для решения задачи
4. Определение структуры нейронной сети (количество и тип входных и выходных данных, количество скрытых слоев)
5. Подготовка обучающей выборки
6. Выбор алгоритма обучения
7. Проведение обучения нейросетевой модели
8. Оценка адекватности работы модели
9. Применение нейросетевой модели на практике

В дальнейшем, разберем более подробно отдельные шаги этого алгоритма

👉 @aisimpleru
👍2
Поговорим о преимуществах нейронных сетей.

Выделим 6 преимуществ:
1. Способность к обобщению
2. Решение задач при неизвестных закономерностях
3. Устойчивость к шумам во входных данных
4. Адаптация к изменениям окружающей среды
5. Потенциальное сверхвысокое быстродействие
6. Отказоустойчивость при аппаратной реализации нейронной сети

Завтра поговорим о недостатках нейронных сетей.

👉 @aisimpleru
👍1
Попросил Midjourney нарисовать, как она видит сама себя.

Вот что из этого вышло 🤷‍♂️

Интересно, что ИИ видит себя и в мужском и женском обличии одновременно.

👉 @aisimpleru
👍2
Недостатки нейронных сетей можно разделить на две группы:
серьезные и незначительные.

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

⚠️ От качества исходных данных зависит успех применения алгоритмов машинного обучения.

👉 @aisimpleru
👍1
post-035-3.jpg
111.1 KB
Ранее, мы упоминали (https://t.me/aisimpleru/23), что методы ИИ используются в скоринговых моделях. Это одно из популярных направлений применения ИИ и нейросетей.

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

В Альфа-банке решили заменить несколько скоринговых моделей, данные которых «смешивались» при помощи логистической регресии, на единую нейросетевую модель.

Подробнее читайте в источнике: https://habr.com/ru/companies/alfa/articles/748824/

👉 @aisimpleru
Список готовых нейронных сетей для всех задач.

Сохраните себе где-нибудь

👉 @aisimpleru
👍1👎1
Мы с вами рассмотрели, что такое нейронные сети, поговорили о том, какие типы и архитектуры нейронных сетей бывают, как обучать нейронные сети.

Еще раз напомним мысли из вот этого поста (https://t.me/aisimpleru/31).

Любую задачу предметной области можно свести к одной или нескольким задачам из математики, статистики.

Нейронные сети прекрасно справляются с решением 5 классов задач:
1️⃣ Задача интерполирования и аппроксимации данных и рядов
2️⃣ Задача прогнозирования
3️⃣ Задача классификации
4️⃣ Задача кластеризации
5️⃣ Задача распознавания образов

На этой неделе рассмотрим все эти задачи более подробно.

👉 @aisimpleru
👍1
Задачи интерполирования и аппроксимации успешно решаются искусственными нейронными сетями.

При аппроксимации (приближение) – функция максимально близко прилегает к точкам на графике

При интерполяции (изменение, переделка) – функция строго совпадает с данными в узлах сетки.

👉 @aisimpleru
👍1
Задача прогнозирования на самом деле сводится к задаче аппроксимации.

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

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

Такие нейронки могут моделировать зависимость множества выходов от множества входов.

👉 @aisimpleru
👍1
Рассмотрим задачу классификации.
Суть состоит в том, чтобы из множества объектов при помощи математического алгоритма отобрать объекты, отнесенные к определенным классам по каким-либо характеристикам.

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

⚠️ Важный момент! В отличие от задачи кластеризации (рассмотрим завтра), классы объектов определены заранее. Вы уже знаете количество категорий и параметры объектов, по которым тот или иной объект включается в категорию.

👉 @aisimpleru
👍1
Кластеризация (или кластерный анализ) — это задача разбиения множества объектов на группы, называемые кластерами.

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

На входе нейронной сети – параметры объектов, на выходе – номер кластера.

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

С задачей кластеризации отлично справляются нейронные сети Кохонена, которые будет рассматривать позднее в этом канале и на сайте.

👉 @aisimpleru
2