Содержание статьи
С учителем и без него: как обучаются нейросети
Три типа обучения нейронных сетей
Тренировочный набор данных для этого типа обучения важно разметить, то есть каждому примеру сопоставить результат, который модель должна получить. Для этого над входным датасетом следует предварительно поработать: учитель собирает его заранее, просматривает и размечает в понятном для обработки виде.
Почему бы тоже самое не сделать с графиком цен? Наколотить скриншоты графика цены перед ростом, и наоборот. Поскольку на изображении только два цвета (черный и белый), да и деталей будет мало, то изображения будут весить мало, как и обрабатываться. И скормить их все нейросети, чтобы она наконец симулировала/эмулировала работу трейдера, я не перемножала цены.
У меня тема в открытой вкладке, на практике обычно, когда занимаюсь чём-то другим, в голову прилетит идея (чего бы ещё поэкспортировать для сетки) тут же проверяю. К сожалению, много чего из предложенного в ветке мне не понятно (не соображу, что экспортировать, как и куда потом).
Отсутствие контроля человека при тренировке моделей увеличивает вероятность ошибок. Самостоятельный анализ данных может привести к неверному объединению или группировке по тем признакам, которые не важны для человека. Кроме того, подобная подготовка требует большего количества времени и информации — ведь для того, чтобы без подсказок учителя сделать верные выводы, нужно проанализировать больший объем информации, чем с ними.
Все нейронные сети решают разные задачи, и поэтому тренировать их нужно тоже по-разному. В зависимости от будущего функционала, наличия ресурсов и времени выбирайте подходящий формат обучения — и спустя время получите наученную решению именно ваших задач ИИ-модель.
Просто мне кажется, что может быть не рассматривать временные ряды, а рассматривать паттерны, при которых часть временного ряда не будет играть роли, и нейросеть будет смотреть «картину в целом», как это делает трейдер. Сама задача другая, то есть: перед трендом(разворотом) эту часть графика заскринить, и «не говорить» нейросети, какие цены у этих свечей, разность цен свечей, не проводить и не скармливать ей нормализацию цен свечей, нормализацию данных индикаторов — это всё отбросить и подавать на фактическое значение при обучении лишь «вверх» или «вниз», «1» или «0», «бык» или «медведь». И, когда нейросеть «насмотрится» этих быков, при новых свечах (делать скрин участка графика для нейросети, либо как-то автоматизировать этот процесс), она скажет «ну, это не бык, тут какая-то фигня, я не понимаю», а на другом графике «тут что-то похоже на быка, вероятно это бык», на третьем «тут точно бык, ща цена как развернётся». По аналогии с распознаванием изображений (где-то на хабре, по-моему, видел статью). Там тоже нейросети скормили миллион изображений котов, а потом она: «здесь вот кот», «вероятно, это кот», «это не кот»))
Без учителя
Обучение с подкреплением (reinforcement learning) используется в ситуациях, когда нужно обучить нейро сеть задаче с четкими результатами на выходе. Этот формат подготовки ИИ-моделей проходит через взаимодействие с окружающей средой и работает следующим образом: система получает на вход некоторые неразмеченные данные и обрабатывает их случайным образом, в ответ на что получает положительные или отрицательные отзывы, в зависимости от результатов работы. Для обучения с подкреплением не нужен полный контроль человека или заранее и полностью размеченный набор данных — важно сформулировать задачу и оценить те решения, которые предпримет система.
Прохождение игр — часто встречающаяся задача, которую решает обучение с подкреплением. Так, например, алгоритм Q-обучения (Q-learning) часто используется в играх — например, для тренировки агента прохождению знакомой всем «Змейки » . Другой пример — нейросетевая модель AlphaGo, которая обучена играть в го на уровне мировых чемпионов.
Почему бы тоже самое не сделать с графиком цен? Наколотить скриншоты графика цены перед ростом, и наоборот. Поскольку на изображении только два цвета (черный и белый), да и деталей будет мало, то изображения будут весить мало, как и обрабатываться. И скормить их все нейросети, чтобы она наконец симулировала/эмулировала работу трейдера, я не перемножала цены.
При обучении нейросети распознаванию кота на изображениях, для нейросети готовят сет из множества изображений для обучения. В результате она без серьёзных проблем может определить на изображении любителя побегать по квартире в четыре утра.
А в сети всё чаще можно встретить статьи, как научить нейросеть определять числа и знаки на изображении.
Для того чтобы обучение с подкреплением было результативно, важно пройти много предварительных тренировок. Долгий период развития навыков модели и необходимость большого количества примеров называют главными минусами этого формата. Если в будущей работе нейросеть столкнется с незнакомой ситуацией, то реакция будет непредсказуема.
Машинное обучение без учителя (unsupervised learning) — менее популярный формат развития навыков нейросетей . Из названия понятно, что оно предполагает самостоятельное совершенствование модели. Как это работает? На вход модели подаются неразмеченные данные и система без чьей-либо помощи ищет в них закономерности. Этот формат отличается от предыдущего тем, что модели заранее не известен «правильный ответ» и его нужно найти. Для поиска следует проанализировать все данные и обнаружить в них общие скрытые структуры или паттерны для будущей классификации, которую она проводит без явного руководства. Модель, натренированная таким образом, легко справится с задачей распределения тысяч статей по тематике в зависимости, например, от упоминаемых ключевых слов.
Нейросети , прошедшие обучение без учителя, не хуже предыдущих решают задачи кластеризации. Деление большого количества данных на группы способна совершить каждая обучающаяся модель, а далее с уже первично отсортированными сведениями могут работать люди или более тонко настроенные модели. Помимо задач группировки, нейронные сети умеют определять связи в данных. Этот механизм часто используется в маркетинге: анализируя историю покупок, искусственный интеллект предполагает, какие товары и услуги дополнительно предложить этому же человеку. Детектирование аномалий — еще одна профильная задача самостоятельного машинного обучения, решаемая автокодировщиком Autoencoder.
Обучать нейронные сети выполнению задач можно по-разному: процесс развития навыков возможен с учителем или без него, а также с подкреплением. Каждый формат предназначен для решения конкретных задач: классификации, прогнозирования, распознавания изображения и так далее. Как выбрать оптимальный формат и чем между ними разница?