init
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
Обучение строится на данных, которые мы используем, и бывает нескольких типов:
|
||||
***1. Обучение с учителем*** - мы размечаем данные, т.е к самим данным прикрепляем то, что мы хотим что бы нейросеть нам выдавала.
|
||||
***2. Обучение без учителя***
|
||||
***3. Обучение с подкреплением***
|
||||
|
||||
| **Обучение с учителем** | **Обучение без учитея** |
|
||||
| :---------------------: | :----------------------------------------: |
|
||||
| регрессия | генеративно-состязательная нейросеть (GAN) |
|
||||
| классификация | |
|
||||
| сегментация | |
|
||||
| генерация текста | |
|
||||
|
||||
### Какие задачи можно решать при обучении с учителем?
|
||||
|
||||
| **Задача регресии** | **задача классификации** |
|
||||
| ------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| на выходе получаем информацию,<br>которая не связана друг с другом,<br>например координаты глаз на картинке<br>[350,290] | на выходе получаем вероятность пренадлежности к классу,<br>например при классификации кошек и <br>собак [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. Анализ функции потерь***
|
||||
Отличие от валидации в том, что данные тестирования нейронка не видела, и фактически результат функции потерь на тестовых данных и будет результатом обучения.
|
||||
Reference in New Issue
Block a user