Форум программистов, компьютерный форум, киберфорум
ИИ, нейросети, LLM, ML, Data Science, ИИ-агенты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325

Выбор архитектуры нейронной сети

07.08.2018, 13:52. Показов 2148. Ответов 13
Метки нет (Все метки)

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

Т.е. мы имеем 100 входных значений. На выходе должно быть лишь 1.

Именно: какой метод обучения сети лучше выбрать для этой цели, сколько взять нейронов в скрытом слое, сколько слоёв лучше использовать и т.д.

Задача очень похожа на прогнозирование стоимости акций компании.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.08.2018, 13:52
Ответы с готовыми решениями:

Выбор модели нейронной сети
Здравствуйте, коллеги! Кто-нибудь может оказать помощь, как определить структуру нейронной сети для black box на 32 входных дискретных...

Изучение нейронной сети
Здравствуйте уважаемые форумчане! Хочу познакомиться с нейронной сетью. Пока выбор упал на две книги, не знаю какую выбрать. Либо...

СОВ с использование нейронной сети
Необходимо создать систему обнаружения вторжений с использованием нейронной сети. Есть у кого-нибудь материалы на эту тему?

13
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
08.08.2018, 16:12
Судя по заданным вопросам о количестве слоев, нейронов и пр. в нейронных сетях ваши познания мягко говоря не глубоки. А при этом вы сразу кидаетесь на решение задачи, что требует хотя бы начального понимания, что такое временные ряды, что такое связанные временные ряды и какие методы и модели используются для работы с ними. Ответы - это целый курс, а не три строчки в форуме. Поэтому мой совет - для начала разобраться, а нужны ли вам нейронные сети вообще или задача хорошо решается более традиционными методами(я почти уверен, что этого будет достаточно). А уж если потом засвербит работать именно с сетями - изучать нейронные сети, подробно и аккуратно. И тогда таких детских вопросов - не возникнет. Удачи.
0
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
08.08.2018, 21:02  [ТС]
Цитата Сообщение от passant Посмотреть сообщение
Судя по заданным вопросам о количестве слоев, нейронов и пр. в нейронных сетях ваши познания мягко говоря не глубоки.
Верно. Но разве для поставленной задачи эти сведения не несут пользы?

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

Цитата Сообщение от passant Посмотреть сообщение
Ответы - это целый курс, а не три строчки в форуме.
У меня нет времени на целый курс. Это исследовательская задача прогнозирования с использованием ИНС. Система не такая уж и сложная, а требования к результату не такие уж и серьёзные. Речь идёт о так называемом многослойном перцептроне, где на вход подаётся 100 значений, а на выходе должно быть одно спрогнозированное. Имеющаяся обучающая выборка содержит тысячи элементов.

Цитата Сообщение от passant Посмотреть сообщение
или задача хорошо решается более традиционными методами(я почти уверен, что этого будет достаточно)
Например? У нас случайные данные на подобии изменения роста цен на акции компании (раз уж такой пример часто используют). Может быть, конечно, и не насколько сложные и случайные, но всё же.
0
698 / 573 / 75
Регистрация: 20.09.2014
Сообщений: 3,706
09.08.2018, 04:59
Цитата Сообщение от dm stark Посмотреть сообщение
Это исследовательская задача прогнозирования с использованием ИНС.
Уверены, что 100 значений, размазанные по обучающей и тестовой выборкам, смогут обучить хоть какую-то мало-мальскую нейронную сеть?
0
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
09.08.2018, 17:58  [ТС]
100 значений подаётся на вход. А обучающая выборки содержит тысячи значений. Я же написал.

Добавлено через 10 минут
20-30 тыс. эпох обучения. Нормально?
0
2641 / 1652 / 267
Регистрация: 19.02.2010
Сообщений: 4,373
09.08.2018, 19:12
Цитата Сообщение от dm stark Посмотреть сообщение
какой метод обучения сети лучше выбрать для этой цели, сколько взять нейронов в скрытом слое, сколько слоёв лучше использовать и т.д.
Подбирайте методом более-менее направленного тыка Т.е. меняйте какой-то параметр (например, число нейронов) - и смотрите, как меняются тенденции (как меняется точность). И ищите выходы на асимптоты или попадания в экстремум.

Цитата Сообщение от dm stark Посмотреть сообщение
20-30 тыс. эпох обучения. Нормально?
Нет. Если понимать под эпохой просмотр цельной обучающей выборки.
0
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
09.08.2018, 19:35  [ТС]
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Нет. Если понимать под эпохой просмотр цельной обучающей выборки.
У нас в обучающей выборке 30 тыс значений. Подавать по 100 значений, получать одно и методом обратного распространения ошибки обучать сеть. Далее сдвигаем на 1 от предыдущего "StartIndex" и берём следующие 100 значений.

Добавлено через 2 минуты
30 тыс предыдущих значений изменяющейся величины для обучения.

