Введение:

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

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

Основная мысль:

  1. Развернуть наборы данных

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

2. Подходящая архитектура для анализа документов

Нейронные сети имеют разную архитектуру. Эта статья пытается показать, что CNN имеет лучшую производительность среди всех других нейронных сетей. После того, как мы выберем правильный шаг и отступ, CNN будет фиксировать пространственную топологию, в то время как стандартная нейронная сеть игнорирует все топологические свойства входных данных. Как сказано в документе, «общая стратегия сверточной нейронной сети состоит в том, чтобы извлекать простые функции с более высоким разрешением, а затем преобразовывать их в более сложные функции с более низким разрешением». Ниже приведены результаты различных сетей по задаче анализа документов. Обучающий набор - это первые 50 000 шаблонов обучающего набора MNIST, а оставшиеся 10 000 предназначены для проверки и настройки гиперпараметров.

3. Легче реализовать и отладить

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

Заключение

В целом, CNN была самой важной нейронной сетью в области компьютерного зрения, распознавания лиц и даже автоматического создания почерка. Более того, из диаграммы выше мы видим, что, хотя большинство этих алгоритмов машинного обучения имеют отличную производительность, CNN снижает уровень ошибок менее чем на 0,5%! Какое отличное выступление!

Кстати, еще одно предложение после прочтения этого поста, попробуйте реализовать CNN самостоятельно! Сравните свои результаты с уже реализованными на Github и узнайте больше! Не забудьте попробовать свои силы в нашем учебном посте!