Есть ряд вопросов, которые нужно задать:
- у вас есть соответствующее количество нейронов в каждом слое
- Вы используете соответствующие типы передаточных функций?
- Вы используете соответствующий тип алгоритма обучения
- у вас достаточно большой размер выборки
- Можете ли вы подтвердить, что ваши образцы имеют правильные отношения друг с другом, чтобы быть информативными? (не избыточный, соответствующего размера и т. д.)
Что вы можете дать на пути эфемерид? Можете ли вы рассказать нам что-нибудь о природе данных?
Вы можете создать градиентное дерево нейронных сетей.
Вы спросили, что произойдет, если вы остановитесь рано.
Вы можете попробовать себя. Запустите 300x, где вы начнете со случайными инициализированными весами, а затем остановитесь на указанном количестве итераций, скажем, 100. В этот момент вычислите свою ошибку ансамбля, ошибку обучающего подмножества и ошибку набора тестов. Повторение. После того, как у вас есть 300 значений, чтобы сказать вам, в чем заключается ошибка, вы можете получить представление о вашем распределении ошибок, пройдя 100 итераций обучения. Если хотите, вы можете попробовать это распределение на нескольких других уровнях обучения. Я предлагаю 200, 500 и 1000 итераций. Это даст вам представление о том, как меняется ваше SNR с течением времени. График отношения SNR к числу итераций может дать вам представление о «скалах» или «достаточно хороших». Иногда бывают скалы, где ошибка падает. Иногда ошибка допустима в этот момент.
Требуются «относительно простые» данные или «довольно удача», чтобы ваша система последовательно сходилась менее чем за 100 итераций. Оба из них не о повторяемости и не являются обобщаемыми.
Почему вы думаете с точки зрения сближения весов, а не ошибки ниже определенного порога. Вы когда-нибудь слышали о парадоксе голосования? ( ссылка ) Если у вас есть циклические взаимодействия в вашей системе (например, обратная связь в нейронных сетях), вы можете столкнуться с парадоксами голосования - связанными изменениями. Я не знаю, является ли один только вес достаточным показателем для конвергенции сети.
Вы можете думать о весах как о пространстве. Он имеет более 3-х измерений, но это все еще пространство. В «центроиде» этого пространства находится ваш «наиболее подходящий» регион. Вдали от центроида менее подходит. Вы можете думать о текущих настройках ваших весов как об одной точке в этом пространстве.
Теперь вы не знаете, где на самом деле «хорошо». То, что у вас есть, это местный «склон». Вы можете выполнить градиентный спуск к местному «лучше», учитывая, где сейчас находится ваша точка. Он не говорит вам «универсальный» лучше, но местный лучше, чем ничего.
Итак, вы начинаете итерацию, спускаясь вниз к этой долине лучшего. Вы повторяете, пока не решите, что все готово. Может быть, значение ваших весов велико. Может быть, они подпрыгивают повсюду. Может быть, вычисление «занимает слишком много времени». Вы хотите быть сделано.
Так как же узнать, достаточно ли вы хороши?
Вот быстрый тест, который вы могли бы сделать:
Возьмите 30 одинаковых случайных подмножеств данных (например, по несколько процентов от каждого) и переобучите им сеть. Это должно быть намного быстрее. Наблюдайте, как долго они сходятся, и сравнивайте это с историей конвергенции большого множества. Протестируйте ошибку сети для всех данных в этих подмножествах и посмотрите, как это распределение ошибок соотносится с вашей большой ошибкой. Теперь увеличьте размеры подмножества до 5% от ваших данных и повторите. Посмотрите, чему это вас учит.
Это вариант оптимизации роя частиц (см. Ссылку), смоделированный тем, как пчелы принимают решения на основе разведки.
Вы спросили, что происходит, если веса не сходятся.
Нейронные сети являются одним из инструментов. Они не единственный инструмент. Есть и другие. Я бы посмотрел на использование одного из них.
Я работаю с точки зрения информационных критериев, поэтому я смотрю как на вес (количество параметров), так и на ошибку. Вы можете попробовать один из них.
Есть несколько типов предварительной обработки, которые могут быть полезны. Центр и Масштаб. Поворот с использованием основных компонентов. Если вы посмотрите на собственные значения в ваших основных компонентах, вы можете использовать правила построения графика, чтобы оценить размерность ваших данных. Уменьшение размера может улучшить сходимость. Если вы знаете что-то о «базовой физике», вы можете сгладить или отфильтровать данные, чтобы удалить шум. Иногда сходимость связана с шумом в системе.
Я нахожу идею сжатого ощущения интересной. Это может позволить радикальную выборку некоторых систем без потери обобщения. Я хотел бы взглянуть на некоторую статистику повторной выборки начальной загрузки и распределение ваших данных, чтобы определить, является ли и на каком уровне дополнительной выборки обучающий набор становится репрезентативным. Это дает вам некоторую меру "здоровья" ваших данных.
Иногда хорошо, что они не сходятся
Вы когда-нибудь слышали о парадоксе голосования? Вы могли бы думать об этом как о двоюродном брате с большим количеством в двустороннем тупике. Это петля. В парадоксе голосования с двумя людьми первый человек хочет кандидата "А", в то время как второй хочет кандидата "Б" (или не-А или такой). Важной частью является то, что вы можете думать об этом как о петле.
Петли важны в нейронных сетях. Обратная связь. Рекурсия. Это позволило персептрону решать XOR-подобные проблемы. Это создает циклы, и иногда циклы могут действовать как парадокс голосования, где они будут продолжать менять вес, если у вас было бесконечное число итераций. Они не должны сходиться, потому что важен не индивидуальный вес, а взаимодействие весов в цикле.
Замечания:
Использование только 500 итераций может быть проблемой. У меня были NN, где 10000 итераций было едва достаточно. Количество итераций, которое должно быть «достаточно», зависит, как я уже указывал, от данных, NN-топологии, функций передачи узлов, функции обучения / обучения и даже компьютерного оборудования. Вы должны хорошо понимать, как все они взаимодействуют с вашим количеством итераций, прежде чем сказать, что было «достаточно» или «слишком много» итераций. Другие соображения, такие как время, бюджет и то, что вы хотите делать с NN, когда вы закончите обучение, также должны быть учтены.
Chen, RB, Chang, SP, Wang, W. & Wong, WK (2011, сентябрь). Оптимальные экспериментальные конструкции с помощью методов оптимизации роя частиц (препринт), получено 25 марта 2012 г., http://www.math.ntu.edu.tw/~mathlib/preprint/2011-03.pdf