Добавлено через 4 минуты
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Подбирайте методом более-менее направленного тыка Т.е. меняйте какой-то параметр (например, число нейронов) - и смотрите, как меняются тенденции (как меняется точность). И ищите выходы на асимптоты или попадания в экстремум.
По архитектуре что подскажите? Раз у нас на входе 50 значений одного временного ряда, потом 50 значений другого временного ряда, а предсказать нужный первый. Может быть нужно строить неполносвязную сеть?
0
2641 / 1652 / 267
Регистрация: 19.02.2010
Сообщений: 4,373
09.08.2018, 19:39
Эпоха - это именно просмотр всей обуч. выборки. Независимо от того, как Вы из неё достаёте примеры при обработке временного ряда.
У Вас получается всего одна эпоха обучения. Это тоже ненормально. Ибо хоть и есть околонулевой шанс, что обучение нейросетки за одну эпоху вдруг сошлось к локальному или глобальному минимуму - но нужно сделать следующую эпоху обучения, чтобы увидеть/подтвердить наличие или отсутствие прогресса.
0
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
09.08.2018, 20:54  [ТС]
Хорошо.
0
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
12.08.2018, 01:29  [ТС]
Что можно сказать на счёт архитектуры? Может быть лучше подойдёт рекуррентный перцептрон? Видите ли, в данных задачи есть информация, что если наша величина ранее уменьшалась, то она однозначно потом будет увеличиваться. Рано или поздно, но чем позже это произойдёт, тем больше времени она будет далее расти. Рекуррентный перцептрон позволяет учитывать то, как изменялась величина ранее. Я думаю, это можно рассматривать это как вариант. Не так ли?

Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Эпоха - это именно просмотр всей обуч. выборки. Независимо от того, как Вы из неё достаёте примеры при обработке временного ряда.
Т.е. сначала взять одну выборку, потом пропустить некоторое количество измерений, затем взять ещё одну. Ведь какая разница, если величина изменяется постоянно.

А на счёт алгоритмов обучения. Я бы хотел использовать что-то вроде алгоритма Левенберга-Марквардта, но не могу найти в сети его реализаций. Может быть вы что-то подскажете по этому поводу
0
2641 / 1652 / 267
Регистрация: 19.02.2010
Сообщений: 4,373
12.08.2018, 12:02
Цитата Сообщение от dm stark Посмотреть сообщение
Я бы хотел использовать что-то вроде алгоритма Левенберга-Марквардта, но не могу найти в сети его реализаций.
Правильно, что не можете.
Ибо классический ЛМ (т.е. с полной матрицей) - подходит только для очень мелких нейронок, а уже при 1000 весов в сети (грубо говоря, Ваши 100 входов и всего 10 нейронов в скрытом слое) имеем матрицу из миллиона значений. В общем, затраты на память тут выходят как квадрат общего числа весов синапсов в нейросети. Ну и нафиг такое?
Поэтому из ЛМов пригоден только стохастическо-диагональный ЛМ, он работает с диагональю матрицы, т.е. с вектором, число элементов в котором равно числу весов в сети. Читать про него на буржуинском, в паре работ Яна ЛеКуна 98г. Если хотите сами его программировать - скажите, дам ссылки на эти статьи.
Но скорость сходимости обучения увеличится с ним ненамного (в 2-3 раза, не более - ибо если более, то тогда с вероятностью 99% у простого попримерного обучения шаг был неверно настроен = был малым). Тем более, что стохастическо-диагональному ЛМу тоже надо ручками задавать шаг обучения. Т.е. и с ним, и без него имеются равные шансы задать шаг неоптимально.
Так что если нейронка работает/обучается медленно - может имеет смысл просто заняться оптимизацией кода программы?
0
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
12.08.2018, 15:34  [ТС]
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Если хотите сами его программировать - скажите, дам ссылки на эти статьи
Давайте поглядим. Желательно конечно иметь какие-либо готовые реализации.
0
2641 / 1652 / 267
Регистрация: 19.02.2010
Сообщений: 4,373
12.08.2018, 21:39
http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf
http://yann.lecun.com/exdb/pub... un-98b.pdf

В первой - это самый-самый последний раздел-аппендикс (перед списком литературы).
Во второй - увы, раскидано по нескольким местам потому, что структура изложения материала там такая. Т.е. разделы 9.1 и 7.4. Но по сравнению с первой статьёй - рассказан иной способ оценивания (не только предварительный перед каждой эпохой, на небольшой подвыборке из нескольких сотен примеров - но и постоянно идущий на основе экспоненциального забывания).
0
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
15.08.2018, 02:49  [ТС]
А нет ли именно самого алгоритма? А то все эти пляски вокруг частных производных весьма смущают.
Может быть вы могли бы пояснить суть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.08.2018, 02:49
Помогаю со студенческими работами здесь

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

Создание нейронной сети оптимальной структуры
Здравствуйте! Мне нужно сформировать нейронную сеть оптимальной структуры с помощью контрастирования. Сеть создается на основе обучающей...

Коррекция весов в LSTM нейронной сети
Всем привет. Разбираюсь с нейронными сетями. В данном случае пишу библиотеку, реализующую LSTM нейронную сеть. Язык программирования - C++....

Сигмоидная функция активации нейронной сети
Доброго времени суток! Начал изучать нейронные сети. Возник следующий вопрос: предположим, что я что-либо прогнозирую, в обучающей выборке...

Робот-собеседник на основе нейронной сети
Всем доброго времени суток! Я поставил перед собой задачу разработать «робота-собеседника», который мог бы общаться на какую-нибудь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru