Как понять что нейросеть переобучилась

0
16

Как понять, что нейросеть решит вашу проблему. Прагматичное руководство

Правило 3. Нейросеть способна решить те же задачи, что может решить человек с небольшими точками данных и почти без контекста

На этапе обучения происходит вычисление синаптических коэффициентов в процессе решения нейронной сетью задач, в которых нужный ответ определяется не по правилам, а с помощью примеров, сгруппированных в обучающие множества. Так что нейросеть на этапе обучения сама выполняет роль эксперта в процессе подготовки данных для построения экспертной системы. Предполагается, что правила находятся в структуре обучающих данных.

Нейронные сети представляют собой новую и весьма перспективную вычислительную технологию, дающую новые подходы к исследованию динамических задач в экономической области. Первоначально нейронные сети открыли новые возможности в области распознавания образов, затем к этому прибавились статистические и основанные на методах искусственного интеллекта средства поддержки принятия решений и решения задач в сфере экономики.

Вы знаете некий американский зоомагазин со специализацией на рептилиях, который анализирует предыдущие покупки клиентов, чтобы рекомендовать им новые товары, — и довольно эффективно делает это. Вы — британский зоомагазин со специализацией на попугаях. Можете ли вы доверять модели американского магазина для решения своей проблемы, если она будет обучаться на ваших данных?

Сеть Кохонена еще называют «самоорганизующейся картой признаков». Сеть такого типа рассчитана на самостоятельное обучение во время обучения сообщать ей правильные ответы необязательно. В процессе обучения на вход сети подаются различные образцы. Сеть улавливает особенности их структуры и разделяет образцы на кластеры, а уже обученная сеть относит каждый вновь поступающий пример к одному из кластеров, руководствуясь некоторым критерием «близости». Сеть состоит из одного входного и одного выходного слоя. Количество элементов в выходном слое непосредственно определяет, сколько различных кластеров сеть сможет распознать. Каждый из выходных элементов получает на вход весь входной вектор. Как и во всякой нейронной сети, каждой связи приписан некоторый синаптический вес. В большинстве случаев каждый выходной элемент соединен также со своими соседями. Эти внутрислойные связи играют важную роль в процессе обучения, так как корректировка весов происходит только в окрестности того элемента, который наилучшим образом откликается на очередной вход. Выходные элементы соревнуются между собой за право вступить в действи и «получить урок». Выигрывает тот из них, чей вектор весов окажется ближе всех к входному вектору.

В искусственных нейронах могут быть различные функции активации, но и в используемых мной программах, и в известной литературе указаны только следующие виды функций:
• Линейная: выходной сигнал нейрона равен его потенциалу,
• пороговая: нейрон выбирает решение из двух вариантов: активен / неактивен,
• Многопороговая: выходной сигнал может принимать одно из q значений, определяемых (q-1) порогом внутри предельных значений.
• Сигмоидная: рассматриваются два вида сигмоидных функций:

с выходными значениями в промежутке [0,1] и

с выходными значениями в промежутке [-1,1].

На заре развития электронно-вычислительной техники в середине ХХ века среди ученых и конструкторов еще не существовало единого мнения ок том, как должна быть реализована и по какому принципу работать типовая электронно-вычислительная машина. Это сейчас мы с Вами изучаем в курсах Основ информатики архитектуру машины фон Неймана, по которой построены практически все существующие сегодня компьютеры. При этом в тех же учебниках ни слова не говорится о том, что в те же годы были предложены принципиально иные архитектуры и принципы действия компьютеров. Одна из таких схем получила название нейросетевого компьютера, или просто нейросети.

ЧИТАТЬ ТАКЖЕ:  Для чего нужен искусственный интеллект кратко и понятно

Контролируемое обучение нейросети можно рассматривать как решение оптимизационной задачи. Ее целью является минимизация функции ошибок Е на данном множестве примеров путем выбора значений весов W. Достижение минимума называется сходимостью процесса обучения. Именно возможность этого и доказал Розенблатт.

Вы можете посчитать количество пикселей как объем информации, которую нужно изучить. Так, здесь у нас 400 пикселей по 255 значений каждый, значит, разумно предположить, что с несколькими миллионами параметров в нашем уравнении можно учесть все возможные паттерны.

Правило 1. Нейронная сеть почти наверняка решит проблему, если ее уже решил другой алгоритм ML

Здесь возникает проблема во втором пункте. Мы знаем, что Вселенная детерминировано сворачивает пептиды, а сами пептиды полностью описываются аминокислотами. Однако Вселенная работает не с аминокислотами, а с триллионами взаимодействий между гораздо меньшими частицами.

Это может показаться глупой эвристикой, но она удивительно хорошо подходит для большинства простых задач машинного обучения. Например, именно по причине малого размера многие задачи NLP теперь лучше решаются, чем большинство задач с видео, хотя существующая сетевая архитектура изначально больше подходит для видеообработки. Но размер входных и выходных данных у серьезных видеозадач намного больше. С другой стороны, хотя NLP находится совершенно в другой области, по размеру данных эта задача гораздо ближе к обработке изображений.

5. Оптимизация архитектуры сети
Одной из самых больших проблем при использовании нейросетей является невозможность предварительного определения оптимального количества скрытых слоев и нейронов в них. Если нейронов будет слишком мало, то это равносильно потере каких-то нелинейных связей в модели, если нейронов будет много, то это может привести к «переобучению» сети, то есть она просто «выучит» данные, а не распознает их структуру. Поэтому применяется два основных подхода:
— деструктивный подход: берется сеть заведомо большего размера, чем нужно, и в процессе обучения из нее удаляются связи и даже сами нейроны;
— конструктивный подход: первоначально берется маленькая сеть, и к ней, в соответствии со структурой и сложностью задачи, добавляются новые элементы.

Для обучения нейронной сети требуются обучающие данные. Они должны отвечать свойствам представительности и случайности или последовательности. Все зависит от класса решаемой задачи. Такие данные представляют собой ряды примеров с указанием для каждого из них значением выходного параметра, которое было бы желательно получить. Действия, которые при этом происходят, можно назвать контролируемым обучением: «учитель» подаем на вход сети вектор исходных данных, а на выходной узел сообщает желаемое значение результата вычислений.

Поскольку ошибка зависит от весов нелинейно, получить решение в аналитической форме невозможно, и поиск глобального минимума осуществляется посредством итерационного процесса- так называемого обучающего алгоритма. Разработано уже более сотни разных обучающих алгоритмов, отличающихся друг от друга стратегией оптимизации и критерием ошибок. Обычно в качестве меры погрешности берется средняя квадратичная ошибка (СКО):

где М – число примеров в обучающем множестве.

Кстати говоря, недавно в одном из журналов я читал, что технология последовательных вычислений подошла к пределу своих технических возможностей, и в настоящее время остро стоит проблема развития методов параллельного программирования и создания параллельных компьютеров. Так что, может быть, нейросети являются только очередным шагом в этом направлении.

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь