Files
obsidian/Programming/ML/Структура обучения.md
2026-07-30 11:35:10 +05:00

6.3 KiB
Raw Permalink Blame History

Обучение строится на данных, которые мы используем, и бывает нескольких типов: 1. Обучение с учителем - мы размечаем данные, т.е к самим данным прикрепляем то, что мы хотим что бы нейросеть нам выдавала. 2. Обучение без учителя 3. Обучение с подкреплением

Обучение с учителем Обучение без учитея
регрессия генеративно-состязательная нейросеть (GAN)
классификация
сегментация
генерация текста

Какие задачи можно решать при обучении с учителем?

Задача регресии задача классификации
на выходе получаем информацию,
которая не связана друг с другом,
например координаты глаз на картинке
[350,290]
на выходе получаем вероятность пренадлежности к классу,
например при классификации кошек и
собак [0.01, 0.99], где 0.01 - вероятность что это собака, а 0.99 - что кот

Этапы обучения

1. Подготовка данных

Данные сначала необходимо преобразовать (обычно имеется ввиду нормализация - преобразование данных к неким безмерным еденицам, диапазон которых задается, например [0;1] или [-1;1] . Фактически до нормализации данные имеют меру, например в датасете в разных колонках содержится информация о длине дороги и градусах ее искривлениях. ). После преобразования идет разбиение датасета на части: 1. Обучение - примерно 80% исходного датасета нормализуется и используется для обучения модели. Далее разбиваем датасет на части - тренировочная и валидационная. На тренировочной учим, на валидационной - проверяем действительно ли учились или делали вид что учились. 2. Тестирование - оставшиеся 20% остаются для тестирования обученной модели. Фактически, размер соотношение Обучения/Тестирования может меняться от датасета к датасету, тут необходимо на личном опыте определить необходимую пропорцию. ПРО ТЕСТОВЫЕ ДАННЫЕ ДО КОНЦА ОБУЧЕНИЯ МЫ ЗАБЫВАЕ М И НЕ ТРОГАЕМ ИХ ВООБЩЕ

2. Построение модели

Фактически необходимо определить количество слоёв модели, а так же написать главные функции.: 1. Функция потерь - она буквлаьно определяет, какую задачу решает нейронная сеть 2. Метод оптимизации градиентного спуска - отвечает за обучение и его скорость.

3. Тренировка модели

1. Тренировка модели - используем часть датасета для обучения (train set) 2. Валидация модели - используем часть датасета для валидации (проверки качества обучения) (val set)

Тренировка это: 1. Подача данных из датасета в модель 2. Подача полученных ответов и реальных ответов в функцию потерь для сравнения 3. Обратное распространение ошибки - узнаём как и на сколько сильно влияет каждый вес на ошибку 4. Корректировка весов

Валидация: 1. Подача валиадционных данных 2. Подача полученных значений и реальных значений в функцию потерь 3. Анализ функции потерь

Эпоха - одна итерация Тренировки и Валидации. Их может быть сколько угодно.

4. Тестирование

1. Подача тестовых данных 2. Подача полученных значений и реальных значений в функцию потерь 3. Анализ функции потерь Отличие от валидации в том, что данные тестирования нейронка не видела, и фактически результат функции потерь на тестовых данных и будет результатом обучения.