NeuroPro | нейронные сети |
|
Начало Новости Услуги Нейронные сети Программы Статьи Заметки Ссылки Вопросы и ответы Об авторе / контакты |
Мифы нашего городка. Нейросети могут всё? (О частой неадекватности обученных нейронных сетей и сделанных по ним выводов, и причинах этого)
Рассмотрим методологические задачи: как определить, что построенная (обученная) искусственная нейронная сеть адекватна как модель проблемной области, а в случае неадекватности − существуют ли индикаторы, позволяющие целенаправленно вести отбор структур нейросетей и параметров алгоритмов обучения. Начнем c вопроса: можно ли сравнивать ошибку обобщения нейронной сети (ошибку, с которой обученная нейросеть решает задачи независимой тестовой выборки) с критериями, привязанными к проблемной области? Например, с точностью решения этой же круга задач человеком-экспертом или с тем уровнем точности, после превышения которого возможен экономический эффект от применения нейромодели для автоматизация процесса принятия решения. В принципе, здесь и далее слово "нейромодель" может быть заменено на "модель" и рассуждения могут быть спроецированы на любой процесс восстановления зависимостей между данными. Именно сравнение нейронных сетей с объектами, внешними по отношению к генеральной совокупности (из которой извлекались обучающая и тестовая выборки), и использовалось в начале 1990-х годов при популяризации нейроинформатики в Красноярске. Это было время внедрения компьютеров в учреждения медицины, в психологию и подобные области эмпирической диагностики, поэтому и было возможным достаточно субъективное мнение: если нейросеть после обучения будет выдавать диагноз с точностью, близкой к точности диагностики врачом, то можно создавать нейросетевые экспертные системы для тех регионов, где нет врачей-специалистов нужной квалификации или в нужном количестве − путем обучения нейронной сети на данных этого конкретного региона, которые переведены в электронный вид (из карточек и историй болезни), поскольку это не требует высокой квалификации операторов ввода данных и самого создателя нейроэкспертной системы (которому нужно только в правильной последовательности понажимать кнопки в нейропрограмме) и позволяет обеспечивать настройку на специфику конкретной территории. Стремления к широте внедрения (по крайней мере, к большому числу апробаций нейрорешений для задач прогнозирования и диагностики) привели к нежеланию максимизировать точность прогноза в каждом случае и к принятию уровня в 70-80% правильных ответов на тестовой выборке как достаточного для прекращения экспериментов (с таким уровнем решает эту задачу человек, нейронная сеть его уровня достигла, точнее решит только Бог). При этом на обучающей выборке от нейронной сети обычно требовалась 100%-ая точность решения. После такого долгого введения пора переходить к конкретике. Вот второй вопрос: может ли что-нибудь негативное скрываться за значительным отличием точностей решения обучающей и тестовой выборок? Ответ на этот вопрос позволит ответить и на первый. Тестовая выборка используется для проверки адекватности построенной модели, поэтому требуем, чтобы тест был представительным. Соответственно, нельзя ожидать, что увеличение числа тестовых примеров приблизит среднюю ошибку обобщения к ошибке на обучающей выборке, и говорить, что флуктуация в сторону меньшей средней точности при тестировании пронаблюдалась только из-за недостаточного объема тестов. Если же мы признаем, что тестов недостаточно, то адекватность модели мы подтвердить не можем (с ростом объема тестовой выборки доля неправильных ответов может и возрасти до неприемлемого уровня, а не снизиться).
А если тест представительный, то почему же различаются точности решения на двух
выборках (обучающей и тестовой), полученных из одной генеральной
совокупности? Причина − в неадекватности построенной модели
(возможные варианты: обучающая выборка непредставительна, структура модели
избыточна и позволяет при обучении запомнить шумовую компоненту в данных,
неправильно выбраны целевые функции для обучения, неоптимально выбраны настройки
алгоритма обучения,...). Т.е. опять же переходим к дилемме − либо
соглашаемся с неадекватностью модели или процесса ее построения, либо
соглашаемся уже с непредставительностью обучающей выборки (но модель
придется всё равно выбрасывать).
Предыдущие два абзаца можно кратко переписать так: существенное отличие свойств отклика модели на двух выборках, полученных из одной генеральной совокупности, указывает на неадекватность модели и/или непредставительность по крайней мере одной из выборок.
В начале заметки было высказано пожелание об индикаторах, которые позволили бы
целенаправленно вести оптимизацию настроек. Такая возможность есть − для
оценки оптимальности размера нейронной сети или достаточности объема обучающей
выборки возможно применение теории "кривых обучения" [1-4], т.е.
интер- и экстраполяции графиков ошибок обучения и обобщения, построенных по
нескольким экспериментальным точкам (аргумент функций − сложность модели
или размер обучающей выборки, значение − ошибка обучения или обобщения),
и поиска областей минимумов, асимптотических приближений ошибок обучения и
обобщения друг к другу. Идеализированные кривые представлены на Рис.1-2 и в [1-3],
реальные можно увидеть в [1,2,4-6].
Поэтому если объема обучающей выборки недостаточно для выхода ошибок обучения и обобщения на единый асимпотический уровень, необходимо увеличение объема обучающей выборки или использование менее сложной модели (например, нейросети с меньшим числом нейронов) − последнее наряду с увеличением адекватности новой модели уменьшит и ошибку обобщения при исходном объеме обучающей выборки, правда, за счет роста ошибки обучения − см. Рис.3.
Резюме к предыдущему абзацу: моделирование рекомедуется начинать с простейших
классических моделей (линейная регрессия, линейный дискриминант,
полиномиальная регрессия малой степени, байесовский классификатор) и
только после этого переходить к нейронным сетям.
Если нелинейная модель (нейронная сеть), реализующая высоконелинейное
отображение входных сигналов в выходные, обобщает хуже более простой модели, то
это указывает на неадекватность более сложной модели. Причем нейромодель
может быть в этой задаче и лучшим решением − но недостаточность размера
выборки или избыточность размера нейросети не позволяют адекватно настроить
параметры нейронной сети.
Итак, для проверки гипотезы об адекватности модели необходимо выполнить набор проб (построений-обучений моделей) в двумерном пространстве "размер обучающей выборки − сложность модели". Более того, если затем выполняется и редукция неинформативных независимых переменных, то оптимизацию нужно вести уже в трехмерном пространстве (добавив еще и число используемых моделью наиболее информативных признаков), поскольку при разных размерах нейросети минимумам ошибок обобщения может соответствовать разное число независимых признаков (см. [7], хотя этот эффект в тексте статьи и не проакцентирован). А еще есть возможность установить требования к точности решения отдельного примера (в целевой функции), задать требование к точности решения обучающей выборки (для, например, ранней остановки обучения),... Высказанное требование о необходимости большого числа проб для нахождения адекватной модели может выглядеть издевательским, поскольку подавляющее число пользователей нейротехнологий к этому не привыкло и не имеет средств автоматизации процесса. Тем не менее, такая процедура является необходимой, и люди, хоть раз выполнявшие идентификацию ARIMA-модели для прогнозирования временных рядов, с этим согласятся: для ARIMA-модели увеличение или уменьшение глубины погружения ряда всего на 1 лаг в сторону от оптимального, т.е. изменение числа адаптивных параметров модели на 1-4 коэффициента, приводит к появлению значимых автокорреляций у ряда остатков, т.е. к неслучайным ошибкам. Но статистикам хорошо − они имеют возможность применения формальных индикаторов (графики автокорреляционных и частных автокорреляционных функций для исходного ряда) для однозначного определения структуры модели, использования индикаторов над рядом остатков для подтверждения адекватности модели, и независимая тестовая выборка им бывает не нужна. Нейросетевики-же профаны ("нажиматели кнопок в нейропрограммах") считают, что нейросети "могут всё" и все ошибки пользователей сами исправляют наилучшим образом. Это не так. У каждого математического способа оценивания есть поле, где корректны его математические формулы, и гораздо более узкое поле, где метод позволяет получать хорошие оценки. Если же модель неадекватна, то нельзя переходить к анализу ее свойств (например, определению информативности независимых признаков "с точки зрения модели") и интерпретации этих свойств в терминах проблемной области (например, сравнению, насколько совпадает набор наиболее информативных для нейронной сети признаков с набором признаков, выделяемым или используемым человеком-экспертом). Не заботиться об адекватности модели можно в единственном случае − при изучении алгоритмов обучения, т.е. скоростей идентификации собственно значений параметров модели, когда целью ставится именно ускорение идентификации. Поэтому если читатель увидит работу, где для обученной нейросети указывается точность обобщения на уровне 60-70-80% правильных ответов одновременно с утверждением, что на обучающей выборке нейронная сеть обучилась 100%-правильному распознаванию, то можно говорить о неадекватности модели. Если же авторы делают еще и какую-то интерпретацию свойств модели в привязке к проблемной области, то это самообман авторов и мистифицикация читателей. Отдельные методы нейроинформатики, например, байесова регуляризация, позволяют автоматически оптимизировать структуру нейросети, т.е. ликвидировать избыточное число степеней свободы. Однако, как и у всех математических методов, у неё есть область применимости: необходимо, чтобы число примеров в обучающей выборке превосходило число адаптивных параметров нейросети в 3 плюс-минус 1 раза [8], т.е. работать с выборками недостаточного размера автоматически и без иных дополнительных процедур по прежнему нельзя. Поэтому легкого пути (возможности всегда и во всех ситуациях достичь наилучшего решения путем обучения только одной нейронной сети) нет, нужно использовать разнообразные индикаторы вдобавок к описанным "кривым обучения", но таких сервисных и индикаторных процедур в массовом нейрософте как правило не реализовано. Вывод: "поход практической нейроинформатики в массы" не позволил массам корректно применять нейросети. Причины: отсутствие в учебниках описания корректной методологии нейромоделирования, отсутствие поддержки широко распространенными нейропрограммами этой самой методологии и многих нужных сервисных и индикаторных процедур, насаждение учебниками некритического взгляда "нейросети могут всё". В итоге пользователи неосознанно следуют принципу "нейроинформатика − это не наука, а регилия", что не является верным.
Литература
Может сложиться впечатление, что представленные на рисунках "кривые обучения" являются результатом зарубежных исследований 1990х годов, и поэтому может быть сильно жестким требование о знании этих эффектов российскими пользователями. На самом деле, данным результатам уже как минимум 35 лет − см., например, [9] и другие книги А.Г.Ивахненко по методу МГУА в конце 1960х − начале 1970х, да и в работах других советских классиков теории обучения машин эти закономерности указывались. А все достижения [1] заключаются в описании этих давно известных эмпирических эффектов простыми формулами и возможности на основе этих формул интерполировать и экстраполировать кривые для прогнозирования значений в тех или иных точках (объемах обучающей выборки,...). Так что число работ и на русском таково, что описание представленных на Рис.1-3 эффектов обязательно встретится при хоть сколько-нибудь углубленном изучении статистики, нейронных сетей, методов машинного обучения, если читать классические работы действительно грамотных людей.
Литература
|