Нейросети в дизайне - преимущества и ограничения.

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

Нейросетевые инструменты для дизайна и разработки   на базе искусственного интеллекта - широко обсуждаемая тема последних лет в IT-среде. 

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

Конечно стоит помнить что нейросети, как и любой математический инструмент - не универсальны , не всеобщая панацея,  они имеют ряд ограничений и применимы к вполне определённому классу задач.

Способности  нейросетей не столь велики, как это рекламируется. И это связано даже не с устройством, или алгоритмом, осуществляющим прогноз, а с самим происходящим явлением. Только в том случае, когда во внимание берутся существенные параметры, на основании которых будет строиться прогноз, будет иметь место некоторый успех. Выбором этих параметров занимаются эксперты в определённой области на основании своего опыта и интуиции, и к прогнозирующим машинам это не имеет никакого отношения. Как только такие параметры определены, можно начать статистическую обработку данных и построить модель явления. Но данная модель будет лишь показывать зависимость (корреляцию) выбранных входных параметров от выходных, которые имели место в прошлом. Были опубликованы научные статьи, показывающие что нейросетевые методы не имеют в этом отношении серьёзных преимуществ по сравнению с классическими статистическими методами прогноза.   Единственно, разницу составляет то, что классические статистические методы требуют расчёта многих сложных уравнений, а нейросетевой подход более естественно решает требуемые уравнения, что связано с его устройством.   Нейросетевые методы — это по сути способ решения систем уравнений с большим числом неизвестных коэффициентов. Алгоритм поиска этих коэффициентов технически более быстрый, чем у аналогичных классических способов решения. С точки зрения развития вычислительной техники и программирования, нейронная сеть — способ решения проблемы эффективного параллелизма, и, если задача допускает распараллеливание, она решается нейросетью быстрее и эффективнее чем классическими методами.

                 О данных нечислового характера

Всякая нейронная сеть принимает на входе числовые значения и выдает на выходе также числовые значения.  Более трудной задачей является работа с данными нечислового характера. Чаще всего нечисловые данные бывают представлены в виде номинальных переменных типа Пол  = {Муж , Жен }, цвет,  фасон .    Однако, нейронные сети не дают хороших результатов при работе с номинальными переменными, которые могут принимать много разных значений.

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

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

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

                      О длине числовых рядов для обучения.

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

                    Стационарность или постоянство — свойство процесса не менять свои характеристики со временем.

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

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

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

          Локально стационарные случайные процессы

Важным классом нестационарных процессов являются локально стационарные (ЛС) процессы. Интуитивное определение для локально стационарных процессов: статистические свойства изменяются медленно с течением времени. С другой стороны, это процессы, которые локально в каждый момент времени близки к стационарному процессу, но чьи характеристики (ковариации, параметры и т. д.) постепенно меняются неопределенным образом с течением времени.  

Практическое значение решений  задач оптимизации прямо зависит от того, насколько хороша исходная математическая модель. В сложных системах математическое моделирование является затруднительным, приблизительным, неточным. Чем сложнее система, тем осторожнее следует относиться к ее оптимизации. Это замечание относится и к  системам с искусственным  интеллектом.       

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

1. Оптимальное решение часто оказывается неустойчивым: незначительные на первый взгляд изменения в условиях задачи могут привести к выбору существенно отличающихся альтернатив.

2. Рассматриваемая система является частью некоторой большей системы, и тогда локальная оптимизация совсем не обязательно приведет к тому же результату, который потребуется от подсистемы при оптимизации системы в целом. Это приводит к необходимости увязывать критерии подсистем с критериями системы, часто делая ненужной локальную оптимизацию.

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

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

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

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