Диссертация (1090484), страница 8
Текст из файла (страница 8)
pooling) [145], разделив карту признаков, полученных от свёрточнойнейронной сети на фиксированное количество частей p, см. рис.3, на этом рисунке p = pm * pn = 2 * 2 = 4, и в каждой части вычисляется максимальноезначение (англ. max pooling) или среднее значение (англ. mean pooling).Рис. 2.8: Субдискретизация.2.5.3Обучение свёрточной нейронной сетиВыходы свёрточной нейронной сети [30]:y = x ∗ w = [yn ],yn = (x ∗ w)[n] =(2.26)|w|Xxn−i+1 wi = wT xn:n+|w|−1 .i=172(2.27)Частные производные свёрточной нейронной сети:∂yn−i+1= wi ; 1 ≤ i ≤ |w|,∂xn∂yn= xn+i−1 ; 1 ≤ i ≤ |w|.∂wi(2.28)(2.29)Обратное распространение ошибки в свёрточной нейронной сети:|w|δn(x)X (y)∂J∂J ∂y===δn−i+1 wi = (δ (y) ∗ f lip(w))[n],∂xn∂y ∂xni=1δ (x) = [δn(x) ] = δ (y) ∗ f lip(w).(2.30)(2.31)Частные производные по весам в свёрточной нейронной сети:|x|−|w|+1X ∂J ∂yn |x|−|w|+1X∂J∂J ∂y===δn(y) xn+i−1 = (δ (y) ∗ x)[i],∂wi∂y ∂wi∂yn ∂win=1n=1∂J∂J== δ (y) ∗ x = x ∗ δ (y) .∂w∂wi(2.32)(2.33)Выходы субдискретизаций:yn = subsample(x, g)[n] = g(x(n−1)m+1:nm ),y = subsample(x, g) = [yn ].Частные производные субдискретизаций:73(2.34)(2.35) Pmk=1 xk ∂g, ∂x = m1 m1g(x) =∂gmax(x), ∂xi =0;mean pooling ,если xi = max(x);max pooling .(2.36)в противном случаеОбратное распространение ошибки в свёрточной нейронной сети:δ(n−1)m+1:nm = upsample(δ (y) , ǵ)[n] = δn(y)´(g)n = δn(y)(x)=∂J∂yn∂yn ∂x(n−1)m+1:nm∂g,∂x(n−1)m+1:nm∂J=,∂x(n−1)m+1:nm (x)δ (x) = upsample(δ (a) , ǵ) = δ(n−1)m+1:nm .2.5.4(2.37)(2.38)(2.39)Преимущества свёрточной нейронной сети1.
Уменьшение количества обучаемых параметров и повышение скоростиобучения по сравнению с полносвязной нейронной сетью;2. Устойчивость к сдвигу позиции объекта во входных данных. При обучениисвёрточная нейронная сеть сдвигается по частям объекта. И так обучаемые признаки не зависят от позиции важных частей, например, головасобаки (см.
рис. 4, свёрточная нейронная сеть выделает одинаковые признаки для двух картинок хотя позиции собак в этих картинках разные).Таким образцом это свойство свёрточной нейронной сети помогает повышать качество классификации [146];74Рис. 2.9: Устойчивость к сдвигу позиции объекта во входных данных.Свёрточная нейронная сеть является очень эффективным методом представления текстов. Из-за сложности вычисления и хранения данных большинство ngram корпусов, в том числе и Google, не представляет n-gram корпусы с n большечем 5. На пример, корпус n-gram Google из 1,024,908,267,229 слов, 95,119,665,584предложений, 13,588,391 uni-grams, 314,843,401 bi-grams, 977,069,902 tri-grams,1,313,818,354 four-grams, 1,176,470,663 five-grams после сжатия в формате gzipимеет размер 24 GB[147].
А свёрточная нейронная сеть может обучаться представления текста без хранения слов.И так, свёрточную нейронную сеть можно применять для решения различных типов задач: классификация изображений, распознавание речи, классификация текстов и т.п. При использовании свёрточной нейронной сети можно существенно уменьшать количество обучаемых параметров и получать высокоекачество классификации.2.6Рекуррентная нейронная сетьОсновное отличие рекуррентных нейронных сетей (Recurrent Neural Network,RNN) [148] от традиционных заключается в логике работы сети, при которойкаждый нейрон взаимодействует сам с собой. На вход таким сетям как правило передаётся сигнал, являющийся некоторой последовательностью.
Каждыйэлемент такой последовательности поочерёдно передаётся одним и тем же нейронам, которые своё же предсказание возвращают себе вместе со следующимеё элементом, до тех пор пока последовательность не закончится. Такие сети75используются при работе с последовательной информацией — в основном с текстами и аудио/видео-сигналами [149].Рис. 2.10: Рекуррентная нейронная сеть.Пусть xt -входное значение в момент t.
Скрытое состояние в момент t равно:ht = fH (WIH xt + WHH ht−1 ).(2.40)Выходное значение в момент t:ot = fO (WHO .ht ).(2.41)Функции активации fH и fO часто являются tanh или ReLU .2.6.1Long Short-Term MemoryПамять, реализованная в обычной рекуррентной нейронной сети, получаетсявесьма короткой. Поскольку каждый раз информация в памяти смешиваетсяс информацией в новом сигнале, спустя несколько итераций информация ужеполностью перезаписывается. Возвращаясь к задаче предсказывания последнего слова в предложении, нужно отметить, что в пределах одного предложениятакая сеть будет работать неплохо, но если речь заходит о более длинном тексте, то закономерности в его начале уже не будут вносить какой либо вкладв решения сети ближе к концу текста, также как ошибка на первых элементах последовательностей в процессе обучения перестаёт вносить вклад в общую76ошибку сети. Это фундаментальная проблема нейронных сетей, которая называется проблема исчезающего градиента.
Чтобы побороть этот недостаток, былапридумана LSTM-RNN сеть (Long Short-Term Memory Recurent Neural Network)[150], в которой были добавлены дополнительные внутренние преобразования,которые оперируют с памятью более осторожно.Рис. 2.11: Long Short-Term Memory.Первый слой вычисляет, насколько на данном шаге ему нужно забыть предыдущую информацию — по сути множители к компонентам вектора памяти:ft = σ(Wf .[ht−1 , xt ] + bf ).(2.42)Второй слой вычисляет, насколько ему интересна новая информация, пришедшая с сигналом — такой же множитель, но уже для наблюдения:it = σ(Wi .[ht−1 , xt ] + bi ),C̃t = tanh(WC .[ht−1 , xt ] + bC ).(2.43)(2.44)На третьем слое вычисляется линейная комбинация памяти и наблюдения столько вычисленными весами для каждой из компонент.
Так получается новоесостояние памяти, которое в таком же виде передаётся далее:77Ct = ft ∗ Ct−1 + it ∗ C̃t .(2.45)Осталось вычислить выходное значение. Но поскольку часть входного сигнала уже в памяти, не нужно считать активацию по всему сигналу. Сначаласигнал проходит через сигмоиду, которая решает, какая его часть важна длядальнейших решений, затем гиперболический тангенс занимает вектор памятина отрезок от -1 до 1, и в конце эти два вектора перемножаются.ot = σ(Wo .[ht−1 , xt ] + bo ),(2.46)ht = ot ∗ tanh(Ct ).(2.47)Полученные таким образом ht и Ct передаются далее по цепочке. Существует множество вариаций того, какие функции активации используются каждымслоем, немного модифицируют сами схемы и прочее, но суть остаётся прежней— сначала забывают часть памяти, затем запоминают часть нового сигнала, ауже потом на основе этих данных вычисляется результат.2.7ВыводыНа основе исследования нейронных сетей можно сделать следующие выводы:1.
Самое главное свойство нейронных сетей - возможность обучаться. В отличие от алгоритмы, нейронные сети могут анализировать зависимости в данных для решения сложных задач, таких как распознавания речи, оптическогораспознавания символов, прогнозирования, классификации и кластеризации документов и т.п.2. В зависимости от сложности и требуемого качества решения задач можносоздавать сложные нейронные сети из простых элементов - нейронов.
Структуранейронной сети может меняться для адаптации к новым условиям.3. Многослойные нейронные сети можно эффективно обучать методом об78ратного распространения ошибки. Функция активации должна быть дифференцируема. Одно из основных преимуществ нейронных сетей - возможностьраспараллеливания вычислений.4. Автоэнкодер хорошо моделирует высокоуровневые абстракции в данныхи выделять скрытые признаки. Сверточная нейронная сеть и субдискретизацияпозволяют существенно уменьшить количество вычисленных операций и выделять полезные признаки для классификации.5.
Рекуррентная нейронная сеть широко используется при работе с последовательной информацией — в основном с текстами и аудио/видео-сигналами.В отличие от традиционных нейронных сетей, в рекуррентной нейронной сети каждый нейрон взаимодействует сам с собой и имеет помять для храненияинформации от предыдущих сигналов.79Глава 3Математическое иалгоритмическое обеспечениевычислительногокомплекса-классификаторатекстов с использованиемморфологического анализа инейро-семантических сетейЗа последние несколько лет, нейронные сети вновь появились в качестве мощныхмоделей машинного обучения, показали лучшие результаты в таких областях,как распознавание образов и обработки речи [151]. Еще совсем недавно, нейросетевые модели начали применяться также к различным задачам обработкиестественного языка, тоже с очень хорошими результатами [152].
Традиционнаямодель «мешок слов» вместе с классификаторами, которые используют эту модель, таким как байесовский метод, были успешно использованы для того, чтобы80получать очень точные прогнозы в задаче анализа текстов по эмоциональнойокраске [153]. С появлением технологий глубокого обучения и их применения вобработке естественного языка, было сделано улучшение точности этих методовв двух основных направлениях: использование нейронной сети с учителем дляобучения классификатора, и без учителя для оптимизации, предварительнойобработки данных и выбора характеристик [31]. Другое направление применения нейронных сетей в обработке естественного языка - нейронный машинныйперевод, это новый подход, при котором машины учатся переводить тексты используя нейронную сеть [154].
Такой подход становится все более популярнымсреди исследователей и разработчиков систем машинного перевода, так как системы нейронного машинного перевода начали показывать лучшие результатыдля многих языковых пар по сравнению с статистическими методами машинного перевода [155].Морфология имеет важное значение в обработке естественного языка, в томчисле для анализ и генерации текстов. Существует широкий спектр таких приложений, например, извлечение информации из текстовых сообщений или диалоговых систем, машинный перевод [156]. Морфологический анализ являетсяважной частью синтаксического анализа [157].















