Сложное глубокое обучение — рекуррентная нейронная сеть (1)

искусственный интеллект глубокое обучение
Сложное глубокое обучение — рекуррентная нейронная сеть (1)

Это 27-й день моего участия в августовском испытании обновлений. Узнайте подробности события:Испытание августовского обновления

Для некоторых новых областей или новых вещей люди часто готовы потратить некоторое время, чтобы понять их, и часто легко начать, но после периода обучения, иногда по разным причинам, таким как неиспользование, отсутствие прогресса, или встреча Когда узкое место будет достигнуто, энтузиазм будет постепенно отступать и сдаваться. Прошло почти 2 года с тех пор, как я работал с машинным обучением, и я прошел несколько этапов, чтобы добраться туда, где я есть сегодня: энтузиазм в начале, боль и отчаяние процесса и настойчивость сегодня. Я надеюсь поделиться не только технологией машинного обучения, но и процессом обучения.

001.jpg

языковая модель

Рекуррентная нейронная сетьОсновная область применения — проблемы синхронизации. Среди них область обработки естественного языка (NLP) можно рассматривать как передовую практику рекуррентной нейронной сети. Затем, когда дело доходит до обработки естественного языка, нельзя не упомянуть языковую модель. Языковая модель была подробно представлена ​​вам ранее, вот лишь краткий обзор.

P(w1,w2,,wT)P(w_1,w_2,\cdots,w_T)

Когда мы пишем или читаем статью, это связано со временем. От первого слова до Т-го слова мы читаем статью слева направо или сверху вниз. Вроде бы проблема места, но это на самом деле связано со временем.

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

C(w1,w2)C(w1)\frac{C(w_1,w_2)}{C(w_1)}

  • C(w1)C(w_1)Расчеты в статьемашинаКоличество вхождений
  • C(w1,w2)C(w_1,w_2)Вычислительные статьи появляются одновременномашинаиучитьсяколичество раз

P(w1)P(w2w1)P(w_1)P(w_2|w_1)

Это можно объяснить математически, но трудно достичь в расчетах. Основная причина трудности в расчетах заключается в том, что нам нужна следующая совместная вероятность для вероятности предложения. Из следующей формулы мы можем представить, сколько вычислений обязательный.

P(w1)P(w2w1)P(wnw1,wn,,wn1)P(w_1)P(w_2|w_1)P(w_n|w_1,w_n,\cdots,w_{n-1})

Рекуррентная нейронная сеть

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

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

P(w1)P(w2w1)P(w3w1w2)P(w_1)P(w_2|w_1)P(w_3|w_1w_2)

k=2C(w1,w2,w3)C(w1,w2)\begin{aligned} k = 2\\ \frac{C(w_1,w_2,w_3)}{C(w_1,w_2)} \end{aligned}

Пока что даны основные задачи и самые основные методы реализации языковых моделей, для полносвязных нейронных сетей или сверточных нейронных сетей. Каждый вход изолирован во временном ряду, а вход соответствует выходу нейронной сети. Все происходит в момент времени t, и обработка входных данных нейронной сетью не опирается на предыдущую информацию.

rnn_006.png

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

rnn_001.png

Многие люди могут легко представить себе рекуррентную нейронную сеть как ее развернутую форму Причина, по которой используется развернутая форма, заключается в том, чтобы помочь всем понять и отобразить ее в развернутом виде.

003.jpeg

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

U — матрица весов от входного слоя к скрытому слою, o — также вектор, представляющий значение выходного слоя, а V — матрица весов от скрытого слоя к выходному слою.

Итак, теперь давайте посмотрим, что такое W. Значение s скрытого слоя рекуррентной нейронной сети зависит не только от текущего входа x, но и от значения s предыдущего скрытого слоя. Матрица весов W представляет собой вес предыдущего значения скрытого слоя как вход этого времени.

Что ж, сегодня немного поздно, поэтому я представлю это здесь, а завтра продолжу знакомить с рекуррентной нейронной сетью.Я расскажу о дизайне функции потерь и проблемах в рекуррентной нейронной сети.Именно из-за этих проблем Предлагаются LSTM и GRU.

  • Будут логические элементы с функцией памяти, которые могут запоминать состояние системы.

rnn_003.png

Меньшие параметры могут использоваться для выражения отношения между вероятностью и временными рядами.В этой модели мы повторно используем весовые параметры.