это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
ID (номер) заказа
4220320
Ознакомительный фрагмент работы:
ГЛОССАРИЙ
Deep learning — глубокое обучение;
Supervised learning — обучение с учителем;
SVM (support vector machine) — метод опорных векторов;
Pooling — операция объединения в свёрточных нейронных сетях;
Softmax — функция мягкого максимума;
Dropout — метод регуляризации для предотвращения переобучения сети;
Batches — группы примеров, используемые для обучения сети;
CBOW (continuous bag of words) — непрерывный мешок со словами, один из алгоритмов обучения Word2Vec;
CNN (convolutional neural network)— свёрточная нейронная сеть;
RNN (recurrent neural network) — рекуррентная нейронная сеть;
LSTM (longshorttermmemory) —долгая краткосрочная память, разновидность архитектуры рекуррентных нейронных сетей.
ВВЕДЕНИЕ
В современном мире все чаще встречается необходимость автоматического распознавания текста с фотографий, картинок или видео. Будь то перевод рукописного текста на другой язык или же просто быстрая оцифровка информации с бумажных носителей – так или иначе, данная возможность значительно облегчает жизнь человека.Реализовать алгоритм распознавания текста возможно с помощью искусственных нейронных сетей. Нейронная сеть — математическая модель, а также её программное или аппаратное воплощение, построенная по принципу организации и функционирования биологических нейронных сетей. По сути, в итоге мы получаем продукт, имитирующий человеческое мышление.
Актуальность работы обусловлена значимостью выбранной темы. Современный мир нельзя представить без чтения и обработки информации. Объем информации, которую получает человек, растёт в огромном количестве. И эта информация может быть обработана различными информационными системами. На текущее время самый простой для инженера-программиста способ, это нейросеть. Нейросетями обрабатывается любая информация, от графической до огромных массивов данных.
Объект исследования. Процесс функционирования алгоритмов распознавания текстов на изображении.
Предмет исследования. Алгоритм распознавания текстов на изображении.
Цель работы. Исследовать применение нейросетей для распознавания текстов и выбор методов алгоритмов обучения.
Задачи работы:
1)Рассмотреть понятие и устройство нейросетей;
2)Изучить особенности и виды применения нейросетей;
3)Охарактеризовать работу алгоритма распознавания;
4)Определить перспективы реализации и значимость развития алгоритмов нейросетей для распознавания текста и обучения.
Практическая значимость работы заключается в необходимости совершенствования методов распознавания текста, в уменьшении количества затрачиваемых на это ресурсов. Возможность автоматизировать огромное количество ручного монотонного труда несет немалую практическую ценность.
Структура работы. Работа состоит из введения, теоретической и практической части в виде двух глав, заключения и списка использованных источников.
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ УСТРОЙСТВА НЕЙРОСЕТЕЙ
1.1 Понятие и устройство нейросетей
Нейронные сети отражают поведение человеческого мозга, позволяя компьютерным программам распознавать закономерности и решать общие проблемы в области ИИ, машинного обучения и глубокого обучения.[1]
Нейронные сети, также известные как искусственные нейронные сети (ИНС) или симулированные нейронные сети (СНС), являются подмножеством машинного обучения и лежат в основе алгоритмов глубокого обучения. Их название и структура вдохновлены человеческим мозгом, имитирующим то, как биологические нейроны передают друг другу сигналы. [2]
796290217170Рисунок SEQ Рисунок \* ARABIC 1 – Диаграмма нейросетиРисунок SEQ Рисунок \* ARABIC 1 – Диаграмма нейросетиРисунок SEQ Рисунок \* ARABIC 1 – Диаграмма нейросетиРисунок SEQ Рисунок \* ARABIC 1 – Диаграмма нейросети
Искусственные нейронные сети (ИНС) состоят из узловых слоев, содержащих входной слой, один или несколько скрытых слоев и выходной слой. Каждый узел, или искусственный нейрон, соединяется с другим и имеет соответствующий вес и порог. Если выходной сигнал любого отдельного узла превышает заданное пороговое значение, этот узел активируется, передавая данные на следующий слой сети. В противном случае данные не передаются на следующий уровень сети. [3]
Нейронные сети опираются на обучающие данные для обучения и повышения своей точности с течением времени. Однако, как только эти алгоритмы обучения настраиваются на точность, они становятся мощными инструментами в информатике и искусственном интеллекте, позволяя нам классифицировать и кластеризовать данные с высокой скоростью. Задачи по распознаванию речи или изображений могут занимать минуты по сравнению с часами по сравнению с ручной идентификацией человеческими экспертами. Одной из самых известных нейронных сетей является поисковый алгоритм Google. [4]
Принцип работы нейронных сетей. Представим каждый отдельный узел как собственную модель линейной регрессии, состоящую из входных данных, весов, смещения (или порога) и выхода. Формула будет выглядеть следующим образом:∑wixi + bias = w1x1 + w2x2 + w3x3 + biasoutput = f(x) = 1 if ∑w1x1 + b>= 0; 0 if ∑w1x1 + b < 0После определения входного слоя назначаются веса. Эти веса помогают определить важность любой переменной, при этом большие веса вносят более значительный вклад в выходной результат по сравнению с другими входами. Затем все входы умножаются на соответствующие веса и суммируются. После этого выход проходит через функцию активации, которая определяет выход. Если выход превышает заданный порог, то узел "срабатывает" (или активируется), передавая данные на следующий слой сети. [2, 5]
В результате выход одного узла становится входом следующего узла. Этот процесс передачи данных от одного слоя к следующему определяет эту нейронную сеть как сеть с прямой связью. [6]
Далее разберем, как может выглядеть один узел, используя двоичные значения. Мы можем применить эту концепцию к более осязаемому примеру, например, стоит ли вам заняться серфингом (Да: 1, Нет: 0). Решение пойти или не пойти — это наш прогнозируемый результат, или y-hat.
Предположим, что на принятие решения влияют три фактора:
Хорошие ли волны? (Да: 1, Нет: 0)Пуст ли состав? (Да: 1, Нет: 0)
Было ли в последнее время нападение акул? (Да: 0, Нет: 1)
Затем предположим следующее, что дает нам следующие входные данные:X1 = 1, так как волны накатывают.X2 = 0, так как толпы нетX3 = 1, так как недавно не было нападения акул.
Теперь нам нужно присвоить некоторые веса для определения важности.
Большие веса означают, что определенные переменные имеют большее значение для решения или результата.W1 = 5, так как большие приливы бывают нечасто.W2 = 2, так как вы привыкли к толпам людейW3 = 4, так как вы боитесь акул.
Наконец, мы также предположим, что пороговое значение равно 3, что приведет к значению смещения -3. Имея все различные исходные данные, мы можем начать подставлять значения в формулу, чтобы получить желаемый результат.Y-hat = (1*5) + (0*2) + (1*4) - 3 = 6
Если мы используем функцию активации из начала этого раздела, мы можем определить, что выход этого узла будет равен 1, так как 6 больше 0. В этом случае вы будете заниматься серфингом; но, если мы отрегулируем веса или порог, мы можем добиться других результатов от модели. Когда мы наблюдаем одно решение, как в приведенном выше примере, мы можем увидеть, как нейронная сеть может принимать все более сложные решения в зависимости от выхода предыдущих решений или слоев. [7]
В приведенном выше примере мы использовали перцептроны, чтобы проиллюстрировать некоторые математические принципы, но нейронные сети используют сигмоидные нейроны, которые отличаются тем, что имеют значения от 0 до 1. Поскольку нейронные сети ведут себя подобно деревьям решений, каскадируя данные от одного узла к другому, наличие значений x от 0 до 1 уменьшит влияние любого изменения одной переменной на выход любого узла, а затем и на выход нейронной сети. [2, 4]
Когда мы начинаем думать о более практических случаях использования нейронных сетей, таких как распознавание изображений или классификация, мы будем использовать контролируемое обучение, или маркированные наборы данных, для обучения алгоритма. В процессе обучения модели мы захотим оценить ее точность с помощью функции стоимости (или потерь). Ее также принято называть средней квадратичной ошибкой (MSE). В приведенном ниже уравнении: [8]
i представляет собой индекс выборки;y-hat - предсказанный результат;y - фактическое значение;m - количество образцов.𝐶𝑜𝑠𝑡 𝐹𝑢𝑛𝑐𝑡𝑖𝑜𝑛= 𝑀𝑆𝐸=1/2𝑚 ∑129_(𝑖=1)^𝑚▒(𝑦 ̂^((𝑖) )−𝑦^((𝑖) ) )^2
В итоге, целью является минимизация функции стоимости для обеспечения правильного соответствия для любого данного наблюдения. По мере того, как модель корректирует свои веса и смещение, она использует функцию стоимости и обучение с усилением для достижения точки сходимости или локального минимума.
[9] Процесс, в котором алгоритм настраивает свои веса, происходит путем градиентного спуска, что позволяет модели определить направление, в котором следует двигаться, чтобы уменьшить ошибки (или минимизировать функцию стоимости).
С каждым обучающим примером параметры модели корректируются, постепенно сходясь к минимуму. [10]11868157620Рисунок SEQ Рисунок \* ARABIC 2 – Кривая обучения нейросети
Рисунок SEQ Рисунок \* ARABIC 2 – Кривая обучения нейросетиРисунок SEQ Рисунок \* ARABIC 2 – Кривая обучения нейросети
Рисунок SEQ Рисунок \* ARABIC 2 – Кривая обучения нейросетиБольшинство глубоких нейронных сетей являются прямолинейными, то есть они движутся только в одном направлении - от входа к выходу. Однако вы также можете обучать свою модель с помощью обратного распространения, то есть двигаться в обратном направлении от выхода к входу. Обратное распространение позволяет нам вычислить и отнести ошибку, связанную с каждым нейроном, что позволяет нам настроить и подогнать параметры модели(ей) соответствующим образом. [11, 12]
1.2 Особенности и виды применения нейросетей
Нейронные сети можно разделить на различные типы, которые используются для разных целей. Хотя это не полный список типов, ниже приведены наиболее распространенные типы нейронных сетей, с которыми вы можете столкнуться при их использовании: [2]
Перцептрон - самая старая нейронная сеть, созданная Фрэнком Розенблаттом в 1958 году. Она имеет один нейрон и является самой простой формой нейронной сети: [14]
577215156210Рисунок SEQ Рисунок \* ARABIC 3 – Нейронная сеть - перцептронРисунок SEQ Рисунок \* ARABIC 3 – Нейронная сеть - перцептрон Рисунок SEQ Рисунок \* ARABIC 3 – Нейронная сеть - перцептронРисунок SEQ Рисунок \* ARABIC 3 – Нейронная сеть - перцептронНейронные сети с прямой передачей, или многослойные перцептроны (MLP), — это то, на чем мы в первую очередь сосредоточимся в этой работе. Они состоят из входного слоя, скрытого слоя или слоев и выходного слоя. Хотя эти нейронные сети также обычно называют MLP, важно отметить, что на самом деле они состоят из сигмоидных нейронов, а не перцептронов, поскольку большинство реальных проблем нелинейны. Данные обычно подаются в эти модели для их обучения, и они являются основой для компьютерного зрения, обработки естественного языка и других нейронных сетей. [15]
Конволюционные нейронные сети (CNN) похожи на фидфорвардные сети, но они обычно используются для распознавания образов, распознавания образов и/или компьютерного зрения. Эти сети используют принципы линейной алгебры, в частности, матричное умножение, для выявления закономерностей в изображении. [5, 7]
Рекуррентные нейронные сети (РНС) определяются по наличию обратной связи. Эти алгоритмы обучения в основном используются при использовании данных временных рядов для прогнозирования будущих результатов, например прогнозирования фондового рынка или прогнозирования продаж. [8]
Нейронные сети и глубокое обучение. Глубокое обучение и нейронные сети, как правило, используются в разговоре как взаимозаменяемые понятия, что может сбить с толку. Поэтому стоит отметить, что "глубокое" в глубоком обучении означает глубину слоев в нейронной сети. Нейронная сеть, состоящая более чем из трех слоев, которые включают в себя входы и выходы, может считаться алгоритмом глубокого обучения. Нейронная сеть, состоящая только из двух или трех слоев, — это обычная нейронная сеть. [10]
Базовыми архитектурами нейронных сетей являются сети прямого распространения и персептроны. Данные нейронные сети очень прямолинейны. Информация по ним передается от входа сразу к выходу. Клетки слоя данных сетей не связаны между собой, в отличии от соседних слоев, которые обычно полностью связаны. [12] Нейронные сети прямого распространения обычно обучаются по методу обратного распространения ошибки. При таком обучении нейронная сеть получает множество данных как на вход, так и на выход. Этот процесс называется обучением с учителем. [14]
center286385Рисунок SEQ Рисунок \* ARABIC 4 – Пример строения персептронаРисунок SEQ Рисунок \* ARABIC 4 – Пример строения персептрона Рисунок SEQ Рисунок \* ARABIC 4 – Пример строения персептронаРисунок SEQ Рисунок \* ARABIC 4 – Пример строения персептрона
Еще одной разновидностью базовых нейронных сетей является нейронная сеть Хопфилда. Данная нейронная сеть используется для восстановления изображений. Нейронная сеть Хопфилда является полносвязной нейронной сетью с симметричной матрицей связей. Понятие полносвязной означает, что каждый нейрон передает свой выходной сигнал остальным нейронам, включая самого себя. [1]
Количество нейронов данной сети определяется количеством входов и выходов. Также нейронная сеть Хопфилда обучается только с учителем, так как для восстановления изображения ей необходимо знать исходные значения изображения, которое необходимо восстановить. [15]
1644015326390Рисунок SEQ Рисунок \* ARABIC 5 – Пример строения нейронной сети ХопфилдаРисунок SEQ Рисунок \* ARABIC 5 – Пример строения нейронной сети Хопфилда Рисунок SEQ Рисунок \* ARABIC 5 – Пример строения нейронной сети ХопфилдаРисунок SEQ Рисунок \* ARABIC 5 – Пример строения нейронной сети ХопфилдаЕще одним видом нейронной сети является Машина Больцмана.
Чаще всего данную нейронную сеть рассматривают как стохастический генеративный вариант нейронной сети Хопфилда. Машина Больцмана используется для обучения алгоритм имитации отжига. Также данная нейронная сеть оказалась первой нейронной сетью, способной обучаться внутренним представлениям и решать сложные комбинаторные задачи. [3]
15392409525Рисунок SEQ Рисунок \* ARABIC 6 – Пример строения Машины БольцманаРисунок SEQ Рисунок \* ARABIC 6 – Пример строения Машины Больцмана Рисунок SEQ Рисунок \* ARABIC 6 – Пример строения Машины БольцманаРисунок SEQ Рисунок \* ARABIC 6 – Пример строения Машины БольцманаТакже существуют свёрточные нейронные сети. Данный вид нейронных сетей сильно отличается от остальных. Свёрточные нейронные сети обычно используют для классификации изображений. Главной особенностью данной нейронной сети является «сканер», который считывает изображение кусками, и процесс «свертки», который уменьшает размер матрицы признака изображения.
[6] 67246583820Рисунок SEQ Рисунок \* ARABIC 7 – Пример строения свёрточной нейронной сетиРисунок SEQ Рисунок \* ARABIC 7 – Пример строения свёрточной нейронной сетиРисунок SEQ Рисунок \* ARABIC 7 – Пример строения свёрточной нейронной сетиРисунок SEQ Рисунок \* ARABIC 7 – Пример строения свёрточной нейронной сети
К более продвинутым конфигурациям нейронных сетей относятся рекуррентные нейронные сети. Особенностью этих нейронных сетей является то, что они получают информацию не только с предыдущего слоя, но также и от самих себя с предыдущего прохода. [12]
Из-за этой особенности становится важным порядок подачи данных для обучения нейронной сети. Сложностью в использовании нейронных сетей такого типа является проблема исчезающего градиента, которая определяется быстрой потерей информации с течением времени. Данная проблема влияет только на веса при обучении модели. Чаще всего нейронные сети такого типа используют для автоматического дополнения информации. [8]
Нейронные сети Кохонена, также именуемые как самоорганизующиеся карты, применяют соревновательное обучение для классификации данных без учителя. Для данной нейронной сети подаются входные данные, которые нейронная сеть сама распределяет по нейронам, которые совпадают с ними в большей степени. После чего нейроны меняются для большей точности совпадения, двигая своих соседей. [15]
Вывод по первой главе работы. В данной главе работы рассматривались теоретические основы устройства нейросетей.Таким образом, в результате рассмотрения понятия нейрона было изучено строение и функционал биологического нейрона, который состоит из тела клетки, дендритов и аксонов и служит для приема, обработки и передачи информации. Также было рассмотрено строение искусственного нейрона, который является математической моделью биологического нейрона и выполняет схожие функции.Кроме рассмотрение искусственного нейрона в отдельности, были рассмотрены виды нейронных сетей – совокупности искусственных нейронов. Каждая искусственная нейронная сеть, описанная в данной главе, отличается как строением, так и сферой применения.
ГЛАВА 2. АНАЛИЗ ПРИМЕНЕНИЯ АЛГОРИТМОВ НЕЙРОСЕТЕЙ ДЛЯ РАСПОЗНАВАНИЯ ТЕКСТА И ОБУЧЕНИЯ2.
1 Характеристика работы алгоритма распознавания для распознавания и обучения
Технологии с каждой минутой все больше внедряются в нашу повседневную жизнь, и чтобы не отставать от темпов потребительских ожиданий, компании все больше полагаются на алгоритмы обучения, чтобы сделать вещи проще. Мы можем увидеть их применение в социальных сетях (через распознавание объектов на фотографиях) или в общении непосредственно с устройствами (как Alexa или Siri). [12]
Эти технологии обычно ассоциируются с искусственным интеллектом, машинным обучением, глубоким обучением и нейронными сетями, и, хотя все они играют определенную роль, в разговоре эти термины обычно используются как взаимозаменяемые, что приводит к некоторой путанице в нюансах между ними. [5]Возможно, самый простой способ думать об искусственном интеллекте, машинном обучении, нейронных сетях и глубоком обучении — это представить их в виде русской матрешки. Каждая из них, по сути, является компонентом предыдущей. [19]971550251430Рисунок SEQ Рисунок \* ARABIC 8 – Обучение и нейронные сетиРисунок SEQ Рисунок \* ARABIC 8 – Обучение и нейронные сетиРисунок SEQ Рисунок \* ARABIC 8 – Обучение и нейронные сетиРисунок SEQ Рисунок \* ARABIC 8 – Обучение и нейронные сетиТо есть машинное обучение — это область искусственного интеллекта. Глубокое обучение — это область машинного обучения, а нейронные сети составляют основу алгоритмов глубокого обучения. Фактически, именно количество слоев узлов, или глубина, нейронных сетей отличает одну нейронную сеть от алгоритма глубокого обучения, которых должно быть более трех.Популярной демонстрацией возможностей методов глубокого обучения является распознавание объектов в данных изображений. [20]
Проблема распознавания рукописных цифр MNIST. Задача MNIST — это набор данных, разработанный Янном Лекуном, Коринной Кортес и Кристофером Берджесом для оценки моделей машинного обучения в задаче классификации рукописных цифр.Набор данных был создан на основе ряда отсканированных документов, доступных в Национальном институте стандартов и технологий (NIST). Отсюда и пошло название набора данных - модифицированный набор данных NIST или MNIST.Набор данных, используемый для данного проекта, содержит 372450 изображений алфавитов размером 28x2, все они присутствуют в файле CSV.Загрузка всех необходимых библиотек.
Первым шагом будет загрузка всех необходимых библиотек, как показано ниже:center248255Рисунок SEQ Рисунок \* ARABIC 9 – Загрузка всех необходимых библиотекРисунок SEQ Рисунок \* ARABIC 9 – Загрузка всех необходимых библиотекРисунок SEQ Рисунок \* ARABIC 9 – Загрузка всех необходимых библиотекРисунок SEQ Рисунок \* ARABIC 9 – Загрузка всех необходимых библиотекЗагрузка набора данных MNIST. Считаем набор данных MNIST и преобразуем тип с помощью pandas.323363220581Рисунок SEQ Рисунок \* ARABIC 10 – Загрузка набора данных MNISTРисунок SEQ Рисунок \* ARABIC 10 – Загрузка набора данных MNIST Рисунок SEQ Рисунок \* ARABIC 10 – Загрузка набора данных MNISTРисунок SEQ Рисунок \* ARABIC 10 – Загрузка набора данных MNISTРазделение и изменение формы данных.
Разделение считанных данных на изображения и соответствующие им метки и изменение формы данных обучающего и тестового изображений таким образом, чтобы их можно было отобразить в виде изображения.Отбрасывание 0-го поля, содержащего метки, и использование его в 'y'.Разделение данных на обучающий и тестовый наборы с помощью функции train_test_split().Создание словаря word_dict для сопоставления целочисленных значений с символами (преобразование значений с плавающей точкой в целочисленные значения меток). 280832217628Рисунок SEQ Рисунок \* ARABIC 11 – Разделение и изменение формы данныхРисунок SEQ Рисунок \* ARABIC 11 – Разделение и изменение формы данных Рисунок SEQ Рисунок \* ARABIC 11 – Разделение и изменение формы данныхРисунок SEQ Рисунок \* ARABIC 11 – Разделение и изменение формы данных
Построение графика распределения количества алфавитов. Описание распределения алфавитов.
Преобразовать метки в целочисленные значения и добавить их в список подсчета в соответствии с меткой.Создать список Alphabets, содержащий все символы, используя функцию values() словаря.Построить горизонтальную гистограмму.center9953Рисунок SEQ Рисунок \* ARABIC 12 – Построение графика количества алфавита / INPUTРисунок SEQ Рисунок \* ARABIC 12 – Построение графика количества алфавита / INPUTРисунок SEQ Рисунок \* ARABIC 12 – Построение графика количества алфавита / INPUTРисунок SEQ Рисунок \* ARABIC 12 – Построение графика количества алфавита / INPUTВыход:344628187044Рисунок SEQ Рисунок \* ARABIC 13 – Построение графика количества алфавита / OUTPUTРисунок SEQ Рисунок \* ARABIC 13 – Построение графика количества алфавита / OUTPUT Рисунок SEQ Рисунок \* ARABIC 13 – Построение графика количества алфавита / OUTPUTРисунок SEQ Рисунок \* ARABIC 13 – Построение графика количества алфавита / OUTPUTПеремешивание данных.
Перемешать некоторые изображения из обучающего набора.Перемешивание выполняется с помощью функции shuffle().Создать 9 графиков в форме 3×3 и отобразить пороговые изображения 9 алфавитов. 42968815284Рисунок SEQ Рисунок \* ARABIC 14 – Перемешивание данных / INPUTРисунок SEQ Рисунок \* ARABIC 14 – Перемешивание данных / INPUT Рисунок SEQ Рисунок \* ARABIC 14 – Перемешивание данных / INPUTРисунок SEQ Рисунок \* ARABIC 14 – Перемешивание данных / INPUTВыход:759298107596Рисунок SEQ Рисунок \* ARABIC 15 – Перемешивание данных / OUTPUTРисунок SEQ Рисунок \* ARABIC 15 – Перемешивание данных / OUTPUT Рисунок SEQ Рисунок \* ARABIC 15 – Перемешивание данных / OUTPUTРисунок SEQ Рисунок \* ARABIC 15 – Перемешивание данных / OUTPUTИзменение формы данных для создания модели.
Измените форму наборов данных обучающих и тестовых изображений и преобразуйте одиночные плавающие значения в категориальные. [2]291465243486Рисунок SEQ Рисунок \* ARABIC 16 – Изменение формы данных для создания моделиРисунок SEQ Рисунок \* ARABIC 16 – Изменение формы данных для создания модели Рисунок SEQ Рисунок \* ARABIC 16 – Изменение формы данных для создания моделиРисунок SEQ Рисунок \* ARABIC 16 – Изменение формы данных для создания моделиВыходные данные:Новая форма данных поезда: (297960, 28, 28, 1);
Новая форма данных поезда: (74490, 28, 28, 1);Новая форма меток поезда: (297960, 26);Новая форма тестовых меток: (74490, 26).Создание модели. Ниже представлена модель CNN, созданная для обучения модели на обучающем наборе данных. 36766519050Рисунок SEQ Рисунок \* ARABIC 17 – Создание моделиРисунок SEQ Рисунок \* ARABIC 17 – Создание модели Рисунок SEQ Рисунок \* ARABIC 17 – Создание моделиРисунок SEQ Рисунок \* ARABIC 17 – Создание моделиКомпиляция и подгонка модели. Составление модели, определение оптимизирующей функции и функции потерь, которые будут использоваться для подгонки.В качестве оптимизирующей функции используется "Adam", которая представляет собой комбинацию алгоритмов RMPSprop и Adagram.center91248Рисунок SEQ Рисунок \* ARABIC 18 – Компиляция и подгонка моделиРисунок SEQ Рисунок \* ARABIC 18 – Компиляция и подгонка моделиРисунок SEQ Рисунок \* ARABIC 18 – Компиляция и подгонка моделиРисунок SEQ Рисунок \* ARABIC 18 – Компиляция и подгонка модели 39779115284Рисунок SEQ Рисунок \* ARABIC 19 – Сохранение модели и получение точностей и потерьРисунок SEQ Рисунок \* ARABIC 19 – Сохранение модели и получение точностей и потерь Рисунок SEQ Рисунок \* ARABIC 19 – Сохранение модели и получение точностей и потерьРисунок SEQ Рисунок \* ARABIC 19 – Сохранение модели и получение точностей и потерь
Прогнозирование тестовых данных. Создание 9 подплощадок формы (3,3) и визуализация тестовых данных с предсказаниями.844358202506Рисунок SEQ Рисунок \* ARABIC 20 – Прогнозирование тестовых данных / INPUTРисунок SEQ Рисунок \* ARABIC 20 – Прогнозирование тестовых данных / INPUT Рисунок SEQ Рисунок \* ARABIC 20 – Прогнозирование тестовых данных / INPUTРисунок SEQ Рисунок \* ARABIC 20 – Прогнозирование тестовых данных / INPUTВыход:812460101984Рисунок SEQ Рисунок \* ARABIC 21 – Прогнозирование тестовых данных / OUTPUTРисунок SEQ Рисунок \* ARABIC 21 – Прогнозирование тестовых данных / OUTPUTРисунок SEQ Рисунок \* ARABIC 21 – Прогнозирование тестовых данных / OUTPUTРисунок SEQ Рисунок \* ARABIC 21 – Прогнозирование тестовых данных / OUTPUTПрогнозирование внешнего изображения. Считаем внешнее изображение, находящееся в текущей директории с именем "image.jpg".
Преобразуем изображение из BGR-представления в RGB для отображения изображения. 10560051049655Рисунок SEQ Рисунок \* ARABIC 22 – Прогнозирование внешнего образа №1Рисунок SEQ Рисунок \* ARABIC 22 – Прогнозирование внешнего образа №1center-74428 Рисунок SEQ Рисунок \* ARABIC 22 – Прогнозирование внешнего образа №1Рисунок SEQ Рисунок \* ARABIC 22 – Прогнозирование внешнего образа №1Преобразуем изображение BGR в градации серого и примените пороговое значение.Изменим размер изображения в соответствии с размерами, которые принимает модель, а также изменим форму.589177257308Рисунок SEQ Рисунок \* ARABIC 23 – Прогнозирование внешнего образа №2Рисунок SEQ Рисунок \* ARABIC 23 – Прогнозирование внешнего образа №2 Рисунок SEQ Рисунок \* ARABIC 23 – Прогнозирование внешнего образа №2Рисунок SEQ Рисунок \* ARABIC 23 – Прогнозирование внешнего образа №2Предсказать обработанное изображение и получить индекс класса с наибольшей предсказанной вероятностью.355260197633Рисунок SEQ Рисунок \* ARABIC 24 – Прогнозирование внешнего образа №3Рисунок SEQ Рисунок \* ARABIC 24 – Прогнозирование внешнего образа №3 Рисунок SEQ Рисунок \* ARABIC 24 – Прогнозирование внешнего образа №3Рисунок SEQ Рисунок \* ARABIC 24 – Прогнозирование внешнего образа №3Отображение предсказанного символа с помощью cv2. ([Esc] для выхода).center122289Рисунок SEQ Рисунок \* ARABIC 25 – Отображение предсказанного символа / INPUTРисунок SEQ Рисунок \* ARABIC 25 – Отображение предсказанного символа / INPUTРисунок SEQ Рисунок \* ARABIC 25 – Отображение предсказанного символа / INPUTРисунок SEQ Рисунок \* ARABIC 25 – Отображение предсказанного символа / INPUTВыход:center64283Рисунок SEQ Рисунок \* ARABIC 26 – Отображение предсказанного символа / OUTPUT00Рисунок SEQ Рисунок \* ARABIC 26 – Отображение предсказанного символа / OUTPUTРисунок SEQ Рисунок \* ARABIC 26 – Отображение предсказанного символа / OUTPUTРисунок SEQ Рисунок \* ARABIC 26 – Отображение предсказанного символа / OUTPUT
Следовательно, исходя из всего вышесказанного мы успешно разработали систему распознавания рукописных символов (распознавание текста) с использованием Python, Tensorflow и библиотек машинного обучения.
2.2 Перспективы реализации и значимость развития алгоритмов нейросетей для распознавания текста и обученияИсходя из истории развития искусственных нейронных сетей и их современного состояния можно предположить, что в ближайшем будущем продолжится совершенствование алгоритмов обучения нейронных сетей в режиме реального времени, алгоритмов обработки естественных языков, методов распознавания изображений, речи, сигналов, разработки моделей интеллектуального интерфейса, способного подстраиваться под требования пользователя. [4]
Также продолжат в дальнейшем совершенствоваться искусственные нейронные сети, используемые в финансовом прогнозировании, в информационной безопасности (шифрование данных, контроль трафика в компьютерных сетях), археологических данных. [2]
В настоящее время наблюдается устойчивая тенденция поиска эффективных методов синхронизации работы искусственных нейронных сетей на параллельных устройствах.Еще одна современная тенденция использования искусственных нейронных сетей — это вычисления. Современные нейрокомпьютеры в основном используются в программных продуктах, поэтому редко используют свой потенциал «параллелизма». [9]
Параллельные нейровычисления начнут бурно развиваться тогда, когда на рынке появится большое число специализированных нейрочипов и плат расширений, предназначенных для обработки речи, видео, статических изображений и других типов образной информации. Пока это время еще не наступило по причине их дороговизны или их выпуска только в составе специализированных устройств. [7]
На разработку нейропроцессоров тратится большое количество времени, за которое программные реализации на самых последних компьютерах оказываются лишь на порядок менее производительными, что в итоге делает их использование нерентабельным. [10]
Смеем предположить, что решение данной проблемы — это лишь только вопрос времени. Искусственные нейронные сети пройдут тот же путь, что и компьютеры: будут постепенно увеличивать свои возможности и производительность, находя области использования по мере появления новых задач и развития технической базы для их разработки. [11, 14]
Также намечается перспектива модификации интерфейса взаимодействия пользователя с нейронной сетью — интерфейс будет основан на новом виде программного обеспечения («Agentware») — интеллектуальных агентах. Агенты будут осуществлять взаимодействие не только со своим пользователем, но и с другими такими же агентами, и со специальными сервисами. Вследствие этого в сети возникнет новый социум с самообучающимися агентами, принимающими решения от имени пользователя. [19]
Вывод по второй главе работы. В данной главе работы проводился анализ применения алгоритмов нейросетей для распознавания текста и обучения.Таким образом, в настоящее время искусственные нейронные сети широко используются при решении самых разнообразных задач особенно там, где обычные алгоритмические решения оказываются неэффективными или вовсе невозможными. Например, при распознавании текстов, игре на фондовых рынках, контекстной рекламе в Интернете, фильтрации спама, проверки проведения подозрительных операций по банковским картам, системы безопасности и видеонаблюдения и др. Решения на основе искусственных нейронных сетей становятся все более совершенными и популярными, поэтому можно предположить, что и в будущем искусственные нейронные сети будут широко использоваться за счет лучшего понимания их основополагающих принципов.
ЗАКЛЮЧЕНИЕ
Подведем итоги настоящей работы.
Нейронные сети тренируются и обучаются так же, как тренируется развивающийся мозг ребенка. Их нельзя запрограммировать непосредственно на выполнение конкретной задачи. Вместо этого их обучают таким образом, чтобы они могли адаптироваться в соответствии с изменяющимися входными данными.Существует три метода или парадигмы обучения для обучения нейронной сети.
1. Обучение под наблюдением. Как следует из названия, обучение под наблюдением означает в присутствии руководителя или учителя. Это означает, что уже имеется набор помеченных наборов данных с желаемым выходом, т. е. оптимальным действием, которое должна выполнить нейронная сеть, и которое уже имеется для некоторых наборов данных. Затем машине предоставляются новые наборы данных для анализа обучающих наборов данных и получения правильного вывода. Это система с замкнутой обратной связью, но окружающая среда не находится в контуре.
2. Обучение с усилением. В этом случае обучение отображению вход-выход происходит путем непрерывного взаимодействия с окружающей средой с целью минимизации скалярного показателя производительности. В этом случае вместо учителя критик преобразует первичный сигнал подкрепления, т. е. скалярный вход, полученный из окружающей среды, в эвристический сигнал подкрепления (более качественный сигнал подкрепления) скалярного входа.Целью такого обучения является минимизация функции cost to go, т. е. ожидаемой совокупной стоимости действий, предпринимаемых в течение последовательности шагов.
3. Обучение без надзора. Как следует из названия, здесь нет учителя или руководителя. В этом случае данные не маркируются и не классифицируются, и нейронная сеть не получает никаких предварительных указаний. В этом случае машина должна сгруппировать предоставленные наборы данных в соответствии со сходствами, различиями и закономерностями без предварительного обучения.Нейронная сеть представляет собой взвешенный граф, где узлы — это нейроны, а ребра с весами - связи. Она получает входные данные из внешнего мира и обозначается x(n).Каждый входной сигнал умножается на соответствующие веса, а затем они складываются. Смещение добавляется, если взвешенная сумма равна нулю, где bias имеет вход 1 с весом b. Затем эта взвешенная сумма передается функции активации. Функция активации ограничивает амплитуду выходного сигнала нейрона. Существуют различные функции активации, такие как пороговая функция, кусочно-линейная функция или сигмоидная функция.
Таким образом, почему мы должны использовать нейронные сети?
Они помогают моделировать нелинейные и сложные взаимосвязи реального мира. Они используются для распознавания образов, поскольку способны к обобщению.Они имеют множество применений, таких как резюмирование текста, идентификация подписи, распознавание почерка и многое другое.Они могут моделировать данные с высокой волатильностью.
Нейронные сети могут многое дать. Они могут обучаться и адаптироваться в соответствии с изменяющейся окружающей средой. Кроме того, они вносят свой вклад в другие области, а также в неврологию и психологию. Таким образом, нейронные сети имеют огромные перспективы как в наше время, так и в будущем.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Адлер, Ю. П. Алгоритмическинеразрешимые задачи и искусственный интеллект / Ю. П. Адлер // Экономика и управление: проблемы, решения. – 2020. - № 4. – 17–24 с.Алешева, Л. Н. Интеллектуальные обучающие системы [Текст] / Л. Н. Алешева // Вестник университета. - 2021. - N 1. - 149–155 с.Баррат, Д. Последнее изобретение человечества : искусственный интеллект и конец эры Homo sapiens : [пер. с англ.] / Д. Баррат. - 2-е изд. - М. : Альпина нон-фикшн, 2020. - 303 с.Барский А. Б. Нейронные сети: распознавание, управление, принятие решений — М.: Финансы и статистика, 2021. — 174 с.Галушкин, А.И. Нейронные сети: основы теории. / А. И. Галушкин. - М.: РиС, 2021. - 496 c.Демкин В. И. История и перспективы развития нейронных сетей / В. И. Демкин, Д. К. Луков // Вестник современных исследований. - 2021. - № 6.1 (21). -366-368 с.Елисеев, А. С. Искусственный интеллект. Что это : условное название или реальное намерение создать? / А. С. Елисеев. - М. : Дашков и К°, 2021. - 33 с.Заенцев И. В. Нейронные сети: основные модели — Воронеж: Изд-во Воронежского госуд. ун-та, 2021. — 76 с.Каллан Р. Основные концепции нейронных сетей — Москва, Санкт-Петербург, Киев: Издательский дом «Вильямс», 2021. — 287 с.Каллан, Р. Нейронные сети : краткий справочник / Р. Каллан ; Саутгемптон. ин-т. - М. : Вильямс, 2021. - 279 с.Кузнецова, А. В. Искусственный интеллект и информационная безопасность общества : монография / А. В. Кузнецова, С. И. Самыгин, М. В. Радионов ; ред. П. С. Самыгин. - М. : Русайнс, 2021. - 117 с.Мыцких-Коробанов. А.Ю. Алгоритмы машинного обучения /А. Ю. Мыцких-Коробанов // Математика и ее приложения в современной науке и практике : сб. науч. статей VIII Международной научно-практической конференции (Курск, 27–28 апреля 2018 г.) / ред. Е.А. Бойцова. - 2018.- 25–33 с.Осовский С. Нейронные сети для обработки информации — М.: Финансы и статистика, 2021. — 343 с.Рассел, С. Искусственный интеллект : современный подход : пер. с англ. / С. Рассел, П. Норвиг ; пер. К. А. Птицын. - 2-е изд. - М. : Вильямс, 2018. - 1407 с.Редько, В.Г. Эволюция, нейронные сети, интеллект: Модели и концепции эволюционной кибернетики / В. Г. Редько. - М.: Ленанд, 2020. - 224 c.Рутковская Д. Нейронные сети, генетические алгоритмы и нечёткие системы — М.: Горячая линия — Телеком, 2020. — 452 с.Суровцев И. С., Клюкин В.И., Пивоварова Р. П. Нейронные сети. — Воронеж: ВГУ, 2020. — 224 с.Хайкин С. Нейронные сети. Полный курс 2-e изд. Пер. с англ. – М.: Издательский дом «Вильямс», 2020. – 1104 с.Ширяев, В.И. Финансовые рынки: Нейронные сети, хаос и нелинейная динамика / В. И. Ширяев. - М.: КД Либроком, 2020. - 232 c.Яхъяева, Г.Э. Нечеткие множества и нейронные сети: Учебное пособие / Г. Э. Яхъяева. - М.: БИНОМ. ЛЗ, ИНТУИТ.РУ, 2021. - 316 c.
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников
Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
Требуется разобрать ст. 135 Налогового кодекса по составу напогового...
Решение задач, Налоговое право
Срок сдачи к 5 дек.
Школьный кабинет химии и его роль в химико-образовательном процессе
Курсовая, Методика преподавания химии
Срок сдачи к 26 дек.
Реферат по теме «общественное мнение как объект манипулятивного воздействий. интерпретация общественного мнения по п. бурдьё»
Реферат, Социология
Срок сдачи к 9 дек.
Выполнить курсовую работу. Образовательные стандарты и программы. Е-01220
Курсовая, Английский язык
Срок сдачи к 10 дек.
Изложение темы: экзистенциализм. основные идеи с. кьеркегора.
Реферат, Философия
Срок сдачи к 12 дек.
Заполните форму и узнайте цену на индивидуальную работу!