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

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

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

  • Прямая связь
  • Рецидивирующий
  • Долговременная кратковременная память
  • Иордания
  • Эльман
  • Хопфилд

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

Один из самых новых подходов к этой цели - использование генетического программирования.

Генетическое программирование и нейроэволюция

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

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

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

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

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

Резюме

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

Дополнительно, чтобы найти оптимальную топологию, можно использовать генетические алгоритмы, чтобы попытаться разработать «идеальную» топологию для данного приложения.

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

Эта статья изначально была размещена на моем собственном сайте.

Хакерский полдень - это то, с чего хакеры начинают свои дни. Мы часть семьи @AMI. Сейчас мы принимаем заявки и рады обсуждать рекламные и спонсорские возможности.

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